2012-05-22  Vitaly Buka  <vitalybuka@chromium.org>

        Fix iframe printing.
        https://bugs.webkit.org/show_bug.cgi?id=85118

        Reviewed by Darin Adler, Eric Seidel.

        Patch fixed two issues by disabling special handling of subframes for printing.
        1. Regression. Division by zero when forceLayoutForPagination called for subframes
        and page sizes set to zero.
        2. Old issue. RendererView adjusted layout of subframes for printing and set invalid
        dimensions. Sometimes it caused missing iframe when printed.

        Test: printing/iframe-print.html

        * page/Frame.cpp:
        (WebCore::Frame::setPrinting): Calls forceLayoutForPagination for root frames only.
        (WebCore::Frame::resizePageRectsKeepingRatio): Added ASSERTs to catch division by zero.
        * rendering/RenderView.cpp: Replaced printing() with shouldUsePrintingLayout() for most calls.
        (WebCore::RenderView::computeLogicalHeight):
        (WebCore::RenderView::computeLogicalWidth):
        (WebCore::RenderView::layout):
        (WebCore::RenderView::shouldUsePrintingLayout): Returns true only if printing enabled and it's a root frame.
        (WebCore::RenderView::viewRect):
        (WebCore::RenderView::viewHeight):
        (WebCore::RenderView::viewWidth):
        * rendering/RenderView.h:

2012-05-22  Rafael Brandao  <rafael.lobo@openbossa.org>

        [Qt] canvas/philip/tests/2d.path.stroke.overlap.html fails with Qt-4.6.2 or higher
        https://bugs.webkit.org/show_bug.cgi?id=40362

        Reviewed by Noam Rosenthal.

        Before drawing the stroke from a certain path, it should make the union of the stroke areas.
        The previous implementation didn't consider that so the intersection was painted twice.
        By using QPainterPathStroker, we create a QPainterPath on top of the platform path, and
        then we fill it with the expected brush. This way we avoid repainting areas.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::fillPathStroke):
        (WebCore):
        (WebCore::GraphicsContext::strokePath):

2012-05-21  Gavin Barraclough  <barraclough@apple.com>

        Disable private names by default in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=87088

        Reviewed by Geoff Garen.

        r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
        These are probably not yet ready to be web-facing, so disabling by default in WebCore.
        Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.

        * WebCore.exp.in:
            - Added export.
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore):
        (WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled):
            - Override default from JSC, enable based on corresponding Setting.
        * bindings/js/JSDOMWindowBase.h:
        (JSDOMWindowBase):
            - Added declaration for javaScriptExperimentsEnabled. 
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setJavaScriptExperimentsEnabled):
        (WebCore):
        * page/Settings.h:
        (Settings):
        (WebCore::Settings::javaScriptExperimentsEnabled):
            - Added Setting, reflecting WebPreference.

2012-05-22  Adam Barth  <abarth@webkit.org>

        !HAVE(ACCESSIBILITY) depends on AccessibilityObject::actionVerb in the Chromium Android build
        https://bugs.webkit.org/show_bug.cgi?id=87141

        Reviewed by Eric Seidel.

        In the Chromium Android build there is still one remaining dependency
        on object files in the accessibility directory:
        AccessibilityObject::actionVerb. I missed this function in my previous
        patch, but this patch changes it to be an inline stub.

        * accessibility/AccessibilityObject.cpp:
        (WebCore):
        * accessibility/AccessibilityObject.h:
        (WebCore):
        (WebCore::actionVerb):
        (WebCore::AccessibilityObject::lineForPosition):
        (WebCore::AccessibilityObject::updateBackingStore):

2012-05-22  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Support Array-type key paths
        https://bugs.webkit.org/show_bug.cgi?id=84207

        Reviewed by Tony Chang.

        Implement IDB spec behavior that key paths can be arrays of strings; when 
        evaluated, these yield arrays of keys, providing compound key support. Also
        changes exception types to match the spec.

        Test: storage/indexeddb/keypath-arrays.html
        Test: storage/indexeddb/keypath-basics.html

        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore): Look for both string and array in option dict,
        throw exceptions for forbidden combinations of key generator and key paths.
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::createIndex): Handle special cases (accepted and forbidden).
        (WebCore):
        * Modules/indexeddb/IDBObjectStore.h:
        (IDBObjectStore):
        (WebCore::IDBObjectStore::createIndex): Overloads to satisfy IDL overloads and optional dicts.
        * Modules/indexeddb/IDBObjectStore.idl: Add DOMString array overload.
        * bindings/v8/IDBBindingUtilities.cpp: Implement spec logic for evaluating array key paths.
        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
        (WebCore):

2012-05-22  Martin Robinson  <mrobinson@igalia.com>

        [GTK] REGRESSION(r116135): Keys that confirm composition trigger a default action
        https://bugs.webkit.org/show_bug.cgi?id=86925

        Reviewed by Gustavo Noronha Silva.

        No new tests. Creating tests for GTK+ input methods is quite difficult, as they
        can differ from machine to machine. It's also hard to simulate composition
        sequences.

        * platform/gtk/CompositionResults.h: Instead of holding composition results, just
        keep a flag describing whether or not this event had results.
        (CompositionResults):

2012-05-22  Abhishek Arya  <inferno@chromium.org>

        Assertion failure (toRenderBox() called on a RenderInline) beneath RenderBlock::blockBeforeWithinSelectionRoot()
        https://bugs.webkit.org/show_bug.cgi?id=86500

        Reviewed by Ojan Vafai.

        Patch by Dan Bernstein<mitz@apple.com>. I just added the test.

        Test: fast/block/line-layout/selection-highlight-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Demoted the object local variable to
        RenderObject, changed use of parentBox() to parent(), and added toRenderBlock() in two places.

2012-05-22  Rob Buis  <rbuis@rim.com>

        ASSERTs in RenderInline::layout()
        https://bugs.webkit.org/show_bug.cgi?id=63365

        Reviewed by Nikolas Zimmermann.

        Do not allow creation of renderers for text content children in elements by default.
        Subclasses like SVGTextElement override this behavior.
        This also fixes the <a><textPath</a> case because the <a> parent decides to allow <textPath> or not:
        http://www.w3.org/2003/01/REC-SVG11-20030114-errata#linking-text-environment

        Test: svg/custom/disallowed-text-content-rendering.svg

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::childShouldCreateRenderer):
        * svg/SVGElement.h:
        (SVGElement):

2012-05-22  Takashi Sakamoto  <tasak@google.com>

        Implement DOM_KEY_LOCATION_LEFT and RIGHT of KeyboardEvent's location property
        https://bugs.webkit.org/show_bug.cgi?id=86694

        As KeyboardEvent for left/right location key, e.g. left-control,
        right-control, provides DOM_KEY_LOCATION_STANDARD as keyLocation property,
        modified KeyCodeConversion to make PlatformKeyboardEvent
        provide virtual keycodes with location information, e.g. VK_LCONTROL or
        VK_RCONTROL, and modified KeyboardEvent to generate location information
        from the virtual keycodes, e.g. genrating DOM_KEY_LOCATION_LEFT for
        VK_LCONTROL. KeyboardEvent also removes location information from
        the virtual keycodes, e.g. genrating VK_CONTROL for VK_LCONTROL.
        The location property is defined in the W3C DOM3 specification:
        http://www.w3.org/TR/DOM-Level-3-Events/#events-keyboardevents

        Reviewed by Alexey Proskuryakov.

        Test: fast/events/keydown-leftright-keys.html

        * dom/KeyboardEvent.cpp:
        (WebCore::windowsVirtualKeyCodeWithoutLocation):
        Added a function which removes location information from a given
        keycode. For example, when VK_LCONTROL is given, returns VK_CONTROL.
        (WebCore::keyLocationCode):
        Added a function which provides location information from a given
        keycode. For example, when VK_LCONTROL is given,
        returns DOM_KEY_LOCATION_LEFT.
        (WebCore::KeyboardEvent::KeyboardEvent):
        Initialized m_keyLocation by using the above keyLocationCode.
        (WebCore::KeyboardEvent::keyCode):
        Modified to use the above two functions to initialize keycode property
        and keylocation property.
        * platform/chromium/KeyCodeConversionAndroid.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):
        * platform/chromium/KeyCodeConversionGtk.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):
        * platform/cocoa/KeyEventCocoa.mm:
        (WebCore::windowsKeyCodeForKeyCode):
        Modified these keycode conversions to return keycodes with location
        information, e.g. modified keycode conversions returns VK_LCONTROL
        for left control.

2012-05-22  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: provide content-related actions on the sources panel.
        https://bugs.webkit.org/show_bug.cgi?id=87144

        Reviewed by Vsevolod Vlasov.

        Now that the authoring focus moved to the Source panel, context menu actions should follow:
        - refactored context menu actions to be provider-based
        - edited call sites to add applicable actions.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ContextMenu.js:
        (WebInspector.ContextMenu.prototype.appendApplicableItems):
        * inspector/front-end/HandlerRegistry.js:
        (WebInspector.HandlerRegistry.prototype.unregisterHandler):
        (WebInspector.HandlerRegistry.prototype.appendApplicableItems.doSave):
        (WebInspector.HandlerRegistry.prototype.appendApplicableItems.save):
        (WebInspector.HandlerRegistry.prototype.appendApplicableItems):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/NavigatorView.js:
        (WebInspector.NavigatorView.prototype.handleContextMenu):
        (WebInspector.BaseNavigatorTreeElement.prototype.onattach):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype.searchCanceled):
        (WebInspector.NetworkPanel.prototype.appendApplicableItems.reveal):
        (WebInspector.NetworkPanel.prototype.appendApplicableItems):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceSourceFrame.prototype._contentChanged):
        (WebInspector.ResourceSourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._contextMenu):
        * inspector/front-end/UIUtils.js:
        * inspector/front-end/externs.js:
        * inspector/front-end/inspector.js:
        (WebInspector._doLoadedDoneWithCapabilities.get if):

2012-05-22  Nico Weber  <thakis@chromium.org>

        Give FileInputType a setFiles() method, let Drag-n-Drop call it.
        https://bugs.webkit.org/show_bug.cgi?id=87139

        Reviewed by Ojan Vafai.

        filesChosen(), the FileChooserClient callback, used to modify
        m_fileList directly. Instead, convert the FileChooserClient
        data to a FileList and pass that to a factored-out setFiles()
        method. This is in preparation to making the files property
        writable.

        Pure refactoring, no functionality change.

        * html/FileInputType.cpp:
        (WebCore::FileInputType::toFileList):
        (WebCore::FileInputType::setFiles):
        (WebCore::FileInputType::filesChosen):
        (WebCore):
        * html/FileInputType.h:
        (FileInputType):

2012-05-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: JavaScriptSourceFrame should be based on JavaScriptSource not UISourceCode.
        https://bugs.webkit.org/show_bug.cgi?id=87135

        Reviewed by Pavel Feldman.

        Renamed _uiSourceCode to _javaScriptSource in JavaScriptSourceFrame.
        Removed unused uiSourceCode getter from JavaScriptSourceFrame.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
        (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
        (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
        (WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
        (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._createSourceFrame):

2012-05-22  Lu Guanqun  <guanqun.lu@intel.com>

        add OVERRIDE annotations to classes derived from CCAnimationCurve
        https://bugs.webkit.org/show_bug.cgi?id=87073

        Reviewed by James Robinson.

        No new tests required.

        * platform/graphics/chromium/cc/CCAnimationCurve.h:

2012-05-22  Lu Guanqun  <guanqun.lu@intel.com>

        add OVERRIDE annotations to CCThreadTask
        https://bugs.webkit.org/show_bug.cgi?id=87074

        Reviewed by James Robinson.

        No new tests required.

        * platform/graphics/chromium/cc/CCThreadTask.h:

2012-05-22  Julien Chaffraix  <jchaffraix@webkit.org>

        Centralize and clean-up table column iteration
        https://bugs.webkit.org/show_bug.cgi?id=87051

        Reviewed by Eric Seidel.

        Tests: fast/table/caption-between-column-and-column-group.html
               fast/table/caption-between-column-group-and-column.html
               fast/table/caption-between-columns.html

        The existing code had duplications between different classes and some
        of the iterating functions could use a better place. That's what this
        change solves, along with several renamings.

        * rendering/RenderTableCol.h:
        (WebCore::RenderTableCol::isTableColumnGroupWithColumnChildren):
        Renamed isTableColGroup to this to better reflect what it checks.
        Also added a new function: nextColumn.

        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray):
        Updated after isTableColGroup renaming.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::firstColumn):
        Added this new function to get the first column (or column group).

        (WebCore::RenderTable::colElement):
        Cleaned up this function: switched the loop to a 'for' now that the
        helper functions make it easy. Cleaned up the ordering and the naming.

        * rendering/RenderTable.h:
        Added firstColumn.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::styleOrColLogicalWidth):
        Updated to use nextColumn().

        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::nextColumn):
        Added this new helper function to centralize the code to iterate over columns.

2012-05-22  Hao Zheng  <zhenghao@chromium.org>

        [chromium] Make color of spelling check marker cross-platform.
        https://bugs.webkit.org/show_bug.cgi?id=87095

        Reviewed by Adam Barth.

        Pixel layout is RGBA on Android, while it is BGRA on other platforms.

        No new tests. To run tests on Android.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawLineForDocumentMarker):

2012-05-22  Dana Jansens  <danakj@chromium.org>

        [chromium] Expand damage from the background-blurred layer to ensure readback is only including pixels below that layer
        https://bugs.webkit.org/show_bug.cgi?id=86884

        Reviewed by Adrienne Walker.

        Consider layers in back-to-front order A, B, and C, where layer B has
        a blur background filter applied, and C exactly covers A. When B does
        its readback to perform its blur, it should include the pixels of A
        not C. With partial swap, if B is damaged, that damaged area will read
        pixels from outside of the damage rect. Those pixels should use the
        contents of A, not C, so we must expand the damage to ensure we redraw
        all pixels that are going to be included in the blur for the current
        frame.

        Also, when a layer below B has damage outside the contentBounds of B
        but within its blur radius, then that damage will be blurred inside B,
        so expand all damage within B's blurred contentBounds.

        Unit test: CCDamageTrackerTest.verifyDamageForBackgroundBlurredChild

        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::expandRectWithFilters):
        (WebCore::expandDamageRectInsideRectWithFilters):
        (WebCore::CCDamageTracker::updateDamageTrackingState):
        (WebCore::CCDamageTracker::extendDamageForRenderSurface):

2012-05-22  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Add region styling support for color property
        https://bugs.webkit.org/show_bug.cgi?id=85633

        Reviewed by David Hyatt.

        Test: fast/regions/region-style-color.html

        This patch extends the region styling support. In addition to background-color, it adds
        the possibility of styling color in regions.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::removeFlowChildInfo):
        (WebCore::RenderFlowThread::addRegionToThread):
        (WebCore::RenderFlowThread::removeRegionFromThread):
        (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
        (WebCore::RenderFlowThread::setRegionRangeForBox):
        (WebCore):
        (WebCore::RenderFlowThread::checkRegionsWithStyling):
        * rendering/RenderFlowThread.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::paintReplaced):
        (WebCore::RenderRegion::styleDidChange):
        (WebCore::RenderRegion::setRegionObjectsRegionStyle):
        (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
        (WebCore::RenderRegion::computeStyleInRegion):
        (WebCore):
        (WebCore::RenderRegion::computeChildrenStyleInRegion):
        (WebCore::RenderRegion::setObjectStyleInRegion):
        (WebCore::RenderRegion::clearObjectStyleInRegion):
        * rendering/RenderRegion.h:
        (RenderRegion):
        (ObjectRegionStyleInfo):

2012-05-22  Kentaro Hara  <haraken@chromium.org>

        [V8] Remove GenerateSetDOMException() from CodeGeneratorV8.pm
        https://bugs.webkit.org/show_bug.cgi?id=87114

        Reviewed by Nate Chapin.

        GenerateSetDOMException() is used by only one place. This patch removes it.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):

2012-05-22  David Grogan  <dgrogan@chromium.org>

        IndexedDB: Fire error when there are problems opening a DB
        https://bugs.webkit.org/show_bug.cgi?id=85579

        We used to either fire success or get into an infinite loop.

        Reviewed by Tony Chang.

        New unit test in
        Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp

        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::openInternal):
        (WebCore::IDBDatabaseBackendImpl::openConnection):
        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
        (WebCore::IDBDatabaseBackendImpl::create):
        (IDBDatabaseBackendImpl):
        * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::deleteDatabase):
        (WebCore::IDBFactoryBackendImpl::openInternal):
        * Modules/indexeddb/IDBFactoryBackendImpl.h:
        (IDBFactoryBackendImpl):
        * Modules/indexeddb/IDBLevelDBBackingStore.h:
        (IDBLevelDBBackingStore):

2012-05-22  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.

        Follow-up patch after r117975, as the strict approach fires assertions.
        CSS generated content can violate the ASSERT(child->isSVGInline() || child->isSVGInlineText()) logic.

        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::subtreeChildWasAdded):
        (WebCore::RenderSVGText::subtreeChildWillBeRemoved):

2012-05-22  Dominic Mazzoni  <dmazzoni@google.com>

        Chromium AX: Crash when menulist adds selected option via document.write
        https://bugs.webkit.org/show_bug.cgi?id=87028

        Reviewed by Chris Fleizach.

        Test: platform/chromium/accessibility/add-to-menu-list-crashes.html

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::addChild):

2012-05-22  Nikolas Zimmermann  <nzimmermann@rim.com>

        Crash in WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap
        https://bugs.webkit.org/show_bug.cgi?id=86781

        Reviewed by Rob Buis.

        Always invalidate the text positioning element cache if the <text> render subtree mutates.
        Currently only RenderSVGInlineText renderers are tracked correctly, RenderSVGInline
        renderers like RenderSVGTSpan didn't cause text positioning element cache mutations
        so far. Fix that.

        Test: svg/custom/bug86781.html

        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::removeChild):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::subtreeChildWasAdded):
        (WebCore::RenderSVGText::subtreeChildWillBeRemoved):
        (WebCore::RenderSVGText::removeChild):
        * rendering/svg/RenderSVGText.h:
        (RenderSVGText):

2012-05-22  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make "Go to source" shortcut accessible from all panels.
        https://bugs.webkit.org/show_bug.cgi?id=87132

        Reviewed by Vsevolod Vlasov.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.AdvancedSearchController.prototype.handleShortcut):
        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
        (WebInspector.OpenResourceDialog.compareFunction):
        (WebInspector.OpenResourceDialog):
        (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
        (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
        (WebInspector.OpenResourceDialog.prototype.itemsCount):
        (WebInspector.OpenResourceDialog.prototype.requestItems):
        (WebInspector.OpenResourceDialog.prototype.selectItem):
        (WebInspector.OpenResourceDialog.show):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
        (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
        * inspector/front-end/SearchController.js:
        (WebInspector.SearchController.prototype.handleShortcut):
        * inspector/front-end/inspector.js:
        (WebInspector._registerShortcuts):
        (WebInspector.documentKeyDown):

2012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapSnapshot: speedUp buildAggregates.
        https://bugs.webkit.org/show_bug.cgi?id=87131

        Engine can't inline getters and use fast-case if the function has for(i in object) loops.

        Reviewed by Yury Semikhatsky.

        No logic changes.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.classIndex):
        (WebInspector.HeapSnapshot.prototype._buildAggregates):
        (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):

2012-05-22  Nikolas Zimmermann  <nzimmermann@rim.com>

        Crash in WebCore::RenderSVGContainer::paint
        https://bugs.webkit.org/show_bug.cgi?id=86392

        Reviewed by Rob Buis.

        Modernize the <marker> code, switch to the same design pattern used for handling zero-length subpaths.
        Decouple the generation of the marker start/mid/end positions from the actual usage of these information.
        Only generate those marker positions if the underlying Path changes, and never else.

        When figuring out the bounds for a shape, access to current set of RenderSVGResourceMarker start/mid/end resources
        and ask the marker resources for their bounds using the previously figured out marker positions on the Path.
        Drawing markers is handled in the same way.

        Remove SVGMarkerLayoutInfo alltogether which stored raw pointers to the RenderSVGResourceMarkers.
        We assumed that those objects would stay alive from layout() to paint(), but that assumption is wrong.

        Tests: svg/custom/bug86392.html
               svg/custom/marker-zero-length-linecaps-expected.svg
               svg/custom/marker-zero-length-linecaps.svg

        * CMakeLists.txt: Remove SVGMarkerLayoutInfo.*.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.order: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/svg/RenderSVGAllInOne.cpp: Ditto.
        * rendering/svg/RenderSVGShape.cpp: Handle markers just like the existing zero leng subpath code, which is superior.
        (WebCore::RenderSVGShape::createShape):
        (WebCore::RenderSVGShape::layout):
        (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
        (WebCore::RenderSVGShape::paint):
        (WebCore::markerForType):
        (WebCore::RenderSVGShape::markerRect):
        (WebCore::RenderSVGShape::inflateWithStrokeAndMarkerBounds):
        (WebCore::RenderSVGShape::drawMarkers):
        (WebCore::RenderSVGShape::processMarkerPositions):
        * rendering/svg/RenderSVGShape.h:
        (RenderSVGShape):
        * rendering/svg/SVGMarkerData.h:
        (WebCore::MarkerPosition::MarkerPosition):
        (MarkerPosition):
        (WebCore::SVGMarkerData::SVGMarkerData):
        (WebCore::SVGMarkerData::updateFromPathElement):
        (WebCore::SVGMarkerData::pathIsDone):
        (SVGMarkerData):
        (WebCore::SVGMarkerData::currentAngle):
        * rendering/svg/SVGMarkerLayoutInfo.cpp: Removed.
        * rendering/svg/SVGMarkerLayoutInfo.h: Removed.
        * rendering/svg/SVGResourcesCache.cpp:
        (WebCore::resourcesCacheFromRenderObject):
        (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
        * rendering/svg/SVGResourcesCache.h:
        (SVGResourcesCache):

2012-05-22  Alexander Pavlov  <apavlov@chromium.org>

        [Chromium] Implement the ContextMenuItem SubMenu type
        https://bugs.webkit.org/show_bug.cgi?id=86625

        Reviewed by Pavel Feldman.

        This change is the WebKit part of a two-sided patch that adds subMenuItems to ContextMenuItem
        and introduces code needed to handle it properly.

        * platform/ContextMenuItem.h:
        (PlatformMenuItemDescription): Add a Vector for subMenuItems.
        * platform/PlatformMenuDescription.h:
        (WebCore): Introduce a meaningful typedef for PlatformMenuDescription in Chromium.
        * platform/chromium/ContextMenuChromium.cpp:
        (WebCore::ContextMenu::itemWithAction): Search submenus when looking up a requested action id.
        (WebCore::ContextMenu::platformDescription): Return a real PlatformMenuDescription rather than 0.
        * platform/chromium/ContextMenuItemChromium.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem): Set submenu if one has been passed in.
        (WebCore::ContextMenuItem::platformSubMenu): Return real subMenuItems instead of an empty PlatformMenuDescription.
        (WebCore::ContextMenuItem::setSubMenu): Implemented.
        (WebCore):

2012-05-22  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: use canvas to render timeline category strips in overview pane
        https://bugs.webkit.org/show_bug.cgi?id=87109

        Reviewed by Pavel Feldman.

        - use canvas, not DOM to represent timeline category strips in the default overview mode

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview): propagate to TimelineCategoryStrips;
        (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged): force update of category strips;
        (WebInspector.TimelineOverviewPane.prototype._update):
        (WebInspector.TimelineOverviewPane.prototype.setShowShortEvents):
        (WebInspector.TimelineCategoryStrips):
        (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord): process one record;
        (WebInspector.TimelineCategoryStrips.prototype.update): re-draw everything;
        (WebInspector.TimelineCategoryStrips.prototype.setShowShortEvents):
        (WebInspector.TimelineCategoryStrips.prototype._renderBar): render single bar;
        (WebInspector.TimelineVerticalOverview):
        (WebInspector.TimelineVerticalOverview.prototype._renderBar):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.categories):
        (WebInspector.TimelinePresentationModel.createFillStyle): utility methods to create gradients for category bars;
        (WebInspector.TimelinePresentationModel.createFillStyleForCategory):
        (WebInspector.TimelineCategory):

2012-05-22  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: [regression] dynamically created script tab is bound to the document resource.
        https://bugs.webkit.org/show_bug.cgi?id=87119

        Reviewed by Vsevolod Vlasov.

        Test: inspector/debugger/dynamic-script-tag.html

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger.didSetBreakpoint):
        (WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.rawLocationToUILocation):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.addScript):
        (WebInspector.ResourceScriptMapping.prototype._shouldBindScriptToContentProvider):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.rawLocationToUILocation):
        (WebInspector.Script.Location.prototype.update):

2012-05-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: JavaScript breakpoints disappear when Ctrl+S is pressed for the script without changes.
        https://bugs.webkit.org/show_bug.cgi?id=87121

        Reviewed by Pavel Feldman.

        JavaScriptSourceFrame and StylesSourceFrame should not commit working copy unless UISourceCode is dirty.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
        * inspector/front-end/StylesPanel.js:
        (WebInspector.StyleSourceFrame.prototype.commitEditing):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.commitWorkingCopy):

2012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapSnapshot: speed-up calculateRetainedSize functon.
        https://bugs.webkit.org/show_bug.cgi?id=87124

        I found that in all dominators related functions we use nodeOrdinals.
        At the moment we divide nodeIndex to nodeFieldCount and this operation too expensive for these simple algorithms.

        Reviewed by Yury Semikhatsky.

        Covered by existing tests.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
        (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
        (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):
        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):

2012-05-22  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: annotate InjectedScriptSource.js for closure compiler
        https://bugs.webkit.org/show_bug.cgi?id=87120

        Reviewed by Pavel Feldman.

        Annotated InjectedScriptSource.js for closure compiler. Replaced call of undefined
        _isPrimitiveValue function with isPrimitiveValue.

        * inspector/InjectedScriptExterns.js: Added. External APIs used in InjectedScriptSource.js
        (console.log):
        (InjectedScriptHost.prototype.storageId):
        (InjectedScriptHost.prototype.functionDetails):
        (InjectedScriptHost.prototype.isHTMLAllCollection):
        (InjectedScriptHost.prototype.internalConstructorName):
        (InjectedScriptHost.prototype.copyText):
        (InjectedScriptHost.prototype.clearConsoleMessages):
        (InjectedScriptHost.prototype.inspectedObject):
        (InjectedScriptHost.prototype.databaseId):
        (InjectedScriptHost.prototype.inspect):
        (InjectedScriptHost.prototype.type):
        (InjectedScriptHost.prototype.getEventListeners):
        (JavaScriptCallFrame.prototype.scopeType):
        * inspector/InjectedScriptSource.js:

2012-05-22  Ian Vollick  <vollick@chromium.org>

        [chromium] Speed up CCLayerTreeHostTestTickAnimationWhileBackgrounded
        https://bugs.webkit.org/show_bug.cgi?id=86871

        Reviewed by James Robinson.

        With this patch, the background animation timer is lazily created,
        allowing for different time intervals to be used. In particular, a
        very short interval for unit tests.

        Unit tests: CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThread
                    CCLayerTreeHostTestTickAnimationWhileBackgrounded.runMultiThread

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::setBackgroundTickingEnabled):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::setVisible):
        (WebCore::CCLayerTreeHostImpl::animateLayers):
        (WebCore::CCLayerTreeHostImpl::lowFrequencyAnimationInterval):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::setVisible):

2012-05-22  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Odd synthetic shorthands may appear in the style
        https://bugs.webkit.org/show_bug.cgi?id=87081

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.onpopulate):

2012-05-22  Hayato Ito  <hayato@chromium.org>

        Fix crashes when a mouse points a <svg> element in shadow DOM subtree.
        https://bugs.webkit.org/show_bug.cgi?id=86795

        Reviewed by Nikolas Zimmermann.

        <svg> elements in shadow dom subtree are still not supported.
        This fixes only crashes.

        Test: fast/dom/shadow/shadow-dom-event-dispatching.html

        * dom/EventDispatcher.cpp:
        (WebCore::eventTargetRespectingSVGTargetRules):
        * page/EventHandler.cpp:
        (WebCore::instanceAssociatedWithShadowTreeElement):

2012-05-22  Andreas Kling  <kling@webkit.org>

        DOM Attr objects pointing to "style" attribute should force reification when read.
        <http://webkit.org/b/87076>

        Reviewed by Antti Koivisto.

        Make sure that the "style" attribute is reserialized as needed when it gets retrieved
        through an Attr object. This fixes a bug where updating an element's inline style
        through the CSSOM API, and then retrieving the style attribute through an Attr node
        that was previously created by element.getAttributeNode() would return the old style
        attribute value.

        Test: fast/dom/attr-style-too-lazy.html

        * dom/Attr.cpp:
        (WebCore::Attr::value):

2012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapProfiler: upstream retainedSize calculation.
        https://bugs.webkit.org/show_bug.cgi?id=87107

        This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end.
        After that we will be able to drop retainedSize field from the snapshot serialized data.
        See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get retainedSize):
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):

2012-05-22  Emil A Eklund  <eae@chromium.org>

        Change RenderBlock to user RenderBox/RenderInline writing mode logic
        https://bugs.webkit.org/show_bug.cgi?id=87040

        Reviewed by Eric Seidel.

        Remove unnecessary writing mode logic in RenderBlock and use the
        implementation in RenderBox and RenderInline instead.

        No new tests, no change in functionality.

        * rendering/RenderBlock.cpp:
        (WebCore):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::marginBeforeForChild):
        (WebCore::RenderBlock::marginAfterForChild):
        (WebCore::RenderBlock::marginStartForChild):
        (WebCore::RenderBlock::marginEndForChild):
        (WebCore::RenderBlock::setMarginStartForChild):
        (WebCore::RenderBlock::setMarginEndForChild):
        (WebCore::RenderBlock::setMarginBeforeForChild):
        (WebCore::RenderBlock::setMarginAfterForChild):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::marginBefore):
        (WebCore::RenderBox::marginAfter):
        (WebCore::RenderBox::marginStart):
        (WebCore::RenderBox::marginEnd):
        (WebCore::RenderBox::setMarginStart):
        (WebCore::RenderBox::setMarginEnd):
        (WebCore::RenderBox::setMarginBefore):
        (WebCore::RenderBox::setMarginAfter):
        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderBoxModelObject.h:
        (RenderBoxModelObject):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::marginStart):
        (WebCore::RenderInline::marginEnd):
        (WebCore::RenderInline::marginBefore):
        (WebCore::RenderInline::marginAfter):
        * rendering/RenderInline.h:
        (RenderInline):

2012-05-22  Li Yin  <li.yin@intel.com>

        [WebSocket] WebSocket object should fire a simple event named error when it is required to fail the websocket connection.
        https://bugs.webkit.org/show_bug.cgi?id=86958

        Reviewed by Kent Tamura.

        Spec:http://dev.w3.org/html5/websockets/#feedback-from-the-protocol
        If the user agent was required to fail the websocket connection or the 
        WebSocket connection is closed with prejudice, fire a simple event 
        named error at the WebSocket object.

        Tests: http/tests/websocket/tests/hybi/close.html

        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::didReceiveMessageError):
        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::fail):

2012-05-22  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: allow showing selected object in another heap profiler view
        https://bugs.webkit.org/show_bug.cgi?id=87098

        Reviewed by Vsevolod Vlasov.

        Added 2 context menu actions: 1) to jump from a node in the heap snapshot summary
        view to the same node in the dominators view; 2) to jump from a node in the dominators
        view to the same node in the summary view.

        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotSortableDataGrid): "sorting complete" event is only dispatched on
        when the data grid is populated. If we switch to already populated data grid the event is not
        dispatched. However when switching between different views of a heap snapshot we want to track
        the moment when the data grid is shown and populated. I added
        WebInspector.HeapSnapshotSortableDataGrid.Events.ContentShown for such cases. The event will always
        be dispatched after the data grid is shown and its content is populated.
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.wasShown):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._sortingComplete):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
        (WebInspector.HeapSnapshotView.prototype.changeView.dataGridContentShown):
        (WebInspector.HeapSnapshotView.prototype.changeView):
        (WebInspector.HeapSnapshotView.prototype._onSelectedViewChanged):
        (WebInspector.HeapSnapshotView.prototype._changeView):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):

2012-05-22  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: show more button node should have height multiple of row height
        https://bugs.webkit.org/show_bug.cgi?id=87104

        Reviewed by Vsevolod Vlasov.

        Made "show more" button height multiple of the data grid row height.

        * inspector/front-end/ShowMoreDataGridNode.js:
        (WebInspector.ShowMoreDataGridNode.prototype.nodeHeight):
        * inspector/front-end/dataGrid.css:
        (.data-grid button):

2012-05-22  Kentaro Hara  <haraken@chromium.org>

        [V8] Add an optional 'isolate' argument to throwTypeError()
        https://bugs.webkit.org/show_bug.cgi?id=87070

        Reviewed by Adam Barth.

        The objective is to pass Isolate around in V8 bindings.
        This patch adds an optional 'isolate' argument to throwTypeError(),
        and passes Isolate to throwTypeError()s. In a following patch,
        I'll pass Isolate to all throwTypeError("message")s.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrSetter):
        (GenerateOverloadedFunctionCallback):
        (GenerateParametersCheck):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::overloadedMethodCallback):
        (WebCore::TestObjV8Internal::overloadedMethod1Callback):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::throwTypeError):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArray):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::V8DataView::constructorCallback):
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        (WebCore::V8SVGLength::valueAccessorSetter):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
        (WebCore::V8WebGLRenderingContext::getUniformCallback):
        (WebCore::vertexAttribAndUniformHelperf):
        (WebCore::uniformHelperi):
        (WebCore::uniformMatrixHelper):

2012-05-22  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms][Meter][Progress] Change function signature of parseToDoubleForNumberType
        https://bugs.webkit.org/show_bug.cgi?id=87077

        Reviewed by Hajime Morita.

        This patch changes function signature of parseToDoubleForNumberType and
        parseToDoubleForNumberTypeWithDecimalPlaces to return double value instead
        of bool for reducing code in call sites for ease of maintenance. This patch
        also allows to use functional style of using these functions.

        No new tests. This patch doesn't change behavior.

        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::min): Changed for using double return value.
        (WebCore::HTMLMeterElement::max): Changed for using double return value.
        (WebCore::HTMLMeterElement::value): Changed for using double return value.
        (WebCore::HTMLMeterElement::low): Changed for using double return value.
        (WebCore::HTMLMeterElement::high): Changed for using double return value.
        (WebCore::HTMLMeterElement::optimum): Changed for using double return value.
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::value): Changed for using double return value.
        (WebCore::HTMLProgressElement::max): Changed for using double return value.
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::typeMismatchFor): Changed for using double return value.
        (WebCore::NumberInputType::sizeShouldIncludeDecoration): Changed for using double return value.
        (WebCore::NumberInputType::parseToDouble): Changed for using double return value.
        (WebCore::NumberInputType::parseToDoubleWithDecimalPlaces): Changed for using double return value.
        (WebCore::NumberInputType::visibleValue): Changed for using double return value.
        (WebCore::NumberInputType::sanitizeValue): Changed for using double return value.
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::parseToDouble): Changed for using double return value.
        * html/StepRange.cpp:
        (WebCore::StepRange::parseStep): Changed for using double return value.
        * html/StepRange.h:
        (WebCore::StepRange::defaultValue): Added "const" attribute
        (WebCore::StepRange::proportionFromValue): Added "const" attribute
        (WebCore::StepRange::valueFromProportion): Added "const" attribute
        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::parseToDoubleForNumberType): Changed for using double return value. Added one parameter function.
        (WebCore::parseToDoubleForNumberTypeWithDecimalPlaces): Changed for using double return value. Added function for providing default fallback value.
        * html/parser/HTMLParserIdioms.h: Changed function prototype and added one parameter prototypes.
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::sliderPosition): Changed for using double return value.

2012-05-22  Kentaro Hara  <haraken@chromium.org>

        REGRESSION r110315: Event handler throws TypeError for an input element with name="arguments"
        https://bugs.webkit.org/show_bug.cgi?id=86991

        Reviewed by Ojan Vafai.

        Original Chromium bug: http://code.google.com/p/chromium/issues/detail?id=128723

        Consider the following html:

        <html><body><form>
        <input type="hidden" name="arguments"></input>
        <div onclick="onclicked()" id="divInsideForm">Click here</div>
        </form></body>
        <script>
        function onclicked() {
          alert("onclicked");
        }
        </script>
        </html>

        If we click "Click here", JavaScript throws "Uncaught TypeError: undefined has no properties".

        This is a regression caused by r110315. V8LazyEventListener should not use
        'arguments' to retrieve the execution contexts, since 'arguments' can be
        shadowed by JavaScript.

        This patch changes V8LazyEventListener so that it retrieves contexts
        by this[2], this[1] and this[0].

        Test: fast/forms/form-input-named-arguments.html

        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::prepareListenerObject):

2012-05-22  Kentaro Hara  <haraken@chromium.org>

        [V8] setDOMException() should return v8::Handle<v8::Value>()
        https://bugs.webkit.org/show_bug.cgi?id=87083

        Reviewed by Adam Barth.

        The following patterns are used here and there in V8 bindings:

            setDOMException();
            return v8::Handle<v8::Value>();

        and

            setDOMException();
            return v8::Undefined();

        By returning v8::Handle<v8::Value>() from setDOMException(), we can simplify the above patterns into this:

            return setDOMException();

        This patch just replaces the code in CodeGeneratorV8.pm. I'll replace
        all other custom bindings in a follow-up patch.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateSetDOMException):
        (GenerateFunctionCallback):
        (GenerateFunctionCallString):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::TestEventTargetV8Internal::itemCallback):
        (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
        (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
        (WebCore::TestObjV8Internal::methodWithExceptionCallback):
        (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
        (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
        (WebCore::TestObjV8Internal::getSVGDocumentCallback):
        (WebCore::TestObjV8Internal::strictFunctionCallback):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):

2012-05-22  MORITA Hajime  <morrita@google.com>

        Unreviewed expectations update against r117989.

        * bindings/scripts/test/V8/V8Float64Array.cpp:
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        * bindings/scripts/test/V8/V8TestException.cpp:
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        * bindings/scripts/test/V8/V8TestNode.cpp:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::installPerContextProperties):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:

2012-05-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: migrate dominatorIndex code to the front-end calculated dominatorsTree.
        https://bugs.webkit.org/show_bug.cgi?id=87024

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
        (WebInspector.HeapSnapshot.prototype._init):

2012-05-22  Kentaro Hara  <haraken@chromium.org>

        [V8] Replace 'throwError(); return Undefined();' with 'return throwError()'
        https://bugs.webkit.org/show_bug.cgi?id=87079

        Reviewed by Adam Barth.

        This patch replaces

            throwError();
            return v8::Undefined();

        with

            return throwError();

        No tests. No change in behavior.

        * bindings/v8/DateExtension.cpp:
        (WebCore::DateExtension::OnSleepDetected):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::openCallback):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
        (WebCore::V8SQLResultSetRowList::itemCallback):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
        (WebCore::V8WebGLRenderingContext::getUniformCallback):
        (WebCore::vertexAttribAndUniformHelperf):
        (WebCore::uniformHelperi):
        (WebCore::uniformMatrixHelper):

2012-05-22  Kenneth Russell  <kbr@google.com>

        Must set/reset pixel unpack alignment to 1 during texSubImage2D
        https://bugs.webkit.org/show_bug.cgi?id=86877

        Reviewed by James Robinson.

        Set pixel unpack alignment to 1 during upload, resetting afterward.

        Tests: fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565.html
               fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444.html
               fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551.html
               fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas.html
               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565.html
               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444.html
               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551.html
               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565.html
               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444.html
               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
        (WebCore::WebGLRenderingContext::texSubImage2D):
            Set pixel unpack alignment to 1 during upload; reset afterward.

2012-05-21  Sam D  <dsam2912@gmail.com>

        Web Inspector: "Deactivate All Breakpoints" should visually get reflected in Breakpoints pane.
        https://bugs.webkit.org/show_bug.cgi?id=86844

        Reviewed by Pavel Feldman.

        Added an option for activate/deactivate breakpoints into Breakpoints
        pane section. Style properties has been attached with
        breakpoint list to reflect active state of breakpoints.

        No new tests. UI Change.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._breakpointsActiveStateChanged):
        * inspector/front-end/inspector.css:
        (.breakpoints-list-deactivated):

2012-05-21  Alexis Menard  <alexis.menard@openbossa.org>

        Web Inspector: Remove some dead code in CSSStyleModel.js.
        https://bugs.webkit.org/show_bug.cgi?id=87048

        Reviewed by Pavel Feldman.

        Remove dead and unused code in CSSStyleModel.js.

        No new tests : the code is supposedly dead so we should not have
        any regressions.

        * inspector/front-end/CSSStyleModel.js:

2012-05-21  Adam Barth  <abarth@webkit.org>

        !HAVE(ACCESSIBILITY) should be able to build without linking in any code from WebCore/accessibility
        https://bugs.webkit.org/show_bug.cgi?id=87035

        Reviewed by Chris Fleizach.

        The OS(ANDROID) already builds with !HAVE(ACCESSIBILITY), but because
        there are a few straggling references to objects in the
        WebCore/accessibility directory, we end up pulling in a bunch of code
        into the binary that we don't need.

        This patch stubs out a few more functions for !HAVE(ACCESSIBILITY) so
        we can link without any objects from WebCore/accessibility. This patch
        also locks in that property by actually excluding the
        WebCore/accessibility directory from the build on OS(ANDROID).

        * WebCore.gyp/WebCore.gyp:
        * accessibility/AXObjectCache.h:
        (AXObjectCache):
        (WebCore::AXObjectCache::enableAccessibility):
        (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
        (WebCore::AXObjectCache::accessibilityEnabled):
        (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
        (WebCore::AXObjectCache::AXObjectCache):
        (WebCore::AXObjectCache::~AXObjectCache):
        (WebCore::AXObjectCache::get):
        (WebCore::AXObjectCache::getOrCreate):
        (WebCore::AXObjectCache::rootObject):
        (WebCore::AXObjectCache::rootObjectForFrame):
        (WebCore::AXObjectCache::rootAXEditableElement):
        (WebCore::AXObjectCache::childrenChanged):
        (WebCore::AXObjectCache::contentChanged):
        (WebCore::AXObjectCache::detachWrapper):
        (WebCore::AXObjectCache::handleActiveDescendantChanged):
        (WebCore::AXObjectCache::handleAriaRoleChanged):
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
        (WebCore::AXObjectCache::handleScrolledToAnchor):
        (WebCore::AXObjectCache::nodeTextChangeNotification):
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
        (WebCore::AXObjectCache::postNotification):
        (WebCore::AXObjectCache::postPlatformNotification):
        (WebCore::AXObjectCache::remove):
        (WebCore::AXObjectCache::selectedChildrenChanged):
        * accessibility/AccessibilityObject.h:
        (WebCore):
        (WebCore::AccessibilityObject::updateBackingStore):
        (WebCore::AccessibilityObject::lineForPosition):
        (WebCore::AccessibilityObject::children):

2012-05-21  Andreas Kling  <kling@webkit.org>

        Use stack-allocated BitArray in StylePropertySet serialization.
        <http://webkit.org/b/87071>

        Reviewed by Anders Carlsson.

        Use BitArray instead of BitVector to track seen properties in StylePropertySet::asText().
        This removes two heap allocations from this path.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::asText):

2012-05-21  Hajime Morrita  <morrita@chromium.org>

        Unreviewed Qt build fix against r117898.

        * Target.pri:

2012-05-21  Hajime Morrita  <morrita@chromium.org>

        [V8] Shadow DOM should be per-window-configurable.
        https://bugs.webkit.org/show_bug.cgi?id=86555

        Reviewed by Kentaro Hara.

        This change introduces an IDL attribute named "V8EnabledAtContext"
        which allows DOMWindow properties to be turned on or off per
        windows basis. RuntimeEnabledFeatures::xxxAllowed() method decides the availability.

        - CodeGeneratorV8.pm now accepts V8EnabledAtContext and allows such properties
          to be configured per-Object basis, instead of per-ObjectTemplate basis.
          The script generates V8Window::installPerContextProperties(), which injects such
          per-object-turnable properties to newly created DOMWindow wrapper.
        - Added RuntimeEnabledFeatures::shadowDOMAllowed(DOMWindow*) which is used to
          decide the shadow dom availability of Shadow DOM feature.
          It delegates the call to FrameLoaderClient::shadowDOMAllowed() to make the decision.
        - The new IDL attribute is applied to DOMWindow.WebKitShadowRoot.
        - Updated existing shadowDOMEnabled() call sites with shadowDOMAllowed().

        No new tests except run-bindings-test. This isn't testable from
        DRT and this change itself doesn't chagne the behaviour.  It needs
        a client implementation.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/generic/ContextEnabledFeatures.cpp: Added.
        (WebCore):
        (WebCore::ContextEnabledFeatures::shadowDOMEnabled):
        * bindings/generic/ContextEnabledFeatures.h: Added.
        (WebCore):
        (ContextEnabledFeatures):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (GenerateImplementation):
        (GetContextEnableFunction):
        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::enabledAtContextAttr1AttrGetter):
        (TestObjV8Internal):
        (WebCore::TestObjV8Internal::enabledAtContextAttr1AttrSetter):
        (WebCore::TestObjV8Internal::enabledAtContextAttr2AttrGetter):
        (WebCore::TestObjV8Internal::enabledAtContextAttr2AttrSetter):
        (WebCore::V8TestObj::installPerContextProperties):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::installDOMWindow): Adopted installPerContextProperties()
        * bindings/v8/V8Proxy.h:
        (WebCore):
        (WebCore::configureAttribute): Generalized to accept both ObjectTemplate and Object.
        * dom/Position.cpp: Adopted ContextEnabledFeatures
        (WebCore::Position::Position):
        (WebCore::Position::findParent):
        * dom/ShadowRoot.idl:
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::getSelection):
        * html/shadow/HTMLContentElement.cpp: Adopted ContextEnabledFeatures
        (WebCore::contentTagName):
        (WebCore::HTMLContentElement::create):
        * loader/FrameLoaderClient.h:
        (FrameLoaderClient):
        (WebCore::FrameLoaderClient::shadowDOMAllowed): Added with a default behavior.
        * page/DOMWindow.cpp:
        * page/DOMWindow.idl:


2012-05-21  Tony Chang  <tony@chromium.org>

        auto margins on flexbox should allocate space in the flex direction
        https://bugs.webkit.org/show_bug.cgi?id=83086

        Reviewed by Ojan Vafai.

        Test: css3/flexbox/flex-flow-auto-margins.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::autoMarginOffsetInMainAxis):
        (WebCore):
        (WebCore::RenderFlexibleBox::updateAutoMarginsInMainAxis):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Update the margins on the RenderBox *after* we do the final child layout.
        * rendering/RenderFlexibleBox.h:

2012-05-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL] Add inital mediaControlsEflfullscreen.css for fullscreen control UI
        https://bugs.webkit.org/show_bug.cgi?id=86988

        Reviewed by Eric Carlson.

        In order to support fullscreen feature, EFL port needs to have new css file for fullscreen media control UI.

        No new tests because this patch is covered by existing tests.

        * PlatformEfl.cmake:
        * css/mediaControlsEflFullscreen.css: Added.
        (video::-webkit-media-controls-panel):
        (video:-webkit-full-page-media::-webkit-media-controls-panel):
        (video::-webkit-media-controls-mute-button):
        (video::-webkit-media-controls-play-button):
        (video::-webkit-media-controls-timeline-container):
        (video::-webkit-media-controls-current-time-display):
        (video::-webkit-media-controls-time-remaining-display):
        (video::-webkit-media-controls-timeline):
        (video::-webkit-media-controls-volume-slider-container):
        (video::-webkit-media-controls-volume-slider):
        (video::-webkit-media-controls-seek-back-button):
        (video::-webkit-media-controls-seek-forward-button):
        (video::-webkit-media-controls-fullscreen-button):
        (video::-webkit-media-controls-rewind-button):
        (video::-webkit-media-controls-return-to-realtime-button):
        (video::-webkit-media-controls-toggle-closed-captions-button):
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore):
        (WebCore::RenderThemeEfl::extraFullScreenStyleSheet):
        * platform/efl/RenderThemeEfl.h:
        (RenderThemeEfl):

2012-05-21  Kentaro Hara  <haraken@chromium.org>

        [V8] Remove V8Proxy::notHandledByInterceptor()
        https://bugs.webkit.org/show_bug.cgi?id=86831

        Reviewed by Adam Barth.

        This patch replaces 'return V8Proxy::notHandledByInterceptor()'
        with 'return v8::Handle<v8::Value>()'. See the discussion in
        https://bugs.webkit.org/show_bug.cgi?id=85330 for more details.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateOverloadedFunctionCallback):
        (GenerateParametersCheck):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::overloadedMethodCallback):
        (WebCore::TestObjV8Internal::overloadedMethod1Callback):
        * bindings/v8/V8Collection.h:
        (WebCore::collectionNamedPropertyGetter):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * bindings/v8/V8NPObject.cpp:
        (WebCore::npObjectSetProperty):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::runScript):
        (WebCore::V8Proxy::throwError):
        * bindings/v8/V8Proxy.h:
        (WebCore):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArrayWithArrayBufferArgument):
        (WebCore::setWebGLArrayHelper):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
        (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::V8DOMStringMap::namedPropertyGetter):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::indexedPropertyGetter):
        (WebCore::V8DOMWindow::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
        (WebCore::V8HTMLAllCollection::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::V8HTMLCollection::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        (WebCore::V8HTMLFormElement::indexedPropertyGetter):
        (WebCore::V8HTMLFormElement::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
        (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        (WebCore::npObjectNamedGetter):
        (WebCore::npObjectNamedSetter):
        (WebCore::npObjectIndexedGetter):
        (WebCore::npObjectIndexedSetter):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::V8NamedNodeMap::indexedPropertyGetter):
        (WebCore::V8NamedNodeMap::namedPropertyGetter):
        * bindings/v8/custom/V8NodeListCustom.cpp:
        (WebCore::V8NodeList::namedPropertyGetter):
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::storageGetter):
        (WebCore::V8Storage::namedPropertyGetter):
        (WebCore::storageSetter):
        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
        (WebCore::V8StyleSheetList::namedPropertyGetter):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
        (WebCore::V8WebGLRenderingContext::getUniformCallback):
        (WebCore::vertexAttribAndUniformHelperf):
        (WebCore::uniformHelperi):
        (WebCore::uniformMatrixHelper):

2012-05-21  Rob Buis  <rbuis@rim.com>

        Shrink FontDescription object size
        https://bugs.webkit.org/show_bug.cgi?id=86950

        Reviewed by Alexey Proskuryakov.

        Reduce object size of FontDescription by 8 bytes on 64-bit, 4 bytes on 32-bit systems.
        Note that this means Font, StyleInheritedData and RenderSVGInlineText shrink too.

        * platform/graphics/FontDescription.cpp:
        * platform/graphics/FontDescription.h:
        (WebCore::FontDescription::script):
        (FontDescription):

2012-05-21  Abhishek Arya  <inferno@chromium.org>

        Regression(r117482): Run-in crashes relating to generated content and inline line box clearing.
        https://bugs.webkit.org/show_bug.cgi?id=86879

        Reviewed by Julien Chaffraix.

        Tests: fast/runin/generated-content-crash.html
               fast/runin/move-run-in-original-position-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use the new helper
        placeRunInIfNeeded. Do not place the run-in if it is a generated container since
        the caller such as updateBeforeAfterContent might be keeping a reference to it
        and adding children to it later.
        (WebCore::destroyRunIn): Add ability to clear line box tree for inlines.
        (WebCore::RenderBlock::placeRunInIfNeeded): Helper to place run-in. Add an
        argument to not modify generated content during addChild, it should be moved
        only at end of updateBeforeAfterContent.
        (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded): 
        (WebCore::RenderBlock::runInIsPlacedIntoSiblingBlock): helper to tell if this run-in
        is actually placed into the next sibling block.
        (WebCore::RenderBlock::moveRunInToOriginalPosition):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::deleteLineBoxTree): like RenderBlock, add a helper
        for deleteLineBoxTree. Virtualizing this might not be good, since this is
        the only call site for inline line box tree clearing and RenderBlock::deleteLineBoxTree
        is called a lot.
        * rendering/RenderObjectChildList.cpp:
        (WebCore::createRendererForBeforeAfterContent): fix a typo.
        (WebCore::RenderObjectChildList::updateBeforeAfterContent): If insertBefore is equal
        to the intruded run-in, then set it to next sibling so that new child will come after it. At
        the end, place the generatedContainer if it is a run-in.

2012-05-21  James Robinson  <jamesr@chromium.org>

        [chromium] Port chromium compositor to use WebFilterOperation(s)
        https://bugs.webkit.org/show_bug.cgi?id=87046

        Reviewed by Adrienne Walker.

        This converts all compositor implementation logic to use WebFilterOperation(s) directly instead of the WebCore
        types. GraphicsLayerChromium bridges between a WebCore::FilterOperations to WebFilterOperations, doing the
        necessary type conversions and checking for filters that our compositor implementation supports. This cleans up
        the chromium compositor's dependencies and removes any thread constraints from WebCore::FilterOperation /
        WebCore::FilterOperations.

        Covered by existing layout tests and unit tests in FilterOperationsTest.cpp

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/chromium/support/WebFilterOperations.cpp: Moved to Source/Platform/chromium/src/
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::copyWebCoreFilterOperationsToWebFilterOperations):
        (WebCore):
        (WebCore::GraphicsLayerChromium::setFilters):
        (WebCore::GraphicsLayerChromium::setBackgroundFilters):
        (WebCore::GraphicsLayerChromium::updateTransform):
        (WebCore::GraphicsLayerChromium::updateChildrenTransform):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (GraphicsLayerChromium):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setFilters):
        (WebCore::LayerChromium::setBackgroundFilters):
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        (WebCore::LayerChromium::filters):
        (WebCore::LayerChromium::backgroundFilters):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::setFilters):
        (WebCore::RenderSurfaceChromium::filters):
        (WebCore::RenderSurfaceChromium::setBackgroundFilters):
        (WebCore::RenderSurfaceChromium::backgroundFilters):
        (RenderSurfaceChromium):
        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::expandDamageRectWithFilters):
        (WebCore::expandDamageRectInsideRectWithFilters):
        (WebCore::CCDamageTracker::updateDamageTrackingState):
        * platform/graphics/chromium/cc/CCDamageTracker.h:
        (WebKit):
        (WebCore):
        (CCDamageTracker):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::setFilters):
        (WebCore::CCLayerImpl::setBackgroundFilters):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        (WebCore::CCLayerImpl::filters):
        (WebCore::CCLayerImpl::backgroundFilters):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::applyFilters):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (WebCore::CCRenderSurface::setFilters):
        (WebCore::CCRenderSurface::filters):
        (CCRenderSurface):
        (WebCore::CCRenderSurface::setBackgroundFilters):
        (WebCore::CCRenderSurface::backgroundFilters):
        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
        (WebCore::CCRenderSurfaceFilters::apply):
        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h:
        (WebKit):
        (CCRenderSurfaceFilters):
        * testing/Internals.cpp:
        (WebCore::Internals::setBackgroundBlurOnNode):

2012-05-15  Gavin Barraclough  <barraclough@apple.com>

        Add support for private names
        https://bugs.webkit.org/show_bug.cgi?id=86509

        Reviewed by Oliver Hunt.

        The spec isn't final, but we can start adding support to allow property maps
        to contain keys that aren't identifiers.

        Test: fast/js/names.html

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::cssPropertyIDForJSCSSPropertyName):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::findAtomicString):
        (WebCore::objectToStringFunctionGetter):
        * bindings/js/JSDOMBinding.h:
        (WebCore::propertyNameToString):
        (WebCore::propertyNameToAtomicString):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::nonCachingStaticFunctionGetter):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::nonCachingStaticBackFunctionGetter):
        (WebCore::nonCachingStaticForwardFunctionGetter):
        (WebCore::nonCachingStaticGoFunctionGetter):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::nonCachingStaticReplaceFunctionGetter):
        (WebCore::nonCachingStaticReloadFunctionGetter):
        (WebCore::nonCachingStaticAssignFunctionGetter):
        * bridge/c/c_class.cpp:
        (JSC::Bindings::CClass::methodsNamed):
        (JSC::Bindings::CClass::fieldNamed):
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::getMethod):
        * bridge/jni/jsc/JavaClassJSC.cpp:
        (JavaClass::methodsNamed):
        (JavaClass::fieldNamed):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        * bridge/objc/objc_class.mm:
        (JSC::Bindings::ObjcClass::methodsNamed):
        (JSC::Bindings::ObjcClass::fieldNamed):
        (JSC::Bindings::ObjcClass::fallbackObject):
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::setValueOfUndefinedField):
        (ObjcInstance::getValueOfUndefinedField):
            - Removed PropertyName::impl(), call publicName() to get the string associated with a name.

2012-05-21  Tim Horton  <timothy_horton@apple.com>

        GeneratorGeneratedImage should cache intermediate images
        https://bugs.webkit.org/show_bug.cgi?id=86906
        <rdar://problem/11484852>

        Reviewed by Dean Jackson.

        Cache generated images in GeneratorGeneratedImage. The cache is invalidated:
            a) if the Generator's hash changes.
            b) if the rendered size changes.
            c) if the cached image is incompatible with the destination context (acceleration state or CTM scale).
            d) after one second of disuse.

        Add a hash() function to Generator, which should be implemented in subclasses
        to provide a straightforward way to determine if Generators have been mutated
        in a way that will affect the resultant rendering.

        No new tests, performance optimization. Correctness is covered by the multitude of existing gradient tests.

        * platform/graphics/Generator.h:
        (Generator):
        * platform/graphics/GeneratorGeneratedImage.cpp:
        (WebCore::GeneratorGeneratedImage::drawPattern):
        * platform/graphics/GeneratorGeneratedImage.h:
        (WebCore):
        (GeneratorGeneratedImage):
        (WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
        (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
        (GeneratedImageCacheTimer):
        (WebCore::GeneratorGeneratedImage::GeneratedImageCacheTimer::GeneratedImageCacheTimer):
        (WebCore::GeneratorGeneratedImage::GeneratedImageCacheTimer::restart):
        * platform/graphics/Gradient.cpp:
        (WebCore::Gradient::Gradient):
        (WebCore::Gradient::addColorStop):
        (WebCore::Gradient::sortStopsIfNecessary):
        (WebCore::Gradient::setSpreadMethod):
        (WebCore::Gradient::setGradientSpaceTransform):
        (WebCore::Gradient::hash):
        * platform/graphics/Gradient.h:
        (WebCore::Gradient::setP0):
        (WebCore::Gradient::setP1):
        (WebCore::Gradient::setStartRadius):
        (WebCore::Gradient::setEndRadius):
        (Gradient):
        (WebCore::Gradient::clearHashCache):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::isCompatibleWithBuffer):
        (WebCore):
        * platform/graphics/GraphicsContext.h:
        (GraphicsContext):

2012-05-21  Emil A Eklund  <eae@chromium.org>

        Fix bug in paintNinePieceImage exposed by subpixel change
        https://bugs.webkit.org/show_bug.cgi?id=87060

        Reviewed by Levi Weintraub.

        Fix rounding in paintNinePieceImage where the left/right images where
        drawn on subpixel bounds.

        Covered by existing tests.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

2012-05-21  Emil A Eklund  <eae@chromium.org>

        Move padding/margin/offset writing mode logic from RenderStyle to LengthBox
        https://bugs.webkit.org/show_bug.cgi?id=86970

        Reviewed by Eric Seidel.

        Move writing mode and bidi logic for paddings, margins and offsets from
        RenderStyle to LengthBox. This way the same logic can be used for all
        three removing unnecessary code duplication.

        No new tests, no change in functionality.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/LengthBox.cpp: Added.
        * platform/LengthBox.h:
        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:

2012-05-21  Mike West  <mkwst@chromium.org>

        Improving console error for CSP-blocked  `setTimeout` and `setInterval` evaluation.
        https://bugs.webkit.org/show_bug.cgi?id=86943

        Reviewed by Adam Barth.

        If the inspector is open, a stack trace is generated before calling
        ContentSecurityPolicy::allowEval, and passed through to
        ContentSecurityPolicy::reportViolation for use in the console message.

        Test: http/tests/inspector-enabled/contentSecurityPolicy-blocks-setInterval.html
              http/tests/inspector-enabled/contentSecurityPolicy-blocks-setTimeout.html

        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::WindowSetTimeoutImpl):
        * page/ContentSecurityPolicy.cpp:
        (CSPDirectiveList):
        (WebCore::CSPDirectiveList::reportViolation):
        (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
        (WebCore::CSPDirectiveList::allowEval):
        (WebCore):
        (WebCore::isAllowedByAllWithCallStack):
        (WebCore::isAllowedByAllWithURL):
        (WebCore::ContentSecurityPolicy::allowEval):
        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
        (WebCore::ContentSecurityPolicy::allowImageFromSource):
        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
        (WebCore::ContentSecurityPolicy::allowFontFromSource):
        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
        (WebCore::ContentSecurityPolicy::allowConnectToSource):
        * page/ContentSecurityPolicy.h:
        (WebCore):

2012-05-21  Antoine Labour  <piman@chromium.org>

        Don't force rendering in finishAllRendering
        https://bugs.webkit.org/show_bug.cgi?id=86919

        Reviewed by James Robinson.

        After we acquire the texture layers on the main thread, we can't draw.
        In particular if we destroyed the texture ids used previously by
        TextureLayerChromium, drawing before a commit would cause a
        bind-after-destroy.

        Tested by CCLayerTreeHostTestFinishAllRendering.

        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::CCThreadProxy):
        (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):

2012-05-21  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Store key paths in IDBKeyPath type instead of String
        https://bugs.webkit.org/show_bug.cgi?id=85298

        Reviewed by Tony Chang, Kentaro Hara and James Robinson.

        Migrate from storing key paths as (nullable) Strings to a dedicated IDBKeyPath
        type. Prep work for supporting array-type key paths: http://webkit.org/b/84207

        Only functional change is handling of null/undefined parameters for key paths,
        to align with IDB spec, covered by layout test.

        Test: storage/indexeddb/keypath-basics.html
        Test: WebKit/chromium/IDBLevelDBCodingTest.cpp

        * Modules/indexeddb/IDBAny.cpp: Allow IDBAny to yield DOMStrings.
        (WebCore::IDBAny::createString):
        (WebCore):
        (WebCore::IDBAny::string):
        (WebCore::IDBAny::set):
        * Modules/indexeddb/IDBAny.h:
        (IDBAny):
        * Modules/indexeddb/IDBBackingStore.h: Switch from String to IDBKeyPath.
        (IDBBackingStore):
        * Modules/indexeddb/IDBDatabase.cpp: Switch from String to IDBKeyPath.
        (WebCore::IDBDatabase::createObjectStore):
        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Switch from String to IDBKeyPath.
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
        * Modules/indexeddb/IDBDatabaseBackendImpl.h: Switch from String to IDBKeyPath.
        (IDBDatabaseBackendImpl):
        * Modules/indexeddb/IDBDatabaseBackendInterface.h: Switch from String to IDBKeyPath.
        (WebCore):
        (IDBDatabaseBackendInterface):
        * Modules/indexeddb/IDBIndex.h: Switch from String to IDBAny (via IDBKeyPath).
        (WebCore::IDBIndex::keyPath):
        * Modules/indexeddb/IDBIndex.idl: Switch from DOMString? to IDBAny.
        * Modules/indexeddb/IDBIndexBackendImpl.cpp: Switch from String to IDBKeyPath.
        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
        * Modules/indexeddb/IDBIndexBackendImpl.h: Switch from String to IDBKeyPath.
        (WebCore::IDBIndexBackendImpl::create):
        (WebCore::IDBIndexBackendImpl::keyPath):
        (IDBIndexBackendImpl):
        * Modules/indexeddb/IDBIndexBackendInterface.h: Switch from String to IDBKeyPath.
        (WebCore):
        (IDBIndexBackendInterface):
        * Modules/indexeddb/IDBKeyPath.cpp: Non-trivial method implementations.
        (WebCore::IDBKeyPath::isValid):
        (WebCore):
        (WebCore::IDBKeyPath::operator PassRefPtr<IDBAny>):
        * Modules/indexeddb/IDBKeyPath.h: Introduce IDBKeyPath type.
        (IDBKeyPath):
        (WebCore::IDBKeyPath::IDBKeyPath):
        (WebCore::IDBKeyPath::type):
        (WebCore::IDBKeyPath::array):
        (WebCore::IDBKeyPath::string):
        (WebCore::IDBKeyPath::isNull):
        (WebCore):
        * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Switch from String to IDBKeyPath.
        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
        (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
        * Modules/indexeddb/IDBKeyPathBackendImpl.h: Switch from String to IDBKeyPath.
        (WebCore):
        (IDBKeyPathBackendImpl):
        * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Switch from String to IDBKeyPath, with back-compat.
        (WebCore):
        (WebCore::putIDBKeyPath):
        (WebCore::IDBLevelDBBackingStore::getObjectStores):
        (WebCore::IDBLevelDBBackingStore::createObjectStore):
        (WebCore::IDBLevelDBBackingStore::getIndexes):
        (WebCore::IDBLevelDBBackingStore::createIndex):
        * Modules/indexeddb/IDBLevelDBBackingStore.h:
        (IDBLevelDBBackingStore):
        * Modules/indexeddb/IDBLevelDBCoding.cpp: New coding scheme for key paths (with back-compat).
        (IDBLevelDBCoding):
        (WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
        (WebCore::IDBLevelDBCoding::decodeIDBKeyPath):
        * Modules/indexeddb/IDBLevelDBCoding.h: Add key-path-specific methods.
        (WebCore):
        (IDBLevelDBCoding):
        * Modules/indexeddb/IDBObjectStore.cpp: Switch from String to IDBKeyPath.
        (WebCore::IDBObjectStore::keyPath):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore):
        * Modules/indexeddb/IDBObjectStore.h: Switch from String to IDBAny (via IDBKeyPath).
        (IDBObjectStore):
        * Modules/indexeddb/IDBObjectStore.idl: Switch from DOMString? to IDBAny.
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Switch from String to IDBKeyPath.
        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
        (WebCore::fetchKeyFromKeyPath):
        (WebCore::injectKeyIntoKeyPath):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.h: Switch from String to IDBKeyPath.
        (WebCore::IDBObjectStoreBackendImpl::create):
        (WebCore::IDBObjectStoreBackendImpl::keyPath):
        (IDBObjectStoreBackendImpl):
        * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Switch from String to IDBKeyPath.
        (WebCore):
        (IDBObjectStoreBackendInterface):
        * bindings/v8/Dictionary.cpp: Add getter for DOMString[] (i.e. Vector<String>)
        (WebCore):
        (WebCore::Dictionary::get):
        * bindings/v8/Dictionary.h:
        (Dictionary):
        * bindings/v8/IDBBindingUtilities.cpp: Switch from String to IDBKeyPath.
        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
        (WebCore::injectIDBKeyIntoSerializedValue):
        * bindings/v8/IDBBindingUtilities.h: Switch from String to IDBKeyPath.
        (WebCore):
        * bindings/v8/custom/V8IDBAnyCustom.cpp: Support String/DOMString.
        (WebCore::toV8):
        * dom/DOMStringList.h: Allow easy (const) access to strings.
        (WebCore::DOMStringList::operator const Vector<String>&):
        (DOMStringList):
        * inspector/InspectorIndexedDBAgent.cpp: Temporary shim for non-strings: see http://webkit.org/b/84303
        (WebCore):
        * platform/chromium/PlatformSupport.h: Switch from String to IDBKeyPath.
        (WebCore):
        (PlatformSupport):
        * storage/chromium/IDBKeyPathBackendImpl.cpp: Switch from String to IDBKeyPath.
        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
        (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):

2012-05-21  Zhenyao Mo  <zmo@google.com>

        Restore WebGL's framebuffer binding after DrawingBuffer's prepareBackBuffer()
        https://bugs.webkit.org/show_bug.cgi?id=87032

        Reviewed by James Robinson.

        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::prepareBackBuffer): restore the user's framebuffer binding if there is one.

2012-05-21  Ryosuke Niwa  <rniwa@webkit.org>

        isStartOfDocument and isEndOfDocument are poorly named
        https://bugs.webkit.org/show_bug.cgi?id=86649

        Reviewed by Levi Weintraub.

        Renamed isEndOfDocument to isEndOfEditableOrNonEditableContent because that's what this function checks.

        Also added new versions of isStartOfDocument and isEndOfDocument that correctly cross editing boundaries
        to be used in selectFrameElementInParentIfFullySelected.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
        * editing/Editor.cpp:
        (WebCore::Editor::insertLineBreak):
        (WebCore::Editor::insertParagraphSeparator):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
        * editing/visible_units.cpp:
        (WebCore::isEndOfEditableOrNonEditableContent):
        * editing/visible_units.h:

2012-05-21 Anna Cavender  <annacc@chromium.org>

        Only render text track cues if kind=captions or kind=subtitles.
        https://bugs.webkit.org/show_bug.cgi?id=83321

        Reviewed by Eric Carlson.

        No new tests. Modification to media/track/track-kind.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::textTrackKindChanged):
           If the kind changes from a 'visible' kind to a 'non-visible' kind,
           update the track's mode to HIDDEN.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
            Do not render cues from tracks that are not captions or subtitles.

        * html/track/TextTrack.cpp:
        (WebCore::TextTrack::setMode):
            If the track's mode changes from SHOWING to HIDDEN or DISABLED,
            ensure any currently visible cues will no longer be rendered.

        * html/track/TextTrackCue.cpp:
        (WebCore::TextTrackCue::removeDisplayTree): New method.
        * html/track/TextTrackCue.h:
        (TextTrackCue):
 
2012-05-21  Andreas Kling  <kling@webkit.org>

        CSS: Move duplicate property elimination to parser.
        <http://webkit.org/b/86948>

        Reviewed by Antti Koivisto.

        Remove the StylePropertySet constructor that handled elimination of duplicate
        properties and move that to a new parser method, CSSParser::filteredProperties().
        Call sites are converted to using StylePropertySet(const Vector<CSSProperty>&).

        Instead of building a hashmap of seen properties, use the new WTF::BitArray class
        to track whether a given property ID has been seen, and whether we have an
        !important entry for a given ID.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::filteredProperties):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        (WebCore::CSSParser::createPageRule):
        (WebCore::CSSParser::createKeyframe):
        * css/CSSParser.h:
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::StylePropertySet):
        (WebCore::StylePropertySet::addParsedProperties):
        * css/StylePropertySet.h:
        (WebCore::StylePropertySet::create):
        (StylePropertySet):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::rebuildFontFace):

2012-05-21  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Index key paths that yield invalid keys should not fail an add/put
        https://bugs.webkit.org/show_bug.cgi?id=86122

        Reviewed by Tony Chang.

        A clause was removed from the IDB spec. Previously, on add/put, if evaluating an
        index's key path yielded a value that was not a valid key, an exception would be
        raised. Now, it is treated the same as if no value was yielded.

        Test: storage/indexeddb/index-basics.html
        Test: storage/indexeddb/index-basics-workers.html
        Test: storage/indexeddb/objectstore-basics.html
        Test: storage/indexeddb/objectstore-basics-workers.html

        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put): Preconditions removed
        (WebCore::IDBObjectStoreBackendImpl::putInternal): Treat invalid keys the same as missing keys.

2012-05-21  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: refactor revision history to not include resource itself.
        https://bugs.webkit.org/show_bug.cgi?id=87026

        Reviewed by Vsevolod Vlasov.

        This change makes resource contain pure revisions, it stops updating Resources upon free flow editing.

        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
        (WebInspector.JavaScriptSource.prototype.setFormatted):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.addRevision):
        (WebInspector.Resource.prototype._innerRequestContent.callback):
        (WebInspector.Resource.prototype._innerRequestContent):
        (WebInspector.Resource.prototype.revertToOriginal):
        (WebInspector.ResourceRevision.prototype.revertToThis):
        (WebInspector.ResourceRevision.prototype.requestContent):
        (WebInspector.ResourceRevision.prototype.searchInContent):
        (WebInspector.ResourceRevision.prototype._persistRevision):
        * inspector/front-end/RevisionHistoryView.js:
        (WebInspector.RevisionHistoryView):
        (WebInspector.RevisionHistoryView.prototype._revisionAdded):
        (WebInspector.RevisionHistoryTreeElement):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel.prototype.setScriptSnippetContent):
        * inspector/front-end/StylesPanel.js:
        (WebInspector.StyleSourceFrame.prototype.commitEditing):
        (WebInspector.StyleSourceFrame.prototype._didEditContent):
        (WebInspector.StyleSourceFrame.prototype._onContentChanged):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype._revisionAdded):
        (WebInspector.UISourceCode.prototype.contentChanged):
        (WebInspector.UISourceCode.prototype.commitWorkingCopy):
        * inspector/front-end/inspector.js:
        (WebInspector._doLoadedDoneWithCapabilities.get if):

2012-05-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        GCC 4.7 and C++11
        https://bugs.webkit.org/show_bug.cgi?id=86465

        Reviewed by Darin Adler.

        Avoid triggering C++11 string literals and use nullptr for correct type casting.

        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
        * platform/sql/SQLiteFileSystem.cpp:
        (WebCore::SQLiteFileSystem::getFileNameForNewDatabase):

2012-05-18  Michael Nordman  <michaeln@google.com>

        [chromium] DomStorage events handling needs TLC (2)
        https://bugs.webkit.org/show_bug.cgi?id=85221
        Alter the StorageArea virtual interface such that the mutators no longer
        return old values. This is to allow implementations of the interface to operate
        more asynchronously.

        Reviewed by Adam Barth.

        No new tests. Existing tests cover this.

        * storage/StorageArea.h: Alter the interface so the mutators no longer return previous values
        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):  removed an unneeded PLATFORM(CHROMIUM) guard
        (WebCore::StorageAreaImpl::setItem): no longer return the old value
        (WebCore::StorageAreaImpl::removeItem): no longer return the old value
        (WebCore::StorageAreaImpl::clear): no longer return whether something was cleared
        * storage/StorageAreaImpl.h: match StorageArea's virtual interface


2012-05-21  MORITA Hajime  <morrita@google.com>

        [Refactoring] Node should have youngestShadowRoot.
        https://bugs.webkit.org/show_bug.cgi?id=86427

        Reviewed by Dimitri Glazkov.

        This change adds Node::youngestShadowRoot() and replaced
        ElementShadow::youngestShadowRoot() with it if appropriate.

        By introducing this, traversal across node and its shadow tree can
        look more fluent and idiomatic. There are a few non-trivial traversal
        remaining like ElementShadow::recalcStyle() and attach().
        But they should be flattened out eventually.

        No new tests. Refactoring.

        * dom/ContainerNodeAlgorithms.cpp:
        (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
        * dom/Document.cpp:
        (WebCore::Document::buildAccessKeyMap):
        * dom/ElementShadow.cpp:
        * dom/ElementShadow.h:
        (ElementShadow):
        (WebCore::Node::youngestShadowRoot):
        (WebCore):
        * dom/Node.h:
        (Node):
        * dom/TreeScopeAdopter.cpp:
        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
        * dom/TreeScopeAdopter.h:
        (TreeScopeAdopter):
        * html/shadow/TextFieldDecorationElement.cpp:
        (WebCore::getDecorationRootAndDecoratedRoot):

2012-05-21  Christophe Dumez  <christophe.dumez@intel.com>

        Add support for MessagePortArray type to JSC
        https://bugs.webkit.org/show_bug.cgi?id=84093

        Reviewed by Adam Barth.

        Add support for MessagePortArray type to JSC code generator similarly
        to what was done for the V8 generator in r114319.

        Update bindings test results to reflect to change to the bindings
        generator.

        * CMakeLists.txt: Add new DeliveredIntent files to CMake.
        * bindings/js/JSDOMBinding.h:
        (WebCore):
        (WebCore::jsArray): Tweak jsArray() so that it accepts MessagePortArray as argument.
        * bindings/scripts/CodeGeneratorJS.pm:
        (JSValueToNative):
        (NativeToJSValue):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
        (WebCore::jsTestSerializedScriptValueInterfacePorts):
        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):

2012-05-21  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Cannot tab from selector of inherited rule, which in turn has leading inherited properties
        https://bugs.webkit.org/show_bug.cgi?id=87014

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):

2012-05-21  Greg Billock  <gbillock@google.com>

        Add suggestions field to web intents API.
        https://bugs.webkit.org/show_bug.cgi?id=86791

        Reviewed by Adam Barth.

        The |suggestions| field is used by the client to avoid an empty
        web intents selection window (picker). The UA can add the given
        suggestions to the picker if it would otherwise be empty. See
        http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html#intent-parameters-dictionary

        * Modules/intents/DeliveredIntent.cpp:
        (WebCore::DeliveredIntent::DeliveredIntent):
        * Modules/intents/Intent.cpp:
        (WebCore::Intent::create):
        (WebCore::Intent::Intent):
        * Modules/intents/Intent.h:
        (WebCore::Intent::suggestions):
        (Intent):

2012-05-21  Stephen Chenney  <schenney@chromium.org>

        SVGAnimatedPropertyTearOff does not clear a self pointer on deletion
        https://bugs.webkit.org/show_bug.cgi?id=86119

        Reviewed by Nikolas Zimmermann.

        SVGAnimatedPropertyTearOff contains two SVGPropertyTearOff objects
        that have a pointer back to the SVGAnimatedPropertyTearOff. JS may
        also have a reference to these SVGPropertyTearOff objects. When the
        SVGAnimatedPropertyTearOff is deleted, the SVGPropertyTearOff objects
        may live on, but the pointer back to the deleted animated property
        tear off is left invalid. This patch clears the pointers on destruction
        of the SVGAnimatedPropertyTearOff.

        Test: svg/custom/bug86119.html

        * svg/properties/SVGAnimatedPropertyTearOff.h:
        (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff):
        (SVGAnimatedPropertyTearOff):

2012-05-21  Stephen Chenney  <schenney@chromium.org>

        [Chromium] REGRESSION: Assertion failure on svg/custom/acid3-test-77.html
        https://bugs.webkit.org/show_bug.cgi?id=86715

        Reviewed by Nikolas Zimmermann.

        Calls to clear the text positioning elements in RenderSVGText must be
        protected with a FontCachePurgeProtector so that fonts are not removed
        before the SVG metrics are rebuilt. The protection must cover both the
        cache clearing and the reconstruction calls.

        Patch fixes existing tests.

        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::subtreeChildWasAdded):
        (WebCore::RenderSVGText::subtreeChildWasRemoved):
        (WebCore::RenderSVGText::subtreeTextDidChange):
        (WebCore::RenderSVGText::removeChild):

2012-05-21  Stephen Chenney  <schenney@chromium.org>

        SVGTextRunRenderingContext can return null font, calling code asserts not null
        https://bugs.webkit.org/show_bug.cgi?id=86738

        Reviewed by Nikolas Zimmermann.

        SVGTextRunRenderingContext::glyphDataForCharacter was returning a glyph with
        null font data for numerous code paths. It seems that it was doing so
        whenever it detected null fontData, rather than try to continue.
        Calling code would then immediately assert on this null fontData.

        This patch refactors SVGTextRunRenderingContext::glyphDataForCharacter
        so that it never returns null font data, adding an assertion to that
        effect. In particular, when the font data is null the code will reach
        the fallback glyph calculations.

        Refactoring covered by existing tests. A previously crashing test, svg/custom/acid3-test-77.html, no longer crashes.

        * rendering/svg/SVGTextRunRenderingContext.cpp:
        (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

2012-05-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: switch buildDominatedNodes function to front-end calculated _dominatorsTree
        https://bugs.webkit.org/show_bug.cgi?id=87022

        The new version is using _dominatorsTree array that was build at front-end.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):

2012-05-21  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: change WebCore/English.lproj/locallizedStrings encoding from UTF-16 to UTF-8.
        https://bugs.webkit.org/show_bug.cgi?id=86822

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:

2012-05-21  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Move working copy support to UISourceCode and use it for both styles and scripts.
        https://bugs.webkit.org/show_bug.cgi?id=87021

        Reviewed by Pavel Feldman.

        UISourceCode now listens for RevisionAdded event.
        Virtual methods workingCopyChanged and workingCopyCommitted added to UISourceCode and implemented in descendants.
        DebuggerResourceBinding does not call contentChanged on UISourceCode explicitly anymore.

        * inspector/front-end/DebuggerResourceBinding.js:
        (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
        (WebInspector.DebuggerResourceBinding.setScriptSource):
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.SnippetJavaScriptSource.prototype.workingCopyCommitted):
        * inspector/front-end/StylesPanel.js:
        (WebInspector.StyleSource.prototype.workingCopyCommitted):
        (WebInspector.StyleSource.prototype.workingCopyChanged):
        (WebInspector.StyleSourceFrame):
        (WebInspector.StyleSourceFrame.prototype.commitEditing):
        (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
        (WebInspector.StyleSourceFrame.prototype._didEditContent):
        (WebInspector.StyleSourceFrame.prototype._onContentChanged):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):
        (WebInspector.UISourceCode.prototype._revisionAdded):
        (WebInspector.UISourceCode.prototype.contentChanged):
        (WebInspector.UISourceCode.prototype.workingCopy):
        (WebInspector.UISourceCode.prototype.setWorkingCopy):
        (WebInspector.UISourceCode.prototype.workingCopyChanged):
        (WebInspector.UISourceCode.prototype.commitWorkingCopy):
        (WebInspector.UISourceCode.prototype.workingCopyCommitted):

2012-05-21  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] promote fill/border colors used by timeline's frame overview to TimelineCategory
        https://bugs.webkit.org/show_bug.cgi?id=87016

        Reviewed by Pavel Feldman.

        - drop unused 'color' field from TimelineCategory;
        - add borderColor and fillColorStop[0-1] to TimelineCategory;
        - fix style in a handful of places.

        Note we store textual values for color stops, not premade gradients so we can build gradients with different
        orientations rather than transforming a gradient.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.HeapGraph):
        (WebInspector.HeapGraph.prototype.get element):
        (WebInspector.HeapGraph.prototype.get visible):
        (WebInspector.HeapGraph.prototype.show):
        (WebInspector.HeapGraph.prototype.hide):
        (WebInspector.HeapGraph.prototype._clear):
        (WebInspector.TimelineCategoryStrips):
        (WebInspector.TimelineVerticalOverview):
        (WebInspector.TimelineVerticalOverview.prototype._renderBar):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.categories):
        (WebInspector.TimelinePresentationModel.recordStyle):
        (WebInspector.TimelineCategory):

2012-05-21  'Pavel Feldman'  <pfeldman@chromium.org>

        Web Inspector: declare setFormatted on UISourceCode (otherwise fails for styles).

        Not reviewed: front-end fix as a follow up to r117751.

        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.consoleMessagesCleared):
        (WebInspector.UISourceCode.prototype.setFormatted):

2012-05-21  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix Closure compiler error after r117753.

        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didGetNodePosition):

2012-05-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Move setEditingBehavior() from layoutTestController to window.internals
        https://bugs.webkit.org/show_bug.cgi?id=42689

        Reviewed by Hajime Morita and Kenneth Rohde Christiansen.

        Add setEditingBehavior() to window.internals.settings. No new tests, but this
        change will allow more tests to run in WebKitTestRunner.

        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::InternalSettings):
        (WebCore::InternalSettings::restoreTo):
        (WebCore::InternalSettings::setEditingBehavior):
        (WebCore):
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-05-21  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Temporary UISourceCode should be replaced each time another inline script is added in RawSourceCode with pending request.
        https://bugs.webkit.org/show_bug.cgi?id=87003

        Reviewed by Pavel Feldman.

        This is needed to correctly show document content when debugger stops on several breakpoints in different scripts during page load.

        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype.addScript):
        (WebInspector.RawSourceCode.prototype._finishedLoading):

2012-05-20  Kinuko Yasuda  <kinuko@chromium.org>

        Cleanup: Remove WebCore::revealFolderInOS() which is no longer used anywhere
        https://bugs.webkit.org/show_bug.cgi?id=86993

        Reviewed by Adam Barth.

        No new tests as this must be just removing dead code.

        * platform/FileSystem.h:
        * platform/chromium/FileSystemChromium.cpp:
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-05-21  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Annotate CSSStyleModel.js for the closure compiler
        https://bugs.webkit.org/show_bug.cgi?id=86858

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleDeclaration.parseComputedStylePayload):
        (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
        (WebInspector.CSSProperty.parsePayload):
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setDisabled):
        (WebInspector.CSSStyleSheet.prototype.setText):
        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
        (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):

2012-05-21  Rakesh KN  <rakesh.kn@motorola.com>

        [Forms] Refactor HTMLFormCollection
        https://bugs.webkit.org/show_bug.cgi?id=86602

        Reviewed by Kent Tamura.

        Modify HTMLFormCollection to be independent of HTMLFormElement which is needed
        for implementing HTMLFieldSetElement's element attribute.

        Covered by existing tests.

        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::HTMLFormCollection):
        Modified to take more generic HTMLElement* instead of HTMLFormElement* so that
        HTMLFormCollection for HTMLFieldSetElement can also be created.
        (WebCore::HTMLFormCollection::create): Ditto.
        (WebCore::HTMLFormCollection::formControlElements):
        Helper function for getting the array of FormAssociatedElements for this form.
        (WebCore::HTMLFormCollection::formImageElements):
        Helper function for getting the array of image elements for this form.
        (WebCore::HTMLFormCollection::numberOfFormControlElements):
        Helper function for getting the number of elements in this form.
        (WebCore::HTMLFormCollection::calcLength):
        Modified to use new helper functions defined for getting the FormAssociatedElements
        and image elements array instead of static_cast to HTMLFormElement.
        (WebCore::HTMLFormCollection::item): Ditto.
        (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
        (WebCore::HTMLFormCollection::updateNameCache): Ditto.
        * html/HTMLFormCollection.h:
        (WebCore):
        (HTMLFormCollection):
        * html/HTMLFormElement.h:
        (WebCore::HTMLFormElement::imageElements):
        New accessor for image elements array of form element.
        Also HTMLFormCollection is not needed to be friend of HTMLFormElement as collection
        does not access the form element memebers directly now.

2012-05-21  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: expand only neighbors of the highlighted node when revealing it in heap snapshot
        https://bugs.webkit.org/show_bug.cgi?id=86998

        Reviewed by Pavel Feldman.

        Only nearest nodes are expanded when a node is revealed in heap snapshot
        summary view.

        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.highlightNode):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype.highlightNode):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype._isScrolledIntoView):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId):
        (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didGetNodePosition):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.showProfile):

2012-05-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>

        [EFL] PlatformKeyboardEventEfl is missing ESC key handling.
        https://bugs.webkit.org/show_bug.cgi?id=86837

        Reviewed by Kenneth Rohde Christiansen.

        Added ESC key handling.

        * platform/efl/EflKeyboardUtilities.cpp:
        (WebCore::createKeyMap):
        (WebCore::singleCharacterString):

2012-05-21  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: move sources panel out of experimental.
        https://bugs.webkit.org/show_bug.cgi?id=86997

        Reviewed by Yury Semikhatsky.

        This change moves sources panel out of experimental, removes revision support from the resources panel.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
        * inspector/front-end/ResourceView.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showResourceView):
        (WebInspector.FrameTreeElement.prototype.appendResource):
        (WebInspector.FrameResourceTreeElement):
        (WebInspector.FrameResourceTreeElement.prototype.sourceView):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.get toolbarItemLabel):
        (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
        * inspector/front-end/textViewer.css:
        * inspector/front-end/utilities.js:

2012-05-21  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: implement revision history view.
        https://bugs.webkit.org/show_bug.cgi?id=86966

        Reviewed by Yury Semikhatsky.

        Added revision view into the drawer. It now lists all the revisions
        along with the inline diffs. Once source panel is enabled by default,
        this view will completely substitute the one in the resources panel.
        See the screenshot attached. View is updated when revisions are added
        and when editor view is switched.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
        * inspector/front-end/ContextMenu.js:
        (WebInspector.ContextMenu.prototype._itemSelected):
        (WebInspector.ContextMenu.prototype.appendApplicableItems):
        (WebInspector.ContextMenu.Provider.prototype.appendApplicableItems):
        (WebInspector.ContextMenu.registerProvider):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/Resource.js:
        (WebInspector.ResourceRevision.prototype.revertToThis):
        * inspector/front-end/RevisionHistoryView.js: Added.
        (WebInspector.RevisionHistoryView):
        (WebInspector.RevisionHistoryView.showHistory):
        (WebInspector.RevisionHistoryView.uiSourceCodeSelected):
        (WebInspector.RevisionHistoryView.prototype._revisionAdded):
        (WebInspector.RevisionHistoryView.prototype._onclose):
        (WebInspector.RevisionHistoryTreeElement.else.revert):
        (WebInspector.RevisionHistoryTreeElement):
        (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step1):
        (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step2):
        (WebInspector.RevisionHistoryTreeElement.prototype.onexpand):
        (WebInspector.RevisionHistoryTreeElement.prototype._createLine):
        (WebInspector.RevisionHistoryTreeElement.prototype._diff.popsym):
        (WebInspector.RevisionHistoryTreeElement.prototype._diff):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._editorSelected):
        (WebInspector.ScriptsPanel.prototype.registerUISourceCodeProvider):
        (WebInspector.ScriptsPanel.prototype._showLocalHistory):
        (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
        * inspector/front-end/StylesPanel.js:
        (WebInspector.StyleSourceFrame.prototype._contentChanged):
        (WebInspector.StyleSourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (#search-results-pane-file-based .search-result):
        (#search-results-pane-file-based .search-result:hover):
        (#search-results-pane-file-based .search-match:hover):
        (#search-results-pane-file-based .search-match .search-match-content):
        * inspector/front-end/inspector.html:
        * inspector/front-end/scriptsPanel.css:
        (.outline-disclosure.revision-history-drawer):
        (.outline-disclosure.revision-history-drawer ol):
        (.outline-disclosure.revision-history-drawer > ol):
        (.outline-disclosure.revision-history-drawer li):
        (.outline-disclosure.revision-history-drawer li.parent):
        (.revision-history-link):
        (.outline-disclosure.revision-history-drawer .revision-history-line):
        (.revision-history-drawer .webkit-line-number):
        (.revision-history-line-added):
        (.revision-history-line-removed):
        * inspector/front-end/textViewer.css:
        (.webkit-added-line.webkit-line-number):
        (.webkit-removed-line.webkit-line-number):
        (.webkit-changed-line.webkit-line-number):

2012-05-18  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: upstream build dominators tree procedure from v8.
        https://bugs.webkit.org/show_bug.cgi?id=86640

        The idea is to reduce transfer size and move all the post-processing steps to the front-end.
        The JS implementation is ~1.5 times slower.

        Reviewed by Yury Semikhatsky.

        Covered by existing tests and performance tests.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype._buildAggregates):
        (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
        (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
        (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes):
        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
        (WebInspector.HeapSnapshot.prototype._calculateFlags):

2012-05-21  Mike Lawther  <mikelawther@chromium.org>

        Crash in -webkit-calc
        https://bugs.webkit.org/show_bug.cgi?id=86954

        Reviewed by Abhishek Arya.

        Ensure that both ends of a blend are checked for being Calculated. The current
        check did not cover the case where the 'from' end was Calculated and nonzero,
        and the 'to' end was zero and not Calculated. 

        Blending doesn't work with calculated expressions and is being tracked in
        bug http://webkit.org/b/86160

        Tests: css3/calc/transition-crash3.html
               css3/calc/transition-crash4.html

        * platform/Length.h:
        (WebCore::Length::blend):

2012-05-21  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make search results view more dense
        https://bugs.webkit.org/show_bug.cgi?id=86937

        Reviewed by Yury Semikhatsky.

        - moved search field to the 'drawer status bar'
        - search view is now shown on scripts panel only
        - switching from the scripts panel closes the search view
        - beautified the looks (see the screenshot)

        * English.lproj/localizedStrings.js:
        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.AdvancedSearchController.prototype.handleShortcut):
        (WebInspector.AdvancedSearchController.prototype.show):
        (WebInspector.AdvancedSearchController.prototype.close):
        (WebInspector.SearchView):
        (WebInspector.FileBasedSearchResultsPane):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.willHide):
        * inspector/front-end/externs.js:
        (WebInspector.showViewInDrawer):
        (WebInspector.closeViewInDrawer):
        * inspector/front-end/inspector.css:
        (.search-drawer-header input[type="search"].search-config-search):
        (.search-drawer-header label.search-config-label):
        (.search-drawer-header input[type="checkbox"].search-config-checkbox):
        (body:not(.platform-mac) .search-drawer-header input[type="checkbox"].search-config-checkbox):
        (body.platform-mac .search-drawer-header input[type="checkbox"].search-config-checkbox):
        (.drawer-header):
        (.drawer-header-close-button):
        (.drawer-header-close-button:hover):
        (.drawer-header-close-button:active):
        (.search-view .search-results):
        (#search-results-pane-file-based li):
        (#search-results-pane-file-based ol):
        (#search-results-pane-file-based ol.children):
        (#search-results-pane-file-based ol.children.expanded):
        (#search-results-pane-file-based li.parent::before):
        (#search-results-pane-file-based li.parent.expanded::before):
        (#search-results-pane-file-based .search-result):
        (#search-results-pane-file-based .show-more-matches):
        * inspector/front-end/inspector.js:
        (WebInspector.showViewInDrawer.closeButtonPressed):
        (WebInspector.showViewInDrawer):
        (WebInspector.closeViewInDrawer):
        (WebInspector.postDocumentKeyDown):

2012-05-18  Andreas Kling  <kling@webkit.org>

        REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL().
        <http://webkit.org/b/86935>
        <rdar://problem/11480012>

        Reviewed by Anders Carlsson.

        - Correctly set m_retainOrReleaseIconRequested to true in retainIconForPageURL().
          This was causing the assertions, as we would end up doing nothing until the first
          icon release request came in.

        - Require that m_urlsToRetainOrReleaseLock be held when accessing m_retainOrReleaseIconRequested.
          This removes a possible race condition in double checked locking.

        - Swap over the retain/release work queues while holding m_urlsToRetainOrReleaseLock
          and release it right away to avoid sitting on the lock while updating the database.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::synchronousIconForPageURL):
        (WebCore::IconDatabase::retainIconForPageURL):
        (WebCore::IconDatabase::releaseIconForPageURL):
        (WebCore::IconDatabase::retainedPageURLCount):
        (WebCore::IconDatabase::performURLImport):
        (WebCore::IconDatabase::syncThreadMainLoop):
        (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
        * loader/icon/IconDatabase.h:
        (IconDatabase):

2012-05-21  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix.

        * html/StepRange.cpp:
        (WebCore::StepRange::parseStep): Remove bogus asssetions.

2012-05-21  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix.

        * html/StepRange.cpp:
        (WebCore::StepRange::StepRange): Remove another ASSERT_NOT_REACHED.

2012-05-21  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix.

        * html/StepRange.h:
        (WebCore::StepRange::StepDescription::StepDescription):
        Remove ASSERT_NOT_REACHED.

2012-05-21  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Move numeric related methods in HTMLInputElement class to another place
        https://bugs.webkit.org/show_bug.cgi?id=82034

        Reviewed by Kent Tamura.

        This patch moves step and range related methods into StepRange class
        for ease of using step calculation other than double floating point
        number arithmetic, e.g. decimal, long double, and so on.

        New class StepRange::StepDescription holds values for calculating
        stepped value, defaultStep, defaultStepBase, integer rounding flags,
        step scale factor instead of virtual methods in InputType class.

        No new tests because of this patch doesn't change behavior.

        * WebCore.xcodeproj/project.pbxproj: Set attribute of StepRange.h to "Private" for including it in HTMLInputElement.cpp.
        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::InputType::rangeOverflow): Moved to use InputType class.
        (WebCore::InputType::rangeUnderflow): Moved to use InputType class.
        (WebCore::BaseDateAndTimeInputType::stepMismatch): Moved to use stepRange.
        * html/BaseDateAndTimeInputType.h:
        (BaseDateAndTimeInputType): Removed method declaration for stepBase.
        * html/DateInputType.cpp:
        (WebCore::DateInputType::setupStepRange): Added.
        * html/DateInputType.h:
        (DateInputType): Removed method declarations.
        * html/DateTimeInputType.cpp:
        (WebCore::DateTimeInputType::defaultStep): Removed.
        (WebCore::DateTimeInputType::maximum): Removed.
        (WebCore::DateTimeInputType::minimum): Removed.
        (WebCore::DateTimeInputType::setupStepRange): Added
        (WebCore::DateTimeInputType::stepScaleFactor): Removed.
        * html/DateTimeInputType.h:
        (DateTimeInputType): Removed deprecated method declarations.
        * html/DateTimeLocalInputType.cpp:
        (WebCore::DateTimeLocalInputType::defaultStep): Removed.
        (WebCore::DateTimeLocalInputType::maximum): Removed.
        (WebCore::DateTimeLocalInputType::minimum): Removed.
        (WebCore::DateTimeLocalInputType::setupStepRange): Added.
        (WebCore::DateTimeLocalInputType::stepScaleFactor): Removed.
        * html/DateTimeLocalInputType.h:
        (DateTimeLocalInputType):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isInRange): Changed to call InputType::isInRange.
        (WebCore::HTMLInputElement::isOutOfRange): Changed to call InputType::isOutOfRange.
        (WebCore::HTMLInputElement::setupStepRange): Added.
        * html/HTMLInputElement.h:
        (HTMLInputElement):
        * html/InputType.cpp:
        (WebCore::InputType::acceptableError): Moved to StepRange class.
        (WebCore::InputType::alignValueForStep): Moved to StepRange class.
        (WebCore::InputType::minimum): Changed to use StepRange class.
        (WebCore::InputType::maximum): Changed to use StepRange class.
        (WebCore::InputType::parseToDouble): Changed to have ASSERT_NOT_REACHED.
        (WebCore::InputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
        (WebCore::InputType::validationMessage):  Changed to use StepRange class.
        (WebCore::InputType::applyStep):  Changed to use StepRange class.
        (WebCore::InputType::getAllowedValueStep):  Changed to use StepRange class.
        (WebCore::InputType::isInRange): Added.
        (WebCore::InputType::isOutOfRange): Added.
        (WebCore::InputType::rangeOverflow): Changed to use StepRange class.
        (WebCore::InputType::rangeUnderflow): Changed to use StepRange class.
        (WebCore::InputType::setupStepRange): Added.
        (WebCore::InputType::stepUpFromRenderer):  Changed to use StepRange class.
        (WebCore::InputType::stepMismatch): Changed to use StepRange class.
        * html/InputType.h:
        (InputType):
        * html/MonthInputType.cpp:
        (WebCore::MonthInputType::defaultStep): Removed.
        (WebCore::MonthInputType::maximum): Removed.
        (WebCore::MonthInputType::minimum): Removed.
        (WebCore::MonthInputType::setupStepRange): Added.
        (WebCore::MonthInputType::stepScaleFactor): Removed.
        * html/MonthInputType.h:
        (MonthInputType):
        * html/NumberInputType.cpp:
        (WebCore):
        (WebCore::NumberInputType::defaultStep): Removed.
        (WebCore::NumberInputType::maximum): Removed.
        (WebCore::NumberInputType::minimum): Removed.
        (WebCore::NumberInputType::rangeOverflow): Moved to InputType class.
        (WebCore::NumberInputType::rangeUnderflow): Moved to InputType class.
        (WebCore::NumberInputType::setupStepRange): Added.
        (WebCore::NumberInputType::stepMismatch): Moved to InputType class.
        (WebCore::NumberInputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
        (WebCore::NumberInputType::stepScaleFactor): Removed.
        * html/NumberInputType.h:
        (NumberInputType):
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::defaultStep): Removed.
        (WebCore::RangeInputType::maximum): Removed.
        (WebCore::RangeInputType::minimum): Removed.
        (WebCore::RangeInputType::setupStepRange): Added.
        (WebCore::RangeInputType::stepScaleFactor): Removed.
        (WebCore::RangeInputType::handleKeydownEvent): Changed to use StepRange class.
        (WebCore::RangeInputType::fallbackValue): Changed to use StepRange class.
        (WebCore::RangeInputType::sanitizeValue): Changed to use StepRange class.
        * html/RangeInputType.h:
        (RangeInputType):
        * html/StepRange.cpp:
        (WebCore::StepRange::StepRange): Added.
        (WebCore::StepRange::clampValue): Changed for member variable name changes.
        (WebCore::StepRange::hasStep): Added.
        (WebCore::StepRange::maximum): Added.
        (WebCore::StepRange::minimum): Added.
        (WebCore::StepRange::step): Added.
        (WebCore::StepRange::stepBase): Added.
        (WebCore::StepRange::stepDecimalPlaces): Added.
        (WebCore::StepRange::stepScaleFactor): Added.
        (WebCore::StepRange::setHasStep): Added.
        (WebCore::StepRange::setup): Added.
        (WebCore::StepRange::parse): Added.
        * html/StepRange.h:
        (StepDescription): Added
        (WebCore::StepRange::StepDescription::StepDescription):
        (WebCore::StepRange::acceptableError): Moved from InputType class.
        (WebCore::StepRange::alignValueForStep): Moved from InputType class.
        (WebCore::StepRange::defaultValue): Changed for member variable name changes.
        (WebCore::StepRange::proportionFromValue): Changed for member variable name changes.
        (WebCore::StepRange::valueFromProportion): Changed for member variable name changes.
        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::defaultStep): Removed.
        (WebCore::TimeInputType::maximum): Removed.
        (WebCore::TimeInputType::minimum): Removed.
        (WebCore::TimeInputType::setupStepRange): Added.
        (WebCore::TimeInputType::stepScaleFactor): Removed.
        * html/TimeInputType.h:
        (TimeInputType):
        * html/WeekInputType.cpp:
        (WebCore):
        (WebCore::WeekInputType::defaultStep): Removed.
        (WebCore::WeekInputType::maximum): Removed.
        (WebCore::WeekInputType::minimum): Removed.
        (WebCore::WeekInputType::setupStepRange): Added.
        (WebCore::WeekInputType::stepScaleFactor): Removed.
        * html/WeekInputType.h:
        (WeekInputType):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::sliderPosition): Changed to use StepRange class.
        (WebCore::SliderThumbElement::setPositionFromPoint): Changed to use StepRange class.

2012-05-21  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to throwNotEnoughArgumentsError()
        https://bugs.webkit.org/show_bug.cgi?id=86983

        Reviewed by Adam Barth.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to throwNotEnoughArgumentsError().

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateArgumentsCountCheck):
        (GenerateEventConstructorCallback):
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore::Float64ArrayV8Internal::fooCallback):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
        (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::constructorCallback):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::TestEventTargetV8Internal::itemCallback):
        (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
        (WebCore::V8TestInterface::constructorCallback):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
        (WebCore::TestObjV8Internal::intMethodWithArgsCallback):
        (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
        (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
        (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
        (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
        (WebCore::TestObjV8Internal::serializedValueCallback):
        (WebCore::TestObjV8Internal::idbKeyCallback):
        (WebCore::TestObjV8Internal::optionsObjectCallback):
        (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
        (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
        (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
        (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
        (WebCore::TestObjV8Internal::overloadedMethod1Callback):
        (WebCore::TestObjV8Internal::overloadedMethod2Callback):
        (WebCore::TestObjV8Internal::overloadedMethod3Callback):
        (WebCore::TestObjV8Internal::overloadedMethod4Callback):
        (WebCore::TestObjV8Internal::overloadedMethod5Callback):
        (WebCore::TestObjV8Internal::overloadedMethod6Callback):
        (WebCore::TestObjV8Internal::overloadedMethod7Callback):
        (WebCore::TestObjV8Internal::overloadedMethod11Callback):
        (WebCore::TestObjV8Internal::overloadedMethod12Callback):
        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
        (WebCore::TestObjV8Internal::convert1Callback):
        (WebCore::TestObjV8Internal::convert2Callback):
        (WebCore::TestObjV8Internal::convert3Callback):
        (WebCore::TestObjV8Internal::convert4Callback):
        (WebCore::TestObjV8Internal::convert5Callback):
        (WebCore::TestObjV8Internal::strictFunctionCallback):
        (WebCore::V8TestObj::constructorCallback):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
        * bindings/v8/ScriptController.cpp:
        (WebCore::setValueAndClosePopupCallback):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::throwNotEnoughArgumentsError):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        (WebCore::V8AudioContext::constructorCallback):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::V8DataView::getInt8Callback):
        (WebCore::V8DataView::getUint8Callback):
        (WebCore::V8DataView::setInt8Callback):
        (WebCore::V8DataView::setUint8Callback):
        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
        (WebCore::V8DirectoryEntry::getDirectoryCallback):
        (WebCore::V8DirectoryEntry::getFileCallback):
        * bindings/v8/custom/V8IntentConstructor.cpp:
        (WebCore::V8Intent::constructorCallback):
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::getObjectParameter):
        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
        (WebCore::V8WebGLRenderingContext::getExtensionCallback):
        (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
        (WebCore::V8WebGLRenderingContext::getParameterCallback):
        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
        (WebCore::V8WebGLRenderingContext::getUniformCallback):
        (WebCore::vertexAttribAndUniformHelperf):
        (WebCore::uniformHelperi):
        (WebCore::uniformMatrixHelper):
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::constructorCallback):
        (WebCore::V8WebKitMutationObserver::observeCallback):
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8WebSocket::constructorCallback):
        (WebCore::V8WebSocket::sendCallback):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::openCallback):

2012-05-20  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to throwError()s in V8 custom bindings (Part 2)
        https://bugs.webkit.org/show_bug.cgi?id=86981

        Reviewed by Adam Barth.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to throwError()s in V8 custom bindings.

        No tests. No change in behavior.

        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::v8HTMLImageElementConstructorCallback):
        * bindings/v8/custom/V8HistoryCustom.cpp:
        (WebCore::V8History::pushStateCallback):
        (WebCore::V8History::replaceStateCallback):
        * bindings/v8/custom/V8IntentConstructor.cpp:
        (WebCore::V8Intent::constructorCallback):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
        (WebCore::V8NotificationCenter::createNotificationCallback):
        (WebCore::V8NotificationCenter::requestPermissionCallback):
        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
        (WebCore::V8SQLResultSetRowList::itemCallback):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::V8SQLTransaction::executeSqlCallback):
        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
        (WebCore::V8SQLTransactionSync::executeSqlCallback):
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::storageSetter):
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::constructorCallback):
        (WebCore::V8WebKitMutationObserver::observeCallback):
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8WebSocket::constructorCallback):
        (WebCore::V8WebSocket::sendCallback):
        (WebCore::V8WebSocket::closeCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::V8WorkerContext::importScriptsCallback):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
        (WebCore::V8XMLHttpRequest::openCallback):
        (WebCore::V8XMLHttpRequest::sendCallback):

2012-05-20  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to throwError()s in V8 custom bindings (Part 1)
        https://bugs.webkit.org/show_bug.cgi?id=86980

        Reviewed by Adam Barth.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to throwError()s in V8 custom bindings.

        No tests. No change in behavior.

        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
        (WebCore::V8ArrayBuffer::constructorCallback):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArrayWithArrayBufferArgument):
        (WebCore::constructWebGLArray):
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        (WebCore::V8AudioContext::constructorCallback):
        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::V8Blob::constructorCallback):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        (WebCore::V8Clipboard::clearDataCallback):
        (WebCore::V8Clipboard::setDragImageCallback):
        * bindings/v8/custom/V8DOMFormDataCustom.cpp:
        (WebCore::V8DOMFormData::appendCallback):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::V8DOMStringMap::namedPropertySetter):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
        (WebCore::V8DirectoryEntry::getDirectoryCallback):
        (WebCore::V8DirectoryEntry::getFileCallback):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::V8Document::evaluateCallback):

2012-05-20  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to V8NPObject::npObjectGetProperty() and V8NPObject::npObjectSetProperty()
        https://bugs.webkit.org/show_bug.cgi?id=86979

        Reviewed by Adam Barth.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to V8NPObject::npObjectGetProperty()
        and V8NPObject::npObjectSetProperty().

        No tests. No change in behavior.

        * bindings/v8/V8NPObject.cpp:
        (WebCore::npObjectGetProperty):
        (WebCore::npObjectNamedPropertyGetter):
        (WebCore::npObjectIndexedPropertyGetter):
        (WebCore::npObjectGetNamedProperty):
        (WebCore::npObjectGetIndexedProperty):
        (WebCore::npObjectQueryProperty):
        (WebCore::npObjectSetProperty):
        (WebCore::npObjectNamedPropertySetter):
        (WebCore::npObjectIndexedPropertySetter):
        (WebCore::npObjectSetNamedProperty):
        (WebCore::npObjectSetIndexedProperty):
        * bindings/v8/V8NPObject.h:
        (WebCore):
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        (WebCore::npObjectNamedGetter):
        (WebCore::npObjectNamedSetter):
        (WebCore::npObjectIndexedGetter):
        (WebCore::npObjectIndexedSetter):

2012-05-20  Ryosuke Niwa  <rniwa@webkit.org>

        Using createContextualFragment to insert a <script> does not cause the script to execute
        https://bugs.webkit.org/show_bug.cgi?id=12234

        Reviewed by Adam Barth.

        Renamed FragmentScriptingAllowed and FragmentScriptingNotAllowed to DisallowScriptingContent
        and AllowScriptingContent as these two flags are used in code for non-fragment cases and they
        indicate whether attributes and elements that can invoke scripting should be removed or not.

        To fix the bug, added a new value AllowScriptingContentAndDoNotMarkAlreadyStarted unset
        already-started and parser-inserted flags [1] on script elements in addition to allowing
        scripting contents.

        While the HTML5 specification and the DOM Parsing and Serialization specification [2] state that
        we should set these flags in the parser and later unset them, doing so would require traversing
        the parsed fragment to find relevant script elements. We short circuit this logic by simply not
        setting parser-inserted and already-started flags in createContextualFragment.

        [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#already-started
        [2] http://html5.org/specs/dom-parsing.html#dom-range-createcontextualfragment

        Tests: fast/dom/Range/create-contextual-fragment-script-not-ran.html
               fast/dom/Range/create-contextual-fragment-script-unmark-already-started.html

        * dom/DocumentFragment.h:
        (DocumentFragment):
        * dom/Element.cpp:
        (WebCore::Element::parserSetAttributes):
        (WebCore::Element::setAttributeNS):
        * dom/Element.h:
        (Element):
        * dom/FragmentScriptingPermission.h:
        * dom/Range.cpp:
        (WebCore::Range::createContextualFragment): Removed FragmentScriptingPermission from the argument
        list since no one uses it. Always use AllowScriptingContentAndDoNotMarkAlreadyStarted instead.
        * dom/Range.h:
        * editing/markup.h:
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
        (WebCore::HTMLConstructionSite::insertScriptElement): Pass false to both parserInserted and
        alreadyStarted when the scripting permission is AllowScriptingContentAndDoNotMarkAlreadyStarted.
        Also call parserSetAttributes when the scripting permission is either AllowScriptingContent or
        AllowScriptingContentAndDoNotMarkAlreadyStarted.
        * html/parser/HTMLDocumentParser.h:
        (HTMLDocumentParser):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/parser/HTMLTreeBuilder.h:
        (FragmentParsingContext):
        * platform/blackberry/PasteboardBlackBerry.cpp:
        (WebCore::Pasteboard::documentFragment):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::asFragment):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::documentFragment):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::documentFragment):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::documentFragment):
        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::asFragment):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::documentFragment):
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::fragmentFromCFHTML):
        (WebCore::fragmentFromHTML):
        * xml/XMLErrors.cpp:
        (WebCore::createXHTMLParserErrorHeader):
        (WebCore::XMLErrors::insertErrorMessageBlock):
        * xml/parser/NewXMLDocumentParser.h:
        (NewXMLDocumentParser):
        * xml/parser/XMLDocumentParser.h:
        (XMLDocumentParser):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::endElementNs):
        * xml/parser/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::parseEndElement):

2012-05-20  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to V8Utilities::createFunctionCallback()
        https://bugs.webkit.org/show_bug.cgi?id=86978

        Reviewed by Adam Barth.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to V8Utilities::createFunctionCallback().

        No tests. No change in behavior.

        * bindings/v8/V8Utilities.cpp:
        (WebCore::throwTypeMismatchException):
        * bindings/v8/V8Utilities.h:
        (WebCore):
        (WebCore::createFunctionOnlyCallback):
        * bindings/v8/custom/V8GeolocationCustom.cpp:
        (WebCore::V8Geolocation::getCurrentPositionCallback):
        (WebCore::V8Geolocation::watchPositionCallback):
        * bindings/v8/custom/V8NotificationCustom.cpp:
        (WebCore::V8Notification::requestPermissionCallback):

2012-05-20  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to throwError()s in bindings/v8/*.{h,cpp}
        https://bugs.webkit.org/show_bug.cgi?id=86977

        Reviewed by Adam Barth.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to throwError()s in bindings/v8/*.{h,cpp}
        except for a couple of non-trivial cases. I'll upload a follow-up patch
        for the non-trivial cases.

        No tests. No change in behavior.

        * bindings/v8/DateExtension.cpp:
        (WebCore::DateExtension::OnSleepDetected):
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::transferArrayBuffers):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.h:
        * bindings/v8/V8NPObject.cpp:
        (WebCore::npObjectInvokeImpl):
        (WebCore::npObjectPropertyEnumerator):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::checkNewLegal):

2012-05-20  Keishi Hattori  <keishi@webkit.org>

        [Chromium] Enable datalist for input type email
        https://bugs.webkit.org/show_bug.cgi?id=85356

        Reviewed by Kent Tamura.

        No new tests. Covered in fast/forms/datalist/input-list.html

        * rendering/RenderThemeChromiumCommon.cpp:
        (WebCore::RenderThemeChromiumCommon::supportsDataListUI):

2012-05-20  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to throwError()s in CodeGeneratorV8.pm
        https://bugs.webkit.org/show_bug.cgi?id=86976

        Reviewed by Adam Barth.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to throwError()s in CodeGeneratorV8.pm.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateNormalAttrSetter):
        (GenerateParametersCheck):
        (GenerateConstructorCallback):
        (GenerateNamedConstructorCallback):
        (GenerateFunctionCallString):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::constructorCallback):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetter):
        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
        (WebCore::TestObjV8Internal::withScriptStateVoidCallback):
        (WebCore::TestObjV8Internal::withScriptStateObjCallback):
        (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
        (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateCallback):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
        (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
        (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
        (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgCallback):
        (WebCore::TestObjV8Internal::overloadedMethod5Callback):
        (WebCore::V8TestObj::constructorCallback):

2012-05-20  George Staikos  <staikos@webkit.org>

        [BlackBerry] Implement the Screen functions to get DPI.
        https://bugs.webkit.org/show_bug.cgi?id=86967

        Reviewed by Antonio Gomes.

        * platform/blackberry/PlatformScreenBlackBerry.cpp:
        (WebCore::screenHorizontalDPI):
        (WebCore::screenVerticalDPI):

2012-05-20  Shinya Kawanaka  <shinyak@chromium.org>

        [Refactoring] Node::shadowHost() and Node::setShadowHost() can be moved to ShadowRoot.
        https://bugs.webkit.org/show_bug.cgi?id=86585

        Reviewed by Hajime Morita.

        Since Node::shadowHost() and Node::setShadowHost() are valid only if Node is ShadowRoot,
        they should be moved to ShadowRoot.

        However, Node::setParent cannot be called from ShadowRoot, we add Node::setParentOrHostNode
        to call it as Node::parentOrHostNode() calls Node::parent(). Node::setParent() is now private.
        We also add SVGElementInstance::setParentOrHostNode() to share ContainerNodeAlgorithm.

        No new tests, no change in behavior.

        * dom/Attr.cpp:
        (WebCore::Attr::createTextChild):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBeforeCommon):
        (WebCore::ContainerNode::removeBetween):
        (WebCore::ContainerNode::removeChildren):
        * dom/ContainerNodeAlgorithms.h:
        (WebCore::appendChildToContainer):
        (WebCore::Private::addChildNodesToDeletionQueue):
        * dom/ElementShadow.cpp:
        (WebCore::validateShadowRoot):
        (WebCore::ElementShadow::addShadowRoot):
        (WebCore::ElementShadow::removeAllShadowRoots):
        * dom/EventDispatcher.cpp:
        (WebCore::eventTargetRespectingSVGTargetRules):
        (WebCore::EventDispatcher::ensureEventAncestors):
        (WebCore::EventDispatcher::determineDispatchBehavior):
        * dom/EventDispatcher.h:
        (WebCore):
        (EventDispatcher):
        * dom/Node.cpp:
        (WebCore::Node::parentOrHostElement):
        * dom/Node.h:
        (Node):
        (WebCore::Node::setParentOrHostNode):
        (WebCore):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        * dom/ShadowRoot.h:
        (WebCore::ShadowRoot::host):
        (WebCore):
        (WebCore::ShadowRoot::setHost):
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::focusedNode):
        * html/shadow/ContentSelectorQuery.cpp:
        (WebCore::ContentSelectorQuery::matches):
        * page/DragController.cpp:
        (WebCore::asFileInput):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::instanceAssociatedWithShadowTreeElement):
        (WebCore::EventHandler::dispatchMouseEvent):
        * page/FocusController.cpp:
        (WebCore::FocusScope::owner):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::hasLineIfEmpty):
        * svg/SVGElementInstance.h:
        (WebCore::SVGElementInstance::setParentOrHostNode):
        (SVGElementInstance):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::title):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGShadowText::willRecalcTextStyle):

2012-05-20  Joe Thomas  <joethomas@motorola.com>

        Unsupported commands should have queryCommandValue() = "", not false
        https://bugs.webkit.org/show_bug.cgi?id=86964

        Reviewed by Ryosuke Niwa.

        queryCommandValue for unsupported commands should return empty string.
        The specification related to this can be located at http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#methods-to-query-and-execute-commands

        Test: editing/execCommand/queryCommandValue-unsupported-commands.html

        * dom/Document.idl:

2012-05-20  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::setJSTestInterfaceSupplementalStr2):
        (WebCore::setJSTestInterfaceSupplementalStr3):
        (WebCore::setJSTestInterfaceSupplementalNode):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::setJSTestObjShortAttr):
        (WebCore::setJSTestObjUnsignedShortAttr):
        (WebCore::setJSTestObjIntAttr):
        (WebCore::setJSTestObjLongLongAttr):
        (WebCore::setJSTestObjUnsignedLongLongAttr):
        (WebCore::setJSTestObjStringAttr):
        (WebCore::setJSTestObjTestObjAttr):
        (WebCore::setJSTestObjSequenceAttr):
        (WebCore::setJSTestObjIntSequenceAttr):
        (WebCore::setJSTestObjShortSequenceAttr):
        (WebCore::setJSTestObjLongSequenceAttr):
        (WebCore::setJSTestObjLongLongSequenceAttr):
        (WebCore::setJSTestObjUnsignedIntSequenceAttr):
        (WebCore::setJSTestObjUnsignedShortSequenceAttr):
        (WebCore::setJSTestObjUnsignedLongSequenceAttr):
        (WebCore::setJSTestObjUnsignedLongLongSequenceAttr):
        (WebCore::setJSTestObjFloatSequenceAttr):
        (WebCore::setJSTestObjDoubleSequenceAttr):
        (WebCore::setJSTestObjBooleanSequenceAttr):
        (WebCore::setJSTestObjVoidSequenceAttr):
        (WebCore::setJSTestObjDateSequenceAttr):
        (WebCore::setJSTestObjXMLObjAttr):
        (WebCore::setJSTestObjCreate):
        (WebCore::setJSTestObjReflectedStringAttr):
        (WebCore::setJSTestObjReflectedIntegralAttr):
        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
        (WebCore::setJSTestObjReflectedBooleanAttr):
        (WebCore::setJSTestObjReflectedURLAttr):
        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
        (WebCore::setJSTestObjReflectedCustomURLAttr):
        (WebCore::setJSTestObjAttrWithGetterException):
        (WebCore::setJSTestObjAttrWithSetterException):
        (WebCore::setJSTestObjStringAttrWithGetterException):
        (WebCore::setJSTestObjStringAttrWithSetterException):
        (WebCore::setJSTestObjCustomAttr):
        (WebCore::setJSTestObjWithScriptStateAttribute):
        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::setJSTestObjConditionalAttr1):
        (WebCore::setJSTestObjConditionalAttr2):
        (WebCore::setJSTestObjConditionalAttr3):
        (WebCore::setJSTestObjConditionalAttr4Constructor):
        (WebCore::setJSTestObjConditionalAttr5Constructor):
        (WebCore::setJSTestObjConditionalAttr6Constructor):
        (WebCore::setJSTestObjMutablePoint):
        (WebCore::setJSTestObjImmutablePoint):
        (WebCore::setJSTestObjStrawberry):
        (WebCore::setJSTestObjStrictFloat):
        (WebCore::setJSTestObjId):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):

2012-05-20  George Staikos  <staikos@webkit.org>

        Use reinterpret_cast_ptr<> to fix an alignment warning.
        https://bugs.webkit.org/show_bug.cgi?id=80790

        Reviewed by Rob Buis.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::error_exit):

2012-05-20  Takashi Sakamoto  <tasak@google.com>

        Needs style recalculation by changing applyAuthorStyles dynamically
        https://bugs.webkit.org/show_bug.cgi?id=84251

        Modifying setApplyAuthorStyles to invoke owner()'s
        setNeedsRedistributing if applyAuthorStyles changes.

        Reviewed by Hajime Morita.

        No new tests. Adding new tests to existing
        fast/dom/shadow/shadow-root-applyAuthorStyles.html to test this
        feature.

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::setApplyAuthorStyles):
        If applyAuthorStyles changes, invoke owner's setNeedsRedistributing to
        recalculate styles of the shadow root's child elements.

2012-05-20  Philip Rogers  <pdr@google.com>

        Accumulate SVG animations into first contributing element
        https://bugs.webkit.org/show_bug.cgi?id=86385

        Reviewed by Nikolas Zimmermann.

        Previously we were accumulating animations into the first animation element when
        there were multiple animations for a single element. This crashed if the first
        animation ended first because the first animation was prematurely cleaned up.
        This change accumulates animations into the first _contributing_ animation element.

        Tests: svg/animations/multiple-animations-ending.html
               svg/animations/svg-two-animate-elements-crash-expected.svg
               svg/animations/svg-two-animate-elements-crash.svg

        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::updateAnimations):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::progress):

2012-05-20  Philip Rogers  <pdr@google.com>

        Fix hit testing on non-scaling strokes
        https://bugs.webkit.org/show_bug.cgi?id=82628

        Reviewed by Nikolas Zimmermann.

        This change fixes hit testing on non-scaling strokes. It contains fixes for 3 bugs:
        1) RenderSVGRect::shapeDependentStrokeContains was not falling back to shape-based hit testing.
        2) m_strokeAndMarkerBoundingBox did not account for non-scaling strokes.
        3) RenderSVGShape::shapeDependentStrokeContains did not have any support for non-scaling strokes.

        This change also contains some refactoring/cleanup of the non-scale-stroke codepaths.

        Test: svg/hittest/svg-shapes-non-scale-stroke.html

        * rendering/svg/RenderSVGEllipse.cpp:
        (WebCore::RenderSVGEllipse::createShape):
        * rendering/svg/RenderSVGRect.cpp:
        (WebCore::RenderSVGRect::createShape):
        (WebCore::RenderSVGRect::shapeDependentStrokeContains):
        * rendering/svg/RenderSVGShape.cpp:
        (WebCore::RenderSVGShape::shapeDependentStrokeContains):
        (WebCore::RenderSVGShape::shapeDependentFillContains):
        (WebCore::RenderSVGShape::nonScalingStrokePath):
        (WebCore):
        (WebCore::RenderSVGShape::setupNonScalingStrokeContext):
        (WebCore::RenderSVGShape::nonScalingStrokeTransform):
        (WebCore::RenderSVGShape::strokePath):
        (WebCore::RenderSVGShape::fillAndStrokePath):
        (WebCore::RenderSVGShape::updateCachedBoundaries):
        (WebCore::RenderSVGShape::inflateWithStrokeAndMarkerBounds):
        * rendering/svg/RenderSVGShape.h:
        (WebCore::RenderSVGShape::hasNonScalingStroke):
        (RenderSVGShape):

2012-05-19  Emil A Eklund  <eae@chromium.org>

        Simplify RenderOverflow by using Rects
        https://bugs.webkit.org/show_bug.cgi?id=86894

        Reviewed by Eric Seidel.

        Simplify the RenderOverflow class and the uses of it by storing the
        overflow values in rects and using the rects instead of the individual
        values where it makes sense.

        No new tests, no change in functionality.

        * page/FrameView.cpp:
        (WebCore::FrameView::adjustPageHeightDeprecated):
        Change to use layoutOverflowRect().maxX() and replace C style casts with
        C++ style to comply with style guide.
        
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
        (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
        (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
        (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
        (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
        (WebCore::InlineFlowBox::logicalRightVisualOverflow):
        (WebCore::InlineFlowBox::logicalTopVisualOverflow):
        (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
        Change methods to use layoutOverflowRect() and visualOverflowRect().
        
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):
        Change methods to use visualOverflowRect().
        
        (WebCore::RenderBox::clearLayoutOverflow):
        Use setLayoutOverflow instead of resetLayoutOverflow (which has been
        removed as it did exactly the same thing as the set method).
        
        * rendering/RenderBox.h:
        (WebCore::RenderBox::maxLayoutOverflow):
        (WebCore::RenderBox::logicalLeftLayoutOverflow):
        (WebCore::RenderBox::logicalRightLayoutOverflow):
        (WebCore::RenderBox::logicalLeftVisualOverflow):
        (WebCore::RenderBox::logicalRightVisualOverflow):
        Remove minYLayoutOverflow, maxYLayoutOverflow, minXLayoutOverflow and
        maxXLayoutOverflow and update the remaining methods to use
        layoutOverflowRect().
        
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::computePosition):
        Change to use layoutOverflowRect().
        
        * rendering/RenderOverflow.h:
        (WebCore::RenderOverflow::RenderOverflow):
        (WebCore::RenderOverflow::layoutOverflowRect):
        (WebCore::RenderOverflow::visualOverflowRect):
        (RenderOverflow):
        (WebCore::RenderOverflow::setMinYLayoutOverflow):
        (WebCore::RenderOverflow::setMaxYLayoutOverflow):
        (WebCore::RenderOverflow::setMinXLayoutOverflow):
        (WebCore::RenderOverflow::setMaxXLayoutOverflow):
        (WebCore::RenderOverflow::setMinYVisualOverflow):
        (WebCore::RenderOverflow::setMaxYVisualOverflow):
        (WebCore::RenderOverflow::setMinXVisualOverflow):
        (WebCore::RenderOverflow::setMaxXVisualOverflow):
        (WebCore):
        (WebCore::RenderOverflow::move):
        (WebCore::RenderOverflow::addLayoutOverflow):
        (WebCore::RenderOverflow::addVisualOverflow):
        (WebCore::RenderOverflow::setLayoutOverflow):
        (WebCore::RenderOverflow::setVisualOverflow):
        Change RenderOverflow to use two rects instead of two sets of four
        values. Remove [min|max][Layout|Visual]Overflow getters and change the
        layoutOverflowRect and visualOverflowRect methods to return the rects.
        
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        Change to use visualOverflowRect().
        
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        Change to use visualOverflowRect().
        
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
        Change to use visualOverflowRect().
        
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeLayers):
        Change to use layoutOverflowRect().

2012-05-19  Rob Buis  <rbuis@rim.com>

        Remove bbox caching from SVGPathElement
        https://bugs.webkit.org/show_bug.cgi?id=86233

        Reviewed by Nikolas Zimmermann.

        Remove caching of path bounding box, since SVGLocatable::getBBox is not used much at all.
        This saves 200k of memory for worldcup.svg on 64-bit machine.

        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        (WebCore::SVGPathElement::svgAttributeChanged):
        (WebCore::SVGPathElement::pathSegListChanged):
        (WebCore::SVGPathElement::getBBox):
        * svg/SVGPathElement.h:
        (SVGPathElement):

2012-05-19  Andy Estes  <aestes@apple.com>

        Fix build errors found when disabling ENABLE_DRAG_SUPPORT
        https://bugs.webkit.org/show_bug.cgi?id=86947

        Reviewed by Jon Honeycutt.

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        * platform/mac/ClipboardMac.mm:
        (WebCore):

2012-05-19  Joe Thomas  <joethomas@motorola.com>

        The order of CSS properties is wrong in background shorthand
        https://bugs.webkit.org/show_bug.cgi?id=86152

        Reviewed by Ryosuke Niwa.

        Corrected the order of properties returned in StylePropertySet::getPropertyValue for background shorthand property to match the specification  
        http://www.w3.org/TR/css3-background/#background.

        * css/StylePropertyShorthand.cpp:
        (WebCore::backgroundShorthand):

2012-05-19  Ryosuke Niwa  <rniwa@webkit.org>

        Touch Internals.* in an attempt to fix Windows builds after r117646.

        * testing/Internals.cpp:
        * testing/Internals.h:
        * testing/Internals.idl:

2012-05-18  Ryosuke Niwa  <rniwa@webkit.org>

        WebKit erroneously add 1px padding in input elements
        https://bugs.webkit.org/show_bug.cgi?id=86784

        Reviewed by Kent Tamura.

        Fixed the bug by removing the code that added left and right paddings in input elements.
        The code was added in r13567 to match a very old version of Internet Explorer but this quirk
        does not seem to exists in IE9 (both in quirks and standard modes).

        A lot of tests need to be rebaselined due to 1px difference inside input elements, and 2px
        differences for the width of input elements. (In some extreme cases, line breaking changed
        due to the width change).

        Test: fast/forms/input-textarea-padding-match.html

        * css/html.css:
        (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):

2012-05-18  Adrienne Walker  <enne@google.com>

        [chromium] Add diagnostic CRASH calls for tiler crashes
        https://bugs.webkit.org/show_bug.cgi?id=86930

        Reviewed by James Robinson.

        These lines would normally crash on their own due to null pointers,
        but having an explicit CRASH call will help us differentiate what the
        real problem might be in the crash report.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::createTile):
        (WebCore::TiledLayerChromium::updateTiles):

2012-05-18  Aaron Colwell  <acolwell@chromium.org>

        Update Media Source implementation to reflect changes in 0.5 spec.
        https://bugs.webkit.org/show_bug.cgi?id=83607

        Reviewed by Darin Fisher.

        Tests: http/tests/media/media-source/video-media-source-event-attributes.html
               http/tests/media/media-source/webm/video-media-source-abort.html
               http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html

        * html/HTMLAttributeNames.in: Add onwebkitsourcexxx event attribute names.
        * html/HTMLMediaElement.cpp: 
        (WebCore::HTMLMediaElement::parseAttribute): Add code to register event listeners for the onwebkitsourcexxx attributes.
        (WebCore::HTMLMediaElement::pauseInternal):
        (WebCore):
        (WebCore::HTMLMediaElement::webkitSourceAddId): Changed code to pass the parsed type & codecs to m_player instead of the whole MIME-type string. This was done to allow some simple parsing & validation code to be shared in WebKit instead of reimplemented in every port.
        (WebCore::HTMLMediaElement::webkitSourceBuffered): New method in the v0.5 spec. It validates the parameters & that it is being called in the correct state. If so it forwards the call to m_player.
        (WebCore::HTMLMediaElement::webkitSourceAppend): Adds id parameter to match v0.5 signature. Minor logic changes that avoid calling m_player for 0 byte arrays and fixes exceptions reported for a null array and a parse error so they match the spec text.
        (WebCore::HTMLMediaElement::webkitSourceAbort): New method in the v0.5 spec. It validates the parameter & that it is being called in athe correct state. If so it forwards the call to m_player.
        * html/HTMLMediaElement.h:
        (HTMLMediaElement): Added new methods, signature updates, and onwebitsourcexxx event listener attributes.
        * html/HTMLMediaElement.idl: Added new methods, signature updates, and onwebitsourcexxx event listener attributes.
        * platform/ContentType.cpp:
        (WebCore::ContentType::codecs): A new method that parses the codecs parameter into a vector of codec strings.
        (WebCore):
        * platform/ContentType.h: 
        (ContentType):
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::sourceAddId): Update the signature to take the parsed type and codecs vector.
        (WebCore::NullMediaPlayerPrivate::sourceBuffered): Add default implementation for this new method.
        (WebCore::NullMediaPlayerPrivate::sourceRemoveId): Remove id parameter name to match other methods.
        (WebCore::NullMediaPlayerPrivate::sourceAppend): Updated signature to include id parameter.
        (WebCore::NullMediaPlayerPrivate::sourceAbort): Add default implementation for this new method.
        (WebCore::NullMediaPlayerPrivate::sourceEndOfStream): Remove parameter name to match other methods.
        (WebCore::MediaPlayer::sourceAddId): Update the signature to take the parsed type and codecs vector.
        (WebCore):
        (WebCore::MediaPlayer::sourceBuffered): Add implementation for new method that forwards the call to the MediaPlayerPrivate interface.
        (WebCore::MediaPlayer::sourceAppend): Update method to forward the new id parameter in the signature.
        (WebCore::MediaPlayer::sourceAbort): Add implementation for new method that forwards the call to the MediaPlayerPrivate interface.
        * platform/graphics/MediaPlayer.h: Update interface to include new methods and updated signatures.
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::sourceAddId): Update the signature to take the parsed type and codecs vector.
        (WebCore::MediaPlayerPrivateInterface::sourceBuffered): Add default implementation for new method.
        (WebCore::MediaPlayerPrivateInterface::sourceAppend): Update method to forward the new id parameter in the signature.
        (WebCore::MediaPlayerPrivateInterface::sourceAbort): Add default implementation for new method.

2012-05-18  Levi Weintraub  <leviw@chromium.org>

        Revert to float method of selection rect alignment for line box tree
        https://bugs.webkit.org/show_bug.cgi?id=86904

        Reviewed by Eric Seidel.

        In r117491, we introduced a new method of alignment for the selection rect in the sub-pixel case.
        It turns out there is at least one case on Mac where this leaves a gap when painting selection rects
        originating in the line box tree. This patch reverts us to the float method for the line box tree,
        but retains the LayoutRect snapping for gap rects.

        No new tests. Covered by existing tests with sub-pixel layout enabled.

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paintSelection): Re-enabling the FloatRect flavor of
        alignSelectionRectToDevicePixels for the line box tree.
        * rendering/InlineTextBox.cpp:
        (WebCore::alignSelectionRectToDevicePixels): Moving LayoutRect flavor to RenderBlock.
        (WebCore::InlineTextBox::paintSelection): Happily clearing up the bifurcation of algorithms for
        sub-pixel layout.
        * rendering/InlineTextBox.h: Re-enabling the FloatRect flavor of alignSelectionRectToDevicePixels
        for the line box tree.
        * rendering/RenderBlock.cpp:
        (WebCore::alignSelectionRectToDevicePixels): Re-seating the LayoutRect version of
        alignSelectionRectToDevicePixels for use with GapRects.

2012-05-18  Eric Seidel  <eric@webkit.org>

        Assertion failure in BidiResolver::commitExplicitEmbedding() (!inIsolate() || m_currentExplicitEmbeddingSequence.isEmpty()) at wikipedia.org
        https://bugs.webkit.org/show_bug.cgi?id=76574

        Reviewed by Levi Weintraub.

        Consider this example:
        <span style="unicode-bidi: embed"><span style="unicode-bidi: isolate">a</span></span>
        Before this patch, we would ASSERT when computing the text runs, as we would have encountered
        the "embed LTR" directive from the outer span, but not try to "commit" this embedding until
        we encountered the first charater (an optimization to avoid creating unnecessary bidi embedding contexts).
        The ASSERT we were hitting was to ensure that embedding directives inside an isolated span
        did not bleed out and effect the surrounding text.

        bidi "isolate" support uses a multi-pass Unicode Bidi Algorithm (UBA), which when encountering
        "isolated" sections of text ignores them in the first pass, and then goes back and runs
        a separate instance of the UBA on those isolated sections.

        Once we scan into an "isolate" section (during an outer UBA application) we should not respect
        any embedding directives inside that "isolate" section.

        However, in the above example, our "don't commit embeddings until we need them" and
        "assert we don't respect embeddings inside isolated spans" were conflicting.
        The fix is to make sure we always commit any pending embedding directives *before*
        we enter an isolate section.

        Luckly there was no functional bug here as we were still respecting
        the embedding directives we were belatedly committing. After this change we're commiting
        those directives at a more appropriate time, thus avoiding the ASSERT.

        Test: fast/text/bidi-isolate-embedding-crash.html

        * platform/text/BidiResolver.h:
        (WebCore::::commitExplicitEmbedding):
        * rendering/InlineIterator.h:
        (WebCore::notifyObserverEnteredObject):
        (WebCore::IsolateTracker::commitExplicitEmbedding):

2012-05-18  Pratik Solanki  <psolanki@apple.com>

        BitmapImage::BitmapImage(CGImageRef, ImageObserver*) needs to set m_sizeRespectingOrientation
        https://bugs.webkit.org/show_bug.cgi?id=86915

        Reviewed by Oliver Hunt.

        Set m_sizeRespectingOrientation to be the same as m_size. Otherwise it stays at 0x0 since
        this constructor also sets m_haveSize to true for the BitmapImage.

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::BitmapImage):

2012-05-18  Dan Bernstein  <mitz@apple.com>

        Build fix after r117607.

        * platform/mac/WebCoreNSCellExtras.m:

2012-05-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Fix remaining uses of JSValue::toBoolean()
        https://bugs.webkit.org/show_bug.cgi?id=86912

        Reviewed by Filip Pizlo.

        And unbreak Qt build.

        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
        (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::setJSTestObjCreate):
        (WebCore::setJSTestObjReflectedBooleanAttr):
        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):
        * bridge/qt/qt_runtime_qt4.cpp:
        (JSC::Bindings::convertValueToQVariant):

2012-04-27  Filip Pizlo  <fpizlo@apple.com>

        DFG should have control flow graph simplification
        https://bugs.webkit.org/show_bug.cgi?id=84553

        Reviewed by Oliver Hunt.

        Merged r115512 from dfgopt.

        JSValue::toBoolean(ExecState*) -> JSValue::toBoolean()
        
        No new tests, because no new behavior.

        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        (WebCore::JSSQLStatementErrorCallback::handleEvent):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::addEventListener):
        (WebCore::JSDOMWindow::removeEventListener):
        * bindings/js/JSDataViewCustom.cpp:
        (WebCore::getDataViewMember):
        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
        * bindings/js/JSDeviceOrientationEventCustom.cpp:
        (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
        * bindings/js/JSDictionary.cpp:
        (WebCore::JSDictionary::convertValue):
        * bindings/js/JSDirectoryEntryCustom.cpp:
        (WebCore::JSDirectoryEntry::getFile):
        (WebCore::JSDirectoryEntry::getDirectory):
        * bindings/js/JSDirectoryEntrySyncCustom.cpp:
        (WebCore::getFlags):
        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::JSInspectorFrontendHost::showContextMenu):
        * bindings/js/JSMessageEventCustom.cpp:
        (WebCore::handleInitMessageEvent):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::dataFunctionMatrix):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::hasBreakpoint):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateEventListenerCall):
        (GenerateImplementation):
        (JSValueToNative):
        * bridge/c/c_utility.cpp:
        (JSC::Bindings::convertValueToNPVariant):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::convertValueToJObject):

2012-05-18  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] add back-face visibility check for renderSurfaces
        https://bugs.webkit.org/show_bug.cgi?id=86870

        Reviewed by Adrienne Walker.

        Test added CCLayerTreeHostCommonTest::verifyBackFaceCullingWithPreserves3dForFlatteningSurface

        Chromium was not checking back-face visibility for renderSurfaces
        that needed it. This patch adds that check and the appropriate
        unit test.

        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::layerIsInExisting3DRenderingContext):
        (WebCore):
        (WebCore::subtreeShouldRenderToSeparateSurface):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):

2012-05-18  Levi Weintraub  <leviw@chromium.org>

        Standalone table-columns should be wrapped in anonymous tables
        https://bugs.webkit.org/show_bug.cgi?id=86671

        Reviewed by Julien Chaffraix.

        The CSS2 spec specifies that table-columns misparented outside of a table or
        table-column-group should be wrapped in an anonymous table. Updating 
        RenderObject::addChild to follow the spec.
        see http://www.w3.org/TR/CSS2/tables.html#anonymous-boxes for details.

        Tests: fast/table/table-column-generates-anonymous-table.html
               fast/table/table-column-group-generates-anonymous-table.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild):

2012-05-18  Keyar Hood  <keyar@chromium.org>

        Support imageSmoothingEnabled
        https://bugs.webkit.org/show_bug.cgi?id=82804

        Reviewed by Stephen White.

        Test: fast/canvas/canvas-imageSmoothingEnabled.html

        Added the imageSmoothingEnabled parameter to the
        CanvasRenderingContext2D object. When it is set to false, it sets
        InterpolationQuality to InterpolationNone. When set to true, it sets
        the InterpolationQuality to DefaultInterpolationQuality (as that is the
        only other value used).

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        (WebCore::CanvasRenderingContext2D::webkitImageSmoothingEnabled):
        (WebCore):
        (WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):
        * html/canvas/CanvasRenderingContext2D.h:
        (CanvasRenderingContext2D):
        * html/canvas/CanvasRenderingContext2D.idl:

2012-05-18  Terry Anderson  <tdanderson@chromium.org>

        Percentage height replaced elements sometimes cause overflow of table contents
        https://bugs.webkit.org/show_bug.cgi?id=85581

        Reviewed by Eric Seidel.

        Test: fast/replaced/table-replaced-element.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
        This change guarantees that the containing block of a replaced element with percentage
        height will be marked as having a percentage height descendant.

2012-05-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        [Qt] REGRESSION(r117501): It made almost all tests assert in debug mode
        https://bugs.webkit.org/show_bug.cgi?id=86854

        Reviewed by Andreas Kling.

        Initialize boolean flag in constructor and recheck the flag which can be 
        modified by another thread under mutex.

        No new tests, fixes regression that caused layout test crash.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::syncThreadMainLoop):

2012-05-18  Christophe Dumez  <christophe.dumez@intel.com>

        [EFL] Web Intents code is not compiling
        https://bugs.webkit.org/show_bug.cgi?id=85364

        Reviewed by Adam Barth.

        Add missing implementation for
        JSIntentConstructor::constructJSIntent() in JS bindings.

        * CMakeLists.txt:
        * UseJSC.cmake:
        * bindings/js/JSIntentConstructor.cpp: Added.
        (WebCore):
        (WebCore::JSIntentConstructor::constructJSIntent):

2012-05-18  Joe Thomas  <joethomas@motorola.com>

        background-size specified by a single value in background shorthand fails to parse.
        https://bugs.webkit.org/show_bug.cgi?id=86739

        Reviewed by Tony Chang.

        While parsing the background shorthand property, if the second parsedValue is not a valid unit,
        parseFillSize should return the first parsedValue instead of failing.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFillSize):

2012-05-18  Tony Chang  <tony@chromium.org>

        remove the CSS_GRID_LAYOUT compiler define, but default grid layout to off
        https://bugs.webkit.org/show_bug.cgi?id=86767

        Reviewed by Ojan Vafai.

        We disable grid by ignoring the display type at CSS parse time.

        Test: fast/css-grid-layout/grid-disabled-by-default.html

        * Configurations/FeatureDefines.xcconfig:
        * css/CSSComputedStyleDeclaration.cpp: Remove compile checks.
        (WebCore):
        (WebCore::valueForGridPosition):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParserContext::CSSParserContext):
        (WebCore::operator==):
        (WebCore::isValidKeywordPropertyAndValue): Move display into parseValue.
        (WebCore::isKeywordPropertyID):
        (WebCore::CSSParser::parseValue): Ignore while parsing if not enabled.
        (WebCore::CSSParser::parseGridTrackList):
        (WebCore::CSSParser::cssGridLayoutEnabled):
        (WebCore):
        * css/CSSParser.h:
        * css/CSSParserMode.h:
        (CSSParserContext):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSValueKeywords.in:
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * dom/Document.cpp:
        (WebCore::Document::cssGridLayoutEnabled): Added to keep track of whether grid is enabled or not.
        (WebCore):
        * dom/Document.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setCSSGridLayoutEnabled): Added.
        (WebCore::Settings::cssGridLayoutEnabled): Added.
        (Settings):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleGridData.cpp:
        * rendering/style/StyleGridData.h:
        * rendering/style/StyleGridItemData.cpp:
        * rendering/style/StyleGridItemData.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:
        (WebCore):
        (StyleRareNonInheritedData):

2012-05-18  Martin Robinson  <mrobinson@igalia.com>

        OOM running webgl/sdk/tests/conformance/context/context-creation-and-destruction.html
        https://bugs.webkit.org/show_bug.cgi?id=80509

        Reviewed by Alejandro G. Castro.

        No new tests. This is covered by by context-creation-and-destruction.html
        Khronos conformance test which will be part of the WebKit repository once
        bug 44310 is closed.

        Rework the ownership of GLContexts. Instead of having them managed by the
        state of window mapping or removed by calling a static method, always have
        them owned by the callers. This makes all GLContext creators factory methods
        that return PassOwnPtr.

        This change also switches the sharing context for a WebView from the window
        context to a global shared context. This simplifies things greatly, allowing
        the removal of GLContextGtk and makes the factory change easier.

        * GNUmakefile.list.am: Remove GLContextGtk.cpp from the source list.
        * platform/graphics/cairo/GLContext.cpp:
        (WebCore::GLContext::sharingContext): Added, getter for the global sharing context.
        (WebCore::GLContext::createContextForWindow): Added, a factory method for creating
        window contexts.
        (WebCore::GLContext::createOffscreenContext): Allow passing a sharing context here.
        (WebCore::GLContext::makeContextCurrent): Assert that this is the main thread, to
        increase the guarantee that we are only using these contexts on the main thread.
        (WebCore::GLContext::getCurrent): Ditto.
        * platform/graphics/cairo/GLContext.h: Update the above method signatures and remove
        createOffscreenContext, which has just been subsumed into the other factory methods.
        * platform/graphics/cairo/GraphicsContext3DCairo.cpp: The HostWindow is no longer needed
        to get the sharing context, so we can simplify things quite a bit and make a platform
        independent implementation here.
        * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Ditto.
        * platform/graphics/glx/GLContextGLX.cpp: Modify all the factory methods to return PassOwnPtr.
        * platform/graphics/glx/GLContextGLX.h: Ditto.
        * platform/graphics/gtk/GLContextGtk.cpp: Removed.

2012-05-18  Pablo Flouret  <pablof@motorola.com>

        Script elements inserted while fragment parsing should have their "already started" flag set.
        https://bugs.webkit.org/show_bug.cgi?id=86376

        Reviewed by Ryosuke Niwa.

        Step 3 of:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#scriptTag

        Test: fast/parser/script-already-started-flag-in-fragment-parsing-mode.html

        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::create):
        * html/HTMLScriptElement.h:
        (HTMLScriptElement):
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertScriptElement):

2012-05-18  Shezan Baig  <shezbaig.wk@gmail.com>

        Expose FrameSelection::absoluteCaretBounds via window.internals
        https://bugs.webkit.org/show_bug.cgi?id=86390

        Reviewed by Ryosuke Niwa.

        Add 'absoluteCaretBounds' method to Internals, which returns the
        FrameSelection::absoluteCaretBounds.

        Test: editing/selection/internal-caret-rect.html

        * WebCore.exp.in: Export the necessary symbols.
        * testing/Internals.cpp:
        (WebCore::Internals::absoluteCaretBounds): Implementation of new method.
        (WebCore):
        * testing/Internals.h: Declare the new method.
        (Internals):
        * testing/Internals.idl: Declare the new method.

2012-05-18  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/11467250> No focus ring around popup buttons

        Reviewed by Anders Carlsson.

        The exact same issue was fixed for buttons drawn in ThemeMac.mm in <rdar://problem/10542095>.
        This change extends the fix to also cover buttons drawn in RenderThemeMac.mm.

        * WebCore.xcodeproj/project.pbxproj: Added WebCoreNSCellExtras.{h.m}.
        * platform/mac/ThemeMac.mm: Removed the definitions of BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING
        and -[NSCell _web_drawFocusRingWithFrame:inView:] from here. They are now in WebCoreNSCellExtras.
        * platform/mac/WebCoreNSCellExtras.h: Added.
        * platform/mac/WebCoreNSCellExtras.m: Added.
        (-[NSCell _web_drawFocusRingWithFrame:inView:]): Moved from ThemeMac.mm here.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuList): Changed to use -_web_drawFocusRingWithFrame:inView:.
        (WebCore::RenderThemeMac::setPopupButtonCellState): Removed call to updateFocusedState() when
        the focus ring is drawn separately.

2012-05-18  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] Fix early return of the mimeTypeCache function after r117207.

        Rubber-stamped by Martin Robinson.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Set
        typeListInitialized to true after the cache has been filled so
        that next call to the function goes through the early return path.

2012-05-18  Martin Robinson  <mrobinson@igalia.com>

        Get IndexedDB closer to building for GTK+.

        Reviewed by Philippe Normand.

        No new tests. This is only a build fix.

        * GNUmakefile.am: Add the appropriate option to enable LevelDB support.
        * GNUmakefile.list.am: Add missing indexed database files to the source list.

2012-05-18  Dan Bernstein  <mitz@apple.com>

        Removed stale references in the Xcode project after r117369.

        * WebCore.xcodeproj/project.pbxproj: Removed references to CSSStyleDeclaration.cpp.

2012-05-18  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add resource to UISourceCode constructor.
        https://bugs.webkit.org/show_bug.cgi?id=86853

        Reviewed by Pavel Feldman.

        This is a first step of merging resource revision support into UISourceCode.

        * inspector/front-end/CompilerScriptMapping.js:
        * inspector/front-end/DebuggerResourceBinding.js:
        (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
        (WebInspector.DebuggerResourceBinding.setScriptSource):
        * inspector/front-end/DebuggerScriptMapping.js:
        (WebInspector.DebuggerScriptMapping.prototype._debuggerReset):
        * inspector/front-end/JavaScriptSource.js:
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createUISourceCode):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.addScript):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.isAnonymousScript):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
        (WebInspector.SnippetJavaScriptSource):
        * inspector/front-end/StylesPanel.js:
        (WebInspector.StyleSource):
        (WebInspector.StyleSourceFrame):
        (WebInspector.StyleSourceFrame.prototype.commitEditing):
        (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
        (WebInspector.StyleSourceFrame.prototype._contentChanged):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):
        (WebInspector.UISourceCode.prototype.resource):

2012-05-18  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: error when expanding an HTMLAllCollection object in the console
        https://bugs.webkit.org/show_bug.cgi?id=86741

        Reviewed by Pavel Feldman.

        RuntimeAgent.callFunctionOn should work correcly with arguments of type HTMLAllCollection.

        * inspector/InjectedScriptSource.js:

2012-05-18  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: resource revision content is not rendered properly. Resource content is shown instead.
        https://bugs.webkit.org/show_bug.cgi?id=86856

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceRevisionSourceFrame):
        (WebInspector.ResourceRevisionSourceFrame.prototype.get resource):

2012-05-18  Yi Shen  <yi.4.shen@nokia.com>

        REGRESSION (r102553): Smart links do not work
        https://bugs.webkit.org/show_bug.cgi?id=85463

        Reviewed by NOBODY Ryosuke Niwa.

        To fix the regression of smart links, we need to check TextCheckingTypeLink option in
        Editor::markAndReplaceFor().

        Test: editing/inserting/typing-space-to-trigger-smart-link.html

        * editing/Editor.cpp:
        (WebCore::Editor::markAndReplaceFor):

2012-05-18  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: empty CSS Declaration is generated by clicking the left space of 'user agent stylesheet' on Styles sidebar of Elements panel
        https://bugs.webkit.org/show_bug.cgi?id=86850

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick):

2012-05-18  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Remove console.error() call committed by mistake.

        * inspector/front-end/View.js:
        (WebInspector.View._assert):

2012-05-18  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: live edit resets cursor to 0,0
        https://bugs.webkit.org/show_bug.cgi?id=86851

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/DebuggerResourceBinding.js:
        (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
        (WebInspector.DebuggerResourceBinding.setScriptSource):

2012-05-18  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: exception in console when pressing % button in CPU profile view
        https://bugs.webkit.org/show_bug.cgi?id=86849

        Reviewed by Pavel Feldman.

        Use root node to get children, not DataGrid object.

        * inspector/front-end/CPUProfileView.js:
        (WebInspector.CPUProfileView.prototype.refreshVisibleData):

2012-05-18  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: remove unnecessary indirection from profile types
        https://bugs.webkit.org/show_bug.cgi?id=86845

        Reviewed by Pavel Feldman.

        Introduced CSSProfileHeader and CPUProfileHeader, moved view creation from
        the type to corresponding profile headers. Removed some inderection and
        private fields assigned in random places. Added type annotations.

        * inspector/front-end/CPUProfileView.js:
        (WebInspector.CPUProfileType.prototype.createTemporaryProfile):
        (WebInspector.CPUProfileType.prototype.createProfile):
        (WebInspector.CPUProfileHeader):
        (WebInspector.CPUProfileHeader.prototype.createSidebarTreeElement):
        (WebInspector.CPUProfileHeader.prototype.createView):
        * inspector/front-end/CSSSelectorProfileView.js:
        (WebInspector.CSSSelectorProfileType.prototype.stopRecordingProfile):
        (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
        (WebInspector.CSSSelectorProfileType.prototype.createProfile):
        (WebInspector.CSSProfileHeader):
        (WebInspector.CSSProfileHeader.prototype.createSidebarTreeElement):
        (WebInspector.CSSProfileHeader.prototype.createView):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile):
        (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
        (WebInspector.HeapProfileHeader):
        (WebInspector.HeapProfileHeader.prototype.createSidebarTreeElement):
        (WebInspector.HeapProfileHeader.prototype.createView):
        (WebInspector.HeapProfileHeader.prototype.load):
        (WebInspector.HeapProfileHeader.prototype.saveToFile):
        * inspector/front-end/ProfileLauncherView.js:
        (WebInspector.ProfileLauncherView):
        (WebInspector.ProfileLauncherView.prototype.addProfileType):
        (WebInspector.ProfileLauncherView.prototype._profileTypeChanged):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileType):
        (WebInspector.ProfileHeader):
        (WebInspector.ProfileHeader.prototype.profileType):
        (WebInspector.ProfileHeader.prototype.createSidebarTreeElement):
        (WebInspector.ProfileHeader.prototype.existingView):
        (WebInspector.ProfileHeader.prototype.view):
        (WebInspector.ProfileHeader.prototype.createView):
        (WebInspector.ProfilesPanel.prototype._reset):
        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
        (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
        (WebInspector.ProfilesPanel.prototype.showProfile):
        (WebInspector.ProfilesPanel.prototype.getProfiles):
        (WebInspector.ProfilesPanel.prototype.findTemporaryProfile):
        (WebInspector.ProfilesPanel.prototype._searchableViews):
        * inspector/front-end/View.js:
        (WebInspector.View._assert):

2012-05-18  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Remove V8Proxy::throwError(const char*, ErrorType, v8::Isolate*=0)
        https://bugs.webkit.org/show_bug.cgi?id=86802

        Reviewed by Adam Barth.

        As commented here (https://bugs.webkit.org/show_bug.cgi?id=84074#c5),
        I am refactoring a series of confusing throwError()s. This would be
        the final patch for the refactoring.

        This patch removes V8Proxy::throwError(const char*, ErrorType, v8::Isolate*=0).
        Also this patch refactors up a couple of throwError()s that I've forgot to
        refactor in the previous patches.

        No tests. No change in behavior.

        * bindings/v8/V8NodeFilterCondition.cpp:
        (WebCore::V8NodeFilterCondition::acceptNode):
        * bindings/v8/V8Proxy.h:
        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
        (WebCore::V8ArrayBuffer::constructorCallback):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArray):
        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
        (WebCore::V8SQLResultSetRowList::itemCallback):

2012-05-18  MORITA Hajime <morrita@google.com>

        Unreviewed attempt to fix build breakage on r117572

        * editing/Editor.cpp:
        (WebCore::Editor::willDetachPage):

2012-05-18  MORITA Hajime  <morrita@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=85515
        Stale frame in WebCore::SpellChecker::didCheckSucceeded

        Reviewed by Ryosuke Niwa.

        Added EditorClient::frameWillDetachPage() notification to give a
        change to invalidate pending spellcheck requests on the client.

        Test: editing/spelling/spellcheck-async-remove-frame.html

        * editing/Editor.cpp:
        (WebCore::Editor::Editor):
        * editing/Editor.h:
        (Editor):
        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::frameWillDetachPage):
        * page/EditorClient.h:
        (EditorClient):

2012-05-18  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: add ContentProvider::contentType and use it when rendering navigator tree.
        https://bugs.webkit.org/show_bug.cgi?id=86833

        Reviewed by Vsevolod Vlasov.

        Added ContentProvider::contentType, regactored NavigatorView to use the icon defined by the content type.

        * inspector/front-end/CompilerScriptMapping.js:
        * inspector/front-end/ContentProvider.js:
        (WebInspector.ContentProvider.prototype.contentType):
        * inspector/front-end/ContentProviders.js:
        (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentType):
        (WebInspector.CompilerSourceMappingContentProvider):
        (WebInspector.CompilerSourceMappingContentProvider.prototype.contentType):
        (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
        (WebInspector.StaticContentProvider):
        (WebInspector.StaticContentProvider.prototype.contentType):
        (WebInspector.StaticContentProvider.prototype.requestContent):
        * inspector/front-end/NavigatorView.js:
        (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
        (WebInspector.NavigatorSourceTreeElement):
        * inspector/front-end/NetworkRequest.js:
        (WebInspector.NetworkRequest.prototype.contentType):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.contentType):
        (WebInspector.Resource.prototype.canonicalMimeType):
        (WebInspector.ResourceRevision.prototype.contentType):
        * inspector/front-end/ResourceType.js:
        (WebInspector.ResourceType.prototype.toString):
        (WebInspector.ResourceType.prototype.canonicalMimeType):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.contentType):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.SnippetContentProvider):
        * inspector/front-end/StylesPanel.js:
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.contentType):
        * inspector/front-end/navigatorView.css:
        (.navigator-stylesheet-tree-item .icon):
        (.navigator-document-tree-item .icon):

2012-05-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r117556.
        http://trac.webkit.org/changeset/117556
        https://bugs.webkit.org/show_bug.cgi?id=86825

        Wrong fix. IE still adds 1px padding. We're missing that in
        textarea (Requested by rniwa on #webkit).

        * css/html.css:
        (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):

2012-05-17  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: remove File abstraction from the AdvancedSearchController, migrate it to UISourceCode.
        https://bugs.webkit.org/show_bug.cgi?id=86809

        Reviewed by Yury Semikhatsky.

        This change migrates AdvancedSearchController from "Object" to "UISourceCode".
        I don't see why we need this abstraction and as a side effect, it makes search
        across scripts work for styles.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.SearchResult):
        (WebInspector.FileBasedSearchResultsPane.prototype._createAnchor):
        (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
        (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
        (WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
        (WebInspector.FileBasedSearchResultsPane.SearchResult):
        * inspector/front-end/ScriptsSearchScope.js:
        (WebInspector.ScriptsSearchScope.prototype.createSearchResultsPane):
        * inspector/front-end/inspector.js:
        (WebInspector._registerShortcuts):

2012-05-17  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: add an option to show last N hidden children of node in heap profiler
        https://bugs.webkit.org/show_bug.cgi?id=86757

        Reviewed by Pavel Feldman.

        Renamed "Show next N" to "Show N before" and added "Show N after" button. Also
        when all 3 buttons would have equal effect there is now only "Show all N" button.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ShowMoreDataGridNode.js:
        (WebInspector.ShowMoreDataGridNode):
        (WebInspector.ShowMoreDataGridNode.prototype._showLastChunk):
        (WebInspector.ShowMoreDataGridNode.prototype._updateLabels):
        (WebInspector.ShowMoreDataGridNode.prototype.createCells):

2012-05-17  Ryosuke Niwa  <rniwa@webkit.org>

        WebKit erroneously add 1px padding in input elements
        https://bugs.webkit.org/show_bug.cgi?id=86784

        Reviewed by Kent Tamura.

        Fixed the bug by removing the code that added left and right paddings in input elements.
        The code was added in r13567 to match a very old version of Internet Explorer but this quirk
        does not seem to exists in IE9 (both in quirks and standard modes).

        A lot of tests need to be rebaselined due to 1px difference inside input elements, and 2px
        differences for the width of input elements. (In some extreme cases, line breaking changed
        due to the width change).

        Test: fast/forms/input-textarea-padding-match.html

        * css/html.css:
        (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):

2012-05-18  Zalan Bujtas  <zbujtas@gmail.com>

        [Qt] Gesture tap highlighter needs to take overflow clip into account.
        https://bugs.webkit.org/show_bug.cgi?id=84989

        Reviewed by Kenneth Rohde Christiansen.

        Apply overflow clip on the focus ring if needed.

        Follow up patches are needed to address the following cases.

        [Qt] Gesture tap highlighter should take parent iframe's transform into account.
        https://bugs.webkit.org/show_bug.cgi?id=86645

        [Qt] Gesture tap highlighter needs to take frame clipping into account.
        https://bugs.webkit.org/show_bug.cgi?id=86646

        [Qt] Gesture tap highlighter's overflow clip is not always correct when
        nested enclosing containers have transforms.
        https://bugs.webkit.org/show_bug.cgi?id=86641

        Manual test: ManualTests/qt/tap-highlighting-overflow-hidden.html

        * page/GestureTapHighlighter.cpp:
        (WebCore::GestureTapHighlighter::pathForNodeHighlight):

2012-05-17  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] KURL::fileSystemPath() should strip the query of the uri
        https://bugs.webkit.org/show_bug.cgi?id=86721

        Reviewed by Martin Robinson.

        * platform/gtk/KURLGtk.cpp:
        (WebCore::KURL::fileSystemPath): Use the already parsed path to
        create the GFile instead of the whole URL string. The parsed path
        doesn't include neither the fragment (#) nor the query (?) parts.

2012-05-17  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Remove V8Proxy::deletionNotHandledByInterceptor()
        https://bugs.webkit.org/show_bug.cgi?id=86803

        Reviewed by Dimitri Glazkov.

        V8Proxy::deletionNotHandledByInterceptor() is used by V8StorageCustom.cpp
        only, just in order to return v8::Handle<v8::Boolean>(). In such cases,
        other custom bindings are hard-coding 'return v8::Handle<v8::Boolean>()'.
        Thus we can hard-code 'return v8::Handle<v8::Boolean>()' in V8StorageCustom.cpp
        too, and remove V8Proxy::deletionNotHandledByInterceptor().

        No tests. No change in behavior.

        * bindings/v8/V8Proxy.h:
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::storageDeleter):

2012-05-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: speed-up markQueriableHeapObjects function.
        https://bugs.webkit.org/show_bug.cgi?id=86732

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._flagsOfNode):
        (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
        (WebInspector.HeapSnapshot.prototype._calculateFlags):

2012-05-15  Kinuko Yasuda  <kinuko@chromium.org>

        Some Spelling Mistakes Result in Compile Errors with ENABLE(FILE_SYSTEM) in LocalFileSystem.cpp
        https://bugs.webkit.org/show_bug.cgi?id=86103

        Reviewed by Rob Buis.

        Added build fixes and some (limited) common implementation for non-chromium ports.

        No new tests as this should have no functionality changes.

        * Modules/filesystem/DOMFileSystemBase.cpp:
        (WebCore::DOMFileSystemBase::isValidType): Added common implementation for non-chromium ports.
        (WebCore::DOMFileSystemBase::crackFileSystemURL): Ditto.
        (WebCore::DOMFileSystemBase::supportsToURL): Ditto.
        (WebCore::DOMFileSystemBase::createFileSystemURL): Ditto.
        * Modules/filesystem/LocalFileSystem.cpp:
        (WebCore::LocalFileSystem::readFileSystem): Fixed.
        (WebCore::LocalFileSystem::requestFileSystem): Fixed.
        * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
        (WebCore::AsyncFileSystem::openFileSystem): Fixed.
        * platform/gtk/AsyncFileSystemGtk.cpp:
        (WebCore::AsyncFileSystem::openFileSystem): Fixed.

2012-05-17  Wei James  <james.wei@intel.com>

        AudioBufferSourceNode and MediaElementAudioSourceNode should support multi-channel > stereo
        https://bugs.webkit.org/show_bug.cgi?id=75119

        Reviewed by Chris Rogers.

        As multiple channel support in AudioBus and other places is already
        implemented, the check can be removed here.  

        * Modules/webaudio/MediaElementAudioSourceNode.cpp:
        (WebCore::MediaElementAudioSourceNode::setFormat):

2012-05-17  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/11419933> Problems with flipped writing modes and compositing
        https://bugs.webkit.org/show_bug.cgi?id=86032

        Reviewed by Anders Carlsson.

        Test: compositing/bounds-in-flipped-writing-mode.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateLayerBounds): Apply a writing-mode flip to the bounding box
        if needed.

2012-05-17  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Remove V8Proxy::throwError(const char*, v8::Isolate* = 0)
        https://bugs.webkit.org/show_bug.cgi?id=86794

        Reviewed by Adam Barth.

        As commented here (https://bugs.webkit.org/show_bug.cgi?id=84074#c5),
        I am refactoring a series of confusing throwError()s.
        This patch removes V8Proxy::throwError(const char*, v8::Isolate* = 0).

        No tests. No change in behavior.

        * bindings/v8/V8Utilities.cpp:
        (WebCore::extractTransferables):
        (WebCore::getMessagePortArray):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArrayWithArrayBufferArgument):
        (WebCore::constructWebGLArray):
        * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
        (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        (WebCore::V8Clipboard::setDragImageCallback):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::openCallback):
        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
        (WebCore::V8HTMLInputElement::selectionStartAccessorGetter):
        (WebCore::V8HTMLInputElement::selectionStartAccessorSetter):
        (WebCore::V8HTMLInputElement::selectionEndAccessorGetter):
        (WebCore::V8HTMLInputElement::selectionEndAccessorSetter):
        (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter):
        (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter):
        (WebCore::V8HTMLInputElement::setSelectionRangeCallback):
        * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
        (WebCore::V8HTMLMediaElement::controllerAccessorSetter):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::inspectedObjectCallback):

2012-05-17  Dana Jansens  <danakj@chromium.org>

        [chromium] Scale all compositor output by the defaultDeviceScaleFactor
        https://bugs.webkit.org/show_bug.cgi?id=86051

        Reviewed by James Robinson.

        On initialization, give the defaultDeviceScaleFactor to the compositor
        to have it scale all output from WebCore's layout size to physical
        pixels. This allows us to scale up to high-dpi devices without using
        fixed-layout, so we can leave the WebCore frame size in layout pixels,
        while drawing the frame into a larger physical pixel size.

        CCLayerTreeHost becomes aware of the deviceScaleFactor and scales all
        output by this factor by scaling the viewport and all drawing
        transforms.

        Anything that works in physical pixels (content space), uses the
        deviceViewportSize() in place of the viewportSize(), since when
        deviceScaleFactor != 1 in CCLayerTreeHost, the WebCore viewport
        is no longer physical pixels.

        Scroll positions are in layout pixels, and must be scaled to/from
        content space within the compositor.

        Unit tests: CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers

        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromiumClient):
        (WebCore::LayerRendererChromium::viewportSize):
        (WebCore::LayerRendererChromium::viewportWidth):
        (WebCore::LayerRendererChromium::viewportHeight):
        (LayerRendererChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initializeLayerRenderer):
        (WebCore::CCLayerTreeHost::setViewportSize):
        (WebCore::CCLayerTreeHost::updateLayers):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        (CCSettings):
        (CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::deviceViewportSize):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::setViewportSize):
        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
        (WebCore::CCLayerTreeHostImpl::scrollBegin):
        (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore::CCLayerTreeHostImpl::viewportSize):
        (CCLayerTreeHostImpl):

2012-05-17  Hayato Ito  <hayato@chromium.org>

        [Shadow DOM] Add an assertion to make sure a visited node is not an active insertion point.
        https://bugs.webkit.org/show_bug.cgi?id=86708

        Reviewed by Eric Seidel.

        Since InsertionPoint now has isActive() member function,
        we can add an assertion to ComposedShadowTreeWalker::assertPrecondition()
        using that function.

        No new tests, no change in behavior.

        * dom/ComposedShadowTreeWalker.h:
        (WebCore::ComposedShadowTreeWalker::assertPrecondition):

2012-05-17  Ami Fischman  <fischman@chromium.org>

        [Chromium] Store HTTP version in WebURLResponse
        https://bugs.webkit.org/show_bug.cgi?id=86522

        Reviewed by Adam Barth.

        No new tests; this isn't exposed to the web platform.

        * platform/chromium/support/WebURLResponse.cpp:
        (WebKit::WebURLResponse::httpVersion):
        (WebKit):
        (WebKit::WebURLResponse::setHTTPVersion):
        * platform/network/chromium/ResourceResponse.h:
        (ResourceResponse):
        (WebCore::ResourceResponse::ResourceResponse):
        (WebCore::ResourceResponse::httpVersion):
        (WebCore::ResourceResponse::setHTTPVersion):

2012-05-17  Levi Weintraub  <leviw@chromium.org>

        Floor y coordinate in Chromium's GraphicsContext::drawLineForText to avoid anti-aliasing
        https://bugs.webkit.org/show_bug.cgi?id=86775

        Reviewed by Eric Seidel.

        Despite operating in floats, we always want to draw lines for text aligned to pixel boundaries.
        There are similar functions to do this in other platforms, but to get proper results, we only
        need to floor the y value, as we always draw these lines horizontally.

        No tests. No change in behavior prior to sub-pixel change.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawLineForText):

2012-05-17  Michael Moss  <mmoss@chromium.org>

        Linux amd64 platform reported as i686
        https://bugs.webkit.org/show_bug.cgi?id=86778
        http://code.google.com/p/chromium/issues/detail?id=128167

        Remove the old hard-coded gyp define and allow the more recent (but
        still quite old) code in Source/WebCore/page/NavigatorBase.cpp to take
        precedence and detect this at runtime.

        Reviewed by Tony Chang.

        No new tests because it's hardware dependent.

        * WebCore.gyp/WebCore.gyp:

2012-05-17  Vangelis Kokkevis  <vangelis@chromium.org>

        [chromium] Expose layer tiling size options to WebSettings.
        https://bugs.webkit.org/show_bug.cgi?id=86425

        Removing hardcoded tile size and max untiled layer size from TiledLayerChromium
        and instead have the values passed in via the LTH CCSettings. This will allow
        different compositor instances to adjust tiling parameters as needed and makes
        it possible to set the values via command line arguments.

        Reviewed by Adrienne Walker.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::TiledLayerChromium):
        (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
        Made some additional adjustments to the single-tile heuristic
        to make it work better with arbitrary sizes while still avoiding
        to create unreasonably large layers.
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initializeLayerRenderer):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        (CCSettings):

2012-05-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>

        Memory leak in NetworkInfoClient
        https://bugs.webkit.org/show_bug.cgi?id=86603

        Reviewed by Adam Barth.

        Fix a memory leak in NetworkInfoClient by using OwnPtr and
        change the class not to inherite from RefCounted.

        * Modules/networkinfo/NetworkInfoClient.h:

2012-05-17  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Remove IDBIndex.storeName
        https://bugs.webkit.org/show_bug.cgi?id=86676

        Reviewed by Tony Chang.

        Older versions of the IDB spec exposed IDBIndex.storeName. While it's been removed
        from the IDL, the additional storage/plumbing are unnecessary clutter. Nuke it!

        No new tests - no functional changes.

        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl): Remove storeName parameter, and
        const declaration on object store param. The former was used to get a non-const pointer
        via indirection in openCursorInternal.
        (WebCore::IDBIndexBackendImpl::openCursorInternal): Use store pointer directly, don't
        look it up by name in the transaction.
        * Modules/indexeddb/IDBIndexBackendImpl.h:
        (WebCore::IDBIndexBackendImpl::create): Remove storeName parameters.
        (IDBIndexBackendImpl): Remove storeName() method.
        * Modules/indexeddb/IDBIndexBackendInterface.h:
        (IDBIndexBackendInterface): Remove storeName parameter.
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::createIndex): Remove storeName parameter.
        (WebCore::IDBObjectStoreBackendImpl::loadIndexes): Remove storeName parameter.

2012-05-17  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Implement IDBObjectStore.autoIncrement
        https://bugs.webkit.org/show_bug.cgi?id=86662

        Reviewed by Dimitri Glazkov.

        Simple boolean accessor defined in the IDB spec, which reflects the
        object store's internal autoIncrement flag.

        Test: storage/indexeddb/objectstore-basics.html

        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::autoIncrement): Forward call to back end.
        (WebCore):
        * Modules/indexeddb/IDBObjectStore.h: Expose attribute as method.
        (IDBObjectStore):
        * Modules/indexeddb/IDBObjectStore.idl: Define the attribute.
        * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Expose in interface.
        (IDBObjectStoreBackendInterface):

2012-05-17  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Remove throwError("message", XXXError) from CodeGeneratorV8.pm
        https://bugs.webkit.org/show_bug.cgi?id=86744

        Reviewed by Adam Barth.

        As commented in https://bugs.webkit.org/show_bug.cgi?id=84074#c5,
        I am refactoring a series of confusing throwError()s.

        This patch removes throwError("message", XXXError) in CodeGeneratorV8.pm
        and replaces it with throwTypeError("message") or throwError(XXXError, "message").

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateParametersCheck):
        (GenerateConstructorCallback):
        (GenerateEventConstructorCallback):
        (GenerateNamedConstructorCallback):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::constructorCallback):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::constructorCallback):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestNode.cpp:
        (WebCore::V8TestNode::constructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::optionsObjectCallback):
        (WebCore::V8TestObj::constructorCallback):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
        (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

2012-05-17  Gregg Tavares  <gman@google.com>

        Add more descriptive warnings for framebuffer incomplete conditions
        https://bugs.webkit.org/show_bug.cgi?id=86774

        Reviewed by Kenneth Russell.

        No new tests as there is no new functionality

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::checkStatus):
        (WebCore::WebGLFramebuffer::onAccess):
        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
        * html/canvas/WebGLFramebuffer.h:
        (WebGLFramebuffer):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
        (WebCore::WebGLRenderingContext::clear):
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::drawArrays):
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::printGLWarningToConsole):
        * html/canvas/WebGLRenderingContext.h:

2012-05-17  Oliver Hunt  <oliver@apple.com>

        Endeavour to make the windows test bot actually able to run tests.
        https://bugs.webkit.org/show_bug.cgi?id=86772

        Reviewed by Sam Weinig.

        Use WEBKIT_EXPORT to get correct export behaviour on windows, rather than
        relying on the .def files.

        * bindings/js/JSDOMGlobalObject.h:
        (JSDOMGlobalObject):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):

2012-05-17  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=86266
        r112643/r116697 break Webview form input fields
        -and corresponding-
        <rdar://problem/11400430>

        Reviewed by Dan Bernstein.

        There is a recent history of changes in this are that seem worth documenting. 
        First was the change to switch to using NSTextFieldCell to draw text fields: 
        http://trac.webkit.org/changeset/104240

        That led to problems because of the clear background that I thought at the time 
        were specific to MountainLion. To fix that, I made this change:
        http://trac.webkit.org/changeset/110480

        But that change resulted in styled text fields getting an un-themed border, which 
        led to this change on the branch: http://trac.webkit.org/changeset/112643 and a 
        change on TOT that was identical for Lion and SnowLeopard but introduced new 
        behavior for MountainLion: http://trac.webkit.org/changeset/116697

        And that brings us to this bug, where it turns out the clear background is a 
        problem on Lion and SnowLeopard too. This patch fixes the bug by using the 
        original WebCoreSystemInterface function to paint all text fields on Lion and 
        SnowLeopard that are styled. This is what we used to paint all text fields before 
        r104240, which is the first change listed above. Un-styled text fields will still 
        use NSTextFieldCell on these platforms, but with a hardcoded white background. 
        * rendering/RenderThemeMac.h:
        (RenderThemeMac):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintTextField):
        (WebCore::RenderThemeMac::textField):

2012-05-15  Andreas Kling  <kling@webkit.org>

        IconDatabase: Move icon retain/release off of the main thread.
        <http://webkit.org/b/85799>
        <rdar://problem/9507113>

        Reviewed by Brady Eidson.

        Batch up the retain/release operations and execute them as part of the sync thread loop.
        The batch execution is guarded by a new mutex (m_urlsToRetainOrReleaseLock.)
        This avoids blocking the main thread on m_urlAndIconLock for basic retain/release.

        There is one exception; if there are pending retain/release operations in synchronousIconForPageURL,
        it will acquire the lock and flush the operations.

        There should be no behavior change, this is only meant to reduce lock contention.

        * loader/icon/PageURLRecord.h:
        (WebCore::PageURLRecord::retain):
        (WebCore::PageURLRecord::release):

            Added a 'count' argument to these so we can batch up the operations in IconDatabase.

        * loader/icon/IconDatabase.h:
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::performScheduleOrDeferSyncTimer):
        (WebCore::IconDatabase::performScheduleOrDeferSyncTimerOnMainThread):
        (WebCore::IconDatabase::scheduleOrDeferSyncTimer):

            Perform the the timer scheduling on the main thread as it can be done on a different
            thread by way of retainIconForPageURL or releaseIconForPageURL.

        (WebCore::IconDatabase::synchronousIconForPageURL):
        (WebCore::IconDatabase::retainIconForPageURL):
        (WebCore::IconDatabase::performRetainIconForPageURL):
        (WebCore::IconDatabase::releaseIconForPageURL):
        (WebCore::IconDatabase::performReleaseIconForPageURL):
        (WebCore::IconDatabase::retainedPageURLCount):
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::performURLImport):
        (WebCore::IconDatabase::syncThreadMainLoop):
        (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):

2012-05-17  Julien Chaffraix  <jchaffraix@webkit.org>

        Kill RenderLayer::relativePositionOffset(LayoutUnit& relX, LayoutUnit& relY) and cleanup RenderInline::clippedOverflowRectForRepaint
        https://bugs.webkit.org/show_bug.cgi?id=86551

        Reviewed by Abhishek Arya.

        No test since there is no expected change in behavior.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        Changed the function to use LayoutRect arithmetics instead of calculating
        top / left manually. While at it, improved the naming, removed some local
        variables and removed an unneeded style() NULL-check.

        * rendering/RenderLayer.h: Removed the function.

2012-05-17  Rob Buis  <rwlbuis@webkit.org>

        [BlackBerry] Fix linking errors
        https://bugs.webkit.org/show_bug.cgi?id=86768

        Reviewed by Antonio Gomes.

        Add some missing stubs so we can link again.

        * platform/blackberry/ContextMenuBlackBerry.cpp:
        (WebCore::ContextMenu::itemCount):
        (WebCore):
        * platform/blackberry/PlatformScreenBlackBerry.cpp:
        (WebCore::screenHorizontalDPI):
        (WebCore):
        (WebCore::screenVerticalDPI):

2012-05-17  Emil A Eklund  <eae@chromium.org>

        Fix rounding in paintSelection
        https://bugs.webkit.org/show_bug.cgi?id=86693

        Reviewed by Eric Seidel.

        Break out rounding logic from InlineTextBox::paintSelection into separate
        function and use it for all the EllipsisBox paintSelection implementation
        and selection gap calculation. This ensures that selections are painted
        without gaps and overlaps once we turn on subpixel layout.

        No new tests, covered by existing tests in editing/selection and
        editing/style.

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paintSelection):
        * rendering/InlineTextBox.cpp:
        (WebCore::alignSelectionRectToDevicePixels):
        (WebCore):
        (WebCore::InlineTextBox::paintSelection):
        * rendering/InlineTextBox.h:
        (WebCore):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::logicalLeftSelectionGap):
        (WebCore::RenderBlock::logicalRightSelectionGap):

2012-05-17  Michal Mocny  <mmocny@google.com>

        [chromium] Limiting render surface texture manager memory to 0 when contentsMemoryUseBytes is large.
        https://bugs.webkit.org/show_bug.cgi?id=86764

        Reviewed by Adrienne Walker.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::beginDrawingFrame):

2012-05-17  Dan Bernstein  <mitz@apple.com>

        In vertical writing modes, pagination may split a line after a block shifts
        https://bugs.webkit.org/show_bug.cgi?id=86763

        Reviewed by Sam Weinig.

        Test: fast/multicol/pageLogicalOffset-vertical.html

        LayoutState::pageLogicalOffset() was returning bogus results in vertical writing modes,
        because it was always using physical heights. Changed it to take a RenderBox and use its
        writing mode to choose between heights and widths.

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::pageLogicalOffset):
        (WebCore::LayoutState::addForcedColumnBreak):
        * rendering/LayoutState.h:
        (LayoutState):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
        (WebCore::RenderBlock::layoutColumns):
        (WebCore::RenderBlock::applyBeforeBreak):
        (WebCore::RenderBlock::applyAfterBreak):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):

2012-05-17  Abhishek Arya  <inferno@chromium.org>

        Move run-in handling to addChild, instead of in layout.
        https://bugs.webkit.org/show_bug.cgi?id=86387

        Reviewed by Julien Chaffraix.

        Tests: fast/runin/insert-before-run-in.html
               fast/runin/run-in-after-run-in.html
               fast/runin/run-in-parent-add-child.html
               fast/runin/run-in-parent-block-child-add-and-intrude.html
               fast/runin/run-in-parent-block-child-add.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): handle run-ins here
        instead of layout. We do run-in handling when we see a new child with run-in display
        or add a new block whose previous sibling is run-in.
        (WebCore::RenderBlock::makeChildrenNonInline): if we will have block children, need
        to move run-in back to its original position.
        (WebCore::RenderBlock::handleSpecialChild): no longer need to handle run-ins during layout.
        (WebCore::destroyRunIn): helper to destroy a block or inline run-in.
        (WebCore):
        (WebCore::RenderBlock::createReplacementRunIn): helper to create the new replacement run-in.
        For moveRunInUnderSiblingBlockIfNeeded, it will be used to create a new inline run-in
        that goes into the next sibling block. For moveRunInToOriginalPosition, it creates a new
        block run-in that goes back to where it came from.
        (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded): almost same as previous
        handleRunInChild function, but with the return type removed. Also, we don't allow
        a run-in to intrude into a block that already has a run-in.
        (WebCore::RenderBlock::moveRunInToOriginalPosition): moves run-in back to where it came from.
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderBox.cpp:
        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderBoxModelObject.cpp: move all moveChild* functions from RenderBox, since
        they can now be used to move children of inlines.
        (WebCore::RenderBoxModelObject::moveChildTo): same.
        (WebCore):
        (WebCore::RenderBoxModelObject::moveChildrenTo): same.
        * rendering/RenderBoxModelObject.h:
        (RenderBoxModelObject):
        (WebCore::RenderBoxModelObject::moveChildTo): same.
        (WebCore::RenderBoxModelObject::moveAllChildrenTo): same.
        (WebCore::RenderBoxModelObject::moveChildrenTo): same.

2012-05-17  Mikhail Naganov  <mnaganov@chromium.org>

        Support Copy ... actions for the Web Inspector remote debugging mode.
        https://bugs.webkit.org/show_bug.cgi?id=86621

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub):
        (.WebInspector.InspectorFrontendHostStub.prototype.documentCopy):
        (.WebInspector.InspectorFrontendHostStub.prototype.copyText):
        (.WebInspector.clipboardAccessDeniedMessage):
        (.WebInspector.ClipboardAccessDeniedScreen):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.documentCopy):
        (WebInspector.documentCopyEventFired):

2012-05-02  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: table-height-algorithm-023 and -024 fail
        https://bugs.webkit.org/show_bug.cgi?id=85405

        Reviewed by Eric Seidel.

        Treat vertical-align: [length] the same as vertical-align: baseline.

        Tests: css2.1/20110323/table-height-algorithm-023.htm
               css2.1/20110323/table-height-algorithm-024.htm
               fast/table/mozilla-bug10296-vertical-align-1.html
               fast/table/mozilla-bug10296-vertical-align-2.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        (WebCore::RenderTableSection::layoutRows):

2012-05-17  Emil A Eklund  <eae@chromium.org>

        Fix rounding in RenderFlowThread::paintIntoRegion
        https://bugs.webkit.org/show_bug.cgi?id=86695

        Reviewed by Eric Seidel.

        Fix rounding of offset in paintIntoRegion to ensure that we paint on
        device pixel boundaries.

        Covered by existing tests in fast/regions.

        * platform/graphics/FractionalLayoutPoint.h:
        (WebCore::roundedIntPoint):
        Add roundedIntPoint(FractionalLayoutSize) function.
        (WebCore):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::paintIntoRegion):

2012-05-17  Andreas Kling  <kling@webkit.org>

        Parser: Avoid unnecessary ref count churn in token constructors.
        <http://webkit.org/b/86667>

        Reviewed by Antti Koivisto.

        Pass AtomicString by const reference to avoid useless ref count churn
        in AtomicHTMLToken() and AtomicXMLToken().

        * html/parser/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        * xml/parser/MarkupTokenBase.h:
        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
        * xml/parser/XMLToken.h:
        (WebCore::AtomicXMLToken::AtomicXMLToken):

2012-05-16  Andreas Kling  <kling@webkit.org>

        Make PluginInfoStore properly thread-safe.
        <http://webkit.org/b/86648>
        <rdar://problem/11451178>

        Reviewed by Darin Adler.

        * plugins/PluginData.h:
        (WebCore::MimeClassInfo::isolatedCopy):
        (WebCore::PluginInfo::isolatedCopy):

2012-05-17  Hironori Bono  <hbono@chromium.org>

        [Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
        https://bugs.webkit.org/show_bug.cgi?id=86591

        Reviewed by Ryosuke Niwa.

        This change adds a TextCheckerClient::shouldEraseMarkersAfterChangeSelection
        function to remove platform-specific code from Editor::respondToChangedSelection
        function.

        No new tests, no change in behavior.

        * editing/Editor.cpp:
        (WebCore::Editor::respondToChangedSelection):
        * loader/EmptyClients.h:
        (WebCore::EmptyTextCheckerClient::shouldEraseMarkersAfterChangeSelection):
        * platform/text/TextCheckerClient.h:
        (TextCheckerClient):

2012-05-11  James Robinson  <jamesr@chromium.org>

        [chromium] Convert GraphicsLayerChromium to use WebLayer types
        https://bugs.webkit.org/show_bug.cgi?id=86269

        Reviewed by Adrienne Walker.

        This converts GraphicsLayerChromium over to use WebLayer and WebContentLayer. The conversion is not completely
        as the Web*Layer APIs are not yet quite complete enough to use everywhere, and the PlatformLayer typedef is not
        changed in this patch. The places where we have to punch out through API layer are marked by
        unwrap<*LayerChromium>() calls and FIXME's in the Web*Layer.h files.  There aren't many.

        Refactor only, existing tests apply.

        * platform/chromium/support/WebTransformationMatrix.cpp:
        (WebKit):
        (WebKit::WebTransformationMatrix::reset):
        (WebKit::WebTransformationMatrix::projectPoint):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
        (WebCore::GraphicsLayerChromium::willBeDestroyed):
        (WebCore::GraphicsLayerChromium::setName):
        (WebCore::GraphicsLayerChromium::updateNames):
        (WebCore::GraphicsLayerChromium::removeFromParent):
        (WebCore::GraphicsLayerChromium::setSize):
        (WebCore::GraphicsLayerChromium::setTransform):
        (WebCore::GraphicsLayerChromium::setBackgroundColor):
        (WebCore::GraphicsLayerChromium::clearBackgroundColor):
        (WebCore::GraphicsLayerChromium::setContentsOpaque):
        (WebCore::GraphicsLayerChromium::setFilters):
        (WebCore::GraphicsLayerChromium::setMaskLayer):
        (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
        (WebCore::GraphicsLayerChromium::setOpacity):
        (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
        (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
        (WebCore::GraphicsLayerChromium::setNeedsDisplay):
        (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
        (WebCore::GraphicsLayerChromium::setContentsToImage):
        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
        (WebCore::GraphicsLayerChromium::addAnimation):
        (WebCore::GraphicsLayerChromium::pauseAnimation):
        (WebCore::GraphicsLayerChromium::removeAnimation):
        (WebCore::GraphicsLayerChromium::suspendAnimations):
        (WebCore::GraphicsLayerChromium::resumeAnimations):
        (WebCore::GraphicsLayerChromium::setContentsToMedia):
        (WebCore::GraphicsLayerChromium::hostLayerForChildren):
        (WebCore::GraphicsLayerChromium::layerForParent):
        (WebCore::GraphicsLayerChromium::platformLayer):
        (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
        (WebCore::GraphicsLayerChromium::setDebugBorder):
        (WebCore::GraphicsLayerChromium::updateChildList):
        (WebCore::GraphicsLayerChromium::updateLayerPosition):
        (WebCore::GraphicsLayerChromium::updateLayerSize):
        (WebCore::GraphicsLayerChromium::updateAnchorPoint):
        (WebCore::GraphicsLayerChromium::updateTransform):
        (WebCore::GraphicsLayerChromium::updateChildrenTransform):
        (WebCore::GraphicsLayerChromium::updateMasksToBounds):
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
        (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
        (WebCore::GraphicsLayerChromium::updateContentsRect):
        (WebCore::GraphicsLayerChromium::updateContentsScale):
        (WebCore::GraphicsLayerChromium::setupContentsLayer):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore::GraphicsLayerChromium::hasContentsLayer):
        (WebCore::GraphicsLayerChromium::contentsLayer):
        (WebCore::GraphicsLayerChromium::primaryLayer):
        (GraphicsLayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):

2012-05-17  Tony Chang  <tony@chromium.org>

        remove bit rotted comment about css properties
        https://bugs.webkit.org/show_bug.cgi?id=86750

        Reviewed by Alexis Menard.

        It's not clear to me what the first block was even referring to.
        Aural doesn't seem to exist anymore. It might be worth keeping,
        "All the CSS properties are not supported by the renderer at the
        moment.", but it seems obvious to me.

        No new tests, just removing a comment.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):

2012-05-17  Adrienne Walker  <enne@google.com>

        Insert source file and line number for v8 function calls into tracing
        https://bugs.webkit.org/show_bug.cgi?id=84613

        Reviewed by Kentaro Hara.

        The trace for v8 function calls doesn't include any information about
        what function is being called. Pass this information along so it can
        be less opaque.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::resourceInfo):
        (WebCore):
        (WebCore::resourceString):
        (WebCore::V8Proxy::instrumentedCallFunction):
        * platform/chromium/TraceEvent.h:
        (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):

2012-05-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        [Qt] REGRESSION(101967): It made editing/style/iframe-onload-crash-mac.html timeout
        https://bugs.webkit.org/show_bug.cgi?id=73802

        Reviewed by Ryosuke Niwa.

        Timeout was caused by an infinite in the outer loop of
        pushDownInlineStyleAroundNode(). The outer loop variable 'current' should point at the
        node containing 'targetNode'. The inner loop traverse the children of 'current'
        and discover the children that contains 'targetNode'.

        However, before the inner loop, we call removeInlineStyleFromElement() that can
        potentially remove the 'current' node from the tree, moving its children to
        'current' former parent. For that reason 'child' and 'lastChild' are collected
        before this call.

        The tricky part is that changing the 'current' children parent, we might trigger
        further side-effects, that can remove either 'child' or 'lastChild' from the tree
        too. The infinite loop was due to 'child' being off the document, so it's
        nextSibling() is 0, and we go another run of outer loop without changing
        'current' because the 'targetNode' wasn't in the first child that inner loop
        couldn't reach.

        When testing Qt on Mac, there was also a crash in RenderTextControl when the font
        family was empty, this patch fixes it as well.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Use NodeVector
        instead of relying on first/last child being valid after
        removeInlineStyleFromElement() is called. Skip the child if it has no parent,
        this is an indication that it was removed from the tree.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::hasValidAvgCharWidth): Empty AtomicStrings aren't
        supported by HashSet, so we have to early return in this case.

2012-05-17  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: implement Go To selector for stylesheet files.
        https://bugs.webkit.org/show_bug.cgi?id=86751

        Reviewed by Yury Semikhatsky.

        StyleSheetOutlineDialog is introduced.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/FilteredItemSelectionDialog.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
        (WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts):
        (WebInspector.ScriptsPanel.prototype._showOutlineDialog):
        * inspector/front-end/StylesPanel.js:
        (WebInspector.StyleSheetOutlineDialog):
        (WebInspector.StyleSheetOutlineDialog.show):
        (WebInspector.StyleSheetOutlineDialog.prototype.itemTitleAt):
        (WebInspector.StyleSheetOutlineDialog.prototype.itemKeyAt):
        (WebInspector.StyleSheetOutlineDialog.prototype.itemsCount):
        (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
        (WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet):
        (WebInspector.StyleSheetOutlineDialog.prototype.selectItem):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer.prototype._generateTabId):
        (WebInspector.TabbedEditorContainer.prototype.currentFile):

2012-05-17  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r117428): WebKit API/SPI was removed
        https://bugs.webkit.org/show_bug.cgi?id=86748

        Reverted r117428.

        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::setMediaPlaybackRequiresUserGesture):
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-05-17  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: create SourceFrames with content providers.
        https://bugs.webkit.org/show_bug.cgi?id=86742

        Reviewed by Vsevolod Vlasov.

        Simple refactoring.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceSourceFrame):
        (WebInspector.ResourceSourceFrame.prototype.get resource):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
        * inspector/front-end/StylesPanel.js:
        (WebInspector.StyleSourceFrame):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.contentURL):

2012-05-17  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: error when expanding an HTMLAllCollection object in the console
        https://bugs.webkit.org/show_bug.cgi?id=86741

        Reviewed by Pavel Feldman.

        Test: inspector/console/inspect-html-all-collection.html

        * inspector/InjectedScriptSource.js: take into account that typeof HTMLAllCollection is "undefined"
        when checking if object resolved by id is valid.

2012-05-17  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed build fix attempt. Changing class to struct in forward declaration.

        * fileapi/File.h:
        (WebCore):

2012-05-17  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: convert styles panel into UISourceCodeProvider in the scripts panel.
        https://bugs.webkit.org/show_bug.cgi?id=86734

        Reviewed by Vsevolod Vlasov.

        This change also makes Scripts render ans Source Code under that experiment.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.get toolbarItemLabel):
        (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/StylesPanel.js:
        (WebInspector.StylesUISourceCodeProvider):
        (WebInspector.StylesUISourceCodeProvider.prototype.uiSourceCodes):
        (WebInspector.StylesUISourceCodeProvider.prototype._initialize):
        (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
        (WebInspector.StylesUISourceCodeProvider.prototype._reset):
        (WebInspector.StyleSource):
        (WebInspector.StyleSourceFrame):
        (WebInspector.StyleSourceFrame.prototype.canEditSource):
        (WebInspector.StyleSourceFrame.prototype.requestContent):
        (WebInspector.StyleSourceFrame.prototype.commitEditing):
        (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
        (WebInspector.StyleSourceFrame.prototype._clearIncrementalUpdateTimer):
        (WebInspector.StyleSourceFrame.prototype._contentChanged):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
        * inspector/front-end/UISourceCode.js:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):

2012-05-17  Antti Koivisto  <antti@apple.com>

        Frame flattening should not expand tiny frames
        https://bugs.webkit.org/show_bug.cgi?id=86736

        Reviewed by Kenneth Rohde Christiansen.
        
        If a frame has so small fixed size that it is not usefully scrollable on desktop it is probably
        not meant to be scrolled. Displaying any otherwise invisible content by expanding the frame
        may end up looking like a rendering error.

        The patch prevents expansion of frames that have fixed width or height less than 8px.

        Test: fast/frames/flattening/iframe-tiny.html

        * rendering/RenderFrameBase.cpp:
        (WebCore::shouldExpandFrame):
        (WebCore):
        (WebCore::RenderFrameBase::layoutWithFlattening):

2012-05-17  Yury Semikhatsky  <yurys@chromium.org>

        [Chromium] Web Inspector: assertion failure when inspecting a shared worker in debug mode
        https://bugs.webkit.org/show_bug.cgi?id=86726

        Reviewed by Pavel Feldman.

        No need to keep RefPtr to WorkerThread in a task that will be executed on
        that thread, raw pointer can be used instead.

        * inspector/WorkerDebuggerAgent.cpp:

2012-05-17  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Support an optional 'message' argument for throwTypeError()
        https://bugs.webkit.org/show_bug.cgi?id=86576

        Reviewed by Adam Barth.

        As commented in https://bugs.webkit.org/show_bug.cgi?id=84074#c5,
        I am planning to refactor a series of confusing throwError()s into
        throwError() and throwTypeError().

        This patch supports an optional 'message' argument for V8Proxy::throwTypeError().
        Also this patch replaces throwError("message", V8Proxy::TypeError) in custom bindings
        with V8Proxy::throwTypeError("message").

        No tests. No change in behavior.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::throwTypeError):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArray):
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        (WebCore::V8AudioContext::constructorCallback):
        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::V8Blob::constructorCallback):
        * bindings/v8/custom/V8DOMFormDataCustom.cpp:
        (WebCore::V8DOMFormData::constructorCallback):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::V8DataView::constructorCallback):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::v8HTMLImageElementConstructorCallback):
        * bindings/v8/custom/V8IntentConstructor.cpp:
        (WebCore::V8Intent::constructorCallback):
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::V8MessageChannel::constructorCallback):
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::requestPermissionCallback):
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::constructorCallback):
        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
        (WebCore::V8WebKitPoint::constructorCallback):
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8WebSocket::constructorCallback):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback):

2012-05-16  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] pages shown in sidebar are limited in height to 150px
        https://bugs.webkit.org/show_bug.cgi?id=86659

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionView):
        (WebInspector.ExtensionSidebarPane.prototype.setPage): set default iframe height to 150px, unless already set by user.
        * inspector/front-end/inspector.css: set extension view and iframe elements to "fill", iframe to 100% height.
        (iframe.extension):

2012-05-17  Sam D  <dsam2912@gmail.com>

        Web Inspector: Hover on a breakpoint in breakpoint-pane does not get differentiated.
        https://bugs.webkit.org/show_bug.cgi?id=86711

        Changed color values with background on hover over breakpoints.

        Reviewed by Yury Semikhatsky.

        UI change, No new tests.

        * inspector/front-end/inspector.css:
        (.breakpoint-list li:hover):

2012-05-17  Vivek Galatage  <vivekgalatage@gmail.com>

        Web Inspector: DOM Breakpoints Pane should allow to Remove All the breakpoints
        https://bugs.webkit.org/show_bug.cgi?id=86716

        Reviewed by Yury Semikhatsky.

        Added a new context menu to provide Remove All DOM breakpoint option.

        UI Feature. Tests not required.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DOMBreakpointsSidebarPane.js:
        (WebInspector.DOMBreakpointsSidebarPane.prototype._removeAllBreakpoints):
        (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu):

2012-05-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapSnapshot: speed-up calculateObjectToWindowDistance
        https://bugs.webkit.org/show_bug.cgi?id=86718

        The idea is to switch from nodeIndex2distance array to nodeOrdinal2distance external array.
        Due to nature of nodeIndex values the original array was sparsed.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get distanceToWindow):
        (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
        (WebInspector.HeapSnapshot.prototype._bfs):
        (WebInspector.HeapSnapshot.prototype._buildAggregates):

2012-05-11  Kinuko Yasuda  <kinuko@chromium.org>

        Allow FileSystem API implementation to pass snapshot metadata at File creation time
        https://bugs.webkit.org/show_bug.cgi?id=78879

        Reviewed by Jian Li.

        We query File metadata (e.g. size and modifiedTime) when File.size,
        lastModifiedTime or webkitSlice() is accessed / called, but in some
        platform-specific filesystems it may not be feasible since synchronous
        metadata query could take very long time.

        This patch adds new File constructor which takes metadata argument
        to allow each FileSystem API implementation to pass snapshot metadata
        so that File object could cache the given metadata not to make
        synchronous query.

        We only call this constructor if the filesystem type is neither
        Temporary nor Persistent, therefore this patch should not affect
        existing code behavior.

        Test: fast/filesystem/file-read-after-write.html

        * Modules/filesystem/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::createFile):
        * Modules/filesystem/DOMFileSystemSync.cpp:
        * fileapi/Blob.cpp:
        (WebCore::Blob::webkitSlice): Updated implementation.
        * fileapi/Blob.h:
        * fileapi/File.cpp:
        (WebCore::File::File): Added new constructor.
        (WebCore::File::lastModifiedDate): Updated implementation.
        (WebCore::File::size): Updated implementation.
        (WebCore::File::captureSnapshot): Updated implementation.
        * fileapi/File.h:
        (WebCore::File::createForFileSystemFile): Added.
        * platform/AsyncFileSystem.h:
        (AsyncFileSystem): Updated comment.

2012-05-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Convert setDomainRelaxationForbiddenForURLScheme to use InternalSettings interface
        https://bugs.webkit.org/show_bug.cgi?id=86704

        Reviewed by Eric Seidel.

        Add setDomainRelaxationForbiddenForURLScheme functions, because it is able to work in the
        cross-port way by means of the InternalSettings interface.

        No new tests, since we are improving here the infra-structure for testing
        a specific method.

        * testing/InternalSettings.cpp:
        (WebCore):
        (WebCore::InternalSettings::setDomainRelaxationForbiddenForURLScheme):
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-05-17  Shinya Kawanaka  <shinyak@chromium.org>

        ShadowRoot.selection should be ShadowRoot.getSelection()
        https://bugs.webkit.org/show_bug.cgi?id=86598

        Reviewed by Hajime Morita.

        In the latest spec, ShadowRoot.selection is changed to ShadowRoot.getSelection().
        So update the implementation.

        * dom/ShadowRoot.cpp:
        * dom/ShadowRoot.h:
        (ShadowRoot):
        * dom/ShadowRoot.idl:

2012-05-17  Shinya Kawanaka  <shinyak@chromium.org>

        [Refactoring] Remove TreeScopeAdjuster
        https://bugs.webkit.org/show_bug.cgi?id=86599

        Reviewed by Hajime Morita.

        It seems the right place of the method of TreeScopeAdjuster are in VisibleSelection
        and TreeScope. So we can remove TreeScopeAdjuster.

        No new tests, no change in behavior.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::ancestorInThisScope):
        (WebCore):
        * dom/TreeScope.h:
        (TreeScope):
        * dom/TreeScopeAdjuster.cpp: Removed.
        * dom/TreeScopeAdjuster.h: Removed.
        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::adjustPositionBefore):
        (WebCore):
        (WebCore::VisibleSelection::adjustPositionAfter):
        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
        * editing/VisibleSelection.h:
        (VisibleSelection):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::shadowAdjustedNode):
        (WebCore::DOMSelection::shadowAdjustedOffset):

2012-05-17  Zoltan Herczeg  <zherczeg@webkit.org>

        NEON intrinsic should be used with arithmetic mode of composite filter
        https://bugs.webkit.org/show_bug.cgi?id=86622

        Reviewed by Nikolas Zimmermann.

        Rewrite hand written assembly code to increase portability and readibility
        of the code. Remove the unnecessary FECompositeArithmeticNEON.cpp from the
        project

        Existing tests cover this issue.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore):
        (WebCore::computeArithmeticPixels):
        (WebCore::arithmeticSoftware):
        (WebCore::FEComposite::platformArithmeticSoftware):
        * platform/graphics/filters/FEComposite.h:
        * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp: Removed.
        * platform/graphics/filters/arm/FECompositeArithmeticNEON.h:
        (WebCore):
        (WebCore::FEComposite::computeArithmeticPixelsNeon):
        (WebCore::FEComposite::platformArithmeticNeon):

2012-05-17  Takashi Sakamoto  <tasak@google.com>

        showNodePath will be useful for debugging purpose.
        https://bugs.webkit.org/show_bug.cgi?id=86450

        This patch implements showNodePath, which outputs node information in
        a xpath-like format, e.g. /HTML/BODY/DIV[@id="test" and position()=0]/P[0]

        Reviewed by Hajime Morita.

        No new tests, just adding debugging interface.

        * dom/Node.cpp:
        (WebCore::Node::showNodePathForThis):
        (WebCore):
        (showNodePath):
        * dom/Node.h:
        (Node):

2012-05-17  Pravin D  <pravind.2k4@gmail.com>

        REGRESSION (r116331): RSS Headlines/links are missing (-webkit-box-flex broken?)
        https://bugs.webkit.org/show_bug.cgi?id=85991

        Fix for regression failures on deprecated flex box test cases. 

        Reviewed by Eric Seidel.

        Test: fast/css/deprecated-flex-box-zero-width-intrinsic-max-width.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computePreferredLogicalWidths):
        Fix to use intrinsic width when the fixed width:0 , for deprecated flex boxes.

2012-05-17  Uday Kiran  <udaykiran@motorola.com>

        CSS3 Multicolumn: Content in normal flow extending into column gaps should be clipped at middle of column-gap
        https://bugs.webkit.org/show_bug.cgi?id=86441

        Reviewed by Eric Seidel.

        Content in the normal flow that extends into column gaps (e.g., long words or images)
        is clipped in the middle of the column gap.
        http://www.w3.org/TR/css3-multicol/#overflow-inside-multicol-elements

        Test: fast/multicol/overflow-into-columngap.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintColumnContents):

2012-05-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r117372.
        http://trac.webkit.org/changeset/117372
        https://bugs.webkit.org/show_bug.cgi?id=86710

        "triggerring crashes" (Requested by morrita on #webkit).

        * Modules/webaudio/AudioParam.cpp:
        (WebCore::AudioParam::calculateSampleAccurateValues):
        (WebCore::AudioParam::calculateAudioRateSignalValues):
        (WebCore::AudioParam::connect):
        (WebCore::AudioParam::disconnect):
        * Modules/webaudio/AudioParam.h:
        (WebCore::AudioParam::context):
        (WebCore::AudioParam::hasSampleAccurateValues):
        (WebCore::AudioParam::AudioParam):
        (AudioParam):

2012-05-16  Hayato Ito  <hayato@chromium.org>

        Implement a Shadow DOM spec's section 6 'Events'.
        https://bugs.webkit.org/show_bug.cgi?id=78586

        Reviewed by Dimitri Glazkov.

        This implements a Shadow DOM spec's section 6 'Events', introducing a new
        algorithm so that event dispatching use a composed shadow DOM tree,
        instead of normal DOM tree, in dispatching events to each node.

        The spec is here: http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#events

        Summary of changes:
        - Attaching shadow DOM does not affect an event dispatching
        behavior of enclosing DOM tree. This applies even if some nodes
        are distributed to insertion points. We keep a compatibility of
        existing event dispatching mechanism so that we won't break Web.
        - Event ancestors, which are used in dispatching events in capture (or
        bubble) phase, are now the result of traversing ancestors in composed
        shadow DOM tree order, instead of normal DOM tree order.
        - Event's target and related-target are correctly adjusted so that
        we don't leak any node which is inaccessible from the event's
        current-target node. We enforce both upper and lower boundary
        encapsulation of Shadow DOM in event dispatching

        Here is an example of event dispatching. Suppose we have the following DOM tree, which
        includes some nested shadow hosts and insertion points
        A
        `--B-----[SR-B]
           |-C     `--G--------------[SR-G]
           | `-D      |-<H select=C>    |--J---------------[SR-J]
           `-E        `-<I select=E>    |  `-<K select=H>    `-<N select=K>
             `-F                        |
                                        `--L---------------[SR-L]
                                           `-<M select=I>    `-<O select=M>

          Notation: [SR-X]: Shadow Root
                    <X select=Y>: Insertion Point, called X, which selects Y.

        If a mouse moves from node '#F' to node '#D', the following
        'mouseover' events are dispatched in each ancestor node:

        [currentTarget] [target] [related-target]
          #D             #D       #F
          #C             #D       #F
          #H             #H       #I
          #K             #K       #M
          #N             #N       #M
          #SR-J          #N       #M
          #J             #K       #M
          #SR-G          #K       #M
          #G             #H       #I
          #SR-B          #H       #I
          #B             #D       #F
          #A             #D       #F

        Details are:
        - Insertion points, such as <content> or <shadow>, are resolved correctly
        in calculating event ancestors. That means if a node is distributed to
        an insertion point, the insertion point is now an ancestor of the node in
        bubbling (or capturing) events.
        - Both insertion points and shadow roots now can receive events. We can add
        event listeners to insertion points and shadow roots.
        - Dispatched event's target is now adjusted correctly using the re-targeting
        algorithm. The algorithm is now fully aware of insertion points.
        - Dispatched event's related-target can now differ in each tree scope of
        event ancestors. We choose the most appropriate related-target using the
        related target resolution algorithm for each node.

        Performance consideration:
        This patch can achieve the competitive performance. The results of
        ./Tools/Scripts/run-perf-tests PerformanceTests/DOM/Events.html for
        before/after this patch are:

        Before applying this patch:
            Running DOM/Events.html (1 of 1)
            RESULT DOM: Events= 270.310714286 ms
            median= 269.75 ms, stdev= 2.0042397663 ms, min= 267.357142857 ms, max= 276.5 ms

        After applying this patch:
            Running DOM/Events.html (1 of 1)
            RESULT DOM: Events= 268.108333333 ms
            median= 267.5 ms, stdev= 2.41883157195 ms, min= 263.625 ms, max= 273.142857143 ms

        I've also conducted a micro benchmark using both
        Shadow-Free-DOM-Tree and DOM-Tree-With-Shadow-Host.
        See https://bugs.webkit.org/show_bug.cgi?id=78586#c40 for the results.
        It seems that the new implementation has more capabilities, but
        doesn't sacrifice a performance of event dispatching in either cases.

        Test: fast/dom/shadow/shadow-dom-event-dispatching.html

        * dom/ComposedShadowTreeWalker.cpp:
        (WebCore::ComposedShadowTreeWalker::parentIncludingInsertionPointAndShadowRoot):
        (WebCore):
        (WebCore::ComposedShadowTreeWalker::traverseParentIncludingInsertionPointAndShadowRoot):
        * dom/ComposedShadowTreeWalker.h:
        (ComposedShadowTreeWalker):
        * dom/EventContext.cpp:
        (WebCore::EventContext::EventContext):
        (WebCore::EventContext::handleLocalEvents):
        * dom/EventContext.h:
        (EventContext):
        (WebCore::EventContext::relatedTarget):
        (WebCore):
        (WebCore::EventContext::setRelatedTarget):
        * dom/EventDispatcher.cpp:
        (WebCore::EventRelatedTargetAdjuster::EventRelatedTargetAdjuster):
        (WebCore):
        (WebCore::EventRelatedTargetAdjuster::adjust):
        (WebCore::EventRelatedTargetAdjuster::findRelatedTarget):
        (WebCore::EventDispatcher::adjustRelatedTarget):
        (WebCore::EventDispatcher::ensureEventAncestors):
        (WebCore::EventDispatcher::dispatchEvent):
        (WebCore::EventDispatcher::determineDispatchBehavior):
        * dom/EventDispatcher.h:
        (WebCore):
        (EventRelatedTargetAdjuster):
        (EventDispatcher):
        * dom/MouseEvent.cpp:
        (WebCore::MouseEventDispatchMediator::dispatchEvent):
        * dom/MouseEvent.h:
        (WebCore::toMouseEvent):
        (WebCore):

2012-05-16  Ryosuke Niwa  <rniwa@webkit.org>

        Moving caret up or down skips lines when there's a non-editable line
        https://bugs.webkit.org/show_bug.cgi?id=81490

        Reviewed by Eric Seidel.

        The bug was caused by previousRootInlineBoxCandidatePosition and nextRootInlineBoxCandidatePosition
        skipping leaf nodes that constitute a new line and belong to the same editable region because block elements
        that separate lines are not editable so it looked as if all editable lines belong to a single line as far as
        those two functions are concerned.

        Fixed the bug by using the first leaf node that belongs to the same editable region but does not belong in
        the same as the start node.

        This patch is based on a patch authored by Yi Shen (Nokia).

        Test: editing/selection/move-between-lines-of-different-editabilities.html

        * editing/visible_units.cpp:
        (WebCore::previousRootInlineBoxCandidatePosition):
        (WebCore::nextRootInlineBoxCandidatePosition):

2012-05-16  MORITA Hajime <morrita@google.com>

        Unreviewed attempt to fix Mac SL build.

        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

2012-05-16  Levi Weintraub  <leviw@chromium.org>

        Use pixelSnappedLogicalHeight for TableSection layout
        https://bugs.webkit.org/show_bug.cgi?id=86665

        Reviewed by Eric Seidel.

        We do table layout using integers to ensure we follow the spec (see
        https://trac.webkit.org/wiki/LayoutUnit for details), but were previously
        flooring the logical height used in layoutRows. This caused us to mis-
        calculate the intrinsic padding and grow cells beyond their proper height.

        No new tests. Fully covered by existing tests with sub-pixel enabled.

        * rendering/RenderBox.h:
        (WebCore::RenderBox::pixelSnappedLogicalHeight): Added these convenience
        methods.
        (WebCore::RenderBox::pixelSnappedLogicalWidth):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):

2012-05-16  Tony Chang  <tony@chromium.org>

        rename display:-webkit-flexbox to display:-webkit-flex
        https://bugs.webkit.org/show_bug.cgi?id=86529

        Reviewed by Eric Seidel.

        Also renames -webkit-inline-flexbox to -webkit-inline-flex.

        No new tests. Covered by existing tests.

        * css/CSSParser.cpp:
        (WebCore::isValidKeywordPropertyAndValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSValueKeywords.in: Update keyword values.
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        * rendering/RenderObject.h:
        (RenderObject):
        * rendering/style/RenderStyleConstants.h: Rename const values.

2012-05-16  Greg Billock  <gbillock@google.com>

        IDL and implementation for Web Intents delivery
        https://bugs.webkit.org/show_bug.cgi?id=83634

        Reviewed by Adam Barth.

        The delivered intent has some extra fields and methods (extras,
        postResult, postFailure) from the invocation intent. It is implemented
        as a subclass. Responses from the service JS are passed to an embedder
        client object provided when the intent is delivered.
        See http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
        Test: webintents/web-intents-delivery.html

        * Modules/intents/DOMWindowIntents.cpp: Copied from Source/WebCore/Modules/intents/DOMWindowIntents.idl.
        (WebCore):
        (WebCore::DOMWindowIntents::DOMWindowIntents):
        (WebCore::DOMWindowIntents::~DOMWindowIntents):
        (WebCore::DOMWindowIntents::from):
        (WebCore::DOMWindowIntents::webkitIntent):
        (WebCore::DOMWindowIntents::deliver):
        * Modules/intents/DOMWindowIntents.h: Copied from Source/WebCore/Modules/intents/DOMWindowIntents.idl.
        (WebCore):
        (DOMWindowIntents):
        * Modules/intents/DOMWindowIntents.idl:
        * Modules/intents/DeliveredIntent.cpp: Copied from Source/WebCore/Modules/intents/Intent.h.
        (WebCore):
        (WebCore::DeliveredIntent::create):
        (WebCore::DeliveredIntent::DeliveredIntent):
        (WebCore::DeliveredIntent::ports):
        (WebCore::DeliveredIntent::getExtra):
        (WebCore::DeliveredIntent::postResult):
        (WebCore::DeliveredIntent::postFailure):
        * Modules/intents/DeliveredIntent.h: Copied from Source/WebCore/Modules/intents/Intent.h.
        (WebCore):
        (DeliveredIntent):
        (WebCore::DeliveredIntent::~DeliveredIntent):
        * Modules/intents/DeliveredIntent.idl: Copied from Source/WebCore/Modules/intents/Intent.h.
        * Modules/intents/Intent.h:
        (WebCore::Intent::~Intent):
        (Intent):
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * bindings/v8/custom/V8DeliveredIntentCustom.cpp: Copied from Source/WebCore/Modules/intents/Intent.h.
        (WebCore):
        (WebCore::V8DeliveredIntent::portsAccessorGetter):

2012-05-16  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Replace throwError("message", XXXError)
        with throwError(XXXError, "message")
        https://bugs.webkit.org/show_bug.cgi?id=86579

        Reviewed by Adam Barth.

        This is one of a series of refactoring commented in
        https://bugs.webkit.org/show_bug.cgi?id=84074#c5

        Currently there are two equivalent throwError()s; i.e. throwError("message", XXXError)
        and throwError(XXXError, "message"). In this bug we replace
        throwError("message", XXXError) with throwError(XXXError, "message")
        (except for the case where XXXError == TypeError. This is because
        throwError("message", TypeError) will be replaced with throwTypeError("message")
        in a follow-up patch).

        No tests. No change in behavior.

        * bindings/v8/V8NPObject.cpp:
        (WebCore::npObjectInvokeImpl):
        (WebCore::npObjectGetProperty):
        (WebCore::npObjectSetProperty):
        (WebCore::npObjectPropertyEnumerator):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::handleMaxRecursionDepthExceeded):
        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
        (WebCore::V8ArrayBuffer::constructorCallback):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArrayWithArrayBufferArgument):
        (WebCore::constructWebGLArray):
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        (WebCore::V8AudioContext::constructorCallback):
        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::V8Blob::constructorCallback):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        (WebCore::V8Clipboard::clearDataCallback):
        (WebCore::V8Clipboard::setDragImageCallback):
        * bindings/v8/custom/V8DOMFormDataCustom.cpp:
        (WebCore::V8DOMFormData::appendCallback):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::v8HTMLImageElementConstructorCallback):
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::constructorCallback):
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8WebSocket::constructorCallback):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback):

2012-05-16  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to remaining toV8()
        https://bugs.webkit.org/show_bug.cgi?id=86570

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to toV8(). I've landed a bunch of
        patches to pass Isolate to toV8(), and this would be the last
        patch for passing Isolate to toV8().

        No tests. No change in behavior.

        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):

2012-05-16  James Robinson  <jamesr@chromium.org>

        GraphicsContext3D interface should not be aware of CanvasRenderingContext
        https://bugs.webkit.org/show_bug.cgi?id=86550

        Reviewed by Darin Adler.

        GraphicsContext3D is a WebCore/platform API construct. CanvasRenderingContext is a WebCore/html concept. Thus,
        the former shouldn't depend on the latter.  In turns out that all everyone ever wants from a
        CanvasRenderingContext in GraphicsContext3D is its underlying ImageBuffer, which is a WebCore/platform concept,
        so this just updates the APIs and implementations to use that instead.

        Refactor only, no new tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/cairo/DrawingBufferCairo.cpp:
        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
        * platform/graphics/clutter/DrawingBufferClutter.cpp:
        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
        * platform/graphics/gpu/DrawingBuffer.h:
        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):

2012-05-16  Joshua Bell  <jsbell@chromium.org>

        SerializedScriptValue: lazy initialization of static nullValue not threadsafe
        https://bugs.webkit.org/show_bug.cgi?id=70833

        Reviewed by Kentaro Hara.

        Remove unsafe lazy initialization of static |null| SSV. None of the callers
        appeared to be in performance-critical areas - most were preparing an event to
        be dispatched to script - so no per-call-site caching was added.

        No new tests - no functional changes.

        * bindings/js/SerializedScriptValue.cpp: Mint a new one each time.
        (WebCore::SerializedScriptValue::nullValue):
        * bindings/js/SerializedScriptValue.h: Return via PassRefPtr.
        * bindings/v8/SerializedScriptValue.cpp: Mint a new one each time.
        (WebCore::SerializedScriptValue::nullValue):
        * bindings/v8/SerializedScriptValue.h: Return via PassRefPtr.
        (SerializedScriptValue):
        * dom/Document.cpp:
        (WebCore::Document::statePopped): Change to PassRefPtr to maintain refcount.
        * dom/Document.h:
        (Document):

2012-05-16  James Robinson  <jamesr@chromium.org>

        CachedImage does not clear the ImageObserver pointer when dropping its Image ref
        https://bugs.webkit.org/show_bug.cgi?id=86689

        Reviewed by Eric Seidel.

        Image instances keep a weak pointer to their ImageObserver, which may be null. CachedImage is an ImageObserver
        and holds a RefPtr<Image> m_image. When CachedImage initializes its m_image to either an SVGImage or BitmapImage,
        it sets itself as that Image's ImageObserver. However, CachedImage never clears the ImageObserver pointer, even
        when dropping its reference to the Image. This means if other code holds a RefPtr<Image> there is no promise
        that calls on that Image will be valid. This patch clears the CachedImage::m_image's ImageObserver pointer
        whenever the CachedImage drops its reference. Image already has null checks for its m_imageObserver so this is
        always a safe operation.

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::~CachedImage):
        (WebCore::CachedImage::clear):

2012-05-16  Kentaro Hara  <haraken@chromium.org>

        [V8] Fix a broken copyright of V8SVGElementCustom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=86569

        Reviewed by Nate Chapin.

        This patch just fixes a broken copyright of V8SVGElementCustom.cpp.

        Blame changeset: r54153

        No tests. No change in behavior.

        * bindings/v8/custom/V8SVGElementCustom.cpp:

2012-05-16  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to convertEventTargetToV8Object()
        https://bugs.webkit.org/show_bug.cgi?id=86566

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to convertEventTargetToV8Object().
        I made the 'isolate' argument optional, since
        convertEventTargetToV8Object() can be called from the WebCore context.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (NativeToJSValue):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore):
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        (V8DOMWrapper):

2012-05-16  Peter Kasting  <pkasting@google.com>

        Correctly display malformed GIFs which specify bogus extension block
        sizes.
        https://bugs.webkit.org/show_bug.cgi?id=86531

        Reviewed by James Robinson.
        
        This was broken by r117333, which was an attempt to avoid memory errors
        on GIFs that were malformed in a similar way.  It turns out some GIFs
        in the wild (i.e. "our LayoutTests directory") relied on some of the
        effects of the old code.  This refixes in a way that doesn't break
        these.

        No new tests, covered by existing tests.

        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::read):

2012-05-16  Chris Rogers  <crogers@google.com>

        AudioParam must support fan-in (multiple audio connections)
        https://bugs.webkit.org/show_bug.cgi?id=83610

        Reviewed by Kenneth Russell.

        Test: webaudio/audioparam-summingjunction.html

        * Modules/webaudio/AudioParam.cpp:
        * Modules/webaudio/AudioParam.h:
        (WebCore::AudioParam::calculateSampleAccurateValues):
        (WebCore::AudioParam::calculateAudioRateSignalValues):
        Sums intrinsic parameter value with all audio-rate connections.

        (WebCore::AudioParam::connect):
        (WebCore::AudioParam::disconnect):
        Support multiple connections.

        (WebCore::AudioParam::hasSampleAccurateValues):
        If we have one or more audio-rate connections.

        (WebCore::AudioParam::AudioParam):
        AudioParam now sub-classes AudioSummingJunction.

2012-05-16  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to createV8HTMLWrapper() and createV8SVGWrapper()
        https://bugs.webkit.org/show_bug.cgi?id=86558

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to createV8HTMLWrapper() and createV8SVGWrapper().

        Basically 'isolate' has been implemented as the last argument
        but before 'forceNewObject' argument, because 'forceNewObject' is an optional
        argument and omitted in most cases. Due to the convention,
        this patch puts 'isolate' before 'forceNewObject'.

        No tests. No change in behavior.

        * bindings/v8/custom/V8HTMLElementCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGElementCustom.cpp:
        (WebCore::toV8):
        * dom/make_names.pl:
        (printWrapperFunctions):
        (printWrapperFactoryCppFile):
        (printWrapperFactoryHeaderFile):

2012-05-16  Ryosuke Niwa  <rniwa@webkit.org>

        Move showStyle from CSSStyleDeclaration to StylePropertySet
        https://bugs.webkit.org/show_bug.cgi?id=86675

        Reviewed by Andreas Kling.

        Moved the function. Also deleted CSSStyleDeclaration.cpp since it's no longer needed.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSAllInOne.cpp:
        * css/CSSStyleDeclaration.cpp:
        (WebCore):
        * css/CSSStyleDeclaration.h:
        (CSSStyleDeclaration):
        * css/StylePropertySet.cpp:
        (WebCore):
        (WebCore::StylePropertySet::showStyle):
        * css/StylePropertySet.h:
        (StylePropertySet):

2012-05-16  Martin Robinson  <mrobinson@igalia.com>

        Fix the indexed database build for GTK+.

        * GNUmakefile.list.am: Add missing files to the build.
        * bindings/gobject/GNUmakefile.am: Be smarter about filtering out deactivating indexed database.
        * bindings/scripts/CodeGeneratorGObject.pm:
        (SkipAttribute): Always skip attributes that return indexed database types.

2012-05-16  Jon Lee  <jonlee@apple.com>

        Animated GIFs in page cache get updated
        https://bugs.webkit.org/show_bug.cgi?id=86668
        <rdar://problem/11395549>

        Reviewed by Brady Eidson.

        Test: fast/loader/image-in-page-cache.html

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged): When we are notified by the CachedImage that the image has
        changed, we check to see if the document is in the page cache. If so, we should not be updating,
        so we bail out early.

2012-05-16  Tim Horton  <timothy_horton@apple.com>

        Crash if SVG gradient stop has display: none set
        https://bugs.webkit.org/show_bug.cgi?id=86686
        <rdar://problem/10751905>

        Reviewed by Dean Jackson.

        Create a renderer for SVGStopElement regardless of the "display" property.
        This matches the behavior of Opera and the SVG specification.

        Test: svg/custom/gradient-stop-display-none-crash.svg

        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::rendererIsNeeded):
        (WebCore):
        * svg/SVGStopElement.h:
        (SVGStopElement):

2012-05-16  Dana Jansens  <danakj@chromium.org>

        [chromium] Clear the m_private pointer when destroying WebFilterOperations to avoid assert in WebPrivateOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=86654

        Reviewed by James Robinson.

        * platform/chromium/support/WebFilterOperations.cpp:
        (WebKit::WebFilterOperations::reset):
        (WebKit::WebFilterOperations::destroy):
        (WebKit):

2012-05-16  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r92823): WebKit strips font-weight: normal from b element when copying
        https://bugs.webkit.org/show_bug.cgi?id=86663

        Reviewed by Tony Chang.

        The bug was caused by removeStyleFromRulesAndContext incorrectly stripping font-weight property
        even when the context had no font-weight property because of a property name mismatch in getPropertiesNotIn.

        Fixed the mismatch.

        Test: editing/pasteboard/paste-text-with-style-5.html

        * editing/EditingStyle.cpp:
        (WebCore::getPropertiesNotIn):

2012-05-16  Ryosuke Niwa  <rniwa@webkit.org>

        Merge nextRootInlineBox with nextLinePosition
        https://bugs.webkit.org/show_bug.cgi?id=81593

        Reviewed by Enrica Casucci.

        Call previousRootInlineBox and nextRootInlineBox in previousLinePosition and nextLinePosition respectively
        to share the code. Moved out the nullity check of startBox and extracted the renderer's node from the former
        two, and added editableType to their argument lists to match the interface in both use cases.

        Also moved out the code to extract root inline box using RenderedPosition from those two functions and
        expanded in call sites since previousLinePosition and nextLinePosition need to return the candidate position
        even when the root inline box doesn't exist. To this end, renamed previousRootInlineBox and nextRootInlineBox
        to previousRootInlineBoxCandidatePosition and nextRootInlineBoxCandidatePosition respectively.

        In addition, got rid of one version of nextLeafWithSameEditability that adjusted node with respect to offset
        This variant did:

        Node* child = node->childNode(offset);
        node = child ? child->nextLeafNode() : node->lastDescendant()->nextLeafNode();

        instead of:

        node = node->nextLeafNode();

        at the beginning of the function. Observe that the former code is logically equivalent to:

        Node* child = node->childNode(offset);
        node = child ? child : node->lastDescendant();
        node = node->nextLeafNode();

        Thus, the first two lines of this logically equivalent code is added in nextLinePosition wherein we used to
        call the removed variant.

        This refactoring with no behavioral change would help us resolving the bug 81490.

        * editing/visible_units.cpp:
        (WebCore::previousRootInlineBoxCandidatePosition): Renamed from previousRootInlineBox.
        (WebCore::nextRootInlineBoxCandidatePosition): Renamed from nextRootInlineBox.
        (WebCore::logicallyPreviousBox): Checks the nullity of startBox's renderer and node. Also extracts the root
        inline box out of the position per the interface change.
        (WebCore::logicallyNextBox): Ditto.
        (WebCore::previousLinePosition): Calls previousRootInlineBoxCandidatePosition.
        (WebCore::nextLinePosition): Calls nextRootInlineBoxCandidatePosition.

2012-05-16  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] Remove ImageDecoderCG.cpp from platform/image-decoders
        https://bugs.webkit.org/show_bug.cgi?id=86346

        Reviewed by Adam Barth.

        ImageDecoderCG.cpp was added for use in the Chromium port in r70846. Remove the
        implementation now that Chromium uses Skia on Mac OSX by default.

        No new tests. No change in behavior.
        
        * WebCore.gypi: Remove ImageDecoderCG.cpp from the gyp project.
        * platform/graphics/ImageSource.h: Revert the r70846 changes.
        * platform/image-decoders/ImageDecoder.cpp: Remove copyReferenceToBitmapData().
        (WebCore::ImageFrame::operator=): Return to using copyBitmapData() (as it was)
        given the removal of copyReferenceToBitmapData() above.
        * platform/image-decoders/ImageDecoder.h:
        (ImageFrame): Remove copyReferenceToBitmapData() declaration.
        * platform/image-decoders/cg/ImageDecoderCG.cpp: Removed, and it was the only
        decoder with a port-specific implementation of copyReferenceToBitmapData().

2012-05-16  Raymond Toy  <rtoy@google.com>

        Simplify AudioNode ref-counting by removing RefTypeDisabled
        https://bugs.webkit.org/show_bug.cgi?id=85681

        Reviewed by Chris Rogers.

        Existing tests should cover these changes.

        * Modules/webaudio/AudioNode.cpp: Remove RefTypeDiabled and m_disabledRefCount.
        (WebCore::AudioNode::AudioNode):
        (WebCore::AudioNode::~AudioNode):
        (WebCore::AudioNode::enableOutputsIfNecessary): New
        (WebCore::AudioNode::ref): 
        (WebCore::AudioNode::disableOutputsIfNecessary): New
        (WebCore::AudioNode::finishDeref):
        * Modules/webaudio/AudioNode.h: Remove RefTypeDisabled and m_disabledRefCount.
        * Modules/webaudio/AudioNodeInput.cpp: Removed uses of RefTypeDisbled.
        (WebCore::AudioNodeInput::disconnect):
        (WebCore::AudioNodeInput::disable):
        (WebCore::AudioNodeInput::enable):

2012-05-16  Ojan Vafai  <ojan@chromium.org>

        Fix perf regression from r116487
        https://bugs.webkit.org/show_bug.cgi?id=86680

        Reviewed by Ryosuke Niwa.

        http://trac.webkit.org/changeset/116487 caused a 6% regression on
        Dromaeo's dom-attr test. The issue is that we invalidated NodeList
        caches whenever an id/checked/type attribute changed.

        First, we don't need to invalidate on checked/type since that only
        affects the values return by NodeList items, not the list of items.
        Second, we only need to invalidate NodeList caches when an id attribute
        changes on a FormControlElement.

        Incidentally, we also don't need to invalidate caches for changes
        to attributes that don't have an ownerElement.

        No new tests. This is strictly a performance improvement.

        * dom/Attr.cpp:
        (WebCore::Attr::setValue):
        (WebCore::Attr::childrenChanged):
        * dom/Element.cpp:
        (WebCore::Element::attributeChanged):
        * dom/Node.cpp:
        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
        * dom/Node.h:
        (Node):

2012-04-22  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: inline-table-001 fails
        https://bugs.webkit.org/show_bug.cgi?id=84167

        Reviewed by Julien Chaffraix.

        Override lastLineBoxBaseline() in RenderTable so that it picks up the baseline
        of the text in the first row of the table. This allows inline tables to find the
        correct baseline to align to.

        Tests:
                css2.1/20110323/inline-table-001.htm
                css2.1/20110323/inline-table-002a.htm
                css2.1/20110323/inline-table-003.htm
                fast/css/empty-cell-baseline.html

        * rendering/RenderTable.cpp:
        (WebCore::getLineBoxBaseline):
        (WebCore):
        (WebCore::RenderTable::lastLineBoxBaseline):
        (WebCore::RenderTable::firstLineBoxBaseline):
        * rendering/RenderTable.h:
        (RenderTable):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::firstLineBoxBaseline): if a cell is empty it cannot provide a 
          baseline. Tested by fast/css/empty-cell-baseline.html

2012-05-16  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Rename valid/finished methods to isValid/isFinished to match coding standard
        https://bugs.webkit.org/show_bug.cgi?id=86655

        Reviewed by Tony Chang.

        No new tests - no functional changes.

        * Modules/indexeddb/IDBKey.h:
        (WebCore::IDBKey::isValid): valid() => isValid()
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::deleteFunction):
        (WebCore::IDBObjectStore::index):
        (WebCore::IDBObjectStore::transactionFinished):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore::IDBTransaction::isFinished): finished() => isFinished()
        * Modules/indexeddb/IDBTransaction.h:
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore):

2012-05-16  Jeffrey Pfau  <jpfau@apple.com>

        ImageLoader can still dispatch beforeload events for ImageDocuments
        https://bugs.webkit.org/show_bug.cgi?id=86658
        <rdar://problem/11465863>

        Reviewed by Brady Eidson.

        Prevent flags regarding sending beforeload events from being set on ImageDocuments.

        No new tests; testing framework doesn't allow for testing ImageDocuments with injected JavaScript.

        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::updateFromElement):

2012-05-16  Julien Chaffraix  <jchaffraix@webkit.org>

        layerX/layerY warning should be removed
        https://bugs.webkit.org/show_bug.cgi?id=86264

        Reviewed by James Robinson.

        Covered by: fast/dom/Window/window-xy-properties.html
                    fast/events/init-events.html
                    fast/events/mouse-relative-position.html
                    fast/events/mouseclick-target-and-positioning.html
                    fast/events/simulated-click-coords.html
                    jquery/event.html

        This change just removes the warning pending proper investigation.

        Longer explanation: The layerX/layerY warning was added prematurely
        as we didn't assess the web-compatibility potential breakage vs the
        maintenance cost. There is also not readily available replacement.

        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::layerX):
        (WebCore::MouseRelatedEvent::layerY):
        * dom/UIEvent.cpp:
        (WebCore::UIEvent::layerX):
        (WebCore::UIEvent::layerY):
        * dom/UIEvent.h:
        Removed warnDeprecatedLayerXYUsage and all the associated calls.

2012-05-16  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Use accessors for backing store / database id in store/index backends
        https://bugs.webkit.org/show_bug.cgi?id=86652

        Reviewed by Tony Chang.

        Hide the private members m_backingStore and m_databaseId of IDBObjectStoreBackendImpl
        and IDBIndexBackendImpl behind accessors. This is preparation for removing these
        members and only holding references to the IDBDatabaseBackendImpl: webkit.org/b/83074

        No new tests - no functional changes.

        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursorInternal):
        (WebCore::IDBIndexBackendImpl::countInternal):
        (WebCore::IDBIndexBackendImpl::getInternal):
        (WebCore::IDBIndexBackendImpl::getByRangeInternal):
        (WebCore::IDBIndexBackendImpl::getKeyInternal):
        (WebCore::IDBIndexBackendImpl::getKeyByRangeInternal):
        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
        * Modules/indexeddb/IDBIndexBackendImpl.h:
        (WebCore::IDBIndexBackendImpl::backingStore): Added.
        (WebCore::IDBIndexBackendImpl::databaseId): Added.
        (IDBIndexBackendImpl):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal):
        (WebCore::IDBObjectStoreBackendImpl::getInternal):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
        (WebCore):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
        (WebCore::IDBObjectStoreBackendImpl::countInternal):
        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
        (WebCore::IDBObjectStoreBackendImpl::backingStore): Added.
        (WebCore::IDBObjectStoreBackendImpl::databaseId): Added.
        (IDBObjectStoreBackendImpl):

2012-05-15  Peter Kasting  <pkasting@google.com>

        Malformed GIF can cause decoder to read off end of heap buffer
        https://bugs.webkit.org/show_bug.cgi?id=86531

        Reviewed by Adam Barth.

        Test: fast/images/read-past-end-of-buffer.html
        This test is only expected to catch problems if run under Address
        Sanitizer or a similar memory-checking utility.

        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::read):

2012-05-16  Varun Jain  <varunjain@google.com>

        [chromium] No modifier flags (shift/ctrl/alt) in drag&drop events on chromium linux
        https://bugs.webkit.org/show_bug.cgi?id=86236

        Reviewed by Tony Chang.

        ManualTests: ManualTests/chromium/modifiers-during-drag-and-drop.html

        * page/DragController.cpp:
        (WebCore::createMouseEvent):
        * platform/DragData.cpp:
        (WebCore):
        (WebCore::DragData::modifierKeyState):
        * platform/DragData.h:
        (DragData):
        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::ChromiumDataObject):
        * platform/chromium/ChromiumDataObject.h:
        (WebCore::ChromiumDataObject::modifierKeyState):
        (WebCore::ChromiumDataObject::setModifierKeyState):
        (ChromiumDataObject):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::modifierKeyState):
        (WebCore):

2012-05-16  Jer Noble  <jer.noble@apple.com>

        <video> elements with no video tracks report false for webkitSupportsFullscreen.
        https://bugs.webkit.org/show_bug.cgi?id=86650

        Reviewed by Eric Carlson.

        No new tests; updated media/media-fullscreen-inline.html.

        With the new Full Screen API, the restriction that only video elements with
        video tracks can enter full screen seems arbitrary. Some media types will
        occasionally determine they have video tracks long after loadedmetadata, which
        breaks websites who check for webkitSupportsFullscreen(). Relax the restriction
        on webkitSupportsFullscreen() for ports where the Full Screen API is enabled and
        supported so as to no longer require hasVideo().

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::supportsFullscreen):

2012-05-16  Andreas Kling  <kling@webkit.org>

        Avoid reparsing the style attribute when cloning elements.
        <http://webkit.org/b/86574>

        Reviewed by Antti Koivisto.

        Refactor cloning of attributes a bit to dodge the styleAttr reparse previously
        caused by ElementAttributeData::setAttributes().

        Introduced Element::cloneDataFromElement() which takes care of cloning the
        ElementAttributeData as well as "non-attribute properties" (which is currently
        specific to HTMLInputElement.)

        Also includes some additional dodging of attribute vector traversal to find
        old/new 'id' and 'name' attributes.

        I'm seeing a ~10% improvement on PerformanceTests/DOM/CloneNodes locally.

        * dom/Document.cpp:
        (WebCore::Document::importNode):
        * dom/Element.cpp:
        (WebCore::Element::cloneElementWithoutChildren):
        (WebCore::Element::cloneAttributesFromElement):
        (WebCore::Element::cloneDataFromElement):
        * dom/Element.h:
        (WebCore::Element::copyNonAttributePropertiesFromElement):
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::cloneDataFrom):
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        * dom/Node.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::styleAttributeChanged):
        (WebCore::StyledElement::parseAttribute):
        * dom/StyledElement.h:
        * editing/ReplaceNodeWithSpanCommand.cpp:
        (WebCore::swapInNodePreservingAttributesAndChildren):
        * html/HTMLElement.cpp:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement):
        * html/HTMLInputElement.h:
        * inspector/DOMPatchSupport.cpp:
        (WebCore::DOMPatchSupport::innerPatchNode):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setNodeName):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
        (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):

2012-05-16  Brent Fulgham  <bfulgham@webkit.org>

        [WinCairo] Unreviewed build change after r115385.  Several Cairo
        image routines were modified to use new wrapper classes, but the
        relevant WinCairo sources were not updated to match.

        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/win/ImageCairoWin.cpp:
        (WebCore::BitmapImage::create):
        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
        * platform/win/DragImageCairoWin.cpp:
        (WebCore::createDragImageFromImage):

2012-05-16  Tim Horton  <timothy_horton@apple.com>

        Scrollbar layers should respect accelerated drawing setting
        https://bugs.webkit.org/show_bug.cgi?id=86644
        <rdar://problem/11462038>

        Reviewed by Simon Fraser.

        When creating scrollbar layers, pass through the accelerated drawing setting.

        No new tests.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

2012-05-16  Tim Horton  <timothy_horton@apple.com>

        FrameView::scrollContentsFastPath should use painted area to determine whether to drop out of the fast path
        https://bugs.webkit.org/show_bug.cgi?id=86651
        <rdar://problem/11459243>

        Reviewed by Simon Fraser.

        Previously, we decided to fall out of the fast scrolling path by the number of fixed-position elements
        on the page. This was less than ideal if a single fixed position element took up a significant portion
        of the page, or if there were many small, cheap-to-paint fixed elements.

        Instead, we should use the fast path if less than 50% of the page will be repainted by fixed-position
        elements, and otherwise fall back to the slow path.

        I've tested a few different thresholds with an internal test; 50% seems to work relatively well,
        but the ideal value is hard to determine and likely depends on hardware.

        No new tests, performance improvement with few large fixed-position objects or many small ones.

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollContentsFastPath):

2012-05-16  David Reveman  <reveman@chromium.org>

        [Chromium] Use ThrottledTextureUploader with threaded compositing.
        https://bugs.webkit.org/show_bug.cgi?id=85848

        Reviewed by Adrienne Walker.

        Switch to ThrottledUploader in CCThreadProxy.

        * platform/graphics/chromium/cc/CCThreadProxy.cpp:

2012-05-15  Emil A Eklund  <eae@chromium.org>

        Change ascents and descent back to ints for now
        https://bugs.webkit.org/show_bug.cgi?id=86518

        Reviewed by Eric Seidel.

        Change ascents and descent calculation back to integers for now as it
        looks like we'll need to support both the 1/60 and 1/1 implementations of
        FractionalLayoutUnit for the immediate future to ensure that text is
        rendered at the same offset and with the height regardless of the
        ENABLE_SUBPIXEL_LAYOUT flag.

        This ensures that most websites will look the same at 100% zoom
        regardless of the flag and also allows us to the same test expectations
        for the vast majority of layout tests.

        Eventually we want to move those back to FractionalLayoutUnits as that
        will result in more correct rendering.

        No new tests, no change in functionality.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        * rendering/RootInlineBox.cpp:
        (WebCore::setAscentAndDescent):
        (WebCore::RootInlineBox::ascentAndDescentForBox):
        * rendering/RootInlineBox.h:
        (RootInlineBox):

2012-05-16  Ken Buchanan  <kenrb@chromium.org>

        Crash due to first-letter not getting computed on RenderTableCell
        https://bugs.webkit.org/show_bug.cgi?id=86133

        Reviewed by Abhishek Arya.

        RenderTableCell overrides RenderBlock::layout() but doesn't call
        updateFirstLetter() in it. This is normally not a problem because
        updateFirstLetter() gets called during preferred logical width
        computation, but there exist rare occasions when layout of the table
        cell happens without preferred logical widths being dirty, in which
        case the first-letter update can be skipped.

        This patch adds a call to updateFirstLetter() to
        RenderTableCell::layout(). This ensures that the first-letter is up
        to date before commencing block layout.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::layout)

2012-05-16  Mikhail Naganov  <mnaganov@chromium.org>

        Avoid jumpscroll when entering new text in a multi-line editor.
        https://bugs.webkit.org/show_bug.cgi?id=82875

        Reviewed by Ryosuke Niwa.

        Scroll caret to the edge of the viewport in case if a line break or a paragraph
        separator is inserted at the end of a multi-line editor.  This avoids
        undesirable jumpscroll in cases when there is content under the editor.

        Tests: editing/input/scroll-to-edge-if-line-break-at-end-of-document-contenteditable.html
               editing/input/scroll-to-edge-if-line-break-at-end-of-document-textarea.html
               editing/input/scroll-to-edge-if-paragraph-separator-at-end-of-document-contenteditable.html

        * editing/Editor.cpp:
        (WebCore::Editor::insertLineBreak):
        (WebCore::Editor::insertParagraphSeparator):
        (WebCore::Editor::revealSelectionAfterEditingOperation):
        * editing/Editor.h:
        (Editor):

2012-05-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Pressing esc after requesting snippet creation should remove snippet.
        https://bugs.webkit.org/show_bug.cgi?id=86639

        Reviewed by Pavel Feldman.

        Added committed parameter to NavigatorView.rename() callback.

        * inspector/front-end/NavigatorView.js:
        (WebInspector.NavigatorView.prototype.rename.commitHandler):
        (WebInspector.NavigatorView.prototype.rename.cancelHandler):
        (WebInspector.NavigatorView.prototype.rename.afterEditing):
        * inspector/front-end/ScriptsNavigator.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):

2012-05-16  Abhishek Arya  <inferno@chromium.org>

        Missing RenderApplet cast check in HTMLAppletElement::renderWidgetForJSBindings.
        https://bugs.webkit.org/show_bug.cgi?id=86627

        Reviewed by Andreas Kling.

        Test: java/inline-applet-crash.html

        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::renderWidgetForJSBindings):

2012-05-16  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: extract CompositeUISourceCodeProvider from DebuggerScriptMapping.
        https://bugs.webkit.org/show_bug.cgi?id=86634

        Reviewed by Vsevolod Vlasov.

        Extract refactoring.

        * inspector/front-end/DebuggerScriptMapping.js:
        (WebInspector.DebuggerScriptMapping):
        (WebInspector.DebuggerScriptMapping.prototype.uiSourceCodeProviders):
        (WebInspector.DebuggerScriptMapping.prototype._parsedScriptSource):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
        (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
        (WebInspector.CompositeUISourceCodeProvider):
        (WebInspector.CompositeUISourceCodeProvider.prototype._registerUISourceCodeProvider):
        (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeAdded):
        (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeReplaced):
        (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeRemoved):
        (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodes):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCodeProvider.prototype.uiSourceCodes):
        (WebInspector.UISourceCodeProvider.prototype.addEventListener):
        (WebInspector.UISourceCodeProvider.prototype.removeEventListener):

2012-05-16  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Double Clicking on "No watch expressions" should add an expression
        https://bugs.webkit.org/show_bug.cgi?id=86631

        Reviewed by Vsevolod Vlasov.

        A double-click listener for the section element adds a new watch expression if the correct element
        has been clicked.
        Drive-by: do not persist deleted (null) watch expressions.

        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype._sectionDoubleClick):
        (WebInspector.WatchExpressionsSection.prototype.updateExpression):

2012-05-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Support script snippets saving.
        https://bugs.webkit.org/show_bug.cgi?id=86632

        Reviewed by Pavel Feldman.

        Added SnippetJavaScriptSource extending JavaScriptSource and overriding isEditable() and commitWorkingCopy() methods.
        ScriptSnippetModel now creates instances of this new class for snippets.
        Also maps in ScriptSnippetModel simplified.

        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource.prototype.commitWorkingCopy):
        (WebInspector):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel):
        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
        (WebInspector.ScriptSnippetModel.prototype.deleteScriptSnippet):
        (WebInspector.ScriptSnippetModel.prototype.renameScriptSnippet):
        (WebInspector.ScriptSnippetModel.prototype.setScriptSnippetContent):
        (WebInspector.ScriptSnippetModel.prototype._uiSourceCodeList):
        (WebInspector.ScriptSnippetModel.prototype._releasedUISourceCodes):
        (WebInspector.SnippetJavaScriptSource):
        (WebInspector.SnippetJavaScriptSource.prototype.isEditable):
        (WebInspector.SnippetJavaScriptSource.prototype.commitWorkingCopy):
        (WebInspector.SnippetJavaScriptSource.prototype.get snippetId):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):

2012-05-16  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>

        [EFL] Memory leak in RenderThemeEfl
        https://bugs.webkit.org/show_bug.cgi?id=86609

        Reviewed by Martin Robinson.

        Fix a memory leak by freeing the cairo surface with
        cairo_surface_destroy.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::cacheThemePartFlush):

2012-05-16  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Speedup heap snapshot postprocessing
        https://bugs.webkit.org/show_bug.cgi?id=86635

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):

2012-05-16  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, followup for r117273 that fixes the Web Inspector's Computed Style pane layout.

        * inspector/front-end/elementsPanel.css:
        (.styles-section.computed-style.expanded .properties > li):
        (.styles-section.computed-style.expanded .properties > li .webkit-css-property):

2012-05-16  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] expose evaluateOptions in audit formatters
        https://bugs.webkit.org/show_bug.cgi?id=86617

        Reviewed by Pavel Feldman.

        Test: inspector/extensions/extensions-audits-content-script.html

        - apply extension-specific audit formatters earlier (in ExtensionAduitCategory, not along with the rest in AuditFormatters);
        - use ExtensionServer.evaluate() to handle evaluateOptions instead of PageAgent.evaluate();

        * inspector/front-end/AuditFormatters.js: Move node and object formatters to ExtensionAuditCategory.
        (WebInspector.partiallyApplyFormatters): Added a method to traverse formatters tree and apply formatters that are passed as input.
        * inspector/front-end/ExtensionAuditCategory.js:
        (WebInspector.ExtensionAuditCategory): Pass extensionOrigin.
        (WebInspector.ExtensionAuditCategoryResults.prototype._addNode): Apply extensions formatters before adding the result.
        (WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
        (WebInspector.ExtensionAuditCategoryResults.prototype.evaluate): moved from AuditFormatters.
        (WebInspector.ExtensionAuditFormatters.object.onEvaluate):
        (WebInspector.ExtensionAuditFormatters.object):
        (WebInspector.ExtensionAuditFormatters.node.onNodeAvailable):
        (WebInspector.ExtensionAuditFormatters.node.onEvaluate):
        (WebInspector.ExtensionAuditFormatters.node):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onAddAuditCategory): Plumb extensionOrigin through to audit category.

2012-05-16  Donald Carr  <donald.carr@nokia.com>

        Fixes the build with Qt 5 HEAD

        Reviewed by Csaba Osztrogonác.

        * WebCore.pri:
        * platform/graphics/texmap/TextureMapperGL.cpp:
        * plugins/qt/PluginViewQt.cpp:

2012-05-16  Rob Buis  <rbuis@rim.com>

        SVGSVGElement checkIntersection and checkEnclosure Mem corruption
        https://bugs.webkit.org/show_bug.cgi?id=67923

        Reviewed by Nikolas Zimmermann.

        Only call checkIntersection/checkEnclosure when we have a valid renderer.

        Test: svg/custom/intersection-list-null.svg

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::checkIntersection):
        (WebCore::SVGSVGElement::checkEnclosure):

2012-05-16  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed, rolling out r110699.
        http://trac.webkit.org/changeset/110699
        https://bugs.webkit.org/show_bug.cgi?id=80982

        Not needed anymore and broke modal event loops

        * platform/qt/RunLoopQt.cpp:
        (WebCore::RunLoop::TimerObject::TimerObject):
        (WebCore::RunLoop::TimerObject::performWork):
        (RunLoop::TimerObject):

2012-05-16  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: split ScriptMapping into UISourceCodeProvider and SourceMapping.
        https://bugs.webkit.org/show_bug.cgi?id=86616

        Reviewed by Vsevolod Vlasov.

        This change simply splits the interface.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/CompilerScriptMapping.js:
        (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodes):
        (WebInspector.CompilerScriptMapping.prototype.reset):
        * inspector/front-end/DebuggerModel.js:
        * inspector/front-end/DebuggerResourceBinding.js:
        (WebInspector.DebuggerResourceBinding):
        (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
        * inspector/front-end/DebuggerScriptMapping.js:
        (WebInspector.DebuggerScriptMapping):
        (WebInspector.DebuggerScriptMapping.prototype.uiSourceCodes):
        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeAdded):
        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeReplaced):
        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeRemoved):
        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.OpenScriptDialog):
        (WebInspector.OpenScriptDialog.install):
        (WebInspector.OpenScriptDialog._show):
        * inspector/front-end/PresentationConsoleMessageHelper.js:
        (WebInspector.PresentationConsoleMessageHelper):
        (WebInspector.PresentationConsoleMessageHelper.prototype._consoleCleared):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.uiSourceCodes):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
        * inspector/front-end/Script.js:
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel.prototype._uiSourceCodes):
        (WebInspector.SnippetScriptMapping.prototype.uiSourceCodes):
        (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeAdded):
        (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeRemoved):
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/ScriptsSearchScope.js:
        (WebInspector.ScriptsSearchScope):
        (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
        * inspector/front-end/SourceMapping.js: Renamed from Source/WebCore/inspector/front-end/ScriptMapping.js.
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCodeProvider):
        (WebInspector.UISourceCodeProvider.prototype.uiSourceCodes):
        (WebInspector.UILocation):
        (WebInspector.UILocation.prototype.uiLocationToRawLocation):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-05-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Implement snippet creation/renaming in ScriptsNavigator.
        https://bugs.webkit.org/show_bug.cgi?id=82622

        Reviewed by Pavel Feldman.

        Implemented snippet creation and renaming.
        Added TitleChanged event to UISourceCode.

        * inspector/front-end/NavigatorOverlayController.js:
        (WebInspector.NavigatorOverlayController.prototype._containingElementFocused):
        (WebInspector.NavigatorOverlayController.prototype.isNavigatorPinned):
        (WebInspector.NavigatorOverlayController.prototype.isNavigatorHidden):
        * inspector/front-end/NavigatorView.js:
        (WebInspector.NavigatorView.prototype._uiSourceCodeTitleChanged):
        (WebInspector.NavigatorView.prototype._updateScriptTitle):
        (WebInspector.NavigatorView.prototype._addUISourceCodeListeners):
        (WebInspector.NavigatorView.prototype._removeUISourceCodeListeners):
        (WebInspector.NavigatorView.prototype._fileRenamed):
        (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        (WebInspector.ScriptsNavigator.prototype._snippetsNavigatorViewForUISourceCode):
        (WebInspector.ScriptsNavigator.prototype.addUISourceCode):
        (WebInspector.ScriptsNavigator.prototype.isScriptSourceAdded):
        (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCode):
        (WebInspector.ScriptsNavigator.prototype.rename):
        (WebInspector.ScriptsNavigator.prototype._fileRenamed):
        (WebInspector.ScriptsNavigator.prototype._snippetCreationRequested):
        (WebInspector.SnippetsNavigatorView.prototype._handleCreateSnippet):
        (WebInspector.SnippetsNavigatorView.prototype._snippetCreationRequested):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar):
        (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
        (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeTitleChanged):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.urlChanged):

2012-05-16  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: gradient properties are painful to inspect / author.
        https://bugs.webkit.org/show_bug.cgi?id=86379

        Reviewed by Pavel Feldman.

        The CSS styles layout has been changed to allow property values to wrap onto subsequent lines
        to let the users see the entire value text.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): Avoid line breaks between the color swatch and value.
        * inspector/front-end/elementsPanel.css:
        (.styles-section .properties li.not-parsed-ok img.exclamation-mark):
        (.styles-section .properties li):
        (.styles-section .properties li .webkit-css-property):
        (.styles-section.expanded .properties > li):
        (.styles-section .properties > li .webkit-css-property):
        (.styles-section .properties > li.child-editing):
        (.styles-section .properties > li.child-editing .webkit-css-property):
        (.styles-section .properties .enabled-button):

2012-05-16  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: rename ProfileView.js to CPUProfileView.js
        https://bugs.webkit.org/show_bug.cgi?id=86612

        Reviewed by Pavel Feldman.

        Renamed ProfileView.js to CPUProfileView.js to match the file content.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/CPUProfileView.js: Renamed from Source/WebCore/inspector/front-end/ProfileView.js.
        (WebInspector.CPUProfileView.profileCallback):
        (WebInspector.CPUProfileView.prototype.get statusBarItems):
        (WebInspector.CPUProfileView.prototype.get profile):
        (WebInspector.CPUProfileView.prototype.set profile):
        (WebInspector.CPUProfileView.prototype.get bottomUpProfileDataGridTree):
        (WebInspector.CPUProfileView.prototype.get topDownProfileDataGridTree):
        (WebInspector.CPUProfileView.prototype.get currentTree):
        (WebInspector.CPUProfileView.prototype.set currentTree):
        (WebInspector.CPUProfileView.prototype.willHide):
        (WebInspector.CPUProfileView.prototype.refresh):
        (WebInspector.CPUProfileView.prototype.refreshVisibleData):
        (WebInspector.CPUProfileView.prototype.refreshShowAsPercents):
        (WebInspector.CPUProfileView.prototype.searchCanceled):
        (WebInspector.CPUProfileView.prototype.performSearch.matchesQuery):
        (WebInspector.CPUProfileView.prototype.performSearch):
        (WebInspector.CPUProfileView.prototype.jumpToFirstSearchResult):
        (WebInspector.CPUProfileView.prototype.jumpToLastSearchResult):
        (WebInspector.CPUProfileView.prototype.jumpToNextSearchResult):
        (WebInspector.CPUProfileView.prototype.jumpToPreviousSearchResult):
        (WebInspector.CPUProfileView.prototype.showingFirstSearchResult):
        (WebInspector.CPUProfileView.prototype.showingLastSearchResult):
        (WebInspector.CPUProfileView.prototype._jumpToSearchResult):
        (WebInspector.CPUProfileView.prototype._changeView.set else):
        (WebInspector.CPUProfileView.prototype._focusClicked):
        (WebInspector.CPUProfileView.prototype._excludeClicked):
        (WebInspector.CPUProfileView.prototype._resetClicked):
        (WebInspector.CPUProfileView.prototype._dataGridNodeSelected):
        (WebInspector.CPUProfileView.prototype._dataGridNodeDeselected):
        (WebInspector.CPUProfileView.prototype._sortProfile):
        (WebInspector.CPUProfileView.prototype._assignParentsInProfile):
        (WebInspector.CPUProfileType):
        (WebInspector.CPUProfileType.prototype.get buttonTooltip):
        (WebInspector.CPUProfileType.prototype.buttonClicked):
        (WebInspector.CPUProfileType.prototype.get treeItemTitle):
        (WebInspector.CPUProfileType.prototype.get description):
        (WebInspector.CPUProfileType.prototype.isRecordingProfile):
        (WebInspector.CPUProfileType.prototype.startRecordingProfile):
        (WebInspector.CPUProfileType.prototype.stopRecordingProfile):
        (WebInspector.CPUProfileType.prototype.setRecordingProfile):
        (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
        (WebInspector.CPUProfileType.prototype.createView):
        (WebInspector.CPUProfileType.prototype.createTemporaryProfile):
        (WebInspector.CPUProfileType.prototype.createProfile):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-05-16  Arpita Bahuguna  <arpitabahuguna@gmail.com>

        "border: collapse" + "display: none" rows in the tbody while having thead or tfoot doesn't render the opposite border
        https://bugs.webkit.org/show_bug.cgi?id=67877

        Reviewed by Antti Koivisto.

        Test: fast/css/table-collapsed-borders.html

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
        When getting the previous row group's after border, pass SkipEmptySections as the second param
        to the RenderTable::sectionAbove() call. Thus if the currSection is the top most section of the
        table passing SkipEmptySections to sectionAbove() would return null which should be the expected
        behavior.

        (WebCore::RenderTableCell::computeCollapsedAfterBorder):
        When getting the following row group's before border, pass SkipEmptySections as the second param
        to the RenderTable::sectionBelow() call. Thus if the currSection is the bottom most section of the
        table passing SkipEmptySections to sectionBelow() would return null which should be the expected
        behavior.

2012-05-16  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: follow up to r117267 - fixing typo and removing unnecessary dispatch.
        https://bugs.webkit.org/show_bug.cgi?id=86613

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):

2012-05-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Move edit/save script source logic to JavaScriptSource.
        https://bugs.webkit.org/show_bug.cgi?id=86604

        Reviewed by Pavel Feldman.

        Added working copy notion to UISourceCode.
        Moved DebuggerResourceBinding content edit calls to JavaScriptSource.
        Added WorkingCopyChanged event to UISourceCode.

        * inspector/front-end/CompilerScriptMapping.js:
        * inspector/front-end/DebuggerResourceBinding.js:
        (WebInspector.DebuggerResourceBinding.prototype.canSetContent):
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource):
        (WebInspector.JavaScriptSource.prototype.breakpointStorageId):
        (WebInspector.JavaScriptSource.prototype.isEditable):
        (WebInspector.JavaScriptSource.prototype.commitWorkingCopy):
        (WebInspector):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
        * inspector/front-end/NavigatorView.js:
        (WebInspector.NavigatorView.prototype._uiSourceCodeWorkingCopyChanged):
        (WebInspector.NavigatorView.prototype._uiSourceCodeContentChanged):
        (WebInspector.NavigatorView.prototype._updateScriptTitle):
        (WebInspector.NavigatorView.prototype._removeUISourceCode):
        (WebInspector.NavigatorView.prototype._addUISourceCodeListeners):
        (WebInspector.NavigatorView.prototype._removeUISourceCodeListeners):
        (WebInspector.NavigatorView.prototype.reset):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createUISourceCode):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
        (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer):
        (WebInspector.TabbedEditorContainer.prototype._titleForFile):
        (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
        (WebInspector.TabbedEditorContainer.prototype._updateFileTitle.get if):
        (WebInspector.TabbedEditorContainer.prototype._updateFileTitle):
        (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeWorkingCopyChanged):
        (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeContentChanged):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):
        (WebInspector.UISourceCode.prototype.contentChanged):
        (WebInspector.UISourceCode.prototype.isEditable):
        (WebInspector.UISourceCode.prototype.workingCopy):
        (WebInspector.UISourceCode.prototype.setWorkingCopy):
        (WebInspector.UISourceCode.prototype.isDirty):
        (WebInspector.UISourceCode.prototype.commitWorkingCopy):

2012-05-16  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: get rid of UISourceCodeListChanged event.
        https://bugs.webkit.org/show_bug.cgi?id=86601

        Reviewed by Vsevolod Vlasov.

        There was unnecessary conversion between this event and UISourceCodeAdded/Removed/Replaced.

        * inspector/front-end/CompilerScriptMapping.js:
        (WebInspector.CompilerScriptMapping.prototype.reset):
        * inspector/front-end/DebuggerScriptMapping.js:
        (WebInspector.DebuggerScriptMapping):
        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeAdded):
        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeReplaced):
        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeRemoved):
        * inspector/front-end/NavigatorView.js:
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.addScript):
        (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
        (WebInspector.ResourceScriptMapping.prototype.reset):
        * inspector/front-end/ScriptMapping.js:
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
        (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
        (WebInspector.ScriptSnippetModel.prototype._reset):
        (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeAdded):
        (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeRemoved):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCode):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
        * inspector/front-end/TabbedEditorContainer.js:

2012-05-16  Keishi Hattori  <keishi@webkit.org>

        [chromium] Add WebKit API to access inner text value of input element
        https://bugs.webkit.org/show_bug.cgi?id=85353

        Reviewed by Kent Tamura.

        Test: fast/forms/editing-value.html

        We need this to implement the datalist UI for  <input type=email multiple>.
        HTMLInputElement.value gives you the sanitized value so the whitespace between values are trimmed.
        We need to append the selected suggestion to the end without modifying the rest of the text.

        * WebCore.exp.in: Added HTMLInputElement::setEditingValue
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setEditingValue):
        (WebCore):
        * html/HTMLInputElement.h:
        (HTMLInputElement):
        * testing/Internals.cpp:
        (WebCore::Internals::setEditingValue):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-05-16  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Cookies should be checked during parsing to improve performance.
        https://bugs.webkit.org/show_bug.cgi?id=85028

        Reviewed by George Staikos.

        We shouldn't waste time and memery on invalid cookies. It is better to drop them during parsing.
        We shouldn't check the default domain since it is set with host. So we only check domains which are parsed
        from response headers.

        No new tests. No functionality change.

        * platform/blackberry/CookieManager.cpp:
        (WebCore::CookieManager::setCookies):
        * platform/blackberry/CookieManager.h:
        * platform/blackberry/CookieParser.cpp:
        (WebCore::CookieParser::parseOneCookie):

2012-05-15  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Enable SVG Fonts by default
        https://bugs.webkit.org/show_bug.cgi?id=86463

        Reviewed by Nikolas Zimmermann.

        Another feature we can get for free after switching to using
        the font fast path with QRawFont.
        It will get disabled in features.prf if either SVG support is
        disabled or if we are not using QRawFont (e.g. for Qt 4).

        Covered by a series of tests that were skipped for the
        Qt port up until now.

        * platform/graphics/qt/FontPlatformData.h:
        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
        Initialize the platform data used as fallback in conjunction with SVG
        fonts so it will honor size, weight and oblique-ness.
        * rendering/svg/SVGTextMetricsBuilder.cpp: Avoid forcing the complex path.
        (WebCore::SVGTextMetricsBuilder::advance):
        (WebCore::SVGTextMetricsBuilder::advanceSimpleText):
        (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::ensureGlyphCache): avoid ambiguity with String(const QString&)

2012-05-16  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] WebTransformationMatrixTest.verifyDefaultConstructorCreatesIdentityMatrix is failing
        https://bugs.webkit.org/show_bug.cgi?id=86589

        Reviewed by Kent Tamura.

        Need to call m_private.reset(0) before destructing WebTransformationMatrix objects.

        No new tests. WebTransformationMatrixTest should pass on debug build.

        * platform/chromium/support/WebTransformationMatrix.cpp:
        (WebKit::WebTransformationMatrix::~WebTransformationMatrix):
        (WebKit):

2012-05-16  Shinya Kawanaka  <shinyak@chromium.org>

        ShadowRoot.selection should return the seleciton whose range is in a shadow tree.
        https://bugs.webkit.org/show_bug.cgi?id=82698

        Reviewed by Ryosuke Niwa.

        The selection object returned from shadowRoot.selection should be able to see
        the inner object of the shadowRoot.

        In the previous code, the node out of the shadow subtree was returned for
        anchorNode, focusNode, baseNode, and extentNode. This patch enables us to get
        the corresponding shadow ancestor in the specified TreeScope (m_treeScope).

        Tests: editing/shadow/selection-of-orphan-shadowroot.html
               editing/shadow/selection-of-shadowroot.html

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::selection):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::getSelection): When shadow DOM feature is not enabled, we want to use the same
        instance of DOMSelection among Document and ShadowRoot.
        * dom/TreeScopeAdjuster.cpp:
        (WebCore::TreeScopeAdjuster::TreeScopeAdjuster):
        (WebCore::TreeScopeAdjuster::ancestorInThisScope): Since node could be null, I've added a node check code.
        * dom/TreeScopeAdjuster.h:
        (TreeScopeAdjuster):
        (WebCore::TreeScopeAdjuster::treeScope):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::anchorNode):
        (WebCore::DOMSelection::anchorOffset):
        (WebCore::DOMSelection::focusNode):
        (WebCore::DOMSelection::focusOffset):
        (WebCore::DOMSelection::baseNode):
        (WebCore::DOMSelection::baseOffset):
        (WebCore::DOMSelection::extentNode):
        (WebCore::DOMSelection::extentOffset):
        (WebCore::DOMSelection::shadowAdjustedNode): Gets the corresponding node in the m_treeScope from the Position.
        (WebCore):
        (WebCore::DOMSelection::shadowAdjustedOffset): Gets the corresponding node offset in the m_treeScope from the Position.
        * page/DOMSelection.h:
        (WebCore):
        (DOMSelection):

2012-05-16  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] xhr request to non existent file response is 0 and not 404.
        https://bugs.webkit.org/show_bug.cgi?id=86344

        Reviewed by George Staikos.

        NetworkJob receives 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true).
        There are no data received because its method is HEAD.
        This case should not be treated as a failure.

        Add shouldNotifyClientFailed() to treat XMLHttpRequest as a special case.
        XMLHttpRequest will fail when status code is smaller than zero.

        If we use "GET" and receive 404 without body, NetworkJob won't go through failing code path, too.
        So add http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html
        to check this case.

        Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
              http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html
        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::sendResponseIfNeeded):

2012-05-16  MORITA Hajime  <morrita@google.com>

        HasCustomWillOrDidRecalcStyleFlag and family should live in a bit.
        https://bugs.webkit.org/show_bug.cgi?id=86175

        Reviewed by Ryosuke Niwa.

        This change unifies following flags into one HasCustomCallbacksFlag.
        - HasCustomWillOrDidRecalcStyleFlag
        - HasCustomStyleForRendererFlag
        - IsFrameOwnerElementFlag

        By this change, some callbacks can be called even if there are no override.
        So all custom callbacks should just pass these invocations.

        No new tests. No behavior change.

        * dom/ContainerNodeAlgorithms.h:
        (WebCore::ChildFrameDisconnector::collectDescendant):
        * dom/Element.cpp:
        (WebCore::Element::styleForRenderer):
        (WebCore::Element::recalcStyle):
        (WebCore::Element::willRecalcStyle):
        (WebCore):
        (WebCore::Element::didRecalcStyle):
        (WebCore::Element::customStyleForRenderer):
        * dom/Element.h:
        (Element):
        * dom/Node.h:
        (WebCore::Node::isFrameOwnerElement):
        (WebCore::Node::hasCustomCallbacks):
        (WebCore::Node::setHasCustomCallbacks):
        * dom/Text.cpp:
        (WebCore::Text::recalcTextStyle):
        (WebCore::Text::willRecalcTextStyle):
        (WebCore):
        * dom/Text.h:
        (Text):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
        * html/HTMLFrameOwnerElement.h:
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::HTMLIFrameElement):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
        (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
        (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
        (WebCore::HTMLPlugInImageElement::customStyleForRenderer):
        * html/HTMLPlugInImageElement.h:
        (HTMLPlugInImageElement):
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::TextControlInnerElement):
        (WebCore::TextControlInnerElement::customStyleForRenderer):
        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
        (WebCore::TextControlInnerTextElement::customStyleForRenderer):
        * html/shadow/TextControlInnerElements.h:
        (TextControlInnerElement):
        (TextControlInnerTextElement):
        * html/shadow/TextFieldDecorationElement.cpp:
        (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
        (WebCore::TextFieldDecorationElement::customStyleForRenderer):
        * html/shadow/TextFieldDecorationElement.h:
        (TextFieldDecorationElement):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::SVGElement):
        (WebCore::SVGElement::customStyleForRenderer):
        * svg/SVGElement.h:
        (SVGElement):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGShadowText::SVGShadowText):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):

2012-05-16  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: exception when switching to heap profiler comparison view
        https://bugs.webkit.org/show_bug.cgi?id=86224

        Reviewed by Pavel Feldman.

        Make sure the messages are dispatched in the same order as they are sent in
        case a fake worker is used for heap snapshot processing.

        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.AsyncTaskQueue):
        (WebInspector.AsyncTaskQueue.prototype.addTask):
        (WebInspector.AsyncTaskQueue.prototype._onTimeout):
        (WebInspector.AsyncTaskQueue.prototype._scheduleTimer):
        (WebInspector.HeapSnapshotFakeWorker):
        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
        (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):

2012-05-16  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>

        [EFL] PlatformKeyboardEvent: figures, letters and printscreen key handling
        https://bugs.webkit.org/show_bug.cgi?id=85503

        Reviewed by Gustavo Noronha Silva.

        * platform/efl/EflKeyboardUtilities.cpp:
        (WebCore::addCharactersToKeyMap): aux function
        (WebCore):
        (WebCore::createKeyMap): Figures and letters keys are added to the keyMap
        (WebCore::addCharactersToWinKeyMap): aux function
        (WebCore::createWindowsKeyMap): Capital letters keys are added to the windowsKeyMap. Corrected value for printscreen key.
        (WebCore::singleCharacterString): Return empty text for printscreen key.

2012-05-16  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: rename DebuggerPresentationModel to DebuggerScriptMapping, make it private to ScriptsPanel.
        https://bugs.webkit.org/show_bug.cgi?id=86594

        Reviewed by Vsevolod Vlasov.

        This change completes the elimination of the presentation model.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/AuditFormatters.js:
        (WebInspector.AuditFormatters.resourceLink):
        * inspector/front-end/DebuggerResourceBinding.js:
        (WebInspector.DebuggerResourceBinding):
        (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
        * inspector/front-end/DebuggerScriptMapping.js: Renamed from Source/WebCore/inspector/front-end/DebuggerPresentationModel.js.
        (WebInspector.DebuggerScriptMapping):
        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeListChanged):
        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.OpenScriptDialog):
        (WebInspector.OpenScriptDialog.install):
        (WebInspector.OpenScriptDialog._show):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        * inspector/front-end/PresentationConsoleMessageHelper.js:
        (WebInspector.PresentationConsoleMessageHelper):
        (WebInspector.PresentationConsoleMessageHelper.prototype._consoleCleared):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
        (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
        * inspector/front-end/ScriptsSearchScope.js:
        (WebInspector.ScriptsSearchScope):
        (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCodeProject):
        (WebInspector.UISourceCodeProject.prototype.uiSourceCodes):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):

2012-05-15  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: use separate fields for storing HeapSnapshotLoaderProxy and HeapSnapshotProxy
        https://bugs.webkit.org/show_bug.cgi?id=86488

        Reviewed by Pavel Feldman.

        Simplified heap profiler snapshot loading code. Introduced dedicated fields for
        snapshot loader proxy and for snapshot proxy.

        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotWorker):
        (WebInspector.HeapSnapshotLoaderProxy):
        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.callLoadCallbacks):
        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
        (WebInspector.HeapSnapshotLoaderProxy.prototype.get loaded):
        (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
        (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.profileCallback):
        (WebInspector.HeapSnapshotView):
        (WebInspector.HeapSnapshotView.prototype.dispose):
        (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
        (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
        (WebInspector.HeapSnapshotView.prototype._changeView):
        (WebInspector.HeapProfileHeader): split _proxy field into _loaderProxy and _snapshotProxy
        (WebInspector.HeapProfileHeader.prototype.snapshotProxy):
        (WebInspector.HeapProfileHeader.prototype.load):
        (WebInspector.HeapProfileHeader.prototype._setupWorker):
        (WebInspector.HeapProfileHeader.prototype.dispose):
        (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
        (WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
        (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
        (WebInspector.HeapProfileHeader.prototype.canSaveToFile):
        (WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad):
        (WebInspector.HeapProfileHeader.prototype.loadFromFile):

2012-05-16  Eugene Klyuchnikov  <eustas.bug@gmail.com>

        Web Inspector: Use CSS columns feature for HelpScreen contents.
        https://bugs.webkit.org/show_bug.cgi?id=86367

        Reviewed by Yury Semikhatsky.

        Right-docked inspector should show shortcuts/settings in one column.
        Bottom-docked inspector should use horizontal space more effectively
        (more than 2 columns in shortcuts/settings).

        Please see attached screenshots.

        UI adjustments, no new tests.

        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen): Turned table to div.
        (WebInspector.SettingsScreen.prototype._appendSection): Removed.
        * inspector/front-end/ShortcutsScreen.js:
        (WebInspector.ShortcutsScreen.prototype._buildTable): Removed "balancing" algorithm.
        (WebInspector.ShortcutsSection.prototype.renderSection): Turned table to div.
        (WebInspector.ShortcutsSection.prototype._renderHeader): Ditto.
        * inspector/front-end/helpScreen.css: Use CSS columns feature.
        (.help-container): Added columns container.
        (.help-block): Added "section".
        (.help-line): Added key shortcut line.
        (.help-key-cell): Added key shortcut cell.
        (.help-cell): Ditto
        (.help-section-title): Combined title classes
        (.help-content p): Adjusted spacing.

2012-05-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r117050.
        http://trac.webkit.org/changeset/117050
        https://bugs.webkit.org/show_bug.cgi?id=86587

        "Some heap profiler tests started timing out" (Requested by
        yurys on #webkit).

        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotFakeWorker):
        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
        (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):

2012-05-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r117206.
        http://trac.webkit.org/changeset/117206
        https://bugs.webkit.org/show_bug.cgi?id=86583

        breaks chromium browser_tests (Requested by bashi1 on
        #webkit).

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        * loader/archive/mhtml/MHTMLArchive.cpp:
        (WebCore::MHTMLArchive::create):

2012-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        REGRESSION(r105057): Infinite loop inside SVGTextLayoutEngine::currentLogicalCharacterMetrics
        https://bugs.webkit.org/show_bug.cgi?id=83405

        Reviewed by Darin Adler.

        Dynamically adding tspans carrying position information in the x/y/dx/dy/rotate lists is broken.
        To avoid mistakes like this in future, simplify the calling code in RenderSVGInlineText and centralize
        the management of all caches (text positioning element cache / metrics map / layout attributes) in
        RenderSVGText. This avoids the hack in SVGRootInlineBox::computePerCharacterLayoutInformation() which
        called textRoot->rebuildLayoutAttributes(), which was used to fix previous security issues with this code.
        Instead correctly handle destruction of RenderSVGInlineText in RenderSVGText, keeping the m_layoutAttributes
        synchronized with the current state of the render tree. Fixes highcharts problems.

        Tests: svg/text/add-tspan-position-bug.html
               svg/text/highcharts-assertion.html
               svg/text/modify-tspan-position-bug.html

        * rendering/svg/RenderSVGBlock.h:
        (RenderSVGBlock):
        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::addChild):
        (WebCore::RenderSVGInline::removeChild):
        * rendering/svg/RenderSVGInline.h:
        (RenderSVGInline):
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::setTextInternal):
        (WebCore::RenderSVGInlineText::styleDidChange):
        * rendering/svg/RenderSVGInlineText.h:
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::RenderSVGText):
        (WebCore::RenderSVGText::~RenderSVGText):
        (WebCore::collectLayoutAttributes):
        (WebCore::RenderSVGText::subtreeChildWasAdded):
        (WebCore::findPreviousAndNextAttributes):
        (WebCore::checkLayoutAttributesConsistency):
        (WebCore::RenderSVGText::willBeDestroyed):
        (WebCore::RenderSVGText::subtreeChildWillBeRemoved):
        (WebCore::RenderSVGText::subtreeChildWasRemoved):
        (WebCore::RenderSVGText::subtreeStyleDidChange):
        (WebCore::RenderSVGText::subtreeTextDidChange):
        (WebCore::updateFontInAllDescendants):
        (WebCore::RenderSVGText::layout):
        (WebCore::RenderSVGText::addChild):
        (WebCore::RenderSVGText::removeChild):
        * rendering/svg/RenderSVGText.h:
        (RenderSVGText):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::layoutChildren):
        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForWholeTree):
        (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForTextRenderer):
        (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
        (SVGTextLayoutAttributesBuilder):
        (WebCore::SVGTextLayoutAttributesBuilder::numberOfTextPositioningElements):
        * svg/SVGAElement.cpp:
        * svg/SVGAElement.h:
        (SVGAElement):
        * svg/SVGTextContentElement.cpp:
        * svg/SVGTextContentElement.h:
        (SVGTextContentElement):

2012-05-15  Abhishek Arya  <inferno@chromium.org>

        Crash in Document::nodeChildrenWillBeRemoved.
        https://bugs.webkit.org/show_bug.cgi?id=85247

        Reviewed by Hajime Morita.

        Reverse ordering of commands to ref ptr the children set
        first before calling nodeChildrenWillBeRemoved, since it
        can fire mutation events.

        Test: fast/dom/HTMLObjectElement/beforeload-set-text-crash.xhtml

        * dom/ContainerNode.cpp:
        (WebCore::willRemoveChildren):

2012-05-15  Igor Oliveira  <igor.o@sisa.samsung.com>

        regression(111639): Issue with simultaneous CSS animations
        https://bugs.webkit.org/show_bug.cgi?id=85929

        Currently, previousTimeToNextService is just saving the previous CompositeAnimation::timeToNextService
        for AnimationControllerPrivate::updateAnimationTimerForRenderer, however CompositeAnimation::timeToNextService
        is also called and used by updateAnimationTimer. Make sure we save the existing timeToNextService from
        both places, updateAnimationTimerForRenderer and updateAnimationTimer.

        Reviewed by Dean Jackson.

        Test: animations/fill-mode-forwards.html

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
        (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
        * page/animation/AnimationControllerPrivate.h:
        (AnimationControllerPrivate):

2012-05-15  Tien-Ren Chen  <trchen@chromium.org>

        [Chromium] CCTimer::isActive() is incorrect inside tick callback
        https://bugs.webkit.org/show_bug.cgi?id=86513

        This patch implements CCTimer::isActive() by clearing the task pointer
        when the timer fires.

        Reviewed by James Robinson.

        No new tests. Existing tests updated accordingly.

        * platform/graphics/chromium/cc/CCTimer.cpp:
        (WebCore::CCTimerTask::performTask):
        * rendering/RenderLayerBacking.cpp:

2012-05-15  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        (WebCore::JSFloat64Array::getOwnPropertySlot):
        (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
        (WebCore::JSFloat64Array::put):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::JSTestEventTarget::getOwnPropertySlot):
        (WebCore::JSTestEventTarget::getOwnPropertyDescriptor):

2012-05-15  Shinya Kawanaka  <shinyak@chromium.org>

        Rename Node::shadowTreeRootNode() to Node::shadowRoot()
        https://bugs.webkit.org/show_bug.cgi?id=86449

        Reviewed by Darin Adler.

        Since Node::shadowTreeRootNode() returns always a ShadowRoot now, shadowRoot() is
        mure suitable than shadowTreeRootNode().

        This patch changes the method name.

        No new tests, no change in behavior.

        * WebCore.order:
        * dom/Node.cpp:
        (WebCore::Node::rendererIsEditable):
        (WebCore::Node::shadowAncestorNode):
        (WebCore::Node::shadowRoot):
        * dom/Node.h:
        (Node):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        * dom/Range.cpp:
        (WebCore::Range::shadowRoot):
        * dom/Range.h:
        (Range):
        * editing/Editor.cpp:
        (WebCore::Editor::nextVisibleRange):
        (WebCore::Editor::countMatchesForText):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleReplacedElement):
        * editing/htmlediting.cpp:
        (WebCore::indexForVisiblePosition):
        * html/shadow/ContentSelectorQuery.cpp:
        (WebCore::ContentSelectorQuery::matches):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::parseAttribute):
        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::detach):
        * page/EventHandler.cpp:
        (WebCore::instanceAssociatedWithShadowTreeElement):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::correspondingElement):
        (WebCore::collectInstancesForSVGElement):

2012-05-15  Nico Weber  <thakis@chromium.org>

        [chromium] Remove some unused gyp lines
        https://bugs.webkit.org/show_bug.cgi?id=86545

        Reviewed by Dirk Pranke.

        mac_framework_dirs adds directories to search for frameworks
        (similar to -I for includes), it doesn't add any frameworks.
        Having something that ends in .framewok in mac_framework_dirs
        doesn't make sense.

        No intended functionality change.

        * WebCore.gyp/WebCore.gyp:

2012-05-13  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] build a static list of mime-types
        https://bugs.webkit.org/show_bug.cgi?id=86331

        Reviewed by Martin Robinson.

        Don't bother parsing the gstreamer typefind factories and doing
        ugly hacks around this. Instead build a static list and let our
        ::supportsType() method return MediaPlayer::MayBeSupported or
        MediaPlayer::IsSupported for them. Playback will still fail if a
        demuxer or decoder is missing for one of these mime-types but we
        will handle that case more properly soon by fixing bug 34085 and
        bug 34318.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

2012-05-15  Greg Spencer  <gspencer@chromium.org>

        MHTML files should be loadable from all schemes considered local,
        not just file:

        https://bugs.webkit.org/show_bug.cgi?id=86540

        Reviewed by Adam Barth.

        Current tests should assure that loading is still allowed locally.

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        * loader/archive/mhtml/MHTMLArchive.cpp:
        (WebCore::MHTMLArchive::create):

2012-05-15  Fady Samuel  <fsamuel@chromium.org>

        [Chromium] Reset ScriptInstance in HTMLPlugInElement on WebPluginContainerImpl::setPlugin
        https://bugs.webkit.org/show_bug.cgi?id=86535

        Reviewed by Darin Fisher.
        
        When we swap out WebPluginImpls for the Browser Plugin, the HTMLPlugInElement continues
        to use a now invalid ScriptInstance, so we reset the ScriptInstance on WebPluginContainerImpl::setPlugin

        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::resetInstance):
        (WebCore):
        * html/HTMLPlugInElement.h:
        (HTMLPlugInElement):

2012-05-15  Robert Hogan  <robert@webkit.org>

        Heap-use-after-free in WebCore::RenderBlock::layoutRunsAndFloats
        https://bugs.webkit.org/show_bug.cgi?id=86206

        Reviewed by Abhishek Arya.

        Revert https://trac.webkit.org/changeset/116438/. It caused three different regressions on 
        ClusterFuzz.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter):
        * rendering/RenderBlock.h:
        (RenderBlock):

2012-05-15  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=86549
        Page Scale + Tiled Drawing: Twitter sign in page content disappears 
        after typing into name and enabling password field
        -and corresponding-
        <rdar://problem/11415352>

        Reviewed by Oliver Hunt.

        The enormous rect we used to use would overflow in CA and do nothing 
        when there was any scale > 1 on the context. Instead, just call 
        setNeedsDisplay on each tile.
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::setNeedsDisplay):

2012-05-15  Andreas Kling  <kling@webkit.org>

        Pass Attribute by const reference as much as possible.
        <http://webkit.org/b/86487>

        Reviewed by Darin Adler.

        Switch to passing around "const Attribute&" instead of "Attribute*" wherever possible.
        This helps enforce the constness and non-nullity of these arguments at compile time.

        Also renamed 'attr' to 'attribute' in the touched code. Attr and Attribute are two
        different classes, so having "Attribute attr" just looks wrong.

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/js/ScriptEventListener.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/v8/ScriptEventListener.h:
        * dom/Attr.cpp:
        (WebCore::Attr::setPrefix):
        (WebCore::Attr::setValue):
        (WebCore::Attr::childrenChanged):
        (WebCore::Attr::style):
        (WebCore::Attr::elementAttribute):
        * dom/Attr.h:
        * dom/Element.cpp:
        (WebCore::Element::setAttributeInternal):
        (WebCore::Element::attributeChanged):
        (WebCore::Element::parserSetAttributes):
        (WebCore::Element::didAddAttribute):
        (WebCore::Element::didModifyAttribute):
        (WebCore::Element::didRemoveAttribute):
        * dom/Element.h:
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::addAttribute):
        (WebCore::ElementAttributeData::setAttributes):
        (WebCore::ElementAttributeData::replaceAttribute):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):
        (WebCore::StyledElement::parseAttribute):
        (WebCore::StyledElement::updateAttributeStyle):
        * dom/StyledElement.h:
        (WebCore::StyledElement::collectStyleForAttribute):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::parseAttribute):
        * html/HTMLAnchorElement.h:
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::parseAttribute):
        * html/HTMLAppletElement.h:
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::parseAttribute):
        * html/HTMLAreaElement.h:
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::collectStyleForAttribute):
        * html/HTMLBRElement.h:
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::parseAttribute):
        * html/HTMLBaseElement.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::collectStyleForAttribute):
        (WebCore::HTMLBodyElement::parseAttribute):
        * html/HTMLBodyElement.h:
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::parseAttribute):
        * html/HTMLButtonElement.h:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::parseAttribute):
        * html/HTMLCanvasElement.h:
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::parseAttribute):
        * html/HTMLDetailsElement.h:
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::collectStyleForAttribute):
        * html/HTMLDivElement.h:
        * html/HTMLElement.cpp:
        (WebCore::parseBorderWidthAttribute):
        (WebCore::HTMLElement::applyBorderAttributeToStyle):
        (WebCore::HTMLElement::mapLanguageAttributeToLocale):
        (WebCore::HTMLElement::collectStyleForAttribute):
        (WebCore::HTMLElement::parseAttribute):
        (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
        (WebCore::HTMLElement::dirAttributeChanged):
        * html/HTMLElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::collectStyleForAttribute):
        (WebCore::HTMLEmbedElement::parseAttribute):
        * html/HTMLEmbedElement.h:
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::collectStyleForAttribute):
        * html/HTMLFontElement.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::parseAttribute):
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::parseAttribute):
        * html/HTMLFormElement.h:
        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::parseAttribute):
        * html/HTMLFrameElement.h:
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseAttribute):
        * html/HTMLFrameElementBase.h:
        (HTMLFrameElementBase):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::collectStyleForAttribute):
        (WebCore::HTMLFrameSetElement::parseAttribute):
        * html/HTMLFrameSetElement.h:
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::collectStyleForAttribute):
        * html/HTMLHRElement.h:
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::collectStyleForAttribute):
        (WebCore::HTMLIFrameElement::parseAttribute):
        * html/HTMLIFrameElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::collectStyleForAttribute):
        (WebCore::HTMLImageElement::parseAttribute):
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateType):
        (WebCore::HTMLInputElement::collectStyleForAttribute):
        (WebCore::HTMLInputElement::parseAttribute):
        (WebCore::HTMLInputElement::parseMaxLengthAttribute):
        * html/HTMLInputElement.h:
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::parseAttribute):
        * html/HTMLKeygenElement.h:
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::collectStyleForAttribute):
        (WebCore::HTMLLIElement::parseAttribute):
        * html/HTMLLIElement.h:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::parseAttribute):
        * html/HTMLLinkElement.h:
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::parseAttribute):
        * html/HTMLMapElement.h:
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
        * html/HTMLMarqueeElement.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseAttribute):
        * html/HTMLMediaElement.h:
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::parseAttribute):
        * html/HTMLMetaElement.h:
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::parseAttribute):
        * html/HTMLMeterElement.h:
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::collectStyleForAttribute):
        (WebCore::HTMLOListElement::parseAttribute):
        * html/HTMLOListElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::collectStyleForAttribute):
        (WebCore::HTMLObjectElement::parseAttribute):
        * html/HTMLObjectElement.h:
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::parseAttribute):
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::parseAttribute):
        * html/HTMLOptionElement.h:
        * html/HTMLOutputElement.cpp:
        (WebCore::HTMLOutputElement::parseAttribute):
        * html/HTMLOutputElement.h:
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::collectStyleForAttribute):
        * html/HTMLParagraphElement.h:
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::collectStyleForAttribute):
        * html/HTMLPlugInElement.h:
        * html/HTMLPreElement.cpp:
        (WebCore::HTMLPreElement::collectStyleForAttribute):
        * html/HTMLPreElement.h:
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::parseAttribute):
        * html/HTMLProgressElement.h:
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::parseAttribute):
        * html/HTMLScriptElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::parseAttribute):
        (WebCore::HTMLSelectElement::parseMultipleAttribute):
        * html/HTMLSelectElement.h:
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::parseAttribute):
        * html/HTMLStyleElement.h:
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
        * html/HTMLTableCaptionElement.h:
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::collectStyleForAttribute):
        (WebCore::HTMLTableCellElement::parseAttribute):
        * html/HTMLTableCellElement.h:
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::collectStyleForAttribute):
        (WebCore::HTMLTableColElement::parseAttribute):
        * html/HTMLTableColElement.h:
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::collectStyleForAttribute):
        (WebCore::HTMLTableElement::parseAttribute):
        * html/HTMLTableElement.h:
        * html/HTMLTablePartElement.cpp:
        (WebCore::HTMLTablePartElement::collectStyleForAttribute):
        * html/HTMLTablePartElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
        (WebCore::HTMLTextAreaElement::parseAttribute):
        * html/HTMLTextAreaElement.h:
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::parseAttribute):
        * html/HTMLTextFormControlElement.h:
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::parseAttribute):
        * html/HTMLTrackElement.h:
        * html/HTMLUListElement.cpp:
        (WebCore::HTMLUListElement::collectStyleForAttribute):
        * html/HTMLUListElement.h:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::collectStyleForAttribute):
        (WebCore::HTMLVideoElement::parseAttribute):
        * html/HTMLVideoElement.h:
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::parseAttribute):
        * html/shadow/HTMLContentElement.h:
        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::collectStyleForAttribute):
        * mathml/MathMLElement.h:
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::parseAttribute):
        * svg/SVGAElement.h:
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::parseAttribute):
        * svg/SVGAnimateMotionElement.h:
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::parseAttribute):
        * svg/SVGAnimateTransformElement.h:
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::parseAttribute):
        * svg/SVGAnimationElement.h:
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::parseAttribute):
        * svg/SVGCircleElement.h:
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::parseAttribute):
        * svg/SVGClipPathElement.h:
        * svg/SVGComponentTransferFunctionElement.cpp:
        (WebCore::SVGComponentTransferFunctionElement::parseAttribute):
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::parseAttribute):
        * svg/SVGCursorElement.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::reportAttributeParsingError):
        (WebCore::SVGElement::parseAttribute):
        (WebCore::SVGElement::attributeChanged):
        * svg/SVGElement.h:
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::parseAttribute):
        * svg/SVGEllipseElement.h:
        * svg/SVGExternalResourcesRequired.cpp:
        (WebCore::SVGExternalResourcesRequired::parseAttribute):
        * svg/SVGExternalResourcesRequired.h:
        (SVGExternalResourcesRequired):
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::parseAttribute):
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::parseAttribute):
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::parseAttribute):
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::parseAttribute):
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::parseAttribute):
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::parseAttribute):
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::parseAttribute):
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEDropShadowElement.cpp:
        (WebCore::SVGFEDropShadowElement::parseAttribute):
        * svg/SVGFEDropShadowElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::parseAttribute):
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::parseAttribute):
        * svg/SVGFEImageElement.h:
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::parseAttribute):
        * svg/SVGFELightElement.h:
        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::parseAttribute):
        * svg/SVGFEMergeNodeElement.h:
        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::parseAttribute):
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::parseAttribute):
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::parseAttribute):
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::parseAttribute):
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::parseAttribute):
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::parseAttribute):
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        (SVGFilterPrimitiveStandardAttributes):
        * svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseAttribute):
        * svg/SVGFitToViewBox.h:
        (SVGFitToViewBox):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::parseAttribute):
        * svg/SVGFontFaceElement.h:
        * svg/SVGFontFaceUriElement.cpp:
        (WebCore::SVGFontFaceUriElement::parseAttribute):
        * svg/SVGFontFaceUriElement.h:
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::parseAttribute):
        * svg/SVGForeignObjectElement.h:
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::parseAttribute):
        * svg/SVGGElement.h:
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::parseAttribute):
        * svg/SVGGlyphElement.h:
        * svg/SVGGlyphRefElement.cpp:
        (WebCore::SVGGlyphRefElement::parseAttribute):
        * svg/SVGGlyphRefElement.h:
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::parseAttribute):
        * svg/SVGGradientElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::collectStyleForAttribute):
        (WebCore::SVGImageElement::parseAttribute):
        * svg/SVGImageElement.h:
        * svg/SVGImageLoader.cpp:
        (WebCore::SVGImageLoader::sourceURI):
        * svg/SVGLangSpace.cpp:
        (WebCore::SVGLangSpace::parseAttribute):
        * svg/SVGLangSpace.h:
        (SVGLangSpace):
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::parseAttribute):
        * svg/SVGLineElement.h:
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::parseAttribute):
        * svg/SVGLinearGradientElement.h:
        * svg/SVGMPathElement.cpp:
        (WebCore::SVGMPathElement::parseAttribute):
        * svg/SVGMPathElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::parseAttribute):
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::parseAttribute):
        * svg/SVGMaskElement.h:
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::parseAttribute):
        * svg/SVGPathElement.h:
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::parseAttribute):
        * svg/SVGPatternElement.h:
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::parseAttribute):
        * svg/SVGPolyElement.h:
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::parseAttribute):
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::parseAttribute):
        * svg/SVGRectElement.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::parseAttribute):
        * svg/SVGSVGElement.h:
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::parseAttribute):
        * svg/SVGScriptElement.h:
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::parseAttribute):
        * svg/SVGStopElement.h:
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::parseAttribute):
        * svg/SVGStyleElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::collectStyleForAttribute):
        (WebCore::SVGStyledElement::parseAttribute):
        * svg/SVGStyledElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::parseAttribute):
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::parseAttribute):
        * svg/SVGSymbolElement.h:
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::parseAttribute):
        * svg/SVGTRefElement.h:
        * svg/SVGTests.cpp:
        (WebCore::SVGTests::parseAttribute):
        * svg/SVGTests.h:
        (SVGTests):
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::collectStyleForAttribute):
        (WebCore::SVGTextContentElement::parseAttribute):
        * svg/SVGTextContentElement.h:
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::parseAttribute):
        * svg/SVGTextElement.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::parseAttribute):
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::parseAttribute):
        * svg/SVGTextPositioningElement.h:
        * svg/SVGURIReference.cpp:
        (WebCore::SVGURIReference::parseAttribute):
        * svg/SVGURIReference.h:
        (SVGURIReference):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::parseAttribute):
        * svg/SVGUseElement.h:
        * svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::parseAttribute):
        * svg/SVGViewElement.h:
        * svg/SVGZoomAndPan.cpp:
        (WebCore::SVGZoomAndPan::parseAttribute):
        * svg/SVGZoomAndPan.h:
        (SVGZoomAndPan):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::parseAttribute):
        * svg/animation/SVGSMILElement.h:

2012-05-15  Kenneth Russell  <kbr@google.com>

        Assertion failure running Mozilla's WebGL performance regression tests
        https://bugs.webkit.org/show_bug.cgi?id=85942

        Reviewed by Stephen White.

        Fixed incorrect assumptions about source formats and buffer sizes
        when uploading to floating-point textures. Added code paths
        supporting the necessary conversions.

        Tests have been added to the WebGL conformance suite which cover
        these new code paths; they verify uploads of HTMLCanvasElement,
        HTMLImageElement, HTMLVideoElement, and ImageData to
        floating-point textures. However, because floating-point texture
        support is optional, and generally only supported on bots which
        run with real GPUs and not in virtual machines, it isn't feasible
        to incorporate these tests as layout tests.

        Ran the new WebGL conformance tests in Chromium on Linux; all
        pass.

        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::extractImageData):
        Properly compute size of destination buffer.

        (WebCore):
        Add pack/unpack routines for converting RGBA8/BGRA8 to floating point.

        (WebCore::doFloatingPointPacking):
        Support RGBA8 and BGRA8 source formats.

        (WebCore::isFloatingPointSource):
        Factored out logic for assertions.

        (WebCore::GraphicsContext3D::packPixels):
        Generalized assertions and logic.

        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        Properly compute size of destination buffer.

        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        Properly compute size of destination buffer.

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        Properly compute size of destination buffer.

        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        Properly compute size of destination buffer.

2012-05-15  James Robinson  <jamesr@chromium.org>

        [chromium] Chromium port never sets USE(CG) so code behind it is dead
        https://bugs.webkit.org/show_bug.cgi?id=86537

        Reviewed by Adrienne Walker.

        Deletes code behind USE(CG) in chromium-specific code and removes unneeded USE(SKIA) guards.

        * platform/chromium/DragImageRef.h:
        (WebCore):
        * platform/chromium/MIMETypeRegistryChromium.cpp:
        (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::paint):
        * platform/chromium/ThemeChromiumMac.mm:
        (WebCore::paintStepper):
        * platform/graphics/chromium/PlatformImage.cpp:
        (WebCore::PlatformImage::updateFromImage):

2012-05-15  Keyar Hood  <keyar@chromium.org>

        Skia does not respect a specified InterpolationQuality
        https://bugs.webkit.org/show_bug.cgi?id=86249

        Reviewed by Stephen White.

        The added functionality is not exposed to higher layers of webkit.
        Tests will be added that will exercise these changes when bug 82804 is 
        fixed.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawImageBuffer):
        Code to have the useLowQualityScale cause the InterpolationQuality be
        be set to low for Chromium but remain as none for other platforms.
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::limitResamplingMode): Added
        (WebCore):
        (WebCore::paintSkBitmap):
        (WebCore::Image::drawPattern):
        We now limit the resampling choice based on what InterpolationQuality
        is set as. InterpolationNone restricts resampling to RESAMPLE_NONE,
        InterpolationLow and InterpolationMedium restricts resampling to
        RESAMPLE_LINEAR. InterpolationHigh and InterpolationDefault do not
        change the resampling.
        
        Furthermore, the choice on how to set the filter bitmap flag in
        paintSkBitmap was made to be consistent with that in
        Image::drawPattern.


2012-05-15  Jeffrey Pfau  <jpfau@apple.com>

        ImageDocuments erroneously trigger beforeload events for the main resource
        https://bugs.webkit.org/show_bug.cgi?id=86543
        <rdar://problem/11309013>

        Reviewed by Brady Eidson.

        No new tests; testing framework doesn't allow for testing ImageDocuments with injected JavaScript.

        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::updateFromElement):

2012-05-15  Dirk Pranke  <dpranke@chromium.org>

        [chromium] ScrollElasticityController.mm doesn't compile with the 10.6 SDK on mac
        https://bugs.webkit.org/show_bug.cgi?id=86544

        Reviewed by Anders Carlsson.

        This is a build fix for now until we can figure out what a
        better way to approach this is.

        * platform/mac/ScrollElasticityController.mm:
        (WebCore):

2012-05-15  Nate Chapin  <japhet@chromium.org>

        MainResourceLoader::load() always returns true, so make it return
        void and delete the related dead code.
        https://bugs.webkit.org/show_bug.cgi?id=86413

        Reviewed by Alexey Proskuryakov.

        No new tests, cleanup only.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::startLoadingMainResource):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::load):
        * loader/MainResourceLoader.h:
        (MainResourceLoader):

2012-05-15  Ian Vollick  <vollick@chromium.org>

        [chromium] Ensure animations get ticked at least once when added.
        https://bugs.webkit.org/show_bug.cgi?id=86013

        Reviewed by James Robinson.

        Tested in
          CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThreaded
          CCLayerTreeHostTestAddAnimationWithTimingFunction.runSingleThreaded
          CCLayerTreeHostTestSynchronizeAnimationStartTimes.runSingleThreaded
          CCLayerTreeHostTestAnimationFinishedEvents.runSingleThreaded

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::addAnimation):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::didAddAnimation):
        (WebCore):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (CCSingleThreadProxyAnimationTimer):
        (WebCore::CCSingleThreadProxyAnimationTimer::create):
        (WebCore::CCSingleThreadProxyAnimationTimer::CCSingleThreadProxyAnimationTimer):
        (WebCore):
        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
        (WebCore::CCSingleThreadProxy::didAddAnimation):
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2012-05-15  Alexandre Elias  <aelias@google.com>

        [chromium] Fix unsafe viewport tag dispatch
        https://bugs.webkit.org/show_bug.cgi?id=80554

        Reviewed by Adam Barth.

        In some uncommon situations (such as window.open() new tab on
        Android), dispatchViewportPropertiesDidChange may early-return without
        setting the page scale because the window size is not yet
        available from the embedder.  At that point, the previous behavior was
        to call it again in layoutUpdated(), but this is unsafe since it
        leaves a pending needsLayout.

        I moved the dispatch call into WebViewImpl::didChangeContentsSize and
        WebViewImpl::resize() instead -- these represent more explicitly the
        situations where the inputs to the viewport tag calculation change.  I
        removed the other dispatch call from setFrameRect as it's now
        redundant.

        Covered by FixedLayoutInitializeAtMinimumPageScale test introduced
        in http://webk.it/82949 (an assertion will fire there without
        this fix).

        * page/FrameView.cpp:
        (WebCore::FrameView::setFrameRect):

2012-05-15  Jer Noble  <jer.noble@apple.com>

        r117147 causes a null-deref crash in DOMImplementation::createDocument()
        https://bugs.webkit.org/show_bug.cgi?id=86532

        Reviewed by James Robinson.

        No new tests, but fixes many crashing tests.

        Protect against the possibility of being passed a NULL frame in
        DOMImplementation::createDocument().

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):

2012-05-15  Julien Chaffraix  <jchaffraix@webkit.org>

        Use posZOrderList() / negZOrderList() everywhere to avoid querying dirtied lists
        https://bugs.webkit.org/show_bug.cgi?id=86416

        Reviewed by Simon Fraser.

        Covered by existing tests that are not ASSERTing after this change.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::update3DTransformedDescendantStatus):
        Added a call to updateZOrderLists() to the previous sites as nothing guarantees
        that we have recomputed our z-order lists.

        (WebCore::RenderLayer::paintLayerContents):
        (WebCore::RenderLayer::hitTestLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::needsContentsCompositingLayer):
        Converted those functions to use the safe getters.

        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::hasNegativeZOrderList):
        Newly added funtion to return if we have a negative z-order list.

2012-05-15  Abhishek Arya  <inferno@chromium.org>

        Crash due shadow tree parent confusion in SVG.
        https://bugs.webkit.org/show_bug.cgi?id=84248

        Reviewed by Nikolas Zimmermann.

        Test: svg/foreignObject/viewport-foreignobject-crash.html

        When we try to make a decision on whether we need an outer
        SVGRoot container, we detect if we are in shadow tree or not.
        We also need to make sure that our parentOrHostElement is also
        an svg element. 

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::isOutermostSVGSVGElement):

2012-05-15  Lauro Neto  <lauro.neto@openbossa.org>

        [File API] URL methods handling null arguments
        https://bugs.webkit.org/show_bug.cgi?id=69693

        Reviewed by Adam Barth.

        Per the latest editor's draft of the File API:
        http://dev.w3.org/2006/webapi/FileAPI/#dfn-createObjectURL

        Use null instead of undefined as return value when a
        null blob is given to URL.createObjectURL.

        Test: fast/files/url-null.html

        * html/DOMURL.idl:

2012-05-15  Jer Noble  <jer.noble@apple.com>

        Unreviewed build fix [Qt].

        Protect the definition of DOMImplementationSupportsTypeClient class with
        #if ENABLE(VIDEO) so as not to cause compilation errors on ports with
        VIDEO disabled.

        * dom/DOMImplementation.cpp:

2012-05-14  Jer Noble  <jer.noble@apple.com>

        Site-specific hack: Disclaim WebM as a supported type on Mac for YouTube.
        https://bugs.webkit.org/show_bug.cgi?id=86409

        Reviewed by Darin Adler.

        No new tests; site specific hack.

        Add a Mac-only site-specific hack which disclaims both video/webm and video/x-flv
        as supported types when the media element's document has a host of youtube.com.

        Add a new, pure-virtual prototype class for use by MediaPlayer::supportsType:
        * platform/graphics/MediaPlayer.h:
        (MediaPlayerSupportsTypeClient):
        (WebCore::MediaPlayerSupportsTypeClient::~MediaPlayerSupportsTypeClient):
        (WebCore::MediaPlayerSupportsTypeClient::mediaPlayerNeedsSiteSpecificHacks):
        (WebCore::MediaPlayerSupportsTypeClient::mediaPlayerDocumentHost):

        Use these new client calls to determine whether to apply the site-specific
        hack:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::supportsType):

        Add this prototype class as a superclass of HTMLMediaElement.  Pass in the
        HTMLMediaElement's this pointer when calling MediaPlayer::supportsType():
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::canPlayType):
        (WebCore::HTMLMediaElement::selectNextSourceChild):
        (WebCore::HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks):
        (WebCore::HTMLMediaElement::mediaPlayerDocumentHost):
        * html/HTMLMediaElement.h:

        As is HTMLMediaElement, a MediaPlayerSupportsTypeClient class is needed. Add a
        new class DOMImplementationSupportsTypeClient, an instance of which will be 
        passed to MediaPlayer::supportsType():
        * dom/DOMImplementation.cpp:
        (DOMImplementationSupportsTypeClient):
        (WebCore::DOMImplementationSupportsTypeClient::DOMImplementationSupportsTypeClient):
        (WebCore::DOMImplementation::createDocument):
        (WebCore::DOMImplementation::mediaPlayerNeedsSiteSpecificHacks):
        (WebCore::DOMImplementation::mediaPlayerDocumentHost):
        * dom/DOMImplementation.h:

2012-05-15  Anders Carlsson  <andersca@apple.com>

        Use unaccelerated scrolling deltas when rubber-banding
        https://bugs.webkit.org/show_bug.cgi?id=86503
        <rdar://problem/11378742>

        Reviewed by Sam Weinig.

        * WebCore.exp.in:
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        (PlatformWheelEvent):
        (WebCore::PlatformWheelEvent::scrollCount):
        (WebCore::PlatformWheelEvent::unacceleratedScrollingDeltaX):
        (WebCore::PlatformWheelEvent::unacceleratedScrollingDeltaY):
        Add scroll count and unaccelerated scrolling deltas.

        * platform/mac/ScrollElasticityController.mm:
        (WebCore::elasticDeltaForTimeDelta):
        (WebCore::elasticDeltaForReboundDelta):
        (WebCore::reboundDeltaForElasticDelta):
        Call the new WKSI functions.

        (WebCore::ScrollElasticityController::handleWheelEvent):
        Use the unaccelerated scrolling deltas when needed.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        Add new WKSI functions.

2012-05-15  Terry Anderson  <tdanderson@chromium.org>

        [chromium] Compute the best target node on a GestureTap event
        https://bugs.webkit.org/show_bug.cgi?id=85101

        Reviewed by Adam Barth.

        Using the tests in the touchadjustment/ directory.

        * WebCore.gypi:
        Include TouchAdjustment.* files.
        * page/TouchAdjustment.cpp:
        (WebCore::TouchAdjustment::zoomableIntersectionQuotient):
        (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
        No longer using the INFINITY constant due to problems with compiling
        on chromium win.

2012-05-15  Chris Rogers  <crogers@google.com>

        Add AudioSummingJunction class to handle fan-in (abstracted from AudioNodeInput)
        https://bugs.webkit.org/show_bug.cgi?id=86396

        Reviewed by Kenneth Russell.

        No new tests.  Existing layout tests already extensively test summing.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        Add AudioSummingJunction files to makefiles.

        * Modules/webaudio/AudioContext.cpp:
        * Modules/webaudio/AudioContext.h:
        (WebCore::AudioContext::handlePreRenderTasks):
        (WebCore::AudioContext::handlePostRenderTasks):
        (WebCore::AudioContext::deleteMarkedNodes):
        (WebCore::AudioContext::markSummingJunctionDirty):
        (WebCore::AudioContext::removeMarkedSummingJunction):
        (WebCore::AudioContext::handleDirtyAudioSummingJunctions):
        Simple munge from AudioNodeInput -> AudioSummingJunction

        * Modules/webaudio/AudioNodeInput.cpp:
        * Modules/webaudio/AudioNodeInput.h:
        (WebCore::AudioNodeInput::AudioNodeInput):
        (WebCore::AudioNodeInput::didUpdate):
        Remove logic from AudioNodeInput which now is being moved to AudioSummingJunction.

        * Modules/webaudio/AudioSummingJunction.cpp: Added.
        * Modules/webaudio/AudioSummingJunction.h: Added.
        (WebCore::AudioSummingJunction::AudioSummingJunction):
        (WebCore::AudioSummingJunction::~AudioSummingJunction):
        (WebCore::AudioSummingJunction::changedOutputs):
        (WebCore::AudioSummingJunction::updateRenderingState):
        (WebCore::AudioSummingJunction::context):
        (WebCore::AudioSummingJunction::numberOfRenderingConnections):
        (WebCore::AudioSummingJunction::renderingOutput):
        (WebCore::AudioSummingJunction::isConnected):
        (WebCore::AudioSummingJunction::numberOfConnections):
        Add AudioSummingJunction which is an abstraction to manage/track the connections from AudioNodeOutputs
        representing the fan-in points for unity gain summing junctions.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        Add AudioSummingJunction files to makefiles.

2012-05-15  Dan Bernstein  <mitz@apple.com>

        Ruby annotation is incorrectly identified as a paragraph boundary
        https://bugs.webkit.org/show_bug.cgi?id=86507

        Reviewed by Darin Adler.

        Test: editing/selection/paragraph-with-ruby.html

        * editing/htmlediting.cpp:
        (WebCore::isBlock): Changed to return false for ruby text.

2012-05-15  Philippe Normand  <pnormand@igalia.com>

        [GTK] Un-used GStreamer linker options
        https://bugs.webkit.org/show_bug.cgi?id=86407

        Reviewed by Martin Robinson.

        * GNUmakefile.am: Remove no-longer used webcore_libadd variable.

2012-05-15  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=86506
        REGRESSION (tiled drawing): No scrollbar while page is loading
        -and corresponding
        <rdar://problem/11444589>

        Reviewed by Anders Carlsson.

        We have always had a mechanism in place to suppress painting overlay 
        scrollbars while the page is loading. However, that mechaism is 
        overriden if the page has been scrolled. It should be, anyway. It was 
        not being overriden when the scrolling was handled as a wheel event by 
        the scrolling tree. This patch takes advantage of the fact that 
        ScrollingTree::handleWheelEvent() already calls back to the main 
        thread for handleWheelEventPhase() and just patches 
        handleWheelEventPhase to mark m_haveScrolledSincePageLoad as true.
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleWheelEventPhase):

2012-05-15  Jessie Berlin  <jberlin@apple.com>

        WKContextSetCacheModel(contextref, kWKCacheModelDocumentViewer) doesn't prevent pages from
        going into the PageCache.
        https://bugs.webkit.org/show_bug.cgi?id=85891

        Reviewed by Brady Eidson.

        Do not claim that it is possible to cache a page when the page cache has a capacity of 0.

        Covered by the modified DOMWindowExtensionNoCache WK2 API test.

        * history/PageCache.cpp:
        (WebCore::PageCache::canCache):
        Check m_capacity.
        * history/PageCache.h:

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad):
        canCache is no longer static on PageCache.

2012-05-15  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r116811.
        http://trac.webkit.org/changeset/116811
        https://bugs.webkit.org/show_bug.cgi?id=86257

        Introduced layering violation

        * WebCore.gypi:

2012-05-15  Darin Adler  <darin@apple.com>

        Font copy constructor unnecessarily recalculates transcoding
        https://bugs.webkit.org/show_bug.cgi?id=86490

        Reviewed by Dan Bernstein.

        * platform/graphics/Font.cpp:
        (WebCore::Font::Font): Copy m_needsTranscoding instead of recomputing it.

2012-05-15  Andreas Kling  <kling@webkit.org>

        Deep copy PluginModuleInfo before passing across thread boundary.
        <http://webkit.org/b/86491>
        <rdar://problem/11451178>

        Reviewed by Anders Carlsson.

        * plugins/PluginData.h:
        (MimeClassInfo):
        (WebCore::MimeClassInfo::isolatedCopy):
        (PluginInfo):
        (WebCore::PluginInfo::isolatedCopy):

2012-05-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116712.
        http://trac.webkit.org/changeset/116712
        https://bugs.webkit.org/show_bug.cgi?id=86484

        This patch is causing crashes in Chromium Canary builds
        (Requested by pilgrim_google__ on #webkit).

        * storage/StorageArea.h:
        (StorageArea):
        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
        (WebCore::StorageAreaImpl::setItem):
        (WebCore::StorageAreaImpl::removeItem):
        (WebCore::StorageAreaImpl::clear):
        * storage/StorageAreaImpl.h:
        (StorageAreaImpl):

2012-05-15  Darin Adler  <darin@apple.com>

        Optimize save/restore with no drawing operations between them (shows up on some canvas benchmarks)
        https://bugs.webkit.org/show_bug.cgi?id=86448

        Reviewed by Simon Fraser.

        Since canvas programmers sometimes end up doing extra save/restore pairs with no actual drawing
        in between, optimize that case by not realizing saves until we have to. This is doubly important
        because saves are costly.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Initialize m_unrealizedSaveCount.
        (WebCore::CanvasRenderingContext2D::isAccelerated): Improve performance by calling the
        drawingContext function only once.
        (WebCore::CanvasRenderingContext2D::reset): Set m_unrealizedSaveCount to 0.
        (WebCore::CanvasRenderingContext2D::realizeSavesLoop): Added. Replaces the save function as the
        function that actually pushes context onto the state stack.
        (WebCore::CanvasRenderingContext2D::restore): Added code to do an early return if we can do the
        restore just by decrementing the unrealized save count.
        (WebCore::CanvasRenderingContext2D::setStrokeStyle): Added calls to realizeSaves and replaced
        calls to state with calls to modifiableState.
        (WebCore::CanvasRenderingContext2D::setFillStyle): Ditto.
        (WebCore::CanvasRenderingContext2D::setLineWidth): Ditto. Also added an early out for cases where
        the line width is not changing.
        (WebCore::CanvasRenderingContext2D::setLineCap): Ditto.
        (WebCore::CanvasRenderingContext2D::setLineJoin): Ditto.
        (WebCore::CanvasRenderingContext2D::setMiterLimit): Ditto.
        (WebCore::CanvasRenderingContext2D::setShadowOffsetX): Ditto.
        (WebCore::CanvasRenderingContext2D::setShadowOffsetY): Ditto.
        (WebCore::CanvasRenderingContext2D::setShadowBlur): Ditto.
        (WebCore::CanvasRenderingContext2D::setShadowColor): Ditto.
        (WebCore::CanvasRenderingContext2D::setWebkitLineDash): Ditto.
        (WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset): Ditto.
        (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Ditto.
        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Ditto.
        (WebCore::CanvasRenderingContext2D::scale): Ditto.
        (WebCore::CanvasRenderingContext2D::rotate): Ditto.
        (WebCore::CanvasRenderingContext2D::translate): Ditto.
        (WebCore::CanvasRenderingContext2D::transform): Ditto.
        (WebCore::CanvasRenderingContext2D::setTransform): Ditto.
        (WebCore::CanvasRenderingContext2D::setStrokeColor): Ditto.
        (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
        (WebCore::CanvasRenderingContext2D::clip): Ditto.
        (WebCore::CanvasRenderingContext2D::clearRect): Changed implementation so it does not save
        the graphics context in the common case where shadows, global alpha, and global compositing
        operators do not interfer with the function's operation. This allowed us to get rid of the
        setAllAttributesToDefault function, which was used nowhere else.
        (WebCore::CanvasRenderingContext2D::setShadow): Added a new common bottleneck and made all
        the setShadow functions call it.
        (WebCore::CanvasRenderingContext2D::clearShadow): Changed to call the new setShadow.
        (WebCore::CanvasRenderingContext2D::setFont): Renamed tempDecl to the more friendly
        parsedStyle. Changed code structure so the CSS parser is deleted right after parsing is
        done. Used string concatenation instead of more expensive string append. Added calls to
        realizeSaves and modifiableState.
        (WebCore::CanvasRenderingContext2D::setTextAlign): Added calls to realizeSaves and replaced
        calls to state with calls to modifiableState. Also added an early out for cases where the
        alignment is not changing.
        (WebCore::CanvasRenderingContext2D::setTextBaseline): Ditto.

        * html/canvas/CanvasRenderingContext2D.h: Made save an inline function that bumps
        m_unrealizedSaveCount. Removed setAllAttributesToDefault. Added OVERRIDE for all the
        virtual function overrides, and made them all private. Moved m_path down with the other data
        members. Renamed the non-const state function to modifiableState. Added a realizeSaves
        function and the realizeSavesLoop for the unusual case where there is work to do.
        Added m_unrealizedSaveCount.

2012-05-15  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Setting onended on a LocalMediaStream triggers an assertion in V8
        https://bugs.webkit.org/show_bug.cgi?id=86459

        Reviewed by Adam Barth.

        LocalMediaStream inherits from MediaStream, but only MediaStream have the
        EventTarget idl attribute. Adding the attribute to LocalMediaStream as well fixes the issue.

        Test: fast/mediastream/LocalMediaStream-onended.html

        * Modules/mediastream/LocalMediaStream.idl:

2012-05-15  Terry Anderson  <tdanderson@chromium.org>

        [chromium] Remove unused code for tap target fuzzing
        https://bugs.webkit.org/show_bug.cgi?id=86252

        Reviewed by Adam Barth.

        No tests required since this is a cleanup of unused code.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureTap):
        * page/EventHandler.h:
        (EventHandler):
        The touch adjustment code will be used to determine the best target
        for a GestureTap event instead of passing in a pre-targeted node.
        * platform/PlatformGestureEvent.h:
        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
        (PlatformGestureEvent):
        A rectangular touch region is defined by the touch center and the
        delta values only, so gammaX and gammaY are not needed.

2012-05-15  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        [Qt] WebKit with Qt5 hangs on Mac
        https://bugs.webkit.org/show_bug.cgi?id=79785

        Reviewed by Tor Arne Vestbø.

        Delay the initialization of our QNetworkConfigurationManager used in
        NetworkStateNotifierPrivate. On Mac it was causing a race condition because it
        spawns a thread that triggers a static initializer in Qt, while in the main
        thread NetworkStateNotifier is being static initialized. On Mac the lock for
        static initializers is shared between all of them, causing a deadlock.

        The issue was also reported in http://openradar.appspot.com/11217150.

        * platform/network/qt/NetworkStateNotifierPrivate.h:
        (NetworkStateNotifierPrivate):
        (WebCore::NetworkStateNotifierPrivate::effectivelyOnline):
        * platform/network/qt/NetworkStateNotifierQt.cpp:
        (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
        (WebCore::NetworkStateNotifierPrivate::setNetworkAccessAllowed):
        (WebCore::NetworkStateNotifierPrivate::setOnlineState):
        (WebCore::NetworkStateNotifierPrivate::initialize):
        (WebCore):
        (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
        (WebCore::NetworkStateNotifier::updateState):
        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
        (WebCore::NetworkStateNotifier::setNetworkAccessAllowed):

2012-05-15  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Factor HitTestPoint out of HitTestResult.
        https://bugs.webkit.org/show_bug.cgi?id=85965

        Reviewed by Simon Fraser.

        In preparation for handling transformations on area-based hit-testing, 
        we need to factor test-point and test-area out of HitTestResult so that
        it can be transformed independently.

        To maintain the current API as closely as possible HitTestResult now
        inherit from HitTestPoint, representing the original untransformed
        hitTestPoint.

        No change in functionality. No new tests. 

        * rendering/HitTestResult.cpp:
        (WebCore::HitTestPoint::HitTestPoint):
        (WebCore::HitTestPoint::~HitTestPoint):
        (WebCore::HitTestPoint::operator=):
        (WebCore::HitTestPoint::rectForPoint):
        (WebCore::HitTestResult::HitTestResult):
        (WebCore::HitTestResult::operator=):
        (WebCore::HitTestResult::isSelected):
        (WebCore::HitTestResult::spellingToolTip):
        (WebCore::HitTestResult::replacedString):
        * rendering/HitTestResult.h:
        (HitTestPoint):
        (WebCore::HitTestPoint::point):
        (WebCore::HitTestPoint::roundedPoint):
        (WebCore::HitTestPoint::setPoint):
        (WebCore::HitTestPoint::isRectBasedTest):
        (WebCore::HitTestPoint::topPadding):
        (WebCore::HitTestPoint::rightPadding):
        (WebCore::HitTestPoint::bottomPadding):
        (WebCore::HitTestPoint::leftPadding):
        (HitTestResult):
        (WebCore::HitTestResult::hitTestPoint):
        (WebCore::HitTestPoint::rectForPoint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::hitTestList):

2012-05-15  Rob Buis  <rbuis@rim.com>

        Refactor SVG parts of Node::addEventListener/removeEventListener
        https://bugs.webkit.org/show_bug.cgi?id=86426

        Reviewed by Nikolas Zimmermann.

        Move SVG parts of Node::addEventListener/removeEventListener into svg/. Now we do not
        have to check in Node::addEventListener/removeEventListener if we are dealing with an SVG
        element. Make tryAddEventListener/tryRemoveEventListener protected methods on Node to be able to use
        it in SVGElement.

        No new tests, since no change in behavior, just refactoring.

        * dom/Node.cpp:
        (WebCore::tryAddEventListener):
        (WebCore::Node::addEventListener):
        (WebCore::tryRemoveEventListener):
        (WebCore::Node::removeEventListener):
        * svg/SVGElement.cpp:
        (WebCore::collectInstancesForSVGElement):
        (WebCore):
        (WebCore::SVGElement::addEventListener):
        (WebCore::SVGElement::removeEventListener):
        * svg/SVGElement.h:
        (SVGElement):

2012-05-15  Andreas Kling  <kling@webkit.org>

        RuleSet::addToRuleSet wastes a bit of Vector capacity.
        <http://webkit.org/b/86434>

        Reviewed by Antti Koivisto.

        Have makeRuleSet call shrinkToFit() on the vectors before returning them.
        This avoids wasting space for the rulesets constructed in collectFeatures().

        * css/StyleResolver.cpp:
        (WebCore::makeRuleSet):

2012-05-15  Darin Adler  <darin@apple.com>

        [CG] CGImageCreateWithImageInRect is too slow, but for now we still need to use it
        https://bugs.webkit.org/show_bug.cgi?id=86340

        Reviewed by Geoffrey Garen.

        This patch adds a subimage cache to defray the cost of CGImageCreateWithImageInRect.
        Later, we will restructure the code so it doesn't use that function, but at the
        moment there are CG issues blocking that change.

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (SubimageCacheEntry): Added. An entry in the cache.
        (SubimageCacheEntryTraits): Added. Traits for the cache.
        (SubimageCacheHash): Added. Hash function for the cache.
        (SubimageCacheTimer): Added. Timer that clears the cache after a second
        of inactivity.
        (SubimageCacheWithTimer): Added. Cache and its timer.
        (WebCore::subimageCache): Added. Function returning the single global timer.
        (WebCore::SubimageCacheTimer::restart): Added. Start the timer.
        (WebCore::SubimageCacheTimer::fired): Added. Clear the cache when the timer fires.
        (SubimageRequest): Added. A key to look up in the cache.
        (SubimageCacheAdder): Added. Translator to add to the cache.
        (WebCore::subimage): Added. Puts an entry in the cache.
        (WebCore::GraphicsContext::drawNativeImage): Changed to call the subimage function.

2012-05-15  Eugene Klyuchnikov  <eustas.bug@gmail.com>

        Web Inspector: AdvancedSearchController is not stopped then view is hidden.
        https://bugs.webkit.org/show_bug.cgi?id=86466

        Reviewed by Vsevolod Vlasov.

        AdvancedSearchController overrides "wasHidden" method instead of "willHide".

        UI event-flow, not tested.

        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.SearchView.prototype.willHide): Renamed function.

2012-05-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [Qt] http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html times out
        https://bugs.webkit.org/show_bug.cgi?id=84016

        Reviewed by Simon Hausmann.

        Calling didFail abort the connection and doesn't activate the HEADERS_RECEIVED state.
        Since the goal of HEAD is to test then the request should be marked as finished
        also in cases of HTTP errors.
        This matches other ports behavior.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::shouldIgnoreHttpError):

2012-05-15  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [Qt][WK2] Fix scrolling in touch mode
        https://bugs.webkit.org/show_bug.cgi?id=75006

        Reviewed by Kenneth Rohde Christiansen.

        * page/FrameView.cpp:
        (WebCore::FrameView::setFixedVisibleContentRect):
            On changes to fixedVisibleContentRect update scroll-animators position, and
            recalculate page-step sizes in scrollbars.
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollTo):
            Forward scrolling-request to the host window.
        (WebCore::ScrollView::updateScrollbars):
            Allow ScrollViews to have invisible scrollbars when scrolling is delegated.
        * platform/ScrollView.h:
        (ScrollView):

2012-05-15  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Refactor SnippetsModel: extract SnippetStorage, make SnippetScriptMapping delegate calls to ScriptSnippetModel and provide public interface on ScriptSnippetModel in terms of uiSourceCodes
        https://bugs.webkit.org/show_bug.cgi?id=86477

        Reviewed by Pavel Feldman.

        Extracted SnippetStorage to be reused for other snippet types.
        Made SnippetScriptMapping delegate all calls to ScriptSnippetModel and injected it in DebuggerPresentationModel.
        ScriptSnippetModel now provides public interface for ScriptsPanel in terms of uiSourceCodes.

        Tests: inspector/debugger/script-snippet-model.html
               inspector/snippet-storage.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        * inspector/front-end/ScriptSnippetModel.js: Added.
        (WebInspector.ScriptSnippetModel):
        (WebInspector.ScriptSnippetModel.prototype.get scriptMapping):
        (WebInspector.ScriptSnippetModel.prototype.createScriptSnippet):
        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
        (WebInspector.ScriptSnippetModel.prototype._rawLocationToUILocation):
        (WebInspector.ScriptSnippetModel.prototype._uiLocationToRawLocation.get if):
        (WebInspector.ScriptSnippetModel.prototype._uiLocationToRawLocation):
        (WebInspector.ScriptSnippetModel.prototype._uiSourceCodeList):
        (WebInspector.ScriptSnippetModel.prototype._releasedUISourceCodes):
        (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
        (WebInspector.ScriptSnippetModel.prototype._sourceURLForSnippet):
        (WebInspector.ScriptSnippetModel.prototype._snippetIdForSourceURL):
        (WebInspector.ScriptSnippetModel.prototype._snippetForSourceURL):
        (WebInspector.ScriptSnippetModel.prototype._reset):
        (WebInspector.SnippetScriptMapping):
        (WebInspector.SnippetScriptMapping.prototype.rawLocationToUILocation):
        (WebInspector.SnippetScriptMapping.prototype.uiLocationToRawLocation):
        (WebInspector.SnippetScriptMapping.prototype.uiSourceCodeList):
        (WebInspector.SnippetScriptMapping.prototype.snippetIdForSourceURL):
        (WebInspector.SnippetScriptMapping.prototype.addScript):
        (WebInspector.SnippetScriptMapping.prototype._uiSourceCodesAdded):
        (WebInspector.SnippetScriptMapping.prototype._uiSourceCodesRemoved):
        (WebInspector.SnippetScriptMapping.prototype.reset):
        (WebInspector.SnippetContentProvider):
        * inspector/front-end/SnippetStorage.js: Added.
        (WebInspector.SnippetStorage):
        (WebInspector.SnippetStorage.prototype.get namePrefix):
        (WebInspector.SnippetStorage.prototype._saveSettings):
        (WebInspector.SnippetStorage.prototype.set snippets):
        (WebInspector.SnippetStorage.prototype.snippetForId):
        (WebInspector.SnippetStorage.prototype.deleteSnippet):
        (WebInspector.SnippetStorage.prototype._snippetAdded):
        (WebInspector.SnippetStorage.prototype.reset.set this):
        (WebInspector.Snippet):
        (WebInspector.Snippet.fromObject):
        (WebInspector.Snippet.prototype.get id):
        (WebInspector.Snippet.prototype.get name):
        (WebInspector.Snippet.prototype.set name):
        (WebInspector.Snippet.prototype.get content):
        (WebInspector.Snippet.prototype.set content):
        (WebInspector.Snippet.prototype.serializeToObject):
        * inspector/front-end/SnippetsModel.js: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:

2012-05-15  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: add show/hide debugger sidebar button.
        https://bugs.webkit.org/show_bug.cgi?id=86478

        Reviewed by Vsevolod Vlasov.

        As with the navigator, but with no overlay. See the screenshot.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/NavigatorOverlayController.js:
        (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
        (WebInspector.ScriptsPanel.prototype._debuggerResumed):
        (WebInspector.ScriptsPanel.prototype._showJavaScriptOutlineDialog):
        (WebInspector.ScriptsPanel.prototype._installDebuggerSidebarController.clickHandler):
        (WebInspector.ScriptsPanel.prototype._showDebuggerSidebar):
        (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar):
        * inspector/front-end/scriptsPanel.css:
        (#scripts-editor-container-tabbed-pane .tabbed-pane-header-contents):
        (button.status-bar-item.scripts-debugger-show-hide-button):
        (.status-bar-item.scripts-debugger-show-hide-button > .glyph):
        (.status-bar-item.scripts-debugger-show-hide-button.toggled-shown > .glyph):
        (.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden > .glyph):

2012-05-15  Zoltan Herczeg  <zherczeg@webkit.org>

        NEONizing forceValidPreMultipliedPixels
        https://bugs.webkit.org/show_bug.cgi?id=86468

        Reviewed by Nikolas Zimmermann.

        Optimize forceValidPreMultipliedPixels with ARM-NEON intrinsics.

        Existing tests cover this feature.

        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::forceValidPreMultipliedPixels):

2012-05-15  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: remove unnecessary setTimeout in HeapSnapshotGridNodes.js
        https://bugs.webkit.org/show_bug.cgi?id=86464

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.childrenRetrieved): Posting
        a message to worker is already asynchronous, no need to postpone the call via setTimeout.
        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):

2012-05-15  Florin Malita  <fmalita@chromium.org>

        Mask deformations when masked content is rotated
        https://bugs.webkit.org/show_bug.cgi?id=76527

        Reviewed by Nikolas Zimmermann.

        Test: svg/repaint/mask-clip-target-transform.svg

        RenderSVGResource::markForLayoutAndParentResourceInvalidation() needs to also
        invalidate parent mask and clip resources, not just filters.

        * rendering/svg/RenderSVGResource.cpp:
        (WebCore::removeFromCacheAndInvalidateDependencies):
        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):

2012-05-15  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: merge show navigator with pin navigator buttons.
        https://bugs.webkit.org/show_bug.cgi?id=86469

        Reviewed by Vsevolod Vlasov.

        See screenshots attached to the bug.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/Images/navigatorPinButton.png: Removed.
        * inspector/front-end/Images/navigatorShowHideButton.png:
        * inspector/front-end/NavigatorOverlayController.js:
        (WebInspector.NavigatorOverlayController.prototype._toggleNavigator):
        (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
        (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
        (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
        (WebInspector.NavigatorOverlayController.prototype._containingElementFocused):
        * inspector/front-end/SidebarOverlay.js:
        (WebInspector.SidebarOverlay):
        (WebInspector.SidebarOverlay.prototype.show):
        (WebInspector.SidebarOverlay.prototype.hide):
        * inspector/front-end/navigatorView.css:
        (.navigator-tabbed-pane .tabbed-pane-header-contents):
        * inspector/front-end/scriptsPanel.css:
        (.status-bar-item.scripts-navigator-show-hide-button > .glyph):
        (.status-bar-item.scripts-navigator-show-hide-button.toggled-shown > .glyph):
        (.status-bar-item.scripts-navigator-show-hide-button.toggled-overlay > .glyph):
        (button.status-bar-item.scripts-navigator-show-hide-button):
        (button.status-bar-item.scripts-navigator-show-hide-button.toggled-overlay):

2012-05-15  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: implement "Reveal in Dominators view" context menu action
        https://bugs.webkit.org/show_bug.cgi?id=86455

        Reviewed by Pavel Feldman.

        Implemented "Reveal in Dominators view" context menu action for objects
        in the console.

        Test: inspector/profiler/heap-snapshot-reveal-in-dominators-view.html

        * English.lproj/localizedStrings.js:
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._nodeForSnapshotObjectId):
        (WebInspector.HeapSnapshot.prototype.nodeClassName):
        (WebInspector.HeapSnapshot.prototype.dominatorIdsForNode):
        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotDominatorsDataGrid):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId.didGetDominators):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId.expandNextDominator):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype.childForPosition):
        (WebInspector.HeapSnapshotGridNode.prototype.expandWithoutPopulate):
        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.childrenRetrieved):
        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
        (WebInspector.HeapSnapshotGridNode.prototype.sort):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId.didGetNodePosition):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId.didPopulateChildren):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotProxy.prototype.dominatorIdsForNode):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.revealInSummaryView):
        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):

2012-05-15  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: exception when switching to heap profiler comparison view
        https://bugs.webkit.org/show_bug.cgi?id=86224

        Reviewed by Pavel Feldman.

        Make sure the messages are dispatched in the same order as they are sent in
        case a fake worker is used for heap snapshot processing.

        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.TimerQueue):
        (WebInspector.TimerQueue.prototype.addTask):
        (WebInspector.TimerQueue.prototype._onTimeout):
        (WebInspector.TimerQueue.prototype._scheduleTimer):
        (WebInspector.HeapSnapshotFakeWorker):
        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
        (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):

2012-05-15  Zoltan Herczeg  <zherczeg@webkit.org>

        The ARM NEON optimized filters does not compile on THUMB2
        https://bugs.webkit.org/show_bug.cgi?id=86457

        Reviewed by Csaba Osztrogonác.

        We should disable the compilation on Thumb2 until we fix the code.

        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::platformArithmeticSoftware):
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::platformApplyWorker):
        (WebCore::FEGaussianBlur::platformApply):
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::platformApply):
        * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp:
        * platform/graphics/filters/arm/FECompositeArithmeticNEON.h:
        * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp:
        * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
        * platform/graphics/filters/arm/FELightingNEON.cpp:
        * platform/graphics/filters/arm/FELightingNEON.h:

2012-05-15  MORITA Hajime  <morrita@google.com>

        Kill unnecessary RuntimeEnabledFeatures.h inclusion
        https://bugs.webkit.org/show_bug.cgi?id=86451

        Reviewed by Kentaro Hara.

        No new tests. No behavior change.

        * dom/Element.cpp:
        * dom/ElementShadow.cpp:
        * dom/TreeScope.cpp:

2012-05-14  Shinya Kawanaka  <shinyak@chromium.org> 

        document.execCommand('Indent') in the direct child of ShadowRoot causes a crash.
        https://bugs.webkit.org/show_bug.cgi?id=86341

        Reviewed by Ryosuke Niwa.

        When document.execCommand('Indent') is executed in the direct child of ShadowRoot,
        the scope variable of TextIterator becomes ShadowRoot. However, an element is assumed for it,
        so a crash happended.

        This patch enables TextIterator to have ShadowRoot as a scope variable.

        Test: editing/shadow/execcommand-indent-in-shadow.html

        * WebCore.exp.in:
        * editing/ApplyBlockElementCommand.cpp:
        (WebCore::ApplyBlockElementCommand::doApply):
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::rangeFromLocationAndLength):
        * editing/TextIterator.h:
        (TextIterator):
        * editing/htmlediting.cpp:
        (WebCore::indexForVisiblePosition):
        (WebCore::visiblePositionForIndex):
        * editing/htmlediting.h:
        (WebCore):

2012-05-14  Shinya Kawanaka  <shinyak@chromium.org>

        Node::shadowTreeRootNode() should return ShadowRoot instead of Node.
        https://bugs.webkit.org/show_bug.cgi?id=86428

        Reviewed by Hajime Morita.

        Since Node::shadowTreeRootNode() returns only ShadowRoot or 0 now, its return type should be ShadowRoot.
        This patch changes the return type and adds include directive to build.

        No new tests, no change in behavior.

        * dom/Node.cpp:
        (WebCore::Node::shadowAncestorNode):
        (WebCore::Node::shadowTreeRootNode):
        * dom/Node.h:
        (WebCore):
        (Node):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        * dom/Range.cpp:
        (WebCore::Range::shadowTreeRootNode):
        * dom/Range.h:
        (Range):
        * editing/Editor.cpp:
        * editing/TextIterator.cpp:
        * editing/htmlediting.cpp:
        * html/shadow/ContentSelectorQuery.cpp:
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::parseAttribute):
        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::detach):
        * page/EventHandler.cpp:

2012-05-14  Luke Macpherson  <macpherson@chromium.org>

        Make StyleResolver::applyMatchedProperties and ::applyProperties use enum template parameter instead of bool.
        https://bugs.webkit.org/show_bug.cgi?id=86424

        Reviewed by Dimitri Glazkov.

        This patch changes from using a boolean template parameter for StyleResolver::applyMatchedProperties and
        StyleResolver::applyProperties functions. The motivation for this change is that it paves the way for
        CSS Variables to make the value tri-state, which is a requirement because variable definitions must occur
        before high priority CSS properties such that they can be referenced by the latter. This change affects
        only the type signatures of those functions, and not their behavior.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * css/StyleResolver.h:

2012-05-14  MORITA Hajime  <morrita@google.com>

        [Refactoring] Get rid of ContentDistribution::Item
        https://bugs.webkit.org/show_bug.cgi?id=86350

        This change replaces the linked list on ContentDistribution with a Vector.
        We no longer link item class ContentDistribution::Item.
        This simplification also allows ContentDistribution to go.
        ContentDistribution is now just a typedef of Vector<RefPtr<Node> >.

        Reviewed by Dimitri Glazkov.

        No new tests. Covered by existing tests.

        * dom/ComposedShadowTreeWalker.cpp:
        (WebCore::ComposedShadowTreeWalker::traverseNode):
        (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
        * dom/ElementShadow.cpp:
        * dom/ElementShadow.h:
        (ElementShadow):
        * dom/NodeRenderingContext.cpp:
        (WebCore::nextRendererOfInsertionPoint):
        (WebCore::previousRendererOfInsertionPoint):
        (WebCore::firstRendererOfInsertionPoint):
        (WebCore::lastRendererOfInsertionPoint):
        * html/shadow/ContentDistributor.cpp:
        (WebCore::ContentDistributor::distribute):
        (WebCore::ContentDistributor::clearDistribution):
        (WebCore::ContentDistributor::findInsertionPointFor):
        * html/shadow/ContentDistributor.h:
        (WebCore):
        (ContentDistributor):
        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::InsertionPoint):
        (WebCore::InsertionPoint::attachDistributedNode):
        (WebCore::InsertionPoint::assignShadowRoot):
        (WebCore::InsertionPoint::nextTo):
        (WebCore):
        (WebCore::InsertionPoint::previousTo):
        * html/shadow/InsertionPoint.h: Added a set of delegate method to m_distribution.
        (WebCore::InsertionPoint::hasDistribution):
        (WebCore::InsertionPoint::indexOf):
        (WebCore::InsertionPoint::size):
        (WebCore::InsertionPoint::at):
        (WebCore::InsertionPoint::first):
        (WebCore::InsertionPoint::last):
        (InsertionPoint):

2012-05-14  Tim Horton  <timothy_horton@apple.com>

        RenderLayer::repaintRectIncludingDescendants shouldn't include repaint rects of composited descendants
        https://bugs.webkit.org/show_bug.cgi?id=86429
        <rdar://problem/11445132>

        Reviewed by Simon Fraser.

        Change repaintRectIncludingDescendants to not include repaint rects for composited child layers,
        and rename the function to make it more clear that that's what it does now.

        No new tests, scrolling performance optimization.

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollContentsFastPath):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::repaintRectIncludingNonCompositingDescendants):
        * rendering/RenderLayer.h:
        (RenderLayer):

2012-05-14  Gavin Peters  <gavinp@chromium.org>

        Add Prerenderer, PrerenderHandle and a chromium interface for Prerendering.
        https://bugs.webkit.org/show_bug.cgi?id=85005

        Reviewed by Adam Barth.

        The prerender case isn't quite a resource load, and using resource loading to
        retrieve them has constrained the API, and unnecessarily complicated the loader.

        The new Prerenderer and PrerenderHandle let <link rel=prerender...> elements signal
        removal and unload to their platform.

        No new tests, as this interface requires a full platform to work, and doesn't affect layout.  Test
        it with your platform when implemented for it.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore):
        (Document):
        (WebCore::Document::prerenderer):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::removedFrom):
        * html/LinkRelAttribute.cpp:
        (WebCore::LinkRelAttribute::LinkRelAttribute):
        * html/LinkRelAttribute.h:
        (LinkRelAttribute):
        * loader/LinkLoader.cpp:
        (WebCore::LinkLoader::loadLink):
        (WebCore::LinkLoader::released):
        * loader/LinkLoader.h:
        (WebCore):
        (LinkLoader):
        * loader/Prerenderer.cpp: Added.
        (WebCore):
        (WebCore::Prerenderer::create):
        (WebCore::Prerenderer::Prerenderer):
        (WebCore::Prerenderer::~Prerenderer):
        (WebCore::Prerenderer::render):
        (WebCore::Prerenderer::stop):
        (WebCore::Prerenderer::suspend):
        (WebCore::Prerenderer::resume):
        (WebCore::Prerenderer::document):
        (WebCore::Prerenderer::client):
        * loader/Prerenderer.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
        (WebCore):
        (Prerenderer):
        * loader/PrerendererClient.cpp: Copied from Source/WebCore/html/LinkRelAttribute.h.
        (WebCore):
        (WebCore::PrerendererClient::supplementName):
        (WebCore::PrerendererClient::from):
        (WebCore::providePrerendererClientTo):
        * loader/PrerendererClient.h: Copied from Source/WebCore/html/LinkRelAttribute.h.
        (WebCore):
        (PrerendererClient):
        (WebCore::PrerendererClient::~PrerendererClient):
        (WebCore::PrerendererClient::PrerendererClient):
        * loader/cache/CachedResource.cpp:
        (WebCore::defaultPriorityForResourceType):
        (WebCore::cachedResourceTypeToTargetType):
        (WebCore::CachedResource::load):
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::ignoreForRequestCount):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::createResource):
        (WebCore::CachedResourceLoader::requestLinkResource):
        (WebCore::CachedResourceLoader::checkInsecureContent):
        (WebCore::CachedResourceLoader::canRequest):
        * platform/PrerenderHandle.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
        (WebCore):
        (PrerenderHandle):
        * platform/chromium/Prerender.cpp: Added.
        (WebCore):
        (WebCore::Prerender::Prerender):
        (WebCore::Prerender::~Prerender):
        (WebCore::Prerender::setState):
        (WebCore::Prerender::add):
        (WebCore::Prerender::cancel):
        (WebCore::Prerender::abandon):
        (WebCore::Prerender::suspend):
        (WebCore::Prerender::resume):
        * platform/chromium/Prerender.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
        (WebCore):
        (Prerender):
        (ExtraData):
        (WebCore::Prerender::ExtraData::~ExtraData):
        (WebCore::Prerender::url):
        (WebCore::Prerender::referrer):
        (WebCore::Prerender::referrerPolicy):
        (WebCore::Prerender::setExtraData):
        (WebCore::Prerender::extraData):
        * platform/chromium/PrerenderHandle.cpp: Copied from Source/Platform/chromium/public/WebPrerender.h.
        (WebCore):
        (WebCore::PrerenderHandle::create):
        (WebCore::PrerenderHandle::PrerenderHandle):
        (WebCore::PrerenderHandle::~PrerenderHandle):
        (WebCore::PrerenderHandle::prerender):
        (WebCore::PrerenderHandle::add):
        (WebCore::PrerenderHandle::cancel):
        (WebCore::PrerenderHandle::abandon):
        (WebCore::PrerenderHandle::suspend):
        (WebCore::PrerenderHandle::resume):
        (WebCore::PrerenderHandle::url):
        (WebCore::PrerenderHandle::referrer):
        (WebCore::PrerenderHandle::referrerPolicy):
        * platform/chromium/support/WebPrerender.cpp: Copied from Source/Platform/chromium/public/WebPrerender.h.
        (WebKit::WebPrerender::WebPrerender):
        (WebKit):
        (WebKit::WebPrerender::~WebPrerender):
        (WebKit::WebPrerender::url):
        (WebKit::WebPrerender::referrer):
        (WebKit::WebPrerender::referrerPolicy):
        (WebKit::WebPrerender::setExtraData):
        (WebKit::WebPrerender::extraData):
        * platform/network/blackberry/ResourceRequest.h:
        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::platformTargetTypeForRequest):
        * platform/network/chromium/ResourceRequest.h:

2012-05-14  Luke Macpherson  <macpherson@chromium.org>

        Introduce ENABLE_CSS_VARIABLES compile flag.
        https://bugs.webkit.org/show_bug.cgi?id=86338

        Reviewed by Dimitri Glazkov.

        Add a configuration option for CSS Variables support, disabling it by default.

        No new tests. This patch only introduces an unused build flag.

        * Configurations/FeatureDefines.xcconfig:

2012-05-14  Eric Seidel  <eric@webkit.org>

        Styles are not recalculated when the seamless attribute is dynamically added/removed
        https://bugs.webkit.org/show_bug.cgi?id=86315

        Reviewed by Andreas Kling.

        Covered by fast/frames/seamless/seamless-css-cascade.html.

        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::isPresentationAttribute):
         - Make seamless a presentational attribute, which means style on the <iframe> will
           be forced to recalculate when it changes.  This is correct, but not observable
           until the layout changes are landed (as then the iframe should correctly revert to not
           being sized to fit its content if seamless is removed).
        (WebCore::HTMLIFrameElement::parseAttribute):
         - When the seamless attribute is added or remove, force the content document to recalc
           its style resolver, which will refresh the list of inherited stylesheets from the
           parent.  This doesn't need to happen synchronously.  When the layout changes land
           the content document will actually cause that recalc to redirect to the parent document
           in the seamless case anyway, but it's more correct to ask the content document directly.

2012-05-14  Alexandre Elias  <aelias@google.com>

        [chromium] Prevent KeyCodeConversionAndroid from breaking on next NDK roll
        https://bugs.webkit.org/show_bug.cgi?id=86415

        Reviewed by Adam Barth.

        The new enum values added in this file have been added in recent
        versions of the NDK, so this file will fail to compile with duplicate
        enum error when we roll NDK to r7c or higher.  A workaround is
        to move our enum values to the WebCore namespace.  When the NDK
        upgrade is complete, we can delete them.

        No new tests. (No-op change.)

        * platform/chromium/KeyCodeConversionAndroid.cpp:
        (WebCore):

2012-05-14  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=86420
        ScrollbarPainter should support expansionTransitionProgress

        Reviewed by Sam Weinig.

        expansionTransitionProgress works the same as 
        uiStateTransitionProgress. This code just echoes that code, but for 
        expansion instead of uiState.
        * platform/mac/NSScrollerImpDetails.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (supportsExpansionTransitionProgress):
        (-[WebScrollbarPartAnimation setCurrentProgress:]):
        (-[WebScrollbarPainterDelegate cancelAnimations]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
        (-[WebScrollbarPainterDelegate invalidate]):

2012-05-14  Andy Estes  <aestes@apple.com>

        Fix RunLoopCF.cpp's copyright string.

        * platform/cf/RunLoopCF.cpp:

2012-05-14  Andy Estes  <aestes@apple.com>

        Move the parts of RunLoopMac.mm that aren't Mac-specific into RunLoopCF.cpp
        https://bugs.webkit.org/show_bug.cgi?id=86411

        Reviewed by Anders Carlsson.

        Most of RunLoopMac.mm was written in terms of CF API. Move these bits
        to a new file called RunLoopCF.cpp, leaving only the bits dealing with
        NSApplication.

        * WebCore.xcodeproj/project.pbxproj: Xcode decided to give
        VisitedLinks.* new UUIDs. I'll allow it.
        * platform/cf/RunLoopCF.cpp: Copied from Source/WebCore/platform/mac/RunLoopMac.mm.
        * platform/mac/RunLoopMac.mm:

2012-05-14  Erik Arvidsson  <arv@chromium.org>

        [V8] Add "stack" property to DOMException
        https://bugs.webkit.org/show_bug.cgi?id=85057

        Reviewed by Kentaro Hara.

        When we create a DOM exception we define a V8 accessor for the stack property. This
        accessor uses a new Error object to get the underlying stack string.

        Test: fast/dom/DOMException/stack-trace.html

        * bindings/v8/V8Proxy.cpp:
        (WebCore::DOMExceptionStackGetter):
        (WebCore):
        (WebCore::DOMExceptionStackSetter):
        (WebCore::V8Proxy::setDOMException):

2012-05-14  Michael Saboff  <msaboff@apple.com>

        Enh: Add the Ability to Disable / Enable JavaScript GC Timer
        https://bugs.webkit.org/show_bug.cgi?id=86382

        Reviewed by Darin Adler.

        Plumbing to set / clear JS GC activity timer enable flag.

        * WebCore.exp.in:
        * bindings/js/GCController.cpp:
        (WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
        * bindings/js/GCController.h:

2012-05-14  Nate Chapin  <japhet@chromium.org>

        [V8] Crash in npObjectGetProperty() in V8NPObject.cpp
        https://bugs.webkit.org/show_bug.cgi?id=86131

        Reviewed by Adam Barth.

        Tests: plugins/npruntime/delete-plugin-within-getProperty.html
               plugins/npruntime/delete-plugin-within-hasProperty-return-false.html
               plugins/npruntime/delete-plugin-within-hasProperty-return-true.html
               plugins/npruntime/delete-plugin-within-invoke.html
               plugins/npruntime/delete-plugin-within-setProperty.html

        * bindings/v8/NPV8Object.cpp:
        (_NPN_EvaluateHelper):
        * bindings/v8/V8NPObject.cpp: Check NPN_IsAlive in a bunch of places we're not currently.
        (WebCore::npObjectInvokeImpl):
        (WebCore::npObjectGetProperty):
        (WebCore::npObjectSetProperty):

2012-05-14  Brent Fulgham  <bfulgham@webkit.org>

        [WinCairo] Unreviewed build correction.

        * platform/win/DragImageCairoWin.cpp: Add missing include for
        new NativeImageCairo.h type.

2012-05-14  Takashi Sakamoto  <tasak@google.com>

        Crash in WebCore::RenderObject::repaint
        https://bugs.webkit.org/show_bug.cgi?id=86162

        Reviewed by Abhishek Arya.

        As RenderScrollbarPart has no parent renderer, we crash in
        WebCore::RenderBoxModelObject::paddingLeft when paddingLeft has
        percent value, e.g. 5%. However if we set the scrollbar's parent
        renderer to a renderer owning the scrollbar by using setParent method,
        RenderScrollbarPart::styleWillChange will invoke parent renderer's
        repaint. This causes crash in WebCore::RenderObject::repaint if the
        owning renderer is already destroyed.
        To fix the first crash without the second crash, modify
        RenderObject::containingBlock() to check isRenderScrollbarPart or not,
        if parent() is 0.
        If so, use scrollbar's owningRenderer from RenderScrollbarPart.

        Test: scrollbars/scrollbar-percent-padding-crash.html
              scrollbars/scrollbar-scrollbarparts-repaint-crash.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock):
        Modifying containingBlock. If parent() is 0 and isRenderScrollbarPart()
        is true, use RenderScrollbarPart's m_scrollbar->owningRenderer()
        instead of parent().
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isRenderScrollbarPart):
        (RenderObject):
        Adding a new method, isRenderScrollbarPart.
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::rendererOwningScrollbar):
        (WebCore):
        Adding a new method, scrollbarOwningRenderer to obtain m_scrollar's
        owningRenderer.
        * rendering/RenderScrollbarPart.h:
        (RenderScrollbarPart):
        Removing "friend class RenderScrollbar".
        (WebCore::RenderScrollbarPart::isRenderScrollbarPart):
        (WebCore::toRenderScrollbarPart):
        (WebCore):
        Implementing isRenderScrollbarPart and toRenderScrollbarPart.

2012-05-14  Mike West  <mike@mikewest.org>

        Content Security Policy console errors include violated directive.
        https://bugs.webkit.org/show_bug.cgi?id=86323

        Reviewed by Adam Barth.

        Console errors generated when resources, inline script/style, or eval
        are blocked by Content Security Policy directives should include the
        text of the directive that's been violated. This gives developers more
        of the information they need to resolve the issue.

        Test: http/tests/security/contentSecurityPolicy/*

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
        (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
        (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
        (WebCore::CSPDirectiveList::allowJavaScriptURLs):
        (WebCore::CSPDirectiveList::allowInlineEventHandlers):
        (WebCore::CSPDirectiveList::allowInlineScript):
        (WebCore::CSPDirectiveList::allowInlineStyle):
        (WebCore::CSPDirectiveList::allowEval):

2012-05-14  Julien Chaffraix  <jchaffraix@webkit.org>

        Crash in FrameView::windowClipRectForFrameOwner after r116371
        https://bugs.webkit.org/show_bug.cgi?id=86035

        Reviewed by David Hyatt.

        Added a NULL-check for |parentView| as nothing guarantees it to be
        non-NULL. Unfortunately no test as this is a crasher I couldn't
        reproduce on my machine and the user logs were not helpful.

        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRect):

2012-05-14  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=86403
        ASSERTION FAILED: m_verticalScrollbarPainterDelegate on recent builds
        -and corresponding-
        <rdar://problem/11448841>

        Reviewed by Simon Fraser.

        http://trac.webkit.org/changeset/116476 accidentally started calling 
        these functions for custom scrollbars. This change replaces that 
        guard.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::destroyScrollbar):

2012-05-14  Simon Fraser  <simon.fraser@apple.com>

        Remove redundant pixel snapping in calculateCompositedBounds()
        https://bugs.webkit.org/show_bug.cgi?id=86400

        Reviewed by Sam Weinig.

        RenderLayer::calculateLayerBounds() returns a pixel-snapped rect,
        so we don't need to pixel-snap it again.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):

2012-05-14  Simon Fraser  <simon.fraser@apple.com>

        Avoid logging related to setting shadow-related properties on a transform-only layer
        https://bugs.webkit.org/show_bug.cgi?id=86398

        Reviewed by Dan Bernstein.

        When making a CATransformLayer to support transform-style: preserve-3d, avoid trying
        to set filters on the transform layer. We should never have this combination,
        because filters force flattening to occur.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::ensureStructuralLayer):

2012-05-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116983.
        http://trac.webkit.org/changeset/116983
        https://bugs.webkit.org/show_bug.cgi?id=86397

        Does not compile on chromium-win (Requested by abarth on
        #webkit).

        * WebCore.gypi:
        * page/TouchAdjustment.cpp:

2012-05-14  Dan Bernstein  <mitz@apple.com>

        Pagination splits lines that could fit on a single page if it were not for their top leading
        https://bugs.webkit.org/show_bug.cgi?id=86388

        Reviewed by Darin Adler.

        Test: fast/multicol/split-in-top-margin.html

        When a line’s visible content fits on a page, but adding the top leading makes it taller than
        a page, instead of giving up and splitting the line in an arbitrary position, add a strut
        to push it downwards so that the split occurs in the top leading, and the visible content is
        fully contained on a single page.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustLinePositionForPagination):

2012-05-14  Terry Anderson  <tdanderson@chromium.org>

        [chromium] Compute the best target node on a GestureTap event
        https://bugs.webkit.org/show_bug.cgi?id=85101

        Reviewed by Adam Barth.

        Using tests in the touchadjustment/ directory.

        * WebCore.gypi:
        Include TouchAdjustment.* files.
        * page/TouchAdjustment.cpp:
        Included math.h because of an 'Undeclared identifier: INFINITY' when
        this patch was landed before.

2012-05-14  Adrienne Walker  <enne@google.com>

        [chromium] Add compositor debug asserts for blocked main thread
        https://bugs.webkit.org/show_bug.cgi?id=86384

        Reviewed by James Robinson.

        Where we depend for thread-safety that the main thread is blocked,
        assert that this is actually the case.

        * platform/graphics/chromium/cc/CCProxy.cpp:
        (WebCore):
        (WebCore::CCProxy::isMainThreadBlocked):
        (WebCore::CCProxy::setMainThreadBlocked):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        (WebCore):
        (DebugScopedSetMainThreadBlocked):
        (WebCore::DebugScopedSetMainThreadBlocked::DebugScopedSetMainThreadBlocked):
        (WebCore::DebugScopedSetMainThreadBlocked::~DebugScopedSetMainThreadBlocked):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doCommit):
        (WebCore::CCSingleThreadProxy::stop):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::stop):
        (WebCore::CCThreadProxy::beginFrame):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
        (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):

2012-05-14  Swapna P  <spottabathini@innominds.com>

        Reviewed by Eric Seidel.

        Bug: Cannot resize frames because frameborder=0
        https://bugs.webkit.org/show_bug.cgi?id=23750

        Removed check for frameborder, in order to allow resize of frames even in case of frameborder=0.

        Test: fast/frames/frames-with-frameborder-zero-can-be-resized.html

        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::startResizing):
        (WebCore::RenderFrameSet::canResizeRow):
        (WebCore::RenderFrameSet::canResizeColumn):

2012-05-14  David Barton  <dbarton@mathscribe.com>

        Unify RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
        https://bugs.webkit.org/show_bug.cgi?id=86319

        Reviewed by Darin Adler.

        Most of RenderMathMLSquareRoot.cpp is duplicated in RenderMathMLRoot.cpp and can be
        eliminated. We also define RenderMathMLRoot::computePreferredLogicalWidths().

        Test: mathml/presentation/mroot-pref-width.html

        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
        (WebCore::RenderMathMLRoot::layout):
        (WebCore::RenderMathMLRoot::paint):
        * rendering/mathml/RenderMathMLRoot.h:
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
        (WebCore::RenderMathMLSquareRoot::addChild):
        * rendering/mathml/RenderMathMLSquareRoot.h:

2012-05-14  MORITA Hajime  <morrita@google.com>

        [Shadow DOM][Refactoring] HTMLContentSelector family should have better name
        https://bugs.webkit.org/show_bug.cgi?id=86064

        Reviewed by Dimitri Glazkov.

        This change renames classes around shadow content distribution.
        - Renamed HTMLContentSelector to ContentDistributor
        - Renamed HTMLContentSelectionList to ContentDistribution
        - Renamed HTMLContentSelection to ContentDistribution::Item
        - Inlined HTMLContentSelectionSet into ContentDistributor

        Associated rename and inlining are also happening for method names.

        No new tests. No behavior change.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ComposedShadowTreeWalker.cpp:
        (WebCore::ComposedShadowTreeWalker::traverseNode):
        (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
        (WebCore::ComposedShadowTreeWalker::traverseParent):
        * dom/ElementShadow.cpp:
        (WebCore::ElementShadow::ElementShadow):
        (WebCore::ElementShadow::attach):
        (WebCore::ElementShadow::insertionPointFor):
        (WebCore::ElementShadow::distributionItemFor):
        (WebCore::ElementShadow::recalcStyle):
        (WebCore::ElementShadow::needsRedistributing):
        (WebCore::ElementShadow::hostChildrenChanged):
        (WebCore::ElementShadow::setNeedsRedistributing):
        * dom/ElementShadow.h:
        (WebCore):
        (ElementShadow):
        (WebCore::ElementShadow::distributor):
        (WebCore::ElementShadow::clearNeedsRedistributing):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::nextRendererOfInsertionPoint):
        (WebCore::previousRendererOfInsertionPoint):
        (WebCore::firstRendererOfInsertionPoint):
        (WebCore::lastRendererOfInsertionPoint):
        * dom/ShadowRoot.cpp:
        * dom/ShadowRoot.h:
        (WebCore):
        * html/shadow/ContentDistributor.cpp: Renamed from Source/WebCore/html/shadow/HTMLContentSelector.cpp.
        (WebCore):
        (WebCore::ContentDistribution::ContentDistribution):
        (WebCore::ContentDistribution::~ContentDistribution):
        (WebCore::ContentDistribution::find):
        (WebCore::ContentDistribution::clear):
        (WebCore::ContentDistribution::append):
        (WebCore::ContentDistributor::ContentDistributor):
        (WebCore::ContentDistributor::~ContentDistributor):
        (WebCore::ContentDistributor::distribute):
        (WebCore::ContentDistributor::clearDistribution):
        (WebCore::ContentDistributor::findFor):
        (WebCore::ContentDistributor::findInsertionPointFor):
        (WebCore::ContentDistributor::willDistribute):
        (WebCore::ContentDistributor::didDistribute):
        (WebCore::ContentDistributor::preparePoolFor):
        * html/shadow/ContentDistributor.h: Added.
        (WebCore):
        (ContentDistribution):
        (Item):
        (WebCore::ContentDistribution::Item::insertionPoint):
        (WebCore::ContentDistribution::Item::node):
        (WebCore::ContentDistribution::Item::next):
        (WebCore::ContentDistribution::Item::previous):
        (WebCore::ContentDistribution::Item::create):
        (WebCore::ContentDistribution::Item::Item):
        (WebCore::ContentDistribution::first):
        (WebCore::ContentDistribution::last):
        (WebCore::ContentDistribution::firstNode):
        (WebCore::ContentDistribution::lastNode):
        (WebCore::ContentDistribution::isEmpty):
        (ContentDistributor):
        (Translator):
        (WebCore::ContentDistributor::Translator::hash):
        (WebCore::ContentDistributor::Translator::equal):
        (WebCore::ContentDistributor::Hash::hash):
        (WebCore::ContentDistributor::Hash::equal):
        (Hash):
        (WebCore::ContentDistributor::inDistribution):
        (WebCore::ContentDistributor::poolIsReady):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::parseAttribute):
        * html/shadow/HTMLContentSelector.h: Removed.
        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::InsertionPoint):
        (WebCore::InsertionPoint::detach):
        (WebCore::InsertionPoint::distributeHostChildren):
        (WebCore::InsertionPoint::clearDistribution):
        (WebCore::InsertionPoint::attachDistributedNode):
        (WebCore::InsertionPoint::assignShadowRoot):
        (WebCore::InsertionPoint::clearAssignment):
        * html/shadow/InsertionPoint.h:
        (WebCore::InsertionPoint::distribution):
        (WebCore::InsertionPoint::hasDistribution):

2012-05-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116969.
        http://trac.webkit.org/changeset/116969
        https://bugs.webkit.org/show_bug.cgi?id=86386

        i accidentally the icondatabase (Requested by kling on
        #webkit).

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::synchronousIconForPageURL):
        (WebCore::IconDatabase::retainIconForPageURL):
        (WebCore::IconDatabase::releaseIconForPageURL):
        (WebCore::IconDatabase::retainedPageURLCount):
        (WebCore::IconDatabase::performURLImport):
        (WebCore::IconDatabase::syncThreadMainLoop):
        * loader/icon/IconDatabase.h:
        (IconDatabase):

2012-05-14  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Fix for wxMSW windows.h load order bug.
        
        * platform/graphics/wx/ImageBufferDataWx.h:

2012-05-14  Eric Carlson  <eric.carlson@apple.com>

        <video> won't load when URL ends with .php
        https://bugs.webkit.org/show_bug.cgi?id=86308

        Reviewed by Darin Adler.

        Test: http/tests/media/video-query-url.html

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::MediaPlayer): Initialize m_typeInferredFromExtension.
        (WebCore::MediaPlayer::load): Set m_typeInferredFromExtension appropriately.
        (WebCore::MediaPlayer::loadWithNextMediaEngine): If we don't find a media engine registered
            for a MIME type, and the type was inferred from the extension, give the first registered
            media engine a chance anwyay just as we do when there is no MIME type at all.
        * platform/graphics/MediaPlayer.h: Add m_typeInferredFromExtension.

2012-05-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: do not update $0-$4 console variables for the objects from loaded from file heap snapshot.
        https://bugs.webkit.org/show_bug.cgi?id=86371

        When the user selects an object in HeapSnapshot we are updating $0 variable in console API.
        But if the snapshot was loaded from file then we can't map object id for the selected obect
        from the snapshot to the live objects in the inspected page.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged):
        (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
        (WebInspector.HeapProfileHeader):
        (WebInspector.HeapProfileHeader.prototype.canSaveToFile):
        (WebInspector.HeapProfileHeader.prototype.saveToFile):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileHeader):
        (WebInspector.ProfileHeader.prototype.loadFromFile):
        (WebInspector.ProfileHeader.prototype.fromFile):
        (WebInspector.ProfilesPanel.prototype._loadFromFile):

2012-05-14  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] allow extensions to evaluate in the context of their content scripts
        https://bugs.webkit.org/show_bug.cgi?id=86361

        Reviewed by Yury Semikhatsky.

        Test: inspector/extensions/extensions-eval-content-script.html

        * inspector/front-end/ExtensionAPI.js: 
        (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression): Added evaluateOptions optional parameter.
        (injectedExtensionAPI.InspectedWindow.prototype.eval):
        (injectedExtensionAPI.extractCallbackArgument): A helper to extract callback function from last argument.
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionSidebarPane.prototype.setExpression): Added evaluateOptions optional parameter.
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onSetSidebarContent): Use ExtensionServer.evaluate() wrapper.
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): Ditto.
        (WebInspector.ExtensionServer.prototype._normalizePath):
        (WebInspector.ExtensionServer.prototype.evaluate): A wrapper for PageAgent.evaluate() that handles evaluateOptions.
        * inspector/front-end/JavaScriptContextManager.js:
        (WebInspector.JavaScriptContextManager.prototype.contextByFrameAndSecurityOrigin): Expose interface to locate context id by frame and content script security origin.
        (WebInspector.FrameEvaluationContext.prototype._addExecutionContext): Maintain contexts sorted by name.
        (WebInspector.FrameEvaluationContext.prototype.isolatedContexts): ditto (skip sorting when returning contexts)
        (WebInspector.FrameEvaluationContext.prototype.contextBySecurityOrigin):
        * inspector/front-end/inspector.js: Hold/expose javaScriptContextManager.

2012-05-14  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: preserve tab index while widening / shrinking tabbed pane area.
        https://bugs.webkit.org/show_bug.cgi?id=86359

        Reviewed by Vsevolod Vlasov.

        After the drag'n'drop reorder, we should preserve tab index while widening /
        shrinking the tabbed pane area.

        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype._innerCloseTab):
        (WebInspector.TabbedPane.prototype._showTabElement):
        (WebInspector.TabbedPane.prototype._hideTabElement):
        (WebInspector.TabbedPane.prototype._updateTabsDropDown):
        (WebInspector.TabbedPane.prototype.elementsToRestoreScrollPositionsFor):
        (WebInspector.TabbedPane.prototype._insertBefore):
        (WebInspector.TabbedPaneTab):
        (WebInspector.TabbedPaneTab.prototype._createTabElement):
        (WebInspector.TabbedPaneTab.prototype._tabDragging):

2012-05-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Request / response headers should be stored in name-value pairs array, not a map on front-end.
        https://bugs.webkit.org/show_bug.cgi?id=86357

        Reviewed by Pavel Feldman.

        Storing headers as name-value pairs array information more accurate and allows
        to treat Set-Cookie headers (which become not parseable when joined by comma) correctly.

        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
        (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
        (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
        (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildResponse):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype._headersMapToHeadersArray):
        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithRequest):
        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
        (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
        (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
        * inspector/front-end/NetworkRequest.js:
        (WebInspector.NetworkRequest.prototype.get transferSize):
        (WebInspector.NetworkRequest.prototype.get requestHeaders):
        (WebInspector.NetworkRequest.prototype.get requestHeadersText):
        (WebInspector.NetworkRequest.prototype.get responseHeaders):
        (WebInspector.NetworkRequest.prototype.get responseHeadersText):
        (WebInspector.NetworkRequest.prototype._headerValue):
        * inspector/front-end/RequestHeadersView.js:
        (WebInspector.RequestHeadersView.prototype._refreshRequestHeaders):
        (WebInspector.RequestHeadersView.prototype._refreshResponseHeaders):
        (WebInspector.RequestHeadersView.prototype._refreshHeaders):
        * platform/chromium/support/WebHTTPLoadInfo.cpp:
        (WebKit::addHeader):

2012-05-14  Sriram Neelakandan  <sriram.neelakandan@gmail.com>

        [Gtk][DOM Bindings] Feature-protected interface usage in set/get property must be under condition guards
        https://bugs.webkit.org/show_bug.cgi?id=86060

        Reviewed by Martin Robinson.

        Property set/get functions generated was referencing WebCore::interface without any condition guard.
        This issue was triggered usually when an interface gets disabled; For instance; --disable-video, disables WebCore::HTMLMediaElement.
        Also updated the GObject binding reference tests

        No new tests - covered by existing bindings tests

        * bindings/scripts/CodeGeneratorGObject.pm:
        (GenerateProperties):
        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
        (webkit_dom_test_active_dom_object_get_property):
        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
        (webkit_dom_test_event_constructor_get_property):
        * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
        (webkit_dom_test_exception_get_property):
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        (webkit_dom_test_interface_set_property):
        (webkit_dom_test_interface_get_property):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
        (webkit_dom_test_serialized_script_value_interface_get_property):

2012-05-14  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] css properties copied into clipboard contain extra line breaks before color values
        https://bugs.webkit.org/show_bug.cgi?id=86372

        Reviewed by Vsevolod Vlasov.

        The "display: block" property found in the ".swatch-inner" CSS class was causing the issue
        (an additional \n was rendered in the plain text value).

        * inspector/front-end/inspector.css:
        (.swatch-inner):

2012-05-14  Pavel Feldman  <pfeldman@chromium.org>

        [Qt] REGRESSION (r116789): inspector/debugger/script-formatter-console.html fails
        https://bugs.webkit.org/show_bug.cgi?id=86336

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype.location):

2012-05-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        TiledBackingStore: Prevent partial tile updates when they intersect the keep rect.
        https://bugs.webkit.org/show_bug.cgi?id=85488

        Reviewed by Kenneth Rohde Christiansen.

        Right now an invalidate can cause problems for tiles on the boundary of the keep
        rect. Intersecting the dirty rect causes only part of the tile to be updated,
        and the glitch becomes visible if the user scrolls this tile back into the viewport.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::invalidate):

2012-05-14  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Esc should revert the colorpicker-modifed color to the original
        https://bugs.webkit.org/show_bug.cgi?id=86349

        Reviewed by Vsevolod Vlasov.

        A boolean parameter has been added to the Spectrum's hide() method to denote the picker cancellation,
        which gets passed into the "Hidden" event listeners. StylesSidebarPane is made to remember the original property value
        when the picker is opened, and restore it if the color picker is cancelled.

        * inspector/front-end/Spectrum.js:
        (WebInspector.Spectrum):
        (WebInspector.Spectrum.prototype.toggle):
        (WebInspector.Spectrum.prototype.show):
        (WebInspector.Spectrum.prototype.hide):
        (WebInspector.Spectrum.prototype._onKeyDown):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylesSidebarPane.prototype.willHide):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):

2012-05-14  Zeno Albisser  <zeno@webkit.org>

        [Qt] TextureMapperGL::drawTexture marked OVERRIDE but does not override any member function.
        https://bugs.webkit.org/show_bug.cgi?id=86347

        This bug was introduced by r116834.
        TextureMapperGL implements two drawTexture functions.
        The first one takes a BitmapTexture as an argument and does override TextureMapper::drawTexture().
        The second one takes a texture id as an argument and does not override any member function.

        * platform/graphics/texmap/TextureMapperGL.h:

2012-05-12  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: implement tabs reordering via drag'n'drop.
        https://bugs.webkit.org/show_bug.cgi?id=86294

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPaneTab.prototype._createTabElement):
        (WebInspector.TabbedPaneTab.prototype._tabClicked):
        (WebInspector.TabbedPaneTab.prototype._tabMouseDown):
        (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
        (WebInspector.TabbedPaneTab.prototype._tabMouseMove):
        (WebInspector.TabbedPaneTab.prototype._tabDragging):
        (WebInspector.TabbedPaneTab.prototype._endTabDragging):

2012-05-14  MORITA Hajime  <morrita@google.com>

        Should have Node::inDetach() for assertion purposes.
        https://bugs.webkit.org/show_bug.cgi?id=86157

        Reviewed by Darin Adler.

        Implemented Node::inDetach() and added an assertio in Document::setFocusedNode().
        This is a follow up of r116644 which removes inDetach() checking.

        No new tests. Just adding an asssertion.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode):
        * dom/Node.cpp:
        (WebCore):
        (WebCore::Node::inDetach):
        (WebCore::Node::detach):
        * dom/Node.h:
        (Node):

2012-05-13  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] Remove platform/image-decoders/xbm from WebCore.gyp
        https://bugs.webkit.org/show_bug.cgi?id=86333

        Reviewed by Adam Barth.

        No new tests. No change in behavior.

        * WebCore.gyp/WebCore.gyp: Remove reference to platform/image-decoders/xbm
        since that directory was removed from the repository long ago.

2012-05-13  Darin Adler  <darin@apple.com>

        [CG] Unneeded CFRetain/Release of CGImageRef in BitmapImage::draw
        https://bugs.webkit.org/show_bug.cgi?id=86332

        Reviewed by Dan Bernstein.

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw): Don't use RetainPtr since the result of
        the function is used before anything could call CFRelease on it.

2012-05-13  Darin Adler  <darin@apple.com>

        Listeners map uses raw pointers, but should use OwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=86298

        Reviewed by Dan Bernstein.

        * bindings/js/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::~PageScriptDebugServer): Removed call
        to deleteAllValues since the destructor now takes care of this
        (WebCore::PageScriptDebugServer::addListener): Changed idiom of the add
        function call here to use adoptPtr.
        (WebCore::PageScriptDebugServer::removeListener): Added a now-needed
        call to get and removed a now-uneeeded call to delete.
        * bindings/js/PageScriptDebugServer.h: Changed the key type of
        PageListenersMap to OwnPtr.

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::~ScriptDebugServer): Removed code to delete
        the values in m_pageListenersMap. This map was never used and so I have
        removed it.
        * bindings/js/ScriptDebugServer.h: Removed the type PageListenersMap
        and the unused data member, m_pageListenersMap.

2012-05-13  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Move ValidityState methods implementation to another place
        https://bugs.webkit.org/show_bug.cgi?id=86058

        Reviewed by Kent Tamura.

        This patch changes ValidityState class for limiting scope of
        number/range input type related methods for introducing decimal
        arithmetic.

        Methods related to validation are moved from ValidateState to
        input, select and textarea elements with virtual method based
        dispatching via FormAssociateElement instead of tag name
        dispatching so far for code simplification.

        No new tests. This patch doesn't change behavior.

        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::customError): Added. Called from ValidateState. Returns custom error mssage in member variable.
        (WebCore::FormAssociatedElement::patternMismatch): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::rangeOverflow): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::rangeUnderflow): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::stepMismatch): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::tooLong): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::typeMismatch): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::valid): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::valueMissing): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::customValidationMessage): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::validationMessage): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::setCustomValidity): Added.  set custom error message.
        * html/FormAssociatedElement.h:
        (FormAssociatedElement): Added new instance value m_customValidationMessage.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::validationMessage): Removed. Note: HTMLInputElement, HTMLSelectElement, and HTMLTextAreaElement implement this method.
        (WebCore::HTMLFormControlElement::setCustomValidity): Changed. Calls base class setCustomValidity.
        * html/HTMLFormControlElement.h:
        (HTMLFormControlElement):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isValidValue): Call m_inputType methods instead of HTMLInputElement's.
        (WebCore::HTMLInputElement::tooLong): Call m_inputType methods instead of HTMLInputElement's.
        (WebCore):
        (WebCore::HTMLInputElement::typeMismatch): Move implementation to InputType.
        (WebCore::HTMLInputElement::valueMissing):  Move implementation to InputType.
        (WebCore::HTMLInputElement::patternMismatch): Move implementation to InputType.
        (WebCore::HTMLInputElement::rangeUnderflow): Move implementation to InputType.
        (WebCore::HTMLInputElement::rangeOverflow): Move implementation to InputType.
        (WebCore::HTMLInputElement::validationMessage): Move implementation to InputType.
        (WebCore::HTMLInputElement::stepMismatch): Move implementation to InputType.
        (WebCore::HTMLInputElement::isInRange): Call m_inputType methods instead of HTMLInputElement's.
        (WebCore::HTMLInputElement::isOutOfRange): Call m_inputType methods instead of HTMLInputElement's.
        * html/HTMLInputElement.h:
        (HTMLInputElement): Make tooLong method private.
        * html/HTMLObjectElement.h: Add "virtual" and "OVERRIDE".
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::validationMessage): Added. Implementation for HTMLSelectElement.
        (WebCore::HTMLSelectElement::valueMissing): Added. Implementation for HTMLSelectElement.
        * html/HTMLSelectElement.h:
        (HTMLSelectElement):  Added entries for newly added methods.
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::validationMessage): Added. Implementation for HTMLTextAreaElement.
        (WebCore::HTMLTextAreaElement::valueMissing): Added. Implementation for HTMLTextAreaElement.
        (WebCore::HTMLTextAreaElement::tooLong): Added. Implementation for HTMLTextAreaElement.
        * html/HTMLTextAreaElement.h:
        (HTMLTextAreaElement): Added entries for newly added methods. Change tooLong and valueMissing private.
        * html/InputType.cpp:
        (WebCore::InputType::stepMismatch): Change method signature.
        (WebCore::InputType::alignValueForStep):  Changed for calling InputClass instead of HTMLINputElement.
        (WebCore::InputType::stepUpFromRenderer):  Added. Moved from HTMLInputElement.
        (WebCore::InputType::validationMessage): Added.  Moved from HTMLInputElement.
        * html/InputType.h:
        (InputType): Added entries for newly added methods and update methods signature.
        * html/ValidityState.cpp: Move actual implementation to FormAssociatedElement and derived classes for localizing implementation change of elements and input types.
        (WebCore::ValidityState::validationMessage): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::valueMissing): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::typeMismatch): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::patternMismatch): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::tooLong): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::rangeUnderflow): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::rangeOverflow): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::stepMismatch): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::customError): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::valid):
        * html/ValidityState.h:
        (ValidityState): Remove custom validation message related things.

2012-05-13  Mike Lawther  <mikelawther@chromium.org>

        Heap-use-after-free in WTF::HashMap<int, WTF::RefPtr<WebCore::CalculationValue>, WTF::IntHash<unsigned int>, WTF::HashTrait
        https://bugs.webkit.org/show_bug.cgi?id=85195

        This bug was caused by Length not understanding that calc expressions shouldn't be 
        blended - a Length with a calc expression handle was created without incrementing
        the ref count of the expression. Length no longer attempts to blend calc expressions,
        http://webkit.org/b/86160 has been filed to track expression blending. Fixing this fixed
        the crash.

        Once this was fixed, the RenderStyle diff checker thought the style was changing,
        as Length didn't know how to compare calc expressions, resulting in an infinite
        loop of style recalcs. Expressions can now compare themselves.

        Reviewed by Darin Adler.

        Tests: css3/calc/transition-crash.html
               css3/calc/transition-crash2.html

        * platform/CalculationValue.h:
        (WebCore::CalcExpressionNode::CalcExpressionNode):
        (CalcExpressionNode):
        (WebCore::CalcExpressionNode::type):
        (CalculationValue):
        (WebCore::CalculationValue::operator==):
        (WebCore::CalcExpressionNumber::CalcExpressionNumber):
        (WebCore::CalcExpressionNumber::operator==):
        (CalcExpressionNumber):
        (WebCore::CalcExpressionLength::CalcExpressionLength):
        (WebCore::CalcExpressionLength::operator==):
        (CalcExpressionLength):
        (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
        (WebCore::CalcExpressionBinaryOperation::operator==):
        (CalcExpressionBinaryOperation):
        * platform/Length.cpp:
        (WebCore::Length::isCalculatedEqual):
        (WebCore):
        * platform/Length.h:
        (WebCore::Length::operator==):
        (Length):
        (WebCore::Length::blend):

2012-05-13  Darin Adler  <darin@apple.com>

        Roll out local changes accidentally landed in r116905.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        * platform/graphics/cg/ImageCG.cpp:

2012-05-13  Rob Buis  <rbuis@rim.com>

        Use emptyString instead of String("")
        https://bugs.webkit.org/show_bug.cgi?id=86305

        Reviewed by Darin Adler.

        Use emptyString() instead of String("") because it is better style and faster.

        No new tests. No change in behavior.

        * Modules/webdatabase/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::performOpenAndVerify):
        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
        (WebCore::ThreadableWebSocketChannelClientWrapper::extensions):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValueFromRenderer):
        * platform/SharedBufferChunkReader.cpp:
        (WebCore::SharedBufferChunkReader::nextChunkAsUTF8StringWithLatin1Fallback):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::setProxyInfo):
        * platform/text/LocaleICU.cpp:
        (WebCore::LocaleICU::initializeLocalizedDateFormatText):
        * rendering/RenderQuote.cpp:
        (WebCore::RenderQuote::originalText):
        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::localStorageNamespace):
        * svg/SVGStringList.cpp:
        (WebCore::SVGStringList::reset):

2012-05-13  Darin Adler  <darin@apple.com>

        Image::initPlatformData is always an empty function so we can remove it
        https://bugs.webkit.org/show_bug.cgi?id=86297

        Reviewed by Dan Bernstein.

        * platform/graphics/BitmapImage.h: Removed declaration of initPlatformData.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.
        * platform/graphics/cairo/BitmapImageCairo.cpp:
        (WebCore::BitmapImage::BitmapImage): Ditto.
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::BitmapImage): Ditto.
        * platform/graphics/chromium/ImageChromiumMac.mm: Removed empty
        initPlatformData function.
        * platform/graphics/efl/ImageEfl.cpp: Ditto.
        * platform/graphics/gtk/ImageGtk.cpp:
        * platform/graphics/mac/ImageMac.mm:
        * platform/graphics/openvg/ImageOpenVG.cpp:
        (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.
        Removed empty initPlatformData function.
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.
        Removed empty initPlatformData function.
        * platform/graphics/skia/ImageSkia.cpp: Removed empty initPlatformData function.
        * platform/graphics/win/ImageWin.cpp: Ditto.
        * platform/graphics/wx/ImageWx.cpp: Ditto.
        (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.

2012-05-13  Darin Adler  <darin@apple.com>

        RenderView::selectionBounds and RenderView::setSelection use maps with raw pointers that should be OwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=86300

        Reviewed by Eric Seidel.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::selectionBounds): Changed SelectionMap type to use OwnPtr.
        Added code to do adoptPtr as needed and removed explicit delete code.
        (WebCore::RenderView::setSelection): Changed SelectedBlockMap type to use OwnPtr.
        Added code to do adoptPtr as needed and removed explicit delete code.

2012-05-13  Darin Adler  <darin@apple.com>

        FractionalLayoutUnit class has unneeded redundant uses of "inline" keyword
        https://bugs.webkit.org/show_bug.cgi?id=86301

        Reviewed by Andreas Kling.

        * platform/FractionalLayoutUnit.h: Removed uses of inline for functions
        defined inside a class definition. The C++ language defines that all such
        functions are treated as if specified with inline, and explicitly stating
        inline in addition does not add anything or change behavior.

2012-05-13  Darin Adler  <darin@apple.com>

        Dangling node to ID maps vector uses raw pointers, but should use OwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=86299

        Reviewed by Pavel Feldman.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::releaseDanglingNodes): Removed now-unneeded call
        to deleteAllValues since the clear function now takes care of that.
        (WebCore::InspectorDOMAgent::pushNodePathToFrontend): Added code that uses
        adoptPtr and release as neeed to deal with a Vector<OwnPtr>.
        * inspector/InspectorDOMAgent.h: Changed m_danglingNodeToIdMaps to be
        Vector<OwnPtr> instead of a vector of raw pointers.

2012-05-13  Victor Carbune  <vcarbune@adobe.com>

        Volume slider needs to be displayed below the mute button
        https://bugs.webkit.org/show_bug.cgi?id=85990

        Reviewed by Dimitri Glazkov.

        Added back code for rendering offset, but used only when the volume slider
        needs to be displayed below the controls.

        Test: media/media-volume-slider-rendered-below.html

        * css/mediaControlsChromium.css:
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        Changed positioning of the slider to absolute, otherwise it is not possible to position it from the layout() method.
        * css/mediaControlsQuickTime.css:
        Added back the double mute-button and changed the z-index of the original button. When the slider is displayed
        the second mute button is actually there.
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
        Added copy.
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::makeTransparent): Disabled the possible of hiding controls. WebVTT rendering
        in the place of controls when these are visible is not possible with the current code.
        (RenderMediaVolumeSliderContainer):
        (WebCore):
        (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
        (WebCore::RenderMediaVolumeSliderContainer::layout):
        Checked if the absolute coordinates of the corner of the slider would be rendered outside the page. This part of the
        code is faulty if display:none is toggled on the controls.
        (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
        * html/shadow/MediaControlElements.h:
        (MediaControlVolumeSliderContainerElement):
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::create):

2012-05-13  Igor Oliveira  <igor.o@sisa.samsung.com>

        [Texmap] TextureMapperAnimations does not support keyframe with multiple animations
        https://bugs.webkit.org/show_bug.cgi?id=86303

        Qt and GTK, in WebKit1, use TextureMapper to store AC animations using
        TextureMapperAnimations::add(keyframeName, TextureMapperAnimation). And when a 
        CSS animation animates several CSS properties, TextureMapperAnimations::add is
        called more than once with the same keyframeName value. However, currently,
        TextureMapperAnimations can not store more than one animated property in the keyframe
        because it is using HashMap<String, TextureMapperAnimation>, and WebKit HashMap 
        does not support add the same key twice.

        Reviewed by Noam Rosenthal.

        * platform/graphics/texmap/TextureMapperAnimation.cpp:
        (WebCore::TextureMapperAnimations::hasActiveAnimationsOfType):
        (WebCore::TextureMapperAnimations::hasRunningAnimations):
        (WebCore::TextureMapperAnimations::add):
        (WebCore):
        (WebCore::TextureMapperAnimations::pause):
        (WebCore::TextureMapperAnimations::apply):
        * platform/graphics/texmap/TextureMapperAnimation.h:
        (TextureMapperAnimations): Use HashMap<String, Vector<TextureMapperAnimation> >,
        so we can support an keyframe with multiple animations.

2012-05-12  Abhishek Arya  <inferno@chromium.org>

        Crash in HTMLSelectElement::setOption
        https://bugs.webkit.org/show_bug.cgi?id=85420

        Reviewed by Eric Seidel
        
        RefPtr before option in HTMLSelectElement::setOption since it
        can get destroyed due to mutation events.

        Test: fast/dom/HTMLSelectElement/option-add-crash.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setOption):

2012-05-12  Robin Dunn  <robin@alldunn.com>

        [wx] Restore text paste implementation.
        https://bugs.webkit.org/show_bug.cgi?id=86311

        Reviewed by Kevin Ollivier.

        * platform/wx/PasteboardWx.cpp:
        (WebCore::Pasteboard::plainText):

2012-05-12  Philip Rogers  <pdr@google.com>

        Cleanup before changing attributeName in SVG <animate>
        https://bugs.webkit.org/show_bug.cgi?id=86100

        Reviewed by Nikolas Zimmermann.

        Changing attributeName caused a crash because references were not removed from the old target.
        This change simply cleans up before changing attributeName in SVG animation elements.

        Test: svg/animations/dynamic-modify-attributename-crash.svg

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::svgAttributeChanged):

2012-05-12  Max Feil  <mfeil@rim.com>

        [BlackBerry] Allow the platform media player to determine the media element's paused/playing status
        https://bugs.webkit.org/show_bug.cgi?id=86235

        Reviewed by George Staikos.

        The platform media player needs to know when the HTMLMediaElement
        is not paused. This is to address problems when switching
        source element, which causes the destruction of the old
        MediaPlayerPrivate object and construction of a new one. The
        new one must resume playing ASAP if the old one was playing.

        Test: media/media-continues-playing-after-replace-source.html

        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::isElementPaused):
        (WebCore):
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
        (MediaPlayerPrivate):

2012-05-12  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: heap profiler should allow revealing an element which is logged to the console
        https://bugs.webkit.org/show_bug.cgi?id=86204

        Reviewed by Pavel Feldman.

        JS objects in the console have context menu item that allows to reveal them in a heap snapshot view.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
        * inspector/front-end/ContextMenu.js:
        (WebInspector.ContextMenu.prototype.isEmpty):
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGridNode.prototype._detach):
        (WebInspector.DataGridNode.prototype.wasDetached):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.nodeClassName):
        (WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition):
        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotSortableDataGrid):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.highlightObjectByHeapSnapshotId):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.highlightNode):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.nodeWasDetached):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._clearCurrentHighlight):
        (WebInspector.HeapSnapshotViewportDataGrid):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype.highlightNode):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype._onScroll):
        (WebInspector.HeapSnapshotConstructorsDataGrid):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.highlightObjectByHeapSnapshotId.didGetClassName):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.highlightObjectByHeapSnapshotId):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype.wasDetached):
        (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId):
        (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didPopulateChildren):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotProxy.prototype.nodeClassName):
        (WebInspector.HeapSnapshotProviderProxy.prototype.nodePosition):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.ContextMenuProvider):
        (WebInspector.ObjectPropertiesSection.ContextMenuProvider.prototype.populateContextMenu):
        (WebInspector.ObjectPropertiesSection.addContextMenuProvider):
        (WebInspector.ObjectPropertiesSection.prototype.enableContextMenu):
        (WebInspector.ObjectPropertiesSection.prototype._contextMenuEventFired):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.showObject):
        (WebInspector.RevealInHeapSnapshotContextMenuProvider):
        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.revealInSummaryView):
        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
        * inspector/front-end/profilesPanel.css:
        (.highlighted-row):
        (@-webkit-keyframes row_highlight):
        (to):

2012-05-12  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: move recording button state control out of addProfileHeader.
        https://bugs.webkit.org/show_bug.cgi?id=86293

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/CSSSelectorProfileView.js:
        (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileType.prototype.buttonClicked):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileType.prototype.buttonClicked):
        (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot.done):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):

2012-05-12  Eugene Klyuchnikov  <eustas.bug@gmail.com>

        Web Inspector: Turn HelpScreen to be View.
        https://bugs.webkit.org/show_bug.cgi?id=85711

        Reviewed by Yury Semikhatsky.

        Motivation: for further UI changes, HelpSceen needs to be View.
        It is planned to combine Settings Screen and Shortcuts Screen in one
        tabbed screen.
        Bonus: "helpScreen.css" will be lazy-loaded.
        Additional changes: move settingsScreen logic out of inspector.js

        UI change, no test required.

        * WebCore.gypi: Change "helpScreen.css" file group.
        * inspector/front-end/HelpScreen.js: 
        (WebInspector.HelpScreen): Turned to View subclass.
        (WebInspector.HelpScreen.prototype.showModal): Remove "onHide" param
        (WebInspector.HelpScreen.prototype.hide): Ditto.
        (WebInspector.HelpScreen.prototype._onKeyDown): Adopt View members.
        (WebInspector.HelpScreen.prototype._onBlur): Ditto.
        * inspector/front-end/SettingsScreen.js: Adopt new workflow.
        (WebInspector.SettingsScreen): Put onHide function to member
        (WebInspector.SettingsScreen.prototype.willHide): Invoke onHide
        (WebInspector.SettingsController): Mediator pattern - this class
        takes care of status bar button - settings screen relationship.
        (WebInspector.SettingsController.prototype.get statusBarItem):
        Getter fot representative element.
        (WebInspector.SettingsController.prototype._buttonClicked):
        Classifies user action.
        (WebInspector.SettingsController.prototype._onHideSettingsScreen):
        Cleanup after settings screen is hidden.
        (WebInspector.SettingsController.prototype._showSettingsScreen):
        Presents settings screen.
        (WebInspector.SettingsController.prototype._hideSettingsScreen):
        Hides settings screen.
        * inspector/front-end/ShortcutsScreen.js: Adopt new workflow.
        (WebInspector.ShortcutsScreen.prototype.wasShown): Lazy initialization.
        * inspector/front-end/WorkerManager.js: Adopt new workflow.
        (WebInspector.WorkerManager.prototype._disconnectedFromWorker): Ditto.
        (WebInspector.WorkerTerminatedScreen.prototype.willHide): Ditto.
        * inspector/front-end/helpScreen.css: Fix spacing.
        (.help-window-outer): Ditto.
        (body.compact .help-window-outer): Ditto.
        (body.compact .help-window-main): Ditto.
        (body.compact .help-window-caption): Ditto.
        (.help-content): Ditto.
        (body.compact .help-content): Ditto.
        (.help-content select): Ditto.
        * inspector/front-end/inspector.html: Ditto.
        * inspector/front-end/inspector.js: Ditto.
        (WebInspector._createGlobalStatusBarItems): Create SettingsController.
        (WebInspector.documentKeyDown): Adopt new workflow.

2012-05-12  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: add tab context menu
        https://bugs.webkit.org/show_bug.cgi?id=86292

        Reviewed by Yury Semikhatsky.

        This tab context menu will have "Close", "Close Others" and "Close All".

        * English.lproj/localizedStrings.js:
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype.closeOtherTabs):
        (WebInspector.TabbedPaneTab.prototype._createTabElement):
        (WebInspector.TabbedPaneTab.prototype._tabClicked):
        (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
        (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeOthers):
        (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeAll):

2012-05-12  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make call frame selector pane focusable, allow Up / Down to select current call frame.
        https://bugs.webkit.org/show_bug.cgi?id=86291

        Reviewed by Yury Semikhatsky.

        This change makes sidebar section focusable, introduces key listeners for Up and Down.

        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane):
        (WebInspector.CallStackSidebarPane.prototype.setStatus):
        (WebInspector.CallStackSidebarPane.prototype._treeKeyDown):
        * inspector/front-end/UISourceCode.js:
        * inspector/front-end/scriptsPanel.css:
        (#scripts-debug-toolbar img):

2012-05-12  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: unreviewed one line fix.

        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotWorker):

2012-05-12  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Load context menu item has to be shown for all Profiles panel.
        https://bugs.webkit.org/show_bug.cgi?id=86290

        Reviewed by Pavel Feldman.

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):

2012-05-12  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: shrink SourceFrame editing API to two methods (was 4).
        https://bugs.webkit.org/show_bug.cgi?id=86288

        Reviewed by Yury Semikhatsky.

        Used specific workflow in two SourceFrame implementations.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
        * inspector/front-end/ResourceView.js:
        (WebInspector.EditableResourceSourceFrame.prototype.commitEditing.callbackWrapper):
        (WebInspector.EditableResourceSourceFrame.prototype.commitEditing):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.commitEditing):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):

2012-05-11  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: allow showing arbitrary range of nodes in heap snapshot view
        https://bugs.webkit.org/show_bug.cgi?id=86230

        Reviewed by Pavel Feldman.

        Test: inspector/profiler/heap-snapshot-summary-show-ranges.html

        It was only possible to expand heap snapshot node children sequentially starting
        from the first child and then pressing either "Show next X items" or "Show all X items".
        This change makes it possible to show any range of children.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotFilteredOrderedIterator):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAll):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
        (WebInspector.HeapSnapshotEdgesProvider.prototype.serializeItem):
        (WebInspector.HeapSnapshotNodesProvider.prototype.serializeItem):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode):
        (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
        (WebInspector.HeapSnapshotGridNode.prototype._populate):
        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.serializeNextChunk):
        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.insertRetrievedChild):
        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.insertShowMoreButton):
        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.childrenRetrieved):
        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
        (WebInspector.HeapSnapshotGridNode.prototype._saveChildren):
        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
        (WebInspector.HeapSnapshotGridNode.prototype.sort):
        (WebInspector.HeapSnapshotDiffNodesProvider):
        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeItemsRange):
        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeItemsRange.didReceiveDeletedItems):
        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeItemsRange.didReceiveAddedItems):
        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.sortAndRewind):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotWorker):
        (WebInspector.HeapSnapshotProviderProxy.prototype.serializeItemsRange):
        * inspector/front-end/ShowMoreDataGridNode.js:
        (WebInspector.ShowMoreDataGridNode):
        (WebInspector.ShowMoreDataGridNode.prototype._showNextChunk):
        (WebInspector.ShowMoreDataGridNode.prototype._showAll):
        (WebInspector.ShowMoreDataGridNode.prototype._updateLabels):
        (WebInspector.ShowMoreDataGridNode.prototype.setStartPosition):
        (WebInspector.ShowMoreDataGridNode.prototype.setEndPosition):
        * inspector/front-end/utilities.js:

2012-05-12  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: remove UISourceCode.id since it is no longer used.
        https://bugs.webkit.org/show_bug.cgi?id=86286

        Reviewed by Vsevolod Vlasov.

        We are now using breakpointStorageId property for breakpoint persistence.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype._debuggerReset):
        (WebInspector.BreakpointManager.prototype._uiLocationAdded.get if):
        (WebInspector.BreakpointManager.prototype._uiLocationAdded):
        (WebInspector.BreakpointManager.prototype._uiLocationRemoved.get if):
        (WebInspector.BreakpointManager.prototype._uiLocationRemoved):
        * inspector/front-end/CompilerScriptMapping.js:
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode):
        (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
        (WebInspector.RawSourceCode.prototype._createUISourceCode):
        (WebInspector.RawSourceCode.prototype._finishedLoading):
        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):

2012-05-12  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: merge MainScriptMapping into DebuggerPresentationModel; move other classes into their own files.
        https://bugs.webkit.org/show_bug.cgi?id=86285

        Reviewed by Yury Semikhatsky.

        The only purpose of the debugger presentation model now is to manage mappings. Merging main script mapping back into it.
        Other classes defined in that class are moved out into their own files.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        * inspector/front-end/DebuggerResourceBinding.js: Added.
        (WebInspector.DebuggerResourceBinding):
        (WebInspector.DebuggerResourceBinding.canEditScriptSource):
        (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
        (WebInspector.DebuggerResourceBinding.setScriptSource):
        (WebInspector.DebuggerResourceBinding.prototype.canSetContent):
        (WebInspector.DebuggerResourceBinding.prototype.setContent):
        (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
        (WebInspector.DebuggerResourceBinding.prototype._setContentWithInitialContent):
        * inspector/front-end/PresentationConsoleMessageHelper.js: Added.
        (WebInspector.PresentationConsoleMessageHelper):
        (WebInspector.PresentationConsoleMessageHelper.prototype._consoleMessageAdded):
        (WebInspector.PresentationConsoleMessageHelper.prototype._addConsoleMessageToScript):
        (WebInspector.PresentationConsoleMessageHelper.prototype._addPendingConsoleMessage):
        (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
        (WebInspector.PresentationConsoleMessageHelper.prototype._consoleCleared):
        (WebInspector.PresentationConsoleMessageHelper.prototype._debuggerReset):
        (WebInspector.PresentationConsoleMessage):
        (WebInspector.PresentationConsoleMessage.prototype._updateLocation):
        (WebInspector.PresentationConsoleMessage.prototype.get lineNumber):
        (WebInspector.PresentationConsoleMessage.prototype.dispose):
        * inspector/front-end/ScriptMapping.js:
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:

2012-05-12  Mike West  <mkwst@chromium.org>

        Cleanup ContentSecurityPolicy naming conventions.
        https://bugs.webkit.org/show_bug.cgi?id=86282

        Reviewed by Adam Barth.

        Two tiny changes:
        
        1. `reportURI` and `reportURL` are both used within the CSP
           implementation. We should standardize on `reportURI` to match the
           spec.
        
        2. Renames `ContentSecurityPolicy::allowConnectFromSource` to
           `ContentSecurityPolicy::allowConnectToSource` for clarity.

        No new tests, as there's no user-visible change.

        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        * page/ContentSecurityPolicy.cpp:
        (CSPDirectiveList):
        (WebCore::CSPDirectiveList::reportViolation):
        (WebCore::CSPDirectiveList::allowConnectToSource):
        (WebCore::CSPDirectiveList::parseReportURI):
        (WebCore::CSPDirectiveList::addDirective):
        (WebCore::ContentSecurityPolicy::allowConnectToSource):
        * page/ContentSecurityPolicy.h:
        * page/EventSource.cpp:
        (WebCore::EventSource::create):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::open):

2012-05-11  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call isLinkVisited directly
        https://bugs.webkit.org/show_bug.cgi?id=85412

        Reviewed by Adam Barth.

        Part of a refactoring series. See tracking bug 82948.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/PageGroup.cpp:
        (WebCore::PageGroup::isLinkVisited):
        * platform/VisitedLinks.cpp: Added.
        (WebCore):
        (WebCore::VisitedLinks::isLinkVisited):
        * platform/VisitedLinks.h: Added.
        (WebCore):
        (VisitedLinks):
        * platform/chromium/PlatformSupport.h:
        * platform/chromium/VisitedLinksChromium.cpp: Added.
        (WebCore):
        (WebCore::VisitedLinks::isLinkVisited):

2012-05-11  Martin Robinson  <mrobinson@igalia.com>

        [TextureMapper] Tiles are not created for large textures
        https://bugs.webkit.org/show_bug.cgi?id=86245

        Reviewed by Noam Rosenthal.

        No new tests. This will not produce any observable behavior changes,
        unless run on a machine with a small texture size limit.

        The maxTextureSize() method on TextureMapperGL was missing a "const"
        keyword, meaning that it was not properly overriding the version in
        the abstract base class (TextureMapper). This patch adds the const
        modifier and cleans up the list of override methods in the two 
        TextureMapper sublcasses, adding the OVERRIDE macro for compilers that
        support it and removing a couple unused methods.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        * platform/graphics/texmap/TextureMapperGL.h:
        (WebCore::TextureMapperGL::create):
        * platform/graphics/texmap/TextureMapperImageBuffer.h:
        (TextureMapperImageBuffer):

2012-05-11  Adrienne Walker  <enne@google.com>

        [chromium] Prevent deadlock on CCVideoLayerImpl destruction
        https://bugs.webkit.org/show_bug.cgi?id=86258

        Reviewed by James Robinson.

        ~CCVideoLayerImpl had a common deadlock issue where if it got
        destroyed before WebMediaPlayerClientImpl, it would take a lock,
        call WebMediaPlayerClientImpl::setVideoFrameProviderClient(0),
        which in turn would call CCVideoLayerImpl::stopUsingProvider(),
        which would try to take the same lock and would deadlock.

        CCVideoLayerImpl is only created and destroyed during tree
        synchronization in a commit or during synchronous compositor thread
        destruction. In either case, the main thread is blocked, and so no
        lock needs to be taken at all.

        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
        (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
        (WebCore::CCVideoLayerImpl::stopUsingProvider):

2012-05-11  Jeffrey Pfau  <jpfau@apple.com>

        REGRESSION (r114170): Scroll areas in nested frames improperly placed when tiled drawing is enabled
        https://bugs.webkit.org/show_bug.cgi?id=86239

        Reviewed by Anders Carlsson.

        Fixes a regression introduced in r114170 by recursively adding positions of parent frames to placement of nested frame scroll areas.

        Manual tests: ManualTests/scrollable-positioned-frame.html
                      ManualTests/scrollable-positioned-nested-frame.html

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::computeNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):

2012-05-11  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=86278
        Composited layers should only run the overlay scrollbars painting pass 
        if necessary

        Reviewed by Dan Bernstein.

        It's not enough that the rootLayer has dirty scrollbars; we also have 
        to actually be doing the overlay scrollbars painting pass to skip the 
        early return.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):

2012-05-11  Anders Carlsson  <andersca@apple.com>

        Comcast website displays bottom of page when loaded
        https://bugs.webkit.org/show_bug.cgi?id=86277
        <rdar://problem/11426887>

        Reviewed by Beth Dakin.

        There were two bugs here. The first bug was that FrameView::setScrollPosition didn't end up calling into the scrolling coordinator
        to update the scroll position. The second bug was that ScrollingTreeNodeMac::setScrollPosition didn't constrain the scroll position
        to the edge of the page.

        * page/FrameView.cpp:
        (WebCore::FrameView::setScrollPosition):
        Call requestScrollPositionUpdate.

        * page/scrolling/ScrollingTree.cpp:
        * page/scrolling/ScrollingTree.h:
        Remove setMainFrameScrollPosition, it is not called by anyone.

        * page/scrolling/mac/ScrollingTreeNodeMac.h:
        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
        Clamp to the page size and call setScrollPositionWithoutContentEdgeConstraints.

        (WebCore::ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints):
        Update the scroll layer position and call back to the main thread.

        (WebCore::ScrollingTreeNodeMac::scrollBy):
        Call setScrollPosition.

        (WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints):
        Call setScrollPositionWithoutContentEdgeConstraints.

2012-05-11  Gavin Barraclough  <barraclough@apple.com>

        Introduce PropertyName class
        https://bugs.webkit.org/show_bug.cgi?id=86241

        Reviewed by Geoff Garen.

        Replace 'const Identifier&' arguments to functions accessing object properties with a new 'PropertyName' type.
        This change paves the way to allow for properties keyed by values that are not Identifiers.

        This change is largely a mechanical find & replace.
        It also changes JSFunction's constructor to take a UString& instead of an Identifier&
        (since in some cases we can no longer guarantee that we'lll have an Identifier), and
        unifies Identifier's methods to obtain array indices onto PropertyName.

        The new PropertyName class retains the ability to support .impl() and .ustring(), but
        in a future patch we may need to rework this, since not all PropertyNames should be
        equal based on their string representation.

        * WebCore.exp.in:
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::cssPropertyIDForJSCSSPropertyName):
        (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
        (WebCore::JSCSSStyleDeclaration::getOwnPropertyDescriptorDelegate):
        (WebCore::JSCSSStyleDeclaration::putDelegate):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::findAtomicString):
        (WebCore::objectToStringFunctionGetter):
        * bindings/js/JSDOMBinding.h:
        (WebCore):
        (WebCore::propertyNameToString):
        (WebCore::propertyNameToAtomicString):
        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
        (WebCore::JSDOMMimeTypeArray::canGetItemsForName):
        (WebCore::JSDOMMimeTypeArray::nameGetter):
        * bindings/js/JSDOMPluginArrayCustom.cpp:
        (WebCore::JSDOMPluginArray::canGetItemsForName):
        (WebCore::JSDOMPluginArray::nameGetter):
        * bindings/js/JSDOMPluginCustom.cpp:
        (WebCore::JSDOMPlugin::canGetItemsForName):
        (WebCore::JSDOMPlugin::nameGetter):
        * bindings/js/JSDOMStringMapCustom.cpp:
        (WebCore::JSDOMStringMap::canGetItemsForName):
        (WebCore::JSDOMStringMap::nameGetter):
        (WebCore::JSDOMStringMap::deleteProperty):
        (WebCore::JSDOMStringMap::putDelegate):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::nonCachingStaticFunctionGetter):
        (WebCore::childFrameGetter):
        (WebCore::namedItemGetter):
        (WebCore::JSDOMWindow::getOwnPropertySlot):
        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
        (WebCore::JSDOMWindow::put):
        (WebCore::JSDOMWindow::deleteProperty):
        (WebCore::JSDOMWindow::defineOwnProperty):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::getOwnPropertySlot):
        (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
        (WebCore::JSDOMWindowShell::put):
        (WebCore::JSDOMWindowShell::putDirectVirtual):
        (WebCore::JSDOMWindowShell::defineOwnProperty):
        (WebCore::JSDOMWindowShell::deleteProperty):
        * bindings/js/JSDOMWindowShell.h:
        (JSDOMWindowShell):
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::callHTMLAllCollection):
        (WebCore::JSHTMLAllCollection::canGetItemsForName):
        (WebCore::JSHTMLAllCollection::nameGetter):
        (WebCore::JSHTMLAllCollection::item):
        * bindings/js/JSHTMLAppletElementCustom.cpp:
        (WebCore::JSHTMLAppletElement::getOwnPropertySlotDelegate):
        (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
        (WebCore::JSHTMLAppletElement::putDelegate):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::JSHTMLCollection::canGetItemsForName):
        (WebCore::JSHTMLCollection::nameGetter):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::canGetItemsForName):
        (WebCore::JSHTMLDocument::nameGetter):
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        (WebCore::JSHTMLEmbedElement::getOwnPropertySlotDelegate):
        (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
        (WebCore::JSHTMLEmbedElement::putDelegate):
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::canGetItemsForName):
        (WebCore::JSHTMLFormElement::nameGetter):
        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
        (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
        (WebCore::JSHTMLFrameSetElement::nameGetter):
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        (WebCore::JSHTMLObjectElement::getOwnPropertySlotDelegate):
        (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
        (WebCore::JSHTMLObjectElement::putDelegate):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::nonCachingStaticBackFunctionGetter):
        (WebCore::nonCachingStaticForwardFunctionGetter):
        (WebCore::nonCachingStaticGoFunctionGetter):
        (WebCore::JSHistory::getOwnPropertySlotDelegate):
        (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
        (WebCore::JSHistory::putDelegate):
        (WebCore::JSHistory::deleteProperty):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::nonCachingStaticReplaceFunctionGetter):
        (WebCore::nonCachingStaticReloadFunctionGetter):
        (WebCore::nonCachingStaticAssignFunctionGetter):
        (WebCore::JSLocation::getOwnPropertySlotDelegate):
        (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
        (WebCore::JSLocation::putDelegate):
        (WebCore::JSLocation::deleteProperty):
        (WebCore::JSLocation::defineOwnProperty):
        (WebCore::JSLocationPrototype::putDelegate):
        (WebCore::JSLocationPrototype::defineOwnProperty):
        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::canGetItemsForName):
        (WebCore::JSNamedNodeMap::nameGetter):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::JSNodeList::canGetItemsForName):
        (WebCore::JSNodeList::nameGetter):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::runtimeObjectPropertyGetter):
        (WebCore::runtimeObjectCustomGetOwnPropertySlot):
        (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
        (WebCore::runtimeObjectCustomPut):
        * bindings/js/JSPluginElementFunctions.h:
        (WebCore):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::canGetItemsForName):
        (WebCore::JSStorage::nameGetter):
        (WebCore::JSStorage::deleteProperty):
        (WebCore::JSStorage::putDelegate):
        * bindings/js/JSStyleSheetListCustom.cpp:
        (WebCore::JSStyleSheetList::canGetItemsForName):
        (WebCore::JSStyleSheetList::nameGetter):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::getOwnPropertySlotDelegate):
        (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateHeader):
        (GenerateImplementation):
        (GenerateConstructorDeclaration):
        (GenerateConstructorDefinition):
        * bridge/c/c_class.cpp:
        (JSC::Bindings::CClass::methodsNamed):
        (JSC::Bindings::CClass::fieldNamed):
        * bridge/c/c_class.h:
        (CClass):
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CRuntimeMethod::create):
        (JSC::Bindings::CRuntimeMethod::finishCreation):
        (JSC::Bindings::CInstance::getMethod):
        * bridge/c/c_instance.h:
        (CInstance):
        * bridge/jni/jsc/JavaClassJSC.cpp:
        (JavaClass::methodsNamed):
        (JavaClass::fieldNamed):
        * bridge/jni/jsc/JavaClassJSC.h:
        (JavaClass):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaRuntimeMethod::create):
        (JavaRuntimeMethod::finishCreation):
        * bridge/jni/jsc/JavaInstanceJSC.h:
        (JavaInstance):
        * bridge/jsc/BridgeJSC.h:
        (Class):
        (JSC::Bindings::Class::fallbackObject):
        (JSC::Bindings::Instance::setValueOfUndefinedField):
        (Instance):
        (JSC::Bindings::Instance::getOwnPropertySlot):
        (JSC::Bindings::Instance::getOwnPropertyDescriptor):
        (JSC::Bindings::Instance::put):
        * bridge/objc/objc_class.h:
        (ObjcClass):
        * bridge/objc/objc_class.mm:
        (JSC::Bindings::ObjcClass::methodsNamed):
        (JSC::Bindings::ObjcClass::fieldNamed):
        (JSC::Bindings::ObjcClass::fallbackObject):
        * bridge/objc/objc_instance.h:
        (ObjcInstance):
        * bridge/objc/objc_instance.mm:
        (ObjCRuntimeMethod::create):
        (ObjCRuntimeMethod::finishCreation):
        (ObjcInstance::setValueOfUndefinedField):
        (ObjcInstance::getValueOfUndefinedField):
        * bridge/objc/objc_runtime.h:
        (JSC::Bindings::ObjcFallbackObjectImp::create):
        (JSC::Bindings::ObjcFallbackObjectImp::propertyName):
        (ObjcFallbackObjectImp):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
        (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot):
        (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
        (JSC::Bindings::ObjcFallbackObjectImp::put):
        (JSC::Bindings::callObjCFallbackObject):
        (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty):
        (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::lengthGetter):
        (JSC::RuntimeArray::getOwnPropertySlot):
        (JSC::RuntimeArray::getOwnPropertyDescriptor):
        (JSC::RuntimeArray::put):
        (JSC::RuntimeArray::deleteProperty):
        * bridge/runtime_array.h:
        (RuntimeArray):
        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::finishCreation):
        (JSC::RuntimeMethod::lengthGetter):
        (JSC::RuntimeMethod::getOwnPropertySlot):
        (JSC::RuntimeMethod::getOwnPropertyDescriptor):
        * bridge/runtime_method.h:
        (JSC::RuntimeMethod::create):
        (RuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
        (JSC::Bindings::RuntimeObject::fieldGetter):
        (JSC::Bindings::RuntimeObject::methodGetter):
        (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
        (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
        (JSC::Bindings::RuntimeObject::put):
        (JSC::Bindings::RuntimeObject::deleteProperty):
        * bridge/runtime_object.h:
        (RuntimeObject):

2012-05-11  David Barton  <dbarton@mathscribe.com>

        use after free in WebCore::RenderObject::document
        https://bugs.webkit.org/show_bug.cgi?id=84891

        Reviewed by Julien Chaffraix.

        Change RenderMathMLFenced::addChild() to use the beforeChild parameter. When beforeChild
        is 0, insert child renderers before the closing fence, which might not be the same as
        this->lastChild(), e.g. possibly due to anonymous blocks or generated content.

        Tests: mathml/presentation/mfenced-add-child1-expected.html
               mathml/presentation/mfenced-add-child1.html
               mathml/presentation/mfenced-add-child2-expected.html
               mathml/presentation/mfenced-add-child2.html

        * rendering/mathml/RenderMathMLFenced.cpp:
        (WebCore::RenderMathMLFenced::RenderMathMLFenced):
        (WebCore::RenderMathMLFenced::makeFences):
        (WebCore::RenderMathMLFenced::addChild):
        * rendering/mathml/RenderMathMLFenced.h:
        (RenderMathMLFenced):

2012-05-11  Anders Carlsson  <andersca@apple.com>

        Can't scroll on webpage after following links from Blogger
        https://bugs.webkit.org/show_bug.cgi?id=86274
        <rdar://problem/11431352>

        Reviewed by Beth Dakin.

        When committing a new scroll layer, make sure to reset the scroll position.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::commitNewTreeState):

2012-05-11  Martin Robinson  <mrobinson@igalia.com>

        [TextureMapper] Support drawing debug borders
        https://bugs.webkit.org/show_bug.cgi?id=86237

        Reviewed by Noam Rosenthal.

        No new tests. This is the implementation of an interactive debugging
        feature.

        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayer::create): Moved this to the top of the file to
        reduce contention for the coveted last spot in the file. This also
        follows the pattern used in many WebCore files of having the factories
        at the top.
        (WebCore::GraphicsLayerTextureMapper::setDebugBorder): Added this
        plumbing.
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h: Added
        plumbing.
        * platform/graphics/texmap/TextureMapper.h: Ditto.
        * platform/graphics/texmap/TextureMapperBackingStore.cpp:
        (WebCore::TextureMapperTiledBackingStore::TextureMapperTiledBackingStore):
        Initialize the new member.
        (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper): When
        debug borders are enabled call the new drawBorder method on the TM.
        (WebCore::TextureMapperTiledBackingStore::setDebugBorder): Added this
        plumbing.
        * platform/graphics/texmap/TextureMapperBackingStore.h: Added plumbing
        and members to store debug border states. This is necessary because of
        the when painting there is no handle on the GraphicsLayers.
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::drawRect): Factored out the common bits of
        drawTexture and drawBorder into this helper.
        (WebCore::TextureMapperGL::drawBorder): Added this method, which works
        very similarly to drawTexture, but uses a different shader program and
        must also set the line width and color.
        (WebCore::TextureMapperGL::drawTexture): Factored out the bits that
        are shared with drawRect.
        * platform/graphics/texmap/TextureMapperGL.h:
        (TextureMapperGL): Added the new method declarations.
        * platform/graphics/texmap/TextureMapperImageBuffer.h:
        (WebCore::TextureMapperImageBuffer::drawBorder): Added an empty
        implementation. Later we can add an implementation for the ImageBuffer
        TM.
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::updateBackingStore): When updating the
        backing store send the debug border information through.
        (WebCore::TextureMapperLayer::syncCompositingStateSelf): When updating
        the layer state, also update the debug indicators. This is required to
        initialize the debug border values for the layer.
        (WebCore::TextureMapperLayer::setDebugBorder): Added this plumbing.
        * platform/graphics/texmap/TextureMapperLayer.h: Ditto.
        * platform/graphics/texmap/TextureMapperShaderManager.cpp: Added a
        solid color shader that doesn't care about texture coordinates or
        opacity values.
        (WebCore::TextureMapperShaderManager::solidColorProgram): Added. This
        is a shorter getter for the solid color program that doesn't require
        casting from the caller.
        (WebCore::TextureMapperShaderManager::getShaderProgram): Added support
        for the solid color program.
        (WebCore::TextureMapperShaderProgramSolidColor::create): Added.
        (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor):
        Ditto.
        (WebCore::TextureMapperShaderProgramSolidColor::vertexShaderSource):
        Ditto.
        (WebCore::TextureMapperShaderProgramSolidColor::fragmentShaderSource):
        Ditto.
        * platform/graphics/texmap/TextureMapperShaderManager.h:
        (TextureMapperShaderProgramSolidColor): Added.
        (WebCore::TextureMapperShaderProgramSolidColor::colorVariable): Added.

2012-05-10  Timothy Hatcher  <timothy@apple.com>

        Instrument timer function calls so they show up in the Web Inspector Timeline.

        https://webkit.org/b/86173

        Reviewed by Pavel Feldman.

        Test: inspector/timeline/timeline-timer.html

        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::executeFunctionInContext): Wrap the call with JSMainThreadExecState::instrumentFunctionCall
        and InspectorInstrumentation::didCallFunction.

2012-05-11  Nico Weber  <thakis@chromium.org>

        [chromium/mac] Let libwebkit.dylib link in Debug/components build
        https://bugs.webkit.org/show_bug.cgi?id=86244

        Reviewed by James Robinson.

        In static builds, this was not needed because the targets depending on
        'webkit' already link in QuartzCore. In Release components builds, it wasn't
        needed because they are built with -dead_strip, which stripped the referencing
        code.

        * WebCore.gyp/WebCore.gyp:

2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116802.
        http://trac.webkit.org/changeset/116802
        https://bugs.webkit.org/show_bug.cgi?id=86260

        This patch causes compiling error to chromium builds
        (Requested by jianli_ on #webkit).

        * WebCore.gypi:

2012-05-11  Ryosuke Niwa  <rniwa@webkit.org>

        Regression fix after r116798.

        We need to return true for the html element in the design mode
        in which case parentNode() is editable and is not a body element.

        * dom/Node.cpp:
        (WebCore::Node::isRootEditableElement):

2012-05-11  James Robinson  <jamesr@chromium.org>

        [chromium] Move implementation of WebCore::GraphicsContext3D and related from WebKit/chromium/src to WebCore/platform/chromium/support
        https://bugs.webkit.org/show_bug.cgi?id=86257

        Reviewed by Adam Barth.

        The WebCore platform interfaces GraphicsContext3D and Extensions3DChromium are implemented in chromium on top of
        the Platform interface WebGraphicsContext3D. This moves the implementation support code from WebKit/chromium/src
        to WebCore/platform/chromium/support, which avoids having code in WebKit/ implementing WebCore interfaces and
        allows code in WebCore/platform to use this support code directly where appropriate.

        Refactor only, no new functionality or tests.

        * WebCore.gypi:
        * platform/chromium/support/Extensions3DChromium.cpp: Renamed from Source/WebKit/chromium/src/Extensions3DChromium.cpp.
        (WebCore):
        (WebCore::Extensions3DChromium::Extensions3DChromium):
        (WebCore::Extensions3DChromium::~Extensions3DChromium):
        (WebCore::Extensions3DChromium::supports):
        (WebCore::Extensions3DChromium::ensureEnabled):
        (WebCore::Extensions3DChromium::isEnabled):
        (WebCore::Extensions3DChromium::getGraphicsResetStatusARB):
        (WebCore::Extensions3DChromium::blitFramebuffer):
        (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
        (WebCore::Extensions3DChromium::postSubBufferCHROMIUM):
        (WebCore::Extensions3DChromium::mapBufferSubDataCHROMIUM):
        (WebCore::Extensions3DChromium::unmapBufferSubDataCHROMIUM):
        (WebCore::Extensions3DChromium::mapTexSubImage2DCHROMIUM):
        (WebCore::Extensions3DChromium::unmapTexSubImage2DCHROMIUM):
        (WebCore::Extensions3DChromium::setVisibilityCHROMIUM):
        (WebCore::Extensions3DChromium::discardFramebufferEXT):
        (WebCore::Extensions3DChromium::ensureFramebufferCHROMIUM):
        (WebCore::Extensions3DChromium::setGpuMemoryAllocationChangedCallbackCHROMIUM):
        (WebCore::Extensions3DChromium::createVertexArrayOES):
        (WebCore::Extensions3DChromium::deleteVertexArrayOES):
        (WebCore::Extensions3DChromium::isVertexArrayOES):
        (WebCore::Extensions3DChromium::bindVertexArrayOES):
        (WebCore::Extensions3DChromium::getTranslatedShaderSourceANGLE):
        (WebCore::Extensions3DChromium::setSwapBuffersCompleteCallbackCHROMIUM):
        (WebCore::Extensions3DChromium::rateLimitOffscreenContextCHROMIUM):
        (WebCore::Extensions3DChromium::paintFramebufferToCanvas):
        (WebCore::Extensions3DChromium::texImageIOSurface2DCHROMIUM):
        (WebCore::Extensions3DChromium::texStorage2DEXT):
        (WebCore::Extensions3DChromium::createQueryEXT):
        (WebCore::Extensions3DChromium::deleteQueryEXT):
        (WebCore::Extensions3DChromium::isQueryEXT):
        (WebCore::Extensions3DChromium::beginQueryEXT):
        (WebCore::Extensions3DChromium::endQueryEXT):
        (WebCore::Extensions3DChromium::getQueryivEXT):
        (WebCore::Extensions3DChromium::getQueryObjectuivEXT):
        * platform/chromium/support/GraphicsContext3DChromium.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp.
        (WebCore):
        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
        (WebCore::GraphicsContext3DPrivate::extractWebGraphicsContext3D):
        (WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D):
        (WebCore::GraphicsContext3DPrivate::platformTexture):
        (GrMemoryAllocationChangedCallback):
        (WebCore::GrMemoryAllocationChangedCallback::GrMemoryAllocationChangedCallback):
        (WebCore::GrMemoryAllocationChangedCallback::onGpuMemoryAllocationChanged):
        (WebCore::GraphicsContext3DPrivate::grContext):
        (WebCore::GraphicsContext3DPrivate::prepareTexture):
        (WebCore::GraphicsContext3DPrivate::markContextChanged):
        (WebCore::GraphicsContext3DPrivate::markLayerComposited):
        (WebCore::GraphicsContext3DPrivate::layerComposited):
        (WebCore::GraphicsContext3DPrivate::paintFramebufferToCanvas):
        (WebCore::GraphicsContext3DPrivate::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3DPrivate::paintCompositedResultsToCanvas):
        (WebCore::GraphicsContext3DPrivate::paintRenderingResultsToImageData):
        (WebCore::GraphicsContext3DPrivate::reshape):
        (WebCore::GraphicsContext3DPrivate::getInternalFramebufferSize):
        (WebCore::GraphicsContext3DPrivate::isContextLost):
        (WebCore::GraphicsContext3DPrivate::isGLES2Compliant):
        (WebCore::GraphicsContext3DPrivate::bindAttribLocation):
        (WebCore::GraphicsContext3DPrivate::bufferData):
        (WebCore::GraphicsContext3DPrivate::bufferSubData):
        (WebCore::GraphicsContext3DPrivate::getActiveAttrib):
        (WebCore::GraphicsContext3DPrivate::getActiveUniform):
        (WebCore::GraphicsContext3DPrivate::getAttribLocation):
        (WebCore::GraphicsContext3DPrivate::getContextAttributes):
        (WebCore::GraphicsContext3DPrivate::getProgramInfoLog):
        (WebCore::GraphicsContext3DPrivate::getShaderInfoLog):
        (WebCore::GraphicsContext3DPrivate::getShaderSource):
        (WebCore::GraphicsContext3DPrivate::getString):
        (WebCore::GraphicsContext3DPrivate::getUniformLocation):
        (WebCore::GraphicsContext3DPrivate::shaderSource):
        (WebCore::GraphicsContext3DPrivate::texImage2D):
        (WebCore::GraphicsContext3DPrivate::texSubImage2D):
        (WebCore::GraphicsContext3DPrivate::uniform1fv):
        (WebCore::GraphicsContext3DPrivate::uniform1iv):
        (WebCore::GraphicsContext3DPrivate::uniform2fv):
        (WebCore::GraphicsContext3DPrivate::uniform2iv):
        (WebCore::GraphicsContext3DPrivate::uniform3fv):
        (WebCore::GraphicsContext3DPrivate::uniform3iv):
        (WebCore::GraphicsContext3DPrivate::uniform4fv):
        (WebCore::GraphicsContext3DPrivate::uniform4iv):
        (WebCore::GraphicsContext3DPrivate::uniformMatrix2fv):
        (WebCore::GraphicsContext3DPrivate::uniformMatrix3fv):
        (WebCore::GraphicsContext3DPrivate::uniformMatrix4fv):
        (WebCore::GraphicsContext3DPrivate::getExtensions):
        (WebCore::GraphicsContext3DPrivate::isResourceSafe):
        (WebCore::GraphicsContext3DPrivate::initializeExtensions):
        (WebCore::GraphicsContext3DPrivate::supportsExtension):
        (WebCore::GraphicsContext3DPrivate::ensureExtensionEnabled):
        (WebCore::GraphicsContext3DPrivate::isExtensionEnabled):
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        (WebCore::GraphicsContext3D::~GraphicsContext3D):
        (WebCore::GraphicsContext3D::create):
        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
        (WebCore::GraphicsContext3D::platformTexture):
        (WebCore::GraphicsContext3D::grContext):
        (WebCore::GraphicsContext3D::prepareTexture):
        (WebCore::GraphicsContext3D::getInternalFramebufferSize):
        (WebCore::GraphicsContext3D::isResourceSafe):
        (WebCore::GraphicsContext3D::platformLayer):
        (WebCore::GraphicsContext3D::layerComposited):
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
        (GraphicsContextLostCallbackAdapter):
        (WebCore::GraphicsContextLostCallbackAdapter::~GraphicsContextLostCallbackAdapter):
        (WebCore::GraphicsContextLostCallbackAdapter::GraphicsContextLostCallbackAdapter):
        (WebCore::GraphicsContextLostCallbackAdapter::onContextLost):
        (WebCore::GraphicsContextLostCallbackAdapter::create):
        (WebCore::GraphicsContext3DPrivate::setContextLostCallback):
        (GraphicsErrorMessageCallbackAdapter):
        (WebCore::GraphicsErrorMessageCallbackAdapter::~GraphicsErrorMessageCallbackAdapter):
        (WebCore::GraphicsErrorMessageCallbackAdapter::GraphicsErrorMessageCallbackAdapter):
        (WebCore::GraphicsErrorMessageCallbackAdapter::onErrorMessage):
        (WebCore::GraphicsErrorMessageCallbackAdapter::create):
        (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
        (WebCore::GraphicsContext3D::isGLES2Compliant):
        (GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
        (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::~GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
        (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
        (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
        (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::create):
        (WebCore::GraphicsContext3DPrivate::setSwapBuffersCompleteCallbackCHROMIUM):
        (GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
        (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
        (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::~GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
        (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::onMemoryAllocationChanged):
        (WebCore::GraphicsContext3DPrivate::setGpuMemoryAllocationChangedCallbackCHROMIUM):
        * platform/chromium/support/GraphicsContext3DPrivate.h: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.h.
        (WebKit):
        (WebCore):
        (GraphicsContext3DPrivate):

2012-05-11  Keyar Hood  <keyar@chromium.org>

        ImageSkia.cpp does not conform to style guidelines
        https://bugs.webkit.org/show_bug.cgi?id=86219

        Reviewed by Stephen White.

        No tests as this is purely style changees.

        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::TransformDimensions):
        (WebCore::BitmapImage::draw):
        (WebCore::BitmapImageSingleFrameSkia::draw):

2012-05-11  Tim Horton  <timothy_horton@apple.com>

        Unreviewed Chromium build fix after http://trac.webkit.org/changeset/116799.

        * rendering/RenderLayerBacking.cpp:

2012-05-11  Terry Anderson  <tdanderson@chromium.org>

        [chromium] Compute the best target node on a GestureTap event
        https://bugs.webkit.org/show_bug.cgi?id=85101

        Reviewed by Adam Barth.

        Will be using the tests in the touchadjustment/ directory.

        * WebCore.gypi:
        Include TouchAdjustment.* files.

2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116498.
        http://trac.webkit.org/changeset/116498
        https://bugs.webkit.org/show_bug.cgi?id=86251

        Causes crashes in major sites and security issues (Requested
        by schenney on #webkit).

        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::addChild):
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::willBeDestroyed):
        (WebCore::RenderSVGInlineText::setTextInternal):
        (WebCore::RenderSVGInlineText::styleDidChange):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::recursiveUpdateLayoutAttributes):
        (WebCore::RenderSVGText::layoutAttributesChanged):
        (WebCore::RenderSVGText::layoutAttributesWillBeDestroyed):
        (WebCore::RenderSVGText::invalidateTextPositioningElements):
        (WebCore::recursiveUpdateScaledFont):
        (WebCore::RenderSVGText::layout):
        (WebCore::RenderSVGText::addChild):
        (WebCore::recursiveCollectLayoutAttributes):
        (WebCore::RenderSVGText::rebuildLayoutAttributes):
        (WebCore):
        * rendering/svg/RenderSVGText.h:
        (RenderSVGText):
        (WebCore::RenderSVGText::layoutAttributes):
        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributes):

2012-05-11  Tim Horton  <timothy_horton@apple.com>

        FrameView->m_lastPaintTime is not updated in the tiled drawing case
        https://bugs.webkit.org/show_bug.cgi?id=86246
        <rdar://problem/11248475>

        Reviewed by Simon Fraser.

        Update FrameView's m_lastPaintTime from RenderLayerBacking::paintContents
        if the RenderLayerBacking is backing a tiled drawing layer.

        In the future we might want to consider updating m_lastPaintTime when any
        compositing layer is painted into, but this change gets us on par with the
        non-tiled-drawing case as it stands now.

        No new tests.

        * page/FrameView.h:
        (WebCore::FrameView::setLastPaintTime):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintContents):

2012-05-11  Shezan Baig  <shezbaig.wk@gmail.com>

        Add helper function for node()->rootEditableElement() == node()
        https://bugs.webkit.org/show_bug.cgi?id=86217

        Reviewed by Ryosuke Niwa.

        Added Node::isRootEditableElement and updated existing code that did
        (node->rootEditableElement() == node) to use isRootEditableElement
        instead.

        No new tests. No change in behavior.

        * dom/Node.cpp:
        (WebCore::Node::isRootEditableElement):
        (WebCore):
        * dom/Node.h:
        (Node):
        Added new helper function.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode):
        * dom/Element.cpp:
        (WebCore::Element::updateFocusAppearance):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeNode):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedNode):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::hasLineIfEmpty):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::addOverflowFromInlineChildren):
        Updates to existing code to use the new helper function.

2012-05-11  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Create WebTransformationMatrix interface for chromium platform
        https://bugs.webkit.org/show_bug.cgi?id=86049

        Reviewed by James Robinson.

        This patch creates a WebTransformationMatrix interface. It will
        remain unused at the moment, until (a) unit tests are created
        and (b) when we are ready to make a brief transition of all other
        chromium code to use it.

        * WebCore.gypi:
        * platform/chromium/support/WebTransformationMatrix.cpp: Added.
        (WebKit):
        (WebKit::WebTransformationMatrix::WebTransformationMatrix):
        (WebKit::WebTransformationMatrix::operator=):
        (WebKit::WebTransformationMatrix::operator==):
        (WebKit::WebTransformationMatrix::operator*):
        (WebKit::WebTransformationMatrix::inverse):
        (WebKit::WebTransformationMatrix::to2dTransform):
        (WebKit::WebTransformationMatrix::multiply):
        (WebKit::WebTransformationMatrix::makeIdentity):
        (WebKit::WebTransformationMatrix::translate):
        (WebKit::WebTransformationMatrix::translate3d):
        (WebKit::WebTransformationMatrix::translateRight3d):
        (WebKit::WebTransformationMatrix::scale):
        (WebKit::WebTransformationMatrix::scaleNonUniform):
        (WebKit::WebTransformationMatrix::scale3d):
        (WebKit::WebTransformationMatrix::rotate):
        (WebKit::WebTransformationMatrix::rotate3d):
        (WebKit::WebTransformationMatrix::skewX):
        (WebKit::WebTransformationMatrix::skewY):
        (WebKit::WebTransformationMatrix::applyPerspective):
        (WebKit::WebTransformationMatrix::blend):
        (WebKit::WebTransformationMatrix::hasPerspective):
        (WebKit::WebTransformationMatrix::isInvertible):
        (WebKit::WebTransformationMatrix::isBackFaceVisible):
        (WebKit::WebTransformationMatrix::isIdentity):
        (WebKit::WebTransformationMatrix::isIdentityOrTranslation):
        (WebKit::WebTransformationMatrix::isIntegerTranslation):
        (WebKit::WebTransformationMatrix::m11):
        (WebKit::WebTransformationMatrix::setM11):
        (WebKit::WebTransformationMatrix::m12):
        (WebKit::WebTransformationMatrix::setM12):
        (WebKit::WebTransformationMatrix::m13):
        (WebKit::WebTransformationMatrix::setM13):
        (WebKit::WebTransformationMatrix::m14):
        (WebKit::WebTransformationMatrix::setM14):
        (WebKit::WebTransformationMatrix::m21):
        (WebKit::WebTransformationMatrix::setM21):
        (WebKit::WebTransformationMatrix::m22):
        (WebKit::WebTransformationMatrix::setM22):
        (WebKit::WebTransformationMatrix::m23):
        (WebKit::WebTransformationMatrix::setM23):
        (WebKit::WebTransformationMatrix::m24):
        (WebKit::WebTransformationMatrix::setM24):
        (WebKit::WebTransformationMatrix::m31):
        (WebKit::WebTransformationMatrix::setM31):
        (WebKit::WebTransformationMatrix::m32):
        (WebKit::WebTransformationMatrix::setM32):
        (WebKit::WebTransformationMatrix::m33):
        (WebKit::WebTransformationMatrix::setM33):
        (WebKit::WebTransformationMatrix::m34):
        (WebKit::WebTransformationMatrix::setM34):
        (WebKit::WebTransformationMatrix::m41):
        (WebKit::WebTransformationMatrix::setM41):
        (WebKit::WebTransformationMatrix::m42):
        (WebKit::WebTransformationMatrix::setM42):
        (WebKit::WebTransformationMatrix::m43):
        (WebKit::WebTransformationMatrix::setM43):
        (WebKit::WebTransformationMatrix::m44):
        (WebKit::WebTransformationMatrix::setM44):
        (WebKit::WebTransformationMatrix::a):
        (WebKit::WebTransformationMatrix::setA):
        (WebKit::WebTransformationMatrix::b):
        (WebKit::WebTransformationMatrix::setB):
        (WebKit::WebTransformationMatrix::c):
        (WebKit::WebTransformationMatrix::setC):
        (WebKit::WebTransformationMatrix::d):
        (WebKit::WebTransformationMatrix::setD):
        (WebKit::WebTransformationMatrix::e):
        (WebKit::WebTransformationMatrix::setE):
        (WebKit::WebTransformationMatrix::f):
        (WebKit::WebTransformationMatrix::setF):
        (WebKit::WebTransformationMatrix::toWebCoreTransform):
        (WebKit::WebTransformationMatrix::mapRect):
        (WebKit::WebTransformationMatrix::mapPoint):
        (WebKit::WebTransformationMatrix::mapQuad):
        (WebKit::WebTransformationMatrix::projectPoint):

2012-05-11  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Shaders] Make CSS Shaders render to texture framebuffers
        https://bugs.webkit.org/show_bug.cgi?id=85113

        Reviewed by Dean Jackson.

        Added the required members to store the framebuffer, the texture and the depth buffer. Also removed the m_drawingBuffer
        because context->readPixels doesn't require one anymore.

        ReadPixels is not flipping the result, so I've also removed the flipping projection matrix that was specific only to Chromium.

        Added a test to check that colors are not switched and the resulting image is not mirrored.

        Test: css3/filters/custom/effect-color-check.html

        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::FECustomFilter):
        (WebCore::FECustomFilter::~FECustomFilter):
        (WebCore):
        (WebCore::FECustomFilter::deleteRenderBuffers):
        (WebCore::FECustomFilter::platformApplySoftware):
        (WebCore::FECustomFilter::initializeContext):
        (WebCore::FECustomFilter::resizeContext):
        (WebCore::FECustomFilter::bindProgramAndBuffers):
        * platform/graphics/filters/FECustomFilter.h:
        (FECustomFilter):

2012-05-11  Anders Carlsson  <andersca@apple.com>

        REGRESSION(r116687): [Chromium] plugins/embed-attributes-style.html shows a garbled string
        https://bugs.webkit.org/show_bug.cgi?id=86170

        Reviewed by Andreas Kling.

        The string we are passing to the TextRun constructor needs to stay alive for longer so revert back to the old
        behavior where we store it as a member variable.

        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::unavailablePluginReplacementText):
        (WebCore):
        (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
        * rendering/RenderEmbeddedObject.h:
        (RenderEmbeddedObject):

2012-05-11  Simon Fraser  <simon.fraser@apple.com>

        CVDisplayLink keeps running after a single requestAnimationFrame
        https://bugs.webkit.org/show_bug.cgi?id=86174
        
        Reviewed by Sam Weinig.
        
        A DisplayRefreshMonitor would keep its CVDisplayLink alive for as long
        as it had clients, and the client is the ScriptedAnimationController, which
        lives on the document. So a single requestAnimationFrame call would kick
        off a CVDisplayLink which lived until the document was destroyed.
        
        Fix by having the DisplayRefreshMonitor kill itself if the CVDisplayLink
        fires for 10 times with no scheduled callbacks (to avoid creation/deletion
        thrash on pages that call requestAnimationFrames with short setTimeouts,
        as some do).
        
        Use a HashMap in DisplayRefreshMonitorManager for the set of DisplayRefreshMonitor,
        with the displayID as the key (using UnsignedWithZeroKeyHashTraits<uint64_t> since
        we want to allow for 0 to be a valid displayID).
        
        Use a HashSet in DisplayRefreshMonitor for the client set, so that we don't have to
        worry about adding clients twice.
        
        Also fix a possible crash when the only client of a DisplayRefreshMonitor
        was removed from inside the callback by making DisplayRefreshMonitor ref-counted,
        with a protector.

        Test: fast/animation/request-animation-frame-detach-element2.html

        * platform/graphics/DisplayRefreshMonitor.cpp:
        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor): Initialize m_unscheduledFireCount
        (WebCore::DisplayRefreshMonitor::handleDisplayRefreshedNotificationOnMainThread): Renamed
        from refreshDisplayOnMainThread, since it doesn't just refresh the display.
        (WebCore::DisplayRefreshMonitor::addClient): No longer inline.
        (WebCore::DisplayRefreshMonitor::removeClient): No longer inline.
        (WebCore::DisplayRefreshMonitor::displayDidRefresh): Keep track of m_unscheduledFireCount,
        which we used to kill this monitor if it has been idle for a while.
        Use a RefPtr<DisplayRefreshMonitor> to prevent deletion while running the callback.
        Copy the clients to a vector to protect against mutating the set while enumerating it.
        Notify the DisplayRefreshMonitorManager when we're done, so that it can decide
        to delete inactive monitors.
        
        (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient): find or allocate
        a DisplayRefreshMonitor for a given client.
        (WebCore::DisplayRefreshMonitorManager::registerClient): Simplified by use of HashMap.
        (WebCore::DisplayRefreshMonitorManager::unregisterClient): Ditto.
        (WebCore::DisplayRefreshMonitorManager::scheduleAnimation): Ditto. Uses
        ensureMonitorForClient() since an earlier inactive monitor may have been removed.
        (WebCore::DisplayRefreshMonitorManager::displayDidRefresh): Remove inactive
        monitors.
        * platform/graphics/DisplayRefreshMonitor.h: Make DisplayRefreshMonitor
        ref-counted, to make it easier to avoid deletion while it's on the stack.
        (WebCore::DisplayRefreshMonitor::create):
        (DisplayRefreshMonitor):
        (WebCore::DisplayRefreshMonitor::shouldBeTerminated):
        (DisplayRefreshMonitorManager):
        * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Attempt to
        keep things building.
        (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
        (WebCore::DisplayRefreshMonitor::displayLinkFired):
        to give the manager a chance to kill this monitor.
        * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
        (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
        (WebCore::DisplayRefreshMonitor::displayLinkFired): Don't bail early
        if not scheduled; we want to call handleDisplayRefreshedNotificationOnMainThread(),

2012-05-11  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: move canEditScriptSource and setScriptSource from DebuggerPresentationModel into ResourceBinding
        https://bugs.webkit.org/show_bug.cgi?id=86234

        Reviewed by Vsevolod Vlasov.

        Simple move refactoring.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerResourceBinding):
        (WebInspector.DebuggerResourceBinding.canEditScriptSource):
        (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
        (WebInspector.DebuggerResourceBinding.setScriptSource):
        (WebInspector.DebuggerResourceBinding.prototype.canSetContent):
        (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
        (WebInspector.DebuggerResourceBinding.prototype._setContentWithInitialContent):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
        (WebInspector.JavaScriptSourceFrame.prototype.editContent):

2012-05-11  Julien Chaffraix  <jchaffraix@webkit.org>

        Remove RenderLayer::m_scrollOverflow
        https://bugs.webkit.org/show_bug.cgi?id=86226

        Reviewed by Simon Fraser.

        No expected change in behavior.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::computeScrollDimensions):
        Added 2 local variables to compute the left / top scrollable overflows.

        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::scrolledContentOffset):
        Returned m_scrollOffset directly as this is what the old code was doing by adding
        m_scrollOrigin then adding m_scrollOverflow (which was set to -m_scrollOrigin in
        computeScrollDimensions).

        (RenderLayer::m_scrollOffset): Improved the comment about what m_scrollOffset is.

2012-05-11  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: extract PresentationConsoleMessageHelper from DebuggerPresentationModel.
        https://bugs.webkit.org/show_bug.cgi?id=86229

        Reviewed by Vsevolod Vlasov.

        This change also starts tracking messages along with the live location changes.

        Tested with script-formatter-console.html.

        * inspector/front-end/BreakpointManager.js:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        (WebInspector.PresentationConsoleMessageHelper):
        (WebInspector.PresentationConsoleMessageHelper.prototype._addPendingConsoleMessage):
        (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
        (WebInspector.PresentationConsoleMessageHelper.prototype._debuggerReset):
        (WebInspector.PresentationConsoleMessage):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.JavaScriptSourceFrame.prototype._consoleMessageAdded):
        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):

2012-05-11  Emil A Eklund  <eae@chromium.org>

        Simplify FloatingObject by removing unnecessary convenience methods.
        https://bugs.webkit.org/show_bug.cgi?id=86163

        Reviewed by Eric Seidel.

        Simplify the pixel snapping in FloatingObject by getting rid of a bunch
        of convenience methods.

        No new tests, no change in functionality.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::addIntrudingFloats):
        (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
        (WebCore::::string):
        * rendering/RenderBlock.h:
        (FloatingObject):
        (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
        (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
        (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
        (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):

2012-05-11  Ian Vollick  <vollick@chromium.org>

        [chromium] Ensure that animations continue to run when transform-style is changed
        https://bugs.webkit.org/show_bug.cgi?id=83283

        Make sure that we transfer animations when changing layers due to a transform-style change.
        Unit tested in GraphicsLayerChromiumTest.updateLayerPreserves3DWithAnimations

        Reviewed by James Robinson.

        Test: animations/change-transform-style-during-animation.html

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setLayerAnimationController):
        (WebCore::LayerChromium::releaseLayerAnimationController):
        (WebCore):
        (WebCore::LayerChromium::notifyAnimationStarted):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::CCLayerAnimationController):
        (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
        (WebCore::CCLayerAnimationController::notifyAnimationStarted):
        (WebCore::CCLayerAnimationController::setClient):
        (WebCore):
        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
        (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
        (CCLayerAnimationController):
        (WebCore::CCLayerAnimationController::setForceSync):

2012-05-11  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Fix a reference counting issue in UserMediaRequest
        https://bugs.webkit.org/show_bug.cgi?id=86210

        Reviewed by Abhishek Arya.

        When contextDestroyed() is called on UserMediaRequest it does a callback to the
        page client. If the receiving code clears their stored copy the UserMediaRequest
        object is destroyed in the middle of the call.

        Currently only testable manually against chrome, preferably with asan turned on.
        I have added a manual test that verifies the fix, but I have started work
        to make DumpRenderTree able to test this and many other things. The first patch is here:
        https://bugs.webkit.org/show_bug.cgi?id=86215

        * Modules/mediastream/UserMediaRequest.cpp:
        (WebCore::UserMediaRequest::contextDestroyed):

2012-05-11  Min Qin  <qinmin@google.com>

        split MediaPlayer::enterFullscreen into 2 seperate functions
        https://bugs.webkit.org/show_bug.cgi?id=86052

        Reviewed by Adam Barth.

        It is confusing that enterFullscreen returns a boolean while exitFullscreen does
        not do the same. And ios does not need the return value.
        So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
        function for android.
        No tests as there are no behavior change, just refactoring.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::enterFullscreen):
        (WebCore):
        (WebCore::MediaPlayer::canEnterFullscreen):
        * platform/graphics/MediaPlayer.h:
        (MediaPlayer):
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
        (MediaPlayerPrivateInterface):
        (WebCore::MediaPlayerPrivateInterface::canEnterFullscreen):

2012-05-11  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: move breakpoint manager from debuggerPresentationModel to WebInspector.
        https://bugs.webkit.org/show_bug.cgi?id=86220

        Reviewed by Yury Semikhatsky.

        Now that breakpoint manager does not depend on the source mapping instance from the
        debugger presentation model, it can be moved out.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource):
        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
        (WebInspector.JavaScriptSource.prototype.setFormatted):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/inspector.js:

2012-05-11  David Reveman  <reveman@chromium.org>

        [Chromium] Move instantiation of texture uploader to LayerRendererChromium.
        https://bugs.webkit.org/show_bug.cgi?id=85893

        Reviewed by Adrienne Walker.

        Move instantiation of texture uploader to LayerRendererChromium and
        allow CCProxy to decide between a throttled or unthrottled uploader
        using a flag passed to the LayerRendererChromium constructor.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
        (WebCore::CCSingleThreadProxy::recreateContext):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
        (WebCore::CCThreadProxy::recreateContextOnImplThread):

2012-05-10  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: pass source mapping into UISourceCode's constructor; move formatting outside mapping.
        https://bugs.webkit.org/show_bug.cgi?id=86099

        Reviewed by Vsevolod Vlasov.

        This changes moves formatting out of the source mapping machinery.
        As a result, it removes most of the DebuggerPresentation's mapping-related code as well
        as most of the raw source code's code.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
        (WebInspector.BreakpointManager.Breakpoint):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.setStatus):
        * inspector/front-end/CompilerScriptMapping.js:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._callFrameSelected):
        (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource):
        (WebInspector.JavaScriptSource.prototype.fireContentAvailable):
        (WebInspector.JavaScriptSource.prototype.setFormatted.if):
        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
        (WebInspector.JavaScriptSource.prototype.setFormatted):
        (WebInspector.JavaScriptSource.prototype.togglingFormatter):
        (WebInspector.JavaScriptSource.prototype.uiLocationToRawLocation):
        (WebInspector.JavaScriptSource.prototype.overrideLocation):
        (WebInspector.JavaScriptSource.prototype.breakpointStorageId):
        (WebInspector):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode):
        (WebInspector.RawSourceCode.prototype.addScript):
        (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
        (WebInspector.RawSourceCode.prototype._createUISourceCode):
        (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
        (WebInspector.RawSourceCode.prototype.uiSourceCode):
        (WebInspector.RawSourceCode.prototype._finishedLoading):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping):
        (WebInspector.ResourceScriptMapping.prototype.addScript):
        (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.rawLocationToUILocation):
        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter.prototype._didFormatContent):
        (WebInspector.FormatterSourceMapping):
        (WebInspector.FormatterSourceMapping.prototype.originalToFormatted):
        (WebInspector.FormatterSourceMapping.prototype.formattedToOriginal):
        (WebInspector.IdentityFormatterSourceMapping):
        (WebInspector.IdentityFormatterSourceMapping.prototype.originalToFormatted):
        (WebInspector.IdentityFormatterSourceMapping.prototype.formattedToOriginal):
        (WebInspector.FormatterSourceMappingImpl):
        (WebInspector.FormatterSourceMappingImpl.prototype.originalToFormatted):
        (WebInspector.FormatterSourceMappingImpl.prototype.formattedToOriginal):
        * inspector/front-end/ScriptMapping.js:
        (WebInspector.MainScriptMapping):
        (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
        (WebInspector.MainScriptMapping.prototype.reset):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
        (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
        (WebInspector.ScriptsPanel.prototype._showFile):
        (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
        (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
        * inspector/front-end/ScriptsSearchScope.js:
        (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):
        (WebInspector.UISourceCode.prototype.requestContent):
        (WebInspector.UISourceCode.prototype.mimeType):
        (WebInspector.UISourceCode.prototype.content):
        (WebInspector.UISourceCode.prototype.fireContentAvailable):
        (WebInspector.UISourceCode.prototype.contentLoaded):
        (WebInspector.UISourceCode.prototype.uiLocationToRawLocation):

2012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>

        [EFL][DRT] Input Attribute Placeholder RefTests failing
        https://bugs.webkit.org/show_bug.cgi?id=85603

        Unreviewed, build fix for EFL.

        * platform/efl/RenderThemeEfl.cpp:

2012-05-11  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Remove support of combined nodes and edges serialization schema.
        https://bugs.webkit.org/show_bug.cgi?id=86209

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get _nodes):
        (WebInspector.HeapSnapshotNode.prototype._edgeIndexesStart):
        (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd):
        (WebInspector.HeapSnapshot):
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype._buildRetainers):
        (WebInspector.HeapSnapshot.prototype._bfs):
        (WebInspector.HeapSnapshot.prototype._buildAggregates):
        (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
        * inspector/front-end/HeapSnapshotLoader.js:
        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):

2012-05-11  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: add Profiler.getHeapObjectId command
        https://bugs.webkit.org/show_bug.cgi?id=86211

        Reviewed by Pavel Feldman.

        Added Profiler.getHeapObjectId command to the protocol which allows to convert remote
        object id to heap snapshot object id.

        * bindings/js/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::getHeapObjectId):
        (WebCore):
        * bindings/js/ScriptProfiler.h:
        (WebCore):
        (ScriptProfiler):
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::getHeapObjectId):
        (WebCore):
        * bindings/v8/ScriptProfiler.h:
        (WebCore):
        (ScriptProfiler):
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::findObjectById):
        (WebCore):
        * inspector/InjectedScript.h:
        (InjectedScript):
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::getHeapObjectId):
        (WebCore):
        * inspector/InspectorProfilerAgent.h:
        (InspectorProfilerAgent):

2012-05-11  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Qt support for new layout types.
        https://bugs.webkit.org/show_bug.cgi?id=85607

        Reviewed by Simon Hausmann.

        Adds similar Qt support to FractionalLayout classes as Qt has for
        FloatSomething and IntSomething classes. This means Qt code can stay
        unchanged from after the redefinition of Layout classes.

        No new functionality. No new tests.

        * Target.pri:
        * platform/FractionalLayoutUnit.h:
        (WebCore::operator<<):
        (WebCore::operator>>):
        * platform/graphics/FractionalLayoutPoint.h:
        (FractionalLayoutPoint):
        * platform/graphics/FractionalLayoutRect.h:
        (FractionalLayoutRect):
        * platform/graphics/FractionalLayoutSize.h:
        (FractionalLayoutSize):
        * platform/graphics/qt/FractionalLayoutPointQt.cpp: Added.
        (WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
        (WebCore::FractionalLayoutPoint::operator QPointF):
        * platform/graphics/qt/FractionalLayoutRectQt.cpp: Added.
        (WebCore::FractionalLayoutRect::FractionalLayoutRect):
        (WebCore::FractionalLayoutRect::operator QRectF):
        * platform/graphics/qt/FractionalLayoutSizeQt.cpp: Added.
        (WebCore::FractionalLayoutSize::FractionalLayoutSize):
        (WebCore::FractionalLayoutSize::operator QSizeF):

2012-05-11  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Internals::touchPositionAdjustedToBestClickableNode adjust twice for scroll-offset
        https://bugs.webkit.org/show_bug.cgi?id=86205

        Reviewed by Simon Hausmann.

        Remove the redundant conversion from document to window coords.

        Test: touchadjustment/scroll-offset.html

        * testing/Internals.cpp:
        (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
        (WebCore::Internals::bestZoomableAreaForTouchPoint):

2012-05-11  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: load heap snapshot implementation.
        https://bugs.webkit.org/show_bug.cgi?id=86097

        The idea is to have a hidden file selector control.
        When the user select a context menu item or click a button
        we redirect this user-action to file selector.
        As result we see the standard file selector dialog.
        When the user selects a file we load it's chunks and push the chunks to the worker.
        The loaded snapshot can be completely unrelated to the current page.
        Thats why we have to skip range selection options in Summary tab.

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/CSSSelectorProfileView.js:
        (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype._updateFilterOptions): we have to skip the profiles loaded from file because there is no guaranty t
        (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
        (WebInspector.HeapSnapshotProfileType.prototype.createProfile): cosmetic changes.
        (WebInspector.HeapProfileHeader):
        (WebInspector.HeapProfileHeader.prototype._setupWorker): a common part was extracted from load method and reused in loadFromFile.
        (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate): cosmetic changes.
        (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
        (WebInspector.HeapProfileHeader.prototype.canSaveToFile): cosmetic rename for better consistency with 'load' part.
        (WebInspector.HeapProfileHeader.prototype.saveToFile): cosmetic rename for better consistency with 'load' part.
        (WebInspector.HeapProfileHeader.prototype.canLoadFromFile): cosmetic rename for better consistency with 'load' part.
        (WebInspector.HeapProfileHeader.prototype.loadFromFile): chunk based file loader.
        (WebInspector.HeapProfileHeader.prototype.loadFromFile.loadNextChunk):
        (WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad):
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
        (WebInspector.ProfileHeader.prototype.canSaveToFile): cosmetic rename for better consistency with 'load' part.
        (WebInspector.ProfileHeader.prototype.saveToFile): cosmetic rename for better consistency with 'load' part.
        (WebInspector.ProfileHeader.prototype.canLoadFromFile): default implementation for 'load' part.
        (WebInspector.ProfileHeader.prototype.loadFromFile): default implementation for 'load' part.
        (WebInspector.ProfilesPanel.prototype._createFileSelectorElement):
        (WebInspector.ProfilesPanel.prototype._loadFromFile):
        (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):

2012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>

        [EFL][DRT] Input Attribute Placeholder RefTests failing
        https://bugs.webkit.org/show_bug.cgi?id=85603

        Reviewed by Hajime Morita.

        Refrain from overriding style coloring by theme coloring.
        RenderThemeEfl was always overriding colors and whitespace
        handling leading to failures in reftests that verify placeholder styling
        which expect the user agent stylesheet to be applied correctly
        without any color overrides. Also, leave whitespace handling untouched.

        No new tests, covered by existing tests. See also
        the LayoutTests/ChangeLog in this commit for the required
        rebaselining.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::createEdje):
        (WebCore::RenderThemeEfl::applyEdjeColors):
        (WebCore::RenderThemeEfl::RenderThemeEfl):
        (WebCore::RenderThemeEfl::adjustButtonStyle):
        (WebCore::RenderThemeEfl::adjustMenuListStyle):
        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
        * platform/efl/RenderThemeEfl.h:
        (RenderThemeEfl):

2012-05-11  Christophe Dumez  <christophe.dumez@intel.com>

        Web Intents code only supports V8
        https://bugs.webkit.org/show_bug.cgi?id=85954

        Reviewed by Adam Barth.

        Add necessary abstraction for js Dictionary and ScriptValue so that
        the Web Intents code in WebCore compiles with JSC, not just V8.

        This required changes in the JSC bindings generator to pass
        callback arguments of type SerializedScriptValue as raw pointers
        instead of RefPtr. This matches the change made to the V8 bindings
        generator in r104531.

        * CMakeLists.txt:
        * Modules/intents/Intent.cpp:
        * Modules/intents/Intent.h:
        * bindings/js/Dictionary.cpp:
        (WebCore::Dictionary::Dictionary):
        (WebCore):
        (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
        * bindings/js/Dictionary.h:
        (Dictionary):
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDictionary.cpp:
        (WebCore::JSDictionary::convertValue):
        (WebCore):
        * bindings/js/JSDictionary.h:
        (WebCore):
        (WebCore::JSDictionary::initializerObject):
        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::serialize):
        (WebCore):
        * bindings/js/ScriptValue.h:
        (ScriptValue):
        * bindings/scripts/CodeGeneratorJS.pm:
        (AddIncludesForType):
        (GenerateCallbackHeader):
        (GenerateCallbackImplementation):
        (GetNativeTypeForCallbacks):

2012-05-11  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Can't type spaces in "Override User Agent" field
        https://bugs.webkit.org/show_bug.cgi?id=86202

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HelpScreen.js:
        (WebInspector.HelpScreen.prototype.isClosingKey):
        (WebInspector.HelpScreen.prototype._onKeyDown):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen.prototype.isClosingKey):

2012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>

        [EFL][DRT] Input Attribute Placeholder RefTests failing
        https://bugs.webkit.org/show_bug.cgi?id=85603

        Reviewed by Hajime Morita.

        Refrain from overriding style coloring by theme coloring.
        RenderThemeEfl was always overriding colors and whitespace
        handling leading to failures in reftests that verify placeholder styling
        which expect the user agent stylesheet to be applied correctly
        without any color overrides. Also, leave whitespace handling untouched.

        No new tests, covered by existing tests. See also
        the LayoutTests/ChangeLog in this commit for the required
        rebaselining.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::createEdje):
        (WebCore::RenderThemeEfl::applyEdjeColors):
        (WebCore::RenderThemeEfl::RenderThemeEfl):
        (WebCore::RenderThemeEfl::adjustButtonStyle):
        (WebCore::RenderThemeEfl::adjustMenuListStyle):
        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
        * platform/efl/RenderThemeEfl.h:
        (RenderThemeEfl):

2012-05-11  Gustavo Noronha Silva  <gns@gnome.org>

        REGRESSION(r116205): [GTK]: build no longer supports thin archives
        https://bugs.webkit.org/show_bug.cgi?id=86207

        * GNUmakefile.am: go back to not linking libWebCoreModules into
        libWebCore; when linking 2 convenience libraries libtools tries to
        extract the object files from one of them to add to the other, breaking
        thin archive builds

2012-05-11  Keishi Hattori  <keishi@webkit.org>

        Sanitization algorithm for input type=email should strip whitespaces
        https://bugs.webkit.org/show_bug.cgi?id=86177

        Reviewed by Kent Tamura.

        No new tests. Covered by: fast/forms/ValidityState-typeMismatch-email.html

        The spec says that the value sanitization algorithm should
        > Strip line breaks from the value, then strip leading and trailing whitespace from the value.

        * html/EmailInputType.cpp:
        (WebCore::EmailInputType::sanitizeValue):

2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116752.
        http://trac.webkit.org/changeset/116752
        https://bugs.webkit.org/show_bug.cgi?id=86201

        Build failure on Chromium-mac (Requested by tkent on #webkit).

        * html/FormAssociatedElement.cpp:
        * html/FormAssociatedElement.h:
        (FormAssociatedElement):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::setCustomValidity):
        * html/HTMLFormControlElement.h:
        (HTMLFormControlElement):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isValidValue):
        (WebCore::HTMLInputElement::typeMismatch):
        (WebCore::HTMLInputElement::valueMissing):
        (WebCore::HTMLInputElement::patternMismatch):
        (WebCore::HTMLInputElement::rangeUnderflow):
        (WebCore::HTMLInputElement::rangeOverflow):
        (WebCore::HTMLInputElement::minimum):
        (WebCore::HTMLInputElement::maximum):
        (WebCore::HTMLInputElement::stepMismatch):
        (WebCore::HTMLInputElement::minimumString):
        (WebCore::HTMLInputElement::maximumString):
        (WebCore):
        (WebCore::HTMLInputElement::stepBaseString):
        (WebCore::HTMLInputElement::stepString):
        (WebCore::HTMLInputElement::typeMismatchText):
        (WebCore::HTMLInputElement::valueMissingText):
        (WebCore::HTMLInputElement::isInRange):
        (WebCore::HTMLInputElement::isOutOfRange):
        * html/HTMLInputElement.h:
        (HTMLInputElement):
        * html/HTMLObjectElement.h:
        (WebCore::HTMLObjectElement::setCustomValidity):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::valueMissing):
        * html/HTMLSelectElement.h:
        (HTMLSelectElement):
        * html/HTMLTextAreaElement.cpp:
        * html/HTMLTextAreaElement.h:
        (WebCore::HTMLTextAreaElement::valueMissing):
        (HTMLTextAreaElement):
        * html/InputType.cpp:
        (WebCore::InputType::alignValueForStep):
        (WebCore::InputType::stepUpFromRenderer):
        * html/InputType.h:
        (InputType):
        * html/ValidityState.cpp:
        (WebCore::ValidityState::validationMessage):
        (WebCore):
        (WebCore::ValidityState::setCustomErrorMessage):
        (WebCore::ValidityState::valueMissing):
        (WebCore::ValidityState::typeMismatch):
        (WebCore::ValidityState::patternMismatch):
        (WebCore::ValidityState::tooLong):
        (WebCore::ValidityState::rangeUnderflow):
        (WebCore::ValidityState::rangeOverflow):
        (WebCore::ValidityState::stepMismatch):
        (WebCore::ValidityState::customError):
        (WebCore::ValidityState::valid):
        * html/ValidityState.h:
        (ValidityState):

2012-05-11  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Search box doesn't allow CSS selectors anymore
        https://bugs.webkit.org/show_bug.cgi?id=86196

        Reviewed by Pavel Feldman.

        Refactoring in http://trac.webkit.org/changeset/99983 inadvertently removed the selector matching during
        node search in the InspectorDOMAgent. This change re-introduces the Document::querySelectorAll() evaluation
        for the user query.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::performSearch):

2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116527.
        http://trac.webkit.org/changeset/116527
        https://bugs.webkit.org/show_bug.cgi?id=86199

        Causing crashes on ClusterFuzz (Requested by inferno-sec on
        #webkit).

        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::updateScrollbarPart):
        * rendering/RenderScrollbarPart.h:

2012-05-11  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Move ValidityState methods implementation to another place
        https://bugs.webkit.org/show_bug.cgi?id=86058

        Reviewed by Kent Tamura.

        This patch changes ValidityState class for limiting scope of
        number/range input type related methods for introducing decimal
        arithmetic.

        Methods related to validation are moved from ValidateState to
        input, select and textarea elements with virtual method based
        dispatching via FormAssociateElement instead of tag name
        dispatching so far for code simplification.

        No new tests. This patch doesn't change behavior.

        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::customError): Added. Called from ValidateState. Returns custom error mssage in member variable.
        (WebCore::FormAssociatedElement::patternMismatch): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::rangeOverflow): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::rangeUnderflow): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::stepMismatch): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::tooLong): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::typeMismatch): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::valid): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::valueMissing): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::customValidationMessage): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::validationMessage): Added.  Called from ValidateState. This is default implementation.
        (WebCore::FormAssociatedElement::setCustomValidity): Added.  set custom error message.
        * html/FormAssociatedElement.h:
        (FormAssociatedElement): Added new instance value m_customValidationMessage.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::setCustomValidity): Changed. Calls base class setCustomValidity.
        * html/HTMLFormControlElement.h:
        (HTMLFormControlElement):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isValidValue): Call m_inputType methods instead of HTMLInputElement's.
        (WebCore::HTMLInputElement::tooLong): Call m_inputType methods instead of HTMLInputElement's.
        (WebCore):
        (WebCore::HTMLInputElement::typeMismatch): Move implementation to InputType.
        (WebCore::HTMLInputElement::valueMissing):  Move implementation to InputType.
        (WebCore::HTMLInputElement::patternMismatch): Move implementation to InputType.
        (WebCore::HTMLInputElement::rangeUnderflow): Move implementation to InputType.
        (WebCore::HTMLInputElement::rangeOverflow): Move implementation to InputType.
        (WebCore::HTMLInputElement::validationMessage): Move implementation to InputType.
        (WebCore::HTMLInputElement::stepMismatch): Move implementation to InputType.
        (WebCore::HTMLInputElement::isInRange): Call m_inputType methods instead of HTMLInputElement's.
        (WebCore::HTMLInputElement::isOutOfRange): Call m_inputType methods instead of HTMLInputElement's.
        * html/HTMLInputElement.h:
        (HTMLInputElement): Make tooLong method private.
        * html/HTMLObjectElement.h: Add "virtual" and "OVERRIDE".
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::validationMessage): Added. Implementation for HTMLSelectElement.
        (WebCore::HTMLSelectElement::valueMissing): Added. Implementation for HTMLSelectElement.
        * html/HTMLSelectElement.h:
        (HTMLSelectElement):  Added entries for newly added methods.
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::validationMessage): Added. Implementation for HTMLTextAreaElement.
        (WebCore::HTMLTextAreaElement::valueMissing): Added. Implementation for HTMLTextAreaElement.
        (WebCore::HTMLTextAreaElement::tooLong): Added. Implementation for HTMLTextAreaElement.
        * html/HTMLTextAreaElement.h:
        (HTMLTextAreaElement): Added entries for newly added methods. Change tooLong and valueMissing private.
        * html/InputType.cpp:
        (WebCore::InputType::stepMismatch): Change method signature.
        (WebCore::InputType::alignValueForStep):  Changed for calling InputClass instead of HTMLINputElement.
        (WebCore::InputType::stepUpFromRenderer):  Added. Moved from HTMLInputElement.
        (WebCore::InputType::validationMessage): Added.  Moved from HTMLInputElement.
        * html/InputType.h:
        (InputType): Added entries for newly added methods and update methods signature.
        * html/ValidityState.cpp: Move actual implementation to FormAssociatedElement and derived classes for localizing implementation change of elements and input types.
        (WebCore::ValidityState::validationMessage): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::valueMissing): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::typeMismatch): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::patternMismatch): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::tooLong): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::rangeUnderflow): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::rangeOverflow): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::stepMismatch): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::customError): Changed to call FormAssociatedElement's method.
        (WebCore::ValidityState::valid):
        * html/ValidityState.h:
        (ValidityState): Remove custom validation message related things.

2012-05-11  Kent Tamura  <tkent@chromium.org>

        Fix a build error without SVG, introduced by tab-size support.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):

2012-05-11  Shinya Kawanaka  <shinyak@chromium.org>

        [Refactoring] Move Selection from DOMWindow to TreeScope.
        https://bugs.webkit.org/show_bug.cgi?id=82699

        Reviewed by Ryosuke Niwa.

        Since ShadowRoot will also manage its own version of DOMSelection, we would like to
        share the code among Document and DOMSelection. This patch moves DOMSelection from DOMWindow to TreeScope
        so that ShadowRoot can also use it.

        No new tests, should covered by existing tests.

        * dom/Document.cpp:
        (WebCore::Document::updateFocusAppearanceTimerFired):
        * dom/Document.h:
        (Document):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::selection):
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::~TreeScope):
        (WebCore::TreeScope::getSelection):
        (WebCore):
        * dom/TreeScope.h:
        (WebCore):
        (TreeScope):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::DOMSelection):
        (WebCore::DOMSelection::clearTreeScope):
        (WebCore):
        * page/DOMSelection.h:
        (WebCore):
        (WebCore::DOMSelection::create):
        (DOMSelection):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::clearDOMWindowProperties):
        (WebCore::DOMWindow::getSelection):
        * page/DOMWindow.h:
        (DOMWindow):

2012-05-04  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: console should allow JS execution in the context of an isolated world
        https://bugs.webkit.org/show_bug.cgi?id=85612

        Reviewed by Pavel Feldman.

        Added an option to select not only a frame but also isolated world in which
        to perform evaluation of the code typed into the console.

        Each execution context can be identified using it injected script id. We call it
        execution context id in the protocol. Runtime agent is extended with an event that
        is sent when new ExecutionContext is created. The event tracking can be enabled/disabled
        using setReportExecutionContextCreation command.

        * bindings/js/ScriptController.cpp:
        (WebCore):
        (WebCore::isolatedWorldToSecurityOriginMap):
        * bindings/js/ScriptController.h:
        (ScriptController):
        * bindings/js/ScriptState.cpp:
        (WebCore::isolatedWorldScriptState):
        (WebCore):
        * bindings/js/ScriptState.h:
        (WebCore):
        * bindings/v8/ScriptController.cpp:
        (WebCore):
        (WebCore::ScriptController::isolatedWorldToSecurityOriginMap):
        * bindings/v8/ScriptController.h:
        (ScriptController):
        * bindings/v8/ScriptState.cpp:
        (WebCore::isolatedWorldScriptState):
        (WebCore):
        * bindings/v8/ScriptState.h:
        (WebCore):
        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::setSecurityOrigin):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setIsolatedWorldSecurityOrigin):
        (WebCore::V8Proxy::isolatedWorldContext):
        (WebCore):
        (WebCore::V8Proxy::isolatedWorldToSecurityOriginMap):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):
        * inspector/CodeGeneratorInspector.py:
        (DomainNameFixes):
        * inspector/Inspector.json:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl):
        (WebCore):
        * inspector/InspectorInstrumentation.h:
        (WebCore):
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::didCreateIsolatedContext):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        * inspector/InspectorRuntimeAgent.h:
        (InspectorRuntimeAgent):
        * inspector/InstrumentingAgents.h:
        (WebCore):
        (WebCore::InstrumentingAgents::InstrumentingAgents):
        (WebCore::InstrumentingAgents::pageRuntimeAgent):
        (WebCore::InstrumentingAgents::setPageRuntimeAgent):
        (InstrumentingAgents):
        * inspector/PageRuntimeAgent.cpp:
        (PageRuntimeAgentState):
        (WebCore):
        (WebCore::PageRuntimeAgent::PageRuntimeAgent):
        (WebCore::PageRuntimeAgent::setFrontend):
        (WebCore::PageRuntimeAgent::clearFrontend):
        (WebCore::PageRuntimeAgent::restore):
        (WebCore::PageRuntimeAgent::setReportExecutionContextCreation):
        (WebCore::PageRuntimeAgent::didCreateExecutionContext):
        (WebCore::PageRuntimeAgent::getScriptStateForEval):
        * inspector/PageRuntimeAgent.h:
        (WebCore):
        (PageRuntimeAgent):
        * inspector/WorkerRuntimeAgent.cpp:
        (WebCore::WorkerRuntimeAgent::setReportExecutionContextCreation):
        (WebCore::WorkerRuntimeAgent::getScriptStateForEval):
        * inspector/WorkerRuntimeAgent.h:
        (WorkerRuntimeAgent):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.get statusBarItems):
        (WebInspector.ConsoleView.prototype.addContext):
        (WebInspector.ConsoleView.prototype.removeContext):
        (WebInspector.ConsoleView.prototype._updateIsolatedWorldSelector):
        (WebInspector.ConsoleView.prototype._contextUpdated):
        (WebInspector.ConsoleView.prototype._addedExecutionContext):
        (WebInspector.ConsoleView.prototype._currentEvaluationContextId):
        (WebInspector.ConsoleView.prototype._currentEvaluationContext):
        (WebInspector.ConsoleView.prototype._currentIsolatedWorldId):
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionSidebarPane.prototype.setExpression):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
        * inspector/front-end/JavaScriptContextManager.js:
        (WebInspector.JavaScriptContextManager):
        (WebInspector.JavaScriptContextManager.prototype._didLoadCachedResources):
        (WebInspector.JavaScriptContextManager.prototype.isolatedContextCreated):
        (WebInspector.RuntimeDispatcher):
        (WebInspector.RuntimeDispatcher.prototype.isolatedContextCreated):
        (WebInspector.ExecutionContext):
        (WebInspector.ExecutionContext.comparator):
        (WebInspector.FrameEvaluationContext):
        (WebInspector.FrameEvaluationContext.prototype._frameNavigated):
        (WebInspector.FrameEvaluationContext.prototype._addExecutionContext):
        (WebInspector.FrameEvaluationContext.prototype._ensureMainWorldContextAdded):
        (WebInspector.FrameEvaluationContext.prototype.isolatedContexts):

2012-05-11  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: use div, not span as a parent element for ElementsTreeOutline in Audits panel
        https://bugs.webkit.org/show_bug.cgi?id=86188

        Reviewed by Yury Semikhatsky.

        We need to use <div>, not <span> as a container for ElementsTreeOutline, as latter accesses its parent offsetWidth
        within _treeElementFromEvent(), which returns 0 for inline elements.

        * inspector/front-end/AuditFormatters.js:
        (WebInspector.AuditFormatters.node.onNodeAvailable):
        (WebInspector.AuditFormatters.node):

2012-05-11  Antti Koivisto  <antti@apple.com>

        Inline Node::traverseNextNode
        https://bugs.webkit.org/show_bug.cgi?id=85844

        Reviewed by Ryosuke Niwa.
        
        Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
        for many hot loops.

        In this version only the firstChild()/nextSibling() tests are inlined and the ancestor traversal is not.
        
        Performance bots will tell if this was worthwhile.

        * dom/ContainerNode.h:
        (WebCore::Node::traverseNextNode):
        (WebCore):
        (WebCore::Node::traverseNextSibling):
        * dom/Node.cpp:
        (WebCore::Node::traverseNextAncestorSibling):
        * dom/Node.h:
        (Node):
        * bindings/v8/RetainedDOMInfo.cpp:

2012-05-07  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: get rid of InspectorAgent::emitCommitLoadIfNeeded method
        https://bugs.webkit.org/show_bug.cgi?id=85708

        Reviewed by Pavel Feldman.

        Instead of calling emitCommitLoadIfNeeded after all agents are restored
        required actions are performed directly in the restore() methods.

        * inspector/InspectorAgent.cpp:
        * inspector/InspectorAgent.h:
        (WebCore::InspectorAgent::didCommitLoadFired):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::restore):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::create):
        (WebCore::InspectorPageAgent::InspectorPageAgent):
        (WebCore::InspectorPageAgent::restore):
        * inspector/InspectorPageAgent.h:
        (WebCore):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::restore):

2012-05-10  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] add audit formatters for remote objects and DOM elements
        https://bugs.webkit.org/show_bug.cgi?id=86108

        Reviewed by Pavel Feldman.

       - added two new formatters to AuditResults object of webInspector.audits API;

        * inspector/front-end/AuditFormatters.js:
        (WebInspector.AuditFormatters.resourceLink):
        (WebInspector.AuditFormatters.object.onEvaluate):
        (WebInspector.AuditFormatters.object): format as a remote object property list;
        (WebInspector.AuditFormatters.node.onNodeAvailable):
        (WebInspector.AuditFormatters.node.onEvaluate):
        (WebInspector.AuditFormatters.node): format as a DOM elements sub-tree;
        (WebInspector.AuditFormatters.Utilities.evaluate): common expression evaluation logic for both new formatters;
        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.AuditResultImpl):
        * inspector/front-end/auditsPanel.css:
        (.audit-result-tree ol.outline-disclosure):
        (.audit-result-tree .section .header):
        (.audit-result-tree .section .header::before):

2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116727.
        http://trac.webkit.org/changeset/116727
        https://bugs.webkit.org/show_bug.cgi?id=86181

        Build error on Chromium-Android (Requested by tkent on
        #webkit).

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::enterFullscreen):
        (WebCore):
        * platform/graphics/MediaPlayer.h:
        (MediaPlayer):
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
        (MediaPlayerPrivateInterface):

2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116731.
        http://trac.webkit.org/changeset/116731
        https://bugs.webkit.org/show_bug.cgi?id=86178

        Build failure on Chromium-mac (Requested by tkent on #webkit).

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (UnthrottledTextureUploader):
        (WebCore::UnthrottledTextureUploader::create):
        (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
        (WebCore::UnthrottledTextureUploader::isBusy):
        (WebCore::UnthrottledTextureUploader::beginUploads):
        (WebCore::UnthrottledTextureUploader::endUploads):
        (WebCore::UnthrottledTextureUploader::uploadTexture):
        (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
        (WebCore):
        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
        (WebCore::CCSingleThreadProxy::recreateContext):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore):
        (UnthrottledTextureUploader):
        (WebCore::UnthrottledTextureUploader::create):
        (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
        (WebCore::UnthrottledTextureUploader::isBusy):
        (WebCore::UnthrottledTextureUploader::beginUploads):
        (WebCore::UnthrottledTextureUploader::endUploads):
        (WebCore::UnthrottledTextureUploader::uploadTexture):
        (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
        (WebCore::CCThreadProxy::recreateContextOnImplThread):

2012-05-10  David Reveman  <reveman@chromium.org>

        [Chromium] Move instantiation of texture uploader to LayerRendererChromium.
        https://bugs.webkit.org/show_bug.cgi?id=85893

        Reviewed by Adrienne Walker.

        Move instantiation of texture uploader to LayerRendererChromium and
        allow CCProxy to decide between a throttled or unthrottled uploader
        using a flag passed to the LayerRendererChromium constructor.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
        (WebCore::CCSingleThreadProxy::recreateContext):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
        (WebCore::CCThreadProxy::recreateContextOnImplThread):

2012-05-10  MORITA Hajime  <morrita@google.com>

        ElementShadow should minimize the usage of "ShadowRoot" name
        https://bugs.webkit.org/show_bug.cgi?id=85970

        Reviewed by Dimitri Glazkov.

        This change cleans two out dated assumptions which brought in at
        early stage of Shadow DOM implementation.

        - Removed Element::hasShadowRoot(): shadow existence can be checked by Element::shadow().
        - Made ElementShadow::removeAllShadowRoots() private: we no longer allow ShadowRoot removal.
          It can only happens at the ElementShadow destruction.

        Most of changes in element implementations are basically simple
        replacement from hasShadowRoot() to shadow().

        No new tests. Covered by existing tests.

        * WebCore.exp.in:
        * dom/ContainerNodeAlgorithms.h:
        (WebCore::ChildFrameDisconnector::collectDescendant):
        * dom/ComposedShadowTreeWalker.cpp:
        (WebCore::ComposedShadowTreeWalker::traverseChild):
        * dom/Document.cpp:
        (WebCore::Document::buildAccessKeyMap):
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        (WebCore::Element::ensureShadowRoot):
        (WebCore::Element::childrenChanged):
        * dom/Element.h:
        (Element):
        (WebCore::isShadowHost):
        (WebCore):
        * dom/ElementShadow.cpp:
        (WebCore::ElementShadow::~ElementShadow):
        (WebCore::ElementShadow::removeAllShadowRoots):
        * dom/ElementShadow.h:
        (ElementShadow):
        (WebCore::ElementShadow::host):
        * dom/EventDispatcher.cpp:
        * dom/Node.cpp:
        (WebCore::oldestShadowRootFor):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::createShadowSubtree):
        * html/FileInputType.cpp:
        (WebCore::FileInputType::createShadowSubtree):
        (WebCore::FileInputType::multipleAttributeChanged):
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::createShadowSubtree):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::createShadowSubtree):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        (WebCore::HTMLKeygenElement::shadowSelect):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::hasMediaControls):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::createShadowSubtree):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::createShadowSubtree):
        * html/HTMLSummaryElement.cpp:
        (WebCore::HTMLSummaryElement::createShadowSubtree):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::createShadowSubtree):
        * html/InputType.cpp:
        (WebCore::InputType::destroyShadowSubtree):
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleMouseDownEvent):
        (WebCore::RangeInputType::createShadowSubtree):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::createShadowSubtree):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::trackLimiterElementOf):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::unbind):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * page/FocusController.cpp:
        (WebCore):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::uploadButton):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::updateReferencedText):
        (WebCore::SVGTRefElement::detachTarget):
        * testing/Internals.cpp:
        (WebCore::Internals::ensureShadowRoot):
        (WebCore::Internals::youngestShadowRoot):
        (WebCore::Internals::oldestShadowRoot):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-05-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Move resumeAnimations to use Internals interface
        https://bugs.webkit.org/show_bug.cgi?id=86063

        Reviewed by Alexey Proskuryakov.

        Add resumeAnimations functions, because it is able to work in the
        cross-port way through the Internals interface.

        No new tests, since we are improving here the infra-structure for testing
        a specific method.

        * testing/Internals.cpp:
        (WebCore::Internals::resumeAnimations):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-05-10  Min Qin  <qinmin@google.com>

        split MediaPlayer::enterFullscreen into 2 seperate functions
        https://bugs.webkit.org/show_bug.cgi?id=86052

        Reviewed by Benjamin Poulain.

        It is confusing that enterFullscreen returns a boolean while exitFullscreen does
        not do the same. And ios does not need the return value.
        So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
        function for android.
        No tests as there are no behavior change, just refactoring.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::enterFullscreen):
        (WebCore):
        (WebCore::MediaPlayer::canEnterFullscreen):
        * platform/graphics/MediaPlayer.h:
        (MediaPlayer):
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
        (MediaPlayerPrivateInterface):
        (WebCore::MediaPlayerPrivateInterface::canEnterFullscreen):

2012-05-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116715.
        http://trac.webkit.org/changeset/116715
        https://bugs.webkit.org/show_bug.cgi?id=86172

        Broke http/tests/security/cross-frame-access-selection.html
        (Requested by tkent on #webkit).

        * dom/Document.cpp:
        (WebCore):
        (WebCore::Document::getSelection):
        * dom/Document.h:
        (Document):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::selection):
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::~TreeScope):
        * dom/TreeScope.h:
        (WebCore):
        (TreeScope):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::DOMSelection):
        * page/DOMSelection.h:
        (WebCore):
        (WebCore::DOMSelection::create):
        (DOMSelection):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::clearDOMWindowProperties):
        (WebCore::DOMWindow::getSelection):
        * page/DOMWindow.h:
        (DOMWindow):

2012-05-10  Hajime Morrita  <morrita@google.com>

        WebKit should support tab-size.
        https://bugs.webkit.org/show_bug.cgi?id=52994

        - Added boilerplate for "tab-size" CSS property.
        - Added RenderStye::tabSize() as a RareInheritedData.
        - Replaced TextRun::m_allowTabs into TextRun::m_tabSize.

        Reviewed by Simon Fraser.

        Tests: fast/css/tab-size-expected.html
               fast/css/tab-size.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * platform/chromium/PopupListBox.cpp:
        (WebCore::PopupListBox::paintRow):
        * platform/graphics/Font.h:
        (WebCore::Font::tabWidth):
        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        (WebCore::TextRun::allowTabs):
        (WebCore::TextRun::tabSize):
        (WebCore::TextRun::setTabSize):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::paint):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::constructTextRun):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::constructTextRun):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::textWidth):
        (WebCore::tryHyphenating):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::widthFromCache):
        (WebCore::RenderText::computePreferredLogicalWidths):
        (WebCore::RenderText::width):
        * rendering/RenderText.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::tabSize):
        (WebCore::RenderStyleBitfields::collapsedTabSize):
        (WebCore::RenderStyleBitfields::setTabSize):
        (WebCore::RenderStyleBitfields::initialTabSize):
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h:
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::constructTextRun):
        * rendering/svg/SVGTextMetrics.cpp:
        (WebCore::constructTextRun):

2012-05-10  Antoine Labour  <piman@chromium.org>

        Sync with impl thread when removing references to external textures
        https://bugs.webkit.org/show_bug.cgi?id=86054

        We want to ensure the client side is safe to release textures, so we
        sync with the impl thread when:
        - we change the texture (and we had one)
        - the layer is removed from the tree (and we had a texture)
        - the layer is destroyed (and we had a texture)

        Reviewed by James Robinson.

        Test: TextureLayerChromiumTest.

        * platform/graphics/chromium/TextureLayerChromium.cpp:
        (WebCore::TextureLayerChromium::~TextureLayerChromium):
        (WebCore::TextureLayerChromium::setTextureId):
        (WebCore::TextureLayerChromium::setLayerTreeHost):
        (WebCore):
        * platform/graphics/chromium/TextureLayerChromium.h:
        (TextureLayerChromium):

2012-05-10  Kent Tamura  <tkent@chromium.org>

        [Chromium] attempt to build fix for Chromium-mac.
        r116697 introduced an override of a system function. It's intentional
        and WebCoreTextFieldCell should be in the whitelist.

        * WebCore.gyp/WebCore.gyp:

2012-05-10  Anders Carlsson  <andersca@apple.com>

        PDF files won't scroll in Safari when using Adobe plug-in
        https://bugs.webkit.org/show_bug.cgi?id=86167
        <rdar://problem/11389719>

        Reviewed by Sam Weinig.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::computeNonFastScrollableRegion):
        Loop over the frame view children looking for plug-in views that want wheel events
        and add them to the non-fast scrollable region. Ideally, the plug-ins should be added
        to the set of scrollable areas, but PluginView in WebKit2 is not a ScrollableArea yet.

        * plugins/PluginViewBase.h:
        (PluginViewBase):
        (WebCore::PluginViewBase::wantsWheelEvents):

2012-05-10  Alexey Proskuryakov  <ap@apple.com>

        Crash in 3rd party WebKit apps that disable cache at a wrong time
        https://bugs.webkit.org/show_bug.cgi?id=86027
        <rdar://problem/10615880>

        Reviewed by Antti Koivisto.

        Added an API test.

        The fix is to use CachedResourceHandle throughout MemoryCache, which will certainly
        keep the resource alive. Also removed earlier fixes.

        * css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::cachedImageSet):
        * css/CSSImageValue.cpp: (WebCore::CSSImageValue::cachedImage):
        * css/WebKitCSSShaderValue.cpp: (WebCore::WebKitCSSShaderValue::cachedShader):
        * history/PageCache.cpp: (WebCore::PageCache::releaseAutoreleasedPagesNow):
        * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement):
        * loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::load):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestImage):
        (WebCore::CachedResourceLoader::requestFont):
        (WebCore::CachedResourceLoader::requestTextTrack):
        (WebCore::CachedResourceLoader::requestShader):
        (WebCore::CachedResourceLoader::requestCSSStyleSheet):
        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
        (WebCore::CachedResourceLoader::requestScript):
        (WebCore::CachedResourceLoader::requestXSLStyleSheet):
        (WebCore::CachedResourceLoader::requestSVGDocument):
        (WebCore::CachedResourceLoader::requestLinkResource):
        (WebCore::CachedResourceLoader::requestRawResource):
        (WebCore::CachedResourceLoader::requestResource):
        (WebCore::CachedResourceLoader::revalidateResource):
        (WebCore::CachedResourceLoader::loadResource):
        (WebCore::CachedResourceLoader::requestPreload):
        * loader/cache/CachedResourceLoader.h: (CachedResourceLoader):
        * loader/cache/MemoryCache.h: (WebCore::MemoryCache::setPruneEnabled):

        * loader/cache/CachedResourceHandle.h:
        (WebCore::CachedResourceHandle::CachedResourceHandle):
        (WebCore::CachedResourceHandle::operator=):
        Teach CachedResourceHandle how to make CachedResourceHandle<CachedResource> from
        a handle to subclass.

2012-05-10  Tien-Ren Chen  <trchen@chromium.org>

        Eliminate duplicated code for culled line box in RenderInline
        https://bugs.webkit.org/show_bug.cgi?id=85725

        This patch extracts the common part of culledInlineBoundingBox() /
        culledInlineAbsoluteRects() / culledInlineAbsoluteQuads() to become a
        template function generateCulledLineBoxRects(). The template function
        accepts a new parameter, GeneratorContext functor, which will be
        invoked everytime a new line box rect has been generated. The generated
        rect will be in local coordinate. The functor will be responsible for
        appropriate transformation, then appending to vector or union with
        existing bounding box.

        Reviewed by Eric Seidel.

        No new tests. No change in behavior.

        * rendering/RenderInline.cpp:
        (WebCore):
        (WebCore::RenderInline::generateLineBoxRects):
        (WebCore::RenderInline::generateCulledLineBoxRects):
        (WebCore::RenderInline::absoluteRects):
        (WebCore::RenderInline::absoluteQuads):
        (WebCore::RenderInline::linesBoundingBox):
        (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
        (WebCore::RenderInline::addFocusRingRects):
        * rendering/RenderInline.h:
        (RenderInline):

2012-05-10  Abhishek Arya  <inferno@chromium.org>

        Crash in swapInNodePreservingAttributesAndChildren.
        https://bugs.webkit.org/show_bug.cgi?id=85197
 
        Reviewed by Ryosuke Niwa.
 
        Keep the children in a ref vector before adding them to newNode.
        They can get destroyed due to mutation events.

        No new tests because we don't have a reduction.

        * editing/ReplaceNodeWithSpanCommand.cpp:
        (WebCore::swapInNodePreservingAttributesAndChildren):

2012-05-10  Shinya Kawanaka  <shinyak@chromium.org>

        [Refactoring] Move Selection from DOMWindow to TreeScope.
        https://bugs.webkit.org/show_bug.cgi?id=82699

        Reviewed by Ryosuke Niwa.

        Since ShadowRoot will also manage its own version of DOMSelection, we would like to
        share the code among Document and DOMSelection. This patch moves DOMSelection from DOMWindow to TreeScope
        so that ShadowRoot can also use it.

        No new tests, should covered by existing tests.

        * dom/Document.cpp:
        (WebCore::Document::updateFocusAppearanceTimerFired):
        * dom/Document.h:
        (Document):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::selection):
        * do/mTreeScope.cpp:
        (WebCore::TreeScope::~TreeScope):
        (WebCore::TreeScope::getSelection):
        (WebCore):
        * dom/TreeScope.h:
        (WebCore):
        (TreeScope):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::DOMSelection):
        (WebCore::DOMSelection::clearTreeScope):
        (WebCore):
        * page/DOMSelection.h:
        (WebCore):
        (WebCore::DOMSelection::create):
        (DOMSelection):
        (WebCore::DOMSelection::frame):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::clearDOMWindowProperties):
        (WebCore::DOMWindow::getSelection):
        * page/DOMWindow.h:
        (DOMWindow):

2012-05-10  Kent Tamura  <tkent@chromium.org>

        Unreviewed, rolling out r116594.
        http://trac.webkit.org/changeset/116594
        https://bugs.webkit.org/show_bug.cgi?id=86013

        r116594 might have made some composition tests flaky.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::addAnimation):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-05-10  Michael Nordman  <michaeln@google.com>

        [chromium] DomStorage events handling needs TLC (2)
        https://bugs.webkit.org/show_bug.cgi?id=85221
        Alter the StorageArea virtual interface such that the mutators no longer
        return old values. This is to allow implementations of the interface to operate
        more asynchronously.

        Reviewed by Adam Barth.

        No new tests. Existing tests cover this.

        * storage/StorageArea.h: Alter the interface so the mutators no longer return previous values
        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):  removed an unneeded PLATFORM(CHROMIUM) guard
        (WebCore::StorageAreaImpl::setItem): no longer return the old value
        (WebCore::StorageAreaImpl::removeItem): no longer return the old value
        (WebCore::StorageAreaImpl::clear): no longer return whether something was cleared
        * storage/StorageAreaImpl.h: match StorageArea's virtual interface

2012-05-10  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=86158
        Overlay scrollbars without layers never paint in overflow regions in 
        tiled drawing mode
        -and corresponding-
        <rdar://problem/11289546>

        Reviewed by Darin Adler.

        RenderLayers paint scrollbars that do not have their own layers by 
        running a second pass through the layer tree after the layer tree has 
        painted. This ensures that the scrollbars always paint on top of 
        content. However, this mechanism was relying on 
        FrameView::paintContents() as a choke-point for all painting to 
        trigger the second painting pass. That is not a reasonable choke-point 
        in tiled drawing, so this patch adds similar code to 
        RenderLayerBacking.

        Only opt into the second painting pass for scrollbars that do not have 
        their own layers.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintOverflowControls):
        
        A layer that paints into its backing cannot return early here if it 
        has overlay scrollbars to paint.
        (WebCore::RenderLayer::paintLayer):
        
        This replicates code in FrameView::paintContents(). After painting the 
        owning layer, do a second pass if there are overlay scrollbars to 
        paint.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):

2012-05-10  Anders Carlsson  <andersca@apple.com>

        Well, at least fixing the GTK+ build is something!

        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::insecurePluginVersionText):
        (WebCore):

2012-05-10  Anders Carlsson  <andersca@apple.com>

        Add insecurePluginVersionText stubs.

        * platform/blackberry/LocalizedStringsBlackBerry.cpp:
        (WebCore::insecurePluginVersionText):
        (WebCore):
        * platform/efl/LocalizedStringsEfl.cpp:
        (WebCore::insecurePluginVersionText):
        (WebCore):
        * platform/qt/LocalizedStringsQt.cpp:
        (WebCore::insecurePluginVersionText):
        (WebCore):

2012-05-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116677.
        http://trac.webkit.org/changeset/116677
        https://bugs.webkit.org/show_bug.cgi?id=86159

        This patch causes linker error to some mac bots (Requested by
        jianli_ on #webkit).

        * WebCore.exp.in:
        * dom/ContainerNode.h:
        * dom/Node.cpp:
        (WebCore::Node::traverseNextNode):
        (WebCore::Node::traverseNextSibling):
        * dom/Node.h:
        (Node):

2012-05-10  Abhishek Arya  <inferno@chromium.org>

        Crash in FontCache::releaseFontData due to infinite float size.
        https://bugs.webkit.org/show_bug.cgi?id=86110

        Reviewed by Andreas Kling.

        New callers always forget to clamp the font size, which overflows
        to infinity on multiplication. It is best to clamp it at the end
        to avoid getting greater than std::numeric_limits<float>::max().

        Test: fast/css/large-font-size-crash.html

        * platform/graphics/FontDescription.h:
        (WebCore::FontDescription::setComputedSize):
        (WebCore::FontDescription::setSpecifiedSize):

2012-05-10  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=82131
        [Mac] REGRESSION (r110480): Text field that specifies background-color 
        (or is auto-filled) gets un-themed border
        -and corresponding-
        <rdar://problem/11115221>

        Reviewed by Maciej Stachowiak.

        This change rolls out r110480 which is what caused styled text fields 
        to get the un-themed border, and it does a bunch of work to make sure 
        we get the pretty, new version of the NSTextField art whenever 
        possible. We do this differently for post-Lion OS's since there is now 
        a way to opt into it all the time. Lion and SnowLeopard can only use 
        the new art in HiDPI mode when the background color of the text field 
        is just white.

        RenderThemeMac::textField() takes a boolean paramter used to determine 
        if the new gradient will be used.
        * rendering/RenderThemeMac.h:
        (RenderThemeMac):
        
        This is the post-Lion workaround. This code has no effect on Lion and 
        SnowLeopard. This allows up to opt into a version of [NSTextField drawWithFrame:] that will only draw the frame of the text field; without this, it will draw the frame and the background, which creates a number of problems with styled text fields and text fields in HiDPI. There is a less comprehesive workaround for Lion and SnowLeopard in place in RenderThemeMac::textField().
        * rendering/RenderThemeMac.mm:
        (-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
        
        This is the roll-out of r110480.
        (WebCore::RenderThemeMac::isControlStyled):
        
        See the comments for a full explanation, but this is mostly code for 
        Lion and SnowLeopard to determine if we can opt into the new artwork.
        (WebCore::RenderThemeMac::paintTextField):
        (WebCore::RenderThemeMac::textField):

2012-05-10  Anders Carlsson  <andersca@apple.com>

        WebKit1: Add a way to blacklist specific plug-ins/plug-in versions
        https://bugs.webkit.org/show_bug.cgi?id=86150
        <rdar://problem/9551196>

        Reviewed by Sam Weinig.

        * English.lproj/Localizable.strings:
        Update.

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadPlugin):
        It is possible that the client has already set the unavailability reason so don't try to set it twice.

        * platform/LocalizedStrings.cpp:
        (WebCore::insecurePluginVersionText):
        * platform/LocalizedStrings.h:
        Add insecure plug-in version text.

        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::unavailablePluginReplacementText):
        * rendering/RenderEmbeddedObject.h:
        Add InsecurePluginVersion unavailability reason.

2012-05-10  Eric Seidel  <eric@webkit.org>

        Make IFRAME_SEAMLESS child documents inherit styles from their parent iframe element
        https://bugs.webkit.org/show_bug.cgi?id=85940

        Reviewed by Ojan Vafai.

        The HTML5 <iframe seamless> spec says:
        In a CSS-supporting user agent: the user agent must, for the purpose of CSS property
        inheritance only, treat the root element of the active document of the iframe
        element's nested browsing context as being a child of the iframe element.
        (Thus inherited properties on the root element of the document in the
        iframe will inherit the computed values of those properties on the iframe
        element instead of taking their initial values.)

        Initially I implemented this support to the letter of the spec. However, doing so I learned
        that WebKit has a RenderStyle for the Document Node, not just the root element of the document.
        In this RenderStyle on the Document, we add a bunch of per-document styles from settings
        including designMode.

        This change makes StyleResolver::styleForDocument inherit style from the parent iframe's
        style, before applying any of these per-document styles.  This may or may not be correct
        depending on what behavior we want for rtl-ordering, page-zoom, locale, design mode, etc.
        For now, we continue to treat the iframe's document as independent in these regards, and
        the settings on that document override those inherited from the iframe.

        Also, intially when making this work, I added redirects in recalcStyle and scheduleStyleRecalc
        from the child document to the parent document in the case of seamless (since the parent
        document effectively manages the style resolve and layout of the child in seamless mode).
        However, I was not able to find a test which depended on this code change, so in this final patch
        I have removed both of these modifications and replaced them with FIXMEs.  Based on discussions
        with Ojan and James Robinson, I believe both of those changes may eventually be wanted.

        This change basically does 3 things:
        1.  Makes StyleResolver::styleForDocument inherit from the parent iframe.
        2.  Makes any recalcStyle calls on the iframe propogate down into the child document (HTMLIFrameElement::didRecalcStyle).
        3.  Makes Document::recalcStyle aware of the fact that the Document's style *can* change
            for reasons other than recalcStyle(Force).

        I'm open to more testing suggestions, if reviewers have settings on the Document's style
        that you want to make sure we inherit from the parent iframe, or don't inherit, etc.
        I view this as a complete solution to this aspect of the current <iframe seamless> spec,
        but likely not the last code we will write for this aspect of the seamless feature. :)

        Tested by fast/frames/seamlesss/seamless-css-cascade.html and seamless-designMode.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * dom/Document.cpp:
        (WebCore::Document::scheduleStyleRecalc):
        (WebCore::Document::recalcStyle):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::HTMLIFrameElement):
        (WebCore::HTMLIFrameElement::didRecalcStyle):
        (WebCore):
        * html/HTMLIFrameElement.h:
        (HTMLIFrameElement):

2012-05-10  Julien Chaffraix  <jchaffraix@webkit.org>

        Crash in computedCSSPadding* functions due to RenderImage::imageDimensionsChanged called during attachment
        https://bugs.webkit.org/show_bug.cgi?id=85912

        Reviewed by Eric Seidel.

        Tests: fast/images/link-body-content-imageDimensionChanged-crash.html
               fast/images/script-counter-imageDimensionChanged-crash.html

        The bug comes from CSS generated images that could end up calling imageDimensionsChanged during attachment. As the
        rest of the code (e.g. computedCSSPadding*) would assumes that we are already inserted in the tree, we would crash.

        The solution is to bail out in this case as newly inserted RenderObject will trigger layout later on and properly
        handle what we would be doing as part of imageDimensionChanged (the only exception being updating our intrinsic
        size which should be done as part of imageDimensionsChanged).

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageDimensionsChanged):

2012-05-10  Adam Barth  <abarth@webkit.org>

        ASSERT in BidiResolver<Iterator, Run>::commitExplicitEmbedding makes running debug builds annoying
        https://bugs.webkit.org/show_bug.cgi?id=86140

        Reviewed by Eric Seidel.

        The correct fix here is to resolve
        https://bugs.webkit.org/show_bug.cgi?id=76574, but in the mean time,
        this ASSERT is annoying.

        * platform/text/BidiResolver.h:
        (WebCore::::commitExplicitEmbedding):

2012-05-10  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call addTraceEvent and getTraceCategoryEnabledFlag directly
        https://bugs.webkit.org/show_bug.cgi?id=85399

        Reviewed by Adam Barth.

        Part of a refactoring series. See tracking bug 82948.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/EventTracer.cpp: Added.
        (WebCore):
        (WebCore::EventTracer::getTraceCategoryEnabledFlag):
        (WebCore::EventTracer::addTraceEvent):
        * platform/EventTracer.h: Added.
        (WebCore):
        (EventTracer):
        * platform/chromium/EventTracerChromium.cpp: Added.
        (WebCore):
        (WebCore::EventTracer::getTraceCategoryEnabledFlag):
        (WebCore::EventTracer::addTraceEvent):
        * platform/chromium/PlatformSupport.h:
        * platform/chromium/TraceEvent.h:

2012-05-10  Adam Barth  <abarth@webkit.org>

        ScrollView::fixedVisibleContentRect should be public
        https://bugs.webkit.org/show_bug.cgi?id=86147

        Reviewed by Eric Seidel.

        Some code in the WebKit layer of OS(ANDROID) uses this function. That
        could will be upstreamed in a later patch. For now, this patch just
        makes this function public so that we remove the diff to this file.

        * platform/ScrollView.h:
        (WebCore::ScrollView::fixedVisibleContentRect):
        (WebCore::ScrollView::delegatesScrollingDidChange):

2012-05-10  Anders Carlsson  <andersca@apple.com>

        Rename the missing plug-in indicator to the unavailable plug-in indicator
        https://bugs.webkit.org/show_bug.cgi?id=86136

        Reviewed by Sam Weinig.

        Since the indicator is shown for more than just missing plug-ins, generalize it and use a plug-in unavailability
        reason enum to make it easier to extend. Also, pass the unavailability reason to the ChromeClient member functions.

        * WebCore.exp.in:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::defaultEventHandler):
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadPlugin):
        * page/ChromeClient.h:
        (WebCore::ChromeClient::shouldUnavailablePluginMessageBeButton):
        (WebCore::ChromeClient::unavailablePluginButtonClicked):
        * page/FrameView.cpp:
        (WebCore::FrameView::updateWidget):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
        (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
        (WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):
        (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsPressed):
        (WebCore::RenderEmbeddedObject::paint):
        (WebCore::RenderEmbeddedObject::paintReplaced):
        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
        (WebCore::RenderEmbeddedObject::unavailablePluginReplacementText):
        (WebCore):
        (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
        (WebCore::shouldUnavailablePluginMessageBeButton):
        (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
        (WebCore::RenderEmbeddedObject::getCursor):
        * rendering/RenderEmbeddedObject.h:
        (RenderEmbeddedObject):

2012-05-10  Brady Eidson  <beidson@apple.com>

        <rdar://problem/10972577> and https://bugs.webkit.org/show_bug.cgi?id=80170
        Contents of noscript elements turned into strings in WebArchives

        Reviewed by Andy Estes.

        There's a much deeper question about how innerHTML of <noscript> is expected to work in 
        both a scripting and non-scripting environment that we should pursue separately.

        But for webarchives, we can solve this by filtering out the <noscript> elements completely 
        if scripting is enabled.

        Test: webarchive/ignore-noscript-if-scripting-enabled.html

        * WebCore.exp.in:

        Add arguments to createMarkup and MarkupAccumulator methods to pass a Vector of QualifiedNames
        that should be filtered from the resulting markup:
        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::serializeNodes):
        (WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
        * editing/MarkupAccumulator.h:
        * editing/markup.cpp:
        (WebCore::createMarkup):
        * editing/markup.h:

        If scripting is enabled, add the noscriptTag to the tag names to filter:
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create):

2012-05-10  Abhishek Arya  <inferno@chromium.org>

        Crash due to floats not removed from first-letter element.
        https://bugs.webkit.org/show_bug.cgi?id=86019

        Reviewed by Julien Chaffraix.

        Move clearing logic of a floating/positioned object from removeChild
        to removeChildNode. There are lot of places which use removeChildNode
        directly and hence the object is not removed from the floating or
        positioned objects list.

        Test: fast/block/float/float-not-removed-from-first-letter.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::removeChild):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):

2012-05-10  Andreas Kling  <kling@webkit.org>

        Remove empty ElementAttributeData destructor.
        <http://webkit.org/b/86126>

        Reviewed by Antti Koivisto.

        * dom/ElementAttributeData.cpp:
        * dom/ElementAttributeData.h:

2012-05-10  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: heap snapshot comparison view is broken
        https://bugs.webkit.org/show_bug.cgi?id=86102

        Reviewed by Pavel Feldman.

        Pass HeapSnapshotProxy instead of undefined to the profile load callback. Added
        compiler annotations to avoid such errors in the future.

        * inspector/front-end/HeapSnapshotView.js:

2012-05-10  Zan Dobersek  <zandobersek@gmail.com>

        [GTK] ENABLE_IFRAME_SEAMLESS support
        https://bugs.webkit.org/show_bug.cgi?id=85843

        Reviewed by Eric Seidel.

        Export the ENABLE_IFRAME_SEAMLESS feature define when the feature is
        enabled.

        No new tests - all the related tests should now be passing.

        * GNUmakefile.am:

2012-05-10  Antti Koivisto  <antti@apple.com>

        Inline Node::traverseNextNode
        https://bugs.webkit.org/show_bug.cgi?id=85844

        Reviewed by Ryosuke Niwa.
        
        Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
        for many hot loops.

        In this version only the firstChild()/nextSibling() tests are inlined and the ancestor traversal is not.
        
        Performance bots will tell if this was worthwhile.

        * dom/ContainerNode.h:
        (WebCore::Node::traverseNextNode):
        (WebCore):
        (WebCore::Node::traverseNextSibling):
        * dom/Node.cpp:
        (WebCore::Node::traverseNextAncestorSibling):
        * dom/Node.h:
        (Node):

2012-05-10  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Fix MediaHints parsing
        https://bugs.webkit.org/show_bug.cgi?id=86098

        Reviewed by Adam Barth.

        Not currently testable. Working on a series of patches that will fix that.

        * Modules/mediastream/PeerConnection00.cpp:
        (WebCore::PeerConnection00::createMediaHints):

2012-05-10  Tommy Widenflycht  <tommyw@google.com>

        [chromium] MediaStream API: Fix the ExtraData functionality in WebMediaStreamDescriptor
        https://bugs.webkit.org/show_bug.cgi?id=86087

        Reviewed by Adam Barth.

        Not easy to test but I have added code that excercises this to WebUserMediaClientMock (in DumpRenderTree).

        * platform/chromium/support/WebMediaStreamDescriptor.cpp:
        (WebKit::WebMediaStreamDescriptor::setExtraData):

2012-05-10  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: search title is shown beside the search field (not under) in the vertical mode.
        https://bugs.webkit.org/show_bug.cgi?id=86120

        Reviewed by Yury Semikhatsky.

        This change makes search title render as placeholder at all times.
        It also adjusts the size of the search field when navigation arrows appear.

        * inspector/front-end/SearchController.js:
        (WebInspector.SearchController):
        (WebInspector.SearchController.prototype.updateSearchLabel):
        (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
        (WebInspector.SearchController.prototype._createSearchNavigationButton):
        * inspector/front-end/inspector.css:
        (#toolbar-search-item):
        (.with-navigation-buttons #search):
        (.toolbar-search-navigation-label):
        (.with-navigation-buttons .toolbar-search-navigation-label):
        * inspector/front-end/inspector.html:

2012-05-10  Varun Jain  <varunjain@google.com>

        [chromium] Trigger context menu for long press gesture
        https://bugs.webkit.org/show_bug.cgi?id=85919

        Reviewed by Adam Barth.

        Test: fast/events/touch/gesture/context-menu-on-long-press.html

        * page/EventHandler.cpp:
        (WebCore):
        (WebCore::EventHandler::sendContextMenuEventForGesture):
        * page/EventHandler.h:
        (EventHandler):

2012-05-10  Abhishek Arya  <inferno@chromium.org>

        Crash in ApplyStyleCommand::joinChildTextNodes.
        https://bugs.webkit.org/show_bug.cgi?id=85939

        Reviewed by Ryosuke Niwa.

        Test: editing/style/apply-style-join-child-text-nodes-crash.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): add conditions
        to bail out if our start and end position nodes are removed due to 
        mutation events in joinChildTextNodes.
        (WebCore::ApplyStyleCommand::applyInlineStyle): this executes after
        applyRelativeFontStyleChange in ApplyStyleCommand::doApply. So, need
        to bail out if our start and end position nodes are removed due to
        mutation events.
        (WebCore::ApplyStyleCommand::joinChildTextNodes): hold all the children
        in a ref vector to prevent them from getting destroyed due to mutation events.

2012-05-10  Erik Arvidsson  <arv@chromium.org>

        Unreviewed, rebaselined run-bindings-tests results.

        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
        (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
        * bindings/scripts/test/V8/V8TestException.cpp:
        (WebCore::V8TestException::wrapSlow):
        * bindings/scripts/test/V8/V8TestException.h:
        (WebCore::V8TestException::wrap):

2012-05-10  Abhishek Arya  <inferno@chromium.org>

        Crash in InsertParagraphSeparatorCommand::doApply.
        https://bugs.webkit.org/show_bug.cgi?id=84995

        Reviewed by Ryosuke Niwa.

        Test: editing/inserting/insert-paragraph-seperator-crash.html

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::mergeParagraphs): no need of static cast, since
        type of enclosingBlock returned is already Element*.
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::tryIndentingAsListItem): no need of static cast, since
        type of enclosingBlock returned is already Element*.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): RefPtr startBlock to guard against
        mutation events.
        * editing/htmlediting.cpp:
        (WebCore::enclosingBlock): make sure type of enclosingNode is an element before doing
        the static cast. This was already failing in a couple of layout tests. Also, isBlock
        check already exists in the function call to enclosingNodeOfType, so don't need it
        again on enclosingNode's renderer.
        * editing/htmlediting.h: 
        (WebCore):

2012-05-10  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        TouchAdjustment doesn't correct for scroll-offsets.
        https://bugs.webkit.org/show_bug.cgi?id=86083

        Reviewed by Kenneth Rohde Christiansen.

        Already tested by: touchadjustment/scroll-delegation

        * page/EventHandler.cpp:
        (WebCore::EventHandler::bestClickableNodeForTouchPoint):
        (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
        * page/TouchAdjustment.cpp:
        (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
        * testing/Internals.cpp:
        (WebCore::Internals::bestZoomableAreaForTouchPoint):

2012-05-10  Konrad Piascik  <kpiascik@rim.com>

        Fix typo in filename
        https://bugs.webkit.org/show_bug.cgi?id=86095

        Reviewed by Andreas Kling.

        * UseJSC.cmake:

2012-05-10  Stephen Chenney  <schenney@chromium.org>

        SVG Filters allow invalid elements as children
        https://bugs.webkit.org/show_bug.cgi?id=83979

        Reviewed by Nikolas Zimmermann.

        According to the SVG spec, there are numerous restrictions on the
        content of nodes (that is, their children). Specific to this problem,
        SVGFilter elements may only contain SVGFilterPrimitive elements, and
        those may only contain animation related elements. This patch enforces
        the restriction on filters in the render tree, thus preventing us from
        having (for instance) content that is inside a filter yet filtered by
        the filter.

        Manual test: ManualTests/bugzilla-83979.svg

        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::childShouldCreateRenderer): Added to only allow renderers for fe* children
        (WebCore):
        * svg/SVGFilterElement.h:
        (SVGFilterElement):
        * svg/SVGFilterPrimitiveStandardAttributes.h: Do not allow any children at all for fe* elements.
        (SVGFilterPrimitiveStandardAttributes):

2012-05-10  Joe Thomas  <joethomas@motorola.com>

        [CSS3 Backgrounds and Borders] Add background-size to the background shorthand
        https://bugs.webkit.org/show_bug.cgi?id=27577

        Reviewed by Alexis Menard.

        Added CSSPropertyBackgroundSize to the background shorthand propery. Added the logic for parsing background-size.
        bakground-size appears after background-position followed by a '/'.
        The specification related to this change is http://www.w3.org/TR/css3-background/#the-background

        Tests: fast/backgrounds/background-shorthand-with-backgroundSize-style.html
               fast/backgrounds/size/backgroundSize-in-background-shorthand.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        (WebCore::CSSComputedStyleDeclaration::getBackgroundShorthandValue):
        (WebCore):
        * css/CSSComputedStyleDeclaration.h:
        (CSSComputedStyleDeclaration):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillShorthand):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::getLayeredShorthandValue):
        * css/StylePropertyShorthand.cpp:
        (WebCore):
        (WebCore::backgroundShorthand):

2012-05-10  MORITA Hajime <morrita@google.com>

        Node::InDetachFlag could be removed.
        https://bugs.webkit.org/show_bug.cgi?id=85963

        Reviewed by Antti Koivisto.

        Removed Node::inDetach() since it can never true
        on the only call site setFocusedNode().

        No new test. Covered by existing tests.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode):
        * dom/Node.cpp:
        (WebCore::Node::detach):
        * dom/Node.h:
        (WebCore):
        (Node):

2012-05-10  Keishi Hattori  <keishi@webkit.org>

        Crash in HTMLFormControlElement::m_fieldSetAncestor
        https://bugs.webkit.org/show_bug.cgi?id=86070

        Reviewed by Kent Tamura.

        No new tests.

        The previous patch r115990 didn't completely resolve the crash (Bug 85453)
        We don't have a reproducible test case, so we are reverting to the old code for setting m_fieldSetAncestor.

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
        (WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
        (WebCore::HTMLFormControlElement::insertedInto): Set m_dataListAncestorState to Unknown because ancestor has changed. Call setNeedsWillValidateCheck because style might need to be updated.
        (WebCore::HTMLFormControlElement::removedFrom):
        (WebCore::HTMLFormControlElement::disabled):
        (WebCore::HTMLFormControlElement::recalcWillValidate):
        (WebCore::HTMLFormControlElement::willValidate):
        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
        * html/HTMLFormControlElement.h:
        (HTMLFormControlElement): Added m_dataListAncestorState.

2012-05-10  Sam D  <dsam2912@gmail.com>

        Web Inspector: rename InspectorBackendStub.js to InspectorBackendCommands.js
        https://bugs.webkit.org/show_bug.cgi?id=72306

        Changed name for InspectorBackendStub.js to
        InspectorBackendCommands.js

        Reviewed by Yury Semikhatsky.

        No new tests required. File name is changed.

        * DerivedSources.pri:
        * GNUmakefile.am:
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.vcproj/copyWebCoreResourceFiles.cmd:
        * WebCore.xcodeproj/project.pbxproj:
        * gyp/copy-inspector-resources.sh:
        * inspector/CodeGeneratorInspector.py:
        * inspector/front-end/InspectorBackendCommands.qrc: Added.
        * inspector/front-end/InspectorBackendStub.qrc: Removed.
        * inspector/front-end/inspector.html:

2012-05-10  Alexis Menard  <alexis.menard@openbossa.org>

        [Qt] Avoid string conversions to construct a QUrl when using Qt5.
        https://bugs.webkit.org/show_bug.cgi?id=86006

        Reviewed by Kenneth Rohde Christiansen.

        In Qt5, the QUrl constructor can handle the string directly, even in UTF-16 because the
        constructor QUrl(QString) has been fixed. Unfortunately we still need to use the old
        code path when building with Qt4.

        No new tests : it's a performance improvement which should be covered by tests.

        * platform/qt/KURLQt.cpp:
        (WebCore::KURL::operator QUrl):

2012-05-10  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] REGRESSION(r107389) Visible line artifacts on some JPEG images
        https://bugs.webkit.org/show_bug.cgi?id=85772

        Reviewed by Kent Tamura.

        On some JPEG images, vertical and horizontal lines artifacts might appear in image
        regions with very high frequency color variation when using DCT_IFAST decodes. Use
        DCT_IFAST on small screen devices only (Chromium Android).

        No new tests. Covered by existing tests.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (dctMethod): Permit DCT_IFAST decoding for Chromium Android only.

2012-05-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        [Qt] Implement fit-to-width behaviour
        https://bugs.webkit.org/show_bug.cgi?id=86085

        Reviewed by Simon Hausmann.

        Add a method to get the minimum scale factor that contains the content
        without showing any chrome background.

        * dom/ViewportArguments.cpp:
        (WebCore::computeMinimumScaleFactorForContentContained):
        (WebCore):
        * dom/ViewportArguments.h:
        (WebCore):

2012-05-10  MORITA Hajime  <morrita@google.com>

        Remove support for Node::willRemove()
        https://bugs.webkit.org/show_bug.cgi?id=55209

        Reviewed by Ryosuke Niwa.

        This change de-virtualizes Node::willRemove(), gains
        5% speedup on Dromaeo dom-modify.

        Originally there were 5 willRemove() overrides:
        - Element
        - HTMLStyleElement
        - HTMLSourceElement
        - HTMLTrackElement
        - HTMLFrameOwnerElement

        For first 4 items, this change moves their implementations to
        Node::removedFrom() overrides.

        Then HTMLFrameOwnerElement is the only class which needs the
        notification.  Because it emits the "unload" event, it needs some
        notification _before_ its removal. To handle that, this change
        introduces ChildFrameDisconnector which collects
        corresponding decendant elements and disconnect their content frame.

        Even though this approach doesn't kill pre-removal tree traversal
        completely, it's a bit more efficient due to the de-virtualization.

        No new tests. Covered by existing test.

        * dom/ContainerNode.cpp:
        (WebCore::willRemoveChild): Replaced willRemove() call with ChildFrameDisconnector.
        (WebCore::willRemoveChildren): Ditto.
        (WebCore::ContainerNode::disconnectDescendantFrames): Added. Used from FrameLoader to replace Document::willRemove() call.
        (WebCore):
        * dom/ContainerNode.h:
        (ContainerNode):
        * dom/ContainerNodeAlgorithms.cpp:
        (WebCore::ChildFrameDisconnector::collectDescendant):
        (WebCore):
        (WebCore::ChildFrameDisconnector::Target::disconnect):
        * dom/ContainerNodeAlgorithms.h:
        (ChildFrameDisconnector):
        (Target):
        (WebCore::ChildFrameDisconnector::Target::Target):
        (WebCore::ChildFrameDisconnector::Target::isValid):
        (WebCore):
        (WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
        (WebCore::ChildFrameDisconnector::collectDescendant):
        (WebCore::ChildFrameDisconnector::disconnect):
        * dom/Element.cpp:
        (WebCore::Element::removedFrom):
        * dom/Element.h:
        * dom/ElementShadow.cpp:
        * dom/ElementShadow.h:
        (ElementShadow):
        * dom/Node.cpp:
        * dom/Node.h: Added IsFrameOwnerElement flag to de-virtualize IsFrameOwnerElement().
        (WebCore::Node::isFrameOwnerElement): De-virtualized.
        (Node):
        * html/HTMLElement.h:
        (HTMLElement):
        (WebCore::HTMLElement::HTMLElement):
        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
        (WebCore::HTMLFrameOwnerElement::disconnectContentFrame): Extracted from original willRemove().
        * html/HTMLFrameOwnerElement.h:
        (HTMLFrameOwnerElement):
        (WebCore::toFrameOwnerElement):
        (WebCore):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::sourceWasRemoved): Renamed from sourceWillBeRemoved(), dealing with the timing change.
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):
        (WebCore::isMediaElement):
        (WebCore):
        (WebCore::toMediaElement):
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::removedFrom): Moved some code from willRemove().
        * html/HTMLSourceElement.h:
        (HTMLSourceElement):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::removedFrom):
        (WebCore):
        * html/HTMLStyleElement.h:
        (HTMLStyleElement):
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::removedFrom): Moved some code from willRemove().
        * html/HTMLTrackElement.h:
        (HTMLTrackElement):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::clear):

2012-05-10  Kinuko Yasuda  <kinuko@chromium.org>

        Change the return type of Entry.toURL() back to String from KURL
        https://bugs.webkit.org/show_bug.cgi?id=85858

        Reviewed by Ryosuke Niwa.

        I once changed it from String to KURL in r116273 but it turned out that
        it involves implicit conversion and may incur extra overhead.
        This partly reverts r116273 while keeping some internal functions
        returning KURL as it's what we initially create as and is more
        convenient to operate on.

        No new tests; no functional or visible changes.

        * Modules/filesystem/EntryBase.cpp:
        (WebCore::EntryBase::toURL):
        * Modules/filesystem/EntryBase.h:
        (EntryBase):

2012-05-10  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Autocomplete for CSS property values in the Styles pane behaving incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=85784

        Reviewed by Vsevolod Vlasov.

        Before executing the number increment/decrement within CSS property value, the current word is checked
        for being a valid suggestion for the current property, and if it is, the numeric change is skipped
        in favor of the suggested property value switch by a suggest box.

        * inspector/front-end/StylesSidebarPane.js:

2012-05-10  Abhishek Arya  <inferno@chromium.org>

        Make DOMCharacterDataModified a scoped event (similar to r73690).
        https://bugs.webkit.org/show_bug.cgi?id=85920

        Reviewed by Ryosuke Niwa.

        DOMCharacterDataModified was missing in the list of already scoped
        DOM mutation events like DOMSubtreeModified, DOMNodeInserted, etc.
        It helps to delay event dispatches until the completion of each call
        of EditCommand::doApply. This has been useful in the past and helped to 
        prevent unexpected DOM tree mutations while the editing command is executing.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):

2012-05-10  Alexandre Elias  <aelias@google.com>

        Default to null value for HistoryItem::m_pageScaleFactor
        https://bugs.webkit.org/show_bug.cgi?id=84385

        Reviewed by Adam Barth.

        Previously, HistoryItem::m_pageScaleFactor defaulted to a value
        of 1, making it impossible to determine whether this value was never
        set, or intentionally set to 1.  This patch introduces a default value
        of 0 and makes restoreScrollPositionAndViewState not touch the page
        scale factor if this value is still present at time of reload.

        This is a no-op change for common navigation scenarios.  The
        motivation for this change is the corner case of syncing history items
        from a desktop browser to a mobile device.  In that case, we need a
        way to specify that the history item does not contain a
        pageScaleFactor so that the mobile device does not display the page
        overly zoomed in.

        No new tests.

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::restoreScrollPositionAndViewState):

2012-05-10  Csaba Osztrogonác  <ossy@webkit.org>

        Use suitable viewport values when a Mobile DTD is used.
        https://bugs.webkit.org/show_bug.cgi?id=85425

        Unreviewed debug buildfix after r116571.

        * dom/Document.cpp:
        (WebCore::Document::setDocType):

2012-05-10  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Move step related methods to InputType class from HTMLInputElement class
        https://bugs.webkit.org/show_bug.cgi?id=85978

        Reviewed by Kent Tamura.

        This patch is part of re-factoring of HTMLInputElement.cpp for numeric input type.
        In this patch, we move implementation of getAllowedValueStep and stepUp/stepUpFromRenderer
        to InputType class because of these are for DateTime/Number/Range.

        Following patches will change implementation of getAllowedValueStep to use StepRange and
        remove step related methods, defaultStep, stepScaleFactor, and so on.

        No new tests. This patch should not change behavior.

        * html/HTMLInputElement.cpp:
        (WebCore):
        (WebCore::HTMLInputElement::getAllowedValueStep):
        (WebCore::HTMLInputElement::stepUp):
        (WebCore::HTMLInputElement::stepDown):
        (WebCore::HTMLInputElement::stepUpFromRenderer):
        * html/HTMLInputElement.h:
        (HTMLInputElement):
        * html/InputType.cpp:
        (WebCore::InputType::applyStep):
        (WebCore):
        (WebCore::InputType::alignValueForStep):
        (WebCore::InputType::getAllowedValueStep):
        (WebCore::InputType::getAllowedValueStepWithDecimalPlaces):
        (WebCore::InputType::stepUp):
        (WebCore::InputType::stepUpFromRenderer):
        * html/InputType.h:
        (InputType):

2012-05-09  Kent Tamura  <tkent@chromium.org>

        Calendar Picker: Fix a crash by changing input type.
        https://bugs.webkit.org/show_bug.cgi?id=86007

        Reviewed by Hajime Morita.

        Manual test: forms/calendar-picker-crash-by-type-change.html

        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::CalendarPickerElement::~CalendarPickerElement):
        Added. Make sure the popup is closed.
        * html/shadow/CalendarPickerElement.h:
        (CalendarPickerElement): Add declaration of the destructor.

2012-05-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Move suspendAnimations to use Internals interface.
        https://bugs.webkit.org/show_bug.cgi?id=85986

        Reviewed by Ryosuke Niwa.

        Add suspendAnimations functions, because it is able to work in the
        cross-port way through the Internals interface.

        No new tests, since we are improving here the infra-structure for testing
        a specific method.

        * testing/Internals.cpp:
        (WebCore::Internals::suspendAnimations):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-05-09  Charlie Reis  <creis@chromium.org>

        Add dispatchMessageEventWithOriginCheck to DOMWindow
        https://bugs.webkit.org/show_bug.cgi?id=85815

        Reviewed by Adam Barth.

        Useful for ports that support cross-process postMessage.
        No new tests, since covered by existing postMessage tests.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessageTimerFired):
        (WebCore):
        (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
        * page/DOMWindow.h:
        (WebCore):
        (DOMWindow):

2012-05-09  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Cookie parsing issue. If the cookie value provided was (") then the browser creates a session cookie instead.
        https://bugs.webkit.org/show_bug.cgi?id=85775

        Reviewed by Rob Buis.

        Make CookieParser::parseOneCookie handle (cookiename="cookievalue;expires=xxxx) correctly.
        This cookie's value is "cookievalue not "cookievalue;expires=xxxx.

        Test: http/tests/cookies/single-quoted-value.html

        * platform/blackberry/CookieParser.cpp:
        (WebCore::CookieParser::parseOneCookie):

2012-05-09  Raymond Liu  <raymond.liu@intel.com>

        Add multi-channels support for CopyWithGainFrom in AudioBus
        https://bugs.webkit.org/show_bug.cgi?id=80675

        Reviewed by Chris Rogers.

        * platform/audio/AudioBus.cpp:
        (WebCore):
        (WebCore::AudioBus::AudioBus):
        (WebCore::AudioBus::copyWithGainFrom):
        * platform/audio/AudioBus.h:
        (AudioBus):

2012-05-09  Jessie Berlin  <jberlin@apple.com>

        Crash using the new WKBundleDOMWindowExtensions APIs.
        https://bugs.webkit.org/show_bug.cgi?id=85888

        Reviewed by Brady Eidson.

        WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback was only being invoked when
        the WKPage was destroyed, and then only for the child frames. In addition, the
        DOMWindowExtension was holding onto a destroyed DOMWindow and attempting to unregister from
        when the WK2 wrapper object was attempting to destroy the DOMWindowExtension.

        The underlying issue here was that the DOMWindowProperties were getting disconnectFrame
        and willDetachPage called on them at the wrong times.

        Rename DOMWindowProperty::disconnectFrame and reconnectFrame to disconnectFrameForPageCache
        and reconnectFrameFromPageCache for clarity.

        Only invoke DOMWindowProperty::disconnectFrameForPageCache when the frame is going into the
        page cache.

        In the cases where the DOMWindow is getting destroyed, the frame is being destroyed, or the
        DOMWindow is getting cleared because the frame is being navigated, invoke
        DOMWindowProperty::willDestroyGlobalObjectInFrame instead of disconnectFrame.

        Invoke DOMWindowProperty::willDetachGlobalObjectFromFrame when a document is being detached
        because the frame has been detached (e.g. fast/storage/storage-detached-iframe.html) and
        won't be immediately destroyed.

        Invoke DOMWindowProperty::willDestroyGlobalObjectInCachedFrame when a cached frame is
        being destroyed.

        New WK2 API Test: DOMWindowExtensionNoCache.

        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
        (WebCore::DOMWindowIndexedDatabase::disconnectFrameForPageCache):
        Updated for disconnectFrame rename.
        (WebCore::DOMWindowIndexedDatabase::reconnectFrameFromPageCache):
        Updated for reconnectFrame rename.
        (WebCore::DOMWindowIndexedDatabase::willDestroyGlobalObjectInCachedFrame):
        Get rid of the suspended IDBFactory.
        (WebCore::DOMWindowIndexedDatabase::willDestroyGlobalObjectInFrame):
        Get rid of the IDBFactory.
        (WebCore::DOMWindowIndexedDatabase::willDetachGlobalObjectFromFrame):
        Ditto.
        * Modules/indexeddb/DOMWindowIndexedDatabase.h:

        * dom/Document.cpp:
        (WebCore::Document::prepareForDestruction):
        Tell the DOMWindow before detaching the Document.
        * dom/Document.h:

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::destroy):
        Tell the DOMWindow.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::clear):
        Use Document::prepareForDestruction so that the DOMWindow is told about the main frame
        navigation before detaching the Document.

        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::disconnectFrameForPageCache):
        Updated for the disconnectFrame rename.
        (WebCore::DOMApplicationCache::reconnectFrameFromPageCache):
        Updated for the reconnectFrame rename.
        (WebCore::DOMApplicationCache::willDestroyGlobalObjectInFrame):
        Cover the cases formerly covered by disconnectFrame (which was sometimes being called when
        called when the frame was destroyed).
        * loader/appcache/DOMApplicationCache.h:

        * notifications/DOMWindowNotifications.cpp:
        (WebCore::DOMWindowNotifications::disconnectFrameForPageCache):
        Updated for the disconnectFrame rename.
        (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache):
        Updated for the reconnectFrame rename.
        (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInCachedFrame):
        Get rid of the suspended notification center.
        (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInFrame):
        Get rid of the notification center.
        (WebCore::DOMWindowNotifications::willDetachGlobalObjectFromFrame):
        Do not allow use of the notification center by detached frames.
        * notifications/DOMWindowNotifications.h:

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clearDOMWindowProperties):
        Do not call disconnectDOMWindowProperties. It is now the responsibility of the callers to
        tell the DOMWindowProperties the correct cause of being cleared.
        (WebCore::DOMWindow::~DOMWindow):
        Make sure the DOMWindowProperties still know that the DOMWindow is going away.
        (WebCore::DOMWindow::frameDestroyed):
        Invoke willDestroyGlobalObjectInFrame on the DOMWindowProperties.
        (WebCore::DOMWindow::willDetachPage):
        It is no longer necessary to tell the DOMWindowProperties anything here.
        (WebCore::DOMWindow::willDestroyCachedFrame):
        Tell the DOMWindowProperties.
        (WebCore::DOMWindow::willDestroyDocumentInFrame):
        Ditto.
        (WebCore::DOMWindow::willDetachDocumentFromFrame):
        Ditto.
        (WebCore::DOMWindow::clear):
        Ditto.
        (WebCore::DOMWindow::disconnectDOMWindowProperties):
        Updated for the disconnectFrame rename.
        (WebCore::DOMWindow::reconnectDOMWindowProperties):
        Ditto.
        * page/DOMWindow.h:

        * page/DOMWindowExtension.cpp:
        (WebCore::DOMWindowExtension::DOMWindowExtension):
        Move the responsibility for tracking the disconnected DOMWindow to DOMWindowProperty, since
        DOMWindowProperty will need it to unregister the property when a cached frame is destroyed.
        (WebCore::DOMWindowExtension::disconnectFrameForPageCache):
        Remove the code to check for disconnectFrame being called twice - it is now only called when
        a frame goes into the page cache.
        Let the DOMWindowProperty keep track of the disconnected DOMWindow.
        (WebCore::DOMWindowExtension::reconnectFrameFromPageCache):
        Let the DOMWindowProperty keep track of the disconnected DOMWindow.
        (WebCore::DOMWindowExtension::willDestroyGlobalObjectInCachedFrame):
        Dispatch the willDestroyGlobalObjectForDOMWindowExtension callback.
        (WebCore::DOMWindowExtension::willDestroyGlobalObjectInFrame):
        Ditto, but only if the callback hasn't already been sent because the frame has been detached.
        (WebCore::DOMWindowExtension::willDetachGlobalObjectFromFrame):
        Send the callback because nothing interesting can be done in the frame once it has been
        detached.
        * page/DOMWindowExtension.h:

        * page/DOMWindowProperty.cpp:
        (WebCore::DOMWindowProperty::DOMWindowProperty):
        Keep track of the disconnected DOMWindow so it can be used to unregister the property when a
        cached frame is destroyed.
        (WebCore::DOMWindowProperty::~DOMWindowProperty):
        Also unregister the property when a DOMWindowProperty for a cached frame is destroyed.
        (WebCore::DOMWindowProperty::disconnectFrameForPageCache):
        Keep track of the disconnected DOMWindow.
        (WebCore::DOMWindowProperty::reconnectFrameFromPageCache):
        Ditto.
        (WebCore::DOMWindowProperty::willDestroyGlobalObjectInCachedFrame):
        Unregister the property from the disconnected DOMWindow.
        (WebCore::DOMWindowProperty::willDestroyGlobalObjectInFrame):
        Unregister the property from the DOMWindow and stop keeping track of the frame.
        (WebCore::DOMWindowProperty::willDetachGlobalObjectFromFrame):
        Do not set m_frame to 0 because detached frames still have access to the DOMWindow, even if
        they can't do anything meaningful with it.
        * page/DOMWindowProperty.h:

        * page/Frame.cpp:
        (WebCore::Frame::setView):
        Tell the DOMWindow that the Document is being detached so it can tell the
        DOMWindowProperties.

        * page/PointerLock.cpp:
        (WebCore::PointerLock::disconnectFrameForPageCache):
        Updated for disconnectFrame rename.
        (WebCore::PointerLock::willDestroyGlobalObjectInFrame):
        Cover the cases formerly covered by disconnectFrame (which was sometimes being called when
        called when the frame was destroyed).
        * page/PointerLock.h:

2012-05-09  Ian Vollick  <vollick@chromium.org>

        [chromium] Ensure animations get ticked at least once when added.
        https://bugs.webkit.org/show_bug.cgi?id=86013

        Reviewed by James Robinson.

        Tested in
          CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThreaded
          CCLayerTreeHostTestAddAnimationWithTimingFunction.runSingleThreaded
          CCLayerTreeHostTestSynchronizeAnimationStartTimes.runSingleThreaded
          CCLayerTreeHostTestAnimationFinishedEvents.runSingleThreaded

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::addAnimation):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::didAddAnimation):
        (WebCore):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (CCSingleThreadProxyAnimationTimer):
        (WebCore::CCSingleThreadProxyAnimationTimer::create):
        (WebCore::CCSingleThreadProxyAnimationTimer::CCSingleThreadProxyAnimationTimer):
        (WebCore):
        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
        (WebCore::CCSingleThreadProxy::didAddAnimation):
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2012-05-09  Adam Barth  <abarth@webkit.org>

        Implement HTML Media Capture
        https://bugs.webkit.org/show_bug.cgi?id=85958

        Reviewed by Eric Seidel.

        This patch begins the implementation of
        http://www.w3.org/TR/html-media-capture/ by adding the capture
        attribute to HTMLInputElement.

        Test: fast/forms/file/file-input-capture.html

        * html/FileInputType.cpp:
        (WebCore::FileInputType::handleDOMActivateEvent):
        * html/HTMLAttributeNames.in:
        * html/HTMLInputElement.cpp:
        (WebCore):
        (WebCore::HTMLInputElement::capture):
        (WebCore::HTMLInputElement::setCapture):
        * html/HTMLInputElement.h:
        (HTMLInputElement):
        * html/HTMLInputElement.idl:
        * platform/FileChooser.h:
        (FileChooserSettings):

2012-05-09  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry]  Refactor data scheme support
        https://bugs.webkit.org/show_bug.cgi?id=85938

        Reviewed by Rob Buis.

        We will create a DataStream in our platform repository,
        so that can be wrapped up by NetworkJob for webkit rendering,
        and by DownloadStream for downloading.

        Refactor, no new tests.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::NetworkJob):
        (WebCore::NetworkJob::initialize):
        (WebCore::NetworkJob::cancelJob):
        (WebCore::NetworkJob::sendResponseIfNeeded):
        * platform/network/blackberry/NetworkJob.h:
        (NetworkJob):
        * platform/network/blackberry/NetworkManager.cpp:
        (WebCore::NetworkManager::startJob):

2012-05-09  Dana Jansens  <danakj@chromium.org>

        [chromium] Don't draw when canDraw() is false
        https://bugs.webkit.org/show_bug.cgi?id=85829

        Reviewed by Adrienne Walker.

        This is based on the work of Daniel Sievers in bug
        https://bugs.webkit.org/show_bug.cgi?id=82680. When canDraw() is false,
        we should not call drawLayers() or prepareToDraw() in both Single- and
        Multi-Threaded mode.

        drawLayers() is crashing in single threaded mode, and this attempts to
        prevent it from being called with invalid state. While making it behave
        properly in single-threaded mode, it seems appropriate to unrevert the
        parts of 82680 that made threaded mode behave similarly appropriately.

        A single-threaded test is not included since LTHTests is unable to run
        in single-threaded mode at this time (pending work from Ian Vollick). So
        we test in threaded mode only with a note to include a single thread
        version.

        Tests: CCLayerTreeHostTestCanDrawBlocksDrawing.runMultiThread

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):

2012-05-09  Martin Robinson  <mrobinson@igalia.com>

        [Cairo] GLContextGLX releases the context with an uninitialized display
        https://bugs.webkit.org/show_bug.cgi?id=86039

        Reviewed by Philippe Normand.

        No new tests. This does not change behavior on most machines, but has
        the potential to prevent a pretty nasty crash on others.

        Use the shared display to release GLX contexts instead of the uninitialized
        m_display member.

        * platform/graphics/glx/GLContextGLX.cpp:
        (WebCore::GLContextGLX::~GLContextGLX): Release the display with the shared
        display.
        * platform/graphics/glx/GLContextGLX.h:
        (GLContextGLX): Remove the m_display member.

2012-05-09  Tony Gentilcore  <tonyg@chromium.org>

        Subresources loaded after a reload completes shouldn't be revalidated.
        https://bugs.webkit.org/show_bug.cgi?id=84614

        Based on patch by Darin Fisher.

        Reviewed by Darin Fisher.

        Tests: http/tests/cache/loaded-from-cache-after-reload-within-iframe.html
               http/tests/cache/loaded-from-cache-after-reload.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Reset m_loadType after the load completes.

2012-05-09  Erik Arvidsson  <arv@chromium.org>

        [V8] Fix issue where V8BindingPerContextData could keep the context object alive
        https://bugs.webkit.org/show_bug.cgi?id=86036

        Reviewed by Kentaro Hara.

        This is a partial revert of http://trac.webkit.org/changeset/114320/. This keeps
        the layout tests that were introduced since it turns out that
        http://trac.webkit.org/changeset/114989 fixes the tests too.

        Covered by: http/tests/security/isolatedWorld/context-destroy.html

        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::destroy):

2012-05-09  Anders Carlsson  <andersca@apple.com>

        Speed up some parts of TileCache drawing
        https://bugs.webkit.org/show_bug.cgi?id=86033
        <rdar://problem/10919373>

        Reviewed by Sam Weinig.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::tileCoverageRect):
        If we can't have scrollbars, there's not much need to extend the tile coverage rect outside of the visible rect, since it's
        unlikely that we'll do any form of scrolling here.

        (WebCore::TileCache::revalidateTiles):
        Don't update the tile layer frame if it's big enough to contain the tile size. Also, if there are no new tiles created,
        don't call platformCALayerDidCreateTiles since that will trigger an extra layer flush.

2012-05-09  Alexandre Elias  <aelias@google.com>

        setPageScaleFactor should setScrollPosition if scale is unchanged
        https://bugs.webkit.org/show_bug.cgi?id=84400

        Reviewed by Adam Barth.

        Previously, setPageScaleFactor forgot about its "origin" argument if
        the page scale factor is unchanged.  This has proven undesirable in
        practice because, for example, a single pinch gesture may zoom in and
        back out to the original page scale factor, but at a different scroll
        offset.

        New test case added to scale-and-scroll-body-expected.txt

        * page/Page.cpp:
        (WebCore::Page::setPageScaleFactor):

2012-05-09  Hugo Parente Lima  <hugo.lima@openbossa.org>

        Use suitable viewport values on XHTML-MP pages.
        https://bugs.webkit.org/show_bug.cgi?id=85425

        Reviewed by Kenneth Rohde Christiansen.

        Tests: fast/viewport/viewport-legacy-xhtmlmp-misplaced-doctype.html
               fast/viewport/viewport-legacy-xhtmlmp-ordering.html
               fast/viewport/viewport-legacy-xhtmlmp.html

        Use device-width and device-height as viewport size on
        XHTML-MP pages if the use feature LEGACY_VIEWPORT_ADAPTION
        is set according as the non normative section of
        http://www.w3.org/TR/css-device-adapt/

        * dom/Document.cpp:
        (WebCore::Document::setDocType):

2012-05-09  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=86025
        RTL and vertical text documents do no scroll properly with the new 
        tiled scrolling model
        -and corresponding-
        <rdar://problem/11077589>

        Reviewed by Dan Bernstein.
        
        Most of the fix here is just to teach the scrolling tree about the 
        scroll origin.
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
        (WebCore::ScrollingCoordinator::setScrollParameters):
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollParameters):
        * page/scrolling/ScrollingTreeNode.cpp:
        (WebCore::ScrollingTreeNode::update):
        * page/scrolling/ScrollingTreeNode.h:
        (WebCore::ScrollingTreeNode::scrollOrigin):
        (ScrollingTreeNode):
        * page/scrolling/ScrollingTreeState.cpp:
        (WebCore::ScrollingTreeState::setScrollOrigin):
        (WebCore):
        * page/scrolling/ScrollingTreeState.h:
        (WebCore::ScrollingTreeState::scrollOrigin):
        (ScrollingTreeState):
        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::scrollPosition):
        (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
        (WebCore::ScrollingTreeNodeMac::minimumScrollPosition):
        (WebCore::ScrollingTreeNodeMac::maximumScrollPosition):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidScroll):

        Teaching the scrolling tree about the scroll origin revealed this pre-
        existing bug. layoutOverflowRect() is not the right rect to use since 
        it is not writing-mode savvy. unscaledDocumentRect() is the right rect 
        for the view's bounds.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateCompositedBounds):

2012-05-09  Rob Buis  <rwlbuis@webkit.org>

        Cleanup SVGElement.cpp
        https://bugs.webkit.org/show_bug.cgi?id=86004

        Reviewed by Eric Seidel.

        Remove unneeded includes. We do not need to check attr in SVGElement::attributeChanged,
        lower layers assume it is non-null and we do not call attributeChanged in SVG.

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::attributeChanged):
        (WebCore::SVGElement::isAnimatableAttribute):

2012-05-09  Jochen Eisinger  <jochen@chromium.org>

        When creating a new page during a navigation, prime the initial document with the correct referrer policy
        https://bugs.webkit.org/show_bug.cgi?id=86001

        Reviewed by Adam Barth.

        Test: http/tests/security/referrer-policy-redirect-link.html

        * dom/Document.h:
        (WebCore::Document::setReferrerPolicy):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):

2012-05-09  Alec Flett  <alecflett@chromium.org>

        IndexedDB: call abort handler when there are problems committing
        https://bugs.webkit.org/show_bug.cgi?id=85841

        Reviewed by Ojan Vafai.

        No new tests. Every existing test that calls commit() is testing
        the success side of this, and this only throws when there are
        LevelDB errors, which is exactly what we're trying to diagnose
        with this patch.

        * Modules/indexeddb/IDBBackingStore.h:
        (Transaction):
        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::deleteDatabase):
        (WebCore::IDBLevelDBBackingStore::Transaction::commit):
        * Modules/indexeddb/IDBLevelDBBackingStore.h:
        (Transaction):
        * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::commit):

2012-05-09  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove PlatformSupport::loadPlatformImageResource, call loadResource directly
        https://bugs.webkit.org/show_bug.cgi?id=84417

        Reviewed by Adam Barth.

        Part of a refactoring series. See tracking bug 82948.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/graphics/chromium/ImageChromium.cpp:
        (WebCore::Image::loadPlatformResource):
        * platform/graphics/chromium/ImageChromiumMac.mm: Removed.

2012-05-09  Rob Buis  <rbuis@rim.com>

        Remove some isSVGFoo methods
        https://bugs.webkit.org/show_bug.cgi?id=86009

        Reviewed by Eric Seidel.

        These are not used at the moment and were probably just copy and pasted from
        isSVGFoo methods in RenderObject.h.

        * rendering/RenderObject.h:
        * rendering/svg/RenderSVGEllipse.h:
        (RenderSVGEllipse):
        * rendering/svg/RenderSVGRect.h:
        (RenderSVGRect):
        * rendering/svg/RenderSVGShape.h:

2012-05-09  Ian Vollick  <vollick@chromium.org>

        [chromium] Add impl-thread support for fill-mode and direction css animation properties
        https://bugs.webkit.org/show_bug.cgi?id=77662

        Reviewed by James Robinson.

        Adds support for accelerating css animations with -webkit-animation-fill-mode,
        and -webkit-animation-direction properties.

        Tested in:
          CCActiveAnimationTest.TrimTimeAlternating
          CCLayerAnimationControllerTest.createReversedAnimation
          CCLayerAnimationControllerTest.createAlternatingAnimation
          CCLayerAnimationControllerTest.createReversedAlternatingAnimation

        * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
        (WebCore::CCActiveAnimation::CCActiveAnimation):
        (WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
        (WebCore::CCActiveAnimation::cloneForImplThread):
        * platform/graphics/chromium/cc/CCActiveAnimation.h:
        (CCActiveAnimation):
        (WebCore::CCActiveAnimation::alternatesDirection):
        (WebCore::CCActiveAnimation::setAlternatesDirection):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:

2012-05-09  Ken Buchanan  <kenrb@chromium.org>

        Crash from removal of a line break object
        https://bugs.webkit.org/show_bug.cgi?id=85997

        Reviewed by David Hyatt.

        Regression from r115343. That replaced a call to setNeedsLayout()
        with a separate call that used a different bit during linebox
        invalidation after renderer child removal. There are special cases
        where layout isn't marked on parent nodes just from the removal, so
        line dirtying needs to explicitly mark ancestors for layout.

        * rendering/RenderObject.h:
        (WebCore::RenderObject::setAncestorLineBoxDirty):

2012-05-09  Levi Weintraub  <leviw@chromium.org>

        Fix performance regression for floats caused by LayoutUnit change
        https://bugs.webkit.org/show_bug.cgi?id=85834

        Reviewed by Ojan Vafai.

        Refactoring FractionalLayout types to alleviate performance issues. Explicitly
        inlining constructor and operator functions in FractionalLayoutUnit, as well as
        pixelSnappedIntSize and pixelSnappedIntRect (particularly hot code paths). Also
        further simplifying round and ceil functions when sub-pixel layout is not enabled.

        pixelSnappedIntSize was the only function defined in FractionalLayoutSize.cpp,
        so it is removed.

        No new tests. No change in functionality.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/FractionalLayoutUnit.h:
        (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
        (FractionalLayoutUnit):
        (WebCore::FractionalLayoutUnit::toInt):
        (WebCore::FractionalLayoutUnit::toFloat):
        (WebCore::FractionalLayoutUnit::toDouble):
        (WebCore::FractionalLayoutUnit::toUnsigned):
        (WebCore::FractionalLayoutUnit::operator int):
        (WebCore::FractionalLayoutUnit::operator unsigned):
        (WebCore::FractionalLayoutUnit::operator float):
        (WebCore::FractionalLayoutUnit::operator double):
        (WebCore::FractionalLayoutUnit::operator bool):
        (WebCore::FractionalLayoutUnit::ceil):
        (WebCore::FractionalLayoutUnit::round):
        * platform/graphics/FractionalLayoutRect.cpp:
        (WebCore):
        * platform/graphics/FractionalLayoutRect.h:
        (WebCore::FractionalLayoutRect::pixelSnappedSize):
        (WebCore::pixelSnappedIntRect):
        (WebCore):
        * platform/graphics/FractionalLayoutSize.cpp: Removed.
        * platform/graphics/FractionalLayoutSize.h:
        (WebCore):
        * rendering/LayoutTypes.h:
        (WebCore::pixelSnappedIntSize):
        (WebCore):

2012-05-09  Abhishek Arya  <inferno@chromium.org>

        Crash in ReplaceSelectionCommand::performTrivialReplace
        https://bugs.webkit.org/show_bug.cgi?id=85943

        Reviewed by Ryosuke Niwa.

        RefPtr nodeAfterInsertionPos to guard against mutation events.

        Test: editing/inserting/insert-html-crash.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::performTrivialReplace):

2012-05-03  Shawn Singh  <shawnsingh@chromium.org>

        Hit testing is incorrect in some cases with perspective transforms
        https://bugs.webkit.org/show_bug.cgi?id=79136

        Reviewed by Simon Fraser.

        Tests: transforms/3d/hit-testing/coplanar-with-camera.html
               transforms/3d/hit-testing/perspective-clipped.html

        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::TransformationMatrix::projectPoint): Fix a
        divide-by-zero error so that values do not become Inf or Nan. Also
        fix an overflow error by using a large, but not-too-large constant
        to represent infinity.

        (WebCore::TransformationMatrix::projectQuad): Fix an error where
        incorrect quads were being returned. Incorrect quads can occur
        when projectPoint clamped==true after returning.

2012-05-09  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Simplify CSSParser::parseSimpleLengthValue()
        https://bugs.webkit.org/show_bug.cgi?id=85910

        Reviewed by Alexis Menard.

        Various small improvements to this function, mainly:
        - Move the check if the property ID accepts a simple length as early as possible;
        - Remove the check for the characters{8,16} pointers since they'll be valid (we ASSERT that);
        - Use a template to avoid duplicate code for 8 and 16 bit characters.

        * css/CSSParser.cpp:
        (WebCore):
        (WebCore::parseSimpleLength):
        (WebCore::parseSimpleLengthValue):

2012-05-09  Ami Fischman  <fischman@chromium.org>

        [chromium] Support multiple buffered time ranges
        https://bugs.webkit.org/show_bug.cgi?id=85926

        Reviewed by Eric Carlson.

        Preserve existing rendering of a single rect even in the presence of multiple buffered regions.

        No new tests as this change has no functional effects.

        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::paintMediaSlider):

2012-05-09  Dana Jansens  <danakj@chromium.org>

        Early-out and avoid any copying when possible for Region operations
        https://bugs.webkit.org/show_bug.cgi?id=85260

        Reviewed by Anders Carlsson.

        For an empty region, any intersection or subtraction will not modify
        the region, so we can simply return instead of creating a new Shape
        and replacing the current empty Shape.

        When a region is united with a region it contains, the orignal
        containing region is the result. So, if A.unite(B) and A.contains(B)
        then A does not need to change at all and we can return without making
        a copy of A's shape. When A is a rect, we can do this test even more
        simply.

        We also remove redundant checks from trySimpleOperation() methods, where
        the test is already done in the Region calling site.

        This change improves the performance of the Region overlap testing for
        composited layers, and allows us to avoid unnecessary copies of the
        Region during unite. With a layout test (attached to bug #81087), that
        creates a Region from the union of 225 composited layers, as well as
        600 overlapping layers above them, this change decreases the running
        time of the test by 3.2% by avoiding a copy of the entire Region for
        each insertion that does not change the resulting Region.

        Unit tests: RegionTest.unite

        * platform/graphics/Region.cpp:
        (WebCore::Region::Shape::UnionOperation::trySimpleOperation):
        (WebCore::Region::Shape::IntersectOperation::trySimpleOperation):
        (WebCore::Region::Shape::SubtractOperation::trySimpleOperation):
        (WebCore::Region::intersect):
        (WebCore::Region::unite):
        (WebCore::Region::subtract):
        * platform/graphics/Region.h:
        (WebCore::Region::isRect):
        (WebCore::Region::Shape::isRect):

2012-05-09  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: SessionDescription::addCandidate should not crash for malformed input
        https://bugs.webkit.org/show_bug.cgi?id=85988

        Reviewed by Adam Barth.

        Sending null would crash the browser. Added safeguards in both the bindings and the native code.

        Test: fast/mediastream/SessionDescription.html

        * Modules/mediastream/SessionDescription.cpp:
        (WebCore::SessionDescription::addCandidate):
        * Modules/mediastream/SessionDescription.h:
        (SessionDescription):
        * Modules/mediastream/SessionDescription.idl:

2012-05-09  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Adding the possibility of port specific information in MediaStreamDescriptor
        https://bugs.webkit.org/show_bug.cgi?id=85794

        Reviewed by Adam Barth.

        To facilitate for ports I have added an ExtraData field that can be used for whatever purpose is needed.

        No behavioral changes.

        * platform/chromium/support/WebMediaStreamDescriptor.cpp:
        (ExtraDataContainer):
        (WebKit::ExtraDataContainer::ExtraDataContainer):
        (WebKit::ExtraDataContainer::extraData):
        (WebKit):
        (WebKit::WebMediaStreamDescriptor::extraData):
        (WebKit::WebMediaStreamDescriptor::setExtraData):
        * platform/mediastream/MediaStreamDescriptor.h:
        (ExtraData):
        (WebCore::MediaStreamDescriptor::ExtraData::~ExtraData):
        (MediaStreamDescriptor):
        (WebCore::MediaStreamDescriptor::extraData):
        (WebCore::MediaStreamDescriptor::setExtraData):

2012-05-09  Takashi Sakamoto  <tasak@google.com>

        Crash in WebCore::RenderBoxModelObject::paddingLeft
        https://bugs.webkit.org/show_bug.cgi?id=83889

        Reviewed by Abhishek Arya.

        RenderScrollbar creates RenderScrollbarPart without any parent
        renderers. However, if the scrollbar has percent padding styles,
        non-null parent renderer is required. So after creating/destroying
        RenderScrollbarPart instances, set owningRenderer(creating)/0
        (destroying) as its parent renderer.

        Test: scrollbars/scrollbar-percent-padding-crash.html
              scrollbars/scrollbar-percent-padding-crash-expected.txt

        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::updateScrollbarPart):
        Added setParent after creating/destroying RenderScrollbarPart.
        * rendering/RenderScrollbarPart.cpp:
        Made RenderScollbar friend, because setParent is protected and
        RenderScrollbar is not inherited from class RenderObject.

2012-05-09  Takashi Sakamoto  <tasak@google.com>

        ShadowRoot needs applyAuthorStyles
        https://bugs.webkit.org/show_bug.cgi?id=78472

        Reviewed by Hajime Morita.

        Implemented applyAuthorStyles attribute defined in the following spec:
        http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-root-attributes
        Since applyAuthorSheets attribute has been already implemented,
        renamed all applyAuthorSheets to applyAuthorStyles and
        added applyAuthorStyles to ShadowRoot.idl.
        Currently, changing dynamically applyAuthorStyles doesn't work. I will fix this isse in bugs:84215: https://bugs.webkit.org/show_bug.cgi?id=84251

        Test: fast/dom/shadow/shadow-root-applyAuthorStyles.html
              fast/dom/shadow/shadow-root-applyAuthorStyles-expected.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::ShadowRoot):
        (WebCore::ShadowRoot::applyAuthorStyles):
        (WebCore::ShadowRoot::setApplyAuthorStyles):
        * dom/ShadowRoot.h:
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::applyAuthorStyles):
        * dom/TreeScope.h:
        (TreeScope):
        Changed all applyAuthorSheets to applyAuthorSytles.
        (ShadowRoot):
        * dom/ShadowRoot.idl:
        Added a new attribute, boolean applyAuthorStyles.

2012-05-09  Yoshifumi Inoue  <yosin@chromium.org>

        [Chromium][Forms] HTMLOptionsCollection doesn't have indexed properties on property enumeration
        https://bugs.webkit.org/show_bug.cgi?id=85937

        Reviewed by Kentaro Hara.

        This patch adds numeric indices to properties in enumeration to HTMLOptionsCollection V8 binding
        to changes Objects.keys in ECMAScript5 and for-in statement behavior for compatibility with
        Firefox 12, IE9, Opera 11, and Safari 5.

        Test: fast/forms/select/options-indexed-properties.html

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateImplementationIndexer): Set $hasEnumerator true for interface HTMLOptionsCollection

2012-05-09  Shinya Kawanaka  <shinyak@chromium.org>

        Position should be able to have ShadowRoot as a container.
        https://bugs.webkit.org/show_bug.cgi?id=82021

        Reviewed by Ryosuke Niwa.

        Since Position could not take a shadow root as a container node, pointing the direct children
        of a shadow root was difficult.

        This patch makes it enabled, and fixes a lot of crashes caused by that limitation.
        Also, we confirm that ShadowRoot is not exposed to JavaScript layer.

        Currently this change is only enabled if shadow dom flag is enabled, since we cannot
        prove this change does not destroy the existing behavior. However, this change is really required
        to fix other editing bugs in Shadow DOM. A bunch of patches and tests will be added to
        fix other editing bugs and they will check this patch does not break editing.
        We will also add a fuzzer to check the stability of editing in Shadow DOM later, and it will
        also help to confirm the patch will not break the editing.

        Tests: editing/shadow/doubleclick-on-meter-in-shadow-crash.html
               editing/shadow/rightclick-on-meter-in-shadow-crash.html
               editing/shadow/shadow-selection-not-exported.html

        * dom/Position.cpp:
        (WebCore::Position::Position):
        (WebCore::Position::containerNode):
        (WebCore::Position::parentAnchoredEquivalent):
        (WebCore::Position::previous):
        (WebCore::Position::next):
        (WebCore::Position::atStartOfTree):
        (WebCore::Position::atEndOfTree):
        (WebCore::Position::findParent):
        * dom/Position.h:
        (WebCore):
        (WebCore::positionInParentBeforeNode):
        (WebCore::positionInParentAfterNode):

2012-05-09  Zoltan Horvath  <zoltan@webkit.org>

        [Qt] Build fix when using libpng version != 1.2
        https://bugs.webkit.org/show_bug.cgi?id=85614

        Reviewed by Eric Seidel.

        Don't enforce the version of libpng when passing the option to the linker.

        No new tests, no intended functionality change.

        * WebCore.pri:

2012-05-09  Oli Lan  <olilan@chromium.org>

        Add identifying methods for date/time input types.

        This patch adds methods isDateField(), isDateTimeField(), isDateTimeLocalField(),
        isMonthField(), isTimeField() and isWeekField() to InputType and the appropriate
        HTMLInputElement classes, to allow date/time input types to be identified.

        The new methods match the existing methods for types such as email, search and number.

        https://bugs.webkit.org/show_bug.cgi?id=78746

        Reviewed by Kent Tamura.

        A new test WebViewTest.TextInputType has been added in WebKit/chromium/tests that calls
        through to these methods via WebViewImpl.textInputType().

        * html/DateInputType.cpp:
        (WebCore::DateInputType::isDateField):
        (WebCore):
        * html/DateInputType.h:
        (DateInputType):
        * html/DateTimeInputType.cpp:
        (WebCore::DateTimeInputType::isDateTimeField):
        (WebCore):
        * html/DateTimeInputType.h:
        (DateTimeInputType):
        * html/DateTimeLocalInputType.cpp:
        (WebCore::DateTimeLocalInputType::isDateTimeLocalField):
        (WebCore):
        * html/DateTimeLocalInputType.h:
        (DateTimeLocalInputType):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isDateField):
        (WebCore):
        (WebCore::HTMLInputElement::isDateTimeField):
        (WebCore::HTMLInputElement::isDateTimeLocalField):
        (WebCore::HTMLInputElement::isMonthField):
        (WebCore::HTMLInputElement::isTimeField):
        (WebCore::HTMLInputElement::isWeekField):
        * html/HTMLInputElement.h:
        (HTMLInputElement):
        * html/InputType.cpp:
        (WebCore::InputType::isDateField):
        (WebCore):
        (WebCore::InputType::isDateTimeField):
        (WebCore::InputType::isDateTimeLocalField):
        (WebCore::InputType::isMonthField):
        (WebCore::InputType::isTimeField):
        (WebCore::InputType::isWeekField):
        * html/InputType.h:
        (InputType):
        * html/MonthInputType.cpp:
        (WebCore::MonthInputType::isMonthField):
        (WebCore):
        * html/MonthInputType.h:
        (MonthInputType):
        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::isTimeField):
        (WebCore):
        * html/TimeInputType.h:
        (TimeInputType):
        * html/WeekInputType.cpp:
        (WebCore::WeekInputType::isWeekField):
        (WebCore):
        * html/WeekInputType.h:
        (WeekInputType):

2012-05-09  Nikolas Zimmermann  <nzimmermann@rim.com>

        REGRESSION(r105057): Infinite loop inside SVGTextLayoutEngine::currentLogicalCharacterMetrics
        https://bugs.webkit.org/show_bug.cgi?id=83405

        Reviewed by Darin Adler.

        Dynamically adding tspans carrying position information in the x/y/dx/dy/rotate lists is broken.
        To avoid mistakes like this in future, simplify the calling code in RenderSVGInlineText and centralize
        the managment of all caches (text positioning element cache / metrics map / layout attributes) in
        RenderSVGText. This avoids the hack in SVGRootInlineBox::computePerCharacterLayoutInformation() which
        called textRoot->rebuildLayoutAttributes(), which was used to fix previous security issues with this code.
        Instead correctly handle destruction of RenderSVGInlineText in RenderSVGText, keeping the m_layoutAttributes
        synchronized with the current state of the render tree. Fixes highcharts problems.

        Tests: svg/text/add-tspan-position-bug.html
               svg/text/modify-tspan-position-bug.html

        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::addChild):
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::willBeDestroyed):
        (WebCore::RenderSVGInlineText::setTextInternal):
        (WebCore::RenderSVGInlineText::styleDidChange):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::recursiveUpdateMetrics):
        (WebCore::RenderSVGText::subtreeChildAdded):
        (WebCore::RenderSVGText::subtreeChildWillBeDestroyed):
        (WebCore::recursiveCollectLayoutAttributes):
        (WebCore::checkLayoutAttributesConsistency):
        (WebCore::RenderSVGText::subtreeChildWasDestroyed):
        (WebCore::RenderSVGText::subtreeStyleChanged):
        (WebCore::RenderSVGText::subtreeTextChanged):
        (WebCore::RenderSVGText::layout):
        (WebCore::RenderSVGText::addChild):
        (WebCore::RenderSVGText::rebuildAllLayoutAttributes):
        (WebCore::RenderSVGText::rebuildLayoutAttributes):
        * rendering/svg/RenderSVGText.h:
        (WebCore::RenderSVGText::layoutAttributes):
        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributes):

2012-05-08  Dongwoo Im  <dw.im@samsung.com>

        NavigatorRegisterProtocolHandler can call ChromeClient directly.
        https://bugs.webkit.org/show_bug.cgi?id=85944

        Reviewed by Adam Barth.

        Covered by fast/dom/register-protocol-handler.html

        * page/Chrome.cpp: Remove registerProtocolHandler function.
        * page/Chrome.h: Remove registerProtocolHandler prototype.
        (Chrome):
        * page/NavigatorRegisterProtocolHandler.cpp: Call ChromeClient::registerProtocolHandler directly.
        (WebCore::NavigatorRegisterProtocolHandler::registerProtocolHandler):

2012-05-08  Mario Sanchez Prada  <msanchez@igalia.com>

        Coding style issues present in RenderFrameSet.cpp
        https://bugs.webkit.org/show_bug.cgi?id=85955

        Reviewed by Eric Seidel.

        Just fixed those coding style issues.

        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::GridAxis::resize):
        (WebCore::RenderFrameSet::layOutAxis):
        (WebCore::RenderFrameSet::continueResizing):

2012-05-08  Jon Lee  <jonlee@apple.com>

        Unreviewed build fix.

        * platform/mac/WebCoreSystemInterface.h:

2012-05-08  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Auth credentials set in private mode are reused in public mode.
        https://bugs.webkit.org/show_bug.cgi?id=84697

        Reviewed by Rob Buis.

        Add setPrivateMode function for CredentialStorage.

        Now, we only save credentials in memory and CredentialBackingStore isn't enabled.
        When we set private mode from on to off, we clear all these temporary credentials.

        We have to change Private Browsing to test, so have to write a manual test case.
        Test: ManualTests/blackberry/http-auth-private-mode-changed.html

        * network/CredentialStorage.cpp:
        (WebCore::CredentialStorage::setPrivateMode):
        (WebCore):
        * platform/network/CredentialStorage.h:
        (CredentialStorage):

2012-05-08  Rakesh KN  <rakesh.kn@motorola.com>

        RadioNodeList support in HTMLFormElement::elements
        https://bugs.webkit.org/show_bug.cgi?id=81854

        Reviewed by Ryosuke Niwa.

        Implement RadioNodeList support spec'ed at
        http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#radionodelist

        Test: fast/forms/form-collection-radio-node-list.html

        * CMakeLists.txt:
        Added entries for new files.
        * DerivedSources.cpp: Ditto.
        * DerivedSources.make: Ditto.
        * DerivedSources.pri: Ditto.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        Modified to create RadioNodeList object when FormControlCollection has more than
        one element of same name/id.
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        Added code to include Node.h and JSNode.h in JSRadioNodeElement.cpp.
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        Modified to create RadioNodeList object when FormControlCollection has more than
        one element of same name/id.
        * dom/Node.cpp:
        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
        Invalidate lists even for change in id, type, checked attributes.
        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
        Invalidate radioNodeList cache.
        (WebCore::NodeListsNodeData::isEmpty):
        Changes for radioNodeList.
        (WebCore::Node::radioNodeList):
        Creates if needed a RadioNodeList and adds it to the cache.
        (WebCore::Node::removeCachedRadioNodeList):
        Removes a cached radioNodeList.
        * dom/Node.h: Ditto
        * dom/NodeRareData.h:
        (WebCore):
        (NodeListsNodeData):
        Added radioNodeList list.
        * html/CollectionType.h:
        Added new FormControls type.
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::shouldIncludeChildren):
        (WebCore::HTMLCollection::isAcceptableElement):
        Handle FormControls collection type.
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::HTMLFormCollection):
        Contruct collection of FormControls type.
        * html/RadioNodeList.cpp: Added.
        (WebCore):
        (WebCore::RadioNodeList::RadioNodeList):
        (WebCore::RadioNodeList::~RadioNodeList):
        (WebCore::toRadioButtonInputElement):
        (WebCore::RadioNodeList::value):
        (WebCore::RadioNodeList::setValue):
        (WebCore::RadioNodeList::nodeMatches):
        * html/RadioNodeList.h: Added.
        (WebCore):
        (RadioNodeList):
        (WebCore::RadioNodeList::create):
        RadioNodeList implementation.
        * html/RadioNodeList.idl: Added.
        Idl for generating RadioNodeList JS/V8 bindings.

2012-05-08  Benjamin Poulain  <bpoulain@apple.com>

        [JSC] Regression: addEventListener() and removeEventListener() raise an exception on missing args
        https://bugs.webkit.org/show_bug.cgi?id=85928

        Reviewed by Geoffrey Garen.

        The functions addEventListener() and removeEventListener() raise an exception if there are missin arguments.
        This behavior breaks existing content.

        This patch change the code generator of JavaScript core to have an exception for addEventListener() and removeEventListener().
        For those function, we do not raise an exception on missin argument.

        This patch does not modify the V8 code generator because such exceptions are already in place there.

        Tests: fast/dom/Window/window-legacy-event-listener.html
               fast/dom/XMLHttpRequest-legacy-event-listener.html
               fast/dom/node-legacy-event-listener.html

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):

2012-05-08  Chris Rogers  <crogers@google.com>

        AudioParam should directly be given context in create() method
        https://bugs.webkit.org/show_bug.cgi?id=85905

        Reviewed by James Robinson.

        No new tests.  This is a low-level re-factoring and is covered by existing tests.

        * Modules/webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
        * Modules/webaudio/AudioGain.h:
        (WebCore::AudioGain::create):
        (WebCore::AudioGain::AudioGain):
        * Modules/webaudio/AudioGainNode.cpp:
        (WebCore::AudioGainNode::AudioGainNode):
        * Modules/webaudio/AudioPannerNode.cpp:
        (WebCore::AudioPannerNode::AudioPannerNode):
        * Modules/webaudio/AudioParam.h:
        (WebCore::AudioParam::create):
        (AudioParam):
        (WebCore::AudioParam::AudioParam):
        * Modules/webaudio/BiquadFilterNode.cpp:
        (WebCore::BiquadFilterNode::BiquadFilterNode):
        * Modules/webaudio/BiquadProcessor.cpp:
        (WebCore::BiquadProcessor::BiquadProcessor):
        * Modules/webaudio/BiquadProcessor.h:
        * Modules/webaudio/DelayNode.cpp:
        (WebCore::DelayNode::DelayNode):
        * Modules/webaudio/DelayProcessor.cpp:
        (WebCore::DelayProcessor::DelayProcessor):
        * Modules/webaudio/DelayProcessor.h:
        (DelayProcessor):
        * Modules/webaudio/DynamicsCompressorNode.cpp:
        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
        * Modules/webaudio/Oscillator.cpp:
        (WebCore::Oscillator::Oscillator):

2012-05-08  Dana Jansens  <danakj@chromium.org>

        [chromium] Show borders for partial-draw-culled quads to visualize culling behaviour
        https://bugs.webkit.org/show_bug.cgi?id=85414

        Reviewed by Adrienne Walker.

        The borders are brown, and are only shown when the quad's visible rect
        is non-empty and is different from the quad's original rect.

        Adds a flag to CCQuadCuller constructor, to enable showing debug borders
        around what it leaves after culling (when it culls anything in a quad
        at all).

        * platform/graphics/chromium/cc/CCDrawQuad.h:
        (WebCore::CCDrawQuad::isDebugQuad):
        (WebCore::CCDrawQuad::sharedQuadState):
        (CCDrawQuad):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore):
        (WebCore::CCQuadCuller::CCQuadCuller):
        (WebCore::appendQuadInternal):
        (WebCore::CCQuadCuller::append):
        (WebCore::CCQuadCuller::appendSurface):
        (WebCore::CCQuadCuller::appendReplica):
        * platform/graphics/chromium/cc/CCQuadCuller.h:
        (CCQuadCuller):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsForLayer):
        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):

2012-05-08  Julien Chaffraix  <jchaffraix@webkit.org>

        Move RenderLayers z-index lists dirtying to post style change
        https://bugs.webkit.org/show_bug.cgi?id=85437

        Reviewed by Darin Adler.

        No expected change in behavior.

        This change moves the z-order lists to RenderLayer::styleChanged. As part of this
        change, also added proper handling of stacking context transition. This enabled
        us to tighten more of the dirtyZOrderLists / clearZOrderLists code.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::styleWillChange):
        Removed this code, moved to updateStackingContextsAfterStyleChange.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        Only stacking contexts start with dirty z-order lists.

        (WebCore::RenderLayer::dirtyZOrderLists):
        Added an ASSERT.

        (WebCore::RenderLayer::updateStackingContextsAfterStyleChange):
        Refactored the code to handle the transition between stacking context status.

        (WebCore::RenderLayer::styleChanged):
        Added a call to updateStackingContextsAfterStyleChange.

        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::isStackingContext):
        Added a call to the next function.

        (WebCore::RenderLayer::layerWithStyleIsStackingContext):
        Factored the isStackingContext logic here so that we can reuse it inside
        updateStackingContextsAfterStyleChange.

        (WebCore::RenderLayer::clearZOrderLists):
        Added an ASSERT.

2012-05-08  Abhishek Arya  <inferno@chromium.org>

        Crash due to owning renderer not removed from custom scrollbar.
        https://bugs.webkit.org/show_bug.cgi?id=80610

        Reviewed by Eric Seidel.

        Test: scrollbars/scrollbar-owning-renderer-crash.html

        Changed RenderScrollbar to keep pointer to owning node, instead of the
        renderer. Renderer can get destroyed without informing the scrollbar, causing
        crashes later. Remove code from r94107 since it is not needed anymore and saves
        times when RenderBox is getting destroyed.

        * page/FrameView.cpp:
        (WebCore::FrameView::createScrollbar): pass renderer's node.
        * page/FrameView.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::willBeDestroyed): no longer need this. came originally from r94107.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::createScrollbar): pass renderer's node.
        (WebCore::RenderLayer::destroyScrollbar): no longer need to clear owning renderer.
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::createScrollbar): pass renderer's node.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::createScrollbar): pass renderer's node.
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::createCustomScrollbar): Store owner node instead of renderer.
        (WebCore::RenderScrollbar::RenderScrollbar): Store owner node instead of renderer.
        (WebCore::RenderScrollbar::owningRenderer): calculate owning renderer from owner node.
        * rendering/RenderScrollbar.h:
        (RenderScrollbar):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createScrollbar): pass renderer's node.

2012-05-08  Jon Lee  <jonlee@apple.com>

        Safari warns that it needs to resend the form in an iFrame when going back
        https://bugs.webkit.org/show_bug.cgi?id=82658
        <rdar://problem/11292558>

        Reviewed by Darin Adler.

        Test: http/tests/loading/post-in-iframe-with-back-navigation.html

        * WebCore.exp.in: Add _wkCFURLRequestAllowAllPostCaching.
        * platform/mac/WebCoreSystemInterface.h: Add wkCFURLRequestAllowAllPostCaching.
        * platform/mac/WebCoreSystemInterface.mm: Add wkCFURLRequestAllowAllPostCaching.
        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the bit to cache all POST responses.
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the bit to cache all POST responses.

2012-05-08  Dana Jansens  <danakj@chromium.org>

        [chromium] Reflections with masks should not occlude
        https://bugs.webkit.org/show_bug.cgi?id=85927

        Reviewed by James Robinson.

        When a surface does not have a mask, we make both it and its reflection
        occlude the things below them. However, if the reflection has a mask
        applied to it, then we should not consider it as occluding.

        Adds replicaHasMask() to the render surface classes so we can test if
        the mask is present.

        Unit Tests: CCOcclusionTrackerTestReplicaWithMask

        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::hasMask):
        This is unusued right now, but will allow us to remove a FIXME from
        CCOcclusionTracker::finishedTargetRenderSurface().
        (WebCore):
        (WebCore::RenderSurfaceChromium::replicaHasMask):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (RenderSurfaceChromium):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::::leaveToTargetRenderSurface):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::hasMask):
        This is unusued right now, but will allow us to remove a FIXME from
        CCOcclusionTracker::finishedTargetRenderSurface().
        (WebCore):
        (WebCore::CCRenderSurface::replicaHasMask):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (CCRenderSurface):

2012-05-08  Eric Seidel  <eric@webkit.org>

        Add stylesheet inheritance support to IFRAME_SEAMLESS
        https://bugs.webkit.org/show_bug.cgi?id=85914

        Reviewed by Ojan Vafai.

        This work is already guarded by IFRAME_SEAMLESS, as
        Document::shouldDisplaySeamlesslyWithParent always returns false
        when IFRAME_SEAMLESS is off.

        This makes the child document use all author stylesheets from all parent documents,
        per the seamless spec:
        http://www.whatwg.org/specs/web-apps/current-work/#attr-iframe-seamless

        This support is slightly inefficient as every time a sheet is added
        to a parent document, the child document must do a full style selector recalc.
        Normally author sheet additions have a fast-path which avoids the full selector recalc,
        but such is not possible in the seamless case as we're inserting the parents sheets
        earlier in the child's cascade (instead of just appending them to the end of the list).

        The test covers both the static inheritance as well as addition of a stylesheet
        to the parent and testing that it caused a recalc of the child.

        Covered by fast/frames/seamless/seamless-css-cascade.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::StyleResolver):
        (WebCore::StyleResolver::addStylesheetsFromSeamlessParents):
        (WebCore):
        * css/StyleResolver.h:
        (StyleResolver):
        * dom/Document.cpp:
        (WebCore::Document::seamlessParentUpdatedStylesheets):
        (WebCore):
        (WebCore::Document::notifySeamlessChildDocumentsOfStylesheetUpdate):
        (WebCore::Document::updateActiveStylesheets):
        * dom/Document.h:
        (Document):

2012-05-08  Raphael Kubo da Costa  <rakuco@webkit.org>

        [CMake] FindGStreamer: Fix the build with static WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=85930

        Reviewed by Daniel Bates.

        No new tests, build fix.

        Building WebCore statically was failing because files in
        WebCore/platform/gstreamer when ENABLE_VIDEO was set required
        gstreamer-base, which was not being linked to after r116453.

        Fix that by looking for gstreamer-base, requiring and linking
        against it if GStreamer is used.

        * PlatformEfl.cmake: Link to GSTREAMER_LIBRARIES and
        GSTREAMER_BASE_LIBRARIES, and include GSTREAMER_INCLUDE_DIRS and
        GSTREAMER_BASE_INCLUDE_DIRS.

2012-05-08  Raymond Toy  <rtoy@google.com>

        JavaScriptAudioNode should not ASSERT if number of input channels is 0
        https://bugs.webkit.org/show_bug.cgi?id=85818

        Reviewed by Eric Seidel.

        Test: webaudio/javascriptaudionode-zero-input-channels.html

        * Modules/webaudio/JavaScriptAudioNode.cpp:
        (WebCore::JavaScriptAudioNode::process): Update buffersAreGood.
        (WebCore::JavaScriptAudioNode::fireProcessEvent): Remove ASSERT.

2012-05-08  Dana Jansens  <danakj@chromium.org>

        Region reads past end of spans
        https://bugs.webkit.org/show_bug.cgi?id=85909

        Reviewed by Anders Carlsson.

        Region currently checks aSpan == aSpanEnd as the indicator that
        we passed all the spans. When aSpan < aSpanEnd, it uses aSpan+1
        to find the height of the span.

        If aSpan == aSpanEnd - 1, then aSpan+1 == aSpanEnd. This does not
        represent a valid span, since aSpanEnd is past the end of the
        array, not the last element in the array. The loop should terminate
        in this case.

        Checking aSegment != aSegmentEnd is acceptable in the inner loop since
        it increments by two each time (segments come in pairs, while spans
        come in singles).

        Test: RegionTest.ReadPastFullSpanVectorInIntersectsTest

        * platform/graphics/Region.cpp:
        (WebCore::Region::Shape::compareShapes):

2012-05-08  Philip Rogers  <pdr@google.com>

        Prevent crash in animated lists
        https://bugs.webkit.org/show_bug.cgi?id=85382

        Reviewed by Nikolas Zimmermann.

        Animated lists blindly assign the last list value to m_toAtEndOfDurationType
        in SVGAnimationElement::startedActiveInterval. If the last list value's length
        is larger or smaller than the animated "to" length, we crash.

        This change prevents accessing values off the end of toAtEndOfDuration by adding
        a check for this case. It may seem inefficient to perform this check on every
        animation update but the "to" value can change (in cardinality) while animating.

        I checked each of the other animation types (e.g., SVGAnimatedAngle,
        SVGAnimatedBoolean, etc.) and was only able to hit this style of crash
        in the three types modified in this change:
        SVGAnimatedLengthList, SVGAnimatedNumberList, and SVGAnimatedPointList.

        Tests: svg/animations/animate-linear-discrete-additive-b-expected.svg
               svg/animations/animate-linear-discrete-additive-b.svg
               svg/animations/animate-linear-discrete-additive-c-expected.svg
               svg/animations/animate-linear-discrete-additive-c.svg
               svg/animations/animate-linear-discrete-additive-expected.svg
               svg/animations/animate-linear-discrete-additive.svg
               svg/animations/animate-list-crash.svg

        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPointList.cpp:
        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):

2012-05-08  Rafael Weinstein  <rafaelw@chromium.org>

        HTMLElementStack::hasOnlyHTMLElementsInScope is no longer called
        https://bugs.webkit.org/show_bug.cgi?id=85908

        Reviewed by Eric Seidel.

        This patch just removes the dead code.

        No tests needed. Cleanup only.

        * html/parser/HTMLElementStack.cpp:
        * html/parser/HTMLElementStack.h:
        (HTMLElementStack):

2012-05-08  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Create LinkHighlightLayerChromium class to provide link-highlight preview animations for GraphicsLayerChromium.
        https://bugs.webkit.org/show_bug.cgi?id=85084

        Reviewed by James Robinson.

        Unit test provided.

        Creates a layer delegate class to provide link highlight animations for link-preview feature.
        These are added to a GraphicsLayerChromium via provided methods. Moves dispensing of animation
        ids into a separate class.

        * WebCore.gypi:
        * platform/graphics/chromium/AnimationIdVendor.cpp: Added.
        (WebCore):
        (WebCore::AnimationIdVendor::getNextAnimationId):
        (WebCore::AnimationIdVendor::getNextGroupId):
        * platform/graphics/chromium/AnimationIdVendor.h: Added.
        (WebCore):
        (AnimationIdVendor):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::willBeDestroyed):
        (WebCore::GraphicsLayerChromium::updateNames):
        (WebCore::GraphicsLayerChromium::addAnimation):
        (WebCore::GraphicsLayerChromium::addLinkHighlight):
        (WebCore):
        (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
        (WebCore::GraphicsLayerChromium::updateChildList):
        (WebCore::GraphicsLayerChromium::mapAnimationNameToId):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore):
        (GraphicsLayerChromium):
        * platform/graphics/chromium/LinkHighlight.cpp: Added.
        (WebCore):
        (WebCore::LinkHighlight::create):
        (WebCore::LinkHighlight::LinkHighlight):
        (WebCore::LinkHighlight::~LinkHighlight):
        (WebCore::LinkHighlight::contentLayer):
        (WebCore::LinkHighlight::paintContents):
        (WebCore::LinkHighlight::notifyAnimationStarted):
        (WebCore::LinkHighlight::notifyAnimationFinished):
        * platform/graphics/chromium/LinkHighlight.h: Added.
        (WebCore):
        (LinkHighlight):

2012-05-08  Raphael Kubo da Costa  <rakuco@webkit.org>

        [CMake] Rewrite FindGStreamer.cmake.
        https://bugs.webkit.org/show_bug.cgi?id=85857

        Reviewed by Daniel Bates.

        No new tests, build system change.

        We are currently kind of duplicating the same
        FindGStreamer-Foo.cmake file whenever a new GStreamer plugin needs
        to be found. Besides this approach not scaling very well, it
        relies on pkg-config for version checking, uses the LibFindMacros
        package that we should deprecate and all the find files could be
        merged into one, with users using the COMPONENTS feature of the
        FIND_PACKAGE() call to find the desired plugins.

        FindGStreamer.cmake has then been rewritten to take all that into
        account:
        - The LibFindMacros.cmake package is not used anymore.
        - Version check is performed in the CMake file itself by parsing
        the gstversion.h header.
        - All GStreamer plugins are searched and the COMPONENTS keyword
        used in the FIND_PACKAGE() call is used to check which plugins are
        required.
        - The plugins-base and base GStreamer plugins are not searched, as
        they were not used anywhere in the build system.

        * PlatformEfl.cmake: Update GStreamer-related variable names.

2012-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>

        [EFL] Handling of numeric-pad keys in EFL's PlatformKeyboardEvent
        https://bugs.webkit.org/show_bug.cgi?id=85479

        Reviewed by Gustavo Noronha Silva.

        EFL's PlatformKeyboardEvent::isKeypad() now returns meaningful value.
        Added numeric-pad keys to the Key Map and Windows Key Map.

        No new tests.

        * platform/efl/EflKeyboardUtilities.cpp:
        (WebCore::createKeyMap):
        (WebCore::createWindowsKeyMap):
        * platform/efl/PlatformKeyboardEventEfl.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2012-05-04  Nikolas Zimmermann  <nzimmermann@rim.com>

        Tie lifetime of SVGAnimateElement::m_animatedType to the duration of the animation
        https://bugs.webkit.org/show_bug.cgi?id=85627

        Reviewed by Antti Koivisto.

        Example:
        <rect width="10" height="100">
            <animate attributeName="width" from="10" to="100" begin="2s" dur="4s" fill="remove"/>
        </rect>

        At t=0s the <animate> element receives its first interval: begin=2s, end=6s.
        At this point we've created the 'OwnPtr<SVGAnimatedType> m_animatedType' in
        SVGAnimateElement, which holds the current animated value of the target type.
        In this example it contains a SVGLength with '10' as value at t=0s.

        Calling "rect.width.animVal.value" will return the value currently contained in the
        m_animatedType from the SVGAnimateElement, even though the animation didn't begin
        yet. This is fine, as the animVal equals to the baseVal, as long as no animation is
        running.

        At t=6s you'd expect that the whole 'animVal' object is destructed again, as it's no
        longer needed, as animVal will be equal to baseVal again, but the current code keeps
        the animVal alive, and just resets it to the baseVal. The animVals will be destructed
        once the animate element leaves the tree.

        CSS animations suffer from the same problem, we never remove the animated SMIL properties
        but we only reset them to the base value. This makes integration with CSS Animations and
        CSS Transitions harder, so this needs to be changed.

        This patch starts tracking the start/end of an animation chain properly, to destruct
        the animation effect for non-frozen animations at the end of their duration. This has to
        work properly together with seeking (SVGSVGElement.setCurrentTime), as our testing relies
        on the ability to drive the SMIL timeline from script.

        Tests: svg/animations/list-wrapper-assertion-expected.svg
               svg/animations/list-wrapper-assertion.svg

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::resetAnimatedType):
        (WebCore::applyCSSPropertyToTarget):
        (WebCore::removeCSSPropertyFromTarget):
        (WebCore::applyCSSPropertyToTargetAndInstances):
        (WebCore::removeCSSPropertyFromTargetAndInstances):
        (WebCore::notifyTargetAboutAnimValChange):
        (WebCore::notifyTargetAndInstancesAboutAnimValChange):
        (WebCore::SVGAnimateElement::clearAnimatedType):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::targetElementWillChange):
        * svg/SVGAnimateElement.h:
        (SVGAnimateElement):
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::resetAnimatedType):
        (WebCore::SVGAnimateMotionElement::clearAnimatedType):
        * svg/SVGAnimateMotionElement.h:
        (SVGAnimateMotionElement):
        * svg/SVGAnimationElement.cpp:
        * svg/SVGAnimationElement.h:
        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::updateAnimations):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::reset):
        (WebCore::SVGSMILElement::targetElementWillChange):
        (WebCore::SVGSMILElement::determineActiveState):
        (WebCore::SVGSMILElement::progress):
        * svg/animation/SVGSMILElement.h:
        (SVGSMILElement):
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
            Remove svgAttributeChanged() calls from animationEnded/animValDidChange.
            Callers are now required to notify the target about changes. There are cases
            where we want to call animValDidChange without invoking svgAttributeChanged().
            That is supported now.
        (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
        (WebCore::SVGAnimatedListPropertyTearOff::animValDidChange):
        * svg/properties/SVGAnimatedProperty.h: Ditto.
        (WebCore::SVGAnimatedProperty::commitChange): Add safety guard.
        * svg/properties/SVGAnimatedPropertyTearOff.h: Ditto.
        (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
        (WebCore::SVGAnimatedPropertyTearOff::animValDidChange):
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Ditto.
        (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
        (WebCore::SVGAnimatedStaticPropertyTearOff::animValDidChange):

2012-05-08  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][DRT]Do not create ScrollbarEfl when mockScrollbar is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=81315

        Reviewed by Chang Shu.

        ScrollbarEfl creates custom scrollbars as separated layer and they are
        not related to ScrollbarTheme.
        So, DRT/Efl creates custom scrollbars on webview which paints mockScrollbar.

        This patch prevents creating custom scrollbars when mockScrollbar is enabled.

        Because DRT/Efl only renders the webview now, expected results are same
        until Bug 79853 is landed.

        * platform/efl/ScrollbarEfl.cpp:
        (Scrollbar::createNativeScrollbar):

2012-05-08  Timothy Hatcher  <timothy@apple.com>

        Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.

        dyld only considers libraries in the versioned framework path if their install name
        matches the library that it is attempting to load. The path we were passing to
        dlopen lacked the Versions/A component of the path so dyld did not recognize that
        we wanted it to use the staged version if it is newer.

        <rdar://problem/11406517>

        Reviewed by Mark Rowe.

        * platform/mac/SoftLinking.h: Have SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL take the
        framework version as an argument and use it when constructing the path to dlopen.

2012-05-08  Rafael Brandao  <rafael.lobo@openbossa.org>

        Build fix for Qt Snowleopard Release
        https://bugs.webkit.org/show_bug.cgi?id=85895

        Reviewed by Alexis Menard.

        The enum value JSUint8ClampedArray conflicted with the JSUint8ClampedArray class.
        I've added the 'Type' suffix to the enum value to make their names different.

        No new tests needed.

        * bridge/qt/qt_runtime_qt4.cpp:
        (JSC::Bindings::valueRealType):
        (JSC::Bindings::convertValueToQVariant):

2012-05-08  Shezan Baig  <shezbaig.wk@gmail.com>

        offsetLeft broken within CSS3 columns
        https://bugs.webkit.org/show_bug.cgi?id=34875

        Reviewed by Julien Chaffraix.

        Reimplement offsetLeft and offsetTop in terms of a new method called
        'offsetTopLeft'. The new method starts from a reference point (the
        top-left coordinate of a box or inline) and adjusts this reference
        point for columns as we traverse each parent. Note that the reference
        point needs to be adjusted in both dimensions, even though offsetLeft
        and offsetTop return only one of them.

        A new method called 'offsetForColumns' was added to RenderObject. This
        method is similar to adjustForColumns, except that it returns the
        offset instead of modifying a reference. This method is necessary to
        simplify the implementation of offsetTopLeft.

        Tests: fast/block/positioning/offsetLeft-offsetTop-multicolumn-expected.txt
               fast/block/positioning/offsetLeft-offsetTop-multicolumn.html

        * rendering/RenderBox.h:
        (RenderBox):
        Override offsetLeft and offsetTop.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetLeft):
        Implemented in terms of RenderBoxModelObject::offsetTopLeft, using
        topLeftLocation as startPoint.
        (WebCore::RenderBox::offsetTop):
        Implemented in terms of RenderBoxModelObject::offsetTopLeft, using
        topLeftLocation as startPoint.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::offsetTopLeft):
        New method to compute offsetLeft and offsetTop simultaneously, and
        adjusting for columns at each parent.
        (WebCore::RenderBoxModelObject::offsetLeft):
        Reimplemented in terms of offsetTopLeft.
        (WebCore::RenderBoxModelObject::offsetTop):
        Reimplemented in terms of offsetTopLeft.
        * rendering/RenderBoxModelObject.h:
        (RenderBoxModelObject):
        Declare new offsetTopLeft method.
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::offsetLeft):
        Reimplemented in terms of RenderBoxModelObject::offsetTopLeft.
        (WebCore::RenderInline::offsetTop):
        Reimplemented in terms of RenderBoxModelObject::offsetTopLeft.
        * rendering/RenderObject.h:
        (RenderObject):
        (WebCore::RenderObject::offsetForColumns):
        New helper method to simplify implementation of offsetTopLeft.

2012-03-31  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: first-letter-nested-004.htm fails
        https://bugs.webkit.org/show_bug.cgi?id=72987

        Reviewed by Eric Seidel.

        When styling first-letter check each sibling and drill into its inlines until we find either (i) a text node 
        that is not all whitespace, or (ii) a line break.

        This makes our rendering of the following tests compatible with FF and Opera. Our current behaviour is also conformant
        since the spec allows UAs to style just one element:
            css2.1/20110323/first-letter-quote-002.htm
            css2.1/20110323/first-letter-quote-003.htm
            css2.1/20110323/first-letter-quote-004.htm
            css2.1/20110323/first-letter-quote-005.htm

        This fixes the following two tests. We now drill into the descendants of an element styled with :first-letter looking
        for text to style:
            css2.1/20110323/first-letter-nested-004.htm
            css2.1/20110323/first-letter-nested-006.htm

        This patch changes our rendering of first-letter-dynamic-001.htm as we now render adjacent quotes in the second line as 
        green. This is consistent with the spec, which allows this behaviour but does not require it. It's the 'right' behaviour
        since it is consistent with the rendering of such quotes in a single element with :first-letter style.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::findLastObjectWithFirstLetterText): Iterate through the child's siblings looking for the last
          object to be styled :first-letter.
        (WebCore::RenderBlock::findLastObjectAfterFirstLetterPunctuation): Style any leading punctuation as first-letter, drill
          down into the child's descendants looking for text if necessary.
        (WebCore::RenderBlock::updateFirstLetter): Refactor to drill into sibling's children looking for inlines
         that should be styled as first-letter.
        (WebCore::RenderBlock::addFirstLetter): Split out from updateFirstLetter so that it can be used when a
         descendant node inside a sibling is found in findLastObjectWithFirstLetterText() needs to be styled as first-letter.
        * rendering/RenderBlock.h:

2012-05-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116402.
        http://trac.webkit.org/changeset/116402
        https://bugs.webkit.org/show_bug.cgi?id=85898

        Caused a 3% regression on Chromium's bloat-http test on Linux
        (Requested by ojan_gardening on #webkit).

        * WebCore.exp.in:
        * bindings/v8/RetainedDOMInfo.cpp:
        * dom/ContainerNode.h:
        * dom/Node.cpp:
        (WebCore::Node::traverseNextNode):
        (WebCore):
        (WebCore::Node::traverseNextSibling):
        * dom/Node.h:
        (Node):

2012-05-08  Hironori Bono  <hbono@chromium.org>

        [Chromium] Fix the position of an RTL resizer
        https://bugs.webkit.org/show_bug.cgi?id=80640

        Reviewed by Tony Chang.

        When rendering an RTL resizer, my r110073 renders it at the same position as the
        one used for rendering a LTR resizer. Unfortunately, this code renders the RTL
        resizer image at an incorrect position on Mac and Linux. This change uses the
        correct formula to calculate the position of an RTL resizer.

        Test: platform/chromium/scrollbars/rtl-resizer-position.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::drawPlatformResizerImage):

2012-05-08  Andreas Kling  <kling@webkit.org>

        Element: isURLAttribute() should take a const Attribute&.
        <http://webkit.org/b/85890>

        Reviewed by Anders Carlsson.

        Change isURLAttribute(Attribute*) to isURLAttribute(const Attribute&) to enforce
        the fact that the Attribute can't be null, and shouldn't be mutated, at compile-time.
        Also sprinkle OVERRIDE while we're at it.

        * dom/Element.cpp:
        (WebCore::Element::getURLAttribute):
        (WebCore::Element::getNonEmptyURLAttribute):
        * dom/Element.h:
        (WebCore::Element::isURLAttribute):
        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
        (WebCore::MarkupAccumulator::appendAttribute):
        * editing/markup.cpp:
        (WebCore::completeURLs):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::isURLAttribute):
        * html/HTMLAnchorElement.h:
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::isURLAttribute):
        * html/HTMLBaseElement.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::isURLAttribute):
        * html/HTMLBodyElement.h:
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::isURLAttribute):
        * html/HTMLButtonElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::isURLAttribute):
        * html/HTMLElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::isURLAttribute):
        * html/HTMLEmbedElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::isURLAttribute):
        * html/HTMLFormElement.h:
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isURLAttribute):
        * html/HTMLFrameElementBase.h:
        (HTMLFrameElementBase):
        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::isURLAttribute):
        * html/HTMLHtmlElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::isURLAttribute):
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isURLAttribute):
        * html/HTMLInputElement.h:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::isURLAttribute):
        * html/HTMLLinkElement.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isURLAttribute):
        * html/HTMLMediaElement.h:
        * html/HTMLModElement.cpp:
        (WebCore::HTMLModElement::isURLAttribute):
        * html/HTMLModElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::isURLAttribute):
        * html/HTMLObjectElement.h:
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::isURLAttribute):
        * html/HTMLParamElement.h:
        * html/HTMLQuoteElement.cpp:
        (WebCore::HTMLQuoteElement::isURLAttribute):
        * html/HTMLQuoteElement.h:
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::isURLAttribute):
        * html/HTMLScriptElement.h:
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::isURLAttribute):
        * html/HTMLSourceElement.h:
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::isURLAttribute):
        * html/HTMLTableCellElement.h:
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::isURLAttribute):
        * html/HTMLTableElement.h:
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::isURLAttribute):
        * html/HTMLTrackElement.h:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::isURLAttribute):
        * html/HTMLVideoElement.h:
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::isURLAttribute):
        * svg/SVGScriptElement.h:

2012-05-08  Stephen Chenney  <schenney@chromium.org>

        Shrink ElementAttributeData by factoring out Attr object count.
        https://bugs.webkit.org/show_bug.cgi?id=85825

        Unreviewed build fix.

        * dom/ElementAttributeData.cpp:
        (WebCore::attrListForElement): Was returning false instead of 0 for a pointer value. Now returns 0.

2012-05-08  Andreas Kling  <kling@webkit.org>

        Element: Merge idAttributeChanged() into attributeChanged().
        <http://webkit.org/b/85885>

        Reviewed by Antti Koivisto.

        No new tests, code churn only.

        * dom/Element.h:
        * dom/Element.cpp:
        (WebCore::Element::attributeChanged): There's no need for this to be a standalone function anymore.

2012-05-08  Andreas Kling  <kling@webkit.org>

        Shrink ElementAttributeData by factoring out Attr object count.
        <http://webkit.org/b/85825>

        Reviewed by Antti Koivisto.

        Stop tracking the number of Attr objects that point to a given Element on the
        Element itself and manage this by having a global hashmap of Element => AttrList,
        where AttrList is a vector of (pointers to) the associated Attr objects.

        This shrinks ElementAttributeData by one integer, effectively reducing memory
        consumption by ~530kB when viewing the full HTML5 spec at <http://whatwg.org/c>.

        * dom/ElementAttributeData.h:
        (ElementAttributeData):

            Remove m_attrCount...

        * dom/Node.h:
        (WebCore::Node::hasAttrList):
        (WebCore::Node::setHasAttrList):
        (WebCore::Node::clearHasAttrList):

            ...replacing it with a Node flag that tells us whether there's an Attr
            object map for this Node (only applies to Elements.)

        * dom/ElementAttributeData.cpp:
        (WebCore::attrListMap):
        (WebCore::attrListForElement):
        (WebCore::ensureAttrListForElement):
        (WebCore::removeAttrListForElement):
        (WebCore::ElementAttributeData::attrIfExists):
        (WebCore::ElementAttributeData::ensureAttr):
        (WebCore::ElementAttributeData::setAttr):
        (WebCore::ElementAttributeData::removeAttr):
        (WebCore::ElementAttributeData::detachAttributesFromElement):

            Map Element => per-Element AttrList in a global hash.

2012-05-08  Chris Guan  <chris.guan@torchmobile.com.cn>

        [Blackberry] remove m_isRequestedByPlugin in ResourceRequest
        https://bugs.webkit.org/show_bug.cgi?id=84559

        Reviewed by Antonio Gomes.

        ResourceRequest is a network level abstraction, and it should
        not know anything about web concepts such as plug-ins, and Blackberry
        does not need m_isRequestedByPlugin any longer, So clean up all related
        code.

        Tested on a website of http://edition.cnn.com, a new window should be
        opened only when user has a singe tap gesture on a plugin element.

        * platform/network/blackberry/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        (ResourceRequest):
        (CrossThreadResourceRequestData):
        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):

2012-05-03  Alexander Pavlov  <apavlov@chromium.org>

        Extra line-breaks added when copying from source.
        https://bugs.webkit.org/show_bug.cgi?id=85282

        Reviewed by Ryosuke Niwa.

        The code used to replace any \n by \r\n, even the one that had a preceding \r, resulting in \r\r\n.
        This change introduces a check for the preceding \r when replacing \n's.

        Test: platform/win/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html

        * platform/chromium/ClipboardUtilitiesChromium.cpp:
        (WebCore::replaceNewlinesWithWindowsStyleNewlines):
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::replaceNewlinesWithWindowsStyleNewlines):

2012-05-08  Adam Barth  <abarth@webkit.org>

        OS(ANDROID) JNI AttachCurrentThread take JNIEnv** as a parameter, not void**
        https://bugs.webkit.org/show_bug.cgi?id=85869

        Reviewed by Eric Seidel.

        According to
        http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/invocation.html,
        AttachCurrentThread takes a JNIEnv** rather than a void**.  Apparently,
        most implementations actually take a void**.  The OS(ANDROID)
        implementation, however, actually takes an JNIEnv**.  This patch
        introduces a typedef to give each implementation what it desires.

        * bridge/jni/JNIUtility.cpp:
        (JSC::Bindings::getJNIEnv):

2012-05-08  Balazs Kelemen  <kbalazs@webkit.org>

        [Qt] X11 plugins need to be reworked for Qt5+WK1
        https://bugs.webkit.org/show_bug.cgi?id=80691

        Reviewed by Simon Hausmann.

        Implement basic windowless plugin support with Qt5.
        The solution is the same that has been chosen for
        WebKit2. We get the content drawed by the plugin
        from the X server as an image, create a QImage
        from it and paint it to the window surface with QPainter.
        Performance is sufficient for basic video playback.

        No new tests, covered by existing plugin tests.

        * Target.pri:
        * WebCore.pri:
        * platform/qt/QWebPageClient.h:
        (QWebPageClient):
        * plugins/PluginView.h:
        (PluginView):
        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::PluginPackage::isPluginBlacklisted):
        Blacklist plugins that are incompatible with Qt5.
        The only one I know about currently is skypebuttons
        but the list can be extended in the future.
        (WebCore):
        (WebCore::PluginPackage::load):
        * plugins/qt/PluginViewQt.cpp:
        (X11Environment):
        (WebCore):
        (WebCore::x11Display):
        (WebCore::x11Screen):
        (WebCore::rootWindowID):
        (WebCore::displayDepth):
        (WebCore::syncX):
        (WebCore::PluginView::platformPageClient): Added a safe
        convenience getter for the QWebpageClient.
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::setFocus):
        (WebCore::setupGraphicsExposeEvent):
        (WebCore::PluginView::paintUsingXPixmap):
        (WebCore::setSharedXEventFields):
        (WebCore::PluginView::initXEvent):
        (WebCore::PluginView::setXKeyEventSpecificFields):
        (WebCore::setXButtonEventSpecificFields):
        (WebCore::setXMotionEventSpecificFields):
        (WebCore::setXCrossingEventSpecificFields):
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::setParentVisible):
        (WebCore::PluginView::platformGetValue):
        (WebCore::PluginView::invalidateRect):
        (WebCore::getVisualAndColormap):
        Refactored this function to make it more clear
        what does it actually do.
        (WebCore::PluginView::platformStart):
        (WebCore::PluginView::platformDestroy):

2012-05-07  Antti Koivisto  <antti@apple.com>

        Inline Node::traverseNextNode
        https://bugs.webkit.org/show_bug.cgi?id=85844

        Reviewed by Ryosuke Niwa.

        Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
        for many hot loops. Also added separate versions of stayWithin and unscoped cases (the function is
        so simple that this seemed like the cleanest way to do it, the most reliable too) and used UNLIKELY for the 
        end-of-traversal conditions.
        
        The traversal function can show up to ~1% in normal page loading profiles.
        
        run-perf-tests seems to think this is a progression in some subtests though bots will tell for certain.

        * WebCore.exp.in:
        * dom/ContainerNode.h:
        
            Following the existing pattern, function bodies go to ContainerNode.h so they can call parentNode().
            (which returns ContainerNode, not Node).

        (WebCore::Node::traverseNextNode):
        (WebCore):
        (WebCore::Node::traverseNextSibling):
        * dom/Node.cpp:
        (WebCore):
        * dom/Node.h:
        (Node):

2012-05-05  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make JavaScriptSourceFrame use breakpoint manager's breakpoints store.
        https://bugs.webkit.org/show_bug.cgi?id=85714

        Reviewed by Yury Semikhatsky.

        It is currently using its own copy of breakpoints which is not necessary.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
        (WebInspector.BreakpointManager.prototype.setBreakpoint):
        (WebInspector.BreakpointManager.prototype._innerSetBreakpoint):
        (WebInspector.BreakpointManager.prototype.findBreakpoint):
        (WebInspector.BreakpointManager.prototype.reset):
        (WebInspector.BreakpointManager.prototype._debuggerReset):
        (WebInspector.BreakpointManager.prototype._breakpointResolved):
        (WebInspector.BreakpointManager.prototype._uiLocationAdded):
        (WebInspector.BreakpointManager.prototype._uiLocationRemoved):
        (WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
        (WebInspector.BreakpointManager.Storage.prototype._restoreBreakpoints):
        (set WebInspector.BreakpointManager.Storage.Item):
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
        (WebInspector.JavaScriptSource.prototype.breakpointStorageId):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
        (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
        (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
        (WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
        (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
        (WebInspector.JavaScriptSourceFrame.prototype._updateBreakpointsAfterLiveEdit):

2012-05-07  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: do not create locations for resolved provisional breakpoints
        https://bugs.webkit.org/show_bug.cgi?id=85716

        Reviewed by Yury Semikhatsky.

        Marked provisional breakpoints as such.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._debuggerReset):
        (WebInspector.BreakpointManager.prototype._breakpointResolved):

2012-05-07  Simon Fraser  <simon.fraser@apple.com>

        Compositing layers with transformed children not large enough to show contents
        https://bugs.webkit.org/show_bug.cgi?id=85855

        Reviewed by Dan Bernstein.
        
        r114518 added a code path to RenderLayer::calculateLayerBounds() which
        does an early return if the layer has clipping. However, this code
        path omitted to take local transforms into account.
        
        Fix is to handle transforms as we do in the non-clipped case.

        Test: compositing/geometry/bounds-clipped-composited-child.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateLayerBounds):

2012-05-07  Scott Graham  <scottmg@chromium.org>

        Fix signed/unsigned mismatch
        https://bugs.webkit.org/show_bug.cgi?id=85845

        Make literal in assert be unsigned to match comparison on LHS. Avoids
        warning on Windows.

        Reviewed by Eric Seidel.

        No new tests. No intended functionality change.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::splitColumn):

2012-05-07  Emil A Eklund  <eae@chromium.org>

        Fix performance regression for floats caused by LayoutUnit change
        https://bugs.webkit.org/show_bug.cgi?id=85834

        Reviewed by Eric Seidel.

        Fix performance regression caused by r116009 by disabling the use of
        64bit math in FractionalLayoutUnit, simplifying the pixelSnappedMaxX/Y
        math, inlining a couple of methods and replacing the literal 0 (zero)
        with ZERO_LAYOUT_UNIT.

        No new tests, no change in functionality.

        * platform/FractionalLayoutUnit.h:
        (WebCore::boundedMultiply):
        (WebCore::operator*):
        (WebCore::operator/):
        Disable the use of 64bit (long long) math in the case where the fraction
        is set to 1.
        
        * platform/graphics/FractionalLayoutRect.h:
        (WebCore::FractionalLayoutRect::pixelSnappedMaxX):
        (WebCore::FractionalLayoutRect::pixelSnappedMaxY):
        Simplify the pixel snapping logic for maxX/maxY.
        
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isSelfCollapsingBlock):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::computeOverflow):
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::blockSelectionGap):
        (WebCore::RenderBlock::logicalLeftSelectionGap):
        (WebCore::RenderBlock::logicalRightSelectionGap):
        (WebCore::RenderBlock::computeLogicalLocationForFloat):
        (WebCore::RenderBlock::lowestFloatLogicalBottom):
        (WebCore::RenderBlock::getClearDelta):
        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
        (WebCore::RenderBlock::addFocusRingRects):
        (WebCore::RenderBlock::adjustLinePositionForPagination):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::availableLogicalWidthForLine):
        (WebCore::RenderBlock::availableLogicalWidthForContent):
        (WebCore::RenderBlock::FloatingObject::x):
        (WebCore::RenderBlock::FloatingObject::maxX):
        (WebCore::RenderBlock::FloatingObject::y):
        (WebCore::RenderBlock::FloatingObject::maxY):
        (WebCore::RenderBlock::FloatingObject::width):
        (WebCore::RenderBlock::FloatingObject::height):
        (FloatingObject):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedX):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedY):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::accumulateRelativePositionOffsets):
        (WebCore::RenderBoxModelObject::offsetLeft):
        (WebCore::RenderBoxModelObject::offsetTop):
        (WebCore::RenderBoxModelObject::computedCSSPaddingTop):
        (WebCore::RenderBoxModelObject::computedCSSPaddingBottom):
        (WebCore::RenderBoxModelObject::computedCSSPaddingLeft):
        (WebCore::RenderBoxModelObject::computedCSSPaddingRight):
        (WebCore::RenderBoxModelObject::computedCSSPaddingBefore):
        (WebCore::RenderBoxModelObject::computedCSSPaddingAfter):
        (WebCore::RenderBoxModelObject::computedCSSPaddingStart):
        (WebCore::RenderBoxModelObject::computedCSSPaddingEnd):

2012-05-07  Dongwoo Im  <dw.im@samsung.com>

        width/height attributes of input element cannot be accessed by JavaScript.
        https://bugs.webkit.org/show_bug.cgi?id=70304

        Reviewed by Darin Adler.

        If the type of input element is image button, width/height attributes should be supported.
        These attributes are defined in HTML5 spec.
        http://www.w3.org/TR/html5/the-map-element.html#attr-dim-width

        Tests: fast/forms/input-width-height-attributes-without-renderer-loaded-image.html
               fast/forms/input-width-height-attributes-without-renderer-not-loaded-image.html
               fast/forms/input-width-height-attributes-without-renderer.html
               fast/forms/input-width-height-attributes.html

        * html/HTMLInputElement.cpp: Add setter/getter functions to query/set width/height of input element.
        (WebCore):
        (WebCore::HTMLInputElement::height): Gets height of input element.
        (WebCore::HTMLInputElement::width): Gets width of input element.
        (WebCore::HTMLInputElement::setHeight): Sets height of input element.
        (WebCore::HTMLInputElement::setWidth): Sets width of input element.
        * html/HTMLInputElement.h: Add public prototype.
        (HTMLInputElement):
        * html/HTMLInputElement.idl: Add width/height attributes.
        * html/ImageInputType.cpp: Add getter functions if the element is an image button.
        (WebCore):
        (WebCore::ImageInputType::height): Gets height of input element.
        (WebCore::ImageInputType::width): Gets width of input element.
        * html/ImageInputType.h: Add prototype.
        (ImageInputType):
        * html/InputType.cpp: Add getter functions.
        (WebCore::InputType::height): Returns zero.
        (WebCore):
        (WebCore::InputType::width): Returns zero.
        * html/InputType.h: Add prototype.
        (InputType):

2012-05-07  Kinuko Yasuda  <kinuko@chromium.org>

        Support cross-filesystem operations in FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=84135

        Reviewed by David Levin.

        Currently we pass Entry's fullPath to AsyncFileSystem layer where
        we convert the given path to filesystem URL which includes origin and
        filesystem type information, but in that way we cannot handle
        cross-filesystem operations (e.g. cross-filesystem copy and move)
        well since we end up with always attaching the source filesystem's
        origin and type information for argument paths.

        This patch does:
        - change AsyncFileSystem's operation methods not to take entry paths
          but complete filesystem URLs.
        - move type and rootURL information from AsyncFileSystem instance into
          DOMFileSystemBase instance (platform layer to Modules/filesystem layer)
        - move filesystem-type related code in AsyncFileSystemChromium.cpp into
          DOMFileSystemChromium.cpp, which implements chromioum-specific
          DOMFileSystem code.
        - move platform/FileSystemType.h into Modules/filesystem/FileSystemType.h.
        - adding FileSystemType.h entry to build files (e.g. WebCore.gypi, WebCore.xcodeproj etc)

        Test: fast/filesystem/cross-filesystem-op.html

        * Modules/filesystem/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::create):
        (WebCore::DOMFileSystem::DOMFileSystem):
        (WebCore::DOMFileSystem::createWriter):
        (WebCore::DOMFileSystem::createFile):
        * Modules/filesystem/DOMFileSystem.h:
        * Modules/filesystem/DOMFileSystemBase.cpp:
        (WebCore::DOMFileSystemBase::DOMFileSystemBase):
        (WebCore::DOMFileSystemBase::createFileSystemURL): Added as an internal
        implementation of Entry.toURL().
        (WebCore::DOMFileSystemBase::getMetadata):
        (WebCore::verifyAndGetDestinationPathForCopyOrMove):
        (WebCore::DOMFileSystemBase::move):
        (WebCore::DOMFileSystemBase::copy):
        (WebCore::DOMFileSystemBase::remove):
        (WebCore::DOMFileSystemBase::removeRecursively):
        (WebCore::DOMFileSystemBase::getParent):
        (WebCore::DOMFileSystemBase::getFile):
        (WebCore::DOMFileSystemBase::getDirectory):
        (WebCore::DOMFileSystemBase::readDirectory):
        * Modules/filesystem/DOMFileSystemBase.h: Changed to make each
        DOMFileSystemBase instance have filesystem type and rootURL (they were
        held by AsyncFileSystem previously)
        (WebCore::DOMFileSystemBase::create): Changed to take additional parameters.
        (WebCore::DOMFileSystemBase::type): Added.(Moved from AsyncFileSystem::type)
        (WebCore::DOMFileSystemBase::rootURL): Added.(Moved from AsyncFileSystem::rootURL).
        * Modules/filesystem/DOMFileSystemSync.cpp:
        (WebCore::DOMFileSystemSync::create):
        (WebCore::DOMFileSystemSync::DOMFileSystemSync):
        (WebCore::DOMFileSystemSync::createFile):
        (WebCore::DOMFileSystemSync::createWriter):
        * Modules/filesystem/DOMFileSystemSync.h:
        (WebCore::DOMFileSystemSync::create):
        * Modules/filesystem/DOMWindowFileSystem.cpp:
        (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
        (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
        * Modules/filesystem/EntryBase.cpp:
        (WebCore::EntryBase::toURL):
        * Modules/filesystem/FileSystemCallbacks.cpp:
        (WebCore::FileSystemCallbacks::create):
        (WebCore::FileSystemCallbacks::FileSystemCallbacks):
        (WebCore::FileSystemCallbacks::didOpenFileSystem):
        (WebCore::ResolveURICallbacks::create):
        (WebCore::ResolveURICallbacks::ResolveURICallbacks):
        (WebCore::ResolveURICallbacks::didOpenFileSystem):
        * Modules/filesystem/FileSystemCallbacks.h:
        (FileSystemCallbacks):
        (ResolveURICallbacks):
        * Modules/filesystem/FileSystemType.h: Renamed from Source/WebCore/platform/FileSystemType.h.
        * Modules/filesystem/LocalFileSystem.cpp:
        (WebCore::openFileSystem):
        (WebCore::LocalFileSystem::readFileSystem):
        (WebCore::LocalFileSystem::requestFileSystem):
        * Modules/filesystem/LocalFileSystem.h:
        * Modules/filesystem/WorkerContextFileSystem.cpp:
        (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
        (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
        * Modules/filesystem/chromium/DOMFileSystemChromium.cpp: Added for chromium-specific
        implementation. Almost all of the code is moved from AsyncFileSystemChromium.
        (WebCore::DOMFileSystemBase::isValidType):
        (WebCore::DOMFileSystemBase::crackFileSystemURL):
        (WebCore::DOMFileSystemBase::supportsToURL):
        (WebCore::DOMFileSystemBase::createFileSystemURL):
        (WebCore::DOMFileSystemChromium::createIsolatedFileSystem):
        * Modules/filesystem/chromium/DOMFileSystemChromium.h: Added.
        * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp:
        (WebCore::DataTransferItemFileSystem::webkitGetAsEntry):
        * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:
        (WebCore::DraggedIsolatedFileSystem::getDOMFileSystem):
        * WebCore.gypi:
        * platform/AsyncFileSystem.cpp:
        (WebCore::AsyncFileSystem::openFileSystem):
        * platform/AsyncFileSystem.h:
        (AsyncFileSystem):
        (WebCore::AsyncFileSystem::AsyncFileSystem):
        * platform/AsyncFileSystemCallbacks.h:
        (WebCore::AsyncFileSystemCallbacks::didOpenFileSystem):
        * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
        (WebCore::AsyncFileSystem::create):
        (WebCore::AsyncFileSystem::openFileSystem):
        (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
        (WebCore::AsyncFileSystemBlackBerry::move):
        (WebCore::AsyncFileSystemBlackBerry::copy):
        (WebCore::AsyncFileSystemBlackBerry::remove):
        (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
        (WebCore::AsyncFileSystemBlackBerry::readMetadata):
        (WebCore::AsyncFileSystemBlackBerry::createFile):
        (WebCore::AsyncFileSystemBlackBerry::createDirectory):
        (WebCore::AsyncFileSystemBlackBerry::fileExists):
        (WebCore::AsyncFileSystemBlackBerry::directoryExists):
        (WebCore::AsyncFileSystemBlackBerry::readDirectory):
        (WebCore::AsyncFileSystemBlackBerry::createWriter):
        (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
        * platform/blackberry/AsyncFileSystemBlackBerry.h:
        * platform/chromium/PlatformSupport.h:
        * platform/gtk/AsyncFileSystemGtk.cpp:
        (WebCore::AsyncFileSystem::create):
        (WebCore::AsyncFileSystem::openFileSystem):
        (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
        (WebCore::AsyncFileSystemGtk::move):
        (WebCore::AsyncFileSystemGtk::copy):
        (WebCore::AsyncFileSystemGtk::remove):
        (WebCore::AsyncFileSystemGtk::removeRecursively):
        (WebCore::AsyncFileSystemGtk::readMetadata):
        (WebCore::AsyncFileSystemGtk::createFile):
        (WebCore::AsyncFileSystemGtk::createDirectory):
        (WebCore::AsyncFileSystemGtk::fileExists):
        (WebCore::AsyncFileSystemGtk::directoryExists):
        (WebCore::AsyncFileSystemGtk::readDirectory):
        (WebCore::AsyncFileSystemGtk::createWriter):
        * platform/gtk/AsyncFileSystemGtk.h:

        * GNUmakefile.list.am: Added FileSystemType.h.
        * WebCore.gypi: Added FileSystemType.h.
        * WebCore.vcproj/WebCore.vcproj: Added FileSystemType.h.
        * WebCore.xcodeproj/project.pbxproj: Added FileSystemType.h.

2012-05-07  Adam Barth  <abarth@webkit.org>

        [Chromium] Android wishes to use an empty implementation if AXObjectCache
        https://bugs.webkit.org/show_bug.cgi?id=85842

        Reviewed by Eric Seidel.

        Add proper HAVE(ACCESSIBILITY) ifdefs so that Chromium builds without
        accessibility.

        * accessibility/chromium/AXObjectCacheChromium.cpp:
        * accessibility/chromium/AccessibilityObjectChromium.cpp:

2012-05-07  Greg Billock  <gbillock@google.com>

        [Web Intents] Flagged-off implementation of an intent tag for registration.
        https://bugs.webkit.org/show_bug.cgi?id=73039

        Reviewed by Adam Barth.

        The intent tag is a declarative way for pages to register that they
        accept delivery of web intent invocations of particular types. See the
        spec at http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html

        After discussion on the WhatWG list (see thread at
        http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-April/035301.html)
        the current plan is to combine declarative registration of Web
        Intents and protocol/content handlers with this tag. Alternatives
        considered were the meta and link tags.

        * WebCore.gypi:
        * html/HTMLAttributeNames.in:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLIntentElement.cpp: Added.
        (WebCore::HTMLIntentElement::HTMLIntentElement):
        (WebCore::HTMLIntentElement::create):
        (WebCore::HTMLIntentElement::insertedIntoDocument):
        * html/HTMLIntentElement.h: Added.
        * html/HTMLIntentElement.idl: Added.
        * html/HTMLTagNames.in:
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::registerIntentService):
        * page/DOMWindow.idl:

2012-05-07  Dana Jansens  <danakj@chromium.org>

        Region::intersects() and Region::contains() are slow due to copy overhead
        https://bugs.webkit.org/show_bug.cgi?id=81076

        Reviewed by Anders Carlsson.

        Testing contains() and intersects() requires a copy which ends up
        invoking a malloc on sufficiently complicated web pages, and slows down
        the test unnecessarily. These methods can be done by iterating over the
        Region::Shape values rather than making a copy of the entire region and
        manipulating it.

        This uses Region::Shape::compareShapes() to walk the query regions and
        compute the result of the intersects or contains tests without making a
        copy.

        This change improves the performance of the Region overlap testing for
        composited layers, and allows for testing contains() before unite() to
        avoid unnecessary copies of the Region when inserting into complex
        Regions. With a layout test that has 225 composited layers, and tests
        Region.intersects() for 1000 layers above them, this change decreases
        the running time of the test by 1.2% by avoiding a copy of the 225
        rects each time.

        Unit test: RegionTest.intersectsRegion
                   RegionTest.containsRegion

        * platform/graphics/Region.cpp:
        (WebCore::Region::contains):
        (WebCore::Region::intersects):
        (WebCore):
        (WebCore::Region::Shape::compareShapes):
        (Region::Shape::CompareContainsOperation):
        (WebCore::Region::Shape::CompareContainsOperation::aOutsideB):
        (WebCore::Region::Shape::CompareContainsOperation::bOutsideA):
        (WebCore::Region::Shape::CompareContainsOperation::aOverlapsB):
        (Region::Shape::CompareIntersectsOperation):
        (WebCore::Region::Shape::CompareIntersectsOperation::aOutsideB):
        (WebCore::Region::Shape::CompareIntersectsOperation::bOutsideA):
        (WebCore::Region::Shape::CompareIntersectsOperation::aOverlapsB):
        * platform/graphics/Region.h:
        (Shape):

2012-05-07  David Tseng  <dtseng@google.com>

        Correct logical error in accessibilityIsIgnored.
        https://bugs.webkit.org/show_bug.cgi?id=85828

        Reviewed by Chris Fleizach.

        Covered by existing tests.

        * accessibility/AccessibilityMenuListOption.cpp:
        (WebCore::AccessibilityMenuListOption::accessibilityIsIgnored):
        * accessibility/AccessibilityMenuListPopup.cpp:
        (WebCore::AccessibilityMenuListPopup::accessibilityIsIgnored):

2012-05-04  Zhenyao Mo  <zmo@google.com>

        vertexAttribPointer needs to reject large negative offsets
        https://bugs.webkit.org/show_bug.cgi?id=85117

        Reviewed by Kenneth Russell.

        * html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr
        (WebCore):
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
        * html/canvas/WebGLRenderingContext.h: Ditto
        (WebGLRenderingContext):
        * html/canvas/WebGLRenderingContext.idl: Ditto

2012-05-07  Pravin D  <pravind.2k4@gmail.com>

        :first-line text-decorations are not rendered
        https://bugs.webkit.org/show_bug.cgi?id=6047

        Text-decorations are applied during paint phase. The style was not being properly selected in case of
        first line box. The patch fixes this. 

        Reviewed by Eric Seidel.

        Tests: fast/css/first-line-text-decoration-inherited-from-parent.html
               fast/css/first-line-text-decoration.html

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDecoration):
        Inform the decoration color retriever if this box is part of the first line box or not.

        * rendering/RenderObject.cpp:
        (WebCore::decorationColor):
        Changed the argument from RenderObject* to RenderStyle*. As this function is just a helper to getTextDecorationColors
        as used RenderObject solely to retrieve the corresponding RenderStyle, which(RenderStyle*) was already available with the latter function. 

        (WebCore::RenderObject::getTextDecorationColors):
        Take a new variable to check if first line style or the regular style has to be used.
        Sends RenderStyle* as an argument to decorationColor(). 

        * rendering/RenderObject.h:
        (RenderObject):

2012-05-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Refactor windowClipRectForLayer to remove the explicit RenderLayer dependency
        https://bugs.webkit.org/show_bug.cgi?id=84090

        Reviewed by David Hyatt.

        No observable change in behavior.

        The function name was ambiguous as it was not a general purpose function but was
        working directly on HTMLFrameOwnerElement. The rename makes this more obvious as
        well as removes the explicit dependency on RenderLayer.

        One of the slight change of this refactoring is that we now always null-check the
        HTMLFrameOwnerElement's renderer as part windowClipRectForFrameOwner as I don't see
        any evidence for the other code paths not to hit that. Also we may recur more on our
        frame tree if we have no layer as we now call windowClipRect() in this case.

        * page/FrameView.h:
        (FrameView):
        * plugins/PluginView.cpp:
        (WebCore::PluginView::windowClipRect):
        * WebCore.exp.in:
        * WebCore.order:
        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRect):
        Updated after windowClipRectForLayer name and signature change.

        (WebCore::FrameView::windowClipRectForFrameOwner):
        This function now takes the HTMLFrameOwnerElement directly.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView):
        (WebCore::PluginView::create):
        * plugins/PluginView.h:
        (PluginView):
        Updated |m_element| to be an HTMLPlugInElement as this was what was
        passed by every caller. This makes the conversion to HTMLFrameOwnerElement
        possible.

2012-05-07  Enrica Casucci  <enrica@apple.com>

        REGRESSION (r101575): Chinese input is broken when composing mail in iCloud using Safari.
        https://bugs.webkit.org/show_bug.cgi?id=85840
        <rdar://problem/11115520> 
        
        Reviewed by Alexey Proskuryakov.

        The revision that broke this, introduced a way to sanitize the markup when deleting a range selection.
        iCloud listens for DOM modification events and clears the selection, altering the input method state.
        The fix consists in adding a paramenter to DeleteSelectionCommand to control when we sanitize the
        markup.
        
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::deleteSelection):
        * editing/CompositeEditCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
        (WebCore::DeleteSelectionCommand::doApply):
        * editing/DeleteSelectionCommand.h:
        (WebCore::DeleteSelectionCommand::create):
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::doApply):

2012-05-07  Andy Estes  <aestes@apple.com>

        ENABLE_IFRAME_SEAMLESS should be part of FEATURE_DEFINES.

        * Configurations/FeatureDefines.xcconfig:

2012-05-06  Martin Robinson  <mrobinson@igalia.com>

        [Cairo] Implement ImageBuffer::copyImage for BackingStoreCopy == DontCopyBackingStore
        https://bugs.webkit.org/show_bug.cgi?id=85728

        Reviewed by Alejandro G. Castro.

        No new tests. This should not change functionality, only increase performance.

        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::copyImage): Add an implementation that knows how to avoid copying the backing store.
        (WebCore::ImageBuffer::draw): Use the copyImage constructor now that it knows how to
        avoid copying the backing store.
        (WebCore::ImageBuffer::drawPattern): Ditto.
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::updateBackingStore): Use DontCopyBackingStore for Cairo
        as well.

2012-05-07  Noel Gordon  <noel.gordon@gmail.com>

        [CG] Separate image encoding from dataURL construction
        https://bugs.webkit.org/show_bug.cgi?id=85782

        Reviewed by Kenneth Russell.

        Remove the implicit assumption that a dataURL is the only desired output format
        of the image encoding phase.

        No new tests. No behavioral change. Covered by canvas 2d and 3d tests:
            canvas/philip/tests/*toDataURL*.html
            fast/canvas/webgl/premultiplyalpha-test.html

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::CGImageEncodeToData): Image encoding helper: encode the image using the
        uti-defined encoder (PNG/JPEG/etc) and output to the given CFMutableDataRef data.
        (WebCore):
        (WebCore::CGImageToDataURL): Refactor to use CGImageEncodeToData().

2012-05-07  Scott Graham  <scottmg@chromium.org>

        [Chromium] Suppress switch-without-cases warning
        https://bugs.webkit.org/show_bug.cgi?id=85830

        Warnings like 
        ...\webkit\CSSGrammar.cpp(2075) : warning C4065: switch statement contains 'default' but no 'case' labels
        are generated. These are bogus, so just suppress them in the build
        settings.

        Reviewed by Dirk Pranke

        No new tests, no intended functionlity change. Just changing compiler
        settings.

        * WebCore.gyp/WebCore.gyp:

2012-05-07  Adrienne Walker  <enne@google.com>

        [chromium] Allow for asymmetric tile sizes on composited tiled layers
        https://bugs.webkit.org/show_bug.cgi?id=85687

        Reviewed by James Robinson.

        Update TiledLayerChromium/CCLayerTilingData/TilingData to allow for a
        the width and height of tile sizes to differ. Modify TilingData to use
        IntSize everywhere for these width/height pairs.

        Also, remove some unused functions from TilingData.

        Test: TilingDataTest.*

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::TiledLayerChromium):
        (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::CCLayerTilingData):
        (WebCore::CCLayerTilingData::setTileSize):
        (WebCore):
        (WebCore::CCLayerTilingData::tileSize):
        (WebCore::CCLayerTilingData::operator=):
        (WebCore::CCLayerTilingData::tileRect):
        (WebCore::CCLayerTilingData::setBounds):
        (WebCore::CCLayerTilingData::bounds):
        * platform/graphics/chromium/cc/CCLayerTilingData.h:
        (CCLayerTilingData):
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::Texture):
        (WebCore::Texture::create):
        (WebCore::Texture::load):
        (WebCore::Texture::updateSubRect):
        * platform/graphics/gpu/TilingData.cpp:
        (WebCore::TilingData::TilingData):
        (WebCore::TilingData::setTotalSize):
        (WebCore::TilingData::setMaxTextureSize):
        (WebCore::TilingData::tileXIndexFromSrcCoord):
        (WebCore::TilingData::tileYIndexFromSrcCoord):
        (WebCore::TilingData::tileBounds):
        (WebCore::TilingData::tileSizeX):
        (WebCore::TilingData::tileSizeY):
        (WebCore::TilingData::recomputeNumTiles):
        * platform/graphics/gpu/TilingData.h:
        (TilingData):
        (WebCore::TilingData::totalSize):
        (WebCore::TilingData::maxTextureSize):
        (WebCore::TilingData::TilingData):

2012-05-07  Raymond Toy  <rtoy@google.com>

        ConvolverNode setBuffer() should not ASSERT on null buffer
        https://bugs.webkit.org/show_bug.cgi?id=85653

        Reviewed by Chris Rogers.

        Test: webaudio/convolver-setBuffer-null.html

        * Modules/webaudio/ConvolverNode.cpp:
        (WebCore::ConvolverNode::setBuffer):  Don't ASSERT on null buffer.

2012-05-07  Ken Buchanan  <kenrb@chromium.org>

        Crash due to positioned object list not being cleared during block flow split
        https://bugs.webkit.org/show_bug.cgi?id=85074

        Reviewed by Abhishek Arya.

        When an element is being split due to a column span element being
        inserted, any of its ancestors that are underneath the column
        containing block also get split. If an ancestor has an object in
        its positioned object list from a previous layout, then the list
        will have to be cleared because the positioned object could have moved
        to be under the continuation. This patch causes the list to be
        cleared.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitBlocks):

2012-05-07  Eric Seidel  <eric@webkit.org>

        Add ENABLE_IFRAME_SEAMLESS so Apple can turn off SEAMLESS if needed
        https://bugs.webkit.org/show_bug.cgi?id=85822

        Reviewed by Adam Barth.

        * Configurations/FeatureDefines.xcconfig:
        * dom/Document.cpp:
        (WebCore::Document::shouldDisplaySeamlesslyWithParent):

2012-05-07  Shezan Baig  <shezbaig.wk@gmail.com>

        Selection Background Color Error
        https://bugs.webkit.org/show_bug.cgi?id=80382

        Reviewed by David Hyatt.

        Determine the text colors and selection colors before painting the
        background behind the text.  This is because when determining whether
        to invert the selection background, the selection text color should be
        used instead of the regular text color.  With this patch, the selection
        text color is passed to 'paintSelection' so that the selection
        background can be compared against it, instead of comparing against the
        CSSPropertyColor value.

        Test: fast/backgrounds/selection-background-color.html

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
            Pass selection text color to paintSelection

        (WebCore::InlineTextBox::paintSelection):
            Use the selection text color instead of CSSPropertyColor

        * rendering/InlineTextBox.h:
        (InlineTextBox):
            Adjust signature of paintSelection to accept text color

2012-05-07  David Reveman  <reveman@chromium.org>

        [Chromium] Use GL_CHROMIUM_command_buffer_query to throttle texture uploads.
        https://bugs.webkit.org/show_bug.cgi?id=81004

        Reviewed by Adrienne Walker.

        Add ThrottledTextureUploader class that uses GL_CHROMIUM_command_buffer_query
        to throttle texture uploads based on number of currently pending queries.

        Unit test: ThrottledTextureUploaderTest.IsBusy

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/TextureUploader.cpp: Removed.
        * platform/graphics/chromium/TextureUploader.h:
        (TextureUploader):
        * platform/graphics/chromium/ThrottledTextureUploader.cpp: Added.
        (WebCore):
        (WebCore::ThrottledTextureUploader::Query::Query):
        (WebCore::ThrottledTextureUploader::Query::~Query):
        (WebCore::ThrottledTextureUploader::Query::begin):
        (WebCore::ThrottledTextureUploader::Query::end):
        (WebCore::ThrottledTextureUploader::Query::isPending):
        (WebCore::ThrottledTextureUploader::Query::wait):
        (WebCore::ThrottledTextureUploader::ThrottledTextureUploader):
        (WebCore::ThrottledTextureUploader::~ThrottledTextureUploader):
        (WebCore::ThrottledTextureUploader::isBusy):
        (WebCore::ThrottledTextureUploader::beginUploads):
        (WebCore::ThrottledTextureUploader::endUploads):
        (WebCore::ThrottledTextureUploader::uploadTexture):
        (WebCore::ThrottledTextureUploader::processQueries):
        * platform/graphics/chromium/ThrottledTextureUploader.h: Copied from Source/WebCore/platform/graphics/chromium/TextureUploader.h.
        (WebCore):
        (ThrottledTextureUploader):
        (WebCore::ThrottledTextureUploader::create):
        (Query):
        (WebCore::ThrottledTextureUploader::Query::create):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (UnthrottledTextureUploader):
        (WebCore::UnthrottledTextureUploader::create):
        (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
        (WebCore::UnthrottledTextureUploader::isBusy):
        (WebCore::UnthrottledTextureUploader::beginUploads):
        (WebCore::UnthrottledTextureUploader::endUploads):
        (WebCore::UnthrottledTextureUploader::uploadTexture):
        (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
        (WebCore):
        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
        (WebCore::CCSingleThreadProxy::recreateContext):
        (WebCore::CCSingleThreadProxy::doCommit):
        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
        (WebCore::CCTextureUpdater::update):
        * platform/graphics/chromium/cc/CCTextureUpdater.h:
        (CCTextureUpdater):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore):
        (UnthrottledTextureUploader):
        (WebCore::UnthrottledTextureUploader::create):
        (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
        (WebCore::UnthrottledTextureUploader::isBusy):
        (WebCore::UnthrottledTextureUploader::beginUploads):
        (WebCore::UnthrottledTextureUploader::endUploads):
        (WebCore::UnthrottledTextureUploader::uploadTexture):
        (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
        (WebCore::CCThreadProxy::recreateContextOnImplThread):

2012-05-07  Rob Buis  <rbuis@rim.com>

        Shrink SVGInlineTextBox object size
        https://bugs.webkit.org/show_bug.cgi?id=85805

        Reviewed by Darin Adler.

        Reduce the object size of SVGInlineTextBox by using bitfields. This
        should be 4 bytes on 32-bits and 8 bytes on 64-bits systems.

        * rendering/svg/RenderSVGResource.h:
        * rendering/svg/SVGInlineTextBox.cpp:
        (ExpectedSVGInlineTextBoxSize):
        (WebCore):
        * rendering/svg/SVGInlineTextBox.h:
        (SVGInlineTextBox):

2012-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116334.
        http://trac.webkit.org/changeset/116334
        https://bugs.webkit.org/show_bug.cgi?id=85816

        Broke the Chromium Win/Mac compile (Requested by
        ojan_gardening on #webkit).

        * WebCore.gypi:
        * platform/graphics/chromium/AnimationIdVendor.cpp: Removed.
        * platform/graphics/chromium/AnimationIdVendor.h: Removed.
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (std):
        (WebCore::GraphicsLayerChromium::updateNames):
        (WebCore::GraphicsLayerChromium::addAnimation):
        (WebCore::GraphicsLayerChromium::updateChildList):
        (WebCore::GraphicsLayerChromium::mapAnimationNameToId):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore):
        (GraphicsLayerChromium):
        * platform/graphics/chromium/LinkHighlightLayerDelegate.cpp: Removed.
        * platform/graphics/chromium/LinkHighlightLayerDelegate.h: Removed.

2012-05-07  Adrienne Walker  <enne@google.com>

        Fix containerForRepaint() assumption about non-null enclosingLayer()
        https://bugs.webkit.org/show_bug.cgi?id=85807

        Reviewed by Simon Fraser.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containerForRepaint):

2012-05-07  Alec Flett  <alecflett@chromium.org>

        IndexedDB: Replace numeric constants with strings
        https://bugs.webkit.org/show_bug.cgi?id=84894

        Reviewed by Tony Chang.

        Test: storage/indexeddb/legacy-constants.html

        Update IDBObjectStore.openCursor, IDBIndex.openCursor,
        IDBIndex.openKeyCursor, IDBDatabase.transaction,
        IDBCursor.direction, IDBTransaction.mode, and
        IDBRequest.readyState to meet the latest spec. All of these APIs
        now support string-based values in addition to the
        legacy/deprecated enum-based values.

        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore):
        (WebCore::IDBCursor::direction):
        (WebCore::IDBCursor::stringToDirection):
        (WebCore::IDBCursor::directionToString):
        * Modules/indexeddb/IDBCursor.h:
        (IDBCursor):
        * Modules/indexeddb/IDBCursor.idl:
        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::transaction):
        (WebCore):
        * Modules/indexeddb/IDBDatabase.h:
        (IDBDatabase):
        * Modules/indexeddb/IDBDatabase.idl:
        * Modules/indexeddb/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore):
        (WebCore::IDBIndex::openKeyCursor):
        * Modules/indexeddb/IDBIndex.h:
        (WebCore::IDBIndex::openCursor):
        (IDBIndex):
        (WebCore::IDBIndex::openKeyCursor):
        * Modules/indexeddb/IDBIndex.idl:
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::openCursor):
        (WebCore):
        * Modules/indexeddb/IDBObjectStore.h:
        (WebCore::IDBObjectStore::openCursor):
        (IDBObjectStore):
        * Modules/indexeddb/IDBObjectStore.idl:
        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::readyState):
        (WebCore::IDBRequest::markEarlyDeath):
        (WebCore::IDBRequest::resetReadyState):
        (WebCore::IDBRequest::abort):
        (WebCore::IDBRequest::finishCursor):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::stop):
        * Modules/indexeddb/IDBRequest.h:
        * Modules/indexeddb/IDBRequest.idl:
        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore):
        (WebCore::IDBTransaction::mode):
        (WebCore::IDBTransaction::stringToMode):
        (WebCore::IDBTransaction::modeToString):
        * Modules/indexeddb/IDBTransaction.h:
        (IDBTransaction):
        * Modules/indexeddb/IDBTransaction.idl:

2012-05-07  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Create LinkHighlightLayerChromium class to provide link-highlight preview animations for GraphicsLayerChromium.
        https://bugs.webkit.org/show_bug.cgi?id=85084

        Reviewed by Adrienne Walker.

        Unit test provided.

        Creates a layer delegate class to provide link highlight animations for link-preview feature.
        These are added to a GraphicsLayerChromium via provided methods. Moves dispensing of animation
        ids into a separate class.

        * WebCore.gypi:
        * platform/graphics/chromium/AnimationIdVendor.cpp: Added.
        (WebCore):
        (WebCore::AnimationIdVendor::getNextAnimationId):
        (WebCore::AnimationIdVendor::getNextGroupId):
        * platform/graphics/chromium/AnimationIdVendor.h: Added.
        (WebCore):
        (AnimationIdVendor):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateNames):
        (WebCore::GraphicsLayerChromium::addAnimation):
        (WebCore::GraphicsLayerChromium::addLinkHighlightLayer):
        (WebCore):
        (WebCore::GraphicsLayerChromium::didFinishLinkHighlightLayer):
        (WebCore::GraphicsLayerChromium::updateChildList):
        (WebCore::GraphicsLayerChromium::mapAnimationNameToId):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore):
        (GraphicsLayerChromium):
        * platform/graphics/chromium/LinkHighlightLayerDelegate.cpp: Added.
        (WebCore):
        (WebCore::LinkHighlightLayerDelegate::create):
        (WebCore::LinkHighlightLayerDelegate::LinkHighlightLayerDelegate):
        (WebCore::LinkHighlightLayerDelegate::~LinkHighlightLayerDelegate):
        (WebCore::LinkHighlightLayerDelegate::getContentLayer):
        (WebCore::LinkHighlightLayerDelegate::paintContents):
        (WebCore::LinkHighlightLayerDelegate::didScroll):
        (WebCore::LinkHighlightLayerDelegate::notifyAnimationStarted):
        (WebCore::LinkHighlightLayerDelegate::notifyAnimationFinished):
        * platform/graphics/chromium/LinkHighlightLayerDelegate.h: Added.
        (WebCore):
        (LinkHighlightLayerDelegate):

2012-05-07  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: LevelDB coding for bools is broken
        https://bugs.webkit.org/show_bug.cgi?id=85810

        Reviewed by Tony Chang.

        Code was appending to a pre-sized Vector, rather than using an
        index setter. This caused uninitialized data to be written out.
        Issue was detected on the Chromium side in http://crbug.com/126388

        Tests: webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.*codeBool'

        * Modules/indexeddb/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::encodeBool):

2012-05-07  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] CCMathUtil projectPoint needs to avoid divide-by-zero
        https://bugs.webkit.org/show_bug.cgi?id=85560

        Reviewed by Adrienne Walker.

        Unit test added: CCMathUtilTest.cpp - verifyProjectionOfPerpendicularPlane
        Unit test updated/renamed: CCLayerTreeHostCommonTest.cpp - verifyVisibleRectFor3dPerspectiveWhenClippedByW

        The divide-by-zero occurs in an innocuous case where the layers
        are probably invisible anyway. However, producing Infs and NaNs
        could cause values to be used when un-intended, so its appropriate
        to handle the divide-by-zero correctly.

        * platform/graphics/chromium/cc/CCMathUtil.cpp:
        (WebCore::projectPoint):

2012-05-07  Pravin D  <pravind.2k4@gmail.com>

        Wrong positioning due to wrong width calculation wrt width:0
        https://bugs.webkit.org/show_bug.cgi?id=50135

        Reviewed by Eric Seidel.

        Test: fast/block/block-parent-with-zero-width-child.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computePreferredLogicalWidths):
        When width is fixed, the specified width must be taken, provided the value is positive.
        Width=0 case was being ignored.

2012-05-07  Noel Gordon  <noel.gordon@gmail.com>

        [CG] ImageBuffer::ImageDataToDataURL: Remove alpha stuffing when encoding to JPEG
        https://bugs.webkit.org/show_bug.cgi?id=85779

        Reviewed by Eric Seidel.

        No change in behavior. Covered by fast/canvas/webgl/premultiplyalpha-test.html

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageDataToDataURL): Remove the need to stuff the alpha channel with 255.
        Rename dataVector to premultipliedData and verify that its resize() worked. Rewrite
        the premultiplication loop without the alpha channel = 255 part and ask the CG JPEG
        encoder to ignore the alpha channel (kCGImageAlphaNoneSkipLast) instead.

2012-05-07  Dominik Röttsches  <dominik.rottsches@linux.intel.com>

        [GTK] media/video-seek-past-end-playing.html times out
        https://bugs.webkit.org/show_bug.cgi?id=84858

        Reviewed by Philippe Normand.

        Removing the intentional state change to PAUSED on didEnd().
        My understanding is that the fix works because the additional
        state transition to PAUSED was resetting the internal m_seeking state to early,
        so that updatePlayState() in HTMLMediaElement was not able to
        correctly figure out/recover playstate after seeking.

        No new tests, covered by existing media tests, and fixing
        video-seek-past-end-playing.html flakiness on GTK, failure on EFL.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

2012-05-07  Abhishek Arya  <inferno@chromium.org>

        Crash in RenderBlock::updateFirstLetterStyle.
        https://bugs.webkit.org/show_bug.cgi?id=85759

        Reviewed by Julien Chaffraix.

        Test: fast/css-generated-content/first-letter-next-sibling-crash.html

        RenderBlock::removeChild can bring up the children from last single anonymous block,
        causing |nextSibling| in RenderBlock::updateFirstLetterStyle to go stale. We prevent
        this by removing the child safely using removeChildNode before destroying it.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetterStyle):

2012-05-07  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Rename MediaStreamCenter::didConstructMediaStream
        https://bugs.webkit.org/show_bug.cgi?id=85796

        Reviewed by Adam Barth.

        Renamed MediaStreamCenter::didConstructMediaStream to didCreateMediaStream,
        and change so that it is only called for MediaStreams created from JS.

        Not really testable.

        * Modules/mediastream/MediaStream.cpp:
        (WebCore::MediaStream::create):
        * platform/mediastream/MediaStreamCenter.h:
        (MediaStreamCenter):
        * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
        (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
        * platform/mediastream/chromium/MediaStreamCenterChromium.h:
        (MediaStreamCenterChromium):
        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
        (WebCore::MediaStreamCenterGStreamer::didCreateMediaStream):
        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
        (MediaStreamCenterGStreamer):

2012-05-07  Nat Duca  <nduca@chromium.org>

        Unreviewed, rolling out r115525.
        http://trac.webkit.org/changeset/115525
        https://bugs.webkit.org/show_bug.cgi?id=66683

        Too many pages rely on DOMTimeStamp as first argument.
        Reverting while we consider next steps.

        * WebCore.exp.in:
        * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:
        (WebCore::JSRequestAnimationFrameCallback::handleEvent):
        * dom/Document.cpp:
        (WebCore::Document::serviceScriptedAnimations):
        * dom/Document.h:
        (Document):
        * dom/RequestAnimationFrameCallback.h:
        (RequestAnimationFrameCallback):
        * dom/RequestAnimationFrameCallback.idl:
        * dom/ScriptedAnimationController.cpp:
        (WebCore::ScriptedAnimationController::ScriptedAnimationController):
        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
        (WebCore):
        (WebCore::ScriptedAnimationController::windowScreenDidChange):
        (WebCore::ScriptedAnimationController::scheduleAnimation):
        (WebCore::ScriptedAnimationController::animationTimerFired):
        * dom/ScriptedAnimationController.h:
        (ScriptedAnimationController):
        (WebCore::ScriptedAnimationController::displayRefreshFired):
        * page/FrameView.cpp:
        (WebCore::FrameView::serviceScriptedAnimations):
        * page/FrameView.h:
        (FrameView):
        * platform/graphics/DisplayRefreshMonitor.cpp:
        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
        (WebCore::DisplayRefreshMonitor::notifyClients):
        * platform/graphics/DisplayRefreshMonitor.h:
        (DisplayRefreshMonitor):
        * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
        (WebCore::DisplayRefreshMonitor::displayLinkFired):
        * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
        (WebCore):
        (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
        (WebCore::DisplayRefreshMonitor::displayLinkFired):

2012-05-07  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Allow UserMediaRequest::succeed to take an MediaStreamDescriptor
        https://bugs.webkit.org/show_bug.cgi?id=85798

        Reviewed by Adam Barth.

        Adding another UserMediaRequest::succeed function that takes an MediaStreamDescriptor
        instead of the two MediaStreamSource arrays.

        Not currently testable.

        * Modules/mediastream/LocalMediaStream.cpp:
        (WebCore::LocalMediaStream::create):
        (WebCore):
        (WebCore::LocalMediaStream::LocalMediaStream):
        * Modules/mediastream/LocalMediaStream.h:
        (LocalMediaStream):
        * Modules/mediastream/UserMediaRequest.cpp:
        (WebCore::UserMediaRequest::succeed):
        (WebCore):
        * Modules/mediastream/UserMediaRequest.h:
        (WebCore):
        (UserMediaRequest):

2012-05-07  Michal Mocny  <mmocny@google.com>

        [chromium] setContentsMemoryAllocationLimitBytes needs to setNeedsCommit.
        https://bugs.webkit.org/show_bug.cgi?id=85801

        Reviewed by Adrienne Walker.

        CCLayerTreeHost::setContentsMemoryAllocationLimitBytes needs to call setNeedsCommit after adjusting memory
        limits, so that we push a new frame.  In particular, when returning from non visibile state, we adjust
        memory allocation from 0 to non 0, and we need to push a non blank frame.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setVisible):
        (WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):

2012-05-07  Christophe Dumez  <christophe.dumez@intel.com>

        [EFL] media/track/track-cue-rendering-snap-to-lines-not-set.html fails
        https://bugs.webkit.org/show_bug.cgi?id=85602

        Reviewed by Eric Carlson.

        Fix positioning of the controls panel back to relative, as it is
        in the parent CSS.

        * css/mediaControlsEfl.css:
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):

2012-05-07  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        MediaStream should not be an ActiveDOMObject
        https://bugs.webkit.org/show_bug.cgi?id=85191

        Reviewed by Adam Barth.

        The model with MediaStreamDescriptor and MediaStream (and LocalMediaStream)
        allows the JavaScript objects (MediaStream and LocalMediaStream) to be
        cleaned up while the MediaStreamDescriptor lives on to manage the stream in
        the platform. This happens for example when a URL is created to represent
        a MediaStream (using createObjectURL()). In that case, the MediaStreamDescriptor
        is put into the MediaStreamRegistry and even though the MediaStream object is
        lost, the URL still works since the descriptor is kept in the registry.

        The changes introduced in r113460 (http://webkit.org/b/83143) turned
        MediaStream and LocalMediaStream into ActiveDOMObjects. For example on page
        reload, LocalMediaStream calls MediaStreamCenter::didStopLocalMediaStream()
        via its ActiveDOMObject::stop() method. However, when a page reload occurs,
        the LocalMediaStream object may have been cleaned up already and
        MediaStreamCenter::didStopLocalMediaStream() will not be called.

        One way to make the behavior consistent would be to call
        MediaStreamCenter::didStopLocalMediaStream() when the descriptor is cleaned up,
        cause then we wouldn't be dependent on the LocalMediaStream object being alive.
        However, calling MediaStreamCenter::didStopLocalMediaStream() might not be the
        correct thing to do when all references to the descriptor are lost since there
        can be MediaStream objects constructed from the tracks of the LocalMediaStream
        that should continue to work. MediaStreamCenter::didStopLocalMediaStream() was
        intended for LocalMediaStream.stop() which is used to revoke access to devices;
        that should not necessarily happen when the descriptor of a LocalMediaStream is
        cleaned up. If it's necessary for some ports to signal to the platform that a
        MediaStreamDescriptor is cleaned up, then I would suggest adding a new function,
        willDestroyMediaStreamDescriptor(), to the MediaStreamCenter interface.

        The current resolution is to make MediaStream a ContextDestructionObserver
        instead of an ActiveDOMObject.

        Currently not testable.

        * Modules/mediastream/LocalMediaStream.cpp:
        (WebCore::LocalMediaStream::create):
        * Modules/mediastream/LocalMediaStream.h:
        (LocalMediaStream):
        * Modules/mediastream/LocalMediaStream.idl:
        * Modules/mediastream/MediaStream.cpp:
        (WebCore::MediaStream::create):
        (WebCore::MediaStream::MediaStream):
        (WebCore::MediaStream::scriptExecutionContext):
        * Modules/mediastream/MediaStream.h:

2012-05-07  Liam Quinn  <lquinn@rim.com>

        [BlackBerry] WWW-Authenticate header on 200 response pops up authentication dialog
        https://bugs.webkit.org/show_bug.cgi?id=85643

        Reviewed by George Staikos.

        RIM PR: 151992
        Ignore WWW-Authenticate header if the response code is not 401.
        Ignore Proxy-Authenticate header if the response code is not 407.

        Manual test added to observe whether the authentication dialog appears on a 200 response with WWW-Authenticate.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleNotifyHeaderReceived):

2012-05-07  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [TextPrompt] Event listeners and CSS style are not removed on detachment
        https://bugs.webkit.org/show_bug.cgi?id=85789

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._attachInternal):
        (WebInspector.TextPrompt.prototype.detach):

2012-05-07  Csaba Osztrogonác  <ossy@webkit.org>

        Buildfix for buggy GCC
        https://bugs.webkit.org/show_bug.cgi?id=85781

        Reviewed by Zoltan Herczeg.

        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::MarginInfo::clearMargin):

2012-05-07  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [REGRESSION] Context menu for the left Script view gutter is broken
        https://bugs.webkit.org/show_bug.cgi?id=85785

        Reviewed by Pavel Feldman.

        Fixed remaining usages of WebInspector.save to be WebInspector.fileManager.save.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._exportAll):
        (WebInspector.NetworkLogView.prototype._exportRequest):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._contextMenu):


2012-05-07  Antti Koivisto  <antti@apple.com>

        Share stylesheet data structures between documents
        https://bugs.webkit.org/show_bug.cgi?id=85598

        Reviewed by Darin Adler.

        We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
        the data until someone uses a mutating CSSOM API to modify the sheet.
        
        The patch implements copy-on-write for the internal style sheet data structures. If any mutating CSSOM API is
        invoked, we check if the mutation is safe (there is only one client, the sheet is not cached). If not then the
        internal structures are copied and any existing CSSOM objects are re-attached to the new style tree. The copied
        tree is mutated while the other clients stay attached to the original tree.
        
        Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
        multiple articles open on wsj.com this saves ~2.6MB per tab.
        
        Test: http/tests/css/shared-stylesheet-mutation.html
              http/tests/css/shared-stylesheet-mutation-preconstruct.html

        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::reattach):
        (WebCore):
        * css/CSSFontFaceRule.h:
        (CSSFontFaceRule):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::insertRule):
        (WebCore::CSSMediaRule::deleteRule):
        (WebCore::CSSMediaRule::reattach):
        (WebCore):
        * css/CSSMediaRule.h:
        (CSSMediaRule):
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::setSelectorText):
        (WebCore::CSSPageRule::reattach):
        (WebCore):
        * css/CSSPageRule.h:
        (CSSPageRule):
        * css/CSSRule.cpp:
        (WebCore::CSSRule::reattach):
        
            After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.

        * css/CSSRule.h:
        (WebCore):
        (CSSRule):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):
        (WebCore::CSSStyleRule::reattach):
        (WebCore):
        * css/CSSStyleRule.h:
        (CSSStyleRule):
        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::StyleSheetInternal):
        (WebCore::StyleSheetInternal::isCacheable):
        (WebCore::StyleSheetInternal::ruleAt):
        
            Add ruleAt(), use it for both wrapper creation and reattaching.  Remove createChildRuleCSSOMWrapper .

        (WebCore):
        (WebCore::StyleSheetInternal::wrapperInsertRule):
        (WebCore::StyleSheetInternal::wrapperDeleteRule):
        
            Invalidation moves to the calling wrapper.

        (WebCore::StyleSheetInternal::addedToMemoryCache):
        (WebCore::StyleSheetInternal::removedFromMemoryCache):
        (WebCore::CSSStyleSheet::willMutateRules):
        
            This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.
            
            Usually invoked by CSSStyleSheet::RuleMutation RAII type.

        (WebCore::CSSStyleSheet::didMutateRules):
        
            This is called after the mutation is complete and will trigger the style recalc in the document.

        (WebCore::CSSStyleSheet::didMutate):
        
            This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.

        (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
        (WebCore::CSSStyleSheet::setDisabled):
        (WebCore::CSSStyleSheet::insertRule):
        (WebCore::CSSStyleSheet::deleteRule):
        * css/CSSStyleSheet.h:
        (StyleSheetInternal):
        (WebCore::StyleSheetInternal::hasOneClient):
        (WebCore::StyleSheetInternal::isMutable):
        (WebCore::StyleSheetInternal::setMutable):
        
            Track mutability. Mutation is allowed only after willMutate call.

        (WebCore::StyleSheetInternal::isInMemoryCache):
        
            Track if the object is in memory cache.

        (WebCore::CSSStyleSheet::clearOwnerRule):
        (CSSStyleSheet):
        * css/MediaList.cpp:
        (WebCore::MediaList::setMediaText):
        (WebCore::MediaList::deleteMedium):
        (WebCore::MediaList::appendMedium):
        (WebCore::MediaList::didMutate):
        (WebCore):
        (WebCore::MediaList::reattach):
        * css/MediaList.h:
        (MediaList):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
        (WebCore):
        (WebCore::StyleRuleCSSStyleDeclaration::willMutate):
        (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
        (WebCore::StyleRuleCSSStyleDeclaration::reattach):
        (WebCore::InlineCSSStyleDeclaration::didMutate):
        * css/PropertySetCSSStyleDeclaration.h:
        (WebCore::PropertySetCSSStyleDeclaration::willMutate):
        (WebCore::PropertySetCSSStyleDeclaration::didMutate):
        (StyleRuleCSSStyleDeclaration):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::setName):
        (WebCore::WebKitCSSKeyframesRule::insertRule):
        (WebCore::WebKitCSSKeyframesRule::deleteRule):
        (WebCore::WebKitCSSKeyframesRule::reattach):
        (WebCore):
        * css/WebKitCSSKeyframesRule.h:
        (WebKitCSSKeyframesRule):
        * css/WebKitCSSRegionRule.cpp:
        (WebCore::WebKitCSSRegionRule::reattach):
        * css/WebKitCSSRegionRule.h:
        (WebKitCSSRegionRule):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        * loader/cache/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
        (WebCore::CachedCSSStyleSheet::destroyDecodedData):
        (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
        
            Don't copy when restoring. It is no longer necessary.
            Set the cache bit on the stylesheet.

        (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

2012-05-06  Kinuko Yasuda  <kinuko@chromium.org>

        Cleanup: Change boolean synchronous flag argument into enum in FileSystem API code
        https://bugs.webkit.org/show_bug.cgi?id=85741

        Reviewed by David Levin.

        No new tests as this change has no functional effects.

        * Modules/filesystem/DOMWindowFileSystem.cpp:
        (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
        * Modules/filesystem/LocalFileSystem.cpp:
        (WebCore::LocalFileSystem::requestFileSystem):
        * Modules/filesystem/LocalFileSystem.h:
        (LocalFileSystem):
        * Modules/filesystem/WorkerContextFileSystem.cpp:
        (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
        (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
        * platform/FileSystemType.h: Added FileSystemSynchronousType enum.

2012-05-07  Antti Koivisto  <antti@apple.com>

        Revert the previous.

        Not reviewed.
        
        Apparently r116235 was already rolled out.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::determineScope):

2012-05-07  Antti Koivisto  <antti@apple.com>

        REGRESSION(r116235): broke a lot of tests on all chromium debug bots
        https://bugs.webkit.org/show_bug.cgi?id=85773

        Not reviewed.

        Try to fix assert when scoped stylesheets are enabled.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::determineScope):

2012-05-06  Kinuko Yasuda  <kinuko@chromium.org>

        Cleanup: Move FileSystem API type definitions into a separate header file
        https://bugs.webkit.org/show_bug.cgi?id=85738

        Reviewed by David Levin.

        Move FileSystem API type definitions from AsyncFileSystem.h and
        AsyncFileSystemChromium.cpp for chromium port into a single separate
        header file: FileSystemType.h

        By doing this we make it clearer that every filesystem type can be
        found in the header file and also can save including entire
        AsyncFileSystem definition just for referring type enum value.

        No new tests as this change has no visible or functional changes.

        * Modules/filesystem/DOMFileSystemBase.cpp:
        (WebCore::pathToAbsolutePath):
        * Modules/filesystem/DOMWindowFileSystem.cpp:
        (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
        (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
        (WebCore):
        * Modules/filesystem/DOMWindowFileSystem.h:
        * Modules/filesystem/LocalFileSystem.h:
        (LocalFileSystem):
        * Modules/filesystem/WorkerContextFileSystem.cpp:
        (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
        (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
        (WebCore):
        * Modules/filesystem/WorkerContextFileSystem.h:
        * platform/AsyncFileSystem.cpp:
        (WebCore::AsyncFileSystem::isValidType):
        (WebCore::AsyncFileSystem::create):
        (WebCore::AsyncFileSystem::openFileSystem):
        * platform/AsyncFileSystem.h:
        (AsyncFileSystem):
        (WebCore::AsyncFileSystem::type):
        (WebCore::AsyncFileSystem::AsyncFileSystem):
        * platform/FileSystemType.h: Added.
        (WebCore):
        * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
        (WebCore::AsyncFileSystem::isValidType):
        (WebCore::AsyncFileSystem::create):
        (WebCore::AsyncFileSystem::openFileSystem):
        (WebCore::AsyncFileSystem::crackFileSystemURL):
        (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
        * platform/blackberry/AsyncFileSystemBlackBerry.h:
        (AsyncFileSystemBlackBerry):
        * platform/gtk/AsyncFileSystemGtk.cpp:
        (WebCore::AsyncFileSystem::isValidType):
        (WebCore::AsyncFileSystem::create):
        (WebCore::AsyncFileSystem::openFileSystem):
        (WebCore::AsyncFileSystem::crackFileSystemURL):
        (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
        * platform/gtk/AsyncFileSystemGtk.h:
        (AsyncFileSystemGtk):

2012-05-06  MORITA Hajime  <morrita@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=85265
        [Shadow DOM] ShadowTree needs a better name

        Reviewed by Dimitri Glazkov.

        Renamed ShadowTree to ElementShadow, The ElementShadow class is
        going to be a facade of Shadow related APIs.

        Following renames follow:
        - Element::shadowTree() to Element::shadow()
        - ShadowRoot::tree() to ShadowRoot::owner()
        - ShadowTree::recalcShadowTreeStyle() to ElementShadow::recalcStyle()

        No new tests. Just renames.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ComposedShadowTreeWalker.cpp:
        (WebCore::shadowFor):
        (WebCore::shadowOfParent):
        (WebCore::ComposedShadowTreeWalker::traverseChild):
        (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
        (WebCore::ComposedShadowTreeWalker::traverseParent):
        * dom/ContainerNodeAlgorithms.cpp:
        (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
        (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
        (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
        (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
        * dom/DOMAllInOne.cpp:
        * dom/Document.cpp:
        (WebCore::Document::buildAccessKeyMap):
        * dom/Element.cpp:
        (WebCore::Element::~Element):
        (WebCore::Element::willRemove):
        (WebCore::Element::attach):
        (WebCore::Element::detach):
        (WebCore::Element::recalcStyle):
        (WebCore::Element::hasShadowRoot):
        (WebCore::Element::shadow):
        (WebCore::Element::ensureShadow):
        (WebCore::Element::ensureShadowRoot):
        (WebCore::Element::childrenChanged):
        * dom/Element.h:
        (WebCore):
        (Element):
        * dom/ElementRareData.h:
        (ElementRareData):
        (WebCore::ElementRareData::~ElementRareData):
        * dom/ElementShadow.cpp: Renamed from Source/WebCore/dom/ShadowTree.cpp.
        (WebCore):
        (WebCore::ElementShadow::ElementShadow):
        (WebCore::ElementShadow::~ElementShadow):
        (WebCore::validateShadowRoot):
        (WebCore::ElementShadow::addShadowRoot):
        (WebCore::ElementShadow::removeAllShadowRoots):
        (WebCore::ElementShadow::willRemove):
        (WebCore::ElementShadow::setParentTreeScope):
        (WebCore::ElementShadow::attach):
        (WebCore::ElementShadow::attachHost):
        (WebCore::ElementShadow::detach):
        (WebCore::ElementShadow::detachHost):
        (WebCore::ElementShadow::insertionPointFor):
        (WebCore::ElementShadow::selectionFor):
        (WebCore::ElementShadow::reattach):
        (WebCore::ElementShadow::childNeedsStyleRecalc):
        (WebCore::ElementShadow::needsStyleRecalc):
        (WebCore::ElementShadow::recalcStyle):
        (WebCore::ElementShadow::needsReattachHostChildrenAndShadow):
        (WebCore::ElementShadow::hostChildrenChanged):
        (WebCore::ElementShadow::setNeedsReattachHostChildrenAndShadow):
        (WebCore::ElementShadow::reattachHostChildrenAndShadow):
        * dom/ElementShadow.h: Renamed from Source/WebCore/dom/ShadowTree.h.
        (WebCore):
        (ElementShadow):
        (WebCore::ElementShadow::hasShadowRoot):
        (WebCore::ElementShadow::youngestShadowRoot):
        (WebCore::ElementShadow::oldestShadowRoot):
        (WebCore::ElementShadow::selector):
        (WebCore::ElementShadow::clearNeedsReattachHostChildrenAndShadow):
        (WebCore::ElementShadow::host):
        (ShadowRootVector):
        (WebCore::ShadowRootVector::ShadowRootVector):
        * dom/Node.cpp:
        (WebCore::oldestShadowRootFor):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::NodeRenderingContext::hostChildrenChanged):
        * dom/NodeRenderingContext.h:
        (WebCore):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
        (WebCore::ShadowRoot::owner):
        * dom/ShadowRoot.h:
        (WebCore):
        (ShadowRoot):
        * dom/TreeScopeAdopter.cpp:
        (WebCore::shadowFor):
        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
        (WebCore::TreeScopeAdopter::moveShadowToNewDocument):
        * dom/TreeScopeAdopter.h:
        (TreeScopeAdopter):
        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::createShadowSubtree):
        (WebCore::ColorInputType::shadowColorSwatch):
        * html/FileInputType.cpp:
        (WebCore::FileInputType::createShadowSubtree):
        (WebCore::FileInputType::multipleAttributeChanged):
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::findMainSummary):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::shadowSelect):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaControls):
        (WebCore::HTMLMediaElement::hasMediaControls):
        * html/HTMLSummaryElement.cpp:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::innerTextElement):
        (WebCore::HTMLTextAreaElement::updatePlaceholderText):
        * html/InputType.cpp:
        (WebCore::InputType::destroyShadowSubtree):
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleMouseDownEvent):
        (WebCore::RangeInputType::createShadowSubtree):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::createShadowSubtree):
        (WebCore::TextFieldInputType::updatePlaceholderText):
        * html/ValidationMessage.cpp:
        (WebCore::ValidationMessage::deleteBubbleTree):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::parseAttribute):
        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::attach):
        (WebCore::InsertionPoint::detach):
        (WebCore::InsertionPoint::distributeHostChildren):
        (WebCore::InsertionPoint::clearDistribution):
        * html/shadow/InsertionPoint.h:
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::sliderThumbElementOf):
        (WebCore::RenderSliderContainer::layout):
        (WebCore::trackLimiterElementOf):
        * html/shadow/TextFieldDecorationElement.cpp:
        (WebCore::getDecorationRootAndDecoratedRoot):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::unbind):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * page/FocusController.cpp:
        (WebCore::FocusScope::focusScopeOf):
        (WebCore::FocusScope::focusScopeOwnedByShadowHost):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::uploadButton):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::updateReferencedText):
        (WebCore::SVGTRefElement::detachTarget):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::clearResourceReferences):
        (WebCore::SVGUseElement::buildShadowAndInstanceTree):
        (WebCore::SVGUseElement::buildShadowTree):
        * testing/Internals.cpp:
        (WebCore::Internals::ensureShadowRoot):
        (WebCore::Internals::youngestShadowRoot):
        (WebCore::Internals::oldestShadowRoot):
        (WebCore::Internals::removeShadowRoot):

2012-05-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116235.
        http://trac.webkit.org/changeset/116235
        https://bugs.webkit.org/show_bug.cgi?id=85773

        broke a lot of tests on all chromium debug bots (Requested by
        caseq_ on #webkit).

        * bindings/objc/DOMCSS.mm:
        * css/CSSFontFaceRule.cpp:
        * css/CSSFontFaceRule.h:
        (CSSFontFaceRule):
        * css/CSSImportRule.cpp:
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::insertRule):
        (WebCore::CSSMediaRule::deleteRule):
        * css/CSSMediaRule.h:
        (CSSMediaRule):
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::setSelectorText):
        * css/CSSPageRule.h:
        (CSSPageRule):
        * css/CSSRule.cpp:
        * css/CSSRule.h:
        (CSSRule):
        (WebCore::CSSRule::parserContext):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):
        * css/CSSStyleRule.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::StyleSheetInternal):
        (WebCore::StyleSheetInternal::isCacheable):
        (WebCore::StyleSheetInternal::createChildRuleCSSOMWrapper):
        (WebCore::StyleSheetInternal::wrapperInsertRule):
        (WebCore::StyleSheetInternal::wrapperDeleteRule):
        (WebCore::StyleSheetInternal::styleSheetChanged):
        (WebCore):
        (WebCore::CSSStyleSheet::setDisabled):
        (WebCore::CSSStyleSheet::item):
        (WebCore::CSSStyleSheet::insertRule):
        (WebCore::CSSStyleSheet::deleteRule):
        * css/CSSStyleSheet.h:
        (StyleSheetInternal):
        (WebCore::StyleSheetInternal::hasCharsetRule):
        (WebCore::CSSStyleSheet::styleSheetChanged):
        (CSSStyleSheet):
        * css/MediaList.cpp:
        (WebCore::MediaList::setMediaText):
        (WebCore::MediaList::deleteMedium):
        (WebCore::MediaList::appendMedium):
        (WebCore::MediaList::notifyChanged):
        * css/MediaList.h:
        (MediaList):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
        (WebCore::PropertySetCSSStyleDeclaration::didMutate):
        (WebCore):
        (WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
        (WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc):
        * css/PropertySetCSSStyleDeclaration.h:
        (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
        (PropertySetCSSStyleDeclaration):
        (StyleRuleCSSStyleDeclaration):
        * css/StylePropertySet.cpp:
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::setName):
        (WebCore::WebKitCSSKeyframesRule::insertRule):
        (WebCore::WebKitCSSKeyframesRule::deleteRule):
        * css/WebKitCSSKeyframesRule.h:
        (WebKitCSSKeyframesRule):
        * css/WebKitCSSRegionRule.cpp:
        * css/WebKitCSSRegionRule.h:
        (WebKitCSSRegionRule):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        * loader/cache/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
        (WebCore::CachedCSSStyleSheet::destroyDecodedData):
        (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
        (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

2012-05-06  Adam Barth  <abarth@webkit.org>

        Attempt to fix the !ENABLE(INSPECTOR) build by making InspectorValues
        available unconditionally.  We should probably rename these classes to
        JSONValues and move them into WebCore/platform.

        * inspector/InspectorValues.cpp:
        * inspector/InspectorValues.h:

2012-05-06  Adam Barth  <abarth@webkit.org>

        CSP violation reports should have all the fields required by the spec
        https://bugs.webkit.org/show_bug.cgi?id=85682

        Reviewed by Darin Adler.

        This patch updates our CSP violation reports to include all the fields
        in the spec.  We've discussed all these fields in the working group,
        and we have fairly high confidence that these are safe to expose.

        Tests: http/tests/security/contentSecurityPolicy/report-and-enforce.html
               http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin.html
               http/tests/security/contentSecurityPolicy/report-blocked-uri.html
               http/tests/security/contentSecurityPolicy/report-only-from-header.html
               http/tests/security/contentSecurityPolicy/report-only.html
               http/tests/security/contentSecurityPolicy/report-uri-from-child-frame.html
               http/tests/security/contentSecurityPolicy/report-uri.html

        * page/ContentSecurityPolicy.cpp:
        (CSPDirectiveList):
        (WebCore::CSPDirectiveList::reportViolation):
        (WebCore::CSPDirectiveList::checkSourceAndReportViolation):

2012-05-06  Kinuko Yasuda  <kinuko@chromium.org>

        Cleanup: FileSystem API's Entry.toURL() impl should return KURL instead of String
        https://bugs.webkit.org/show_bug.cgi?id=85736

        Change the return type of Entry::toURL() from String to KURL.

        Reviewed by David Levin.

        No new tests as this change should not have any visible impact in the javascript layer.

        * Modules/filesystem/EntryBase.cpp:
        (WebCore::EntryBase::toURL):
        * Modules/filesystem/EntryBase.h:
        * platform/AsyncFileSystem.h:
        * platform/blackberry/AsyncFileSystemBlackberry.cpp:
        (AsyncFileSystemBlackberry::toURL):
        * platform/blackberry/AsyncFileSystemBlackberry.h:
        * platform/gtk/AsyncFileSystemGtk.cpp:
        (AsyncFileSystemGtk::toURL):
        * platform/gtk/AsyncFileSystemGtk.h:

2012-05-06  Kentaro Hara  <haraken@chromium.org>

        [V8][Performance] Remove Isolate lookup from the call path
        to get a cached JS wrapper object by getDOMXXXXMap().
        https://bugs.webkit.org/show_bug.cgi?id=85205

        Reviewed by Adam Barth.

        The patch improves the performance of getting a cached JS wrapper
        by getDOMXXXXMap(). For example, it improves the performance
        of toV8(NodeList*) in getElementsByTagName(), getElementsByName(),
        getElementsByClassName() by 7 ~ 9%.

        Performance tests: https://bugs.webkit.org/attachment.cgi?id=139468

        The performance test results in my Linux desktop:

        getElementsByTagName :   40.76 ms => 37.52ms (+8.6%)
        getElementsByName :      41.02 ms => 37.42ms (+9.6%)
        getElementsByClassName : 40.32 ms => 37.68ms (+7.0%)

        Unfortunately we cannot observe performance improvement in
        Dromaeo/dom-query.html, which are testing getElementsByTagName(),
        getElementsByName(), getElementsByClassName(). This is because
        the bottleneck of these Dromaeo tests is not toV8(NodeList*) but
        .length and .nodeType accesses. The patch for optimizing them
        will be coming soon.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
        (GenerateHeader):
        (GenerateNormalAttrGetter):
        (GetDomMapFunction):
        (NativeToJSValue):
        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::getCurrentStore):

        * bindings/scripts/test/V8/V8Float64Array.h: Updated run-bindings-tests results.
        (WebCore::V8Float64Array::wrap):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (WebCore::V8TestActiveDOMObject::wrap):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (WebCore::V8TestCustomNamedGetter::wrap):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (WebCore::V8TestEventConstructor::wrap):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::TestEventTargetV8Internal::itemCallback):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (WebCore::V8TestEventTarget::wrap):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (WebCore::V8TestInterface::wrap):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (WebCore::V8TestMediaQueryListListener::wrap):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (WebCore::V8TestNamedConstructor::wrap):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
        (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
        (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
        (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
        (WebCore::TestObjV8Internal::getSVGDocumentCallback):
        * bindings/scripts/test/V8/V8TestObj.h:
        (WebCore::V8TestObj::wrap):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (WebCore::V8TestSerializedScriptValueInterface::wrap):

2012-05-06  Adam Barth  <abarth@webkit.org>

        Content Security Policy reports should be reported with content-type application/json, should contain all required fields
        https://bugs.webkit.org/show_bug.cgi?id=61360

        Reviewed by Eric Seidel.

        This patch changes ContentSecurityPolicy to use JSON format for sending
        violation reports rather than wwwform-encoding.  This patch aligns our
        behavior with the specification and with Mozilla.  A follow up patch
        will update the list of fields in the report to match the spec.

        * loader/PingLoader.cpp:
        (WebCore::PingLoader::reportContentSecurityPolicyViolation):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPDirectiveList::reportViolation):

2012-05-06  Mary Wu  <mary.wu@torchmobile.com.cn>

        [BlackBerry] Support html5 download attribute.
        https://bugs.webkit.org/show_bug.cgi?id=85044

        Reviewed by Antonio Gomes.

        Pass download attribute filename to networkJob and it could be
        overridden by the Content-Disposition HTTP header's filename parameter.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::initialize):
        * platform/network/blackberry/ResourceRequest.h:
        (WebCore::ResourceRequest::setSuggestSaveName):
        (WebCore::ResourceRequest::suggestSaveName):
        (ResourceRequest):
        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::initializePlatformRequest):

2012-05-06  Kenichi Ishibashi  <bashi@chromium.org>

        Disallow unquoted -webkit-font-feature-settings tags
        https://bugs.webkit.org/show_bug.cgi?id=85362

        Reviewed by Kent Tamura.

        Disallow unquoted tags to follow the current draft.
        http://dev.w3.org/csswg/css3-fonts/#font-feature-settings-prop

        No new tests. css3/font-feature-settings-parsing.html was updated.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFontFeatureTag): Accepts only 4-characters string.

2012-05-06  Raphael Kubo da Costa  <rakuco@webkit.org>

        Unreviewed build fix for r116260.

        COMPILE_ASSERT() does not expect a string in its second parameter.

        * platform/graphics/TextRun.cpp:
        (WebCore):

2012-05-06  Rob Buis  <rbuis@rim.com>

        Shrink TextRun object size
        https://bugs.webkit.org/show_bug.cgi?id=85751

        Reviewed by Darin Adler.

        Reorder the member variables in TextRun so it shrinks from 56 to 40 bytes on my 64-bit build. This is important
        for SVG, since RenderSVGText shrinks because of this.

        Also add a compile assert for the expected object size.

        * platform/graphics/TextRun.cpp:
        (ExpectedTextRunSize):
        (WebCore):
        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        (WebCore::TextRun::direction):
        (TextRun):

2012-05-06  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] Autofill backing store implementation upstream
        https://bugs.webkit.org/show_bug.cgi?id=85575

        Reviewed by Rob Buis.

        Implemented class AutofillBackingStore which is responsible
        for handling interaction with autofill database.

        Replaced static function
        CredentialBackingStore* CredentialBackingStore::instance()
        with a helper function
        CredentialBackingStore& credentialBackingStore(),
        and used DEFINE_STATIC_LOCAL to construct the singleton
        object.
        Also removed unnecessary function close() and combined with
        the destructor of class CredentialBackingStore.

        Initial upstream, No new tests.

        * PlatformBlackBerry.cmake:
        * platform/network/blackberry/AutofillBackingStore.cpp: Added.
        (WebCore):
        (WebCore::autofillBackingStore):
        (WebCore::AutofillBackingStore::AutofillBackingStore):
        (WebCore::AutofillBackingStore::~AutofillBackingStore):
        (WebCore::AutofillBackingStore::open):
        (WebCore::AutofillBackingStore::add):
        (WebCore::AutofillBackingStore::update):
        (WebCore::AutofillBackingStore::contains):
        (WebCore::AutofillBackingStore::get):
        (WebCore::AutofillBackingStore::clear):
        * platform/network/blackberry/AutofillBackingStore.h: Added.
        (WebCore):
        (AutofillBackingStore):
        * platform/network/blackberry/CredentialBackingStore.cpp:
        (WebCore::credentialBackingStore):
        (WebCore::CredentialBackingStore::~CredentialBackingStore):
        * platform/network/blackberry/CredentialBackingStore.h:
        (CredentialBackingStore):
        (WebCore):
        * platform/network/blackberry/CredentialStorageBlackBerry.cpp:
        (WebCore::CredentialStorage::getFromPersistentStorage):

2012-05-06  MORITA Hajime  <morrita@google.com>

        [Shadow DOM] Node distribution should be refreshed before style recalc.
        https://bugs.webkit.org/show_bug.cgi?id=85259

        Reviewed by Dimitri Glazkov.

        Element::recalcStyle() calls child element's recalcStyle()
        recursively, following ShadowTree::recalcShadowTreeStyle(). But
        recalcShadowTreeStyle() should be called before such recursion if
        necessary.

        This is because style calculation and following renderer attachment
        of each child element depends on up-to-date node distribution result
        which is computed during the recalcShadowTreeStyle().

        Test: fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector.html

        * dom/Element.cpp: Moved recalcShadowTreeStyle() before child traversals.
        (WebCore::Element::recalcStyle):

2012-05-06  Adam Barth  <abarth@webkit.org>

        CSP should let sites both enforce one policy and monitor another
        https://bugs.webkit.org/show_bug.cgi?id=85561

        Reviewed by Eric Seidel.

        This patch lets us enforce and/or monitor multiple CSP policies.
        Rather than having a single directive list, we now have a vector of
        directive lists.

        Tests: http/tests/security/contentSecurityPolicy/combine-multiple-policies.html
               http/tests/security/contentSecurityPolicy/report-and-enforce.html

        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::copyStateFrom):
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
        (WebCore::ContentSecurityPolicy::deprecatedHeader):
        (WebCore::ContentSecurityPolicy::deprecatedHeaderType):
            - Even after this patch, workers aren't smart enough to enforce
              multiple policies.  They just use the first header, like they did
              before.  We'll need to teach workers how to enforce multiple
              policies in a future patch.
        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
        (WebCore::ContentSecurityPolicy::allowInlineScript):
        (WebCore::ContentSecurityPolicy::allowInlineStyle):
        (WebCore::ContentSecurityPolicy::allowEval):
        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
        (WebCore::ContentSecurityPolicy::allowImageFromSource):
        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
        (WebCore::ContentSecurityPolicy::allowFontFromSource):
        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
        (WebCore::ContentSecurityPolicy::allowConnectFromSource):
        * page/ContentSecurityPolicy.h:
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerScriptLoader::notifyFinished):
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerMessagingProxy::startWorkerContext):

2012-05-06  Rob Buis  <rbuis@rim.com>

        InlineBox::setHasBadParent should be debug only
        https://bugs.webkit.org/show_bug.cgi?id=85748

        Reviewed by Eric Seidel.

        Do not provide InlineBox::setHasBadParent in release builds.

        * rendering/InlineBox.h:
        (InlineBox):
        (WebCore):
        (WebCore::InlineBox::setHasBadParent):

2012-05-06  Mike West  <mkwst@chromium.org>

        KURL::isBlankURL would be a nicer idiom than KURL::protocolIs("about")
        https://bugs.webkit.org/show_bug.cgi?id=85641

        Reviewed by Adam Barth.

        * dom/Document.cpp:
        (WebCore::shouldInheritSecurityOriginFromOwner):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPDirectiveList::allowObjectFromSource):
        (WebCore::CSPDirectiveList::allowChildFrameFromSource):
        * page/PageSerializer.cpp:
        (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
        (WebCore::PageSerializer::serializeFrame):
        * platform/KURL.cpp:
        (WebCore::KURL::isBlankURL):
        (WebCore):
        * platform/KURL.h:
        (KURL):
        (WebCore):

2012-05-06  Martin Robinson  <mrobinson@igalia.com>

        [TextureMapper] Layer images is uploaded to the GPU for each sync
        https://bugs.webkit.org/show_bug.cgi?id=85727

        Reviewed by Noam Rosenthal.

        No new tests. This does not change functionality,
        it only improves performance.

        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::updateBackingStore): Reset the needsDisplay
        and needsDisplayRect variables after uploading the layer image.

2012-05-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Convert isPageBoxVisible to use Internals interface.
        https://bugs.webkit.org/show_bug.cgi?id=85692

        Reviewed by Darin Adler.

        Add isPageBoxVisible functions, because it is able to work in the
        cross-port way through the Internals interface.

        No new tests, since we are improving here the infra-structure for testing
        a specific method.

        * testing/Internals.cpp:
        (WebCore):
        (WebCore::Internals::isPageBoxVisible):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-05-06  Eugene Klyuchnikov  <eustas.bug@gmail.com>

        Web Inspector: "Goto Function" filtering should be less restrictive.
        https://bugs.webkit.org/show_bug.cgi?id=85586

        Reviewed by Pavel Feldman.

        Added tests for generated regex.

        Changes:
        1) Avoid asterisks in filtering queue.
        2) Optimization: do not create regexp for each item.

        * inspector/front-end/FilteredItemSelectionDialog.js: 
        (WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
        Applied new filtering workflow.
        (WebInspector.FilteredItemSelectionDialog.prototype._checkItemAt):
        Removed.
        (WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
        Removed unused "suffix" logic; changed the way regexp is composed from query.
        (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
        Applied new filtering workflow.
        (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
        Removed unused var.

2012-05-06  Kent Tamura  <tkent@chromium.org>

        Rename ICULocale to LocaleICU, part 2
        https://bugs.webkit.org/show_bug.cgi?id=85695

        Reviewed by Kentaro Hara.

        No behavior change

        * platform/text/LocaleICU.cpp: Rename ICULocale to LocaleICU.
        * platform/text/LocaleICU.h: ditto.
        Also, update obsolete comments.
        * platform/text/LocalizedDateICU.cpp: Rename ICULocale to LocaleICU.
        (WebCore::parseLocalizedDate):
        (WebCore::formatLocalizedDate):
        (WebCore::localizedDateFormatText):
        (WebCore::monthLabels):
        (WebCore::weekDayShortLabels):
        (WebCore::firstDayOfWeek):
        * platform/text/LocalizedNumberICU.cpp: ditto.
        (WebCore::convertToLocalizedNumber):
        (WebCore::convertFromLocalizedNumber):

2012-05-06  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed. Build fixes for recent trunk changes.

        * platform/graphics/SimpleFontData.h:
        (SimpleFontData):
        * platform/graphics/wx/FontPlatformData.h:
        (FontPlatformData):
        (WebCore::FontPlatformData::isCompositeFontReference):
        * platform/graphics/wx/SimpleFontDataWx.cpp:
        (WebCore):
        (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
        * plugins/mac/PluginViewMac.mm:
        * rendering/RenderObject.h:

2012-05-06  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: take timeline frame mode out of experimental
        https://bugs.webkit.org/show_bug.cgi?id=85707

        Reviewed by Pavel Feldman.

        - remove "Vertical timeline overview" experiment;
        - add supportsFrameInstrumentation capability to InspectorTimelineAgent;
        - show frame mode selector conditionally on supportsFrameInstrumentation capability.

        * inspector/Inspector.json: Add Timeline.supportsFrameInstrumentation capability;
        * inspector/InspectorClient.h: Add supportsFrameInstrumentation();
        (InspectorClient):
        (WebCore::InspectorClient::supportsFrameInstrumentation):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::supportsFrameInstrumentation):
        (WebCore):
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): Added FrameInstrumentationSupport parameter.
        * inspector/InspectorTimelineAgent.h:
        (WebCore):
        (WebCore::InspectorTimelineAgent::create): ditto.
        (InspectorTimelineAgent):
        * inspector/WorkerInspectorController.cpp: Updated call site for InspectorTimelineAgent::create() to indicate frame instrumentation not supported.
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings): Removed "Vertical Overview" experiment.
        * inspector/front-end/TimelineOverviewPane.js: Expose frame mode conditionally on capability, not the experiment.
        (WebInspector.TimelineOverviewPane):
        * inspector/front-end/inspector.js: Added initialization for Capabilities.timelineSupportsFrameInstrumentation;
        (WebInspector.doLoadedDone):

2012-05-06  Antti Koivisto  <antti@apple.com>

        Build fix.

        Not reviewed.

        * css/PropertySetCSSStyleDeclaration.cpp:

2012-05-04  Antti Koivisto  <antti@apple.com>

        Share stylesheet data structures between documents
        https://bugs.webkit.org/show_bug.cgi?id=85598

        Reviewed by Darin Adler.

        We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
        the data until someone uses CSSOM to modify the sheet.
        
        The patch implements copy-on-write for the internal style sheet data structures. If any mutation CSSOM API is
        invoked, we check if the stylesheet can be safely mutated (we are the only client, it is not cached). If not
        then the internal structures are copied and any existing CSSOM objects are re-attached to the new tree.
        
        Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
        multiple articles open on wsj.com this saves ~2.6MB per tab.
        
        Test: http/tests/css/shared-stylesheet-mutation.html
              http/tests/css/shared-stylesheet-mutation-preconstruct.html

        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::reattach):
        (WebCore):
        * css/CSSFontFaceRule.h:
        (CSSFontFaceRule):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::insertRule):
        (WebCore::CSSMediaRule::deleteRule):
        (WebCore::CSSMediaRule::reattach):
        (WebCore):
        * css/CSSMediaRule.h:
        (CSSMediaRule):
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::setSelectorText):
        (WebCore::CSSPageRule::reattach):
        (WebCore):
        * css/CSSPageRule.h:
        (CSSPageRule):
        * css/CSSRule.cpp:
        (WebCore::CSSRule::reattach):
        
            After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.

        * css/CSSRule.h:
        (WebCore):
        (CSSRule):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):
        (WebCore::CSSStyleRule::reattach):
        (WebCore):
        * css/CSSStyleRule.h:
        (CSSStyleRule):
        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::StyleSheetInternal):
        (WebCore::StyleSheetInternal::isCacheable):
        (WebCore::StyleSheetInternal::ruleAt):
        
            Add ruleAt(), use it for both wrapper creation and reattaching.  Remove createChildRuleCSSOMWrapper .

        (WebCore):
        (WebCore::StyleSheetInternal::wrapperInsertRule):
        (WebCore::StyleSheetInternal::wrapperDeleteRule):
        
            Invalidation moves to the calling wrapper.

        (WebCore::StyleSheetInternal::addedToMemoryCache):
        (WebCore::StyleSheetInternal::removedFromMemoryCache):
        (WebCore::CSSStyleSheet::willMutateRules):
        
            This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.
            
            Usually invoked by CSSStyleSheet::RuleMutation RAII type.

        (WebCore::CSSStyleSheet::didMutateRules):
        
            This is called after the mutation is complete and will trigger the style recalc in the document.

        (WebCore::CSSStyleSheet::didMutate):
        
            This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.

        (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
        (WebCore::CSSStyleSheet::setDisabled):
        (WebCore::CSSStyleSheet::insertRule):
        (WebCore::CSSStyleSheet::deleteRule):
        * css/CSSStyleSheet.h:
        (StyleSheetInternal):
        (WebCore::StyleSheetInternal::hasOneClient):
        (WebCore::StyleSheetInternal::isMutable):
        (WebCore::StyleSheetInternal::setMutable):
        
            Track mutability. Mutation is allowed only after willMutate call.

        (WebCore::StyleSheetInternal::isInMemoryCache):
        
            Track if the object is in memory cache.

        (WebCore::CSSStyleSheet::clearOwnerRule):
        (CSSStyleSheet):
        * css/MediaList.cpp:
        (WebCore::MediaList::setMediaText):
        (WebCore::MediaList::deleteMedium):
        (WebCore::MediaList::appendMedium):
        (WebCore::MediaList::didMutate):
        (WebCore):
        (WebCore::MediaList::reattach):
        * css/MediaList.h:
        (MediaList):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
        (WebCore):
        (WebCore::StyleRuleCSSStyleDeclaration::willMutate):
        (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
        (WebCore::StyleRuleCSSStyleDeclaration::reattach):
        (WebCore::InlineCSSStyleDeclaration::didMutate):
        * css/PropertySetCSSStyleDeclaration.h:
        (WebCore::PropertySetCSSStyleDeclaration::willMutate):
        (WebCore::PropertySetCSSStyleDeclaration::didMutate):
        (StyleRuleCSSStyleDeclaration):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::setName):
        (WebCore::WebKitCSSKeyframesRule::insertRule):
        (WebCore::WebKitCSSKeyframesRule::deleteRule):
        (WebCore::WebKitCSSKeyframesRule::reattach):
        (WebCore):
        * css/WebKitCSSKeyframesRule.h:
        (WebKitCSSKeyframesRule):
        * css/WebKitCSSRegionRule.cpp:
        (WebCore::WebKitCSSRegionRule::reattach):
        * css/WebKitCSSRegionRule.h:
        (WebKitCSSRegionRule):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        * loader/cache/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
        (WebCore::CachedCSSStyleSheet::destroyDecodedData):
        (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
        
            Don't copy when restoring. It is no longer necessary.
            Set the cache bit on the stylesheet.

        (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

2012-05-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116221.
        http://trac.webkit.org/changeset/116221
        https://bugs.webkit.org/show_bug.cgi?id=85722

        broke builds that use -Wshorten-64-to-32 (Requested by pizlo
        on #webkit).

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
        * html/canvas/WebGLRenderingContext.h:
        (WebGLRenderingContext):
        * html/canvas/WebGLRenderingContext.idl:

2012-05-05  Martin Robinson  <mrobinson@igalia.com>

        [GTK] WebKit should properly set the input method context window location
        https://bugs.webkit.org/show_bug.cgi?id=84981

        Reviewed by Gustavo Noronha Silva.

        * platform/gtk/GtkInputMethodFilter.cpp:
        (WebCore::GtkInputMethodFilter::setCursorRect): Add this method to plumb the
        cursor rect through to the input method.
        * platform/gtk/GtkInputMethodFilter.h: Add the new method declaration.

2012-05-05  Dean Jackson  <dino@apple.com>

        Add new Setting/Preference to disable requestAnimationFrame
        https://bugs.webkit.org/show_bug.cgi?id=85693

        Reviewed by Simon Fraser.

        Hook up the new WebPreference for disabling requestAnimationFrame
        to Settings. This isn't disabling the feature in the typical
        WebKit ENABLE() way - it's still available in the DOM, it's
        just that the animations will never be serviced. This allows a client
        to disable the machinery without breaking content (other than the
        animations).

        The new test is currently skipped on all platforms because toggling
        the preference interferes with the other tests that are running
        at the same time (and expect a working requestAnimationFrame).
        https://bugs.webkit.org/show_bug.cgi?id=85689

        Test: fast/animation/request-animation-frame-disabled.html

        * dom/ScriptedAnimationController.cpp:
        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
        (WebCore::ScriptedAnimationController::windowScreenDidChange):
        (WebCore::ScriptedAnimationController::scheduleAnimation):
        Check the setting before deciding to act.
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setRequestAnimationFrameEnabled):
        (WebCore::Settings::requestAnimationFrameEnabled):
        (Settings):

2012-05-05  Gustavo Noronha Silva  <gns@gnome.org>

        Unreviewed, make distcheck fix.

        * GNUmakefile.list.am: Add missing headers to the sources list.

2012-05-05  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: convert standalone functions save/append/savedURL/appendedToURL into WebInspector.FileManager object.
        https://bugs.webkit.org/show_bug.cgi?id=85710

        The idea is to have an object and be able to add/remove event listeners from it.

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/FileManager.js: Copied from Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js.
        (WebInspector.FileManager):
        (WebInspector.FileManager.prototype.canSave):
        (WebInspector.FileManager.prototype.canAppend):
        (WebInspector.FileManager.prototype.append):
        (WebInspector.FileManager.prototype.appendedToURL):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapProfileHeader.prototype.canSave):
        (WebInspector.HeapProfileHeader.prototype.save):
        * inspector/front-end/InspectorFrontendHostStub.js:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-05-05  Zhenyao Mo  <zmo@google.com>

        vertexAttribPointer needs to reject large negative offsets
        https://bugs.webkit.org/show_bug.cgi?id=85117

        Reviewed by Kenneth Russell.

        * html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr
        (WebCore):
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
        * html/canvas/WebGLRenderingContext.h: Ditto
        (WebGLRenderingContext):
        * html/canvas/WebGLRenderingContext.idl: Ditto

2012-05-05  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: add separate timeline overview item for the frame mode
        https://bugs.webkit.org/show_bug.cgi?id=85706

        - remove two-buttons horizontal/vertical mode switch from Timelines item of the timeline overview menu;
        - rename "Timeline" into "Events";
        - add "Frames" item;
        - replace overview sidebar icons with smaller, monochrome ones.

        * English.lproj/localizedStrings.js: Added "Frames" and "Events".
        * inspector/front-end/Images/statusbarButtonGlyphs.png: Added icon for "Memory".
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype._showEvents):
        (WebInspector.TimelineOverviewPane.prototype._showFrames):
        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
        (WebInspector.TimelineOverviewPane.prototype._setMode):
        * inspector/front-end/timelinePanel.css:
        (#timeline-overview-sidebar .sidebar-tree-item):
        (#timeline-overview-sidebar .sidebar-tree-item .titles.no-subtitle):
        (#timeline-overview-sidebar .icon):
        (.timeline-overview-sidebar-events .icon):
        (.timeline-overview-sidebar-frames .icon):
        (.timeline-overview-sidebar-memory .icon):

2012-05-05  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: save HeapSnapshot implementation.
        https://bugs.webkit.org/show_bug.cgi?id=85595

        HeapSnapshot specific implementation for loading was moved
        from ProfilesPanel to HeapProfileHeader class.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype.get profileWrapper):
        (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
        (WebInspector.HeapProfileHeader):
        (WebInspector.HeapProfileHeader.prototype.load.setProfileWait):
        (WebInspector.HeapProfileHeader.prototype.load.done):
        (WebInspector.HeapProfileHeader.prototype.load):
        (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
        (WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
        (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
        (WebInspector.HeapProfileHeader.prototype.canSave):
        (WebInspector.HeapProfileHeader.prototype.save):
        * inspector/front-end/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.appendedToURL):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._registerProfileType):
        (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
        (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches):
        (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
        * inspector/front-end/inspector.js:
        (WebInspector.append):
        (WebInspector.appendedToURL):

2012-05-05  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: allow overriding the script mapping on the UI level
        https://bugs.webkit.org/show_bug.cgi?id=85702

        Reviewed by Yury Semikhatsky.

        This allows formatting update live locations all over the place automatically.

        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.rawLocationToUILocation):
        (WebInspector.Script.Location):
        (WebInspector.Script.Location.prototype.update):
        (WebInspector.Script.Location.prototype.dispose):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):
        (WebInspector.UISourceCode.prototype.addLiveLocation):
        (WebInspector.UISourceCode.prototype.removeLiveLocation):
        (WebInspector.UISourceCode.prototype.updateLiveLocations):
        (WebInspector.UISourceCode.prototype.overrideLocation):

2012-05-05  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: simplify the JavaScriptOutline dialog interaction.
        https://bugs.webkit.org/show_bug.cgi?id=85701

        Reviewed by Yury Semikhatsky.

        Removed bidirectional dependency between scripts panel and outline dialog.

        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.JavaScriptOutlineDialog):
        (WebInspector.JavaScriptOutlineDialog.show):
        (WebInspector.JavaScriptOutlineDialog.prototype.requestItems):
        (WebInspector.JavaScriptOutlineDialog.prototype._didBuildOutlineChunk):
        (WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
        * inspector/front-end/ScriptFormatterWorker.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.addToWatch):
        (WebInspector.ScriptsPanel.prototype._showJavaScriptOutlineDialog):

2012-05-04  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: annotate ProfilerAgent.
        https://bugs.webkit.org/show_bug.cgi?id=85630

        Reviewed by Pavel Feldman.

        * inspector/Inspector.json:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::createProfileHeader):
        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
        (WebCore::InspectorProfilerAgent::getProfileHeaders):
        (WebCore):
        (WebCore::InspectorProfilerAgent::getProfile):
        * inspector/InspectorProfilerAgent.h:
        (InspectorProfilerAgent):
        * inspector/front-end/CSSSelectorProfileView.js:
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
        * inspector/front-end/ProfileView.js:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
        (WebInspector.ProfilerDispatcher.prototype.resetProfiles):

2012-05-04  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK] Simplify how libWebCoreModules is linked in, and fix WebKit2 build
        https://bugs.webkit.org/show_bug.cgi?id=85691

        * GNUmakefile.am: link libWebCoreModules into libWebCore.

2012-05-04  Kent Tamura  <tkent@chromium.org>

        Rename ICULocale to LocaleICU, part 1
        https://bugs.webkit.org/show_bug.cgi?id=85688

        Reviewed by Kentaro Hara.

        Rename it for consistency. Our convention is Foo<Platform>.{cpp,h}.
        This patch changes only file names. We'll rename ICULocale class
        by a following patch.

        No behavior changes.

        * WebCore.gypi:
        * platform/text/LocaleICU.cpp: Renamed from Source/WebCore/platform/text/ICULocale.cpp.
        * platform/text/LocaleICU.h: Renamed from Source/WebCore/platform/text/ICULocale.h.
        * platform/text/LocalizedDateICU.cpp: Rename ICULocale.h to LocaleICU.h.
        * platform/text/LocalizedNumberICU.cpp: ditto.

2012-05-04  Julien Chaffraix  <jchaffraix@webkit.org>

        Leaf non self-painting layers should bail out early in RenderLayer::paintLayer
        https://bugs.webkit.org/show_bug.cgi?id=85678

        Reviewed by Darin Adler.

        Performance optimization, no expected change in behavior.

        The gist of the change is that leaf non self-painting layers don't need to be painted as their
        associated RenderBoxModelObject should properly paint itself without any help.

        For RenderLayer trees that have a large number of leafs nodes (like a table with a leaf RenderLayer for
        each cells), not bailing out is a big overhead as it ends up doing a lot of computation for no real
        painting. See http://dglazkov.github.com/performance-tests/biggrid.html for a benchmark for that. On
        my machine, it reduces the paint time when scrolling to 70ms from 120ms (45% speedup).

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):

2012-05-04  Rob Buis  <rbuis@rim.com>

        Remove InlineBox::next()
        https://bugs.webkit.org/show_bug.cgi?id=85668

        Reviewed by Nikolas Zimmermann.

        InlineBox::next() not needed since nextOnLine() does the same.

        * rendering/InlineBox.h:
        (InlineBox):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::setConstructed):

2012-05-04  Chris Rogers  <crogers@google.com>

        Oscillator must implement noteOn() and noteOff()
        https://bugs.webkit.org/show_bug.cgi?id=85236

        Reviewed by Kenneth Russell.

        Test: webaudio/oscillator-scheduling.html
        to be landed separately to get proper platform baselines

        * Modules/webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::process):
        Simplify/remove zeroing-out silence at end of buffer, since it's now handled in the base-class AudioScheduledSourceNode::updateSchedulingInfo().

        * Modules/webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createBufferSource):
        Improve comment about ownership and dynamic-lifetime of AudioBufferSourceNode.

        (WebCore::AudioContext::createOscillator):
        AudioContext keeps a reference to the Oscillator and that reference is released in AudioScheduledSourceNode,
        when it has finished playing.

        * Modules/webaudio/AudioScheduledSourceNode.h:
        * Modules/webaudio/AudioScheduledSourceNode.cpp:
        (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
        updateSchedulingInfo() is now responsible for zeroing out the very start (before a note starts)
        and the very end (after note ends) of the output AudioBus.  We've also simplified the number
        of arguments passed to this method, because of this. It now handles playbackState transition to FINISHED_STATE.

        * Modules/webaudio/Oscillator.cpp:
        (WebCore::Oscillator::Oscillator):
        (WebCore::Oscillator::calculateSampleAccuratePhaseIncrements):
        The frequency value needs to snap immediately to its correct value the very first time.
        This bug needs to be fixed here so that the Oscillator layout scheduling test works correctly.

        (WebCore::Oscillator::process):
        Since Oscillator in now changing to be a AudioScheduledSourceNode, we need to call AudioScheduledSourceNode::updateSchedulingInfo()
        to handle playbackState for us.

        (WebCore::Oscillator::propagatesSilence):
        Add scheduling logic for propagatesSilence().

        (Oscillator):
        * Modules/webaudio/Oscillator.idl:
        Add noteOn(), noteOff() methods and playbackState according to specification.

2012-05-04  Andy Estes  <aestes@apple.com>

        Remove uses of ASSERT(false)
        https://bugs.webkit.org/show_bug.cgi?id=85686

        Reviewed by Dean Jackson.

        Replace uses of ASSERT(false) with ASSERT_NOT_REACHED(). Also, in two places, there was code structured like:

        if (expr) {
            // do something
        } else {
            ASSERT(false);
        }

        Replace this with:

        ASSERT(expr);
        if (!expr)
            return;

        // do something

        * Modules/webdatabase/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::deleteOrigin):
        (WebCore::DatabaseTracker::doneCreatingDatabase):
        (WebCore::DatabaseTracker::doneDeletingDatabase):
        (WebCore::DatabaseTracker::deleteDatabase):
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::invokeObjcMethod):
        * bridge/objc/objc_utility.mm:
        (JSC::Bindings::convertObjcValueToValue):
        (JSC::Bindings::objcValueTypeForType):
        * dom/Node.cpp:
        (WebCore::Node::createRenderer):
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::setIconURLForPageURLInSQLDatabase):
        (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::doPacking):
        * platform/text/BidiResolver.h:
        (WebCore::::createBidiRunsForLine):

2012-05-04  Noel Gordon  <noel.gordon@gmail.com>

        [CG] Minor refactor of ImageBuffer::CGImageToDataURL and its callers
        https://bugs.webkit.org/show_bug.cgi?id=85280

        Reviewed by Kenneth Russell.

        This patch means to simplify the diff of an upcoming patch. Refactoring
        here in preparation for that patch.

        No new tests. No behavioral change. Covered by canvas 2d and 3d tests:
          canvas/philip/tests/*toDataURL*.html
          fast/canvas/webgl/premultiplyalpha-test.html

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::CGImageToDataURL): Move the invalid image (!image) test here.
        The comments are about JPEG images; say that. Rename out to base64Data.
        (WebCore::ImageBuffer::toDataURL): Remove the !image test.
        (WebCore::ImageDataToDataURL): Move and define variables where used and
        make the code flow read similarly to toDataURL. Remove the !image test.

2012-05-04  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Changes to layer tree structure need to be tracked properly
        https://bugs.webkit.org/show_bug.cgi?id=85421

        Reviewed by Adrienne Walker.

        Unit test added: TreeSynchronizerTest.syncSimpleTreeAndTrackStackingOrderChange

        Earlier, we were relying on WebCore behavior that always called
        setNeedsDisplay whenever the layer tree structure changed.
        However, in general it is more correct to consider layer tree
        changes even when things don't need repainting; for example Aura
        code is encountring this bug now. This patch corrects the
        compositor so that layer tree structural changes are considered
        property changes, without requiring that layers needed to be
        repainted.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::insertChild):
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::setStackingOrderChanged):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):

2012-05-04  Jeffrey Pfau  <jpfau@apple.com>

        Unreviewed; build fix after r116191.

        * bindings/js/JSEventListener.h:

2012-05-04  Enrica Casucci  <enrica@apple.com>

        REGRESSION: Cursor jumps to the first line after deleting the last word.
        https://bugs.webkit.org/show_bug.cgi?id=85334
        <rdar://problem/11210059>

        Reviewed by Ryosuke Niwa.

        This regression was introduced with the work to remove redundant divs.
        When we decide to remove a DIV, we need to adjust the selection, if it is
        expressed in terms of the node being removed. The new position was computed
        using updatePositionForNodeRemoval that was not designed for the case where we
        remove preserving children.
        This patch adds a new method to CompositeEditCommand to do this properly.
        
        Test: editing/deleting/delete-word-from-unstyled-div.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::isRemovableBlock): Code clenup.
        (WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren): Added.
         * editing/CompositeEditCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Uses updatePositionForNodeRemovalPreservingChildren.

2012-05-04  Jeffrey Pfau  <jpfau@apple.com>

        Prevent early EventListener deletion
        https://bugs.webkit.org/show_bug.cgi?id=73970

        Reviewed by Oliver Hunt.

        Test: fast/events/attribute-listener-deletion-crash.html

        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):

2012-05-04  Yongjun Zhang  <yongjun_zhang@apple.com>

        Add "combining short stroke overlay character (u0335)" to lookalike characters blacklist.
        https://bugs.webkit.org/show_bug.cgi?id=85440

        Reviewed by David Kilzer.

        We should add u0335 to the characters blacklist.

        * platform/mac/WebCoreNSURLExtras.mm:
        (WebCore::isLookalikeCharacter):

2012-05-04  Satoru Takabayashi  <satorux@chromium.org>

        [chromium] Add plumbing for file display names for drag and drop
        https://bugs.webkit.org/show_bug.cgi?id=85673

        Reviewed by Darin Fisher.

        No new tests: this change itself shouldn't change existing behavior.

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::addFilename):
        * platform/chromium/ChromiumDataObject.h:
        (ChromiumDataObject):

2012-05-04  Levi Weintraub  <leviw@chromium.org>

        Correct pixel snapping in RenderSVGRoot::paintReplaced
        https://bugs.webkit.org/show_bug.cgi?id=85671

        Reviewed by Eric Seidel.

        SVG root elements are still painted on pixel boundaries, so their children should
        apply transforms based on their actual painted location, not their sub-pixel
        one. This corrects a clipping and painting issue where these sub-pixel units are
        incorrectly applied to the graphics context.

        Covered by existing tests when sub-pixel layout is enabled.

        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paintReplaced):

2012-05-04  Adam Barth  <abarth@webkit.org>

        Refactor CSP state to prepare for having both a ReportOnly and an Enforced policy
        https://bugs.webkit.org/show_bug.cgi?id=85662

        Reviewed by Eric Seidel.

        This patch refactors the ContentSecurityPolicy state into a separate
        DirectiveList class to prepare for
        https://bugs.webkit.org/show_bug.cgi?id=85561, which will cause us to
        need two directive lists: one for enforcement and one for monitoring.

        This patch shouldn't cause any change in behavior.

        * page/ContentSecurityPolicy.cpp:
        (CSPDirectiveList):
        (WebCore::CSPDirectiveList::header):
        (WebCore::CSPDirectiveList::headerType):
        (WebCore::CSPDirectiveList::denyIfEnforcingPolicy):
        (WebCore):
        (WebCore::CSPDirectiveList::CSPDirectiveList):
        (WebCore::CSPDirectiveList::create):
        (WebCore::CSPDirectiveList::reportViolation):
        (WebCore::CSPDirectiveList::logUnrecognizedDirective):
        (WebCore::CSPDirectiveList::checkEval):
        (WebCore::CSPDirectiveList::operativeDirective):
        (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
        (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
        (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
        (WebCore::CSPDirectiveList::allowJavaScriptURLs):
        (WebCore::CSPDirectiveList::allowInlineEventHandlers):
        (WebCore::CSPDirectiveList::allowInlineScript):
        (WebCore::CSPDirectiveList::allowInlineStyle):
        (WebCore::CSPDirectiveList::allowEval):
        (WebCore::CSPDirectiveList::allowScriptFromSource):
        (WebCore::CSPDirectiveList::allowObjectFromSource):
        (WebCore::CSPDirectiveList::allowChildFrameFromSource):
        (WebCore::CSPDirectiveList::allowImageFromSource):
        (WebCore::CSPDirectiveList::allowStyleFromSource):
        (WebCore::CSPDirectiveList::allowFontFromSource):
        (WebCore::CSPDirectiveList::allowMediaFromSource):
        (WebCore::CSPDirectiveList::allowConnectFromSource):
        (WebCore::CSPDirectiveList::parse):
        (WebCore::CSPDirectiveList::parseDirective):
        (WebCore::CSPDirectiveList::parseReportURI):
        (WebCore::CSPDirectiveList::createCSPDirective):
        (WebCore::CSPDirectiveList::applySandboxPolicy):
        (WebCore::CSPDirectiveList::addDirective):
        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
        (WebCore::ContentSecurityPolicy::~ContentSecurityPolicy):
        (WebCore::ContentSecurityPolicy::copyStateFrom):
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
        (WebCore::ContentSecurityPolicy::setOverrideAllowInlineStyle):
        (WebCore::ContentSecurityPolicy::header):
        (WebCore::ContentSecurityPolicy::headerType):
        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
        (WebCore::ContentSecurityPolicy::allowInlineScript):
        (WebCore::ContentSecurityPolicy::allowInlineStyle):
        (WebCore::ContentSecurityPolicy::allowEval):
        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
        (WebCore::ContentSecurityPolicy::allowImageFromSource):
        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
        (WebCore::ContentSecurityPolicy::allowFontFromSource):
        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
        (WebCore::ContentSecurityPolicy::allowConnectFromSource):
        * page/ContentSecurityPolicy.h:
        (WebCore):
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerMessagingProxy::startWorkerContext):

2012-05-04  Abhishek Arya  <inferno@chromium.org>

        ASSERT(beforeChildAnonymousContainer->isTable()); fails in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
        https://bugs.webkit.org/show_bug.cgi?id=84606

        Reviewed by Julien Chaffraix.

        RenderBlock::removeChild forgot to set display on the anonymous block, causing it
        to display as INLINE. To prevent this kind of failure in future, we replace
        createAnonymousStyle with createAnonymousStyleWithDisplay to make everyone explictly
        pass display as the argument.

        Test: fast/block/block-add-child-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild): 
        (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
        (WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
        (WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
        * rendering/RenderInline.cpp:
        (WebCore::updateStyleOfAnonymousBlockContinuations):
        (WebCore::RenderInline::addChildIgnoringContinuation):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::propagateStyleToAnonymousChildren):
        * rendering/RenderRuby.cpp:
        (WebCore::createAnonymousRubyInlineBlock):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::createRubyBase):
        (WebCore::RenderRubyRun::staticCreateRubyRun):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::createAnonymousWithParentRenderer):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::createAnonymousWithParentRenderer):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::createAnonymousWithParentRenderer):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::createAnonymousWithParentRenderer):
        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):
        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::addChild):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::createAnonymousStyleWithDisplay):
        * rendering/style/RenderStyle.h:

2012-04-27  Erik Arvidsson  <arv@chromium.org>

        WebKit IDL does not use exception syntax
        https://bugs.webkit.org/show_bug.cgi?id=85100

        Reviewed by Dimitri Glazkov.

        This adds support for exception ExceptionName { ... } which currently sets a flag
        on the domClass.

        Binding tests updated.

        * Modules/indexeddb/IDBDatabaseException.idl:
        * Modules/webdatabase/SQLException.idl:
        * bindings/scripts/IDLParser.pm:
        (ParseInterface):
        (DetermineParseMode):
        (ProcessSection):
        * bindings/scripts/IDLStructure.pm:
        * bindings/scripts/test/CPP/WebDOMTestException.cpp: Added.
        (WebDOMTestException::WebDOMTestExceptionPrivate::WebDOMTestExceptionPrivate):
        (WebDOMTestException::WebDOMTestExceptionPrivate):
        (WebDOMTestException::WebDOMTestException):
        (WebDOMTestException::operator=):
        (WebDOMTestException::impl):
        (WebDOMTestException::~WebDOMTestException):
        (WebDOMTestException::name):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMTestException.h: Added.
        (WebCore):
        (WebDOMTestException):
        * bindings/scripts/test/GObject/WebKitDOMTestException.cpp: Added.
        (WebKit):
        (WebKit::kit):
        (WebKit::core):
        (WebKit::wrapTestException):
        (webkit_dom_test_exception_finalize):
        (webkit_dom_test_exception_set_property):
        (webkit_dom_test_exception_get_property):
        (webkit_dom_test_exception_constructed):
        (webkit_dom_test_exception_class_init):
        (webkit_dom_test_exception_init):
        (webkit_dom_test_exception_get_name):
        * bindings/scripts/test/GObject/WebKitDOMTestException.h: Added.
        (_WebKitDOMTestException):
        (_WebKitDOMTestExceptionClass):
        * bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h: Added.
        (WebKit):
        * bindings/scripts/test/JS/JSTestException.cpp: Added.
        (WebCore):
        (WebCore::JSTestExceptionConstructor::JSTestExceptionConstructor):
        (WebCore::JSTestExceptionConstructor::finishCreation):
        (WebCore::JSTestExceptionConstructor::getOwnPropertySlot):
        (WebCore::JSTestExceptionConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestExceptionPrototype::self):
        (WebCore::JSTestException::JSTestException):
        (WebCore::JSTestException::finishCreation):
        (WebCore::JSTestException::createPrototype):
        (WebCore::JSTestException::destroy):
        (WebCore::JSTestException::~JSTestException):
        (WebCore::JSTestException::getOwnPropertySlot):
        (WebCore::JSTestException::getOwnPropertyDescriptor):
        (WebCore::jsTestExceptionName):
        (WebCore::jsTestExceptionConstructor):
        (WebCore::JSTestException::getConstructor):
        (WebCore::isObservable):
        (WebCore::JSTestExceptionOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestExceptionOwner::finalize):
        (WebCore::toJS):
        (WebCore::toTestException):
        * bindings/scripts/test/JS/JSTestException.h: Added.
        (WebCore):
        (JSTestException):
        (WebCore::JSTestException::create):
        (WebCore::JSTestException::createStructure):
        (WebCore::JSTestException::impl):
        (WebCore::JSTestException::releaseImpl):
        (WebCore::JSTestException::releaseImplIfNotNull):
        (JSTestExceptionOwner):
        (WebCore::wrapperOwner):
        (WebCore::wrapperContext):
        (JSTestExceptionPrototype):
        (WebCore::JSTestExceptionPrototype::create):
        (WebCore::JSTestExceptionPrototype::createStructure):
        (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
        (JSTestExceptionConstructor):
        (WebCore::JSTestExceptionConstructor::create):
        (WebCore::JSTestExceptionConstructor::createStructure):
        * bindings/scripts/test/ObjC/DOMTestException.h: Added.
        * bindings/scripts/test/ObjC/DOMTestException.mm: Added.
        (-[DOMTestException dealloc]):
        (-[DOMTestException finalize]):
        (-[DOMTestException name]):
        (core):
        (kit):
        * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h: Added.
        (WebCore):
        * bindings/scripts/test/TestException.idl: Copied from Source/WebCore/xml/XPathException.idl.
        * bindings/scripts/test/V8/V8TestException.cpp: Added.
        (WebCore):
        (TestExceptionV8Internal):
        (WebCore::TestExceptionV8Internal::V8_USE):
        (WebCore::TestExceptionV8Internal::nameAttrGetter):
        (WebCore::ConfigureV8TestExceptionTemplate):
        (WebCore::V8TestException::GetRawTemplate):
        (WebCore::V8TestException::GetTemplate):
        (WebCore::V8TestException::HasInstance):
        (WebCore::V8TestException::wrapSlow):
        (WebCore::V8TestException::derefObject):
        * bindings/scripts/test/V8/V8TestException.h: Added.
        (WebCore):
        (V8TestException):
        (WebCore::V8TestException::toNative):
        (WebCore::V8TestException::wrap):
        (WebCore::toV8):
        * dom/DOMCoreException.idl:
        * dom/EventException.idl:
        * dom/RangeException.idl:
        * fileapi/FileException.idl:
        * fileapi/OperationNotAllowedException.idl:
        * svg/SVGException.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XPathException.idl:

2012-05-04  Rafael Weinstein  <rafaelw@chromium.org>

        V8RecursionScope not declared in V8Proxy::newInstance which causes ASSERT() failure from NPAPI
        https://bugs.webkit.org/show_bug.cgi?id=85659

        Reviewed by Ojan Vafai.

        Added a stack-allocted V8RecursionScope to the newInstance call.

        No new tests. No change in observable behavior.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::newInstance):

2012-05-04  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Remove all index metadata records when deleting an index
        https://bugs.webkit.org/show_bug.cgi?id=85557

        Reviewed by Tony Chang.

        An assert is hit when re-loading database from backing store due to stale index
        metadata entry. Do a range delete to clear all metadata entries when deleting an
        index. Define metadata entries as enum and limits as consts instead of hardcoded ints.

        No new tests - issue does not repro as layout test. Will land test in Chromium.

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore::getBool): Helper functions; replaces pattern of putInt()/read only lead byte.
        (WebCore):
        (WebCore::putBool):
        (WebCore::IDBLevelDBBackingStore::getObjectStores): Skip stale data. Use enums, helpers.
        (WebCore::IDBLevelDBBackingStore::createObjectStore): Use enums.
        (WebCore::IDBLevelDBBackingStore::deleteObjectStore): Use enums.
        (WebCore::getNewVersionNumber): Use enums.
        (WebCore::IDBLevelDBBackingStore::getIndexes): Skip stale data. Use enums, helpers.
        (WebCore::getNewIndexId): Use enums.
        (WebCore::IDBLevelDBBackingStore::createIndex): Use enums.
        (WebCore::IDBLevelDBBackingStore::deleteIndex): Delete metadata by range.
        * Modules/indexeddb/IDBLevelDBCoding.cpp:
        (IDBLevelDBCoding): Add constants for metadata maximum values.
        (WebCore::IDBLevelDBCoding::encodeBool):
        (WebCore::IDBLevelDBCoding::decodeBool):
        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encodeMaxKey): Use consts.
        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encodeMaxKey): Use consts.
        * Modules/indexeddb/IDBLevelDBCoding.h:
        (IDBLevelDBCoding): Expose enums for metadata types.

2012-05-04  Anders Carlsson  <andersca@apple.com>

        Move markPagesForFullStyleRecalc to PageCache
        https://bugs.webkit.org/show_bug.cgi?id=85664

        Reviewed by Dan Bernstein.

        Instead of going through all the history items in the back/forward list looking for cached pages, just iterate over the cached pages in the page.

        * history/BackForwardController.cpp:
        * history/BackForwardController.h:
        * history/HistoryItem.cpp:
        * history/HistoryItem.h:
        * history/PageCache.cpp:
        (WebCore::PageCache::markPagesForFullStyleRecalc):
        (WebCore):
        * history/PageCache.h:
        (PageCache):
        * page/Frame.cpp:
        (WebCore::Frame::setPageAndTextZoomFactors):
        * page/Page.cpp:
        (WebCore::Page::setDeviceScaleFactor):
        (WebCore::Page::setPagination):

2012-05-04  Tony Chang  <tony@chromium.org>

        The computed style of flex-item-align should never be auto.
        https://bugs.webkit.org/show_bug.cgi?id=85656

        Reviewed by Ojan Vafai.

        If the node lacks a parent and flex-item-align is auto, we should
        return stretch. This was recently clarified in the spec.

        New testcase in css3/flexbox/css-properties.html.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2012-05-04  Christophe Dumez  <christophe.dumez@intel.com>

        [soup] URL of the ResourceResponse passed to willSendRequest is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=85072

        Reviewed by Gustavo Noronha Silva.

        Store the response message by catching the "got-headers" signal so
        that it can be passed later to willSendRequest() in case of
        redirection. This is required because the SoupMessage headers and URL
        have already been updated once restartedCallback() is called.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore):
        (WebCore::gotHeadersCallback):
        (WebCore::restartedCallback):
        (WebCore::sendRequestCallback):
        (WebCore::startHTTPRequest):

2012-05-04  Ian Vollick  <vollick@chromium.org>

        [chromium] CCProxy's shouldn't try to draw if there is no layer renderer
        https://bugs.webkit.org/show_bug.cgi?id=85218

        Reviewed by Adrienne Walker.

        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):

2012-05-04  Rob Buis  <rbuis@rim.com>

        [BlackBerry] Rendering bmp file as text file when Content-Type:image/x-ms-bmp from apache web server.
        https://bugs.webkit.org/show_bug.cgi?id=85036

        Reviewed by Antonio Gomes.

        Move getNormalizedMIMEType from WebKit into MIMETypeRegistry. This way we support uncommon mime types like image/pjpeg
        and image/x-ms-bmp out of the box since we map to the more common image/jpeg and image/bmp respectively.

        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):
        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
        (WebCore):
        (WebCore::mimeTypeAssociationMap):
        (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
        * platform/MIMETypeRegistry.h:
        (MIMETypeRegistry):

2012-05-04  Sami Kyostila  <skyostil@chromium.org>

        [chromium] Revert compositor layer scrolling
        https://bugs.webkit.org/show_bug.cgi?id=85644

        Reviewed by Steve Block.

        This patch reverts the following commits because they were found to
        trigger crashes. See discussion at http://code.google.com/p/chromium/issues/detail?id=124393.

            [chromium] Allow scrolling non-root layers in the compositor thread
            http://trac.webkit.org/changeset/114651

            [chromium] Don't crash when scrolling empty layer tree
            http://trac.webkit.org/changeset/114761

            [chromium] Don't keep pointers to released layer tree
            http://trac.webkit.org/changeset/115080

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        * platform/graphics/chromium/ContentLayerChromium.h:
        (ContentLayerChromium):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (GraphicsLayerChromium):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::applyScrollAndScale):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
        (CCLayerTreeHostCommon):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
        (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
        (WebCore::CCLayerTreeHostImpl::contentSize):
        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
        (WebCore::findScrollLayer):
        (WebCore::CCLayerTreeHostImpl::setRootLayer):
        (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
        (WebCore::CCLayerTreeHostImpl::setPageScaleDelta):
        (WebCore::CCLayerTreeHostImpl::applyPageScaleDeltaToScrollLayer):
        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
        (WebCore::CCLayerTreeHostImpl::scrollBegin):
        (WebCore::CCLayerTreeHostImpl::scrollBy):
        (WebCore::CCLayerTreeHostImpl::scrollEnd):
        (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
        (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
        (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
        (WebCore::CCLayerTreeHostImpl::animatePageScale):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore::CCLayerTreeHostImpl::releaseRootLayer):
        (WebCore::CCLayerTreeHostImpl::scrollLayer):
        (CCLayerTreeHostImpl):

2012-05-04  Ojan Vafai  <ojan@chromium.org>

        Remove file that was deleted in http://trac.webkit.org/changeset/116085/.
        For some reason, this was breaking the chromium build (probably a gyp bug
        since chromium shouldn't be pulling in this file).

        * WebCore.gypi:

2012-05-04  Tony Chang  <tony@chromium.org>

        fix bit packing in FillLayer on Windows
        https://bugs.webkit.org/show_bug.cgi?id=85636

        Reviewed by Ryosuke Niwa.

        Use unsigned for all bit packed types. I manually verified that
        the current uses of these member variables always assign true or false.

        No new tests, adding a compile assert to verify bit packing.

        * rendering/style/FillLayer.cpp:
        (SameSizeAsFillLayer): Added compile assert.
        (WebCore):
        (WebCore::FillLayer::FillLayer): Reorder m_sizeLength so bit packed fields are adjacent.
        (WebCore::FillLayer::operator=): Ditto.
        * rendering/style/FillLayer.h:
        (FillLayer): Convert bools to unsigned to match other bit packed fields.

2012-05-04  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Make PeerConnection00's API fully compliant with the draft
        https://bugs.webkit.org/show_bug.cgi?id=85491

        Reviewed by Adam Barth.

        Mainly making the relevant API's use objects (aka Dictionaries) instead of the temporary strings,
        but also making a few API's exception aware and changing the name of a flag.

        Test: fast/mediastream/peerconnection-iceoptions.html

        * Modules/mediastream/PeerConnection00.cpp:
        (WebCore::PeerConnection00::createMediaHints):
        (WebCore::PeerConnection00::createOffer):
        (WebCore):
        (WebCore::PeerConnection00::createAnswer):
        (WebCore::PeerConnection00::createIceOptions):
        (WebCore::PeerConnection00::createDefaultIceOptions):
        (WebCore::PeerConnection00::startIce):
        (WebCore::PeerConnection00::addStream):
        (WebCore::PeerConnection00::changeReadyState):
        * Modules/mediastream/PeerConnection00.h:
        (WebCore):
        (PeerConnection00):
        * Modules/mediastream/PeerConnection00.idl:
        * platform/mediastream/chromium/PeerConnection00HandlerInternal.cpp:
        (WebCore::PeerConnection00HandlerInternal::startIce):

2012-05-04  David Tseng  <dtseng@google.com>

        Chromium should include MenuListPopups' and MenuListOptions' within the ax tree.
        https://bugs.webkit.org/show_bug.cgi?id=85541

        Reviewed by Chris Fleizach.

        Covered by existing tests. 
        LayoutTests/accessibility/menu-list-sends-change-notification.html

        * accessibility/AccessibilityMockObject.h:
        (WebCore::AccessibilityMockObject::accessibilityIsIgnored):
        * accessibility/chromium/AccessibilityObjectChromium.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):

2012-05-04  Levi Weintraub <leviw@chromium.org>

        Unreviewed. Fixing ChangeLog conflict markers after 116009.

2012-05-04  Dan Winship  <danw@gnome.org>

        [GTK] ASSERTION FAILED: shouldLoadAsEmptyDocument(r.url()) ||
        !defersLoading() in MainResourceLoader.cpp:382

        Remove a soup_session_pause_message() call that got left behind,
        update the defersLoading stuff to handle this case.

        https://bugs.webkit.org/show_bug.cgi?id=85159

        Reviewed by Martin Robinson.

        No new tests. Now passes loader/load-defer-resume-crash.html under
        debug build.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::sendRequestCallback):
        (WebCore::ResourceHandle::platformSetDefersLoading):

2012-05-03  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Rework IME handling to fix bugs and prepare for WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=84556

        Reviewed by Gustavo Noronha Silva.

        No new tests. This change is already covered by a suite of keyboard
        handling unit tests in WebKitGTK+. There are some changes in behavior,
        but they are difficult to test without mocking out an entire GtkIMContext.

        Add a struct, CompositionResults, which is used by PlatformKeyboardEvent
        to package composition information with a keyboard event. Also add some logic
        to PlatformKeyboardEvent to give the right information when it has composition
        results.

        * GNUmakefile.list.am: Added new sources to the list.
        * platform/PlatformKeyboardEvent.h:  Added a new CompositionResults member,
        getter, and argument to the constructor.
        * platform/gtk/CompositionResults.h: Added.
        * platform/gtk/GtkInputMethodFilter.cpp: Added.
        * platform/gtk/GtkInputMethodFilter.h: Added.
        * platform/gtk/PlatformKeyboardEventGtk.cpp:
        (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode): When
        the key value is void return the VK_PROCESS keycode, which is the keycode
        that web content expects with keystrokes that trigger composition events.
        (WebCore::eventTypeForGdkKeyEvent): Abstract out this helper.
        (WebCore::modifiersForGdkKeyEvent): Abstract out this helper.
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): When a PlatformKeyEvent
        has composition results, use VK_PROCESS as the keycode for this event.
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): When this event is
        transformed into a Char event, the PlatformKeyboardEvent used for DOM keypress
        events, and it has composition results clear the text members. This forces the
        EventHandler code to drop the keypress event. Platform events that change the
        composition states do not have corresponding keypress DOM events (only keydown
        and keyup events), so this is necessary to ensure web compatibility.

2012-05-04  Jochen Eisinger  <jochen@chromium.org>

        Correctly update the outgoing referrer when navigating back from an history item created by pushState/replaceState
        https://bugs.webkit.org/show_bug.cgi?id=85374

        Reviewed by Nate Chapin.

        Test: http/tests/history/history-navigations-set-referrer.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadInSameDocument):

2012-05-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Clean up and split features.prf into a static list of defaults

        The static list of feature defaults is used as a fallback for any
        feature that's not dynamically detected or overriden on the command
        line (though build-webkit or passing DEFINES+= to qmake).

        The static list is complete, which allows for auto-generation based
        on Features.py (see bug https://bugs.webkit.org/show_bug.cgi?id=85456)

        https://bugs.webkit.org/show_bug.cgi?id=85611

        Reviewed by Simon Hausmann.

        * Target.pri:

2012-05-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116085, r116091, and r116095.
        http://trac.webkit.org/changeset/116085
        http://trac.webkit.org/changeset/116091
        http://trac.webkit.org/changeset/116095
        https://bugs.webkit.org/show_bug.cgi?id=85628

        We are not ready with dependencies on all platform yet (mac) +
        problems with debug builds. (Requested by Zoltan on #webkit).

        * Target.pri:
        * WebCore.pri:
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):
        (WebCore::initializeSupportedImageMIMETypesForEncoding):
        * platform/graphics/ImageSource.cpp:
        * platform/graphics/ImageSource.h:
        (WebCore):
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoder::create):
        (WebCore):
        (WebCore::ImageDecoderQt::filenameExtension):
        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
        (WebCore::ImageDecoderQt::clearPointers):
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageDecoder::create):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageFrame::getAddr):
        (ImageFrame):
        * platform/image-decoders/qt/ImageFrameQt.cpp: Added.
        (WebCore):
        (WebCore::ImageFrame::ImageFrame):
        (WebCore::ImageFrame::operator=):
        (WebCore::ImageFrame::clearPixelData):
        (WebCore::ImageFrame::zeroFillPixelData):
        (WebCore::ImageFrame::copyBitmapData):
        (WebCore::ImageFrame::setSize):
        (WebCore::ImageFrame::asNewNativeImage):
        (WebCore::ImageFrame::hasAlpha):
        (WebCore::ImageFrame::setHasAlpha):
        (WebCore::ImageFrame::setColorProfile):
        (WebCore::ImageFrame::setStatus):
        (WebCore::ImageFrame::setPixmap):
        (WebCore::ImageFrame::width):
        (WebCore::ImageFrame::height):

2012-05-04  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: eliminate temporaryProfile property from ProfilesPanel.
        https://bugs.webkit.org/show_bug.cgi?id=85623

        We can run different profilers at the same time therefore we have to keep temorary profile per profiler type.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/CSSSelectorProfileView.js:
        (WebInspector.CSSSelectorProfileType.prototype.createView):
        (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
        (WebInspector.CSSSelectorProfileType.prototype.createProfile):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotProfileType.prototype.createView):
        (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile):
        (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileType.prototype.startRecordingProfile):
        (WebInspector.CPUProfileType.prototype.createView):
        (WebInspector.CPUProfileType.prototype.createTemporaryProfile):
        (WebInspector.CPUProfileType.prototype.createProfile):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileType.prototype.createSidebarTreeElementForProfile):
        (WebInspector.ProfileType.prototype.createTemporaryProfile):
        (WebInspector.ProfileType.prototype.createProfile):
        (WebInspector.ProfileHeader):
        (WebInspector.HeapProfileHeader):
        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
        (WebInspector.ProfilesPanel.prototype.findTemporaryProfile):
        (WebInspector.ProfilesPanel.prototype._removeTemporaryProfile):
        (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback.var):
        (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
        (WebInspector.ProfilesPanel.prototype._populateProfiles):
        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
        (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):

2012-05-04  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: [chromium] ScriptGCEvent should not be static.
        https://bugs.webkit.org/show_bug.cgi?id=80788

        The static members of ScriptGCEvent were moved into per isolate data structure.
        Drive by fix: Sometimes the used heap size after a GC is slightly more than it was before.

        Reviewed by Yury Semikhatsky.

        * bindings/v8/ScriptGCEvent.cpp:
        (WebCore::ScriptGCEvent::gcPrologueCallback):
        (WebCore::ScriptGCEvent::gcEpilogueCallback):
        * bindings/v8/V8Binding.h:
        (WebCore::GCEventData::GCEventData):
        (WebCore::GCEventData::clear):
        (GCEventData):
        (WebCore):
        (WebCore::V8BindingPerIsolateData::gcEventData):
        (V8BindingPerIsolateData):

2012-05-04  Kent Hansen <kent.hansen@nokia.com>

        [Qt] Update Qt bridge after changes to QMetaMethod
        https://bugs.webkit.org/show_bug.cgi?id=85478

        Reviewed by Tor Arne Vestbø.

        QMetaMethod::signature() has been renamed to methodSignature() and
        returns a QByteArray.

        The new function QMetaMethod::name() gives direct access to a
        method's name. returnType(), parameterCount(), and parameterType()
        give direct access to type information.

        Ported the custom QtConnectionObject meta-object to revision 7;
        revision 6 and below aren't supported (and don't compile) with Qt5.

        * Target.pri:
        * bridge/qt/qt_class.cpp:
        (JSC::Bindings::QtClass::fallbackObject):
        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::getPropertyNames):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::findMethodIndex):
        (Bindings):
        (qt_meta_stringdata_QtConnectionObject_t):
        (JSC::Bindings::QtConnectionObject::qt_static_metacall):
        (JSC::Bindings::QtConnectionObject::qt_metacast):
        (JSC::Bindings::QtConnectionObject::qt_metacall):
        (JSC::Bindings::QtConnectionObject::execute):
        * bridge/qt/qt_runtime.h:
        (QtConnectionObject):
        * bridge/qt/qt_runtime_qt4.cpp: Copied from Source/WebCore/bridge/qt/qt_runtime.cpp.
        (Bindings):
        (QWKNoDebug):
        (JSC::Bindings::QWKNoDebug::QWKNoDebug):
        (JSC::Bindings::QWKNoDebug::~QWKNoDebug):
        (JSC::Bindings::QWKNoDebug::operator<<):
        (JSC::Bindings::operator<<):
        (RuntimeConversion):
        (JSC::Bindings::registerCustomType):
        (JSC::Bindings::isJSUint8ClampedArray):
        (JSC::Bindings::valueRealType):
        (JSC::Bindings::convertValueToQVariantMap):
        (JSC::Bindings::convertValueToQVariant):
        (JSC::Bindings::convertQVariantToValue):
        (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
        (JSC::Bindings::QtRuntimeMethod::finishCreation):
        (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
        (JSC::Bindings::QtRuntimeMethod::destroy):
        (JSC::Bindings::QtRuntimeMethodData::~QtRuntimeMethodData):
        (JSC::Bindings::QtRuntimeMethodData::finalize):
        (JSC::Bindings::QtRuntimeMetaMethodData::~QtRuntimeMetaMethodData):
        (JSC::Bindings::QtRuntimeConnectionMethodData::~QtRuntimeConnectionMethodData):
        (QtMethodMatchType):
        (JSC::Bindings::QtMethodMatchType::QtMethodMatchType):
        (JSC::Bindings::QtMethodMatchType::kind):
        (JSC::Bindings::QtMethodMatchType::isValid):
        (JSC::Bindings::QtMethodMatchType::isVariant):
        (JSC::Bindings::QtMethodMatchType::isMetaType):
        (JSC::Bindings::QtMethodMatchType::isUnresolved):
        (JSC::Bindings::QtMethodMatchType::isMetaEnum):
        (JSC::Bindings::QtMethodMatchType::enumeratorIndex):
        (JSC::Bindings::QtMethodMatchType::variant):
        (JSC::Bindings::QtMethodMatchType::metaType):
        (JSC::Bindings::QtMethodMatchType::metaEnum):
        (JSC::Bindings::QtMethodMatchType::unresolved):
        (JSC::Bindings::QtMethodMatchType::typeId):
        (JSC::Bindings::QtMethodMatchType::name):
        (QtMethodMatchData):
        (JSC::Bindings::QtMethodMatchData::QtMethodMatchData):
        (JSC::Bindings::QtMethodMatchData::isValid):
        (JSC::Bindings::QtMethodMatchData::firstUnresolvedIndex):
        (JSC::Bindings::indexOfMetaEnum):
        (JSC::Bindings::findMethodIndex):
        (JSC::Bindings::findSignalIndex):
        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
        (JSC::Bindings::QtRuntimeMetaMethod::finishCreation):
        (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeMetaMethod::getCallData):
        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
        (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
        (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
        (JSC::Bindings::QtRuntimeConnectionMethod::finishCreation):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::getCallData):
        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
        (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
        (JSC::Bindings::QtConnectionObject::QtConnectionObject):
        (JSC::Bindings::QtConnectionObject::~QtConnectionObject):
        (JSC::Bindings::QtConnectionObject::metaObject):
        (JSC::Bindings::QtConnectionObject::qt_metacast):
        (JSC::Bindings::QtConnectionObject::qt_metacall):
        (JSC::Bindings::isJavaScriptFunction):
        (JSC::Bindings::QtConnectionObject::execute):
        (JSC::Bindings::QtConnectionObject::match):
        (JSC::Bindings::QtConnectionObject::createWithInternalJSC):
        (JSC::Bindings::::QtArray):
        (JSC::Bindings::::~QtArray):
        (JSC::Bindings::::rootObject):
        (JSC::Bindings::::setValueAt):
        (JSC::Bindings::::valueAt):

2012-05-04  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: use single method for retrieving evaluation context in the runtime agent
        https://bugs.webkit.org/show_bug.cgi?id=85621

        Reviewed by Pavel Feldman.

        Merged two script state retrieval methods into one. Moved Page specific logic
        into PageRuntimeAgent.

        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        * inspector/InspectorRuntimeAgent.h:
        (InspectorRuntimeAgent):
        * inspector/PageRuntimeAgent.cpp:
        (WebCore::PageRuntimeAgent::scriptStateForEval):
        * inspector/PageRuntimeAgent.h:
        (PageRuntimeAgent):
        * inspector/WorkerRuntimeAgent.cpp:
        (WebCore::WorkerRuntimeAgent::scriptStateForEval):
        * inspector/WorkerRuntimeAgent.h:
        (WorkerRuntimeAgent):

2012-05-04  Jochen Eisinger  <jochen@chromium.org>

        Unreviewed, rolling out r115549.
        http://trac.webkit.org/changeset/115549
        https://bugs.webkit.org/show_bug.cgi?id=83894

        The newly added CRASH() statements are triggered too often

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::init):
        (WebCore::FrameLoader::setupForReplace):
        (WebCore::FrameLoader::stopAllLoaders):
        (WebCore::FrameLoader::clearProvisionalLoad):
        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

2012-05-04  Zoltan Horvath  <zoltan@webkit.org>

        [Qt] Error message fix after r116091
        https://bugs.webkit.org/show_bug.cgi?id=85614

        Reviewed by Alexis Menard.

        No new tests : error message fix.

        * WebCore.pri:

2012-05-04  Alexis Menard  <alexis.menard@openbossa.org>

        [Qt] Build fix when using libpng version > 1.2.
        https://bugs.webkit.org/show_bug.cgi?id=85614

        Reviewed by Tor Arne Vestbø.

        Don't enforce the version of libpng when passing the option to the linker.

        No new tests : build fix.

        * WebCore.pri:

2012-05-04  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Images are scaled badly in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=85610

        Reviewed by Jocelyn Turcotte.

        Enable smooth pixmap transforms when rendering into the GraphicsSurface image.
        This class is only used in WK2.

        * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
        (WebCore::GraphicsSurface::platformBeginPaint):

2012-05-04  Zoltan Horvath  <zoltan@webkit.org>

        [Qt] Remove unnecessary executeable bits after r116085

        No new tests.

        * Target.pri:
        * WebCore.pri:
        * platform/graphics/ImageSource.cpp:
        * platform/graphics/ImageSource.h:
        * platform/graphics/qt/ImageDecoderQt.cpp:
        * platform/graphics/qt/ImageDecoderQt.h:
        * platform/image-decoders/ImageDecoder.cpp:
        * platform/image-decoders/ImageDecoder.h:

2012-05-04  Zoltan Horvath  <zoltan@webkit.org>

        [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
        https://bugs.webkit.org/show_bug.cgi?id=80400

        This change modifies the default ImageDecoder for Qt-port from QImageDecoder to WebCore ImageDecoder.
        The new behavior is to use QImageDecoder only if WebCoreImageDecoder doesn't support the requested
        image type.
        The WTF_USE_QT_IMAGE_DECODER macro has been removed, since it is no longer needed.

        This change adds build depedency for libpng-dev and libjpeg-dev packages, becuase PNG and JPEG imagedecoders
        need not only these libraries, but their headers also. Qmake-config tests for these libraries were
        introduced in r110045.

        Reviewed by Simon Hausmann.

        No new tests needed.

        * Target.pri: Move WebCore ImageDecoder files out of guards. Remove ImageFrameQt.cpp from sources.
        * WebCore.pri: Move WebCore ImageDecoder include paths out of guards.
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes): Add WebCore supported and Qt supported MIME types.
        (WebCore::initializeSupportedImageMIMETypesForEncoding): Use Qt supported MIME types.
        * platform/graphics/ImageSource.cpp: Remove unnecessary includes.
        * platform/graphics/ImageSource.h: Remove unnecessary typedefs.
        (WebCore):
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::filenameExtension): Remove unnecessary semicolon.
        (WebCore::ImageDecoderQt::internalHandleCurrentImage): Use QImage and ImageFrame instead of QPixmap.
        (WebCore):
        (WebCore::ImageFrame::asNewNativeImage): Moved here from removed ImageFrameQt.cpp.
        * platform/image-decoders/ImageDecoder.cpp: Reorganize the includes of the header.
        (WebCore::ImageDecoder::create): Add platform macro guarded fallback case for QImageDecoder.
        * platform/image-decoders/ImageDecoder.h: Remove Qt-specific codes.
        (WebCore::ImageFrame::getAddr): Remove Qt-specific case, since it is no longer needed.
        (ImageFrame):
        * platform/image-decoders/qt/ImageFrameQt.cpp: Removed. Dead code, other code has been moved to
        ImageDecoderQt.cpp.

2012-05-03  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: createRawLocationByURL is too slow if a big number of evals happen.
        https://bugs.webkit.org/show_bug.cgi?id=85477

        It iterates through all the _scripts even they have no url.
        We can keep a separate map of scripts with url.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype._globalObjectCleared):
        (WebInspector.DebuggerModel.prototype._resetScriptsMap):
        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerModel.prototype.createRawLocationByURL):

2012-05-03  David Barr  <davidbarr@chromium.org>

        Antialias single-edge solid borders
        https://bugs.webkit.org/show_bug.cgi?id=85031

        Reviewed by Simon Fraser.

        Antialiasing is avoided for adjacent edges due to artifacts at the seam.
        There are no such artifacts for single-edge borders so enable antialiasing.

        Test: fast/css/border-solid-single-edge-antialias.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBorder):

2012-05-03  Adam Barth  <abarth@webkit.org>

        CSP: Eval isn't blocked in about:blank subframes
        https://bugs.webkit.org/show_bug.cgi?id=85553

        Reviewed by Eric Seidel.

        ContentSecurityPolicy has a back pointer to ScriptExecutionContext.
        That means we shouldn't share a single ContentSecurityPolicy object
        between multiple ScriptExecutionContexts.  This patch copies the state
        from one ScriptExecutionContext to another rather than sharing the
        ContentSecurityPolicy object itself.

        This resulted in a subtle but w.r.t. blocking eval.  Because we block
        eval by setting a bit in the JavaScript engine when enforcing the
        policy, that bit wasn't copied along with the rest of the state when we
        were sharing the ContentSecurityPolicy object.  Now that we use the
        more robust ContentSecurityPolicy::copyStateFrom function, we don't
        have that bug.

        Test: http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe.html

        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext):
        (WebCore):
        (WebCore::Document::initContentSecurityPolicy):
        * dom/Document.h:
        (Document):
        * dom/SecurityContext.cpp:
        (WebCore::SecurityContext::setContentSecurityPolicy):
        * dom/SecurityContext.h:
        (SecurityContext):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didBeginDocument):
        * page/ContentSecurityPolicy.h:
        (WebCore::ContentSecurityPolicy::create):

2012-05-03  Abhishek Arya  <inferno@chromium.org>

        Regression(r113769): Crash in AudioNodeOutput::disconnectAllParams.
        https://bugs.webkit.org/show_bug.cgi?id=85196

        Reviewed by Chris Rogers.

        RefPtr the AudioParam hashset in AudioNodeOutput to prevent accessing
        destroyed entries.

        No new tests. Unable to reproduce it in DRT.

        * Modules/webaudio/AudioNodeOutput.cpp:
        (WebCore::AudioNodeOutput::disconnectAllParams):
        * Modules/webaudio/AudioNodeOutput.h:
        (AudioNodeOutput):

2012-05-03  Noel Gordon  <noel.gordon@gmail.com>

        PNGImageDecoder: Clean up rowAvailable() some more
        https://bugs.webkit.org/show_bug.cgi?id=85464

        Reviewed by Eric Seidel.

        No new tests. Covered by existing tests: fast/images/png-extra-row-crash.html in
        particular.

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable): Use colorChannels consistently. Split
        the useful libpng comments in two, then place the early-out code and conditions
        inbetween. The png variable is only used in one place so move it there.

2012-05-03  Ojan Vafai  <ojan@chromium.org>

        Histogram total allocated bytes in the arena in addition to the render tree size
        https://bugs.webkit.org/show_bug.cgi?id=85537

        Reviewed by Eric Seidel.

        We only free bytes allocated to a RenderArena when destroying the Document.
        Histogram both the render tree size and the total bytes allocated. This
        gives a better sense of the overhead of RenderArena as well as giving a more
        accurate number for the amount of actual memory used by the render tree.

        No new tests. This is not webfacing, so this can't be tested without adding
        API to layout test controller, which doesn't seem worth it for this code.

        * page/Page.cpp:
        (WebCore::Page::renderTreeSize):
        (WebCore::Page::setVisibilityState):
        * page/Page.h:
        (Page):
        * platform/Arena.cpp:
        (WebCore::ArenaAllocate):
        * platform/Arena.h:
        (WebCore):
        * rendering/RenderArena.cpp:
        (WebCore::RenderArena::allocate):
        * rendering/RenderArena.h:
        (WebCore::RenderArena::totalRenderArenaAllocatedBytes):
        (RenderArena):

2012-05-03  Mary Wu  <mary.wu@torchmobile.com.cn>

        [BlackBerry] Add missed member in CrossThreadResourceRequestData
        https://bugs.webkit.org/show_bug.cgi?id=85448

        Reviewed by Antonio Gomes.

        * platform/network/blackberry/ResourceRequest.h:
        (CrossThreadResourceRequestData):
        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):

2012-05-03  Adam Barth  <abarth@webkit.org>

        CSP shouldn't block about:blank for iframes
        https://bugs.webkit.org/show_bug.cgi?id=85233

        Reviewed by Eric Seidel.

        As discussed at the W3C WebAppSec face-to-face meeting, there's no
        point in blocking about:blank iframes or objects because blocking a
        frame or object just results in displaying about:blank anyway.  This
        patch just removes the spurious console message and violation report.

        Test: http/tests/security/contentSecurityPolicy/frame-src-about-blank-allowed-by-default.html

        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):

2012-05-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r116040.
        http://trac.webkit.org/changeset/116040
        https://bugs.webkit.org/show_bug.cgi?id=85559

        Broke a few IndexedDB browsertests (Requested by zhenyao on
        #webkit).

        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore::IDBCursor::direction):
        * Modules/indexeddb/IDBCursor.h:
        (IDBCursor):
        * Modules/indexeddb/IDBCursor.idl:
        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::transaction):
        (WebCore):
        * Modules/indexeddb/IDBDatabase.h:
        * Modules/indexeddb/IDBDatabase.idl:
        * Modules/indexeddb/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        * Modules/indexeddb/IDBIndex.h:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        * Modules/indexeddb/IDBIndex.idl:
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::openCursor):
        * Modules/indexeddb/IDBObjectStore.h:
        (WebCore::IDBObjectStore::openCursor):
        (IDBObjectStore):
        * Modules/indexeddb/IDBObjectStore.idl:
        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::readyState):
        (WebCore::IDBRequest::markEarlyDeath):
        (WebCore::IDBRequest::resetReadyState):
        (WebCore::IDBRequest::abort):
        (WebCore::IDBRequest::finishCursor):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::stop):
        * Modules/indexeddb/IDBRequest.h:
        * Modules/indexeddb/IDBRequest.idl:
        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore::IDBTransaction::mode):
        * Modules/indexeddb/IDBTransaction.h:
        (IDBTransaction):
        * Modules/indexeddb/IDBTransaction.idl:

2012-05-03  Raphael Kubo da Costa  <rakuco@webkit.org>

        [CMake] Rewrite FindCairo.cmake.
        https://bugs.webkit.org/show_bug.cgi?id=84895

        Reviewed by Daniel Bates.

        The old approach relied on pkg-config for finding Cairo (which
        introduced a dependency on pkg-config that could be avoided), used
        the LibFindMacros code that we should probably remove in the
        future and did not use the FindPackageHandleStandardArguments
        module.

        Change all that by rewriting the module.
        - Use the pkg-config output optionally instead of requiring it
        like LibFindMacros did.
        - Remove the implicit dependency on FreeType which often found it
        the wrong way via pkg-config and without considering
        CMAKE_PREFIX_PATH.
        - Retrieve the Cairo version by looking at cairo-version.h instead
        of relying on pkg-config. It requires some additional code for
        checking if the desired version has been found, but that will not
        be needed once we start depending on CMake 2.8.3 or later.

        The only downside is that FPHSA sets <UPPERCASED_NAME>_FOUND
        instead of <Name>_FOUND, and to keep things consistent
        Cairo_LIBRARIES and Cairo_INCLUDE_DIRS have become CAIRO_LIBRARIES
        and CAIRO_INCLUDE_DIRS.

        No new tests, build system change.

        * PlatformEfl.cmake: Use CAIRO_FOO instead of Cairo_FOO.

2012-05-03  Anders Carlsson  <andersca@apple.com>

        Focus ring only appears in top-left tile
        https://bugs.webkit.org/show_bug.cgi?id=85556
        <rdar://problem/11359656>

        Reviewed by Simon Fraser.

        It is sufficient to just apply the current CTM to the clip rect and set that as the focus ring clip rect.

        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):

2012-05-03  Alec Flett  <alecflett@chromium.org>

        IndexedDB: Replace numeric constants with strings
        https://bugs.webkit.org/show_bug.cgi?id=84894

        Reviewed by Tony Chang.

        Test: storage/indexeddb/legacy-constants.html

        Update IDBObjectStore.openCursor, IDBIndex.openCursor,
        IDBIndex.openKeyCursor, IDBDatabase.transaction,
        IDBCursor.direction, IDBTransaction.mode, and
        IDBRequest.readyState to meet the latest spec. All of these APIs
        now support string-based values in addition to the
        legacy/deprecated enum-based values.

        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore):
        (WebCore::IDBCursor::direction):
        (WebCore::IDBCursor::stringToDirection):
        (WebCore::IDBCursor::directionToString):
        * Modules/indexeddb/IDBCursor.h:
        (IDBCursor):
        * Modules/indexeddb/IDBCursor.idl:
        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::transaction):
        (WebCore):
        * Modules/indexeddb/IDBDatabase.h:
        (IDBDatabase):
        * Modules/indexeddb/IDBDatabase.idl:
        * Modules/indexeddb/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore):
        (WebCore::IDBIndex::openKeyCursor):
        * Modules/indexeddb/IDBIndex.h:
        (WebCore::IDBIndex::openCursor):
        (IDBIndex):
        (WebCore::IDBIndex::openKeyCursor):
        * Modules/indexeddb/IDBIndex.idl:
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::openCursor):
        (WebCore):
        * Modules/indexeddb/IDBObjectStore.h:
        (WebCore::IDBObjectStore::openCursor):
        (IDBObjectStore):
        * Modules/indexeddb/IDBObjectStore.idl:
        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::readyState):
        (WebCore::IDBRequest::markEarlyDeath):
        (WebCore::IDBRequest::resetReadyState):
        (WebCore::IDBRequest::abort):
        (WebCore::IDBRequest::finishCursor):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::stop):
        * Modules/indexeddb/IDBRequest.h:
        * Modules/indexeddb/IDBRequest.idl:
        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore):
        (WebCore::IDBTransaction::mode):
        (WebCore::IDBTransaction::stringToMode):
        (WebCore::IDBTransaction::modeToString):
        * Modules/indexeddb/IDBTransaction.h:
        (IDBTransaction):
        * Modules/indexeddb/IDBTransaction.idl:

2012-05-03  Sam Weinig  <sam@webkit.org>

        Add an eventPhase NONE constant
        https://bugs.webkit.org/show_bug.cgi?id=85397

        Reviewed by Anders Carlsson.

        Updates existing tests.

        * dom/Event.h:
        * dom/Event.idl:
        Add NONE constant.

2012-05-03  Tony Chang  <tony@chromium.org>

        Height overflow when nesting multiple new Flexbox'es.
        https://bugs.webkit.org/show_bug.cgi?id=83572

        Reviewed by Ojan Vafai.

        Test: css3/flexbox/nested-stretch.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::computeAvailableFreeSpace):

2012-05-03  Julien Chaffraix  <jchaffraix@webkit.org>

        ASSERT(!m_zOrderListsDirty) is triggering in Safari
        https://bugs.webkit.org/show_bug.cgi?id=85512

        Reviewed by Simon Fraser.

        Unfortunately no test as I don't think the 2 cases are testable reliably.

        A better fix would be to introduce some iterator that handle updating the
        lists for you. For now, just adding the missing updateLayerListsIfNeeded()
        calls.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::layerHas3DContent):

2012-05-03  Philip Rogers  <pdr@google.com>

        Fix numeric precision issue in SVG animations
        https://bugs.webkit.org/show_bug.cgi?id=85502

        Reviewed by Dirk Schulze.

        r93938 had a bug where floating point numbers where compared exactly,
        exposing a bug when floating point precision was not sufficient. This
        change compares against an epsilon value to get around these precision
        issues.

        Test: svg/animations/animate-end-attribute-numeric-precision.html

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):

2012-05-03  Joshua Bell  <jsbell@chromium.org>

        Fix coding style issues in IDBLevelDBCoding.cpp
        https://bugs.webkit.org/show_bug.cgi?id=85536

        Reviewed by Tony Chang.

        No tests - just code formatting changes.

        * Modules/indexeddb/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::encodeIDBKey):
        (WebCore::IDBLevelDBCoding::decodeIDBKey):
        (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
        (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):

2012-04-30  Filip Pizlo  <fpizlo@apple.com>

        PageCache autorelease should not wait until 3 seconds and 42 pages
        https://bugs.webkit.org/show_bug.cgi?id=85254
        <rdar://problem/11349613>

        Reviewed by Geoffrey Garen.

        No new tests, since there is no change in behavior.

        * history/PageCache.cpp:
        (WebCore):
        (WebCore::PageCache::PageCache):
        (WebCore::PageCache::releaseAutoreleasedPagesNowDueToTimer):
        * history/PageCache.h:
        (PageCache):

2012-05-03  Levi Weintraub  <leviw@chromium.org>

        Unreviewed build fix for Mac WK2. Adding a mistakenly removed symbol back to WebCore.exp.in.

        * WebCore.exp.in:

2012-05-03  Levi Weintraub  <leviw@chromium.org>

        Unreviewed build fix for Qt after 116009. No changes in behavior.

        * rendering/RenderTreeAsText.cpp:
        (WebCore::RenderTreeAsText::writeRenderObject):

2012-05-03  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Revise touchpad fling curve to use exponential curve, to improve feel and small fling performance.
        https://bugs.webkit.org/show_bug.cgi?id=85530

        Reviewed by Kenneth Russell.

        Existing unit tests updated for new curve.

        Modifies TouchpadFLingGestureCurve to use an exponential, rather than polynomial, curve.
        This change appears to improve the overall feel of touchpad fling, and substantially
        improves small-fling performance.

        * platform/TouchpadFlingPlatformGestureCurve.cpp:
        (WebCore::TouchpadFlingPlatformGestureCurve::create):
        (WebCore):
        (WebCore::position):
        (WebCore::velocity):
        (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):

2012-04-23  Levi Weintraub  <leviw@chromium.org> and Emil A Eklund <eae@chromium.org>

        [meta] Switch away from integers representing pixels for layout/event handling/rendering
        https://bugs.webkit.org/show_bug.cgi?id=60318

        Reviewed by Eric Seidel.

        Swapping the LayoutUnit backend to FractionalLayoutUnit from int.
        
        FractionalLayoutUnit is a new type that uses an integer to represent a fraction of a pixel.
        We're also adding a feature flag -- ENABLE_SUBPIXEL_LAYOUT -- that toggles this fraction
        between 1/1 and 1/60. Initially, all platforms will default to subpixel layout being off,
        so FractionalLayoutUnits will effectively continue to act as integers.
        
        With ENABLE_SUBPIXEL_LAYOUT turned on, FractionalLayoutUnits accumulate error from sub-pixel
        CSS values and applied zooming, and painting uses pixel-snapping to align these values
        to pixels. See http://trac.webkit.org/wiki/LayoutUnit for details.

        In a number of previous patches, LayoutUnits were plumbed throughout the rendering tree
        to prepare for this change. This included a number of functions in LayoutTypes.h and
        the IntRect/Point/Size classes that were effectively no-ops while LayoutUnits were
        integers. Subsequent patches will remove unnecessary versions of these functions; see
        http://webkit.org/b/84616 for tracking these changes.

        Tests: fast/sub-pixel/client-width-height-snapping.html
               fast/sub-pixel/layout-boxes-with-zoom.html
               fast/sub-pixel/size-of-box-with-zoom.html

        * WebCore.exp.in: Updating function signatures that expose FractionalLayoutUnits.
        * WebCore.xcodeproj/project.pbxproj: Adding missing FractionalLayoutPoint.h header.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::zoomAdjustedPixelValue): Using adjustFloatForAbsoluteZoom instead of int
        to make use of extra precision before returning the pixel value.
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLength): No longer rounds for imprecise conversion
        when sub-pixel layout is enabled.
        (WebCore::CSSPrimitiveValue::customCssText): Returning integer values for pixels.
        * dom/Element.cpp:
        (WebCore::adjustForLocalZoom): Using rounding instead of incrementing the value before
        adjusting to account for truncation when sub-pixel layout is enabled.
        * page/SpatialNavigation.cpp:
        (WebCore::distanceDataForNode): Using FractionalLayoutUnit::abs instead of std::abs.
        * platform/FractionalLayoutUnit.h: Adding some missing operators and a flag around the
        constant denominator to switch it between 1/1 and 1/60 depending on the feature flag.
        * platform/Length.h: Changing the default type for value to float, and adding intValue
        since this more closely matches usage in a sub-pixel layout world.
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::paint): Using minimumIntValueForLength in this platform code
        instead of LayoutUnits.
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        * rendering/LayoutTypes.h: This file contains the actual switch for changing LayoutUnits
        to be FractionalLayoutUnits. Also updating stub methods with their proper implementations.
        * rendering/PaintInfo.h:
        (WebCore::PaintInfo::infiniteRect): Ensuring the infiniteRect doesn't overflow the
        FractionalLayoutUnit bounds.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine): Switch to
        FractionalLayoutUnit's abs function instead of std::abs.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Add rounding for
        setting the phase of the background geometry before applying modulo from the tile size.
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): Stop applying flex when
        we have less than a pixel to distribute.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::backgroundClipRect): Replace PaintInfo::infiniteRect with the
        LayoutRect equivalent.
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::rangeIntersectsRect): Using FractionalLayoutUnit::abs
        instead of std::abs.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Ditto.
        * rendering/RenderObject.h:
        (WebCore): Removing unnecessary adjustForAbsoluteZoom function.
        (WebCore::RenderObject::outlineSize): Outlines remain ints.
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::styleOrColLogicalWidth): Build fix. Using floats because
        colWidthSum is a Length which uses floats.
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): Explicit templatization
        for max.
        * rendering/RenderTreeAsText.cpp: Adding code to minimize test expectation churn. It
        may be worth outputting float values in test expectations, but this isn't done with
        the inline box tree yet, either.
        * rendering/RenderTreeAsText.h:
        (WebCore): Adding a FractionalLayoutPoint operator.
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::updateWidgetGeometry): Adding missing pixel snapping, and switching
        absoluteContentBox to an IntRect, as this is what boundingBox returns.
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::writePositionAndStyle): Adding an enclosingIntRect for consistency with old results.

2012-05-03  Levi Weintraub  <leviw@chromium.org> and Emil A Eklund <eae@chromium.org>

        [meta] Switch away from integers representing pixels for layout/event handling/rendering
        https://bugs.webkit.org/show_bug.cgi?id=60318

        Reviewed by Eric Seidel.

        Swapping the LayoutUnit backend to FractionalLayoutUnit from int.
        
        FractionalLayoutUnit is a new type that uses an integer that can represent a fraction of a
        pixel. The ENABLE_SUBPIXEL_LAYOUT feature flags toggles this fraction between 1/1 and 1/60.
        Initially, all platforms will default to subpixel layout being off, so FractionalLayoutUnits
        will effectively continue to act as integers.
        
        With ENABLE_SUBPIXEL_LAYOUT turned on, FractionalLayoutUnits accumulate error from sub-pixel
        CSS values and applied zooming, and painting uses pixel-snapping to align these values
        to pixels and prevent unwanted anti-aliasing. See http://trac.webkit.org/wiki/LayoutUnit for
        details.

        In a number of previous patches, LayoutUnits were plumbed throughout the rendering tree to
        prepare for this change. This included a number of functions in LayoutTypes.h and the
        IntRect/Point/Size classes that were effectively no-ops while LayoutUnits were integers. See
        http://webkit.org/b/60318 for the exhaustive list of changes that were done in preparation
        for this. Subsequent patches will remove unnecessary versions of these functions.
        http://webkit.org/b/84616 tracks these changes.

        Tests: fast/sub-pixel/client-width-height-snapping.html
               fast/sub-pixel/layout-boxes-with-zoom.html
               fast/sub-pixel/size-of-box-with-zoom.html

        * WebCore.exp.in: Updating function signatures that expose FractionalLayoutUnits.
        * WebCore.order: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Adding missing FractionalLayoutPoint.h header.
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLength): No longer rounds for imprecise conversion
        when sub-pixel layout is enabled.
        * dom/Element.cpp:
        (WebCore::adjustForLocalZoom): Using rounding instead of incrementing the value before
        adjusting to account for truncation when sub-pixel layout is enabled.
        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore): Fixing a static initializer build error by moving an integer constant to be
        an int.
        * rendering/LayoutTypes.h: This file contains the actual switch for changing LayoutUnits
        to be FractionalLayoutUnits. Also updating stub methods with their proper implementations.
        * rendering/PaintInfo.h:
        (WebCore::PaintInfo::infiniteRect): Ensuring the infiniteRect doesn't overflow the
        FractionalLayoutUnit bounds. LayoutRect::infiniteRect() is the largest rectangle that can
        be represented using LayoutUnits.
        * rendering/RenderLayer.h:
        (WebCore::ClipRect::operator!=): Add overload of != to fix complaining compilers when
        * rendering/RenderTreeAsText.cpp: Adding code to minimize test expectation churn. It
        may be worth outputting float values in test expectations, but this isn't done with
        the inline box tree yet, either.
        * rendering/RenderTreeAsText.h:
        (WebCore): Adding a FractionalLayoutPoint operator.
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::writePositionAndStyle):
        (WebCore): Adding a FractionalLayoutPoint operator.

2012-05-03  Anders Carlsson  <andersca@apple.com>

        Move repaint counter drawing code out into a separate function
        https://bugs.webkit.org/show_bug.cgi?id=85539

        Reviewed by Simon Fraser.

        The majority of code in TileCache::drawLayer deals with drawing the repaint counter. Move this code out
        into a separate function to make it more clear what drawLayer does.

        * platform/graphics/ca/mac/TileCache.h:
        (TileCache):
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::drawLayer):
        (WebCore::TileCache::drawRepaintCounter):
        (WebCore):

2012-05-03  Simon Fraser  <simon.fraser@apple.com>

        Compositing 'requiresOwnBackingStore' logic caused new clip rect assertions
        https://bugs.webkit.org/show_bug.cgi?id=85455

        Reviewed by Dean Jackson.
        
        r114283 added logic that allows compositing layers to avoid allocating their own
        backing store and to paint into an ancestor instead. However, that caused
        assertions in RenderLayer::updateClipRects() about m_clipRectsRoot being
        incorrect, because clip rect code assumed that compositing layers
        always painted themselves.
        
        Fixed by calling paintsIntoCompositedAncestor() in RenderLayer::clippingRoot(),
        so that clip rect computation matches painting.

        I wasn't able to easily make a test that reproduces the assertion in DRT.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::clippingRoot):

2012-05-03  Tim Horton  <timothy_horton@apple.com>

        REGRESSION(99539): SVG <img> disregards page scale and device scale
        https://bugs.webkit.org/show_bug.cgi?id=77237
        <rdar://problem/10767413>

        Reviewed by Simon Fraser.

        Rename SVGImageCache::SizeAndZoom to SVGImageCache::SizeAndScales, as it carries more than just zoom now.

        Pass the product of the device and page scales through everything that takes a SVGImageCache::SizeAndScales,
        using it to inflate the size of the buffer created in lookupOrCreateBitmapImageForRenderer,
        and to inflate the destination rectangle passed to SVGImage::draw, which will cause a transformation
        on the context being drawn into.

        Invalidate the SVGImageCache entry on device/page scale changes in addition to zoom changes.

        This patch does not cause SVGImageCache to take into account scale caused by CSS transforms; that is tracked
        separately by https://bugs.webkit.org/show_bug.cgi?id=85335.

        Tests: svg/as-image/image-respects-deviceScaleFactor.html
               svg/as-image/image-respects-pageScaleFactor.html

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::setContainerSizeForRenderer):
        (WebCore::CachedImage::imageSizeForRenderer):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::drawSVGToImageBuffer):
        * svg/graphics/SVGImage.h:
        * svg/graphics/SVGImageCache.cpp:
        (WebCore::SVGImageCache::~SVGImageCache):
        (WebCore::SVGImageCache::removeRendererFromCache):
        (WebCore::SVGImageCache::setRequestedSizeAndScales):
        (WebCore::SVGImageCache::requestedSizeAndScales):
        (WebCore::SVGImageCache::redraw):
        (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
        * svg/graphics/SVGImageCache.h:
        (WebCore::SVGImageCache::SizeAndScales::SizeAndScales):
        (SizeAndScales):
        (SVGImageCache):
        (WebCore::SVGImageCache::ImageData::ImageData):
        (ImageData):

2012-05-03  Fady Samuel  <fsamuel@chromium.org>

        Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
        https://bugs.webkit.org/show_bug.cgi?id=70609

        Reviewed by Kenneth Rohde Christiansen.

        Make Viewport Attributes' layoutSize be a FloatRect to avoid rounding
        too early, and the occasional off by one fixed layout dimensions.

        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):
        * dom/ViewportArguments.h:
        (ViewportAttributes):

2012-05-03  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Handle generated keys up to 2^53
        https://bugs.webkit.org/show_bug.cgi?id=85114

        The spec defines the behavior for generated keys up to 2^53
        (the maximum integer storable as an ECMAScript number) and
        the error case when going beyond that. Ensure that we can
        handle values up to that point and generate errors beyond.

        Reviewed by Tony Chang.

        Test: storage/indexeddb/key-generator.html

        * Modules/indexeddb/IDBBackingStore.h:
        (IDBBackingStore):
        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
        * Modules/indexeddb/IDBLevelDBBackingStore.h:
        (IDBLevelDBBackingStore):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
        (IDBObjectStoreBackendImpl):

2012-05-03  Simon Fraser  <simon.fraser@apple.com>

        Remove RenderLayerCompositor::didStartAcceleratedAnimation()
        https://bugs.webkit.org/show_bug.cgi?id=85514

        Reviewed by Antti Koivisto.
        
        Remove RenderLayerCompositor::didStartAcceleratedAnimation(), which is no longer
        needed.

        Code removal, no new tests.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::startAnimation):
        (WebCore::RenderLayerBacking::startTransition):
        * rendering/RenderLayerCompositor.cpp:
        * rendering/RenderLayerCompositor.h:

2012-05-03  Andreas Kling  <kling@webkit.org>

        REGRESSION(r111387): CSSOM representation of 'background-image' values should be CSSPrimitiveValue.
        <http://webkit.org/b/85500>

        Reviewed by Antti Koivisto.

        Use the cloneForCSSOM() mechanism in CSSValue to expose CSSImageValue to bindings as a URI
        primitive value. This matches the specced behavior of computed image values, and restores our
        previous behavior without having CSSImageValue subclass CSSPrimitiveValue.

        Also added a failsafe return after the isCSSOMSafe() assertion in the JSC bindings, since it's
        better to expose an incorrect return value than an insecurely shared one, should we have or add
        bugs in this code.

        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::cloneForCSSOM):
        * css/CSSImageValue.h:
        * css/CSSValue.cpp:
        (WebCore::CSSValue::cloneForCSSOM):

2012-05-03  Keishi Hattori  <keishi@webkit.org>

        Crash in HTMLFormControlElement::m_fieldSetAncestor
        https://bugs.webkit.org/show_bug.cgi?id=85453

        Reviewed by Kent Tamura.

        Modified tests: fast/forms/datalist/datalist-child-validation.html
                        fast/forms/form-control-element-crash.html

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFrom): Only set the invalid ancestor flag.
        The element will be detached from the document so there is no need to update the style.
        And the validation message will be hidden by the blur event.
        (WebCore::HTMLFormControlElement::willValidate): Because of the change to removedFrom,
        m_ancestorsValid may be false.

2012-05-03  Simon Fraser  <simon.fraser@apple.com>

        Keep overlap testing for compositing on pages with 3d transforms when possible
        https://bugs.webkit.org/show_bug.cgi?id=62487

        Reviewed by Antti Koivisto.
        
        Change RenderLayerCompositor to always use overlap testing when possible.

        Rather than turn off overlap testing wholesale when encountering a non-affine
        transform, or starting an accelerated transform animation, we constrain
        the disabling of overlap testing to within overflow:hidden areas when possible.

        Tests: compositing/layer-creation/overlap-animation.html
               compositing/layer-creation/overlap-transforms.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::setCompositedBounds): Whitespace fix.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::CompositingState::CompositingState):
        (CompositingState): Add a member boolean to track whether we're testing overlap. Add a copy
        constructor.
        (WebCore::RenderLayerCompositor::updateCompositingLayers): Initialize the 'testing overlap'
        setting based on m_compositingConsultsOverlap (though this will always be true until removed
        in a future commit).
        (WebCore::RenderLayerCompositor::updateBacking): No longer turn off overlap testing
        when we see a non-affine transform.
        (WebCore::RenderLayerCompositor::computeCompositingRequirements): No need for the 'struct'
        in the arguments.
        Consult compositingState.m_testingOverlap to see if we want to test overlap.
        Use the new CompositingState copy ctor for childState, but set m_subtreeIsCompositing to false
        as before.
        If this layer is composited, look to see if need to disable over lap testing based on
        the transform or an animation.
        Just as we propagate m_subtreeIsCompositing, we have to propagate m_testingOverlap=false
        for the rest of the traverse.
        If we've just processed a layer which clips compositing descendants, we can go back
        to testing for overlap.
        (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): No need to do anything
        here now. It will be removed in future.
        (WebCore::RenderLayerCompositor::hasNonAffineTransform): No longer check
        perspective here, since that doesn't affect whether _this_ layer should disable
        overlap testing. Checking for a non-affine transform is sufficient.
        (WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
        New method to check if AnimationController is running a transform animation.
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):

2012-05-03  Chris Fleizach  <cfleizach@apple.com>

        accessibility/misspelled-attributed-string.html test sometimes throws exceptions
        https://bugs.webkit.org/show_bug.cgi?id=85081

        Reviewed by Darin Adler.

        Add in more range checking in case we get back ranges from spell checking that are wrong.

        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (AXAttributeStringSetFont):
        (AXAttributeStringSetColor):
        (AXAttributeStringSetNumber):
        (AXAttributeStringSetBlockquoteLevel):
        (AXAttributeStringSetHeadingLevel):
        (AXAttributeStringSetElement):

2012-05-03  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: move canonical mime type calculation to Resource
        https://bugs.webkit.org/show_bug.cgi?id=85507

        Reviewed by Yury Semikhatsky.

        Drive-by: small refactoring that prepares code for formatter extraction.

        * inspector/front-end/BreakpointsSidebarPane.js:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.createLiveLocation):
        (WebInspector.DebuggerModel.prototype.rawLocationToUILocation):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._uiSourceCodeForResource):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
        (get WebInspector):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.requestContent):
        (WebInspector.Resource.prototype.canonicalMimeType):
        (WebInspector.Resource.prototype._innerRequestContent.callback):
        (WebInspector.Resource.prototype._innerRequestContent):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceSourceFrame.prototype.requestContent):
        (WebInspector.ResourceSourceFrame.prototype._contentChanged):

2012-05-03  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: 'expires' value is incorrect for cookies
        https://bugs.webkit.org/show_bug.cgi?id=85489

        Reviewed by Pavel Feldman.

        Fixed cookie 'expires' property type from integer to number so that
        we don't lose precision when assembling Cookie parameter in InspectorResourceAgent.

        * inspector/Inspector.json:

2012-05-03  Dan Bernstein  <mitz@apple.com>

        highlight for Ruby text is mispositioned in the Web Inspector
        https://bugs.webkit.org/show_bug.cgi?id=82684

        Reviewed by Simon Fraser.

        Tests: fast/writing-mode/flipped-blocks-inline-map-local-to-container-expected.html
               fast/writing-mode/flipped-blocks-inline-map-local-to-container.html

        In flipped blocks writing modes, flipping was being applied twice to box descendants of
        inline children of the flipped block, once during RenderBox::mapLocalToContainer, and then
        again by RenderInline::mapLocalToContainer. The fix is to make the latter only apply the
        flip to local coordinates originating in the inline or a descendant inline. This is done
        by adding a parameter of type ApplyContainerFlipOrNot, which defaults to ApplyContainerFlip
        but is reset to DoNotApplyContainerFlip in recursive calls into mapLocalToContainer().

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::mapLocalToContainer): Added ApplyContainerFlipOrNot parameter, passing
        DoNotApplyContainerFlip when recursing into the container.
        * rendering/RenderBox.h:

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::mapLocalToContainer): Added ApplyContainerFlipOrNot paramerer, and
        made the flipping conditional on its value.

        * rendering/RenderInline.h:

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::mapLocalToContainer): Added ApplyContainerFlipOrNot parameter,
        passing DoNotApplyContainerFlip when recursing into the container.
        (WebCore::RenderObject::localToContainerQuad): Pass ApplyContainerFlip.
        (WebCore::RenderObject::localToContainerPoint): Ditto.
        * rendering/RenderObject.h:

        * rendering/RenderView.cpp:
        (WebCore::RenderView::mapLocalToContainer): Added ApplyContainerFlipOrNot parameter.
        * rendering/RenderView.h:

        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::mapLocalToContainer): Ditto.
        * rendering/svg/RenderSVGForeignObject.h:

        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
        * rendering/svg/RenderSVGInline.h:

        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
        * rendering/svg/RenderSVGModelObject.h:

        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::mapLocalToContainer): Ditto.
        * rendering/svg/RenderSVGRoot.h:

        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::mapLocalToContainer): Ditto.
        * rendering/svg/RenderSVGText.h:

        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::mapLocalToContainer): Pass DoNotApplyContainerFlip when
        recursing into the parent.

2012-05-03  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make Script a ContentProvider.
        https://bugs.webkit.org/show_bug.cgi?id=85486

        Reviewed by Yury Semikhatsky.

        This allows us to get rid of the corresponding content provider wrapper.

        * inspector/front-end/ContentProviders.js:
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createContentProvider):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.contentURL):
        (WebInspector.Script.prototype.requestContent.didGetScriptSource):
        (WebInspector.Script.prototype.requestContent):
        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):

2012-05-03  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Remove extra checks for empty string when parsing CSS value
        https://bugs.webkit.org/show_bug.cgi?id=85480

        Reviewed by Alexis Menard.

        Each parse value helper function was checking whether the value string was empty. For the
        common case this check is already done by StylePropertySet::setProperty(). So this patch
        make CSSParser::parseValue() assume the value string is not empty, and fix the other two
        clients.

        Test: fast/html/font-face-empty-should-not-crash.html

        * css/CSSParser.cpp:
        (WebCore::parseColorValue): Replace the string empty check by an ASSERT() to document
        function's expectations.
        (WebCore::parseSimpleLengthValue): Ditto.
        (WebCore::parseKeywordValue): Ditto.
        (WebCore::CSSParser::parseFontFaceValue): This will be covered by the added test.
        (WebCore::CSSParser::parseValue):
        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::setMatrixValue): This is already covered by
        transforms/cssmatrix-2d-interface.xhtml.

2012-05-03  Arpita Bahuguna  <arpitabahuguna@gmail.com>

        Broken handling of pseudo-elements in selectors API
        https://bugs.webkit.org/show_bug.cgi?id=83446

        Reviewed by Antti Koivisto.

        Test: fast/dom/Window/querySelectorAll-with-pseudo-elements.html

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::SelectorChecker):
        Setting the default value for the enum member m_mode to ResolvingStyle.

        (WebCore::SelectorChecker::checkSelector):
        Instead of verifying against the bool m_isCollectingRulesOnly, we now check whether or not
        m_mode is set to ResolvingStyle.

        (WebCore::SelectorChecker::checkOneSelector):
        Instead of verifying against the bool m_isCollectingRulesOnly, we now check whether or not
        m_mode is set to ResolvingStyle. Also, for the pseudo-elements case we check if its
        value is set to QueryingRules in which case we return false.

        * css/SelectorChecker.h:
        (WebCore::SelectorChecker::mode):
        Returns the mode (m_mode) value.

        (WebCore::SelectorChecker::setMode):
        Sets the mode (m_mode) to the passed enum value.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::sortAndTransferMatchedRules):
        (WebCore::StyleResolver::collectMatchingRulesForList):
        Retrieves SelectorChecker's mode value.

        * dom/SelectorQuery.cpp:
        (WebCore::SelectorQuery::SelectorQuery):
        Sets SelectorChecker's mode to QueryingRules.

        * html/shadow/ContentSelectorQuery.cpp:
        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
        Sets SelectorChecker's mode to CollectingRules.

2012-05-03  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: EXC_BAD_ACCESS in DOM breakpoint processing code.
        https://bugs.webkit.org/show_bug.cgi?id=85482

        Reviewed by Yury Semikhatsky.

        0 check added since we are guaranteed to get immediate parent, but not the whole ancestor tree.

        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):

2012-05-03  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: compile time ambiguity happens when I try to assign a TypeBuilder object to an out argument.
        https://bugs.webkit.org/show_bug.cgi?id=85462

        It happens because we have type casting operators for both types RefPtr<*Type*> and PassRefPtr<*Type*>.
        I think we can drop PassRefPtr type casting operator and use a named function 'release'.

        Reviewed by Yury Semikhatsky.

        * inspector/CodeGeneratorInspector.py:
        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::buildObjectForCookie):
        (WebCore::buildObjectForSearchResult):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForTiming):
        (WebCore::InspectorResourceAgent::buildInitiatorObject):
        * inspector/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::buildInspectorObject):

2012-05-03  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: crash in InspectorResourceAgent::didReceiveWebSocketFrame
        https://bugs.webkit.org/show_bug.cgi?id=85394

        Reviewed by Pavel Feldman.

        Pass string length explicitely when creating String object from non-null-terminated
        char* strings.

        * inspector/InspectorResourceAgent.cpp:
        (WebCore):
        (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
        (WebCore::InspectorResourceAgent::didSendWebSocketFrame):

2012-05-03  'Pavel Feldman'  <pfeldman@chromium.org>

        Not reviewed: never surround InspectorInstrumentation:: with ENABLED(INSPECTOR)

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):
        (WebCore::dispatchChildRemovalEvents):

2012-04-30  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: migrate breakpoint manager to live locations.
        https://bugs.webkit.org/show_bug.cgi?id=85136

        Reviewed by Yury Semikhatsky.

        - Merges Breakpoint and UIBreakpoint to have single instance
        - Extracts storage from the breakpoint manager
        - Makes breakpoint manager use source mapping from the script, not the presentation model
        - Removes breakpoints collection from the UISourceCode
        Unfortunately, there are too many inter-dependencies that require that these changes are done simultaneously.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype.setBreakpoint):
        (WebInspector.BreakpointManager.prototype.breakpoint):
        (WebInspector.BreakpointManager.prototype.breakpointLocationsForUISourceCode):
        (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
        (WebInspector.BreakpointManager.prototype.reset):
        (WebInspector.BreakpointManager.prototype.debuggerReset):
        (WebInspector.BreakpointManager.prototype._breakpointResolved):
        (WebInspector.BreakpointManager.prototype._removeBreakpoint):
        (WebInspector.BreakpointManager.prototype._uiLocationAdded):
        (WebInspector.BreakpointManager.prototype._uiLocationRemoved):
        (WebInspector.BreakpointManager.prototype.storage):
        (WebInspector.BreakpointManager.Breakpoint):
        (WebInspector.BreakpointManager.Breakpoint.prototype.primaryUILocation):
        (WebInspector.BreakpointManager.Breakpoint.prototype._addResolvedLocation):
        (WebInspector.BreakpointManager.Breakpoint.prototype.enabled):
        (WebInspector.BreakpointManager.Breakpoint.prototype.setEnabled):
        (WebInspector.BreakpointManager.Breakpoint.prototype.condition):
        (WebInspector.BreakpointManager.Breakpoint.prototype.setCondition):
        (WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
        (WebInspector.BreakpointManager.Breakpoint.prototype.remove):
        (WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger.didSetBreakpoint):
        (WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger):
        (WebInspector.BreakpointManager.Breakpoint.prototype._removeFromDebugger):
        (WebInspector.BreakpointManager.Breakpoint.prototype._resetLocations):
        (WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
        (WebInspector.BreakpointManager.Breakpoint.prototype._fakeBreakpointAtPrimaryLocation):
        (WebInspector.BreakpointManager.Storage.get this):
        (WebInspector.BreakpointManager.Storage):
        (WebInspector.BreakpointManager.Storage.prototype.restoreBreakpoints):
        (WebInspector.BreakpointManager.Storage.prototype._updateBreakpoint):
        (WebInspector.BreakpointManager.Storage.prototype._removeBreakpoint):
        (WebInspector.BreakpointManager.Storage.prototype._save):
        (set WebInspector.BreakpointManager.Storage.Item):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded.didRequestContent):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype.breakpointsActive):
        (WebInspector.DebuggerModel.prototype.createLiveLocation):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource):
        (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
        (WebInspector.JavaScriptSourceFrame.prototype.editContent):
        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
        (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
        (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
        (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
        (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
        (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
        (WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
        (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
        (WebInspector.JavaScriptSourceFrame.prototype._updateBreakpointsAfterLiveEdit):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.rawLocationToUILocation):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.contentChanged):

2012-05-03  Andrey Kosyakov  <caseq@chromium.org>

        Unreviewed attemp to fix chromium win build broken at r115943.

        * notifications/NotificationClient.h:
        (WebCore):

2012-05-03  Vivek Galatage  <vivekgalatage@gmail.com>

        Linker warnings due to duplicate symbols for SimplifyMarkupCommand.cpp on Windows
        https://bugs.webkit.org/show_bug.cgi?id=85467

        Reviewed by Ryosuke Niwa.

        Removed the multiple inclusion of the file SimplifyMarkupCommand.cpp 

        No new tests required.

        * WebCore.vcproj/WebCore.vcproj:

2012-05-03  Uday Kiran  <udaykiran@motorola.com>

        CSS clip: auto clips to box borders instead of removing clipping
        https://bugs.webkit.org/show_bug.cgi?id=36772

        Reviewed by Andreas Kling.

        According to CSS 2.1 spec, http://www.w3.org/TR/CSS2/visufx.html#propdef-clip,
        clip property with value 'auto' the element does not clip.
        Also getPropertyValue for clip when auto is specified should return "auto"
        and not "rect(0px 0px 0px 0px)".

        Tests: css2.1/20110323/clip-001-expected.html
               css2.1/20110323/clip-001.html

        * css/StyleBuilder.cpp:
        (WebCore::ApplyPropertyClip::applyValue):

2012-05-02  Antti Koivisto  <antti@apple.com>

        Add temporary feature define for parsed stylesheet caching
        https://bugs.webkit.org/show_bug.cgi?id=85413

        Rubber-stamped by Nikolas Zimmermann.

        While not an externally visible feature this is still a significant internal change.
        It is good to have define in case someone has an urgent need to turn it off.
        
        Caching is enabled by default on all platforms. The define should be removed after some bake time.

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet):

2012-05-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Accumulation for values-animation is broken
        https://bugs.webkit.org/show_bug.cgi?id=85158

        Reviewed by Zoltan Herczeg.

        Follow-up patch: Add const Foo& foo() const accessors to SVGAnimatedType,
        to avoid the "Foo& foo = animated->foo()" idiom in all cases where we
        don't need to mutate 'foo'. Use "const Foo& foo = animated->foo()" instead.
        Inline all of these methods to avoid the function call overhead.

        For to-animations we actually mutated the from value before, but it wasn't a
        problem in practive, as we did that on every animation step. Fully avoid these
        inconsitencies by never mutating the from/to types stored in SVGAnimateElement.

        Cache toAtEndOfDurationType just like m_toType/m_fromType in SVGAnimateElement,
        to avoid reconstructing it on every animation step.

        No new tests, only design/performance fixes.

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateToAtEndOfDurationValue):
        (WebCore::SVGAnimateElement::targetElementWillChange):
        * svg/SVGAnimateElement.h:
        (SVGAnimateElement):
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
        (WebCore::SVGAnimateMotionElement::calculateToAtEndOfDurationValue):
        (WebCore::SVGAnimateMotionElement::calculateFromAndToValues):
        (WebCore::SVGAnimateMotionElement::calculateFromAndByValues):
        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
        * svg/SVGAnimateMotionElement.h:
        (SVGAnimateMotionElement):
        * svg/SVGAnimatedAngle.cpp:
        (WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedBoolean.cpp:
        (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedColor.cpp:
        (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedEnumeration.cpp:
        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedInteger.cpp:
        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPath.cpp:
        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPointList.cpp:
        (WebCore::SVGAnimatedPointListAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPreserveAspectRatio.cpp:
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedRect.cpp:
        (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedString.cpp:
        (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedType.cpp:
        * svg/SVGAnimatedType.h:
        (WebCore::SVGAnimatedType::angleAndEnumeration):
        (SVGAnimatedType):
        (WebCore::SVGAnimatedType::boolean):
        (WebCore::SVGAnimatedType::color):
        (WebCore::SVGAnimatedType::enumeration):
        (WebCore::SVGAnimatedType::integer):
        (WebCore::SVGAnimatedType::integerOptionalInteger):
        (WebCore::SVGAnimatedType::length):
        (WebCore::SVGAnimatedType::lengthList):
        (WebCore::SVGAnimatedType::number):
        (WebCore::SVGAnimatedType::numberList):
        (WebCore::SVGAnimatedType::numberOptionalNumber):
        (WebCore::SVGAnimatedType::path):
        (WebCore::SVGAnimatedType::pointList):
        (WebCore::SVGAnimatedType::preserveAspectRatio):
        (WebCore::SVGAnimatedType::rect):
        (WebCore::SVGAnimatedType::string):
        (WebCore::SVGAnimatedType::transformList):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
        (WebCore::SVGAnimationElement::startedActiveInterval):
        (WebCore::SVGAnimationElement::updateAnimation):
        * svg/SVGAnimationElement.h:
        (WebCore::SVGAnimationElement::adjustFromToListValues):
        (WebCore::SVGAnimationElement::animateDiscreteType):
        (SVGAnimationElement):

2012-05-02  Alexander Færøy  <ahf@0x90.dk>

        Rename deviceDPI to devicePixelRatio
        https://bugs.webkit.org/show_bug.cgi?id=85049

        Reviewed by Kenneth Rohde Christiansen.

        No new tests added since this is a minor refactoring with no changes
        that should affect tests.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setDevicePixelRatio):
        (WebCore::Settings::devicePixelRatio):
        (Settings):

2012-05-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Fix multiple begin values support - especially with seeking through setCurrentTime
        https://bugs.webkit.org/show_bug.cgi?id=85372

        Reviewed by Zoltan Herczeg.

        Multiple begin values aka. begin="0s; 2s" aren't correctly handled - resulting in broken & unexpected behavior.
        Supporting seeking properly on documents containing such animations is very important, otherwise we can't reliable
        test animations using either reftests or the SVG JS animation test framework.

        Testcase:
        <rect height="100" fill="green">
            <animate attributeName="width" begin="0s; 2s" dur="8s" from="0" to="100" fill="freeze"/>
        </rect>

        What's expected?
        Two times should be contained in the 'begin' times list in SVGSMILElement: m_beginTimes = { 0s, 2s }.
        The initial first resolved interval is: m_intervalBegin=0.0s, m_intervalEnd=8.0s.

        During t=0s..1.9999s the m_intervalBegin/m_intervalEnd are correct.
        At t=2s, a new interval can be started. m_intervalEnd should be set to nextBeginTime, where nextBeginTime=2s.
        The current interval should get cropped to: m_intervalBegin=0s, m_intervalEnd=2s. The following call to
        resolveNextInterval() sees that elapsed >= m_intervalEnd, and thus moves on to the next interval.
        m_intervalBegin should be 2s and m_intervalEnd=10s after that.

        In trunk this behavior is only partly implemented and broken. Especially broken together with seeking via SVGSVGElement.setCurrentTime.
        That's because we don't correctly seek to the right interval in case of multiple begin values, eg. if we sample an animation with
        begin="0s; 3s" dur="6s" we always remain in the first interval and don't move on.

        Fix all of these issues, making lots more tests work in Dr. Olaf Hofmanns SVG Animation test suite.

        Tests: svg/animations/multiple-begin-additive-animation.html
               svg/animations/multiple-begin-animation-discrete-expected.svg
               svg/animations/multiple-begin-animation-discrete.svg
               svg/animations/multiple-begin-animation-expected.svg
               svg/animations/multiple-begin-animation.svg

        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::begin):
        (WebCore::SMILTimeContainer::setElapsed):
        (WebCore::SMILTimeContainer::updateAnimations):
        * svg/animation/SMILTimeContainer.h:
        (SMILTimeContainer):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::findInstanceTime):
        (WebCore::SVGSMILElement::resolveInterval):
        (WebCore::SVGSMILElement::resolveNextInterval):
        (WebCore):
        (WebCore::SVGSMILElement::checkRestart):
        (WebCore::SVGSMILElement::seekToIntervalCorrespondingToTime):
        (WebCore::SVGSMILElement::progress):
        * svg/animation/SVGSMILElement.h:
        (SVGSMILElement):

2012-05-03  Dana Jansens  <danakj@chromium.org>

        [chromium] Don't add small opaque areas to the occlusion tracker's Region
        https://bugs.webkit.org/show_bug.cgi?id=85297

        Reviewed by Adrienne Walker.

        Don't add small opaque areas (smaller than 160x160) to the occlusion
        tracker's Region objects to avoid high Region::unite() costs.

        We would like Region to just be fast enough that this isn't a concern,
        and there are patches in flight to do this, but at the moment, small
        opaque areas add significant cost if there is many of them, for
        potentially small gains since they do not cover entire tiles.

        Comments in http://code.google.com/p/chromium/issues/detail?id=124687
        motivate this approach for now, and point to around 160x160 being
        a reasonable threshold.

        Removes the opaque paint tracking flag while we're here. The flag is
        no longer used, and was broken when we moved the "paint vs opaque
        flag" distinction out to the layers.

        Unit test: CCOcclusionTrackerTestMinimumTrackingSize

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::::CCOcclusionTrackerBase):
        (WebCore::addOcclusionBehindLayer):
        (WebCore::::markOccludedBehindLayer):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
        (WebCore::CCOcclusionTrackerBase::setMinimumTrackingSize):
        (CCOcclusionTrackerBase):
        (WebCore::CCOcclusionTrackerBase::preferredMinimumTrackingSize):

2012-05-02  Jon Lee  <jonlee@apple.com>

        Migrate permission functions to Notification from NotificationCenter
        https://bugs.webkit.org/show_bug.cgi?id=80485
        <rdar://problem/10965458>

        Reviewed by Jian Li.

        * notifications/Notification.idl: Add permission functions.
        * notifications/DOMWindowNotifications.idl: Wrap webkitNotifications as part of legacy API.

        * notifications/Notification.cpp: New permission functions are wrapped with ENABLE(NOTIFICATIONS)
        (WebCore::Notification::taskTimerFired): Use the new permission functions to determine whether we can show the
        notification.
        (WebCore::Notification::permissionLevel):
        (WebCore::Notification::permissionString): Declare three static locals for each of the values, and return
        based on the permission enum.
        (WebCore::Notification::requestPermission): Forward request to client.
        * notifications/Notification.h:

        * notifications/NotificationPermissionCallback.h: Added.
        (NotificationPermissionCallback):
        (WebCore::NotificationPermissionCallback::~NotificationPermissionCallback):
        * notifications/NotificationPermissionCallback.idl: Added.

        * notifications/NotificationCenter.cpp: Wrap permission functions in ENABLE(LEGACY_NOTIFICATIONS)
        * notifications/NotificationCenter.h: Wrap permission functions in ENABLE(LEGACY_NOTIFICATIONS)
        * notifications/NotificationCenter.idl: Refactor conditionals to make the center available only when
        ENABLE(LEGACY_NOTIFICATIONS) is on.
        * notifications/NotificationPresenter.h:
        (WebCore::NotificationPresenter::requestPermission): Add new requestPermission() function for new
        NotificationPermissionCallback type. Make it a stub implementation until all ports have adopted.

        * notifications/NotificationClient.h: Add another requestPermission() client call, wrapped in
        ENABLE(NOTIFICATIONS) that accepts the NotificationPermissionCallback. Wrap the original one in
        ENABLE(LEGACY_NOTIFICATIONS).

        * bindings/js/JSDesktopNotificationsCustom.cpp: Change to include the implementation only in
        ENABLE(LEGACY_NOTIFICATIONS).
        * bindings/js/JSNotificationsCustom.cpp: Custom implementation of requestPermission().
        * bindings/v8/custom/V8NotificationCustom.cpp: Custom implementation of requestPermission().

        * notifications/WorkerContextNotifications.idl: Make webktNotifications available only in legacy API.
        * CMakeLists.txt: Add new callback idl.
        * DerivedSources.make: Add new callback idl.
        * DerivedSources.pri: Add new callback idl.
        * GNUmakefile.list.am: Add NotificationPermissionCallback files.
        * Target.pri: Include JSNotificationCustom.cpp, V8NotificationCustom.cpp
        * UseJSC.cmake: Include JSNotificationCustom.cpp
        * UseV8.cmake: Include V8NotificationCustom.cpp
        * WebCore.gypi: Include JSNotificationCustom.cpp, V8NotificationCustom.cpp, JSNotificationPermissionCallback.{h,cpp}
        * WebCore.vcproj/WebCore.vcproj: Include JSNotificationCustom.cpp, JSNotificationPermissionCallback.{h,cpp}
        * WebCore.exp.in: Export permissionString().
        * WebCore.xcodeproj/project.pbxproj: Add callback idl, h, and cpp files.

2012-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r115907.
        http://trac.webkit.org/changeset/115907
        https://bugs.webkit.org/show_bug.cgi?id=85458

        It broke all viewport tests on Qt and on GTK (Requested by
        Ossy on #webkit).

        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):
        * dom/ViewportArguments.h:
        (ViewportAttributes):

2012-05-02  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK] Finish moving modules into libWebCoreModules.la
        https://bugs.webkit.org/show_bug.cgi?id=85449

        Unreviewed build fix.

        * GNUmakefile.list.am: move remaining modules source files into the
        libWebCoreModules library, this should fix the problems people had
        building the 1.9.1 tarball with unpatched make.

2012-05-02  Dongwoo Im  <dw.im@samsung.com>

        [EFL] Unreviewed, Fix build break when WEB_AUDIO is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=85443

        Unreviewed build fix.

        Three new files were added in the Modules/webaudio directory.
        These files should be included into the CMakeLists.txt file.

        * CMakeLists.txt: Add the newly created files into the CMakeLists.txt

2012-05-02  Eric Seidel  <eric@webkit.org>

        Sort ENABLE_ defines in FeatureDefines.xcconfig files to make them easier to compare with one another (and easier to autogenerate)
        https://bugs.webkit.org/show_bug.cgi?id=85433

        Reviewed by Adam Barth.

        I have a script which can autogenerate these xcconfig files as well as the
        vsprops files (and soon the Chromium, cmake, gnumake and qmake) feature lists
        from a central feature list file.
        In preparation for posting such a tool, I'm re-sorting these xcconfig files to be
        alphabetically ordered (currently they're close, but not quite).
        There is also at least one inconsistency between these files (CSS_LEGACY_PREFIXES) which
        I will fix in a second pass.  I will also sort the FEATURE_DEFINES = line in a follow-up patch.

        * Configurations/FeatureDefines.xcconfig:

2012-05-02  Dana Jansens  <danakj@chromium.org>

        [chromium] Don't occlude pixels in a surface that are needed for a background filter blur
        https://bugs.webkit.org/show_bug.cgi?id=84317

        Reviewed by Adrienne Walker.

        Blur filters move pixels around, so a pixel can influence the value of
        pixels at some distance away. If a pixel is not occluded, then all
        pixels within the radius of the blur may influence the value of that
        pixel, so they should also stay unoccluded.

        For background filters, the pixels are read from the filter's target
        surface, so we remove occlusion from that target surface from pixels
        that will blur into visible pixels.

        Unit test: CCOcclusionTrackerTestDontOccludePixelsNeededForBackgroundFilter
                   CCOcclusionTrackerTestTwoBackgroundFiltersReduceOcclusionTwice
                   CCOcclusionTrackerTestDontOccludePixelsNeededForBackgroundFilterWithClip
                   CCOcclusionTrackerTestDontReduceOcclusionBelowBackgroundFilter
                   CCOcclusionTrackerTestDontReduceOcclusionIfBackgroundFilterIsOccluded
                   CCOcclusionTrackerTestReduceOcclusionWhenBackgroundFilterIsPartiallyOccluded

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::reduceOcclusion):
        (WebCore):
        (WebCore::reduceOcclusionBelowSurface):
        (WebCore::::leaveToTargetRenderSurface):
        (WebCore::::unoccludedContributingSurfaceContentRect):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
        (CCOcclusionTrackerBase):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::appendSurface):
        (WebCore::CCQuadCuller::appendReplica):

2012-05-02  Levi Weintraub  <leviw@chromium.org>

        Convert FractionalLayoutUnit overflow assertions to stderr warnings
        https://bugs.webkit.org/show_bug.cgi?id=85393

        Reviewed by Eric Seidel.

        Writing warnings to stderr when FractionalLayoutUnits overflow on debug builds instead of asserting
        and crashing. It can be very useful to WebKit developers know when overflow is occurring, but it's
        not always a programming error, so assert wasn't the right action.

        No new tests. No change in behavior.

        * platform/FractionalLayoutUnit.h:
        (WebCore):
        (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
        (WebCore::FractionalLayoutUnit::toUnsigned):
        (WebCore::FractionalLayoutUnit::setRawValue):

2012-04-18  Jon Honeycutt  <jhoneycutt@apple.com>

        FrameLoaderClient::dispatchWillSendSubmitEvent() should be given more
        information about the form being submitted
        https://bugs.webkit.org/show_bug.cgi?id=84297

        Reviewed by Andy Estes.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::prepareForSubmission):
        Get the form field names and values, and use them to create a FormState
        object. Pass this object when calling dispatchWillSendSubmitEvent().
        (WebCore::HTMLFormElement::getTextFieldValues):
        Loop over the associated elements, looking for <input> elements.
        Collect their names and values.

        * html/HTMLFormElement.h:
        Declare getTextFieldData().

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::dispatchWillSendSubmitEvent):
        Updated declaration for new parameter type.

        * loader/FrameLoaderClient.h:
        Updated declaration of dispatchWillSendSubmitEvent() for new param
        type.

2012-04-13  Jon Honeycutt  <jhoneycutt@apple.com>

        Make Page::setDefersLoading() have a call count so that each time
        loading is deferred, it must be balanced with a call to resume.
        https://bugs.webkit.org/show_bug.cgi?id=84522

        Reviewed by Andy Estes.

        * page/Page.cpp:
        (WebCore::Page::Page):
        Initialize new call count member.
        (WebCore::Page::setDefersLoading):
        Check whether the callers wants balanced defer/resume loading behavior.
        If the call count is not changing from 0 to 1 or 1 to 0, return early.
        Otherwise, defer or resume loading for frames in this page.

        * page/Page.h:
        (WebCore::Page::defersLoading):
        Added a member to hold the call count.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        Initialized new member m_wantsBalancedSetDefersLoadingBehavior.

        * page/Settings.h:
        (Settings):
        Added new member m_wantsBalancedSetDefersLoadingBehavior.
        (WebCore::Settings::setWantsBalancedSetDefersLoadingBehavior):
        Setter.
        (WebCore::Settings::wantsBalancedSetDefersLoadingBehavior):
        Getter.

2012-05-02  Ojan Vafai  <ojan@chromium.org>

        Add a histogram for rendertree size
        https://bugs.webkit.org/show_bug.cgi?id=85226

        Reviewed by Eric Seidel.

        We record it when the page gets hidden, since this is a point
        at which, in theory, we could kill the rendertree.

        No new tests. This isn't web visible, so there's no way to test it.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::clear):
        * page/Page.cpp:
        (WebCore::Page::renderTreeSize):
        (WebCore):
        (WebCore::Page::setVisibilityState):
        * page/Page.h:
        (Page):
        * platform/HistogramSupport.cpp:
        (WebCore::HistogramSupport::histogramCustomCounts):
        (WebCore):
        * platform/HistogramSupport.h:
        (HistogramSupport):
        * platform/chromium/HistogramSupportChromium.cpp:
        (WebCore::HistogramSupport::histogramCustomCounts):
        (WebCore):

2012-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r115902.
        http://trac.webkit.org/changeset/115902
        https://bugs.webkit.org/show_bug.cgi?id=85441

        Compile failure on linux 32 (Requested by zhenyao on #webkit).

        * Modules/indexeddb/IDBBackingStore.h:
        (IDBBackingStore):
        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
        * Modules/indexeddb/IDBLevelDBBackingStore.h:
        (IDBLevelDBBackingStore):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
        (IDBObjectStoreBackendImpl):

2012-05-02  Julien Chaffraix  <jchaffraix@webkit.org>

        Add ASSERTs to avoid querying dirtied z-index or normal flow lists on RenderLayer
        https://bugs.webkit.org/show_bug.cgi?id=84920

        Reviewed by Simon Fraser.

        Covered by existing tests in Debug (at least several time!).

        This change adds some ASSERTs on RenderLayer that prevent any use of its lists if they
        are dirtied.

        On top of this change, we added an invariant that non-stacking contexts should have their
        z-index lists NULL (instead of empty or NULL previously). This is enforced at
        updateZOrderLists time as we now ensure that it is called in a timely manner.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateLayerBounds):
        Added call to updateLayersIfNeeded as we will query them later and there is no guarantee
        that they are not dirty (we recurse in our children as part of calculateLayerBounds).
        This was causing the new ASSERTs to trigger on css3/filter/ tests.

        (WebCore::RenderLayer::dirtyZOrderLists):
        Added a comment as to why we can't ASSERT that we are in a stacking context here.

        (WebCore::RenderLayer::rebuildZOrderLists):
        Added an ASSERT that we only rebuild z-index lists for dirtied stacking context.

        (WebCore::RenderLayer::updateLayerListsIfNeeded):
        Updated to ensure that the reflection layer has its layers updated too. This was triggering
        the new ASSERTs on fast/runins/run-in-layer-not-removed-crash.html.

        (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
        Updated to use the new isDirtyStackingContext function.

        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::isDirtyStackingContext):
        New helper function. Also made updateLayerListsIfNeeded() the only way
        to update layer. That should prevent any misuse.

        (WebCore::RenderLayer::posZOrderList):
        (WebCore::RenderLayer::negZOrderList):
        (WebCore::RenderLayer::normalFlowList):
        ASSERT that we don't query any of the previous lists if they are dirty. Also
        enforce the invariant that non-stacking contexts should have NULL z-index lists.

        (WebCore::RenderLayer::clearZOrderLists):
        New function to clearZOrderLists so that we can enfore the previous invariant.

        (WebCore::RenderLayer::updateZOrderLists):
        Updated to clear the dirty flag and the z-index lists for non-stacking context.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        Removed the explicit ASSERTs.

        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
        (WebCore::RenderLayerCompositor::canBeComposited):
        Disabled compositing on RenderLayer in flow thread. Because flow thread's
        RenderLayer are not collected as part of RenderLayer's lists and could be composited,
        this was causing the new ASSERTs to trigger (e.g. on fast/regions/webkit-flow-renderer-layer.html).

        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeLayers):
        Updated to use updateLayerListsIfNeeded().

2012-05-02  Levi Weintraub  <leviw@chromium.org>

        Remove unused adjustForAbsoluteZoom method in RenderObject.h
        https://bugs.webkit.org/show_bug.cgi?id=85396

        Reviewed by Eric Seidel.

        We only want to use the integer adjustForAbsoluteZoom method, so this remnant is both unused
        and potentially confusing.

        No new tests. Removing unused code.

        * rendering/RenderObject.h:
        (WebCore):

2012-05-02  Fady Samuel  <fsamuel@chromium.org>

        Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
        https://bugs.webkit.org/show_bug.cgi?id=70609

        Reviewed by Kenneth Rohde Christiansen.

        Make ViewportAttributes' layoutSize be a FloatRect to avoid rounding
        too early, and the occasional off by one fixed layout dimensions.

        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):
        * dom/ViewportArguments.h:
        (ViewportAttributes):

2012-05-02  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Handle generated keys up to 2^53
        https://bugs.webkit.org/show_bug.cgi?id=85114

        The spec defines the behavior for generated keys up to 2^53
        (the maximum integer storable as an ECMAScript number) and
        the error case when going beyond that. Ensure that we can
        handle values up to that point and generate errors beyond.

        Reviewed by Tony Chang.

        Test: storage/indexeddb/key-generator.html

        * Modules/indexeddb/IDBBackingStore.h:
        (IDBBackingStore):
        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
        * Modules/indexeddb/IDBLevelDBBackingStore.h:
        (IDBLevelDBBackingStore):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
        (IDBObjectStoreBackendImpl):

2012-05-02  Adam Klein  <adamk@chromium.org>

        Childlist mutations in shadow DOM should be observable with MutationObservers
        https://bugs.webkit.org/show_bug.cgi?id=85402

        Reviewed by Ojan Vafai.

        Though Mutation Events are not supported in Shadow DOM,
        MutationObservers are supposed to be. Due to a misplacement of the
        ChildListMutationScope, they were erroneously getting skipped.

        This patch moves code around to properly notify when childlist are
        mutated in shadow DOM and covers that change with a new test.

        Test: fast/mutation/shadow-dom.html

        * dom/ContainerNode.cpp:
        (WebCore::willRemoveChild): Handle notification of removal directly.
        (WebCore::willRemoveChildren): ditto.
        (WebCore::dispatchChildInsertionEvents): Remove notification of insertion.
        (WebCore::dispatchChildRemovalEvents): Remove notification of removal.
        (WebCore::updateTreeAfterInsertion): Handle notification of insertion directly.

2012-05-02  Eric Carlson  <eric.carlson@apple.com>

        Crash in WebCore::TextTrackList::remove
        https://bugs.webkit.org/show_bug.cgi?id=85095

        Reviewed by Maciej Stachowiak.

        Test: media/track/track-remove-quickly.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::willRemoveTrack): Return immediately if the tracks collection
            has not been allocated yet.

2012-05-02  David Barton  <dbarton@mathscribe.com>

        After appending MathML with jquery the table renders with overlaps
        https://bugs.webkit.org/show_bug.cgi?id=52444

        Reviewed by Julien Chaffraix.

        This patch also fixes bugs 72834 and 47781. The main problem is that correct preferred
        logical widths are affected by operator stretching. Thus we add a call to
        setNeedsLayoutAndPrefWidthsRecalc() after the stretching code in
        RenderMathMLOperator.cpp, and change RenderMathMLBlock and RenderMathMLRow to make sure
        that stretching of children is done before an <mrow>'s preferred logical widths are
        computed.
        
        Test: Added a test to mathml/presentation/mo-stretch.html

        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::RenderMathMLBlock):
        (WebCore::RenderMathMLBlock::computePreferredLogicalWidths):
        (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
        (WebCore::RenderMathMLBlock::preferredLogicalHeightAfterSizing):
        * rendering/mathml/RenderMathMLBlock.h:
        (WebCore::RenderMathMLBlock::unembellishedOperator):
        (WebCore::RenderMathMLBlock::isPreferredLogicalHeightDirty):
        (WebCore::RenderMathMLBlock::preferredLogicalHeight):
        (WebCore::RenderMathMLBlock::setPreferredLogicalHeight):
            - Add m_preferredLogicalHeight and methods to compute and return it.
            - Remove stretchToHeight() from most classes as it no longer needs to be done
              recursively. We just call it on the base of an embellished operator, and that
              calls setNeedsLayoutAndPrefWidthsRecalc() to mark itself and its container
              chain.
        
        * rendering/mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::stretchToHeight):
            - Don't compare an unexpanded height to an expanded one.
        (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
        (WebCore::RenderMathMLOperator::updateFromElement):
            - After stretching, call setNeedsLayoutAndPrefWidthsRecalc().
        * rendering/mathml/RenderMathMLOperator.h:
        (RenderMathMLOperator):
        
        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
        (WebCore::RenderMathMLRow::layout):
        * rendering/mathml/RenderMathMLRow.h:
        (RenderMathMLRow):
            - Add computePreferredLogicalWidths(), using computeChildrenPreferredLogicalHeights()
              to compute our children's preferred logical heights if necessary, followed by
              operator stretching.
        
        * rendering/mathml/RenderMathMLSubSup.cpp:
        * rendering/mathml/RenderMathMLSubSup.h:
        (RenderMathMLSubSup):
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        * rendering/mathml/RenderMathMLUnderOver.h:
        (RenderMathMLUnderOver):

2012-05-02  Dana Jansens  <danakj@chromium.org>

        [chromium] Avoid extra Region copies in CCOcclusionTracker
        https://bugs.webkit.org/show_bug.cgi?id=85257

        Reviewed by Adrienne Walker.

        Instead of making a Region for each layer and then uniting the region
        with the current occlusion, directly add the rects for the given layer
        to the current occlusion.

        When subtracting a region from a rect, just subtract the region
        directly instead of computing the intersecting region.

        Covered by existing tests.

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::addOcclusionBehindLayer):
        (WebCore::::markOccludedBehindLayer):
        (WebCore::rectSubtractRegion):

2012-05-02  Keith Rosenblatt  <keith.rosenblatt@nokia.com>

        [Qt] ASSERT in FontCustomPlatformDataQt.cpp with invalid font in data URI
        https://bugs.webkit.org/show_bug.cgi?id=85089

        Reviewed by Simon Hausmann.

        Do not return data referencing an invalid QRawFont from createFontCustomPlatformData().  Instead
        return null.

        Test: fast/css/font-face-data-uri-invalid.html

        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
        (WebCore::createFontCustomPlatformData):

2012-05-02  Michal Mocny  <mmocny@google.com>

        [chromium] Set contents texture manager preferred memory limit based on GpuMemoryManager suggestion.
        https://bugs.webkit.org/show_bug.cgi?id=84270

        Reviewed by Kenneth Russell.

        Updates the content texture manager memory limits based on GpuMemoryManager memory allocation suggestions.

        The memory allocation size (in bytes) is fed from LayerRendererChromium memory allocation changed callback
        handler to CCLayerTreeHost.  At that point we adjust the limits, using the existing notions of preferred and
        max limits.

        On android, the preferred limit is half the maximum (as it has always been), but on all other platforms the
        preferred limit is now equal to max, in order to allow more agressive prepainting.

        Finally, android has memory constraints dependant on viewportSize, but that logic has been pushed into
        the GpuMemoryManager.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
        (WebCore::LayerRendererChromium::beginDrawingFrame):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromiumClient):
        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::setMemoryAllocationLimitBytes):
        (WebCore):
        * platform/graphics/chromium/TextureManager.h:
        (TextureManager):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setViewportSize):
        (WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::setContentsMemoryAllocationLimitBytes):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImplClient):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
        (WebCore):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
        (WebCore):
        (WebCore::CCThreadProxy::setContentsMemoryAllocationLimitBytes):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-05-02  Emil A Eklund  <eae@chromium.org>

        Fix usage of layout types in platform code
        https://bugs.webkit.org/show_bug.cgi?id=85392

        Reviewed by Eric Seidel.

        No new tests, no change in functionality.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureTap):
        Use rounded point for gestures as event handling is still mostly int based.

2012-05-02  Kenneth Russell  <kbr@google.com>

        Don't allocate stencil buffer if stencil flag is false in context creation attributes
        https://bugs.webkit.org/show_bug.cgi?id=85317

        Reviewed by Dimitri Glazkov.

        Make it appear to WebGL application that there is no stencil
        buffer even if the underlying GraphicsContext3D allocated one.
        Verified intended behavior with test case from Mozilla's bug report.

        Updated context-attributes-alpha-depth-stencil-antialias.html test
        from Khronos repository. Ran WebGL layout tests on Linux in
        Chrome's DRT and on Mac OS in Safari's.

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::hasStencilBuffer): Added query method.
        (WebCore): Changed desired semantics of isValidRenderbuffer.
        * html/canvas/WebGLFramebuffer.h:
        (WebGLFramebuffer): Added hasStencilBuffer.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::initializeNewContext):
            Clear new flag.
        (WebCore::WebGLRenderingContext::bindFramebuffer):
            Reset stencil test upon framebuffer change.
        (WebCore::WebGLRenderingContext::disable):
            Cache flag; reset stencil test.
        (WebCore::WebGLRenderingContext::enable):
            Cache flag; reset stencil test.
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
            Reset stencil test upon renderbuffer change.
        (WebCore::WebGLRenderingContext::getContextAttributes):
            Force depth and stencil to false if false was requested.
        (WebCore::WebGLRenderingContext::isEnabled):
            Return cached flag.
        (WebCore::WebGLRenderingContext::renderbufferStorage):
            Reset stencil test upon renderbuffer reallocation.
        (WebCore::WebGLRenderingContext::applyStencilTest):
            Enable or disable stencil test based on request and availability.
        (WebCore::WebGLRenderingContext::enableOrDisable):
            Helper function.
        * html/canvas/WebGLRenderingContext.h:
        (WebGLRenderingContext):
            Added cache of STENCIL_TEST flag. Deleted unused m_stencilBits.

2012-05-02  Ryosuke Niwa  <rniwa@webkit.org>

        Drag and drop text into table is pasting the text in the next <td> element
        https://bugs.webkit.org/show_bug.cgi?id=75004

        Reviewed by Darin Adler.

        The bug was caused by ReplaceSelectionCommand adjusting the insertion position to be before
        of the block element containing the insertion position even when the block element is a table cell.

        Fixed the bug by not moving the insertion position before the table cell in this case.

        Test: editing/pasteboard/paste-into-table-cell.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):

2012-05-02  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=85309
        supportsExpandedScrollbars() should check for the method we actually call rather 
        than a related method

        Reviewed by Anders Carlsson.

        Missing colon.
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::supportsExpandedScrollbars):

2012-05-02  Antti Koivisto  <antti@apple.com>

        Move title and media queries from StyleSheetInternal to CSSStyleSheet
        https://bugs.webkit.org/show_bug.cgi?id=85387

        Reviewed by Anders Carlsson.

        Stylesheet title and media queries are determined by the owner, not by the stylesheet itself.
        The fields belong to CSSStyleSheet.
        
        This will make it easier to share StyleSheetInternal instances between documents.

        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::StyleSheetInternal):
        (WebCore::StyleSheetInternal::isCacheable):
        (WebCore):
        (WebCore::CSSStyleSheet::setDisabled):
        
            Invalidate the document style directly instead of ping-ponging through StyleSheetInternal.

        (WebCore::CSSStyleSheet::setMediaQueries):
        (WebCore::CSSStyleSheet::media):
        * css/CSSStyleSheet.h:
        (StyleSheetInternal):
        (WebCore::StyleSheetInternal::originalURL):
        (WebCore::StyleSheetInternal::hasCharsetRule):
        (WebCore::CSSStyleSheet::mediaQueries):
        (CSSStyleSheet):
        (WebCore::CSSStyleSheet::setTitle):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::appendAuthorStylesheets):
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createCSSStyleSheet):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::setCSSStyleSheet):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::createSheet):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::parseAttribute):
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::parseAttribute):
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::parseAttribute):

2012-05-02  Alexis Menard  <alexis.menard@openbossa.org>

        Unreviewed Qt build fix with GCC 4.7.0.

        * platform/qt/DeviceMotionProviderQt.h:
        (DeviceMotionProviderQt):
        * platform/qt/DeviceOrientationProviderQt.cpp:
        (WebCore::DeviceOrientationProviderQt::~DeviceOrientationProviderQt):
        (WebCore):
        * platform/qt/DeviceOrientationProviderQt.h:
        (DeviceOrientationProviderQt):

2012-05-02  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Enable css filters in TextureMapperGL
        https://bugs.webkit.org/show_bug.cgi?id=75778

        Unreviewed build fix to greenify the Qt Minimal bot.

        * platform/graphics/texmap/TextureMapperShaderManager.h:

2012-05-02  Philippe Normand  <pnormand@igalia.com>

        [GTK] Compilation warnings in RenderTheme
        https://bugs.webkit.org/show_bug.cgi?id=85286

        Reviewed by Martin Robinson.

        Removed un-needed code and refactored fileListNameForWidth
        accordingly to avoid un-used variable warnings during compilation.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore):
        (WebCore::RenderThemeGtk::fileListNameForWidth):

2012-05-02  Ryosuke Niwa  <rniwa@webkit.org>

        NULL ptr in WebCore::AppendNodeCommand::AppendNodeCommand
        https://bugs.webkit.org/show_bug.cgi?id=75843

        Reviewed by Tony Chang.

        The crash was caused by indentIntoBlockquote's passing a bad outerBlock to moveParagraphsWithClone.

        When the position is created after blockquote in the following DOM:
        BODY
        * BLOCKQUOTE style=margin: 0 0 0 40px; border: none; padding: 0px;
            E
                #text "\nx\n"
        VisiblePosition's constructor (of startOfContents) turns the position into a legacy position (blockquote, 0).
        The crash occurs because this position doesn't belong in the same paragraph as E, which is the paragraph
        we're trying to move into the blockquote.

        Fixed bug by calling positionInParentAfterNode instead of positionAfterNode for now. We should eventually be
        able to use positionAfterNode here once VisiblePosition's constructor starts handling before/after positions
        properly.

        Test: editing/execCommand/indent-with-after-content-crash.html

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::indentIntoBlockquote):

2012-05-02  Jer Noble  <jer.noble@apple.com>

        WebWindowFadeAnimation ignores "duration" parameter.
        https://bugs.webkit.org/show_bug.cgi?id=85386

        Reviewed by Brady Eidson.

        Ignoring the "duration" parameter causes the full screen fade and scale animations
        to get out of sync.

        * platform/mac/WebWindowAnimation.mm:
        (-[WebWindowFadeAnimation initWithDuration:window:initialAlpha:finalAlpha:]):

2012-05-02  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION(110072): Clipping is not applied on layers that are animated using platform code
        https://bugs.webkit.org/show_bug.cgi?id=83954

        Reviewed by Simon Fraser.

        Tests: fast/layers/no-clipping-overflow-hidden-added-after-transform-expected.html
               fast/layers/no-clipping-overflow-hidden-added-after-transform.html
               fast/layers/no-clipping-overflow-hidden-added-after-transition-expected.html
               fast/layers/no-clipping-overflow-hidden-added-after-transition.html
               fast/layers/no-clipping-overflow-hidden-hardware-acceleration-expected.html
               fast/layers/no-clipping-overflow-hidden-hardware-acceleration.html
               (and all the tests that will need to be rebaselined)

        r110072 changed the way we create layers to lazily allocate overflow: hidden ones
        based on layout overflow. However with hardware acceleration, certain operations
        do cause overflow without actually calling layout (the test cases added as part
        of this change are using transition / animation). This means that those cases
        wouldn't properly clip.

        Due to the above issue and the other regressions from r110072, the easiest fix is
        to just to roll it out.

        * rendering/RenderBox.h:
        Changed to allocate a layer whenever we have an overflow clip.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrolledContentOffset):
        (WebCore::RenderBox::cachedSizeForOverflowClip):
        Reverted those 2 to avoid using the cached size logic.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::isPointInOverflowControl):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::willBeDestroyed):
        (WebCore::RenderBox::styleDidChange):
        (WebCore::RenderBox::layout):
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):
        (WebCore::RenderBox::scrollLeft):
        (WebCore::RenderBox::scrollTop):
        (WebCore::RenderBox::setScrollLeft):
        (WebCore::RenderBox::setScrollTop):
        (WebCore::RenderBox::includeVerticalScrollbarSize):
        (WebCore::RenderBox::includeHorizontalScrollbarSize):
        (WebCore::RenderBox::pushContentsClip):
        (WebCore::RenderBox::popContentsClip):
        (WebCore::RenderBox::addLayoutOverflow):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::styleDidChange):
        * rendering/RenderBoxModelObject.h:
        (RenderBoxModelObject):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        * rendering/RenderTableRow.h:
        (RenderTableRow):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layout):
        Removed the previous scaffolding code and reverted some functions to
        being private (as they were prior to r110072).

2012-05-02  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Enable css filters in TextureMapperGL
        https://bugs.webkit.org/show_bug.cgi?id=75778

        Reviewed by Jocelyn Turcotte.

        Added support for color filters in TextureMapperGL. Blur and shadow would be done in a
        different patch.

        Modified BitmapTexture::applyFilters to return a texture, since GL cannot paint a texture
        into itself.
        Created a shader map for standard filters, since all of them work more or less the same way
        with a single uniform. Added the colorization shaders based on the W3C filter spec, as
        already implemented in FEFilterRenderer.cpp and FEColorMatrix.cpp.
        We use two swapping textures to render the filters.

        Covered by tests in css3/filters.

        * platform/graphics/texmap/TextureMapper.cpp:
        (WebCore::TextureMapper::acquireTextureFromPool):
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::BitmapTexture::applyFilters):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::updateContents):
        (WebCore):
        (WebCore::TextureMapperGL::drawFiltered):
        (WebCore::BitmapTextureGL::applyFilters):
        (WebCore::BitmapTextureGL::bind):
        * platform/graphics/texmap/TextureMapperGL.h:
        (TextureMapperGL):
        (BitmapTextureGL):
        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
        (WebCore::BitmapTextureImageBuffer::applyFilters):
        * platform/graphics/texmap/TextureMapperImageBuffer.h:
        (BitmapTextureImageBuffer):
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::applyFilters):
        (WebCore::TextureMapperLayer::syncCompositingStateSelf):
        * platform/graphics/texmap/TextureMapperShaderManager.cpp:
        (WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
        (WebCore):
        (WebCore::StandardFilterProgram::~StandardFilterProgram):
        (WebCore::StandardFilterProgram::StandardFilterProgram):
        (WebCore::StandardFilterProgram::create):
        (WebCore::StandardFilterProgram::prepare):
        (WebCore::TextureMapperShaderManager::getShaderForFilter):
        * platform/graphics/texmap/TextureMapperShaderManager.h:
        (WebCore):
        (StandardFilterProgram):
        (WebCore::StandardFilterProgram::vertexAttrib):
        (WebCore::StandardFilterProgram::texCoordAttrib):
        (WebCore::StandardFilterProgram::textureUniform):
        (TextureMapperShaderManager):

2012-05-02  Philippe Normand  <pnormand@igalia.com>

        [GTK] media/track/track-cue-rendering-snap-to-lines-not-set.html fails
        https://bugs.webkit.org/show_bug.cgi?id=84378

        Reviewed by Eric Carlson.

        Fix positioning of the controls panel back to relative, as it is
        in the parent CSS. Also remove some duplicate CSS attributes.

        * css/mediaControlsGtk.css:
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):

2012-05-02  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=85309
        supportsExpandedScrollbars() should check for the method we actually call rather 
        than a related method
        -and corresponding-
        <rdar://problem/11065691>

        Reviewed by Anders Carlsson.

        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::supportsExpandedScrollbars):

2012-05-02  Zalan Bujtas  <zbujtas@gmail.com>

        [Qt] Remove redundant updateViewportArguments() call from HTMLBodyElement::didNotifyDescendantInseretions()
        https://bugs.webkit.org/show_bug.cgi?id=84241

        Reviewed by Kenneth Rohde Christiansen.

        No need to update viewport arguments when the body element is inserted into the Document.
        Viewport arguments are updated first when the Document is set on the Frame, and later
        on any subsequent occurence of the viewport meta tag in the document.
        It is sufficient to dispatch viewport update once per main frame, if no viewport meta tag is present.

        Also add a flag to be able to track viewport argument update dispatch.

        No tests. Currrent viewport tests cover this behaviour.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::updateViewportArguments):
        (WebCore::Document::documentWillSuspendForPageCache):
        * dom/Document.h:
        (Document):
        (WebCore::Document::didDispatchViewportPropertiesChanged):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::didNotifyDescendantInseretions):

2012-05-02  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: Cannot read property 'length' of undefined TextEditorModel.js:467
        https://bugs.webkit.org/show_bug.cgi?id=85360

        Reviewed by Yury Semikhatsky.

        Added the undo/redo stack length checks.

        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel.endsWithBracketRegex.):

2012-05-02  Pavel Feldman  <pfeldman@chromium.org>

        WebInspector: Scripts panel editor dirty state is cleared when the tab with editor is closed.
        https://bugs.webkit.org/show_bug.cgi?id=85361

        Reviewed by Yury Semikhatsky.

        Added content validation upon script show.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.wasShown):

2012-05-02  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: breakpoints are de-activated only upon the second click.
        https://bugs.webkit.org/show_bug.cgi?id=85359

        Reviewed by Yury Semikhatsky.

        Initial value for activated state is set.

        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):

2012-05-02  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: live edit fails to report error
        https://bugs.webkit.org/show_bug.cgi?id=85357

        Reviewed by Yury Semikhatsky.

        ProtocolError is now a string, not an error object.

        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._queryError):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.didEditContent):

2012-05-02  Lars Knudsen  <lars.knudsen@nokia.com>

        [Qt] Make DeviceMotion and DeviceOrientation work with WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=64595

        Reviewed by Kenneth Rohde Christiansen.

        No new tests added.  This change adds support for WK2
        what was in WK1.

        Also moving DeviceMotion and DeviceOrientation clients and
        providers to WebCore.  This is done to allow clean dependencies
        when statically linking WK2.

        * Target.pri:
        * WebCore.pri:
        * platform/qt/DeviceMotionClientQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionClientQt.cpp.
        (WebCore):
        (WebCore::DeviceMotionClientQt::~DeviceMotionClientQt):
        (WebCore::DeviceMotionClientQt::deviceMotionControllerDestroyed):
        (WebCore::DeviceMotionClientQt::setController):
        (WebCore::DeviceMotionClientQt::startUpdating):
        (WebCore::DeviceMotionClientQt::stopUpdating):
        (WebCore::DeviceMotionClientQt::currentDeviceMotion):
        * platform/qt/DeviceMotionClientQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionClientQt.h.
        (WebCore):
        (DeviceMotionClientQt):
        (WebCore::DeviceMotionClientQt::DeviceMotionClientQt):
        * platform/qt/DeviceMotionProviderQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionProviderQt.cpp.
        (WebCore):
        (WebCore::DeviceMotionProviderQt::DeviceMotionProviderQt):
        (WebCore::DeviceMotionProviderQt::~DeviceMotionProviderQt):
        (WebCore::DeviceMotionProviderQt::setController):
        (WebCore::DeviceMotionProviderQt::start):
        (WebCore::DeviceMotionProviderQt::stop):
        (WebCore::DeviceMotionProviderQt::filter):
        * platform/qt/DeviceMotionProviderQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionProviderQt.h.
        (WebCore):
        (DeviceMotionProviderQt):
        (WebCore::DeviceMotionProviderQt::currentDeviceMotion):
        * platform/qt/DeviceOrientationClientQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp.
        (WebCore):
        (WebCore::DeviceOrientationClientQt::deviceOrientationControllerDestroyed):
        (WebCore::DeviceOrientationClientQt::setController):
        (WebCore::DeviceOrientationClientQt::startUpdating):
        (WebCore::DeviceOrientationClientQt::stopUpdating):
        (WebCore::DeviceOrientationClientQt::lastOrientation):
        * platform/qt/DeviceOrientationClientQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.h.
        (WebCore):
        (DeviceOrientationClientQt):
        * platform/qt/DeviceOrientationProviderQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp.
        (WebCore):
        (WebCore::DeviceOrientationProviderQt::DeviceOrientationProviderQt):
        (WebCore::DeviceOrientationProviderQt::~DeviceOrientationProviderQt):
        (WebCore::DeviceOrientationProviderQt::setController):
        (WebCore::DeviceOrientationProviderQt::start):
        (WebCore::DeviceOrientationProviderQt::stop):
        (WebCore::DeviceOrientationProviderQt::filter):
        * platform/qt/DeviceOrientationProviderQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h.
        (WebCore):
        (DeviceOrientationProviderQt):
        (WebCore::DeviceOrientationProviderQt::isActive):
        (WebCore::DeviceOrientationProviderQt::lastOrientation):
        (WebCore::DeviceOrientationProviderQt::hasAlpha):

2012-05-02  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: exception in console when there are watch expressions
        https://bugs.webkit.org/show_bug.cgi?id=85351

        Check if script execution is still paused before trying to resolve an
        object for script popover because execution may be resumed after popover
        showing is scheduled but before we start resolving the object under
        the cursor in which case there is no selected call frame any more and
        we should hide the popover.

        Reviewed by Pavel Feldman.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):

2012-05-02  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Changing webkitGetUserMedia to take an object instead of a string
        https://bugs.webkit.org/show_bug.cgi?id=84850

        Reviewed by Dimitri Glazkov.

        The standard changed a while back to use an object as a dictionary but since JSC
        didn't support the Dictionary class until just recently we have not updated the API until now.

        Change covered by existing, and edited, tests.

        * Modules/mediastream/NavigatorMediaStream.cpp:
        (WebCore::NavigatorMediaStream::webkitGetUserMedia):
        * Modules/mediastream/NavigatorMediaStream.h:
        (WebCore):
        (NavigatorMediaStream):
        * Modules/mediastream/NavigatorMediaStream.idl:
        * Modules/mediastream/UserMediaRequest.cpp:
        (WebCore::UserMediaRequest::create):
        (WebCore::UserMediaRequest::UserMediaRequest):
        * Modules/mediastream/UserMediaRequest.h:
        (WebCore):
        (UserMediaRequest):
        * platform/mediastream/MediaStreamSourcesQueryClient.h:
        (MediaStreamSourcesQueryClient):

2012-05-02  Antti Koivisto  <antti@apple.com>

        StyleSheetInternal::parseUserStyleSheet() should be called parseAuthorStyleSheet().

        Rubber-stamped by Nikolas Zimmermann.

        * css/CSSImportRule.cpp:
        (WebCore::StyleRuleImport::setCSSStyleSheet):
        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::parseAuthorStyleSheet):
        * css/CSSStyleSheet.h:
        (StyleSheetInternal):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet):

2012-05-02  Yury Semikhatsky  <yurys@chromium.org>

        REGRESSION: Web Inspector doesn't show cookies anymore
        https://bugs.webkit.org/show_bug.cgi?id=85349

        Pass root node instead of DataGrid object to the "populateNode" method.
        Added compiler annotations so that closure compiler catches such errors.

        Reviewed by Pavel Feldman.

        * inspector/front-end/CookiesTable.js:
        (WebInspector.CookiesTable.prototype._rebuildTable):
        * inspector/front-end/NetworkRequest.js:
        (WebInspector.NetworkRequest.prototype.addFrameError):

2012-05-02  Dongwoo Im  <dw.im@samsung.com>

        [EFL] Implement the Web Audio API feature.
        https://bugs.webkit.org/show_bug.cgi?id=78688

        Reviewed by Philippe Normand.

        Implement the Web Audio API feature on the EFL port.
        https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html

        * CMakeLists.txt: Add the list of the files which are needed for the Web Audio APi.
        * PlatformEfl.cmake: Add the list of the files which are needed for the Web Audio APi.
        * UseJSC.cmake: Add the list of the files which are needed for the Web Audio APi.
        * platform/audio/HRTFElevation.cpp: Enable the USE_CONCATENATED_IMPULSE_RESPONSES macro.
        (WebCore):
        * platform/audio/efl/AudioBusEfl.cpp: Added.
        (WebCore):
        (WebCore::AudioBus::loadPlatformResource): Create the absolute path of the audio resource.

2012-05-01  Kentaro Hara  <haraken@chromium.org>

        [V8] Add an Isolate parameter to setJSWrapperForXXX()
        https://bugs.webkit.org/show_bug.cgi?id=85329

        Reviewed by Adam Barth.

        The objective is to pass Isolate around in V8 bindings.
        This patch adds an Isolate parameter to setJSWrapperForXXX()
        and passes Isolate to setJSWrapperForXXX() in CodeGeneratorV8.pm.
        I'll pass Isolate to setJSWrapperForXXX() in custom bindings
        in a follow-up patch.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
        (GenerateConstructorCallback):
        (GenerateEventConstructorCallback):
        (GenerateNamedConstructorCallback):
        (GenerateToV8Converters):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode):
        * bindings/v8/V8DOMWrapper.h:
        (V8DOMWrapper):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):

        * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests results.
        (WebCore::V8Float64Array::wrapSlow):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::V8TestActiveDOMObject::wrapSlow):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::V8TestCustomNamedGetter::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::constructorCallback):
        (WebCore::V8TestEventConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::V8TestEventTarget::wrapSlow):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::constructorCallback):
        (WebCore::V8TestInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::V8TestMediaQueryListListener::wrapSlow):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        (WebCore::V8TestNamedConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestNode.cpp:
        (WebCore::V8TestNode::constructorCallback):
        (WebCore::V8TestNode::wrapSlow):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::constructorCallback):
        (WebCore::V8TestObj::wrapSlow):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):

2012-05-01  Eric Seidel  <eric@webkit.org>

        Add <iframe seamless> navigation code (and pass all the navigation tests)
        https://bugs.webkit.org/show_bug.cgi?id=85340

        Reviewed by Adam Barth.

        This code was primarily written by Adam Barth and then submitted to my
        GitHub branch via a pull request:
        https://github.com/eseidel/webkit/compare/master...seamless
        https://github.com/eseidel/webkit/pull/2
        https://github.com/eseidel/webkit/pull/3

        I rewrote parts of it to use Docment::shouldDisplaySeamlesslyWithParent.

        Other parts of the original change have already been committed to WebKit by Adam
        as part of prep-work for making the loader seamless-ready.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::findFrameForNavigation):

2012-05-01  Vincent Scheib  <scheib@chromium.org>

        Fullscreen pop-up logic restored to using processingUserGesture.
        https://bugs.webkit.org/show_bug.cgi?id=85105

        WebKit was recently updated to the new Fullscreen API:
        http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#api
        http://trac.webkit.org/changeset/111028

        This change reverts back to using processingUserGesture() instead
        of DOMWindow::allowPopUp(). This fixes incorrect behavior in
        at least the Chromium port and is consistent with the cited
        definition of "allowed to show a pop-up":
          An algorithm is allowed to show a pop-up if, in the task in which the algorithm is running, either:
          - an activation behavior is currently being processed whose click event was trusted, or
          - the event listener for a trusted click event is being handled.

        Reviewed by Dimitri Glazkov.

        No new tests.

        * dom/Document.cpp:
        (WebCore::Document::requestFullScreenForElement):

2012-05-01  Xiaomei Ji  <xji@chromium.org>

        enable ctrl-arrow move by word visually in non-Windows platforms.
        https://bugs.webkit.org/show_bug.cgi?id=85017

        Reviewed by Ryosuke Niwa.

        Enable ctrl-arrow moves caret by word in visual order in non-Windows platforms that use ICU word
        break iterator (it is not enabled for WinCE and Qt where ICU is not used). For those platforms, ctrl-arrow
        moves caret to word break position before spaces. For example, given a logical text "abc def hij", the word
        break positions using ctrl-left-arrow from rightmost position are "|abc |def |hij".
        The word break positions using ctrl-right-arrow from leftmost position are "abc| def| hij|".

        Test: editing/selection/move-by-word-visually-mac.html

        * editing/EditingBehavior.h:
        (EditingBehavior):
        (WebCore::EditingBehavior::shouldEatSpaceToNextWord): To control different word break positions
        (regards to space) for different platforms.
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::modifyMovingRight): Enable visual word movement for all platforms that use ICU.
        (WebCore::FrameSelection::modifyMovingLeft):
        * editing/visible_units.cpp:
        (WebCore::visualWordPosition): Determine the right word break position (regards to space) based on EditingBehavior.
        (WebCore::leftWordPosition):
        (WebCore::rightWordPosition):
        * editing/visible_units.h:

2012-05-01  Raymond Liu  <raymond.liu@intel.com>

        Modify RealtimeAnalyserNode pull mechanism
        https://bugs.webkit.org/show_bug.cgi?id=77515

        Reviewed by Chris Rogers.

        Test: webaudio/automatic-pull-node.html

        * GNUmakefile.list.am:
        * Modules/webaudio/AudioBasicInspectorNode.cpp: Added.
        (WebCore):
        (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
        (WebCore::AudioBasicInspectorNode::pullInputs):
        (WebCore::AudioBasicInspectorNode::connect):
        (WebCore::AudioBasicInspectorNode::disconnect):
        (WebCore::AudioBasicInspectorNode::checkNumberOfChannelsForInput):
        (WebCore::AudioBasicInspectorNode::updatePullStatus):
        * Modules/webaudio/AudioBasicInspectorNode.h: Added.
        (WebCore):
        (AudioBasicInspectorNode):
        * Modules/webaudio/AudioContext.cpp:
        (WebCore::AudioContext::AudioContext):
        (WebCore::AudioContext::~AudioContext):
        (WebCore::AudioContext::handlePreRenderTasks):
        (WebCore::AudioContext::handlePostRenderTasks):
        (WebCore::AudioContext::markForDeletion):
        (WebCore):
        (WebCore::AudioContext::addAutomaticPullNode):
        (WebCore::AudioContext::removeAutomaticPullNode):
        (WebCore::AudioContext::updateAutomaticPullNodes):
        (WebCore::AudioContext::processAutomaticPullNodes):
        * Modules/webaudio/AudioContext.h:
        (AudioContext):
        * Modules/webaudio/AudioDestinationNode.cpp:
        (WebCore::AudioDestinationNode::provideInput):
        * Modules/webaudio/AudioNode.h:
        (AudioNode):
        * Modules/webaudio/AudioNodeOutput.h:
        (WebCore::AudioNodeOutput::isConnected):
        (AudioNodeOutput):
        * Modules/webaudio/RealtimeAnalyserNode.cpp:
        (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
        * Modules/webaudio/RealtimeAnalyserNode.h:
        (RealtimeAnalyserNode):
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:

2012-05-01  Keishi Hattori  <keishi@webkit.org>

        datalist: Form control in a <datalist> should be barred from constraint validation
        https://bugs.webkit.org/show_bug.cgi?id=84359

        Reviewed by Kent Tamura.

        Tests: fast/forms/datalist/datalist-child-validation.html
               fast/forms/form-control-element-crash.html

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
        (WebCore::HTMLFormControlElement::updateAncestors): Updates the ancestor information.
        (WebCore::HTMLFormControlElement::insertedInto): Invalidate the ancestor information and call setNeedsWillValidateCheck because willValidate might have changed.
        (WebCore::HTMLFormControlElement::removedFrom): Ditto.
        (WebCore::HTMLFormControlElement::disabled):
        (WebCore::HTMLFormControlElement::recalcWillValidate): Returns false if element has a datalist ancestor.
        (WebCore::HTMLFormControlElement::willValidate): Check if ancestor information is valid too.
        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
        * html/HTMLFormControlElement.h:
        (HTMLFormControlElement):

2012-05-01  Kent Tamura  <tkent@chromium.org>

        Calendar Picker: Close the picker by ESC key
        https://bugs.webkit.org/show_bug.cgi?id=85337

        Reviewed by Kentaro Hara.

        No new tests. Calendar picker is not testable in DRT yet.

        * Resources/calendarPicker.js:
        (handleGlobalKey): Close the popup by ESC key.

2012-05-01  Noel Gordon  <noel.gordon@gmail.com>

        PNGImageDecoder: Handle interlace buffer allocation failure
        https://bugs.webkit.org/show_bug.cgi?id=85276

        Reviewed by Eric Seidel.

        No new tests. Not something we can easily test (malloc failure).

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable): Check interlace buffer allocations
        and bail via longjmp on failure. Note PNG_INTERLACE_ADAM7 is the only libpng
        supported interlace type so test for it explicitly.

2012-05-01  Kent Tamura  <tkent@chromium.org>

        Calendar Picker: Too wide in Japanese locale
        https://bugs.webkit.org/show_bug.cgi?id=85331

        Reviewed by Kentaro Hara.

        No new tests. This is a locale-specific behavior.

        * Resources/calendarPicker.js:
        (formatJapaneseImperialEra):
        Do not show an imperial era later than 平成99年 to avoid very long
        year string like "275760年(平成273772年)."
        (YearMonthController.prototype.attachTo):
        - Respect the maximum year specfied by <input max=...>
          If <input max="9999-12-31"> is specified, we don't need to
          secure space for the year 275,760.
        - Check the width for 平成99年 as well as the maximum year because
          "2087年(平成99年)" is usually wider than "275760年".

2012-05-01  Noel Gordon  <noel.gordon@gmail.com>

        PNGImageDecoder: Add ENABLE(IMAGE_DECODER_DOWN_SAMPLING) guards to rowAvailable
        https://bugs.webkit.org/show_bug.cgi?id=85268

        Reviewed by Eric Seidel.

        PNGImageDecoder supports image downsampling. Add ENABLE guards to show where
        downsampling is applied when outputting decoded rows to the frame buffer. Most
        ports don't enable the flag: don't penalize them in terms speed in this tight
        row pixel write loop. s/y/destY/ to match setRGBA() and amend some comments.

        No new tests. No change in behavior.

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):

2012-05-01  Eric Seidel  <eric@webkit.org>

        Remove uneeded min/max pref width assignment from RenderView
        https://bugs.webkit.org/show_bug.cgi?id=85325

        Reviewed by Julien Chaffraix.

        This code has been with us since the original import from KDE:
        http://trac.webkit.org/browser/trunk/WebCore/khtml/rendering/render_root.cpp?annotate=blame&rev=4#L93
        It's never been documented, or explained.  Removing it showed no
        effect on my local layout tests run.
        However this code blocks proper implementation of <iframe seamless>
        as we have to do proper min/max width negotiation across the iframe boundary.

        I would remove the whole function, but doing so opens a whole can of worms
        as this override is public, yet normally this function is *private* (well protected on RenderBox).
        It seems plausible that frame flattening code needs this override since it doesn't always
        call the min/maxPreferredWidth() calls which normally automatically call this compute*
        function if the pref-widths are dirty.
        Instead of trying to track that all down, I'm just removing this line, and we'll go
        back and remove the whole function at a later date if possible.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::computePreferredLogicalWidths):

2012-05-01  Nate Chapin  <japhet@chromium.org>

        REGRESSION(r115654): PDFs come up blank
        https://bugs.webkit.org/show_bug.cgi?id=85275

        Reviewed by Alexey Proskuryakov.

        Test: http/tests/loading/pdf-commit-load-callbacks.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::finishedLoading): The load needs to be
            committed before we call finishedLoading on the
            FrameLoaderClient.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::transitionToCommitted): We're guaranteeing
            that receivedFirstData() will be called other ways (namely,
            DocumentLoader won't finish without doing so). This call now
            causes custom representations to double-commit, which is bad.

2012-05-01  Eric Seidel  <eric@webkit.org>

        Add support for seamless attribute as well as seamless sandbox flag and default CSS styling
        https://bugs.webkit.org/show_bug.cgi?id=85302

        Reviewed by Ojan Vafai.

        This also adds support for the seamless sandbox flag from HTML 5.
        The sandbox flag is not speficially overridable in the current HTML5,
        but it is set (like all sandbox flags) by default when sandbox is specified.
        Unfortunately this support is not yet observable in this patch, as
        this patch adds not observable features of seamless.

        This patch also adds the html.css additions for seamless, as specified:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#replaced-elements

        I noticed that my previous testing did not confirm that iframes marked
        for seamless (but not possible to display as seamless due to sandbox, etc.)
        were still to have this seamless styling.  I've added additional testing for this case.

        I also added another test for the about:blank FIXME added as part of this change.

        In order to support srcdoc w/ seamless, we needed to move the srcdoc determination
        sooner in the initSecurityContext function (before the should-inherit early return).

        The next patch will make seamless actually observable from JS/DOM, this one
        just lays down all the plumbing, and separates the security aspects for
        easy review.

        Test: fast/frames/seamless/seamless-inherited-origin.html

        * css/html.css:
        (iframe:not([seamless])):
        (iframe[seamless]):
        * dom/Document.cpp:
        (WebCore::isEligibleForSeamless):
        (WebCore):
        (WebCore::Document::initSecurityContext):
        (WebCore::Document::seamlessParentIFrame):
        (WebCore::Document::shouldDisplaySeamlesslyWithParent):
        * dom/Document.h:
        (WebCore):
        (Document):
        * dom/SecurityContext.cpp:
        (WebCore::SecurityContext::SecurityContext):
        * dom/SecurityContext.h:
        (WebCore::SecurityContext::mayDisplaySeamlessWithParent):
        (SecurityContext):
        * html/HTMLAttributeNames.in:
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::shouldDisplaySeamlessly):
        (WebCore):
        * html/HTMLIFrameElement.h:
        (HTMLIFrameElement):
        * html/HTMLIFrameElement.idl:

2012-05-01  Min Qin  <qinmin@google.com>

        use USE(NATIVE_FULLSCREEN_VIDEO) instead of ENABLE(NATIVE_FULLSCREEN_VIDEO)
        https://bugs.webkit.org/show_bug.cgi?id=85316

        Reviewed by Kent Tamura.

        NATIVE_FULLSCREEN_VIDEO means the fullscreen video is implemented by native
        system view instead of webkit.
        So it is more appropriate to use USE(NATIVE_FULLSCREEN_VIDEO).
        This chagne also disabled the rendering of the fullscreen video element in webkit
        when that flag is set.
        Just renaming the variable, no new tests.

        * dom/Document.cpp:
        (WebCore::Document::webkitWillEnterFullScreenForElement):
        (WebCore):
        * platform/graphics/MediaPlayer.cpp:
        (WebCore):
        * platform/graphics/MediaPlayer.h:
        (MediaPlayer):
        * platform/graphics/MediaPlayerPrivate.h:
        (MediaPlayerPrivateInterface):

2012-05-01  Jeffrey Pfau  <jpfau@apple.com>

        <rdar://problem/10422318> Support for web content filter delegate for filtering https content
        https://bugs.webkit.org/show_bug.cgi?id=85300

        Reviewed by Alexey Proskuryakov.

        No new tests.

        * WebCore.exp.in:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::MainResourceLoader):
        (WebCore::MainResourceLoader::~MainResourceLoader):
        (WebCore::MainResourceLoader::didCancel):
        (WebCore::MainResourceLoader::didReceiveResponse):
        (WebCore::MainResourceLoader::didReceiveData):
        (WebCore::MainResourceLoader::didFinishLoading):
        (WebCore::MainResourceLoader::didFail):
        * loader/MainResourceLoader.h:
        (MainResourceLoader):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2012-05-01  Kent Tamura  <tkent@chromium.org>

        Calendar Picker: Add capability to add platform-specific style sheet
        https://bugs.webkit.org/show_bug.cgi?id=85272

        Reviewed by Kentaro Hara.

        Add RenderTheme::extraCalendarPickerStyleSheet(). The resultant string
        of the function is inserted into the calendar picker page.

        No new tests. Calendar picker apperance is not testable yet.

        * Resources/calendarPicker.css: Removed styles for year-month buttons.
        * Resources/calendarPickerMac.css:
        Moved from calendarPicker.css, and adjust styles so that they look
        standard Lion buttons.
        (.year-month-button):
        (.year-month-button:active):
        (.year-month-button:disabled):
        * WebCore.gyp/WebCore.gyp: Add a rule to produce CalendarPickerMac.{cpp,h}.
        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::CalendarPickerElement::writeDocument):
        Add extraCalendarPickerStyleSheet() result to the document.
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::extraCalendarPickerStyleSheet):
        Added. Returns an empty CString by default.
        * rendering/RenderTheme.h:
        (RenderTheme): Added extraCalendarPickerStyleSheet().
        * rendering/RenderThemeChromiumMac.h: Added extraCalendarPickerStyleSheet().
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::extraCalendarPickerStyleSheet):
        Added. Returns the content of Resources/calendarPickerMac.css.

2012-05-01  James Simonsen  <simonjam@chromium.org>

        Ensure HTMLElementStack fails gracefully if it has a non-Element.
        https://bugs.webkit.org/show_bug.cgi?id=85167

        Reviewed by Adam Barth.

        Test: Added to html5lib/resources/webkit02.dat

        * html/parser/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::oneBelowTop):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2012-05-01  Ryosuke Niwa  <rniwa@webkit.org>

        *Command.h files shouldn't be exported to WebKit layer
        https://bugs.webkit.org/show_bug.cgi?id=74778

        Reviewed by Eric Seidel.

        Remove the dependency on *Command.h files from Mac port's WebKit layer.
        Also wrapped the call to TypingCommand::insertParagraphSeparatorInQuotedContent in the Editor class
        so that we can just expose Editor's method instead of directly exposing the said static method.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/Editor.h:
        (Editor):
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::insertParagraphSeparatorInQuotedContent):
        (WebCore):

2012-05-01  Julien Chaffraix  <jchaffraix@webkit.org>

        Remove one bit from m_column to pack RenderTableCell bits more
        https://bugs.webkit.org/show_bug.cgi?id=85291

        Reviewed by Ojan Vafai.

        Memory improvement, covered by the existing unit tests.

        * rendering/RenderTableCell.cpp:
        * rendering/RenderTableCell.h:
        Remove one bit from m_column (which should be fine as I wouldn't expect tables above 1 millions
        columns to render at all anyway) to pack the bitfields in 32 bits. Re-arranged the bits to have the bigger
        bitfield first.

2012-05-01  Anders Carlsson  <andersca@apple.com>

        Slow scrolling on www.sholby.net
        https://bugs.webkit.org/show_bug.cgi?id=85304
        <rdar://problem/11138952>

        Reviewed by Beth Dakin.

        Fix two performance issues that showed up on the profiles.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        Reset the relevant painted object counter; it's only interesting when loading.

        * page/Page.cpp:
        (WebCore::Page::startCountingRelevantRepaintedObjects):
        Set m_isCountingRelevantRepaintedObjects to true after calling reset, since reset now sets it to false.

        (WebCore::Page::resetRelevantPaintedObjectCounter):
        Set m_isCountingRelevantRepaintedObjects to false.

        (WebCore::Page::addRelevantRepaintedObject):
        Use HashSet::find to avoid an extra hash lookup.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
        Remove the call to FrameView::updateCompositingLayersAfterLayout now, since FrameView::notifyScrollPositionChanged
        already calls this and was making us to a lot of work twice.

2012-05-01  Silvia Pfeiffer  <silviapf@chromium.org>

        Audio controls have a 1px surplus outline coming from RenderImage::paintReplaced base class,
        which needs overwriting.
        https://bugs.webkit.org/show_bug.cgi?id=84570

        Reviewed by Eric Carlson.

        No new tests - covered by existing audio rendering tests.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::paintReplaced): Overwrite inherited function.
        (WebCore):
        * rendering/RenderMedia.h:
        (RenderMedia):

2012-05-01  Terry Anderson  <tdanderson@chromium.org>

        Allow a pre-targeted node to be specified when dispatching a GestureTap event
        https://bugs.webkit.org/show_bug.cgi?id=85296

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=85101
            The new parameter will be used and tested in this patch.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureTap):
            The new preTargetedNode parameter can be used to pass in the Node that is
            the target of the GestureTap event. If this parameter is used, adjustedPoint
            is changed to be the center of the Node's bounding rectangle.
        * page/EventHandler.h:
        (EventHandler):

2012-05-01  Jessie Berlin  <jberlin@apple.com>

        Crash calling disconnectFrame on a DOMWindowExtension a second time.
        https://bugs.webkit.org/show_bug.cgi?id=85301

        Reviewed by Darin Adler.

        DOMWindowExtension::disconnectFrame assumed it would only be called when there was a frame
        to disconnect. However, DOMWindow's destructor invokes disconnectFrame on all its
        DOMWindowProperties, even if it already did so when it entered the page cache.

        * page/DOMWindowExtension.cpp:
        (WebCore::DOMWindowExtension::disconnectFrame):
        Don't do anything if the frame has already been disconnected.

2012-05-01  Aaron Colwell  <acolwell@chromium.org>

        Temporarily remove webkitSourceAddId() & webkitSourceRemoveId() from DOM
        until the rest of the Media Source v0.5 methods are implemented. This is
        to prevent ambiguity about whether v0.5 is fully supported or not.
        https://bugs.webkit.org/show_bug.cgi?id=85295

        Reviewed by Eric Carlson.

        No new tests. Removing methods from DOM so relevant tests are removed.

        * html/HTMLMediaElement.idl:

2012-05-01  Douglas Stockwell  <dstockwell@chromium.org>

        IndexedDB: stale index entries may not be removed in some cases
        https://bugs.webkit.org/show_bug.cgi?id=85224

        Reviewed by Ojan Vafai.

        Ensure that stale index entries are removed when the corresponding
        object store entry no longer exists.

        No new tests. Addresses a performance / storage leak that is
        not amenable to verification in a layout test.

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore):

2012-05-01  Igor Oliveira  <igor.o@sisa.samsung.com>

        Use HashMap<OwnPtr> for CounterMap in RenderCounter
        https://bugs.webkit.org/show_bug.cgi?id=85294

        Reviewed by Eric Seidel.

        * rendering/RenderCounter.cpp:
        (WebCore):
        (WebCore::makeCounterNode):
        (WebCore::RenderCounter::destroyCounterNodes):

2012-05-01  Philip Rogers  <pdr@google.com>

        Skip building instance tree for disallowed target
        https://bugs.webkit.org/show_bug.cgi?id=85202

        Reviewed by Nikolas Zimmermann.

        When the target of a use is disallowed (e.g., a mask element) we can
        skip building the instance tree because the shadow tree will be
        skipped as well.

        Test: svg/custom/animate-disallowed-mask-element.svg

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::buildInstanceTree):

2012-04-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Accumulation for values-animation is broken
        https://bugs.webkit.org/show_bug.cgi?id=85158

        Reviewed by Darin Adler.

        Example:
        <rect width="999" height="100" fill="green"/>
            <animate begin="0s" values="0; 30; 20" accumulate="sum" repeatCount="5" dur="2s"/>
        </rect>

        The rect should animate like this:
        0.000s -> 0
        0.500s -> 15
        1.000s -> 30
        1.500s -> 25
        1.999s -> 20
        2.000s -> 20 (first accumulation, starts accumulating from the last set value, here '20').
        2.500s -> 45
        3.000s -> 50
        3.500s -> 45
        3.999s -> 40
        4.000s -> 40 (second accumulation)
        etc.

        This is currently broken for values-animation. The accumulation should happen after a full cycle of the values animation ran (aka. at the end of the duration).
        A values animation works like this: iterate over the list of values, and calculate a 'from' and 'to' value for a given time. Example for values="0; 30; 20" dur="2s":
            - 0.0s .. 1.0s -> from=0, to=30
            - 1.0s .. 2.0s -> from=30, to=20

        Accumulation currently is taken into account at each interval for a values-animation instead of the end of the cycle. Fix that
        by passing an additional 'toAtEndOfDuration' type to calculateAnimatedValue() which is used for accumulation instead of the
        current 'to' value.

        Test: svg/animations/accumulate-values-width-animation.html

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        * svg/SVGAnimateElement.h:
        (SVGAnimateElement):
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
        * svg/SVGAnimateMotionElement.h:
        (SVGAnimateMotionElement):
        * svg/SVGAnimatedAngle.cpp:
        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedAngle.h:
        (SVGAnimatedAngleAnimator):
        * svg/SVGAnimatedBoolean.cpp:
        (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedBoolean.h:
        (SVGAnimatedBooleanAnimator):
        * svg/SVGAnimatedColor.cpp:
        (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedColor.h:
        (SVGAnimatedColorAnimator):
        * svg/SVGAnimatedEnumeration.cpp:
        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedEnumeration.h:
        (SVGAnimatedEnumerationAnimator):
        * svg/SVGAnimatedInteger.cpp:
        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedInteger.h:
        (SVGAnimatedIntegerAnimator):
        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedIntegerOptionalInteger.h:
        (SVGAnimatedIntegerOptionalIntegerAnimator):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedLength.h:
        (SVGAnimatedLengthAnimator):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedLengthList.h:
        (SVGAnimatedLengthListAnimator):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumber.h:
        (SVGAnimatedNumberAnimator):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumberList.h:
        (SVGAnimatedNumberListAnimator):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumberOptionalNumber.h:
        (SVGAnimatedNumberOptionalNumberAnimator):
        * svg/SVGAnimatedPath.cpp:
        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPath.h:
        (SVGAnimatedPathAnimator):
        * svg/SVGAnimatedPointList.cpp:
        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPointList.h:
        (SVGAnimatedPointListAnimator):
        * svg/SVGAnimatedPreserveAspectRatio.cpp:
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPreserveAspectRatio.h:
        (SVGAnimatedPreserveAspectRatioAnimator):
        * svg/SVGAnimatedRect.cpp:
        (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedRect.h:
        (SVGAnimatedRectAnimator):
        * svg/SVGAnimatedString.cpp:
        (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedString.h:
        (SVGAnimatedStringAnimator):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedTransformList.h:
        (SVGAnimatedTransformListAnimator):
        * svg/SVGAnimatedTypeAnimator.h:
        (SVGAnimatedTypeAnimator):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
        (WebCore::SVGAnimationElement::updateAnimation):
        * svg/SVGAnimationElement.h:
        (WebCore::SVGAnimationElement::animateAdditiveNumber):
        (SVGAnimationElement):

2012-05-01  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=85231
        Fixed position objects that are removed from the DOM don't kick off 
        fixed position recalculation
        -and corresponding-
        <rdar://problem/11297916>

        Reviewed by Darin Adler.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::willBeDestroyed):

2012-05-01  Dana Jansens  <danakj@chromium.org>

        Early-out for subtracting a non-intersecting region
        https://bugs.webkit.org/show_bug.cgi?id=85258

        Reviewed by Hajime Morita.

        Given regions A and B, if the bounds of the regions do not intersect,
        then the regions themselves do not intersect. If the intersection of
        A and B is empty, then A subtract B == A.

        * platform/graphics/Region.cpp:
        (WebCore::Region::subtract):

2012-04-30  Kent Tamura  <tkent@chromium.org>

        [Chromium/Windows] Add LocalizedDateWin
        https://bugs.webkit.org/show_bug.cgi?id=84935

        Reviewed by Kentaro Hara.

        LocalizedDateICU.cpp doesn't reflect system settings. So there were some
        problems such as <input type=date> doesn't use system's date format.

        We need to use Windows API to get a date format and calendar parameters.

        We obtain a date format like "MM/dd/yy" via Windows API, and
        format/parse dates for the format by our own code because Windows API
        can't handle years older than 1601 and doesn't have date parsing API.

        Unit test: Source/WebKit/chromium/tests/LocaleWinTest.cpp

        * WebCore.gypi: Add LocalizedDateWin.cpp.
        * WebCore.gyp/WebCore.gyp:
        For Windows, remove LocalizedDateICU.cpp and add LocalizedDateWin.cpp.
        All of *Win.cpp files are excluded by default.

        * platform/text/LocaleWin.cpp: Added.
        (WebCore::LocaleWin::LocaleWin):
        (WebCore::LocaleWin::create):
        (WebCore::LocaleWin::currentLocale):
        (WebCore::LocaleWin::~LocaleWin):
        (WebCore::LocaleWin::getLocaleInfoString):
        A helper function to obtain a string by GetLocaleInfo().
        (WebCore::LocaleWin::initializeShortMonthLabels):
        Obtain short month names from Windows.

        (WebCore::DateFormatToken): A struct to represent a token in a date format.
        e.g. A format string "MM/dd/yy" generates five DateFormatToken:
         Month2, Literal, Day2, Literal, Year2.
        (isEraSymbol): A readability helper function.
        (isYearSymbol): ditto.
        (isMonthSymbol): ditto.
        (isDaySymbol): ditto.
        (countContinuousLetters):
        (commitLiteralToken): A helper for parseDateFormat().
        (parseDateFormat):
        Parse a format string, and generate a list of DateFormatToken.

        (WebCore::parseNumber): A helper for parseDate().
        (WebCore::LocaleWin::parseNumberOrMonth): ditto.
        (WebCore::LocaleWin::parseDate):
        Parse a user-provided date string by matching with a DateFormatToken list.

        (WebCore::appendNumber): A helper for formatDate().
        (WebCore::appendTwoDigitsNumber): ditto. Write at least two digits.
        (WebCore::appendFourDigitsNumber): ditto. Write at least four digits.
        (WebCore::LocaleWin::formatDate):
        Format a DateComponents by iterating a DateFormatToken list.

        (WebCore::LocaleWin::initializeShortDateTokens):
        (WebCore::substituteLabelsIntoFormat):
        Creates a user-visible format string by iterating a DateFormatToken list.
        (WebCore::LocaleWin::dateFormatText):
        (WebCore::LocaleWin::initializeMonthLabels):
        Creates month names by Windows API.
        (WebCore::LocaleWin::initializeWeekDayShortLabels):
         Creates day names by Windows API.
        (WebCore::LocaleWin::monthLabels):
        Public accessor function for month names.
        (WebCore::LocaleWin::weekDayShortLabels):
        Public accessor function for day names.
        * platform/text/LocaleWin.h: Added.

        * platform/text/LocalizedDateWin.cpp:
        Added. The following functions simply delegate to LocaleWin::currentLocale().
        (WebCore::parseLocalizedDate):
        (WebCore::formatLocalizedDate):
        (WebCore::localizedDateFormatText):
        (WebCore::monthLabels):
        (WebCore::weekDayShortLabels):
        (WebCore::firstDayOfWeek):

2012-04-30  Kent Tamura  <tkent@chromium.org>

        REGRESSION(r115600): parseLocalizedDate() should fail for invalid inputs
        https://bugs.webkit.org/show_bug.cgi?id=85176

        Reviewed by Kentaro Hara.

        Test: fast/forms/date/input-date-commit-valid-only.html

        * platform/text/mac/LocalizedDateMac.mm:
        (WebCore::parseLocalizedDate):
        We should check nil for the result of NSDateFormtter::dateFromString.

2012-04-30  Mark Rowe  <mrowe@apple.com>

        Fix another leak due to misuse of createCFString.

        Reviewed by Darin Adler.

        * plugins/mac/PluginPackageMac.cpp:
        (WebCore::PluginPackage::fetchInfo): Adopt the result of createCFString.

2012-04-30  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/11312198> Many leaks during fast/events/dropzone-002.html

        Reviewed by Darin Adler.

        * platform/mac/ClipboardMac.mm:
        (WebCore::utiTypeFromCocoaType): Adopt the result of createCFString.

2012-04-30  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/11352575> Many CGImageRefs leaked during media layout tests

        Reviewed by Brian Weinstein.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect): Adopt the CGImageRef.

2012-04-30  Emil A Eklund  <eae@chromium.org>

        Change RenderBoxModelObject::calculateBackgroundImageGeometry to use roundToInt
        https://bugs.webkit.org/show_bug.cgi?id=85249

        Reviewed by Eric Seidel.

        Prepare RenderBoxModelObject for FractionalLayoutUnits by adding rounding
        logic to calculateBackgroundImageGeometry. Background images, as all
        images, needs to be layed out on pixel boundaries thus we need to convert
        it to a integer value.

        No new tests, no change in functionality.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

2012-04-30  Ilya Sherman  <isherman@chromium.org>

        Unreviewed, rolling out r113511.
        http://trac.webkit.org/changeset/113511
        https://bugs.webkit.org/show_bug.cgi?id=66032
        https://bugs.webkit.org/show_bug.cgi?id=85150

        Regression: Many autofilled form fields lack the default
        autofill background even when authors don’t override the
        autofill colors

        * css/html.css:
        (input:-webkit-autofill): Restore !important modifiers

2012-04-30  Julien Chaffraix  <jchaffraix@webkit.org>

        Move RenderTableCell's row index to RenderTableRow
        https://bugs.webkit.org/show_bug.cgi?id=85229

        Reviewed by Ojan Vafai.

        Covered by the existing table tests.

        Row index is a RenderTableRow concept and as such this change moves
        the relevant logic into the class.

        While touching the code, renamed row() -> rowIndex() as now RenderTableCell
        can return its parent RenderTableRow and we were returning an index, not the row
        itself.

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::cellForColumnAndRow):
        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::rowIndexRange):
        (WebCore::AccessibilityTableCell::titleUIElement):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::cellAbove):
        (WebCore::RenderTable::cellBelow):
        (WebCore::RenderTable::cellBefore):
        (WebCore::RenderTable::cellAfter):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::RenderTreeAsText::writeRenderObject):
        Updated after the renaming RenderTableCell::row() -> rowIndex().

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::RenderTableCell):
        (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
        (WebCore::RenderTableCell::computeCollapsedAfterBorder):
        Updated after m_rowIndex removal and row() -> rowIndex() renaming.

        (WebCore::RenderTableCell::styleDidChange):
        Switched the rowWasSet check to an ASSERT. The new logic guarantees that
        row index was set straight when we insert the row. The previous logic was
        opened to some race conditions as we could wait for a recalcCells call before
        setting the index on the rows which made this check necessary.

        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::row):
        Added this RenderTableRow getter.

        (WebCore::RenderTableCell::rowIndex):
        Renamed from row().

        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::RenderTableRow):
        (WebCore::RenderTableRow::styleDidChange):
        Updated after adding m_rowIndex / rowIndex().

        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::setRowIndex):
        (WebCore::RenderTableRow::rowIndex):
        Added those getter / setter. Also kept m_rowIndex's smaller size
        for future optimization and for symmetry with the column index on
        RenderTableCell.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild):
        (WebCore::RenderTableSection::recalcCells):
        Made sure that whenever we insert or update our row index
        we do call setRowIndex().

        (WebCore::RenderTableSection::addCell):
        This logic now doesn't need to query insertionRow as the cell's
        should have the index of the row in which it is inserted.

        (WebCore::RenderTableSection::calcRowLogicalHeight):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::compareCellPositionsWithOverflowingCells):
        More updates after row() -> rowIndex() renaming.

        * rendering/RenderTableSection.h:
        Removed rowIndexForRenderer now that the row caches this informatin.

2012-04-30  Keishi Hattori  <keishi@webkit.org>

        datalist: Inconsistent behavior of HTMLInputElement::list
        https://bugs.webkit.org/show_bug.cgi?id=84351

        Each platform will have a different set of input types that support the datalist UI.
        This patch makes shouldRespectListAttribute ask the RenderTheme if it supports datalist UI for that input type.
        Thus making it possible to do feature detection with JS.

        Reviewed by Kent Tamura.

        * WebCore.gypi: Added RenderThemeChromiumCommon.{cpp,h}
        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::shouldRespectListAttribute):
        (WebCore):
        * html/ColorInputType.h:
        (ColorInputType):
        * html/InputType.cpp:
        (WebCore::InputType::themeSupportsDataListUI): Static method used by TextFieldInputType, RangeInputType, and ColorInputType.
        (WebCore):
        * html/InputType.h:
        (InputType):
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::shouldRespectListAttribute):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::shouldRespectListAttribute):
        * rendering/RenderTheme.h:
        (RenderTheme):
        (WebCore::RenderTheme::supportsDataListUI): Returns true if the platform can show the datalist suggestions for a given input type.
        * rendering/RenderThemeChromiumCommon.cpp: Added.
        (WebCore):
        (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
        * rendering/RenderThemeChromiumCommon.h: Added.
        (WebCore):
        (RenderThemeChromiumCommon):
        * rendering/RenderThemeChromiumMac.h:
        (RenderThemeChromiumMac):
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::supportsDataListUI):
        (WebCore):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumMac::supportsDataListUI):
        (WebCore):
        * rendering/RenderThemeChromiumSkia.h:
        (RenderThemeChromiumSkia):

2012-04-30  Levi Weintraub  <leviw@chromium.org>

        RenderObject incorrectly lists maximalOutlineSize as a LayoutUnit
        https://bugs.webkit.org/show_bug.cgi?id=85248

        Reviewed by Eric Seidel.

        Reverting RenderObject::maximalOutlineSize to int. This is a slop value for repaint
        rects that doesn't affect layout. It also derives its value from RenderView's function
        of the same name, which is already an integer.

        No new tests. No change in behavior.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::maximalOutlineSize):
        * rendering/RenderObject.h:
        (RenderObject):

2012-04-30  Xingnan Wang  <xingnan.wang@intel.com>

        Add multichannel support for input of JavaScriptAudioNode
        https://bugs.webkit.org/show_bug.cgi?id=84687

        Reviewed by Chris Rogers.

        Tests: webaudio/javascriptaudionode-downmix8-2channel-input.html
               webaudio/javascriptaudionode-upmix2-8channel-input.html

        * Modules/webaudio/JavaScriptAudioNode.cpp:
        (WebCore::JavaScriptAudioNode::create):
        (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
        (WebCore::JavaScriptAudioNode::initialize):
        (WebCore::JavaScriptAudioNode::process):
        * Modules/webaudio/JavaScriptAudioNode.h:
        (JavaScriptAudioNode):

2012-04-30  Oliver Hunt  <oliver@apple.com>

        Harden arithmetic in ImageBufferDataCG
        https://bugs.webkit.org/show_bug.cgi?id=61373

        Reviewed by Gavin Barraclough.

        We have a checked type that allows us to automate many of the
        bounds checks we want here, so let's replace the floating point
        math, and just use Checked<> throughout.  We use a non-recording
        Checked<> as no overflows should reach this point, so we'll take
        a hard early failure, over the cost of many branches when
        accessing the raw values in loops.

        * platform/graphics/cg/ImageBufferDataCG.cpp:
        (WebCore::ImageBufferData::getData):
        (WebCore::ImageBufferData::putData):

2012-04-30  Levi Weintraub  <leviw@chromium.org>

        Add absoluteValue method for LayoutUnits to allow overloading abs()
        https://bugs.webkit.org/show_bug.cgi?id=85214

        Reviewed by Eric Seidel.

        Adding an absoluteValue free inline function that operates on LayoutUnits, which
        allows us to have one function signature for ints or FractionalLayoutUnits. We
        can't simply add a FractionalLayoutUnit flavor of abs because it confuses
        some compilers due to the implicit FractionalLayoutUnit constructors that take
        ints and floats.

        No new tests. No change in behavior.

        * page/SpatialNavigation.cpp:
        (WebCore::distanceDataForNode):
        * rendering/LayoutTypes.h:
        (WebCore::absoluteValue):
        (WebCore):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::rangeIntersectsRect):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):

2012-04-30  Levi Weintraub  <leviw@chromium.org>

        Update LayoutUnit usage in InlineFlowBox and RenderWidget
        https://bugs.webkit.org/show_bug.cgi?id=85239

        Reviewed by Eric Seidel.

        Updating LayoutUnit usage in a pair of remaining functions to minimize the remaining work to switching
        to FractionalLayoutUnits for layout instead of integers.

        No new tests. No change in behavior.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Though stored as a float, the top is always
        set to an integer value. When we move to sub-pixel, we need to preserve this. Not preserving this
        behavior affects text decorations, most notably underlines.
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::updateWidgetGeometry): Adding pixel snapping for the content box if it's
        not transformed (absoluteContentBox includes pixel snapping), and properly treating the boundingBox
        as an IntRect.

2012-04-30  Levi Weintraub  <leviw@chromium.org>

        Prepare RenderDeprecatedFlexibleBox for sub-pixel layout
        https://bugs.webkit.org/show_bug.cgi?id=85217

        Reviewed by Eric Seidel.

        Bailing from the space distribution loop in layoutHorizontal/VerticalBox when
        the remaining space falls below one pixel. This has no effect in whole-pixel
        layout, but avoids unnecessary work/infinite loops in the sub-pixel case.

        No new tests. No change in behavior.

        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

2012-04-30  Ryosuke Niwa  <rniwa@webkit.org>

        NULL ptr in WebCore::Range::getBorderAndTextQuads
        https://bugs.webkit.org/show_bug.cgi?id=77218

        Reviewed by Eric Seidel.

        The crash was caused by a malformed range obtained within an event handler of mutation events
        (DOMNodeRemovedFromDocument). Because this range wasn't updated per node removal, range functions
        end up not behaving well.

        Fixed the bug by changing the order of the notifications in ContainerNode::willRemoveChild.
        We now fire mutation events first before updating ranges so that any range created inside those
        event handlers can also be updated prior to the actual node removal.

        Test: fast/dom/Range/range-created-in-mutation-event-crash.xhtml

        * dom/ContainerNode.cpp:
        (WebCore::willRemoveChild):

2012-04-30  Anders Carlsson  <andersca@apple.com>

        ScrollingCoordinator::requestScrollPositionUpdate should not update the main frame scroll position
        https://bugs.webkit.org/show_bug.cgi?id=85240
        <rdar://problem/11286609>

        Reviewed by Sam Weinig.

        The call to updateMainFrameScrollPosition was added to make the WebKit2 find overlay work, since it relies
        on scroll position updates being synchronous. Change the find code in WebKit2 to handle asynchronous scroll
        position updates and remove the call to updateMainFrameScrollPosition.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):

2012-04-30  Anders Carlsson  <andersca@apple.com>

        Add a way to asynchronously call a function once the scroll position of a page has been updated
        https://bugs.webkit.org/show_bug.cgi?id=85237

        Reviewed by Sam Weinig.

        * WebCore.exp.in:
        Export functions needed by WebKit2.

        * page/scrolling/ScrollingCoordinator.h:
        Make commitTreeStateIfNeeded public.

2012-04-30  Kentaro Hara  <haraken@chromium.org>

        WebGLRenderingContext methods should throw TypeError for not enough arguments
        https://bugs.webkit.org/show_bug.cgi?id=84787

        Reviewed by Kenneth Russell.

        Currently, WebGLRenderingcontext methods implement
        "Not enough arguments" error as SyntaxError. The Web IDL
        spec requires that it should be TypeError:
        http://www.w3.org/TR/WebIDL/#dfn-overload-resolution-algorithm

        This patch changes SyntaxError to TypeError.

        I wanted to confirm the behavior of Firefox and Opera,
        but they do not implement WebGL yet.

        Test: fast/canvas/webgl/webgl-exceptions.html

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::getObjectParameter):
        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
        (WebCore::JSWebGLRenderingContext::getExtension):
        (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::JSWebGLRenderingContext::getParameter):
        (WebCore::JSWebGLRenderingContext::getProgramParameter):
        (WebCore::JSWebGLRenderingContext::getShaderParameter):
        (WebCore::JSWebGLRenderingContext::getUniform):
        (WebCore::dataFunctionf):
        (WebCore::dataFunctioni):
        (WebCore::dataFunctionMatrix):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::getObjectParameter):
        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
        (WebCore::V8WebGLRenderingContext::getExtensionCallback):
        (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
        (WebCore::V8WebGLRenderingContext::getParameterCallback):
        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
        (WebCore::V8WebGLRenderingContext::getUniformCallback):
        (WebCore::vertexAttribAndUniformHelperf):
        (WebCore::uniformHelperi):
        (WebCore::uniformMatrixHelper):

2012-04-30  Emil A Eklund  <eae@chromium.org>

        [gtk, qt, chromium, win] Fix usage of LayoutUnits and rounding in platform code
        https://bugs.webkit.org/show_bug.cgi?id=85222

        Reviewed by Eric Seidel.

        Update platform code to use the pixel snapped values for painting rects
        to line up with device pixels and change platform specific hit testing
        code to use roundedPoint as hit testing is still mostly done on integer
        bounds.

        No new tests, no change in functionality.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::paint):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):

2012-04-30  Kentaro Hara  <haraken@chromium.org>

        [V8][JSC] Remove hard-coded "Not enough arguments" errors
        https://bugs.webkit.org/show_bug.cgi?id=85207

        Reviewed by Sam Weinig.

        In bug 85022 and bug 85097, we implemented
        createNotEnoughArgumentsError() in JSC and
        V8Proxy::throwNotEnoughArgumentsError() in V8 and partially
        removed hard-coded "Not enough arguments" errors.
        This patch removes hard-coded "Not enough arguments"
        errors by using the helper methods.

        No tests. No change in behavior.

        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
        * bindings/js/JSSVGLengthCustom.cpp:
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
        (WebCore::JSWebSocket::send):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        * bindings/v8/ScriptController.cpp:
        (WebCore::setValueAndClosePopupCallback):
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        (WebCore::V8AudioContext::constructorCallback):
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8WebSocket::constructorCallback):
        (WebCore::V8WebSocket::sendCallback):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::openCallback):

2012-04-30  Benjamin Poulain  <benjamin@webkit.org>

        Add String::startsWith() and endsWith() for string literals
        https://bugs.webkit.org/show_bug.cgi?id=85154

        Reviewed by Darin Adler.

        Update WebCore to use the simpler startsWith() and endsWith() taking
        a UChar.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::markPropertyEnd):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::StyleKeyframe::parseKeyString):
        * editing/markup.cpp:
        (WebCore::createFragmentFromText):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::setInnerTextValue):
        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
        * loader/appcache/ManifestParser.cpp:
        (WebCore::parseManifest):
        * platform/blackberry/CookieManager.cpp:
        (WebCore::CookieManager::shouldRejectForSecurityReason):
        * platform/posix/FileSystemPOSIX.cpp:
        (WebCore::pathByAppendingComponent):
        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::findPlugin):
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::parseAttribute):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::parseOffsetValue):
        (WebCore::SVGSMILElement::parseCondition):

2012-04-30  Abhishek Arya  <inferno@chromium.org>

        Remove positioned float code.
        https://bugs.webkit.org/show_bug.cgi?id=84795

        Reviewed by Dan Bernstein.

        Backout r92004 and some pieces from r91702.

        Test: fast/block/float/positioned-float-crash.html

        * css/CSSParser.cpp:
        (WebCore::isValidKeywordPropertyAndValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFloat):
        * css/CSSValueKeywords.in:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::addOverflowFromFloats):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::simplifiedLayout):
        (WebCore::RenderBlock::layoutPositionedObjects):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::clearFloats):
        (WebCore::RenderBlock::FloatingObjects::clear):
        (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
        (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):
        * rendering/RenderBlock.h:
        (RenderBlock):
        (WebCore::RenderBlock::forceLayoutInlineChildren):
        (FloatingObject):
        (WebCore::RenderBlock::FloatingObject::FloatingObject):
        (WebCore::RenderBlock::hasOverhangingFloats):
        (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
        (FloatingObjects):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::updateBoxModelInfoFromStyle):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        * rendering/RenderDeprecatedFlexibleBox.h:
        (RenderDeprecatedFlexibleBox):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollbarsAfterLayout):
        * rendering/style/RenderStyleConstants.h:

2012-04-29  Sam Weinig  <sam@webkit.org>

        Remove BlobBuilder
        https://bugs.webkit.org/show_bug.cgi?id=84036

        Reviewed by Anders Carlsson.

        * GNUmakefile.am:
        * fileapi/WebKitBlobBuilder.idl:
        * page/DOMWindow.idl:
        * workers/WorkerContext.idl:
        Make exposing the WebKitBlobBuilder JS object conditional on a new
        ENABLE_LEGACY_WEBKIT_BLOB_BUILDER flag. Don't enable this for the Mac,
        but do for everyone else.

2012-04-30  Anders Carlsson  <andersca@apple.com>

        Add a barrier-style dispatch member function to ScrollingThread
        https://bugs.webkit.org/show_bug.cgi?id=85228

        Reviewed by Sam Weinig.

        Add a ScrollingThread::dispatchBarrier function which takes a WTF::Function and dispatches it to the main thread
        once all the currently scheduled scrolling thread functions have run. This is to be used for synchronization between the
        scrolling thread and the main thread.

        * page/scrolling/ScrollingThread.cpp:
        (WebCore::callFunctionOnMainThread):
        (WebCore):
        (WebCore::ScrollingThread::dispatchBarrier):
        * page/scrolling/ScrollingThread.h:
        (ScrollingThread):

2012-04-30  Min Qin  <qinmin@google.com>

        Expose a flag so that fullscreen video on android can work with FULLSCREEN_API
        https://bugs.webkit.org/show_bug.cgi?id=84414

        Reviewed by Darin Fisher.

        No tests, just exposing the flag, and will be used by android later.
        Sorry, there is a merge error during the previous commit, resolved now

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::setControls):
        (WebCore):
        (WebCore::MediaPlayer::enterFullscreen):
        (WebCore::MediaPlayer::exitFullscreen):
        * platform/graphics/MediaPlayer.h:
        (MediaPlayer):
        * platform/graphics/MediaPlayerPrivate.h:
        (MediaPlayerPrivateInterface):
        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):

2012-04-30  Nate Chapin  <japhet@chromium.org>

        Move more of committing and starting to write a Document
        to DocumentLoader.
        https://bugs.webkit.org/show_bug.cgi?id=83908

        Reviewed by Adam Barth.

        No new tests, refactor only.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::commitIfReady): Ignore m_gotFirstByte here, since
            it was always true here anyway.
        (WebCore::DocumentLoader::finishedLoading): If we are finishing an empty
            document, create the document now, so that FrameLoaderClient doesn't
            have to do it later (FrameLoaderClient code will be removed in a later
            patch).
        (WebCore::DocumentLoader::commitData): Call receivedFirstData() directly and
            do some work receivedFirstData() used to do, setEncoding() only once per
            load.
        (WebCore::DocumentLoader::receivedData):
        (WebCore::DocumentLoader::maybeCreateArchive):
        * loader/DocumentLoader.h:
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::setEncoding):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::receivedFirstData): Move DocumentLoader calls
            to DocumentLoader.
        * loader/FrameLoader.h: Remove m_hasReceivedFirstData and willSetEncoding(),
            allow hasReceivedData() to be called directly.
        (FrameLoader):

2012-04-30  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Fix test crashes in Win/Linux debug builds.

        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::V8LazyEventListener):
        (WebCore::V8LazyEventListener::prepareListenerObject):
        * bindings/v8/V8LazyEventListener.h:
        (V8LazyEventListener):

2012-04-30  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Change LocalMediaStream::stop to be synchronous
        https://bugs.webkit.org/show_bug.cgi?id=84942

        Reviewed by Dimitri Glazkov.

        Since I changed LocalMediaStream to be a ActiveDOMObject recently the stop()
        behaviour needs to change since it is no longer a good idea to start a timer when called.

        Not possible to write a test for this.

        * Modules/mediastream/LocalMediaStream.cpp:
        (WebCore::LocalMediaStream::LocalMediaStream):
        (WebCore::LocalMediaStream::stop):
        * Modules/mediastream/LocalMediaStream.h:
        (LocalMediaStream):

2012-04-28  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>

        Add ENABLE_SUBPIXEL_LAYOUT controlling FractionalLayoutUnit denominator
        https://bugs.webkit.org/show_bug.cgi?id=85146

        Reviewed by Eric Seidel.

        Add a new flag for controlling the fixed point denominator in
        FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1.
        Until we change the LayoutUnit typedef this change will have no effect.

        No new tests, no change in functionality.

        * platform/FractionalLayoutUnit.h:
        (WebCore):
        (WebCore::FractionalLayoutUnit::operator++):
        (WebCore::operator/):
        (WebCore::operator+):
        Add ++, / double and and + double operators. These are needed when
        ENABLE_SUBPIXEL_LAYOUT is not enabled.
        
        * platform/graphics/FractionalLayoutRect.cpp:
        (WebCore::enclosingFractionalLayoutRect):

2012-04-30  Justin Schuh  <jschuh@chromium.org>

        loadOrRedirectSubframe should return the owner element's frame
        https://bugs.webkit.org/show_bug.cgi?id=84780

        Reviewed by Nate Chapin.

        Test: fast/loader/javascript-url-iframe-remove-on-navigate.html

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadOrRedirectSubframe):

2012-04-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Use Vector<Attribute> directly instead of encapsulating it in AttributeVector
        https://bugs.webkit.org/show_bug.cgi?id=84413

        Reviewed by Andreas Kling.

        As commented in https://bugs.webkit.org/show_bug.cgi?id=79963#c16 we do not
        usually subclass basic types like Vector. This patch changes code to use
        Vector<Attribute> directly and move around the functionality of the former
        methods to more specific helper functions or inline code at the callers.

        * dom/Element.cpp:
        (WebCore::Element::parserSetAttributes):
        (WebCore::Element::normalizeAttributes):
        * dom/Element.h:
        (Element):
        * dom/ElementAttributeData.cpp:
        * dom/ElementAttributeData.h:
        (WebCore::findAttributeInVector):
        (WebCore::ElementAttributeData::getAttributeItem):
        (ElementAttributeData):
        (WebCore::ElementAttributeData::attributeVector):
        (WebCore::ElementAttributeData::clonedAttributeVector):
        (WebCore::ElementAttributeData::getAttributeItemIndex):
        (WebCore):
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
        * html/parser/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakeStartTag):
        (WebCore::HTMLTreeBuilder::attributesForIsindexInput): Loop through the attributes
        backwards so we can remove items without affecting the rest of the loop run.
        * html/parser/HTMLTreeBuilder.h:
        * html/parser/TextDocumentParser.cpp:
        (WebCore::TextDocumentParser::insertFakePreElement):
        * xml/XMLErrors.cpp:
        (WebCore::createXHTMLParserErrorHeader):
        (WebCore::XMLErrors::insertErrorMessageBlock):
        * xml/parser/MarkupTokenBase.h:
        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
        (WebCore::AtomicMarkupTokenBase::getAttributeItem):
        (WebCore::AtomicMarkupTokenBase::attributes):
        (AtomicMarkupTokenBase):
        (WebCore::::initializeAttributes):
        * xml/parser/XMLToken.h:
        (WebCore::AtomicXMLToken::AtomicXMLToken):

2012-04-30  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove PlatformSupport::loadPlatformAudioResource, call loadResource directly
        https://bugs.webkit.org/show_bug.cgi?id=85193

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/audio/chromium/AudioBusChromium.cpp:
        (WebCore::AudioBus::loadPlatformResource):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-30  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call defaultLocale directly
        https://bugs.webkit.org/show_bug.cgi?id=85192

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/LanguageChromium.cpp:
        (WebCore::platformLanguage):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-30  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=82922
        border-image with image-set does not render correctly when viewed at 
        2x
        -and corresponding-
        <rdar://problem/11167820>

        Reviewed by Dan Bernstein.

        StyleImage::computeIntrinsicDimensions() is only called from one 
        place: RenderBoxModelObject::calculateIntrinsicDimensions(), and that 
        is only used for background images and border images. In my original 
        image-set work, I decided that 
        StyleCachedImageSet::computeIntrinsicDimensions() would compute 
        "intrinsic" dimensions, meaning that they would compute the dimensions 
        that the image resource was pretending to be rather than the actual 
        dimensions of the resource. I chose to do this because it made 
        background images work great without changing the call-site. But border 
        images need to know the actual intrinsic dimensions, so this design 
        decision (which was admittedly questionable from the start) won't 
        stick.
        
        This patch makes StyleImage::computeIntrinsicDimensions() return 
        actual intrinsic dimensions. Then the border-image and background-
        image code is very lightly patched to account for the image's scale 
        factor.

        These functions no longer need the scale factor parameter.
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::computeIntrinsicDimensions):
        * loader/cache/CachedImage.h:
        (CachedImage):
        * platform/graphics/GeneratedImage.h:
        (GeneratedImage):
        * platform/graphics/GeneratorGeneratedImage.cpp:
        (WebCore::GeneratedImage::computeIntrinsicDimensions):
        * platform/graphics/Image.cpp:
        (WebCore::Image::computeIntrinsicDimensions):
        * platform/graphics/Image.h:
        (Image):
        * platform/graphics/cg/PDFDocumentImage.cpp:
        (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
        * platform/graphics/cg/PDFDocumentImage.h:
        (PDFDocumentImage):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::computeIntrinsicDimensions):
        * svg/graphics/SVGImage.h:
        (SVGImage):
        * rendering/style/StyleCachedImageSet.cpp:
        (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
        
        New function on StyleImage returns the image's scale factor. 
        * rendering/style/StyleCachedImageSet.h:
        (WebCore::StyleCachedImageSet::imageScaleFactor):
        * rendering/style/StyleImage.h:
        (WebCore::StyleImage::imageScaleFactor):

        Scale the intrinsic size of the background image down by the scale 
        factor.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateFillTileSize):
        
        Slices should be multiplied by the image's scale factor since they are 
        always expected to the specified in the 1x image's coordinate space.
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

2012-04-30  Arko Saha  <arko@motorola.com>

        Remove custom bindings code in JSHTMLCollectionCustom.cpp for HTMLPropertiesCollection.
        https://bugs.webkit.org/show_bug.cgi?id=85172

        Reviewed by Kentaro Hara.

        Use [JSGenerateToJSObject] in HTMLPropertiesCollection.idl, so that it can generate toJS()
        in JSHTMLPropertiesCollection.cpp automatically.

        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::toJS):
        * html/HTMLPropertiesCollection.idl:

2012-04-30  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] TextureMapperLayer uses intermediate surfaces too eagerly
        https://bugs.webkit.org/show_bug.cgi?id=85103

        Reviewed by Kenneth Rohde Christiansen.

        Instead of automatically using an intermediate surface for layers with opacity and
        children, we limit surface usage for layers with more than one child and for layers with
        one child and contents of its own.

        This prevents us from using intermediate surfaces in cases where a single layer with
        opacity has a single descendant with content, in which case normal blending can be used.

        Covered by existing compositing layout tests.

        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore):
        * platform/graphics/texmap/TextureMapperLayer.h:

2012-04-30  Yi Shen  <yi.4.shen@nokia.com>

        Inserting a paragraph between quoted lines in editing/deleting/delete-4038408-fix.html doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=78193

        Reviewed by Ryosuke Niwa.

        When pasting a copied portion of a blockquote with a newline at the end into an unquoted area,
        the newline is inserted after the blockquote since we don't want it also to be quoted. However,
        this behavior has also applied when we insert a paragraph between quoted lines, which is incorrect.
        To figure out the right place to insert a paragraph, we need providing more information to the
        InsertParagraphSeparatorCommand by introducing a boolean parameter "pasteBlockqutoeIntoUnquotedArea".

        Tests: editing/inserting/insert-paragraph-separator-in-blockquote.html
               editing/pasteboard/paste-wrapped-blockquote-into-nonblockquote.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::insertParagraphSeparator):
        * editing/CompositeEditCommand.h:
        (CompositeEditCommand):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.h:
        (WebCore::InsertParagraphSeparatorCommand::create):
        (InsertParagraphSeparatorCommand):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):

2012-04-30  Antti Koivisto  <antti@apple.com>

        Protect current element in HTMLLinkElement::setCSSStyleSheet
        https://bugs.webkit.org/show_bug.cgi?id=85166

        Reviewed by Andreas Kling.
        
        Stylesheet loading can trigger script execution.
        
        Test: fast/css/cached-sheet-restore-crash.html

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet):

2012-04-29  Keishi Hattori  <keishi@webkit.org>

        Build fix for LocalizedDateMac.mm
        https://bugs.webkit.org/show_bug.cgi?id=85164

        Reviewed by Kent Tamura.

        * platform/text/mac/LocalizedDateMac.mm:
        (WebCore::monthLabels):

2012-04-29  Luke Macpherson  <macpherson@chromium.org>

        Initialize member variables in CSSParser's constructor.
        https://bugs.webkit.org/show_bug.cgi?id=84377

        Reviewed by Kentaro Hara.

        It is good practice not to leave member variables uninitialized. They make debugging more difficult by reducing
        repeatability, and in some cases lead to the possibility of information leakage occuring. This patch simply adds
        initialization of m_numParsedPropertiesBeforeMarginBox to CSSParser's constructor to INVALID_NUM_PARSED_PROPERTIES
        so that the initial state is the same as the state after the properties are cleared.

        No tests added because this is a code style fix, not an actual bug so long as the bison generated code calls
        startDeclarationsForMarginBox() and endDeclarationsForMarginBox() symmetrically. The lack of initialization was
        originally detected by coverity.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):

2012-04-29  Kent Tamura  <tkent@chromium.org>

        [Mac] Add LocalizedDateMac
        https://bugs.webkit.org/show_bug.cgi?id=85039

        Reviewed by Kentaro Hara.

        A date shown <input type=date> should be formatted for user's OS
        settings. Chromium-Mac used LocalizedDateICU.cpp to format/parse visible
        date strings and it didn't reflect user-settings.

        Test: covered by fast/forms/date/date-appearance.html

        * WebCore.gyp/WebCore.gyp:
        Use LocalizedDateMac.mm for OS X instead of LocalizedDateICU.cpp.
        * WebCore.gypi: Add LocalizedDateMac.mm
        * platform/text/mac/LocalizedDateMac.mm: Added.
        (WebCore::createShortDateFormatter):
        Creates a NSDateFormatter with desired settings.
        (WebCore::parseLocalizedDate): Impelment for tyep=date.
        (WebCore::formatLocalizedDate): ditto.
        (WebCore::isYearSymbol): A readability helper for format string parsing.
        (WebCore::isMonthSymbol): ditto.
        (WebCore::isDaySymbol): ditto.
        (WebCore::localizeDateFormat):
        Parse a format string, and replace symbols with user-friendly labels.
        (WebCore::localizedDateFormatText):
        Gets a format string, and apply localizeDateFormat().
        (WebCore::monthLabels): Obtain month names from the system.
        (WebCore::weekDayShortLabels): Obtain week day symbols from the system.
        (WebCore::firstDayOfWeek): Obtain first day of week from the system.
        * platform/text/ICULocale.cpp:
        (WebCore::createFallbackMonthLabels): Uses WTF::monthFullName.

2012-04-29  Sam Weinig  <sam@webkit.org>

        Add support for the Blob constructor (Part 2)
        https://bugs.webkit.org/show_bug.cgi?id=84555

        Address additional feedback on Blob construction.
        - Add exception when the dictionary is not an object.
        - Ensure the proper ordering of dictionary access. Tested via
          throwing exceptions in toString, and ensuring correct one is
          fired first.
        - Changed type of exception throw for invalid enumeration to a
          TypeError.

        Reviewed by Kentaro Hara.

        Updated fast/files/blob-constructor.html to be more comprehensive.

        * bindings/js/JSBlobCustom.cpp:
        (WebCore::JSBlobConstructor::constructJSBlob):
        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::V8Blob::constructorCallback):

2012-04-29  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Leaves demo: wrong geometry when opacity animation kicks in
        https://bugs.webkit.org/show_bug.cgi?id=85096

        Reviewed by Kenneth Rohde Christiansen.

        We should use combined() instead of combinedForChildren() since we don't allow
        intermediate surfaces for preserves-3d. Also, we should apply the offset before
        multiplying the transforms, otherwise the transform-origin is incorrect.

        Covered by existing compositing tests.

        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::paintSelf):
        (WebCore::TextureMapperLayer::paintRecursive):

2012-04-29  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call highUsageDeltaMB directly
        https://bugs.webkit.org/show_bug.cgi?id=84844

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::checkMemoryUsage):
        * platform/MemoryUsageSupport.cpp:
        (WebCore):
        (WebCore::MemoryUsageSupport::highUsageDeltaMB):
        * platform/MemoryUsageSupport.h:
        (MemoryUsageSupport):
        * platform/chromium/MemoryUsageSupportChromium.cpp:
        (WebCore::MemoryUsageSupport::highUsageDeltaMB):
        (WebCore):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-29  Kentaro Hara  <haraken@chromium.org>

        REGRESSION(r113086): onresize event handler can be deleted in popup window
        https://bugs.webkit.org/show_bug.cgi?id=84908

        Reviewed by Ojan Vafai.

        In a nutshell, an onresize event handler in the popup window
        can be non-deterministically deleted. For more details, please
        look at Chromium issue 123642:
        http://code.google.com/p/chromium/issues/detail?id=123642

        I confirmed that this bug is the regression caused by r113086.

        r113086 introduced the following code:

        void V8LazyEventListener::prepareListenerObject(...) {
            if (hasExistingListenerObject())
                return;
            ...;
            // Since we only parse once, there's no need to keep data
            // used for parsing around anymore.
            m_functionName = String();
            m_code = String();
            m_eventParameterName = String();
            m_sourceURL = String();

            setListenerObject(wrappedFunction);
        }

        This is not correct. The parsing can be done more than once,
        and thus we cannot clear data. This patch removes the above code.

        Consider the following situation:

        (1) Assume '<body onresize="f()"></body>'.
        (2) prepareListenerObject() runs.
        (3) Since this is the first parsing, hasExistingListenerObject()
        returns false. After the parsing, the listener object is set
        by setListenerObject().
        (4) GC runs. Since there is no strong reference to the listener
        object, weakEventListenerCallback() is called back, and the listener
        object is disposed.
        (5) A resize event is triggered.
        (6) prepareListenerObject() is called again. Since the listener object
        is already disposed, hasExistingListenerObject() returns false,
        and the second parsing starts.

        In my investigation, the above situation is happening in the reported
        Chromium bug. Anyway, I am sure that potentially the parsing can be
        done more than once, and thus we must keep m_xxxx data.

        However, this is just a temporary fix. We should fix the code so that
        an alive event listener object is never reclaimed.
        See https://bugs.webkit.org/show_bug.cgi?id=85152 for more details.

        No tests: I tried hard to create a DRT test, but could not.
        The bug depends on the behavior of GC, and thus the reported bug is
        non-deterministic. For example, (as explained in the Chromium issue,)
        the bug does not happen if we load an HTML from network because
        the network latency hides the bug. Also the bug happens in the
        popup window only. If we open the reported HTML in the main window,
        we cannot reproduce the bug.

        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::prepareListenerObject):

2012-04-28  Sam Weinig  <sam@webkit.org>

        Smooth scrolling needs a new key
        <rdar://problem/11331632>

        Reviewed by Geoffrey Garen.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::scrollAnimationEnabledForSystem):
        (WebCore::ScrollAnimatorMac::scroll):
        Update for new key.

2012-04-28  Li Yin  <li.yin@intel.com>

        MessagePort must set m_closed to be true at the end of MessagePort::close function
        https://bugs.webkit.org/show_bug.cgi?id=85139

        In the function MessagePort::close, the "m_closed = true" must be executed at the end, not at the beginning.
        Or, the m_entangledChannel->close() will not be executed.
        And it resulted in the failure of MS bench mark messagechannel_close.htm.
        http://samples.msdn.microsoft.com/ietestcenter/WebWorkers/messagechannel_close.htm

        Reviewed by Kentaro Hara.

        Test: fast/events/message-port-close.html

        * dom/MessagePort.cpp:
        (WebCore::MessagePort::close):

2012-04-28  Sam Weinig  <sam@webkit.org>

        And again.

        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::V8Blob::constructorCallback):

2012-04-28  Sam Weinig  <sam@webkit.org>

        Once again, try to make these puppies work.

        * bindings/v8/custom/V8BlobCustom.cpp:

2012-04-28  Sam Weinig  <sam@webkit.org>

        Fix the Chromium build.

        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::V8Blob::constructorCallback):

2012-04-27  Sam Weinig  <sam@webkit.org>

        Add support for the Blob constructor
        https://bugs.webkit.org/show_bug.cgi?id=84555

        Reviewed by Maciej Stachowiak.

        Test: fast/files/blob-constructor.html

        This adds an implementation of the Blob constructor that willfully
        violates the W3C Editor’s Draft 29 February 2012 in the following ways:
        - Elements in the parts array are coerced to DOMStrings https://www.w3.org/Bugs/Public/show_bug.cgi?id=16721 
        - Don't throw for invalid key in the dictionary https://www.w3.org/Bugs/Public/show_bug.cgi?id=16727
        - Values for the endings property are treated as enums https://www.w3.org/Bugs/Public/show_bug.cgi?id=16729 

        * bindings/js/JSBlobCustom.cpp:
        (WebCore::JSBlobConstructor::constructJSBlob):
        Implement blob constructor.

        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::V8Blob::constructorCallback):
        Implement blob constructor.

        * fileapi/Blob.idl:
        Add constructor to IDL.

        * workers/WorkerContext.idl:
        Add Blob constructor to the worker global object.

2012-04-28  Igor Oliveira  <igor.o@sisa.samsung.com>

        Move PropertyWrapper out of the  AnimationBase
        https://bugs.webkit.org/show_bug.cgi?id=84978

        Reviewed by Dean Jackson.

        AnimationBase is a complex class. It has a state machine and a bunch of
        property handlers. This patch moves the property handlers to a separate
        class making AnimationBase simpler.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/animation/AnimationBase.cpp:
        * page/animation/AnimationBase.h:
        (AnimationBase):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
        * page/animation/CSSPropertyAnimation.cpp: Added.
        (WebCore):
        (WebCore::blendFunc):
        (WebCore::crossfadeBlend):
        (AnimationPropertyWrapperBase):
        (WebCore::AnimationPropertyWrapperBase::AnimationPropertyWrapperBase):
        (WebCore::AnimationPropertyWrapperBase::~AnimationPropertyWrapperBase):
        (WebCore::AnimationPropertyWrapperBase::isShorthandWrapper):
        (WebCore::AnimationPropertyWrapperBase::property):
        (WebCore::AnimationPropertyWrapperBase::animationIsAccelerated):
        (WebCore::addPropertyWrapper):
        (WebCore::wrapperForProperty):
        (PropertyWrapperGetter):
        (WebCore::PropertyWrapperGetter::PropertyWrapperGetter):
        (WebCore::PropertyWrapperGetter::equals):
        (PropertyWrapper):
        (WebCore::PropertyWrapper::PropertyWrapper):
        (WebCore::PropertyWrapper::blend):
        (RefCountedPropertyWrapper):
        (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper):
        (WebCore::RefCountedPropertyWrapper::blend):
        (StyleImagePropertyWrapper):
        (WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper):
        (WebCore::StyleImagePropertyWrapper::equals):
        (PropertyWrapperColor):
        (WebCore::PropertyWrapperColor::PropertyWrapperColor):
        (WebCore::PropertyWrapperColor::blend):
        (PropertyWrapperAcceleratedOpacity):
        (WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity):
        (WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated):
        (WebCore::PropertyWrapperAcceleratedOpacity::blend):
        (PropertyWrapperAcceleratedTransform):
        (WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform):
        (WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated):
        (WebCore::PropertyWrapperAcceleratedTransform::blend):
        (PropertyWrapperAcceleratedFilter):
        (WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter):
        (WebCore::PropertyWrapperAcceleratedFilter::animationIsAccelerated):
        (WebCore::PropertyWrapperAcceleratedFilter::blend):
        (WebCore::shadowListLength):
        (WebCore::shadowForBlending):
        (PropertyWrapperShadow):
        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
        (WebCore::PropertyWrapperShadow::equals):
        (WebCore::PropertyWrapperShadow::blend):
        (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
        (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
        (PropertyWrapperMaybeInvalidColor):
        (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
        (WebCore::PropertyWrapperMaybeInvalidColor::equals):
        (WebCore::PropertyWrapperMaybeInvalidColor::blend):
        (PropertyWrapperVisitedAffectedColor):
        (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
        (WebCore::PropertyWrapperVisitedAffectedColor::equals):
        (WebCore::PropertyWrapperVisitedAffectedColor::blend):
        (FillLayerAnimationPropertyWrapperBase):
        (WebCore::FillLayerAnimationPropertyWrapperBase::FillLayerAnimationPropertyWrapperBase):
        (WebCore::FillLayerAnimationPropertyWrapperBase::~FillLayerAnimationPropertyWrapperBase):
        (FillLayerPropertyWrapperGetter):
        (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
        (WebCore::FillLayerPropertyWrapperGetter::equals):
        (FillLayerPropertyWrapper):
        (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
        (WebCore::FillLayerPropertyWrapper::blend):
        (FillLayerRefCountedPropertyWrapper):
        (WebCore::FillLayerRefCountedPropertyWrapper::FillLayerRefCountedPropertyWrapper):
        (WebCore::FillLayerRefCountedPropertyWrapper::blend):
        (FillLayerStyleImagePropertyWrapper):
        (WebCore::FillLayerStyleImagePropertyWrapper::FillLayerStyleImagePropertyWrapper):
        (WebCore::FillLayerStyleImagePropertyWrapper::equals):
        (FillLayersPropertyWrapper):
        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
        (WebCore::FillLayersPropertyWrapper::equals):
        (WebCore::FillLayersPropertyWrapper::blend):
        (ShorthandPropertyWrapper):
        (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper):
        (WebCore::ShorthandPropertyWrapper::isShorthandWrapper):
        (WebCore::ShorthandPropertyWrapper::equals):
        (WebCore::ShorthandPropertyWrapper::blend):
        (WebCore::ShorthandPropertyWrapper::propertyWrappers):
        (PropertyWrapperFlex):
        (WebCore::PropertyWrapperFlex::PropertyWrapperFlex):
        (WebCore::PropertyWrapperFlex::equals):
        (WebCore::PropertyWrapperFlex::blend):
        (PropertyWrapperSVGPaint):
        (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
        (WebCore::PropertyWrapperSVGPaint::equals):
        (WebCore::PropertyWrapperSVGPaint::blend):
        (WebCore::addShorthandProperties):
        (WebCore::CSSPropertyAnimation::ensurePropertyMap):
        (WebCore::gatherEnclosingShorthandProperties):
        (WebCore::CSSPropertyAnimation::blendProperties):
        (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
        (WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty):
        (WebCore::CSSPropertyAnimation::propertiesEqual):
        (WebCore::CSSPropertyAnimation::getPropertyAtIndex):
        (WebCore::CSSPropertyAnimation::getNumProperties):
        * page/animation/CSSPropertyAnimation.h: Added.
        (WebCore):
        (CSSPropertyAnimation):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):
        (WebCore::CompositeAnimation::pauseTransitionAtTime):
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::animate):
        (WebCore::ImplicitAnimation::getAnimatedStyle):
        (WebCore::ImplicitAnimation::isTargetPropertyEqual):
        (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
        (WebCore::ImplicitAnimation::timeToNextService):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::animate):
        (WebCore::KeyframeAnimation::getAnimatedStyle):
        (WebCore::KeyframeAnimation::timeToNextService):
        * rendering/style/RenderStyle.h:

2012-04-28  Geoffrey Garen  <ggaren@apple.com>

        Clarified JSGlobalData (JavaScript VM) lifetime
        https://bugs.webkit.org/show_bug.cgi?id=85142

        Reviewed by Anders Carlsson.

        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::~WorkerScriptController): Slightly 
        simpler than before. We can't just rely on our default destructor 
        because we need to hold the JSLock when we tear down the VM.

        * bridge/NP_jsobject.cpp:
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        (_NPN_Evaluate):
        (_NPN_Construct): Don't RefPtr<> the JSGlobalData because it makes it 
        seem like you know something the rest of our code doesn't know. The 
        plugin JSGlobalData is immortal, anyway.

        I also removed some timeout checker related code because that feature 
        doesn't work anymore, so it was effectively dead code.

2012-04-28  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: InspectorFrontendHost.append has to be implemented for saving heap snapshots.
        https://bugs.webkit.org/show_bug.cgi?id=85137

        We can save a file with help of InspectorFrontendHost.save method,
        but it is suitable only for relatively small portions of data and
        can't process the 6Gb heap snapshot.
        These methods just pass the url and content into embedder.

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorFrontendClient.h:
        (InspectorFrontendClient):
        * inspector/InspectorFrontendClientLocal.h:
        (WebCore::InspectorFrontendClientLocal::append):
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::append):
        (WebCore):
        * inspector/InspectorFrontendHost.h:
        (InspectorFrontendHost):
        * inspector/InspectorFrontendHost.idl:

2012-04-28  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][Texmap] Error of cross-compiling webkit with Qt 4.8.1
        https://bugs.webkit.org/show_bug.cgi?id=84321

        Speculative build-fix for Qt 4.8.
        Use QGLContext for Qt 4.x instead of the platform-specific context.

        Reviewed by Simon Hausmann.

        No new tests, build fix.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (SharedGLData):
        (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):

2012-04-28  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Falling leaves demo missing opacity fade out animation
        https://bugs.webkit.org/show_bug.cgi?id=83691

        Reviewed by Martin Robinson.

        The bug originated from clearing an intermediate surface with glClear while the scissor
        state was wrong.
        When using intermediate surfaces, maintain a clip-stack for each surface, rather than
        a single clip-stack for the whole scene. When a surface is bound, its clip stack should
        be applied.

        Covered by existing compositing tests.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (SharedGLData):
        (WebCore::TextureMapperGL::ClipStack::push):
        (WebCore):
        (WebCore::TextureMapperGL::ClipStack::pop):
        (WebCore::scissorClip):
        (WebCore::TextureMapperGL::ClipStack::apply):
        (WebCore::TextureMapperGL::clipStack):
        (WebCore::TextureMapperGL::beginPainting):
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::BitmapTextureGL::didReset):
        (WebCore::BitmapTextureGL::clearIfNeeded):
        (WebCore::BitmapTextureGL::createFboIfNeeded):
        (WebCore::BitmapTextureGL::bind):
        (WebCore::TextureMapperGL::bindDefaultSurface):
        (WebCore::TextureMapperGL::bindSurface):
        (WebCore::TextureMapperGL::beginScissorClip):
        (WebCore::TextureMapperGL::beginClip):
        (WebCore::TextureMapperGL::endClip):
        * platform/graphics/texmap/TextureMapperGL.h:
        (TextureMapperGL):
        (ClipState):
        (WebCore::TextureMapperGL::ClipState::ClipState):
        (ClipStack):
        (WebCore::TextureMapperGL::ClipStack::current):
        (WebCore::TextureMapperGL::ClipStack::clear):
        (BitmapTextureGL):
        (WebCore::BitmapTextureGL::BitmapTextureGL):

2012-04-26  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>

        Move Length and CSS length computation to float
        https://bugs.webkit.org/show_bug.cgi?id=84801

        Reviewed by Eric Seidel.

        Change Length and CSS length computation to floating point. This gets us
        closer to the goal of supporting subpixel layout and improves precision
        for SVG which already uses floating point for its layout.

        This change makes computedStyle return fractional values for pixel values
        if a fraction is specified. It also changes the result of computations
        where two or more values with fractional precision. Prior to this change
        the result of Length(2.9) + Length(2.9) would be 4 as each value would be
        floored. With this change the result is 5 as the addition is done with
        floating point precision and then the result will be floored. Once we
        enable subpixel layout the resulting value in this example would be 5.8.

        Updated existing layout tests.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::zoomAdjustedPixelValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLength):
        * css/CSSPrimitiveValue.h:
        (WebCore):
        (WebCore::roundForImpreciseConversion):
        Add specialized float version of roundForImpreciseConversion that matches
        the int versions rounding logic.
        
        If a value is sufficiently close to the next integer round it up to
        ensure that a style rule such as "width: 4.999px" evaluates to 5px
        instead of 4px. This is needed as, although Lengths are using floating
        point, the layout system still uses integer precision and floors the
        Length values.
        This will change once we move to FractionalLayoutUnits but for now this
        is needed to ensure compatibility with the existing system and tests.
        
        Without this specialized rounding logic we fail a handful of tests
        including acid3.
        
        * platform/Length.h:
        (WebCore::Length::value):
        (Length):
        (WebCore::Length::intValue):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::styleOrColLogicalWidth):

2012-04-28  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Enable touch events feature fails touch feature detection
        https://bugs.webkit.org/show_bug.cgi?id=84397

        Whenever the touch emulation is enabled, Inspector adds a script to evaluate on load,
        that adds ontouch(start|end|move|cancel) properties to window.__proto__ and document.__proto__.

        Reviewed by Pavel Feldman.

        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.get if):
        (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.scriptAddedCallback):
        (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
        * inspector/front-end/inspector.js:

2012-04-28  Eugene Klyuchnikov  <eustas.bug@gmail.com>

        Web Inspector: Shortcuts screen UI polish
        https://bugs.webkit.org/show_bug.cgi?id=84708

          1) remove inconsistent shadow;
          2) reduce border radius;
          3) vertically center the “X” button;
          4) replace unreadable symbolic shortcuts with text;
          5) gaps / colors / opacity adjustments;
          6) section-to-column distribution algorithm is replaced with a fair one.

        Reviewed by Pavel Feldman.

        This is a UI polising patch, so no new tests added.

        * English.lproj/localizedStrings.js: added keyboars arrow keys items
        * inspector/front-end/KeyboardShortcut.js: replace unreadable symbolic shortcuts with text
        * inspector/front-end/ShortcutsScreen.js:
        (WebInspector.ShortcutsScreen):
        (WebInspector.ShortcutsScreen.prototype.show): remove redundant parameter
        (WebInspector.ShortcutsScreen.prototype._buildTable): change section distributing algorithm
        (WebInspector.ShortcutsSection.prototype.renderSection): render colon with margins
        (WebInspector.ShortcutsSection.prototype._renderHeader): apply classname to th elements
        * inspector/front-end/helpScreen.css:
        (.help-window-main): reduce radius, remove shadow; tune color and opacity
        (.help-window-caption): fix spacing; add ruler
        (.help-window-title): fix spacing; remove ruler
        (.help-content): fix spacing
        (.help-close-button): fix spacing; adjust background color
        (.help-column-table): fix spacing
        (.help-table > tr > th): fix color
        (.help-key): fix color
        (.help-combine-keys, .help-key-delimiter): extract common style
        (.help-combine-keys): remove dupe
        (.help-section-title): add space between sections

2012-04-28  Noel Gordon  <noel.gordon@gmail.com>

        Remove PlatformTouchPointQt.cpp PlatformTouchEventQt.cpp from the gyp projects
        https://bugs.webkit.org/show_bug.cgi?id=85132

        Unreviewed VS2010 gyp project generation fix.

        PlatformTouchPointQt.cpp and PlatformTouchEventQt.cpp were removed in r115312,
        so remove them from the gyp projects.

        * WebCore.gypi:

2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        <animateTransform type="scale"> should use '0' as effective from value not '1', if no base value is specified and from is not given
        https://bugs.webkit.org/show_bug.cgi?id=85133

        It should start from scale=0. I had that fixed before, but it got lost during merging. Restore the fix.
        See bug 85051, for more context why this is correct.

        Tests: svg/animations/animateTransform-by-scale-1-expected.svg
               svg/animations/animateTransform-by-scale-1.svg

        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):

2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVGAnimateColorElement doesn't support by/to animations properly
        https://bugs.webkit.org/show_bug.cgi?id=36704

        Reviewed by Antti Koivisto.

        Switch AnimatedColorAnimator to use the standard animateAdditiveNumber() method, taking progress & repeatCount into account.
        This gives us accumulation/repeatCount support for free.

        We just animate the four color components on their own now and clamp once at the end after addition/accumulation finished.
        Import <animateColor> tests from Dr. Olaf Hoffmanns SVG Animation test suite, which all pass now.

        While I was at it, remove the includeSMILProperties boolean from computeCSSPropertyValue - we always use the computed style
        without SMIL effects included, whenever we want to retrieve the "base value", or handle "inherit/currentColor".

        Tests: svg/animations/animateColor-additive-2a-expected.svg
               svg/animations/animateColor-additive-2a.svg
               svg/animations/animateColor-additive-2b-expected.svg
               svg/animations/animateColor-additive-2b.svg
               svg/animations/animateColor-additive-2c-expected.svg
               svg/animations/animateColor-additive-2c.svg
               svg/animations/animateColor-additive-2d-expected.svg
               svg/animations/animateColor-additive-2d.svg

        * svg/ColorDistance.cpp:
        (WebCore::ColorDistance::clampColor):
        (WebCore::ColorDistance::addColors):
        (WebCore::ColorDistance::addToColor):
        * svg/ColorDistance.h:
        (ColorDistance):
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::resetToBaseValue):
        * svg/SVGAnimatedColor.cpp:
        (WebCore::SVGAnimatedColorAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::computeCSSPropertyValue):
        (WebCore::SVGAnimationElement::adjustForInheritance):
        * svg/SVGAnimationElement.h:
        (SVGAnimationElement):

2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix Qt build -- I was too quick.

        * rendering/svg/SVGPathData.cpp: Add back Path.h include.

2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rename SVGPathParserFactory to SVGPathUtilities and remove the obsolete singleton
        https://bugs.webkit.org/show_bug.cgi?id=85129

        SVGPathParserFactory implements the singleton pattern, but stores no members.
        Remove the singleton and move all functions to free-functions into SVGPathUtilities.h.

        Makes the code easier to read - doesn't affect any tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/svg/SVGPathData.cpp:
        (WebCore::updatePathFromPathElement):
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::operator<<):
        * svg/SVGAllInOne.cpp:
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::parseAttribute):
        * svg/SVGAnimatedPath.cpp:
        (WebCore::SVGAnimatedPathAnimator::constructFromString):
        (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedPathAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedType.cpp:
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
        * svg/SVGPathBlender.cpp: Fix typo s/;;/;/
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::getTotalLength):
        (WebCore::SVGPathElement::getPointAtLength):
        (WebCore::SVGPathElement::getPathSegAtLength):
        (WebCore::SVGPathElement::parseAttribute):
        (WebCore::SVGPathElement::svgAttributeChanged):
        (WebCore::SVGPathElement::lookupOrCreateDWrapper):
        (WebCore::SVGPathElement::pathSegListChanged):
        * svg/SVGPathParserFactory.h: Removed.
        * svg/SVGPathSegList.cpp:
        (WebCore::SVGPathSegList::valueAsString):
        * svg/SVGPathUtilities.cpp: Renamed from Source/WebCore/svg/SVGPathParserFactory.cpp.
        (WebCore):
        (WebCore::globalSVGPathBuilder):
        (WebCore::globalSVGPathSegListBuilder):
        (WebCore::globalSVGPathByteStreamBuilder):
        (WebCore::globalSVGPathStringBuilder):
        (WebCore::globalSVGPathTraversalStateBuilder):
        (WebCore::globalSVGPathParser):
        (WebCore::globalSVGPathBlender):
        (WebCore::buildPathFromString):
        (WebCore::buildSVGPathByteStreamFromSVGPathSegList):
        (WebCore::buildPathFromByteStream):
        (WebCore::buildSVGPathSegListFromByteStream):
        (WebCore::buildStringFromByteStream):
        (WebCore::buildStringFromSVGPathSegList):
        (WebCore::buildSVGPathByteStreamFromString):
        (WebCore::buildAnimatedSVGPathByteStream):
        (WebCore::addToSVGPathByteStream):
        (WebCore::getSVGPathSegAtLengthFromSVGPathByteStream):
        (WebCore::getTotalLengthOfSVGPathByteStream):
        (WebCore::getPointAtLengthOfSVGPathByteStream):
        * svg/SVGPathUtilities.h: Added.
        (WebCore):
        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):

2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Fix repetitions & by animation support for path animations
        https://bugs.webkit.org/show_bug.cgi?id=85071

        Rubber-stamped by Antti Koivisto.

        Cleanup SVGPathBlender, to make it more readable.

        * svg/SVGPathBlender.cpp:
        (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
        (WebCore::SVGPathBlender::blendLineToVerticalSegment):
        (WebCore::SVGPathBlender::blendArcToSegment):
        (WebCore::SVGPathBlender::blendAnimatedPath):

2012-04-28  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Qt build fix: added new exported symbols.

        * WebCore.exp.in:

2012-04-28  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix Qt minimal build after r115553.

        * inspector/InspectorConsoleAgent.h:

2012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Fix repetitions & by animation support for path animations
        https://bugs.webkit.org/show_bug.cgi?id=85071

        Reviewed by Antti Koivisto.

        Implement additive="sum" / by-animation support for path animations, eg.
        <path d="M 10 10 L 10 100 Z">
            <animate attributeName="d" begin="0s" dur="4s" by="M 0 0 L 90 0 Z"/>
        <path>

        animates the d attribute to "M 10 10 L 100 100 0 Z".

        Now only <animateColor> and <animateMotion> are left to be fixed, all other types are working as expected now in all additive/accumulate/from-by/by/from-to animations.

        Tests: svg/animations/path-animation-expected.svg
               svg/animations/repeating-path-animation-expected.svg
               svg/animations/repeating-path-animation.svg

        * svg/SVGAnimatedPath.cpp:
        (WebCore::SVGAnimatedPathAnimator::addAnimatedTypes): Implemented, to support by-animations, instead of falling back to to-animations.
        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue): Handle repetitions, accumulation & addition.
        * svg/SVGPathBlender.cpp: Allow empty from source everywhere, use default values if no from value is specified, needed for by-animations.
        (WebCore::SVGPathBlender::SVGPathBlender):
        (WebCore::SVGPathBlender::blendAnimatedDimensonalFloat):
        (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
        (WebCore::SVGPathBlender::blendMoveToSegment):
        (WebCore::SVGPathBlender::blendLineToSegment):
        (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
        (WebCore::SVGPathBlender::blendLineToVerticalSegment):
        (WebCore::SVGPathBlender::blendCurveToCubicSegment):
        (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
        (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
        (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
        (WebCore::SVGPathBlender::blendArcToSegment):
        (WebCore::SVGPathBlender::addAnimatedPath):
        (WebCore::SVGPathBlender::blendAnimatedPath):
        * svg/SVGPathBlender.h: Add new addAnimatedPath function.
        (SVGPathBlender):
        * svg/SVGPathByteStream.h:
        (SVGPathByteStream): Make SVGPathByteStreams copyable, needed for SVGAnimatedPathAnimator.
        (WebCore::SVGPathByteStream::size): Returns size of the SVGPathByteStream.
        * svg/SVGPathParserFactory.cpp:
        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream): Allow empty from streams, needed for by animations. 
        (WebCore::SVGPathParserFactory::addToSVGPathByteStream): Add 'byStream' 'repeatCount' times to 'toStream'. Both streams must match in size.
        * svg/SVGPathParserFactory.h: Add new addToSVGPathByteStream function.
        * svg/SVGPointList.cpp: Remove dead code.
        * svg/SVGPointList.h: Ditto.
        (SVGPointList):

2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVGAnimateMotion does not handle accumulation
        https://bugs.webkit.org/show_bug.cgi?id=18564

        Reviewed by Antti Koivisto.

        Implement accumulation for <animateMotion>. Add lots of new
        reftests, verifying additive/accumulate behavior is correct.

        Tests: svg/animations/animateMotion-additive-1-expected.svg
               svg/animations/animateMotion-additive-1.svg
               svg/animations/animateMotion-additive-2a-expected.svg
               svg/animations/animateMotion-additive-2a.svg
               svg/animations/animateMotion-additive-2b-expected.svg
               svg/animations/animateMotion-additive-2b.svg
               svg/animations/animateMotion-additive-2c-expected.svg
               svg/animations/animateMotion-additive-2c.svg
               svg/animations/animateMotion-additive-2d-expected.svg
               svg/animations/animateMotion-additive-2d.svg
               svg/animations/mozilla/animateMotion-by-1-expected.svg
               svg/animations/mozilla/animateMotion-by-1.svg
               svg/animations/mozilla/animateMotion-from-to-1-expected.svg
               svg/animations/mozilla/animateMotion-from-to-1.svg
               svg/animations/mozilla/animateMotion-indefinite-to-1-expected.svg
               svg/animations/mozilla/animateMotion-indefinite-to-1.svg
               svg/animations/mozilla/animateMotion-indefinite-to-2-expected.svg
               svg/animations/mozilla/animateMotion-indefinite-to-2.svg
               svg/animations/mozilla/animateMotion-mpath-pathLength-1-expected.svg
               svg/animations/mozilla/animateMotion-mpath-pathLength-1.svg
               svg/animations/mozilla/animateMotion-mpath-targetChange-1-expected.svg
               svg/animations/mozilla/animateMotion-mpath-targetChange-1.svg
               svg/animations/mozilla/animateMotion-to-overridden-1-expected.svg
               svg/animations/mozilla/animateMotion-to-overridden-1.svg

        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
        (WebCore::SVGAnimateMotionElement::buildTransformForProgress):
        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
        * svg/SVGAnimateMotionElement.h:

2012-04-27  Yury Semikhatsky  <yurys@chromium.org>

        ScriptStateProtectedPtr should not keep a strong reference to the context
        https://bugs.webkit.org/show_bug.cgi?id=85009

        Delete console message arguments when DOMWindow where the messages were created
        is reset on its frame.

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector-enabled/console-clear-arguments-on-frame-navigation.html

        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::addToFrontend):
        (WebCore::ConsoleMessage::windowCleared):
        (WebCore::ConsoleMessage::argumentCount):
        (WebCore):
        * inspector/ConsoleMessage.h:
        (ConsoleMessage):
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::consoleMessageArgumentCounts):
        (WebCore):
        * inspector/InspectorConsoleAgent.h:
        (InspectorConsoleAgent):
        * page/Frame.cpp:
        (WebCore::Frame::clearDOMWindow):
        (WebCore::Frame::setDOMWindow):
        * testing/Internals.cpp:
        (WebCore):
        (WebCore::Internals::consoleMessageArgumentCounts):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-04-27  Jochen Eisinger  <jochen@chromium.org>

        Ensure that there's always a provisional document loader if the frame loader is in provisional state
        https://bugs.webkit.org/show_bug.cgi?id=83894

        Reviewed by Nate Chapin.

        We're still seeing crashes in the FrameLoader where the FrameLoader's
        state is "provisional" but there is no provisional document loader. I
        added code to update the FrameLoader's state everytime the provisional
        document loader is cleared, and added checks that the FrameLoader's
        state can't be set to provisional without a provisional loader.

        If the crashes go away, or the newly added checks reveal the culprit,
        we should relex the checks to use ASSERT() instead of CRASH().

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::init):
        (WebCore::FrameLoader::setupForReplace):
        (WebCore::FrameLoader::stopAllLoaders):
        (WebCore::FrameLoader::clearProvisionalLoad):
        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

2012-04-27  Geoffrey Garen  <ggaren@apple.com>

        Try to fix the Qt build.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMethod::finishCreation):

2012-04-27  Geoffrey Garen  <ggaren@apple.com>

        Made WeakSet::allocate() static and removed its JSGlobalData argument
        https://bugs.webkit.org/show_bug.cgi?id=85128

        Reviewed by Anders Carlsson.

        Mechanically removed JSGlobalData arguments from PassWeak<T> and Weak<T> allocation.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::jsStringSlowCase):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::setWrapper):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
        * bindings/js/ScriptWrappable.h:
        (WebCore::ScriptWrappable::setWrapper):
        * bridge/jsc/BridgeJSC.cpp:
        (JSC::Bindings::Instance::createRuntimeObject):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMethod::finishCreation):
        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::addRuntimeObject):

2012-04-27  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/11313710> Leaks under WebCore::CSSImageSetValue::cachedImageSet when running tests

        There was a reference cycle between CSSImageSetValue and StyleCachedImageSet via
        CSSImageSetValue::m_imageSet / StyleCachedImageSet::m_imageSetValue. Break the cycle
        by having StyleCachedImageSet hold a weak reference to the CSSImageSetValue rather
        than a strong reference.

        Reviewed by Geoff Garen.

        * rendering/style/StyleCachedImageSet.cpp:
        (WebCore::StyleCachedImageSet::StyleCachedImageSet):
        * rendering/style/StyleCachedImageSet.h:
        (StyleCachedImageSet):

2012-04-27  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/10346980> REGRESSION: Cannot enter text in Dashboard widget fields that have placeholder attribute

        Remove a dashboard backwards compatibility quirk that was in place to support an old version
        of the Stocks widget. It prevented the pointer-events property from being applied in Dashboard
        widgets, which caused -webkit-input-placeholder elements to eat mouse clicks rather than giving
        focus to the containing input elements. The offending widget has long since been fixed.

        Reviewed by Dan Bernstein.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):

2012-04-27  Dean Jackson  <dino@apple.com>

        Support reverse and alternate-reverse in CA animations
        https://bugs.webkit.org/show_bug.cgi?id=78041

        Reviewed by Beth Dakin.

        CoreAnimation does not natively support reverse and alternate-reverse
        animation directions so we need to flip the animation values (keyframe
        keys and timing functions) that we send to GraphicsLayerCA. Unfortunately
        this code adds a lot of conditionals because it isn't as simple as
        reversing the order of keys. You also now have a different alignment of
        timing functions to the reversed list.

        New tests to cover the two new directions, making sure the timing
        functions are correctly inverted, and exercising fill modes.

        Tests: animations/animation-direction-reverse-fill-mode-hardware.html
               animations/animation-direction-reverse-fill-mode.html
               animations/animation-direction-reverse-hardware-opacity.html
               animations/animation-direction-reverse-hardware.html
               animations/animation-direction-reverse-non-hardware.html
               animations/animation-direction-reverse-timing-functions-hardware.html
               animations/animation-direction-reverse-timing-functions.html

        * platform/graphics/ca/GraphicsLayerCA.cpp:
          Handle the previously unsupported animation directions, reversing
          the list of values and keytimes that would be used to create
          the CA Animation.
        (WebCore::GraphicsLayerCA::addAnimation):
          Do not create an animation if on Windows and using a reverse
          direction.
        (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
        (WebCore::GraphicsLayerCA::setupAnimation):
        (WebCore::GraphicsLayerCA::setAnimationEndpoints):
        (WebCore::GraphicsLayerCA::setAnimationKeyframes):
        (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
        (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
        (WebCore::GraphicsLayerCA::setFilterAnimationEndpoints):
        (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
        * platform/graphics/ca/PlatformCAAnimation.h:
        (PlatformCAAnimation): Pass through a flag that tells the CA Animation
        that it should invert the timing functions.
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        (toCAMediaTimingFunction): Add a parameter that will invert the timing
        function coefficients if necessary.
        (PlatformCAAnimation::setTimingFunction):
        (PlatformCAAnimation::setTimingFunctions):
        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
        (toCACFTimingFunction):
          New unused parameter.

2012-04-27  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r115407.
        http://trac.webkit.org/changeset/115407
        https://bugs.webkit.org/show_bug.cgi?id=85126

        Caused heap use after free (Requested by keishi_ on #webkit).

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
        (WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
        (WebCore::HTMLFormControlElement::insertedInto):
        (WebCore::HTMLFormControlElement::removedFrom):
        (WebCore::HTMLFormControlElement::disabled):
        (WebCore::HTMLFormControlElement::recalcWillValidate):
        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
        * html/HTMLFormControlElement.h:
        (HTMLFormControlElement):

2012-04-27  Kentaro Hara  <haraken@chromium.org>

        [JSC] Implement a helper method createNotEnoughArgumentsError()
        https://bugs.webkit.org/show_bug.cgi?id=85102

        Reviewed by Geoffrey Garen.

        In bug 84787, kbr@ requested to avoid hard-coding
        createTypeError(exec, "Not enough arguments") here and there.
        This patch implements createNotEnoughArgumentsError(exec)
        and uses it in JSC bindings.

        c.f. a corresponding bug for V8 bindings is bug 85097.

        Test: bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGeneratorJS.pm: Modified as described above.
        (GenerateArgumentsCountCheck):

        * bindings/js/JSDataViewCustom.cpp: Ditto.
        (WebCore::getDataViewMember):
        (WebCore::setDataViewMember):
        * bindings/js/JSDeprecatedPeerConnectionCustom.cpp:
        (WebCore::JSDeprecatedPeerConnectionConstructor::constructJSDeprecatedPeerConnection):
        * bindings/js/JSDirectoryEntryCustom.cpp:
        (WebCore::JSDirectoryEntry::getFile):
        (WebCore::JSDirectoryEntry::getDirectory):
        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
        * bindings/js/JSWebKitMutationObserverCustom.cpp:
        (WebCore::JSWebKitMutationObserverConstructor::constructJSWebKitMutationObserver):
        (WebCore::JSWebKitMutationObserver::observe):
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorkerConstructor::constructJSWorker):

        * bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests.
        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
        (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::jsTestEventTargetPrototypeFunctionItem):
        (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
        (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
        (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjConstructor::constructJSTestObj):
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
        (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
        (WebCore::jsTestObjConstructorFunctionClassMethod2):
        (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
        (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
        (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
        (WebCore::jsTestObjPrototypeFunctionConvert1):
        (WebCore::jsTestObjPrototypeFunctionConvert2):
        (WebCore::jsTestObjPrototypeFunctionConvert3):
        (WebCore::jsTestObjPrototypeFunctionConvert4):
        (WebCore::jsTestObjPrototypeFunctionConvert5):
        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):

2012-04-27  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call highMemoryUsageMB directly
        https://bugs.webkit.org/show_bug.cgi?id=84841

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::checkMemoryUsage):
        * platform/MemoryUsageSupport.cpp:
        (WebCore::MemoryUsageSupport::highMemoryUsageMB):
        (WebCore):
        * platform/MemoryUsageSupport.h:
        (MemoryUsageSupport):
        * platform/chromium/MemoryUsageSupportChromium.cpp:
        (WebCore::MemoryUsageSupport::highMemoryUsageMB):
        (WebCore):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-27  Geoffrey Garen  <ggaren@apple.com>

        Only allow non-null pointers in the WeakSet
        https://bugs.webkit.org/show_bug.cgi?id=85119

        Reviewed by Darin Adler.

        * bridge/jsc/BridgeJSC.cpp:
        (JSC::Bindings::Instance::Instance): Don't allocate a WeakImpl just to
        store null. This was needless, and is now a compile error. Instead,
        rely on the default constructor, which will produce a cheap null.

2012-04-27  Kentaro Hara  <haraken@chromium.org>

        "Not enough arguments" error should be TypeError
        https://bugs.webkit.org/show_bug.cgi?id=84628

        Reviewed by Darin Adler.

        Currently, some custom bindings implement "Not enough arguments"
        error as SyntaxError. The Web IDL spec requires that it should be
        TypeError: http://www.w3.org/TR/WebIDL/#dfn-overload-resolution-algorithm
        Thus, this patch changes SyntaxError to TypeError.

        Tests: http/tests/websocket/tests/hixie76/url-parsing.html:
               http/tests/websocket/tests/hybi/url-parsing.html:
               http/tests/xmlhttprequest/exceptions.html:
               svg/dom/SVGLength.html:
               webaudio/audionode.html:

        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
        * bindings/js/JSSVGLengthCustom.cpp:
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
        (WebCore::JSWebSocket::send):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        (WebCore::V8AudioContext::constructorCallback):
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8WebSocket::constructorCallback):
        (WebCore::V8WebSocket::sendCallback):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::openCallback):

2012-04-27  Kenneth Russell  <kbr@google.com>

        Remove SHADER_COMPILER constant
        https://bugs.webkit.org/show_bug.cgi?id=85115

        Reviewed by Darin Adler.

        Removed constant which was previously removed from spec. Updated
        layout test and expected results.

        * html/canvas/WebGLRenderingContext.idl:

2012-04-27  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Fixed background is scrolling in http://www.nieuwecode.nl
        https://bugs.webkit.org/show_bug.cgi?id=85109

        Reviewed by Antonio Gomes.

        Since the BlackBerry port uses very similar fixed position acceleration
        as the Qt WebKit2 port, the same fix that worked for them in bug 83980
        works for us.

        Fixed by opting in to the FIXED_POSITION_CREATES_STACKING_CONTEXT
        mechanism.

        Covered by existing manual test fixed-position-no-z-index.html.

        * css/StyleResolver.cpp:

2012-04-27  Nat Duca  <nduca@chromium.org>

        Expose high-resolution on requestAnimationFrame callback
        https://bugs.webkit.org/show_bug.cgi?id=66683

        This changes requestAnimationFrame's animationStartTime argument
        to be a high resolution DOM timestamp, per disucssion here:
        http://lists.w3.org/Archives/Public/public-web-perf/2012Apr/0004.html

        Reviewed by James Robinson.

        Covered by existing requestAnimationFrame tests.

        * dom/Document.cpp:
        (WebCore::Document::serviceScriptedAnimations):
        * dom/Document.h:
        (Document):
        * dom/ScriptedAnimationController.cpp:
        (WebCore::ScriptedAnimationController::ScriptedAnimationController):
        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
        (WebCore):
        (WebCore::ScriptedAnimationController::windowScreenDidChange):
        (WebCore::ScriptedAnimationController::scheduleAnimation):
        (WebCore::ScriptedAnimationController::animationTimerFired):
        (WebCore::ScriptedAnimationController::displayRefreshFired):
        * dom/ScriptedAnimationController.h:
        (ScriptedAnimationController):
        * page/FrameView.cpp:
        (WebCore::FrameView::serviceScriptedAnimations):
        * page/FrameView.h:
        (FrameView):
        * platform/graphics/DisplayRefreshMonitor.cpp:
        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
        (WebCore::DisplayRefreshMonitor::notifyClients):
        * platform/graphics/DisplayRefreshMonitor.h:
        (DisplayRefreshMonitor):
        * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
        (WebCore::DisplayRefreshMonitor::displayLinkFired):
        * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
        (WebCore):
        (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
        (WebCore::DisplayRefreshMonitor::displayLinkFired):

2012-04-27  Kentaro Hara  <haraken@chromium.org>

        [V8] Implement a helper method V8Proxy::throwNotEnoughArgumentsError()
        https://bugs.webkit.org/show_bug.cgi?id=85097

        Reviewed by Kenneth Russell.

        In bug 84787, kbr requested to avoid hard-coding
        throwError("Not enough arguments", V8Proxy::TypeError) here and there.
        This patch implements V8Proxy::throwNotEnoughArgumentsError()
        and uses it in V8 bindings.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateArgumentsCountCheck):
        (GenerateEventConstructorCallback):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::throwNotEnoughArgmentsError):
        (WebCore):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::V8DataView::getInt8Callback):
        (WebCore::V8DataView::getUint8Callback):
        (WebCore::V8DataView::setInt8Callback):
        (WebCore::V8DataView::setUint8Callback):
        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
        (WebCore::V8DirectoryEntry::getDirectoryCallback):
        (WebCore::V8DirectoryEntry::getFileCallback):
        * bindings/v8/custom/V8IntentConstructor.cpp:
        (WebCore::V8Intent::constructorCallback):
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::constructorCallback):
        (WebCore::V8WebKitMutationObserver::observeCallback):

        Test: bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
        (GenerateArgumentsCountCheck):
        (GenerateEventConstructorCallback):

        * bindings/v8/V8Proxy.cpp: Ditto.
        (WebCore::V8Proxy::throwNotEnoughArgumentsError):
        (WebCore):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::V8DataView::getInt8Callback):
        (WebCore::V8DataView::getUint8Callback):
        (WebCore::V8DataView::setInt8Callback):
        (WebCore::V8DataView::setUint8Callback):
        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
        (WebCore::V8DirectoryEntry::getDirectoryCallback):
        (WebCore::V8DirectoryEntry::getFileCallback):
        * bindings/v8/custom/V8IntentConstructor.cpp:
        (WebCore::V8Intent::constructorCallback):
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::constructorCallback):
        (WebCore::V8WebKitMutationObserver::observeCallback):

        * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests.
        (WebCore::Float64ArrayV8Internal::fooCallback):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
        (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::constructorCallback):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::TestEventTargetV8Internal::itemCallback):
        (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
        (WebCore::V8TestInterface::constructorCallback):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
        (WebCore::TestObjV8Internal::intMethodWithArgsCallback):
        (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
        (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
        (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
        (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
        (WebCore::TestObjV8Internal::serializedValueCallback):
        (WebCore::TestObjV8Internal::idbKeyCallback):
        (WebCore::TestObjV8Internal::optionsObjectCallback):
        (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
        (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
        (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
        (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
        (WebCore::TestObjV8Internal::overloadedMethod1Callback):
        (WebCore::TestObjV8Internal::overloadedMethod2Callback):
        (WebCore::TestObjV8Internal::overloadedMethod3Callback):
        (WebCore::TestObjV8Internal::overloadedMethod4Callback):
        (WebCore::TestObjV8Internal::overloadedMethod5Callback):
        (WebCore::TestObjV8Internal::overloadedMethod6Callback):
        (WebCore::TestObjV8Internal::overloadedMethod7Callback):
        (WebCore::TestObjV8Internal::overloadedMethod11Callback):
        (WebCore::TestObjV8Internal::overloadedMethod12Callback):
        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
        (WebCore::TestObjV8Internal::convert1Callback):
        (WebCore::TestObjV8Internal::convert2Callback):
        (WebCore::TestObjV8Internal::convert3Callback):
        (WebCore::TestObjV8Internal::convert4Callback):
        (WebCore::TestObjV8Internal::convert5Callback):
        (WebCore::TestObjV8Internal::strictFunctionCallback):
        (WebCore::V8TestObj::constructorCallback):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

2012-04-27  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call lowMemoryUsageMB directly
        https://bugs.webkit.org/show_bug.cgi?id=84840

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::checkMemoryUsage):
        * platform/MemoryUsageSupport.cpp:
        (WebCore::MemoryUsageSupport::lowMemoryUsageMB):
        (WebCore):
        * platform/MemoryUsageSupport.h:
        (MemoryUsageSupport):
        * platform/chromium/MemoryUsageSupportChromium.cpp:
        (WebCore::MemoryUsageSupport::lowMemoryUsageMB):
        (WebCore):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-27  Yi Shen  <yi.4.shen@nokia.com>

        REGRESSION(113723): Pressing enter in this list example deletes the whole list
        https://bugs.webkit.org/show_bug.cgi?id=85016

        Reviewed by Enrica Casucci.

        The bug was caused by CompositeEditCommand::breakOutOfEmptyListItem, which calls isListItem
        on the empty list's siblings to decide which part of the list should get removed. However,
        the check fails when the empty list's sibling is a text node, or a list element (e.g. ul, ol).
        Fixed it by skipping empty list's non-element sibling and calling isListElement to do further
        check.

        Test: added new test cases in the existing test (break-out-of-empty-list-item.html)

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):

2012-04-27  Ian Vollick  <vollick@chromium.org>

        [chromium] Add pause and resume support for accelerated css animations.
        https://bugs.webkit.org/show_bug.cgi?id=84601

        Reviewed by James Robinson.

        Tested in:
        CCLayerAnimationControllerTest.syncPauseResume
        CCActiveAnimationTest.TrimTimeTimeOffset
        CCActiveAnimationTest.TrimTimeSuspendResume
        CCActiveAnimationTest.IsFinishedNeedsSynchronizedStartTime
        CCActiveAnimationTest.RunStateChangesIgnoredWhileSuspended

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::suspendAnimations):
        (WebCore::GraphicsLayerChromium::resumeAnimations):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (GraphicsLayerChromium):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::suspendAnimations):
        (WebCore::LayerChromium::resumeAnimations):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
        (WebCore::CCActiveAnimation::CCActiveAnimation):
        (WebCore::CCActiveAnimation::setRunState):
        (WebCore::CCActiveAnimation::suspend):
        (WebCore::CCActiveAnimation::resume):
        (WebCore::CCActiveAnimation::isFinishedAt):
        (WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
        (WebCore::CCActiveAnimation::cloneForImplThread):
        (WebCore::CCActiveAnimation::pushPropertiesTo):
        * platform/graphics/chromium/cc/CCActiveAnimation.h:
        (CCActiveAnimation):
        (WebCore::CCActiveAnimation::setStartTime):
        (WebCore::CCActiveAnimation::timeOffset):
        (WebCore::CCActiveAnimation::setTimeOffset):
        (WebCore::CCActiveAnimation::isFinished):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::addAnimation):
        (WebCore::CCLayerAnimationController::pauseAnimation):
        (WebCore::CCLayerAnimationController::suspendAnimations):
        (WebCore::CCLayerAnimationController::resumeAnimations):
        (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
        (WebCore::CCLayerAnimationController::getActiveAnimation):
        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
        (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
        (WebCore::CCLayerAnimationController::pushPropertiesToImplThread):
        (WebCore):
        (WebCore::CCLayerAnimationController::tickAnimations):
        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
        (CCLayerAnimationController):

2012-04-27  Tim Horton  <timothy_horton@apple.com>

        SMIL animation causes leak of the related Document (and many elements)
        https://bugs.webkit.org/show_bug.cgi?id=83856
        <rdar://problem/11216047>

        Reviewed by Dean Jackson.

        The SVGAnimatedProperty cache was previously holding a reference to the properties it contained;
        said references were cleared in the SVGAnimatedProperty destructor (which was never called because
        there was always one remaining reference from the cache).

        The SVGAnimatedProperty cache now holds raw pointers instead of RefPtrs; the SVGAnimateElement now
        owns its own SVGAnimatedProperties, both for itself and for any <use/> instances of itself. They're
        cleared and destroyed within SVGAnimateElement::targetElementWillChange, at which time they're removed
        from the cache.

        SVGPropertyTearOffs now keep a reference to their SVGElement (m_contextElement) instead of their SVGAnimatedProperty;
        this way, there is no reference cycle, but the animated property (owned by the element) and the element itself are
        kept alive until the TearOff is garbage collected.

        Tests: svg/animations/smil-leak-dynamically-added-element-instances.svg
               svg/animations/smil-leak-elements.svg
               svg/animations/smil-leak-element-instances-noBaseValRef.svg
               svg/animations/smil-leak-element-instances.svg
               svg/animations/svglength-element-removed-crash.svg

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::propertyTypesAreConsistent):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::targetElementWillChange):
        * svg/SVGAnimateElement.h:
        (SVGAnimateElement):
        * svg/SVGAnimatedAngle.cpp:
        (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
        (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
        * svg/SVGAnimatedAngle.h:
        (SVGAnimatedAngleAnimator):
        * svg/SVGAnimatedBoolean.cpp:
        (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedBooleanAnimator::animValWillChange):
        (WebCore::SVGAnimatedBooleanAnimator::animValDidChange):
        * svg/SVGAnimatedBoolean.h:
        (SVGAnimatedBooleanAnimator):
        * svg/SVGAnimatedColor.h:
        (WebCore::SVGAnimatedColorAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedColorAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedColorAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedColorAnimator::animValWillChange):
        (WebCore::SVGAnimatedColorAnimator::animValDidChange):
        * svg/SVGAnimatedEnumeration.cpp:
        (WebCore::SVGAnimatedEnumerationAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedEnumerationAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedEnumerationAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedEnumerationAnimator::animValWillChange):
        (WebCore::SVGAnimatedEnumerationAnimator::animValDidChange):
        * svg/SVGAnimatedEnumeration.h:
        (SVGAnimatedEnumerationAnimator):
        * svg/SVGAnimatedInteger.cpp:
        (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedIntegerAnimator::animValWillChange):
        (WebCore::SVGAnimatedIntegerAnimator::animValDidChange):
        * svg/SVGAnimatedInteger.h:
        (SVGAnimatedIntegerAnimator):
        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
        * svg/SVGAnimatedIntegerOptionalInteger.h:
        (SVGAnimatedIntegerOptionalIntegerAnimator):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedLengthAnimator::animValWillChange):
        (WebCore::SVGAnimatedLengthAnimator::animValDidChange):
        * svg/SVGAnimatedLength.h:
        (SVGAnimatedLengthAnimator):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedLengthListAnimator::animValWillChange):
        (WebCore::SVGAnimatedLengthListAnimator::animValDidChange):
        * svg/SVGAnimatedLengthList.h:
        (SVGAnimatedLengthListAnimator):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedNumberAnimator::animValWillChange):
        (WebCore::SVGAnimatedNumberAnimator::animValDidChange):
        * svg/SVGAnimatedNumber.h:
        (SVGAnimatedNumberAnimator):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedNumberListAnimator::animValWillChange):
        (WebCore::SVGAnimatedNumberListAnimator::animValDidChange):
        * svg/SVGAnimatedNumberList.h:
        (SVGAnimatedNumberListAnimator):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
        * svg/SVGAnimatedNumberOptionalNumber.h:
        (SVGAnimatedNumberOptionalNumberAnimator):
        * svg/SVGAnimatedPath.cpp:
        (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedPathAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedPathAnimator::animValWillChange):
        (WebCore::SVGAnimatedPathAnimator::animValDidChange):
        * svg/SVGAnimatedPath.h:
        (SVGAnimatedPathAnimator):
        * svg/SVGAnimatedPointList.cpp:
        (WebCore::SVGAnimatedPointListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedPointListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedPointListAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedPointListAnimator::animValWillChange):
        (WebCore::SVGAnimatedPointListAnimator::animValDidChange):
        * svg/SVGAnimatedPointList.h:
        (SVGAnimatedPointListAnimator):
        * svg/SVGAnimatedPreserveAspectRatio.cpp:
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValWillChange):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValDidChange):
        * svg/SVGAnimatedPreserveAspectRatio.h:
        (SVGAnimatedPreserveAspectRatioAnimator):
        * svg/SVGAnimatedRect.cpp:
        (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedRectAnimator::animValWillChange):
        (WebCore::SVGAnimatedRectAnimator::animValDidChange):
        * svg/SVGAnimatedRect.h:
        (SVGAnimatedRectAnimator):
        * svg/SVGAnimatedString.cpp:
        (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedStringAnimator::animValWillChange):
        (WebCore::SVGAnimatedStringAnimator::animValDidChange):
        * svg/SVGAnimatedString.h:
        (SVGAnimatedStringAnimator):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedTransformListAnimator::animValWillChange):
        (WebCore::SVGAnimatedTransformListAnimator::animValDidChange):
        * svg/SVGAnimatedTransformList.h:
        (SVGAnimatedTransformListAnimator):
        * svg/SVGAnimatedTypeAnimator.h:
        (SVGAnimatedTypeAnimator):
        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesFromInstancesForAttributeName):
        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForTypes):
        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForTypes):
        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForTypes):
        (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
        (WebCore::SVGAnimatedTypeAnimator::executeAction):
        * svg/properties/SVGAnimatedProperty.h:
        (SVGAnimatedProperty):
        * svg/properties/SVGPropertyTearOff.h:
        (WebCore::SVGPropertyTearOff::animatedProperty):
        (SVGPropertyTearOff):

2012-04-27  Adam Klein  <adamk@chromium.org>

        Remove misspelled, unused, unimplemented method from V8Proxy
        https://bugs.webkit.org/show_bug.cgi?id=85091

        Reviewed by Dimitri Glazkov.

        * bindings/v8/V8Proxy.h:
        (V8Proxy):

2012-04-24  Jeffrey Pfau  <jpfau@apple.com>

        Disable RTF in JavaScript drag-and-drop
        https://bugs.webkit.org/show_bug.cgi?id=76597

        Reviewed by Maciej Stachowiak.

        Test: fast/events/drag-and-drop-subframe-dataTransfer.html

        * platform/mac/ClipboardMac.mm:
        (WebCore::cocoaTypeFromHTMLClipboardType):

2012-04-26  James Robinson  <jamesr@chromium.org>

        [chromium] Separate IOSurface layer type from texture layers
        https://bugs.webkit.org/show_bug.cgi?id=85030

        Reviewed by Adrienne Walker.

        Adds a new layer type for IOSurface layers and pipes through a separate path through to rendering. IOSurface
        layers are very simple - they have an IOSurface id and size, nothing else. All IOSurface layers are "flipped" in
        our terminology.

        * WebCore.gypi:
        * platform/graphics/chromium/IOSurfaceLayerChromium.cpp:
        (WebCore):
        (WebCore::IOSurfaceLayerChromium::create):
        (WebCore::IOSurfaceLayerChromium::IOSurfaceLayerChromium):
        (WebCore::IOSurfaceLayerChromium::~IOSurfaceLayerChromium):
        (WebCore::IOSurfaceLayerChromium::setIOSurfaceProperties):
        (WebCore::IOSurfaceLayerChromium::createCCLayerImpl):
        (WebCore::IOSurfaceLayerChromium::drawsContent):
        (WebCore::IOSurfaceLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/IOSurfaceLayerChromium.h:
        (WebCore):
        (IOSurfaceLayerChromium):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawIOSurfaceQuad):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/TextureLayerChromium.cpp:
        (WebCore::TextureLayerChromium::TextureLayerChromium):
        (WebCore::TextureLayerChromium::drawsContent):
        (WebCore::TextureLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/TextureLayerChromium.h:
        (TextureLayerChromium):
        * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp:
        (WebCore::CCIOSurfaceDrawQuad::create):
        (WebCore::CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad):
        * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h:
        (CCIOSurfaceDrawQuad):
        * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
        (WebCore):
        (WebCore::CCIOSurfaceLayerImpl::CCIOSurfaceLayerImpl):
        (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
        (WebCore::CCIOSurfaceLayerImpl::willDraw):
        (WebCore::CCIOSurfaceLayerImpl::appendQuads):
        (WebCore::CCIOSurfaceLayerImpl::dumpLayerProperties):
        (WebCore::CCIOSurfaceLayerImpl::didLoseContext):
        (WebCore::CCIOSurfaceLayerImpl::setIOSurfaceProperties):
        * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h:
        (WebCore):
        (CCIOSurfaceLayerImpl):
        (WebCore::CCIOSurfaceLayerImpl::create):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
        (WebCore::CCTextureLayerImpl::CCTextureLayerImpl):
        (WebCore::CCTextureLayerImpl::~CCTextureLayerImpl):
        (WebCore::CCTextureLayerImpl::appendQuads):
        (WebCore::CCTextureLayerImpl::didLoseContext):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
        (CCTextureLayerImpl):

2012-04-27  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] OpenGL related bug fixes
        https://bugs.webkit.org/show_bug.cgi?id=84836

        Reviewed by Antonio Gomes.

        PR147254, 148933, 149117, 149721, 150228

        No new tests, covered by existing BlackBerry browser stress tests

        * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
        (WebCore::CanvasLayerWebKitThread::updateTextureContentsIfNeeded):
        * platform/graphics/blackberry/LayerCompositingThread.cpp:
        (WebCore::LayerCompositingThread::drawTextures):
        * platform/graphics/blackberry/LayerRenderer.cpp:
        (WebCore::LayerRenderer::~LayerRenderer):
        (WebCore::LayerRenderer::drawLayers):
        (WebCore::LayerRenderer::initializeSharedGLObjects):

2012-04-27  Nat Duca  <nduca@chromium.org>

        Implement high-resolution time via window.performance.webkitNow()
        https://bugs.webkit.org/show_bug.cgi?id=66684

        This implements the high resolution time spec from
        http://www.w3.org/TR/hr-time/, giving javascript access to
        sub-millisecond timestamps that increase over time instead of being
        subject to skewing, for example when the host machine's clock changes.

        Reviewed by Tony Gentilcore.

        Test: fast/performance/performance-now-timestamps.html

        * page/Performance.cpp:
        (WebCore::Performance::now):
        (WebCore):
        * page/Performance.h:
        (Performance):
        * page/Performance.idl:

2012-04-27  Filip Pizlo  <fpizlo@apple.com>

        If you get a list of DOMWrapperWorld*'s and then plan to allocate in the heap, you should ref
        the DOMWrapperWorld*'s
        https://bugs.webkit.org/show_bug.cgi?id=85098
        <rdar://problem/11318170>

        Reviewed by Sam Weinig.

        No new tests because this addresses hard-to-repro flaky behavior arising from GCs at inconvenient
        times.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::getAllWorlds):
        * bindings/js/ScriptController.h:
        (ScriptController):
        * bindings/js/WebCoreJSClientData.h:
        (WebCore::WebCoreJSClientData::getAllWorlds):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::getAllWorlds):
        * bindings/v8/ScriptController.h:
        (ScriptController):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
        (WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):

2012-04-27  Geoffrey Garen  <ggaren@apple.com>

        Removed the sole use of Weak<Unknown>
        https://bugs.webkit.org/show_bug.cgi?id=85099

        Reviewed by Sam Weinig.

        The semantics and implementation of Weak<Unknown> are unclear because:
            - Should you call a finalizer for a non-GC thingy? If so, when?

                * Possible answer: No.

            - If WeakImpls for GC thingies live with the GC thingies in the
              heap, where do WeakImpls for non-GC thingies live?

                * Possible answer: Directly in the Weak<T>.

        Since no clients actually want these behaviors, it's hard to tell if
        they're the right behaviors, and it's not worth the implementation
        complexity. If we come up with a client that wants these behaviors, we
        can always revisit this.

        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition): Just leave our
        filter NULL if it's not an object -- that's a better way to indicate
        "not a valid filter object".

        (WebCore::JSNodeFilterCondition::acceptNode): Fixed up some naming to
        clarify that the object we're working with is not necessarily a function.

        * bindings/js/JSNodeFilterCondition.h:
        (JSNodeFilterCondition): Use Weak<JSObject>, since that more closely
        matches what we're trying to do.

2012-04-26  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to getDOMXXXMap()
        https://bugs.webkit.org/show_bug.cgi?id=85022

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to getDOMXXXMap().

        Also this patch removes DOMMap::getDOMDataStore() and
        DOMData::getDefalutStore(), since the indirection by the
        methods is redundant. This is not for performance
        optimization but just for refactoring.

        No tests. No change in behavior.

        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::getCurrentStore):
        * bindings/v8/DOMData.h:
        (DOMData):
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::getDOMNodeMap):
        (WebCore::getActiveDOMNodeMap):
        (WebCore::getDOMObjectMap):
        (WebCore::getActiveDOMObjectMap):
        (WebCore::removeAllDOMObjects):
        * bindings/v8/V8DOMMap.h:
        (WebCore):

2012-04-26  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to V8BindingPerIsolateData::current()
        https://bugs.webkit.org/show_bug.cgi?id=85023

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to V8BindingPerIsolateData::current().

        No tests. No change in behavior.

        * bindings/v8/V8Binding.h:
        (WebCore::V8BindingPerIsolateData::current):
        (WebCore::v8ExternalString):

2012-04-27  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r115484.
        http://trac.webkit.org/changeset/115484
        https://bugs.webkit.org/show_bug.cgi?id=84555

        Broke Chromium compile.

        * bindings/js/JSBlobCustom.cpp:
        * bindings/v8/custom/V8BlobCustom.cpp:
        * fileapi/Blob.cpp:
        * fileapi/Blob.h:
        (Blob):
        * fileapi/Blob.idl:
        * workers/WorkerContext.idl:

2012-04-27  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Shaders] Implement CSS Animations and Transitions for CSS Shaders
        https://bugs.webkit.org/show_bug.cgi?id=71406

        Reviewed by Dean Jackson.

        I've implemented the blend function for the CustomFilterOperation. This should enable animations for CSS Shaders.
        Currently, just floats are implemented. If any of the filter attributes like shader, mesh size or box mode are different, 
        the fallback is to use the "to" part of the animation instead. If other shader parameters do not match, it will merge the parameter values
        between the "from" and "to" states.

        Test: css3/filters/custom/custom-filter-animation.html

        * platform/graphics/filters/CustomFilterNumberParameter.h:
        (WebCore::CustomFilterNumberParameter::blend):
        (CustomFilterNumberParameter):
        (WebCore::CustomFilterNumberParameter::operator==):
        * platform/graphics/filters/CustomFilterOperation.cpp:
        (WebCore::equalCustomFilterParameters):
        (WebCore):
        (WebCore::checkCustomFilterParametersOrder):
        (WebCore::blendCustomFilterParameters):
        (WebCore::CustomFilterOperation::CustomFilterOperation):
        (WebCore::CustomFilterOperation::blend):
        * platform/graphics/filters/CustomFilterOperation.h:
        (WebCore):
        (CustomFilterOperation):
        (WebCore::CustomFilterOperation::operator==):
        (WebCore::CustomFilterOperation::operator!=):
        * platform/graphics/filters/CustomFilterParameter.h:
        (CustomFilterParameter):
        (WebCore::CustomFilterParameter::isSameType):
        (WebCore::CustomFilterParameter::operator==):
        (WebCore::CustomFilterParameter::operator!=):
        * platform/graphics/filters/CustomFilterProgram.h:
        * rendering/style/StyleCustomFilterProgram.h:
        (StyleCustomFilterProgram):
        (WebCore::StyleCustomFilterProgram::cachedVertexShader):
        (WebCore::StyleCustomFilterProgram::cachedFragmentShader):
        (WebCore::StyleCustomFilterProgram::operator==):

2012-04-27  Chris Rogers  <crogers@google.com>

        Re-factor scheduling logic from AudioBufferSourceNode into AudioScheduledSourceNode
        https://bugs.webkit.org/show_bug.cgi?id=84639

        Reviewed by Eric Carlson.

        Playback logic involving noteOn(), noteOff(), and playbackState were intertwined with
        the AudioBufferSourceNode's buffer playback code.  These are more general concepts and
        may be implemented separately in another class called AudioScheduledSourceNode.

        No new tests. Covered by existing layout tests.

        * GNUmakefile.list.am:
        Add AudioScheduledSourceNode files to makefile.

        * Modules/webaudio/AudioBufferSourceNode.cpp:
        (WebCore):
        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
        Re-factor some member variables into new base class AudioScheduledSourceNode.

        (WebCore::AudioBufferSourceNode::process):
        Re-factor scheduling logic into AudioScheduledSourceNode.

        * Modules/webaudio/AudioBufferSourceNode.h:
        (AudioBufferSourceNode):
        Simplify by re-factoring scheduling logic into AudioScheduledSourceNode.

        * Modules/webaudio/AudioScheduledSourceNode.cpp: Added.
        (WebCore):
        (WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
        (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
        Get frame information for the current time quantum.

        * Modules/webaudio/AudioScheduledSourceNode.h: Added.
        (WebCore::AudioScheduledSourceNode::noteOn):
        (WebCore::AudioScheduledSourceNode::noteOff):
        (WebCore::AudioScheduledSourceNode::finish):
        (WebCore::AudioScheduledSourceNode::playbackState):
        (WebCore::AudioScheduledSourceNode::isPlayingOrScheduled):
        (WebCore::AudioScheduledSourceNode::hasFinished):
        Re-factored from AudioBufferSourceNode.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        Add AudioScheduledSourceNode files to makefiles.
    
2012-04-26  Sam Weinig  <sam@webkit.org>

        Add support for the Blob constructor
        https://bugs.webkit.org/show_bug.cgi?id=84555

        Reviewed by Maciej Stachowiak.

        Test: fast/files/blob-constructor.html

        This adds an implementation of the Blob constructor that willfully
        violates the W3C Editor’s Draft 29 February 2012 in the following ways:
        - Elements in the parts array are coerced to DOMStrings https://www.w3.org/Bugs/Public/show_bug.cgi?id=16721 
        - Don't throw for invalid key in the dictionary https://www.w3.org/Bugs/Public/show_bug.cgi?id=16727
        - Values for the endings property are treated as enums https://www.w3.org/Bugs/Public/show_bug.cgi?id=16729 

        * bindings/js/JSBlobCustom.cpp:
        (WebCore::JSBlobConstructor::constructJSBlob):
        Implement blob constructor.

        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::V8Blob::constructorCallback):
        Implement blob constructor.

        * fileapi/Blob.idl:
        Add constructor to IDL.

        * workers/WorkerContext.idl:
        Add Blob constructor to the worker global object.

2012-04-27  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [Qt] Fix minimal build.
        https://bugs.webkit.org/show_bug.cgi?id=85045

        Reviewed by Tor Arne Vestbø.

        Compile LIBXML XML parser even if ENABLE_XSLT is not set.

        * Target.pri:

2012-04-27  Shawn Singh  <shawnsingh@chromium.org>

        Infinite backgroundClipRect should not be scrolled.
        https://bugs.webkit.org/show_bug.cgi?id=84979

        Reviewed by Adrienne Walker.

        Test: compositing/iframes/scroll-fixed-transformed-element.html

        By accidentally scrolling clipRects that should be considered
        "infinite", they were no longer being considered infinite. This
        caused a chain of un-intended code paths that caused fixed
        position elements to stutter when scrolling in Chromium.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::backgroundClipRect):

2012-04-27  Ryosuke Niwa  <rniwa@webkit.org>

        FormatBlock crashes when body element is removed prior to the command execution
        https://bugs.webkit.org/show_bug.cgi?id=84937

        Reviewed by Tony Chang.

        The crash was because because DOM had been modified since the last time selection had been "validated",
        and therefore frame selection's endpoints are no longer visible when we instantiated visibleStart
        and visibleEnd from m_endingSelection of the edit command.

        Fixed the bug by checking the nullity and orphanedness of visible start and visible end directly.
        I suspect we have similar bugs in other commands. The fundamental problem is that the copy constructor
        of VisibleSelection never validates so when a VisibleSelection is passed from one class to another
        (e.g. FrameSelection to EditCommand), we may not adjust end points as needed.

        Test: editing/execCommand/format-block-without-body-crash.html

        * editing/ApplyBlockElementCommand.cpp:
        (WebCore::ApplyBlockElementCommand::doApply):

2012-04-27  Enrica Casucci  <enrica@apple.com>

        REGRESSION(r96257): Deleting a large amount of text is very slow.
        https://bugs.webkit.org/show_bug.cgi?id=83983
        <rdar://problem/10826076>
        
        Reviewed by Ryosuke Niwa.

        The change in r96257 did not cause the performance regression per se,
        but exposed a problem in the way we calculate the offset in container
        node when the anchorType is PositionIsOffsetInAnchor.
        The offset was computed as the minimum between the given offset and
        lastOffsetInNode. If the container has a very large number of children,
        we walk the entire list of child nodes in the container simply to find
        out how many they are.
        Looking through the entire editing code, I found other 2 cases (one
        is only an ASSERT) where we could do a similar optimization.

        No new tests. No behavior change, only performance optimization.

        * dom/Position.cpp:
        (WebCore::Position::computeOffsetInContainerNode):
        * dom/Position.h:
        (WebCore::minOffsetForNode):
        (WebCore::offsetIsBeforeLastNodeOffset):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeInlineStyle):
        (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):

2012-04-27  Julien Chaffraix  <jchaffraix@webkit.org>

        NULL-deref in RenderBox::clippedOverflowRectForRepaint
        https://bugs.webkit.org/show_bug.cgi?id=84774

        Reviewed by Tony Chang.

        Test: fast/inline/crash-new-continuation-with-outline.html

        The bug comes from trying to repaint the :after content as part of updateBeforeAfterContent.
        The repainting logic would query the yet-to-be-inserted continuation(). Then we would crash in
        RenderBox::clippedOverflowRectForRepaint as we didn't have an enclosingLayer() (which any
        RenderObject in the tree will have).

        The fix is to check in RenderInline::clippedOverflowRectForRepaint that our continuation()
        is properly inserted in the tree. We could check that it isRooted() but it's an overkill here.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::clippedOverflowRectForRepaint):

2012-04-27  Antti Koivisto  <antti@apple.com>

        Memory cache pruning should be protected against reentering.
        https://bugs.webkit.org/show_bug.cgi?id=85077

        Reviewed by Alexey Proskuryakov.

        MemoryCache::pruneDeadResourcesToSize() has some ad-hock protection against reentering.
        This patch adds more complete protection.

        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::MemoryCache):
        (WebCore::MemoryCache::pruneLiveResourcesToSize):
        
            Protect live resource pruning too.

        (WebCore::MemoryCache::pruneDeadResourcesToSize):
        
            Remove the existing weak reentrancy handling in favor of full proctection.

        * loader/cache/MemoryCache.h:
        (MemoryCache):

2012-04-27  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
        (re-landing r115417 with a test that should work on Windows.)
        https://bugs.webkit.org/show_bug.cgi?id=84946

        Reviewed by Yury Semikhatsky.

        Test: inspector/debugger/disable-script.html

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (PageAgentState):
        (WebCore::InspectorPageAgent::enable):
        (WebCore::InspectorPageAgent::disable):
        (WebCore::InspectorPageAgent::getScriptExecutionStatus):
        (WebCore):
        (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
        * inspector/InspectorPageAgent.h:
        * inspector/front-end/Settings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        (WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
        (WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
        * inspector/front-end/inspector.js:

2012-04-27  Keishi Hattori  <keishi@webkit.org>

        IETC HTML5: verify HTMLDataListElement - instanceof HTMLDataListElement fails.
        https://bugs.webkit.org/show_bug.cgi?id=81196

        Reviewed by Kent Tamura.

        Test: fast/dom/Window/window-properties.html, fast/dom/Window/window-lookup-precedence.html

        HTMLDataListElement should be available on DOMWindow.

        * page/DOMWindow.idl: Added HTMLDataListElement.

2012-04-27  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r115417.
        http://trac.webkit.org/changeset/115417
        https://bugs.webkit.org/show_bug.cgi?id=84946

        Added test is broken on windows.

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::enable):
        (WebCore::InspectorPageAgent::disable):
        * inspector/InspectorPageAgent.h:
        * inspector/front-end/Settings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        * inspector/front-end/inspector.js:

2012-04-27  Gavin Peters  <gavinp@chromium.org>

        Add new ENABLE_LINK_PRERENDER define to control the Prerendering API
        https://bugs.webkit.org/show_bug.cgi?id=84871

        Reviewed by Adam Barth.

        Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
        API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
        a relatively easy change, without needing to build the infrastructure for prerendering, which
        is considerably more complicated.

        * Configurations/FeatureDefines.xcconfig:

2012-04-27  Zan Dobersek  <zandobersek@gmail.com>

        [Gtk][DOM Bindings] Feature-protected properties are put under condition guards
        https://bugs.webkit.org/show_bug.cgi?id=85068

        Reviewed by Martin Robinson.

        Generated feature-dependent properties are now present regardless of that
        feature being enabled. On getting or setting that property's value a warning
        is thrown if the feature is not enabled. Additionally, if the generated
        interface is feature-dependant, when getting or setting any property's value
        a warning is thrown if the feature is not enabled.

        No new tests - covered by existing bindings tests.

        * bindings/scripts/CodeGeneratorGObject.pm:
        (GenerateProperty):
        (GenerateProperties):
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Rebaseline.
        (webkit_dom_test_interface_set_property):
        (webkit_dom_test_interface_get_property):
        (webkit_dom_test_interface_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.
        (webkit_dom_test_serialized_script_value_interface_get_property):

2012-04-27  Zan Dobersek  <zandobersek@gmail.com>

        [Gtk][DOM Bindings] Conditional string in implementation file generated in wrong place after 113450
        https://bugs.webkit.org/show_bug.cgi?id=85065

        Reviewed by Martin Robinson.

        Put the condition string in implementation file after the header inclusions. This ensures
        that build errors do not occur when disabling the future that applies to the condition string
        because of WebCore objects and methods that are still in use despite the feature being disabled.

        No new tests - covered by bindings tests.

        * bindings/scripts/CodeGeneratorGObject.pm:
        (WriteData):
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Rebaseline generated results.
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.

2012-04-27  Andreas Kling  <kling@webkit.org>

        Avoid mutating Element attribute storage in StepRange constructor.
        <http://webkit.org/b/84797>

        Reviewed by Antti Koivisto.

        Test: fast/selectors/querySelector-in-range-crash.html

        * dom/Attribute.h:

            Add comment about the volatility of references returned by getters.

        * html/StepRange.cpp:
        (WebCore::StepRange::StepRange):

            Replace hasAttribute/getAttribute pair by a single fastGetAttribute.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateType):
        (WebCore::HTMLInputElement::value):

            Store the value attribute in an local variable before passing it to sanitizeValue().

2012-04-27  Rob Buis  <rbuis@rim.com>

        SVG inline style of 'marker-*' does not override
        https://bugs.webkit.org/show_bug.cgi?id=84824

        Reviewed by Nikolas Zimmermann.

        Properly handle CSSValueNone for clip-path, filter, mask and marker-* properties. Instead
        of bailing out, set the none value explicitly, since an earlier match may have set it to
        something other than none.

        Tests: svg/custom/inline-style-overrides-clipPath-expected.svg
               svg/custom/inline-style-overrides-clipPath.svg
               svg/custom/inline-style-overrides-filter-expected.svg
               svg/custom/inline-style-overrides-filter.svg
               svg/custom/inline-style-overrides-markers-expected.svg
               svg/custom/inline-style-overrides-markers.svg
               svg/custom/inline-style-overrides-mask-expected.svg
               svg/custom/inline-style-overrides-mask.svg

        * css/SVGCSSStyleSelector.cpp:
        (WebCore::StyleResolver::applySVGProperty):

2012-04-27  Christophe Dumez  <christophe.dumez@intel.com>

        [EFL] media/video-controls-rendering-toggle-display-none.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=84949

        Reviewed by Antonio Gomes.

        Fix volume slider rendering so that the
        media/video-controls-rendering-toggle-display-none.html passes.

        * css/mediaControlsEfl.css:
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):

2012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Support values animation mode with just a single value
        https://bugs.webkit.org/show_bug.cgi?id=85064

        Reviewed by Antti Koivisto.

        values="a" is equal to <set to="a"> per SMIL specification.
        We currently only support values animation if at least two values are given, fix that.

        The reference animations in Dr. Olaf Hoffmanns SVG Animation test suite are mostly using
        values animations, sometimes with only a single value given. Lots of the reference animations
        are broken in trunk w/o this patch and now work as expected.

        See http://hoffmann.bplaced.net/svgtest/index.php?s=en&in=start.

        Test: svg/animations/single-values-animation.html

        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
        (WebCore::SVGAnimationElement::startedActiveInterval):

2012-04-27  Konrad Piascik  <kpiascik@rim.com>

        Web Inspector: Allow inspection of Web Socket Frames
        https://bugs.webkit.org/show_bug.cgi?id=83282

        Reviewed by Pavel Feldman.

        Tests: http/tests/inspector/web-socket-frame-error.html
               http/tests/inspector/web-socket-frame.html

        * English.lproj/localizedStrings.js: Added new Web Inspector front-end UI strings.
        * Modules/websockets/WebSocketChannel.cpp:  Added InspectorInstrumentation calls to
                                                    the following methods.
        (WebCore::WebSocketChannel::fail):
        (WebCore::WebSocketChannel::processFrame):
        (WebCore::WebSocketChannel::sendFrame):
        * WebCore.gypi: Added new Web Inspector resource file.
        * WebCore.vcproj/WebCore.vcproj: Added new Web Inspector resource file.
        * inspector/Inspector.json: Added new Web Inspector resource file.
        * inspector/InspectorInstrumentation.cpp: Added new methods for instrumenting a Web Socket frame or error.
        (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
        (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
        (WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore):
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
        (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
        (WebCore::InspectorInstrumentation::didSendWebSocketFrame):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
        (WebCore):
        (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
        (WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
        * inspector/InspectorResourceAgent.h:
        (WebCore):
        (InspectorResourceAgent):
        * inspector/compile-front-end.py: Added new Web Inspector resource file.
        * inspector/front-end/NetworkItemView.js: Added a new View for inspecting Web Socket frames and errors.
        (WebInspector.NetworkItemView):
        * inspector/front-end/NetworkManager.js: Implemented callback called by InspectorResourceAgent for
                                                 the new Web Socket frame and error calls.
        (WebInspector.NetworkDispatcher.prototype.webSocketFrameReceived):
        (WebInspector.NetworkDispatcher.prototype.webSocketFrameSent):
        (WebInspector.NetworkDispatcher.prototype.webSocketFrameError):
        * inspector/front-end/NetworkRequest.js: Added a frames array to a Resource request along
                                                 with accessor and helper methods
        (WebInspector.NetworkRequest):
        (WebInspector.NetworkRequest.prototype.resource):
        (WebInspector.NetworkRequest.prototype.hasFrames):
        (WebInspector.NetworkRequest.prototype.frameLength):
        (WebInspector.NetworkRequest.prototype.getFrame):
        (WebInspector.NetworkRequest.prototype.addFrameError):
        (WebInspector.NetworkRequest.prototype.addFrame):
        (WebInspector.NetworkRequest.prototype._pushFrame):
        * inspector/front-end/ResourceWebSocketFrameView.js: Added to help display Web Socket frame and error data.
        (WebInspector.ResourceWebSocketFrameView):
        * inspector/front-end/WebKit.qrc: Added new Web Inspector resource file.
        * inspector/front-end/inspector.html: Added new Web Inspector resource file.

2012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Fix repetitions & by animation support for SVGAnimateTransformElement
        https://bugs.webkit.org/show_bug.cgi?id=85051

        Reviewed by Antti Koivisto.

        Repetitions are currently handled by adjusting percentage (percentage += repeatCount).
        This doesn't work for <animateTransform> as each repetition has to be post-multiplied to the animated transform list. Fix that.

        By-animations are equal to values="0;by" animations in SMIL. '0' is the neutral element of addition, which is the _zero_ matrix,
        not the identity matrix for SVGTransform. Add a new construction mode to SVGTransform to be able to construct zero transforms.

        Tests: svg/animations/animateTransform-accumulation-expected.svg
               svg/animations/animateTransform-accumulation.svg
               svg/animations/animateTransform-by-scale-expected.svg
               svg/animations/animateTransform-by-scale.svg
               svg/animations/animateTransform-from-by-from-to-comparision-expected.svg
               svg/animations/animateTransform-from-by-from-to-comparision.svg
               svg/animations/animateTransform-from-by-scale-additive-sum-expected.svg
               svg/animations/animateTransform-from-by-scale-additive-sum.svg
               svg/animations/animateTransform-from-by-scale-expected.svg
               svg/animations/animateTransform-from-by-scale.svg
               svg/animations/animateTransform-rotate-around-point-expected.svg
               svg/animations/animateTransform-rotate-around-point.svg
               svg/animations/animateTransform-skewX-expected.svg
               svg/animations/animateTransform-skewX.svg
               svg/animations/animateTransform-skewY-expected.svg
               svg/animations/animateTransform-skewY.svg
               svg/animations/animateTransform-translate-expected.svg
               svg/animations/animateTransform-translate.svg
               svg/animations/multiple-animateTransform-additive-sum-expected.svg
               svg/animations/multiple-animateTransform-additive-sum.svg

        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::parseAttribute):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
        * svg/SVGAnimationElement.h:
        (WebCore::SVGAnimationElement::adjustFromToListValues):
        * svg/SVGTransform.cpp:
        (WebCore::SVGTransform::SVGTransform):
        * svg/SVGTransform.h:
        * svg/SVGTransformDistance.cpp:
        (WebCore::SVGTransformDistance::SVGTransformDistance):
        (WebCore::SVGTransformDistance::scaledDistance):
        (WebCore::SVGTransformDistance::addSVGTransforms):
        (WebCore::SVGTransformDistance::addToSVGTransform):
        (WebCore::SVGTransformDistance::distance):
        * svg/SVGTransformDistance.h:
        (SVGTransformDistance):

2012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVG Animations update baseVal instead of animVal
        https://bugs.webkit.org/show_bug.cgi?id=12437

        Reviewed by Dirk Schulze.

        Cleanup animation code, remove last remaining crufts of the old setAttribute() animation model.
        Now only two animation modes remain: animate SVG DOM animVal properties or CSS properties.

        Stop caching base values per string in SMILTimeContainer, as it breaks additive="sum" for CSS
        properties if the underlying base value is changed from the outside (eg. when calling
        style.fontSize="20px", if font-size was 10px, and we're running an additive by-animation with 50px).

        This requires us to cache the computed style of a SVGElement, without SMIL style property changes,
        in SVGElementRareData, similar to how the computed style itself is cached in ElementRareData.
        To be able to compute the base value for a CSS property at any time, we have to exclude any
        previous animation effects residing in the SMIL animated style properties, per SMIL2/3 specs.

        NOTE: This doesn't change or affect the way CSS Animations/Transitions are applied, we still
              have some bugs in that area, but this patch doesn't address them. The idea is to only
              remove the cache, to pave the way for future additive="sum" patches.

        Tests: svg/animations/change-css-property-while-animating-fill-freeze.html
               svg/animations/change-css-property-while-animating-fill-remove.html

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        * dom/Node.h:
        * svg/SVGAnimateElement.cpp:
        (WebCore::propertyTypesAreConsistent):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        * svg/SVGAnimateElement.h:
        (SVGAnimateElement):
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::resetToBaseValue):
        * svg/SVGAnimateMotionElement.h:
        (SVGAnimateMotionElement):
        * svg/SVGAnimationElement.cpp:
        (WebCore::applyCSSPropertyToTarget):
        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedCSSValue):
        * svg/SVGAnimationElement.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::SVGElement):
        (WebCore::SVGElement::willRecalcStyle):
        (WebCore):
        (WebCore::SVGElement::rareSVGData):
        (WebCore::SVGElement::ensureRareSVGData):
        (WebCore::SVGElement::computedStyle):
        (WebCore::SVGElement::isAnimatableAttribute):
        * svg/SVGElement.h:
        (SVGElement):
        * svg/SVGElementRareData.h:
        (WebCore::SVGElementRareData::SVGElementRareData):
        (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
        (WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties):
        (WebCore::SVGElementRareData::overrideComputedStyle):
        (WebCore::SVGElementRareData::setUseOverrideComputedStyle):
        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::updateAnimations):
        * svg/animation/SMILTimeContainer.h:
        (SMILTimeContainer):
        * svg/animation/SVGSMILElement.h:
        (SVGSMILElement):

2012-04-26  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
        (re-landing r115323 with a fixed test.)
        https://bugs.webkit.org/show_bug.cgi?id=84946

        Based on user actions in the Inspector frontend, InspectorPageAgent invokes Settings::setScriptEnabled()
        for the associated page to switch the script execution therein.

        Reviewed by Yury Semikhatsky.

        Test: inspector/debugger/disable-script.html

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (PageAgentState):
        (WebCore::InspectorPageAgent::enable):
        (WebCore::InspectorPageAgent::disable):
        (WebCore::InspectorPageAgent::getScriptExecutionStatus):
        (WebCore):
        (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
        * inspector/InspectorPageAgent.h:
        * inspector/front-end/Settings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        (WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
        (WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
        * inspector/front-end/inspector.js:

2012-04-26  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION (r94497): Pressing Command+A when inline (Marked Text) is not empty will clean whole content
        https://bugs.webkit.org/show_bug.cgi?id=84501

        Reviewed by Alexey Proskuryakov.

        The bug was caused by setComposition, which is called by cancelComposition, deleting the contents when
        the passed text is empty. Fixed it by not deleting text when canceling compositions. This is okay because
        as the comment above the line suggests, this particular call to TypingCommand::deleteSelection is only useful
        when the confirmed text is empty and the composition text had previously been non-empty.

        Test: editing/input/select-all-clear-input-method.html

        * editing/Editor.cpp:
        (WebCore::Editor::setComposition):

2012-04-26  Keishi Hattori  <keishi@webkit.org>

        datalist: Form control in a <datalist> should be barred from constraint validation
        https://bugs.webkit.org/show_bug.cgi?id=84359

        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-datalist-element
        According to this, if an element has a datalist element ancestor, it is barred from constraint validation.

        Reviewed by Kent Tamura.

        Test: fast/forms/datalist/datalist-child-validation.html

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
        (WebCore::HTMLFormControlElement::updateAncestors): Updates the ancestor information.
        (WebCore::HTMLFormControlElement::insertedInto): Invalidates the ancestor information and calls setNeedsWillValidateCheck
        (WebCore::HTMLFormControlElement::removedFrom): Invalidates the ancestor information and calls setNeedsWillValidateCheck
        (WebCore::HTMLFormControlElement::disabled):
        (WebCore::HTMLFormControlElement::recalcWillValidate): Returns false if element has a datalist ancestor.
        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): Check if ancestor information is valid too.
        * html/HTMLFormControlElement.h:
        (HTMLFormControlElement):

2012-04-26  Adrienne Walker  <enne@google.com>

        [chromium] Remove unused CCLayerImpl::debugID()
        https://bugs.webkit.org/show_bug.cgi?id=85019

        Reviewed by James Robinson.

        CCLayerSorter used debugID() but it was never set anywhere. Change
        the CCLayerSorter LOG messages to use id(), which does get set.

        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
        (WebCore::CCLayerSorter::createGraphNodes):
        (WebCore::CCLayerSorter::createGraphEdges):
        (WebCore::CCLayerSorter::sort):

2012-04-26  Nico Weber  <thakis@chromium.org>

        [chromium] Fix C++ language use.
        https://bugs.webkit.org/show_bug.cgi?id=85015

        Reviewed by James Robinson.

        Even though MSVC allows it, a sizeof followed by a non-parenthesized
        typename is not valid C++.

        No functionality change.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore):
        (WebCore::getNonClientMetrics):

2012-04-24  James Robinson  <jamesr@chromium.org>

        [chromium] Move ProgramBinding definitions to LayerRendererChromium and normalize naming
        https://bugs.webkit.org/show_bug.cgi?id=84808

        Reviewed by Adrienne Walker.

        The GL programs used are logically part of LayerRendererChromium and not something specific to a layer type,
        since a different renderer would want to use a different thing to render the same layer types. This moves all of
        the ProgramBinding definitions into LayerRendererChromium and gives them consistent names. With the exception of
        CCRenderSurface (noted by an inline comment), these programs are private to LRC.

        This patch also deduplicates programs a bit:
        1.) Video's NativeTexture and RGBA programs were the same thing, folded.
        2.) The TexStretch and TexTransform shaders are basically the same thing, folded together.

        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawCheckerboardQuad):
        (WebCore::LayerRendererChromium::drawDebugBorderQuad):
        (WebCore::LayerRendererChromium::drawSolidColorQuad):
        (WebCore::LayerRendererChromium::drawTileQuad):
        (WebCore::LayerRendererChromium::drawYUV):
        (WebCore::LayerRendererChromium::drawRGBA):
        (WebCore::LayerRendererChromium::drawNativeTexture2D):
        (WebCore::LayerRendererChromium::drawStreamTexture):
        (WebCore::LayerRendererChromium::drawTextureQuad):
        (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::tileCheckerboardProgram):
        (WebCore::LayerRendererChromium::solidColorProgram):
        (WebCore::LayerRendererChromium::headsUpDisplayProgram):
        (WebCore::LayerRendererChromium::renderSurfaceProgram):
        (WebCore::LayerRendererChromium::renderSurfaceProgramAA):
        (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
        (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
        (WebCore::LayerRendererChromium::tileProgram):
        (WebCore::LayerRendererChromium::tileProgramOpaque):
        (WebCore::LayerRendererChromium::tileProgramAA):
        (WebCore::LayerRendererChromium::tileProgramSwizzle):
        (WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
        (WebCore::LayerRendererChromium::tileProgramSwizzleAA):
        (WebCore::LayerRendererChromium::textureProgramFlip):
        (WebCore::LayerRendererChromium::textureTexRectProgram):
        (WebCore::LayerRendererChromium::textureTexRectProgramFlip):
        (WebCore::LayerRendererChromium::videoRGBAProgram):
        (WebCore::LayerRendererChromium::videoYUVProgram):
        (WebCore::LayerRendererChromium::videoStreamTextureProgram):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore):
        (LayerRendererChromium):
        * platform/graphics/chromium/ShaderChromium.cpp:
        * platform/graphics/chromium/ShaderChromium.h:
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
        (CCHeadsUpDisplay):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::copyTextureToFramebuffer):
        (WebCore::CCRenderSurface::drawLayer):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (CCRenderSurface):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
        (CCTextureLayerImpl):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (WebCore):
        (CCVideoLayerImpl):

2012-04-26  Jeffrey Pfau  <jpfau@apple.com>

        Invalid cast in WebCore::HTMLCollection::isAcceptableElement
        https://bugs.webkit.org/show_bug.cgi?id=84626

        Reviewed by Darin Adler.

        Check if the object is an HTMLElement before casting.

        Test: fast/dom/htmlcollection-non-html.html

        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::isAcceptableElement):

2012-04-26  Dana Jansens  <danakj@chromium.org>

        [chromium] Some background filters require inflating damage on the surface behind them
        https://bugs.webkit.org/show_bug.cgi?id=84479

        Reviewed by Adrienne Walker.

        A layer with a background blur will expand the damage from pixels in the
        surface below it. We extend the damage tracker to expand damage in a
        surface below such layers.

        Unit test: CCDamageTrackerTest.verifyDamageForBackgroundBlurredChild

        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::expandPixelOutsetsWithFilters):
        (WebCore):
        (WebCore::expandDamageRectInsideRectWithFilters):
        (WebCore::expandDamageRectWithFilters):
        (WebCore::CCDamageTracker::updateDamageTrackingState):
        (WebCore::CCDamageTracker::trackDamageFromActiveLayers):
        * platform/graphics/chromium/cc/CCDamageTracker.h:
        (CCDamageTracker):

2012-04-26  Simon Fraser  <simon.fraser@apple.com>

        Improve compositing logging output
        https://bugs.webkit.org/show_bug.cgi?id=85010

        Reviewed by Dean Jackson.

        In the compositing log channel output, indent the layers
        based on z-order tree depth. Tabulate the summary, and
        show obligate and secondary backing store area separately.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateClipRects):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        (WebCore::RenderLayerCompositor::logLayerInfo):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
        (WebCore::RenderLayerCompositor::reasonForCompositing):
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):

2012-04-26  Anders Carlsson  <andersca@apple.com>

        REGRESSION (r115163): Unable to scroll article body with trackpad on altdevblogaday.com blog post
        https://bugs.webkit.org/show_bug.cgi?id=85024
        <rdar://problem/11330758>

        Reviewed by Sam Weinig.

        Fix broken logic in canHaveScrollbars.

        * page/scrolling/ScrollingTreeNode.h:
        (WebCore::ScrollingTreeNode::canHaveScrollbars):

2012-04-24  James Robinson  <jamesr@chromium.org>

        [chromium] Use different CCDrawQuad types for textures vs IOSurfaces
        https://bugs.webkit.org/show_bug.cgi?id=84811

        Reviewed by Adrienne Walker.

        IOSurface and texture backed layers share few properties (only the flipped bool), so it doesn't make a lot of
        sense for them to use the same CCDrawQuad type for both. This splits IOSurfaces out to a dedicated quad type to
        make it easier to understand which bits of state apply to each.

        The logical next step after this is to split the layer type as well, but that will be awkward until bug 84808 is
        resolved.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawQuad):
        (WebCore::LayerRendererChromium::drawTextureQuad):
        (WebCore):
        (WebCore::LayerRendererChromium::drawIOSurfaceQuad):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
        (WebCore::CCDrawQuad::toIOSurfaceDrawQuad):
        (WebCore):
        * platform/graphics/chromium/cc/CCDrawQuad.h:
        (WebCore):
        (CCDrawQuad):
        * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp.
        (WebCore):
        (WebCore::CCIOSurfaceDrawQuad::create):
        (WebCore::CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad):
        * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.h.
        (WebCore):
        (CCIOSurfaceDrawQuad):
        (WebCore::CCIOSurfaceDrawQuad::flipped):
        (WebCore::CCIOSurfaceDrawQuad::ioSurfaceSize):
        (WebCore::CCIOSurfaceDrawQuad::ioSurfaceTextureId):
        * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp:
        (WebCore::CCTextureDrawQuad::create):
        (WebCore::CCTextureDrawQuad::CCTextureDrawQuad):
        * platform/graphics/chromium/cc/CCTextureDrawQuad.h:
        (CCTextureDrawQuad):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
        (WebCore::CCTextureLayerImpl::appendQuads):

2012-04-26  Benjamin Poulain  <bpoulain@apple.com>

        Use WebKit types for the cache of ObjcClass::methodsNamed()
        https://bugs.webkit.org/show_bug.cgi?id=85012

        Reviewed by Geoffrey Garen.

        This patch redefines the method cache ObjcClass to avoid memory allocations in the case of positive match.

        Instead of using the converted name as the key, the original identifier string is used. This shortcuts
        all the other operations when there is a match.

        A side effect is a method can appear multiple times in the cache if it is invoked with different names using
        the escape character "$". An attaquer could bloat the cache with a few hundreds strings.
        In the common case, having each name mapped is an improvment.

        * bridge/objc/objc_class.h:
        (ObjcClass):
        * bridge/objc/objc_class.mm:
        (JSC::Bindings::ObjcClass::ObjcClass):
        (JSC::Bindings::ObjcClass::methodsNamed):

2012-04-26  Ojan Vafai  <ojan@chromium.org>

        Delete dead code in Arena.h/cpp
        https://bugs.webkit.org/show_bug.cgi?id=84997

        Reviewed by Eric Seidel.

        Also cleaned up some style issues. Renamed some single-letter variable names.
        Avoided anything other than totally trivial style changes to be 100% sure
        that there is no change in behavior.

        No new tests. There's no non-style code changes except inlining CLEAR_UNUSED
        and CLEAR_ARENA.

        * platform/Arena.cpp:
        (WebCore):
        (WebCore::CeilingLog2):
        (WebCore::InitArenaPool):
        (WebCore::ArenaAllocate):
        (WebCore::FreeArenaList):
        (WebCore::FinishArenaPool):
        * platform/Arena.h:
        (WebCore):

2012-04-26  Shawn Singh  <shawnsingh@chromium.org>

        Re-implement backFaceVisibility to avoid dealing with perspective w < 0 problem
        https://bugs.webkit.org/show_bug.cgi?id=84059

        Reviewed by Adrienne Walker.

        Unit tests added to CCMathUtilTest.cpp.

        This patch changes the implementation of backFaceIsVisible so that
        it doesn't need to deal with the w < 0 problem from of perspective
        projections. Instead, it is equally correct to simply use the
        inverse-transpose of the matrix, and quickly check the third row,
        third column element. Additionally, it was appropriate to move
        this function into TransformationMatrix itself.

        Making this change fixes some issues related to disappearing
        layers in Chromium (where the compositor incorrectly thought that
        the back face was visible, and skipped the layer).

        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateVisibleLayerRect):
        (WebCore::layerShouldBeSkipped):
        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::TransformationMatrix::isBackFaceVisible):
        (WebCore):
        * platform/graphics/transforms/TransformationMatrix.h:
        (TransformationMatrix):

2012-04-26  Martin Robinson  <mrobinson@igalia.com>

        [Cairo] Wrap cairo surfaces in a class when storing native images
        https://bugs.webkit.org/show_bug.cgi?id=83611

        Reviewed by Alejandro G. Castro.

        No new tests. This is just a refactoring. This shouldn't change
        functionality.

        Added class that wraps Cairo images surfaces to serve as the "native image"
        type for the Cairo platform. This will allow the addition of caching resampled
        images as well as versions of the image for non-image Cairo backends. Also
        split out BitmapImageCairo.cpp from ImageCairo.cpp since these classes are
        defined in two headers.

        * GNUmakefile.list.am: Added new files.
        * platform/graphics/BitmapImage.h: Added a factory method that takes an image surface to
        reduce code churn.
        * platform/graphics/ImageSource.h: NativeImagePtr is now NativeImageCairo*.
        (WebCore):
        * platform/graphics/cairo/BitmapImageCairo.cpp: Copied from Source/WebCore/platform/graphics/cairo/ImageCairo.cpp.
        * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Updated to reflect use of NativeImageCairo.
        * platform/graphics/cairo/ImageCairo.cpp: Ditto.
        * platform/graphics/cairo/NativeImageCairo.cpp: Added.
        * platform/graphics/cairo/NativeImageCairo.h: Added.
        * platform/graphics/cairo/PatternCairo.cpp: Updated to reflect use of NativeImageCairo.
        * platform/graphics/gtk/ImageGtk.cpp: Ditto.
        * platform/image-decoders/cairo/ImageDecoderCairo.cpp: Ditto.

2012-04-26  Mark Hahnenberg  <mhahnenberg@apple.com>

        [GTK] Massive media tests failures since r115288
        https://bugs.webkit.org/show_bug.cgi?id=84950

        Reviewed by Filip Pizlo.

        No new tests.

        Since the "cross-platform" WebCore timer is at too high of a level in terms of the layers 
        of WebKit for JSC to use, we are not currently able to use it in JSC, thus only those 
        platforms that support CoreFoundation can currently take advantage of the new and improved 
        GC activity timer. We've restored the old code paths for those platforms that don't have 
        CF so that they will at least have the same behavior as before when calling garbageCollectSoon.

        * bindings/js/GCController.cpp: Added back the old WebCore timer along with some 
        if-defs that do away with the WebCore timer on platforms that support CoreFoundation.
        (WebCore::GCController::GCController):
        (WebCore::GCController::garbageCollectSoon):
        (WebCore):
        (WebCore::GCController::gcTimerFired):
        * bindings/js/GCController.h: Ditto.
        (GCController):

2012-04-26  Adam Klein  <adamk@chromium.org>

        Don't include V8Proxy.h in ScriptValue.h when V8GCController is all that's required
        https://bugs.webkit.org/show_bug.cgi?id=84986

        Reviewed by Kentaro Hara.

        This makes it easier to include ScriptValue.h since it greatly reduces
        that header's dependencies.

        * bindings/v8/ScriptValue.h: Changed to include just V8GCController.h and
        removed comment which is redundant with explicit V8GCController references nearby.

2012-04-26  Aaron Colwell  <acolwell@chromium.org>

        Fix missing sourceState change on MEDIA_ERR_SOURCE_NOT_SUPPORTED error.
        https://bugs.webkit.org/show_bug.cgi?id=84996

        Reviewed by Eric Carlson.

        No new tests. http/tests/media/media-source/webm/video-media-source-errors.html was updated to verify that webkitSourceState is always SOURCE_CLOSED when the onerror event fires.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::noneSupported):

2012-04-26  Antti Koivisto  <antti@apple.com>

        Cache parsed stylesheets
        https://bugs.webkit.org/show_bug.cgi?id=85004

        Reviewed by Andreas Kling.

        CSS parsing is 1-2% of WebKit CPU usage on average pages, more on sites with large stylesheets.
        We currently reparse all stylesheets from source text when they are encountered again. In many
        browsing scenarios we can eliminate lot of this by caching the parsed stylesheets. For example 
        it is very common for subpages of a site to share the stylesheets.
        
        This patch enables memory caching for stylesheet loaded using the <link> element. Only stylesheets
        that have no import rules are cacheable for now.
        
        Cached stylesheets are copied on restore so there is no sharing (and no memory wins) yet.
        In the future we will also be able to share the actual data structures between pages for 
        significant memory savings.
        
        After browsing around for a while <5% of the memory cache data was in parsed stylesheets so this
        does not bloat the cache significantly.

        * css/CSSStyleSheet.cpp:
        (WebCore):
        (WebCore::StyleSheetInternal::estimatedSizeInBytes):
        
            Estimate stylesheet size so we can handle decoded data pruning correctly.

        * css/CSSStyleSheet.h:
        (StyleSheetInternal):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::averageSizeInBytes):
        (WebCore):
        * css/StylePropertySet.h:
        (StylePropertySet):
        * css/StyleRule.cpp:
        (WebCore::StyleRule::averageSizeInBytes):
        (WebCore):
        * css/StyleRule.h:
        (StyleRule):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        
            Save and restore parsed stylesheet. The current CSS parse context must be identical to the cached 
            stylesheets. This ensures that the parsing results would be identical.

        * loader/cache/CachedCSSStyleSheet.cpp:
        (WebCore):
        (WebCore::CachedCSSStyleSheet::destroyDecodedData):
        (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
        (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
        * loader/cache/CachedCSSStyleSheet.h:
        
            The parsed stylesheet cache is considered decoded data, similar to the image bitmaps. It uses the
            same mechanism for pruning.

        (WebCore):
        (CachedCSSStyleSheet):

2012-04-26  Anders Carlsson  <andersca@apple.com>

        A TileCache should never outlive its WebTileCacheLayer
        https://bugs.webkit.org/show_bug.cgi?id=85008
        <rdar://problem/11141172>

        Reviewed by Andreas Kling.

        Since WebTileCacheLayer objects can be destroyed on the scrolling thread, make sure to delete the TileCache layer
        when the PlatformCALayer is destroyed. This fixes a crash when the tile revalidation timer fires after the WebTileCacheLayer has
        been destroyed, but before the TileCache itself has been destroyed.

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::~PlatformCALayer):
        * platform/graphics/ca/mac/WebTileCacheLayer.h:
        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer dealloc]):
        (-[WebTileCacheLayer invalidate]):

2012-04-26  Benjamin Poulain  <bpoulain@apple.com>

        Use String instead of RefPtr<StringImpl> for the cache of ObjcClass
        https://bugs.webkit.org/show_bug.cgi?id=84932

        Reviewed by Andreas Kling.

        The cache with RefPtr<StringImpl*> was added with r115007.

        This patch aims at making the code a little easier to read. By using String,
        one would not need to know the Traits for StringImpl.

        * bridge/objc/objc_class.h:
        (ObjcClass):

2012-04-26  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to wrap() in SerializedScriptValue.cpp
        https://bugs.webkit.org/show_bug.cgi?id=84923

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        In this bug we pass Isolate to wrap() in SerializedScriptValue.cpp.

        No tests. No change in behavior.

        * bindings/v8/SerializedScriptValue.cpp:

2012-04-26  Hao Zheng  <zhenghao@chromium.org>

        [chromium] Complex text support for Android.
        https://bugs.webkit.org/show_bug.cgi?id=84431

        Complex text support is different on Android from other platforms.
        There are 2 kinds of font on Android: system fonts and fallback fonts.
        System fonts have a name, and are accessible in FontPlatformData.
        Fallback fonts do not have specific names, so they are not accessible
        from WebKit directly. There is one font for each script support.
        To feed Harfbuzz, use a trick to get correct SkTypeface based on script.

        Reviewed by Tony Chang.

        No new tests. Current tests are runnable on Android.

        * platform/graphics/FontCache.h:
        (FontCache): Make ComplexTextController friend of FontCache on Android.
        * platform/graphics/chromium/FontCacheAndroid.cpp:
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
        (WebCore::ComplexTextController::getComplexFontPlatformData):
        (WebCore):
        (WebCore::ComplexTextController::setupFontForScriptRun):
        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h:
        (ComplexTextController):

2012-04-26  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to wrap() (Part2)
        https://bugs.webkit.org/show_bug.cgi?id=84922

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to wrap() in custom bindings.

        No tests. No change in behavior.

        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8StyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
        (WebCore::toV8):

2012-04-26  Jon Lee  <jonlee@apple.com>

        [WK2] AlternativeTextClient leaks when the page is destroyed
        https://bugs.webkit.org/show_bug.cgi?id=84307
        <rdar://problem/11328431>

        Reviewed by Enrica Casucci.

        * page/AlternativeTextClient.h: Add pageDestroyed() call, as in EditorClient.
        (AlternativeTextClient):
        * page/Page.cpp:
        (WebCore::Page::~Page): When the page is destroyed, notify the client if it exists.

2012-04-26  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to wrap() (Part1)
        https://bugs.webkit.org/show_bug.cgi?id=84921

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to wrap() in custom bindings.

        No tests. No change in behavior.

        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSRuleCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSValueCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Float64ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8ImageDataCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
        (WebCore::toV8):

2012-04-26  Benjamin Poulain  <bpoulain@apple.com>

        ObjcClass::methodsNamed() can leak if buffer is dynamically allocated
        https://bugs.webkit.org/show_bug.cgi?id=84668

        Reviewed by Alexey Proskuryakov.

        Change ObjcClass::methodsNamed() to be based on a vector instead of managing
        the memory manually.

        Tests: platform/mac/plugins/bindings-objc-long-method-name.html
               platform/mac/plugins/bindings-objc-method-name-conversion.html

        * bridge/objc/objc_class.mm:
        (Bindings):
        (JSC::Bindings::convertJSMethodNameToObjc):
        (JSC::Bindings::ObjcClass::methodsNamed):

2012-04-26  Justin Novosad  <junov@chromium.org>

        [Chromium] Single buffered canvas layers with the threaded compositor
        https://bugs.webkit.org/show_bug.cgi?id=80540

        Reviewed by James Robinson.

        Tests:
        CCLayerTreeHostTestWriteLayersRedraw
        CCLayerTreeHostTestWriteLayersAfterVisible
        Canvas2DLayerChromiumTest.testFullLifecycleSingleThreadDeferred
        Canvas2DLayerChromiumTest.testFullLifecycleThreadDeferred
        CCSchedulerTest.VisibilitySwitchWithTextureAcquisition
        CCSchedulerTest.TextureAcquisitionCollision

        Disable double buffering and rate limiting on accelerated canvas
        when the threaded compositor and deferred canvas are enabled.
        Concurrent access to the layer texture by the main renderer thread and
        the compositor thread is avoided by enforcing a lock. The state of the
        lock is maintained by CCSchedulerStateMachine. Write access by the main
        thread is acquired through a signal round trip to the compositor thread,
        which may block the main thread in the event that one or more committed
        layers need to be protected until the compositor completes the requested
        draw. Draws on the impl thread are cancelled if the main thread has
        obtained write access to the texture.  The write access is relinquished
        by the main thread upon commit completion.  The scheduler state machine
        is responsible for preventing the texture lock from causing deadlocks by
        detecting and resolving problematic states.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::create):
        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::drawingIntoImplThreadTexture):
        (WebCore):
        (WebCore::Canvas2DLayerChromium::setTextureId):
        (WebCore::Canvas2DLayerChromium::setNeedsDisplayRect):
        (WebCore::Canvas2DLayerChromium::update):
        (WebCore::Canvas2DLayerChromium::layerWillDraw):
        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::acquireLayerTextures):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::setMainThreadNeedsLayerTextures):
        (WebCore):
        (WebCore::CCScheduler::processScheduledActions):
        * platform/graphics/chromium/cc/CCScheduler.h:
        (CCSchedulerClient):
        (CCScheduler):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
        (WebCore::CCSchedulerStateMachine::drawSuspendedUntilCommit):
        (WebCore):
        (WebCore::CCSchedulerStateMachine::scheduledToDraw):
        (WebCore::CCSchedulerStateMachine::shouldDraw):
        (WebCore::CCSchedulerStateMachine::shouldAcquireLayerTexturesForMainThread):
        (WebCore::CCSchedulerStateMachine::nextAction):
        (WebCore::CCSchedulerStateMachine::updateState):
        (WebCore::CCSchedulerStateMachine::setMainThreadNeedsLayerTextures):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
        (CCSchedulerStateMachine):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::CCThreadProxy):
        (WebCore::CCThreadProxy::beginFrame):
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
        (WebCore):
        (WebCore::CCThreadProxy::acquireLayerTextures):
        (WebCore::CCThreadProxy::acquireLayerTexturesForMainThreadOnImplThread):
        (WebCore::CCThreadProxy::scheduledActionAcquireLayerTexturesForMainThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore):
        (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
        (WebCore::AcceleratedDeviceContext::prepareForDraw):
        (AcceleratedDeviceContext):
        (WebCore::createAcceleratedCanvas):
        (WebCore::ImageBuffer::context):

2012-04-26  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to toV8() in SerializedScriptValue.cpp
        https://bugs.webkit.org/show_bug.cgi?id=84918

        Reviewed by Nate Chapin.

        This is the last step to pass Isolate around in
        SerializedScriptValue.cpp. This patch passes Isolate
        to toV8().

        No tests. No change in behavior.

        * bindings/v8/SerializedScriptValue.cpp:

2012-04-26  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to wrapSlow()
        https://bugs.webkit.org/show_bug.cgi?id=84919

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        In this bug, we pass Isolate to wrapSlow().

        Test: bindings/scripts/test/TestObj.idl etc

        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
        (GenerateHeader):
        (GenerateToV8Converters):

        * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests.
        (WebCore::V8Float64Array::wrapSlow):
        * bindings/scripts/test/V8/V8Float64Array.h:
        (V8Float64Array):
        (WebCore::V8Float64Array::wrap):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::V8TestActiveDOMObject::wrapSlow):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (V8TestActiveDOMObject):
        (WebCore::V8TestActiveDOMObject::wrap):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::V8TestCustomNamedGetter::wrapSlow):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (V8TestCustomNamedGetter):
        (WebCore::V8TestCustomNamedGetter::wrap):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (V8TestEventConstructor):
        (WebCore::V8TestEventConstructor::wrap):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::V8TestEventTarget::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (V8TestEventTarget):
        (WebCore::V8TestEventTarget::wrap):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (V8TestInterface):
        (WebCore::V8TestInterface::wrap):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::V8TestMediaQueryListListener::wrapSlow):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (V8TestMediaQueryListListener):
        (WebCore::V8TestMediaQueryListListener::wrap):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (V8TestNamedConstructor):
        (WebCore::V8TestNamedConstructor::wrap):
        * bindings/scripts/test/V8/V8TestNode.cpp:
        (WebCore::V8TestNode::wrapSlow):
        * bindings/scripts/test/V8/V8TestNode.h:
        (V8TestNode):
        (WebCore::V8TestNode::wrap):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::wrapSlow):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):
        (WebCore::V8TestObj::wrap):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (V8TestSerializedScriptValueInterface):
        (WebCore::V8TestSerializedScriptValueInterface::wrap):

2012-04-25  Antonio Gomes  <agomes@rim.com>

        Add ScrollAnimatorBlackBerry as an extension to ScrollAnimatorNone
        https://bugs.webkit.org/show_bug.cgi?id=84625

        Reviewed by Anders Carlsson.

        Patch adds ScrollAnimatorBlackBerry class as an extension to of
        ScrollAnimatorNone. The main goal here is extending the later to allow
        overscrolling while the animation runs.

        Once the animation finishes, the flag gets reseted and
        ScrollableArea::constrainsScrollingtoContentEdge is set back to the value
        it had before, so this method has to be explicitly called anytime it is wanted.

        * CMakeLists.txt:
        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::animationWillStart):
        (WebCore::ScrollAnimator::animationDidFinish):
        (ScrollAnimator):
        * platform/ScrollAnimatorNone.cpp:
        (WebCore):
        (WebCore::ScrollAnimatorNone::scroll):
        (WebCore::ScrollAnimatorNone::animationTimerFired):
        * platform/blackberry/ScrollAnimatorBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::ScrollAnimator::create):
        (WebCore::ScrollAnimatorBlackBerry::ScrollAnimatorBlackBerry):
        (WebCore::ScrollAnimatorBlackBerry::animationWillStart):
        (WebCore::ScrollAnimatorBlackBerry::animationDidFinish):
        (WebCore::ScrollAnimatorBlackBerry::setDisableConstrainsScrollingToContentEdgeWhileAnimating):
        * platform/blackberry/ScrollAnimatorBlackBerry.h: Added.
        (WebCore):
        (ScrollAnimatorBlackBerry):

2012-04-26  Antonio Gomes  <agomes@rim.com>

        [BlackBerry] Add smooth_scrolling options to CMAKE and enable it for Blackberry
        https://bugs.webkit.org/show_bug.cgi?id=84954

        Reviewed by Daniel Bates.

        Add the default scroll animator to the build system (ScrollAnimatorNone.cpp)

        * CMakeLists.txt:

2012-04-25  Antonio Gomes  <agomes@rim.com>

        Make ScrollView::scrollSize scrollbar-independent
        https://bugs.webkit.org/show_bug.cgi?id=84873

        Reviewed by Anders Carlsson.

        For ports that disable scrollbars creation at FrameView creation time
        ScrollView::scrollSize should still return the scrollable ammount of
        content (if any) if scrolling is not prohibted.

        No new test, but it makes ScrollAnimator work for the BlackBerry port.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollSize):

2012-04-25  Anders Carlsson  <andersca@apple.com>

        The tile cache should know if a frame view can ever have scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=84888

        Reviewed by Andreas Kling.

        If a frame view has overflow: hidden on its body element we know that the document will most
        likely never be scrolled. The tile cache should know about this so we can optimize.

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):
        * platform/graphics/TiledBacking.h:
        (TiledBacking):
        * platform/graphics/ca/mac/TileCache.h:
        (TileCache):
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::TileCache):
        (WebCore::TileCache::setCanHaveScrollbars):
        (WebCore):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):

2012-04-26  Ken Buchanan  <kenrb@chromium.org>

        Crash from removal of line break object after layout
        https://bugs.webkit.org/show_bug.cgi?id=75461

        Reviewed by David Hyatt.

        There is a condition where objects can get removed from underneath
        inlines while they represent a line break object in a RootInlineBox
        of an ancestor block. If an intermediary inline has already been
        marked as needing layout, then the line box will not get dirtied
        because dirtyLineFromChangedChild thinks it already has been.

        This patch introduces a new set in RenderObject to indicate whether
        an ancestral line box corresponding to the current line has been
        marked dirty or not. dirtyLinesFromChangedChild() can use this set 
        rather than m_selfNeedsLayout, so it will not be confused if a
        container was dirtied for some other reason that did not affect the
        line box.

        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): Use the new
        set rather than m_selfNeedsLayout in the container to determine
        whether to continue propagating upward.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::s_ancestorLineboxDirtySet): Instantiate the
        static member.
        (WebCore::RenderObject::willBeDestroyed): Clears the object from the
        linebox set when it is being destroyed.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::s_ancestorLineboxDirtySet): Added static
        member set.
        (WebCore::RenderObject::setNeedsLayout): Clears the
        object from the linebox set when layout bits are getting cleared.
        (WebCore::RenderObject::ancestorLineBoxDirty): Added.
        (WebCore::RenderObject::setAncestorLineBoxDirty): Added.

2012-04-26  Christophe Dumez  <christophe.dumez@intel.com>

        [EFL] Enable VIDEO_TRACK feature
        https://bugs.webkit.org/show_bug.cgi?id=84830

        Reviewed by Gustavo Noronha Silva.

        Enable support for VIDEO_TRACK feature by default for EFL port.

        * UseJSC.cmake:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):

2012-04-26  Antti Koivisto  <antti@apple.com>

        Implement StyleSheetInternal copying
        https://bugs.webkit.org/show_bug.cgi?id=84969

        Reviewed by Andreas Kling.

        We need to be able to copy stylesheets to cache them. Copying is already implement for
        most of the stylesheet data types but StyleSheetInternal::copy() is still missing.
        
        Preparation for stylesheet caching. The copying code is not used yet.

        * css/CSSNamespace.h:
        
            Instead of making it copyable, remove CSSNamespace class.
    
        * css/CSSParser.cpp:
        (WebCore::operator==):
        (WebCore):
        (WebCore::CSSParser::addNamespace):
        
            Avoid ping-ponging to StyleSheetInternal and back to set the default namespace.

        * css/CSSParserMode.h:
        (WebCore):
        (WebCore::operator!=):

            Add equality comparison operator to CSSParseMode. This will be needed to determine
            if a cached copy can be used.
            
        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::StyleSheetInternal):
        (WebCore):
        (WebCore::StyleSheetInternal::isCacheable):
        (WebCore::StyleSheetInternal::parserAddNamespace):
        (WebCore::StyleSheetInternal::determineNamespace):
        
            Use HashMap instead of iterating a linked list of CSSNamespaces.

        (WebCore::StyleSheetInternal::styleSheetChanged):
        
            Add mutation bit.

        * css/CSSStyleSheet.h:
        (WebCore):
        (StyleSheetInternal):
        (WebCore::StyleSheetInternal::copy):
        
            Copy constructor. It only usable for cacheable stylesheets.

2012-04-26  Philip Rogers  <pdr@google.com>

        Fix Skia's SkPathContainsPoint to work with sub-pixel accuracy
        https://bugs.webkit.org/show_bug.cgi?id=84117

        Reviewed by Eric Seidel.

        Because we do hit testing in object-space (i.e., we may see a 0.1px*0.1px path) we
        need to support sub-pixel hit testing in Skia. Skia does not provide analytical
        path hit testing, so hit tests are done by rasterizing a path and checking if a
        specific pixel is drawn. SkPathContainsPoint did not work with sub-pixel values
        because this rasterization was sometimes very small which did not give enough
        resolution to check if the hit test pixel was drawn.

        This patch scales the path to a very large size during hit testing so that Skia's
        raster-based hit testing will work properly. Because Skia avoids unnecessary
        path rasterization, this is actually inexpensive.

        Below is a summary of a performance test on simple and complex paths:
                                                 (before patch, after patch)
        Skia/Chrome 10,000 hit tests on a simple path:  (229ms, 238ms)
        Skia/Chrome 10,000 hit tests on a complex path: (701ms, 704ms)
        For comparison, CG/Safari takes 236ms on the simple path and 466ms on the complex path.
 
        Therefore, this patch introduces small but measurable regression in hit testing
        performance due to scaling the path.

        Test: svg/hittest/svg-small-path.xhtml

        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::SkPathContainsPoint):

2012-04-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r115323.
        http://trac.webkit.org/changeset/115323
        https://bugs.webkit.org/show_bug.cgi?id=84975

        Bad test, breaks all builds (Requested by apavlov1 on
        #webkit).

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::enable):
        (WebCore::InspectorPageAgent::disable):
        * inspector/InspectorPageAgent.h:
        * inspector/front-end/Settings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        * inspector/front-end/inspector.js:

2012-04-26  Douglas Stockwell  <dstockwell@chromium.org>

        IndexedDB: cursor does not correctly iterate over keys added and removed during iteration
        https://bugs.webkit.org/show_bug.cgi?id=84467

        Reviewed by Ojan Vafai.

        Ensure that the iterator over the tree of cached adds/removes always points at
        the current key, or if the db iterator is current, the next key:
        
        - When refreshing the tree iterator after a mutation, always seek unless the
        tree iterator is current.
        
        - When handing conflicts and delete markers, only advance the tree iterator as
        far as the db iterator.
        
        Remove the expensive (and now redundant) logic that issued a get() to check
        whether an item had been deleted.

        Test: storage/indexeddb/cursor-added-bug.html

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore):
        * platform/leveldb/LevelDBTransaction.cpp:
        (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
        (WebCore::LevelDBTransaction::TransactionIterator::handleConflictsAndDeletes):

2012-04-26  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
        https://bugs.webkit.org/show_bug.cgi?id=84946

        Based on user actions in the Inspector frontend, InspectorPageAgent invokes Settings::setScriptEnabled()
        for the associated page to switch the script execution therein.

        Reviewed by Yury Semikhatsky.

        Test: inspector/debugger/disable-script.html

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (PageAgentState):
        (WebCore::InspectorPageAgent::enable):
        (WebCore::InspectorPageAgent::disable):
        (WebCore::InspectorPageAgent::getScriptExecutionStatus):
        (WebCore):
        (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
        * inspector/InspectorPageAgent.h:
        * inspector/front-end/Settings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        (WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
        (WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
        * inspector/front-end/inspector.js:

2012-04-26  Dominik Röttsches  <dominik.rottsches@linux.intel.com>

        [cairo] CairoGraphicsContext fillRect (with Color) overrides composite operator
        https://bugs.webkit.org/show_bug.cgi?id=84848

        Reviewed by Martin Robinson.

        FillRectWithColor used to be called fillRectSourceOver before r89314
        where this operator still made sense. The way this function is used
        these days doesn't expect the composite operator to be overridden anymore.

        No new tests, covered by existing tests, e.g.
        svg/filters/feDropShadow.svg

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::fillRectWithColor):

2012-04-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Fix additive by animations for most SMIL list types
        https://bugs.webkit.org/show_bug.cgi?id=84968

        Reviewed by Antti Koivisto.

        Unify SMIL list animation code, to correctly respect the underlying from value for by-animations.
        Add lots of new tests covering by-animations for all primitives (except AnimatedPath/TransformList).
        AnimatedTransformList is not working correctly yet, and will be covered in a follow-up patch.
        AnimatdPath by-animations are complex, and thus also handled in another follow-up patch.

        Tests: svg/animations/additive-type-by-animation.html
               svg/animations/length-list-animation-expected.svg
               svg/animations/length-list-animation.svg
               svg/animations/svglength-additive-by-1.html
               svg/animations/svglength-additive-by-2.html
               svg/animations/svglength-additive-by-3.html
               svg/animations/svglength-additive-by-4.html
               svg/animations/svglength-additive-by-5.html
               svg/animations/svglength-additive-by-6.html
               svg/animations/svglength-additive-from-by-1.html
               svg/animations/svglength-additive-from-by-2.html
               svg/animations/svglength-additive-from-by-3.html
               svg/animations/svglength-additive-from-by-4.html

        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPointList.cpp:
        (WebCore::SVGAnimatedPointListAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
        * svg/SVGAnimationElement.h:
        (WebCore::SVGAnimationElement::adjustFromToListValues):

2012-04-26  Antti Koivisto  <antti@apple.com>

        Add copy constructor to CSSSelector
        https://bugs.webkit.org/show_bug.cgi?id=84956

        Reviewed by Anders Carlsson.

        To copy CSSSelectorLists correctly CSSSelector needs a copy constructor.
        
        This will be needed to implement stylesheet caching. The code is not used yet.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::createRareData):
        * css/CSSSelector.h:
        (CSSSelector):
        (WebCore::CSSSelector::RareData::create):
        (RareData):
        
            Refcount RareData to make copying easier. This has no significant memory impact, rare data is rare.

        (WebCore::CSSSelector::CSSSelector):
        (WebCore):
        (WebCore::CSSSelector::~CSSSelector):
        * css/CSSSelectorList.cpp:
        (WebCore::CSSSelectorList::CSSSelectorList):
        
            Use copy constructor instead of memcpy (which doesn't work).

2012-04-26  Raphael Kubo da Costa  <rakuco@webkit.org>

        [EFL] Fix the build with DRAG_SUPPORT disabled.
        https://bugs.webkit.org/show_bug.cgi?id=84963

        Reviewed by Antonio Gomes.

        No new tests, build system-related change.

        EventHandlerEfl.cpp always assumed DRAG_SUPPORT was enabled and lacked
        the proper #if ENABLED() checks for some member variables and methods
        conditionally defined in EventHandler.h.

        * page/efl/EventHandlerEfl.cpp:
        (WebCore):

2012-04-26  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: remove stackTrace property from requestWillBeSent - it is already a part of the initiator.
        https://bugs.webkit.org/show_bug.cgi?id=84964

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::willSendRequest):
        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
        (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
        (get WebInspector):

2012-04-26  Stephen Chenney  <schenney@chromium.org>

        SVG FEConvolveMatrix does not check for invalid property values
        https://bugs.webkit.org/show_bug.cgi?id=84363

        Reviewed by Dirk Schulze.

        Adding code to check for valid input values on SVG feConvolveMatrix properties.
        And adding some of the first effective error reporting for SVG elements.

        Tests: svg/filters/feConvolveMatrix-invalid-targetX-expected.svg
               svg/filters/feConvolveMatrix-invalid-targetX.svg
               svg/filters/feConvolveMatrix-invalid-targetY-expected.svg
               svg/filters/feConvolveMatrix-invalid-targetY.svg
               svg/filters/feConvolveMatrix-negative-kernelUnitLengthX-expected.svg
               svg/filters/feConvolveMatrix-negative-kernelUnitLengthX.svg
               svg/filters/feConvolveMatrix-negative-kernelUnitLengthY-expected.svg
               svg/filters/feConvolveMatrix-negative-kernelUnitLengthY.svg
               svg/filters/feConvolveMatrix-negative-orderX-expected.svg
               svg/filters/feConvolveMatrix-negative-orderX.svg
               svg/filters/feConvolveMatrix-negative-orderY-expected.svg
               svg/filters/feConvolveMatrix-negative-orderY.svg
               svg/filters/feConvolveMatrix-non-integral-order-expected.svg
               svg/filters/feConvolveMatrix-non-integral-order.svg
               svg/filters/feConvolveMatrix-zero-divisor-expected.svg
               svg/filters/feConvolveMatrix-zero-divisor.svg

        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::FEConvolveMatrix):
        (WebCore::FEConvolveMatrix::setKernelSize):
        (WebCore::FEConvolveMatrix::setDivisor):
        (WebCore::FEConvolveMatrix::setKernelUnitLength):
        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::parseAttribute):
        (WebCore::SVGFEConvolveMatrixElement::build):

2012-04-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Move WebKit1 specific conversion of touch-events to WebKit1.
        https://bugs.webkit.org/show_bug.cgi?id=84951

        Reviewed by Kenneth Rohde Christiansen.

        No change in functionality. No new tests. 

        * Target.pri:
        * platform/PlatformTouchEvent.h:
        (PlatformTouchEvent):
        * platform/PlatformTouchPoint.h:
        (PlatformTouchPoint):
        * platform/qt/PlatformTouchEventQt.cpp: Removed.
        * platform/qt/PlatformTouchPointQt.cpp: Removed.

2012-04-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Share code used to animate numbers types between all animators
        https://bugs.webkit.org/show_bug.cgi?id=84945

        Reviewed by Antti Koivisto.

        Refactor animateAdditiveNumber() from SVGAnimatedNumberAnimator into SVGAnimationElement,
        to reuse it for all primitives. Converted most primitives to use the new code. Lists, paths,
        colors are still todo.

        Doesn't affect any tests.

        * svg/SVGAnimatedAngle.cpp:
        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedInteger.cpp:
        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedInteger.h:
        (SVGAnimatedIntegerAnimator):
        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumber.h:
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumberOptionalNumber.h:
        * svg/SVGAnimatedRect.cpp:
        (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
        * svg/SVGAnimationElement.h:
        (WebCore::SVGAnimationElement::animateAdditiveNumber):
        (SVGAnimationElement):

2012-04-26  Ryosuke Niwa  <rniwa@webkit.org>

        Forgotten build fix after r115227.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::get4Values):

2012-04-26  Mihnea Ovidenie  <mihnea@adobe.com>

        Crash when collecting svg symbol element in named flow.
        https://bugs.webkit.org/show_bug.cgi?id=84493

        Reviewed by David Hyatt.

        Test: fast/regions/symbol-in-named-flow-crash.svg

        * dom/Element.cpp:
        (WebCore::Element::~Element):
        Add an assert that an element that was collected into a named flow was already removed at this point
        (when the document is not in the process of destruction)
        (WebCore::Element::unregisterNamedFlowContentNode):
        Created a new function for unregistering a content node. In the future, this function may be used for
        content nodes from shadow dom.
        (WebCore::Element::detach):
        * dom/Element.h:
        (Element):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        Prevent elements that are part of shadow dom to be collected into a named flow.

2012-04-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Share code used to animate discrete types between all animators
        https://bugs.webkit.org/show_bug.cgi?id=84853

        Reviewed by Andreas Kling.

        Share by-animation handling for non-additive types in a central method in SVGAnimatedTypeAnimator,
        to be reusable by SVGAnimatedBoolean/Enumeration/PreserveAspectRatio/String. Add a new test covering
        these animations have no effect.

        Test: svg/animations/non-additive-type-by-animation.html

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::isAdditive):
        * svg/SVGAnimateElement.h:
        (SVGAnimateElement):
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::calculateFromAndByValues):
        * svg/SVGAnimatedBoolean.cpp:
        (WebCore::isTrueString):
        (WebCore::SVGAnimatedBooleanAnimator::constructFromString):
        (WebCore::SVGAnimatedBooleanAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedEnumeration.cpp:
        (WebCore::SVGAnimatedEnumerationAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPreserveAspectRatio.cpp:
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedString.cpp:
        (WebCore::SVGAnimatedStringAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::startedActiveInterval):
        * svg/SVGAnimationElement.h:
        (SVGAnimationElement):
        (WebCore::SVGAnimationElement::animateDiscreteType):

2012-04-26  Chris Fleizach2  <cfleizach@apple.com>

        CrashTracer: [USER] 157 crashes in WebProcess at com.apple.WebCore: WebCore::AccessibilityRenderObject::isAttachment const + 29
        https://bugs.webkit.org/show_bug.cgi?id=84463

        Reviewed by Darin Adler.

        Accessibility was not being enabled when WK2 was asking only for the focused UI element.

        No layout test could be written because the WKTestRunner mechanism works differently when asking for this.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::focusedUIElementForPage):
        (WebCore::AXObjectCache::rootObject):
        (WebCore::AXObjectCache::rootObjectForFrame):

2012-04-25  Dana Jansens  <danakj@chromium.org>

        [chromium] Remove guarded virtual methods from WebFilterOperation API
        https://bugs.webkit.org/show_bug.cgi?id=84926

        Reviewed by James Robinson.

        * WebCore.gypi:
        * platform/chromium/support/WebFilterOperation.cpp: Removed.
        * platform/chromium/support/WebFilterOperations.cpp:
        (WebKit::WebFilterOperations::append):

2012-04-25  Benjamin Poulain  <benjamin@webkit.org>

        Add a version of StringImpl::find() without offset
        https://bugs.webkit.org/show_bug.cgi?id=83968

        Reviewed by Sam Weinig.

        Remove the zero offset of the find() functions on strings.

        * html/parser/XSSAuditor.cpp:
        (WebCore::XSSAuditor::init):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::trimToNextSeparator):
        (WebCore::parseCacheHeader):

2012-04-25  Mark Hahnenberg  <mhahnenberg@apple.com>

        WebCore shouldn't call collectAllGarbage directly
        https://bugs.webkit.org/show_bug.cgi?id=84897

        Reviewed by Geoffrey Garen.

        No new tests. 

        Currently, GCController calls Heap::collectAllGarbage directly, which leads 
        to an overload of collections as the timer in GCController and the timer in 
        GCActivityCallback compete for collection time and fire independently. As a 
        result, we end up doing almost 600 full collections during an in-browser run 
        of SunSpider, or 20 full collections on a single load of TechCrunch. 

        We can do better by preventing WebCore from calling collectAllGarbage directly 
        and instead going through Heap::reportAbandonedObjectGraph, since that is what 
        WebCore is trying to do--notify the Heap that a lot of garbage may have just 
        been generated when we left a page.

        * WebCore.exp.in:
        * bindings/js/GCController.cpp: Removed all timer stuff.
        (WebCore::GCController::GCController):
        (WebCore::GCController::garbageCollectSoon): Changed to call Heap::reportAbandonedObjectGraph.
        (WebCore::GCController::garbageCollectNow): Changed to still directly call collectAllGarbage.
        We will deprecate this function soon hopefully.
        * bindings/js/GCController.h: Removed timer stuff.
        (GCController):
        * bindings/js/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::collectGarbage): Changed to call garbageCollectSoon.

2012-04-25  James Robinson  <jamesr@chromium.org>

        [chromium] REGRESSION(112286) Compositor initialization blocks for program compilation / linking
        https://bugs.webkit.org/show_bug.cgi?id=84822

        Reviewed by Adrienne Walker.

        r112286 introduced a subtle regression in the chromium compositor startup sequence - by querying the texture
        copy program's uniform location at the end of LayerRendererChromium::initialize(), the compositor's thread was
        blocked until the service side compiled _all_ eagerly initialized shaders. The intent of the way the compositor
        programs are created is that a set of commonly-used programs are sent to the service side, but no blocking calls
        are made until after we go through the first paint (with the hope that the service side will complete the
        compilation by then).

        Fixed by moving program initialization (which also grabs uniform locations) until the first actual use of the
        copier. It may be worth deferring the program initialization completely if it's not used very often.

        Added unit test in LayerRendererChromiumTests to make sure LRC initialization does not make any
        synchronous calls (like getUniformLocation()).

        * platform/graphics/chromium/TextureCopier.cpp:
        (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
        (WebCore::AcceleratedTextureCopier::copyTexture):

2012-04-25  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Authenticated proxy isn't working.
        https://bugs.webkit.org/show_bug.cgi?id=84579

        Reviewed by Antonio Gomes.

        We should try to get username and password from WiFi advanced configuration first
        when 407 is received.

        No new tests. This is covered by existing http tests when proxy's username and password
        are configured for WiFi.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::sendRequestWithCredentials):

2012-04-25  Alec Flett  <alecflett@chromium.org>

        IndexedDB: implement cursor.advance()
        https://bugs.webkit.org/show_bug.cgi?id=84174

        Reviewed by Ojan Vafai.

        Implement IDBCursor.advance() to spec.

        Test: storage/indexeddb/cursor-advance.html

        * Modules/indexeddb/IDBBackingStore.h:
        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore::IDBCursor::advance):
        (WebCore):
        * Modules/indexeddb/IDBCursor.h:
        (IDBCursor):
        * Modules/indexeddb/IDBCursor.idl:
        * Modules/indexeddb/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::advance):
        (WebCore):
        (WebCore::IDBCursorBackendImpl::advanceInternal):
        * Modules/indexeddb/IDBCursorBackendImpl.h:
        (IDBCursorBackendImpl):
        * Modules/indexeddb/IDBCursorBackendInterface.h:
        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore):

2012-04-24  Adrienne Walker  <enne@google.com>

        [chromium] Hold video provider lock from willDraw to didDraw
        https://bugs.webkit.org/show_bug.cgi?id=84805

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::willDraw):
        (WebCore):
        (WebCore::CCVideoLayerImpl::willDrawInternal):
        (WebCore::CCVideoLayerImpl::appendQuads):
        (WebCore::CCVideoLayerImpl::didDraw):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:

2012-04-25  Adrienne Walker  <enne@google.com>

        [chromium] Prevent CCLayerImpl::willDraw/didDraw mismatches
        https://bugs.webkit.org/show_bug.cgi?id=84812

        Reviewed by James Robinson.

        Because some layers lock/unlock resources, it needs to be guaranteed
        that if willDraw is called on a layer then didDraw will also be called
        on that layer before another willDraw or before layer destruction. Add
        asserts to make sure that this is the case.

        willDraw is called via CCLayerTreeHostImpl::prepareToDraw ->
        calculateRenderPasses. didDraw was previously called in
        CCLayerTreeHostImpl::drawLayers. Sometimes drawLayers was being
        skipped by the caller of these functions based on what prepareToDraw
        returned (causing didDraw to not be called). Fix this by having an
        explicit step to call didDraw on all layers. This new didDrawAllLayers
        function must be called if and only if prepareToDraw is called.

        Tested by existing tests via new asserts in CCLayerImpl.

        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        (WebCore::CCLayerImpl::~CCLayerImpl):
        (WebCore::CCLayerImpl::willDraw):
        (WebCore):
        (WebCore::CCLayerImpl::didDraw):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
        (WebCore::CCScrollbarLayerImpl::willDraw):
        (WebCore::CCScrollbarLayerImpl::didDraw):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
        (WebCore::CCTextureLayerImpl::willDraw):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::willDraw):
        (WebCore::CCVideoLayerImpl::didDraw):

2012-04-24  Kent Tamura  <tkent@chromium.org>

        Calendar Picker: Resize to minimal size to fit the content
        https://bugs.webkit.org/show_bug.cgi?id=84826

        Reviewed by Hajime Morita.

        Using fixed-size popup isn't nice. The calender picker popup size should
        be minimal.

        The minimal size depends on font settings, localized labels, and
        localized formats. So we put visible objects on a transparent element,
        calculate minimal size, resize the popup, then show the objects.

        * Resources/calendarPicker.css:
        (body): Don't use purple. It was for debugging purpose.
        The body is visible for a short period becuse we use transparent element.
        (#main):
         - Add nowrap to avoid text wrapping.
         - Add wider width to avoid wrapping.
         - Add opacity to hide incomplete layout.
        (.year-month-upper): Don't set flexible box yet.
        (.month-selector-box): Fix incorrect display value.
        (.days-area):
        Don't set table-layout:fixed and width:100% in order that it has the
        minimal width.

        * Resources/calendarPicker.js:
        (initialize): Make a new functio to resize.
        (fixWindowSize):
        Compute the required width from the right edge of the next year button,
        the maximum cell width, and so on.  Then, set CSS properties to have
        correct layout.
        (YearMonthController.prototype.attachTo):
        Set min-width property for a long year-month string.
        (YearMonthController.prototype._showPopup):
        Center the _monthPopup vertically.

        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::CalendarPickerElement::contentSize):
        Specify small size for the initial size. It's better than showing a
        large window then shrink the size.
        * page/PagePopupClient.h:
        (PagePopupClient): Remove a false comment. We should support resize*().

2012-04-25  Kent Tamura  <tkent@chromium.org>

        Unreviewed. Sort Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2012-04-25  Alpha Lam  <hclam@chromium.org>

        Unreviewed, rolling out r115260.
        http://trac.webkit.org/changeset/115260
        https://bugs.webkit.org/show_bug.cgi?id=84467

        r115260 is crashing a list of IndexDB tests, revert.

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore):
        * platform/leveldb/LevelDBTransaction.cpp:
        (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
        (WebCore::LevelDBTransaction::TransactionIterator::handleConflictsAndDeletes):
        * platform/leveldb/LevelDBTransaction.h:
        (TransactionIterator):

2012-04-25  James Simonsen  <simonjam@chromium.org>

        [Web Timing] Add a vendor-prefixed Performance Timeline API
        https://bugs.webkit.org/show_bug.cgi?id=80350

        As described here: http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html

        The API is there and should be correct, but it isn't particularly useful,
        because nothing is populated. Upcoming changes will add Navigation Timing
        and Resource Timing.

        Reviewed by Tony Gentilcore.

        No new tests. Functionality is disabled on all platforms.

        * CMakeLists.txt: Added PerformanceEntry* files.
        * DerivedSources.pri: Ditto.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * page/Performance.cpp:
        (WebCore::Performance::webkitGetEntries): Added.
        (WebCore::Performance::webkitGetEntriesByType): Added.
        (WebCore::Performance::webkitGetEntriesByName): Added.
        * page/Performance.h:
        (Performance):
        * page/Performance.idl:
        * page/PerformanceEntry.cpp: Added.
        (WebCore):
        (WebCore::PerformanceEntry::PerformanceEntry):
        (WebCore::PerformanceEntry::name):
        (WebCore::PerformanceEntry::entryType):
        (WebCore::PerformanceEntry::startTime):
        (WebCore::PerformanceEntry::duration):
        * page/PerformanceEntry.h: Added.
        (WebCore):
        (PerformanceEntry):
        * page/PerformanceEntry.idl: Added.
        * page/PerformanceEntryList.cpp: Added.
        (WebCore):
        (WebCore::PerformanceEntryList::PerformanceEntryList):
        (WebCore::PerformanceEntryList::~PerformanceEntryList):
        (WebCore::PerformanceEntryList::length):
        (WebCore::PerformanceEntryList::item):
        (WebCore::PerformanceEntryList::append):
        * page/PerformanceEntryList.h: Added.
        (WebCore):
        (PerformanceEntryList):
        (WebCore::PerformanceEntryList::create):
        * page/PerformanceEntryList.idl: Added.

2012-04-25  Benjamin Poulain  <bpoulain@apple.com>

        Move convertJSMethodNameToObjc() to be a utility function of ObjcClass
        https://bugs.webkit.org/show_bug.cgi?id=84915

        Reviewed by Darin Adler.

        The function convertJSMethodNameToObjc() is only useful for ObjcClass::methodsNamed().

        This patch moves the function from objc_utility.mm to be a static function in objc_class.mm.
        It aims at simplifying the code for future changes of ObjcClass.

        * bridge/objc/objc_class.mm:
        (Bindings):
        (JSC::Bindings::convertJSMethodNameToObjc):
        * bridge/objc/objc_utility.h:
        * bridge/objc/objc_utility.mm:
        (Bindings):

2012-04-25  Kent Tamura  <tkent@chromium.org>

        Unreviewed. Sort Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2012-04-25  Greg Billock  <gbillock@google.com>

        Implement object-literal constructor for the Intent object.
        https://bugs.webkit.org/show_bug.cgi?id=84220

        Reviewed by Kentaro Hara.

        The use of the custom constructor will hopefully be temporary, as we plan
        to convert to just using the object literal constructor, which can then use codegen.
        See spec: http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html

        Added support for the service and extras parameters in the Intent
        object to support the speced members in the object literal constructor.

        Added supporting accessor to Dictionary to retrieve a sub-Dictionary,
        and a utility to ScriptValue to serialize with ports.

        Test: webintents/web-intent-obj-constructor.html

        (WebCore):
        * Modules/intents/Intent.cpp:
        (WebCore::Intent::create):
        (WebCore::Intent::Intent):
        (WebCore::Intent::service):
        (WebCore):
        (WebCore::Intent::extras):
        * Modules/intents/Intent.h:
        (WebCore):
        (Intent):
        * Modules/intents/Intent.idl:
        * WebCore.gypi:
        * bindings/v8/Dictionary.cpp:
        (WebCore::Dictionary::get):
        (WebCore):
        * bindings/v8/Dictionary.h:
        (Dictionary):
        * bindings/v8/ScriptValue.cpp:
        (WebCore::ScriptValue::serialize):
        (WebCore):
        * bindings/v8/ScriptValue.h:
        (WTF):
        (WebCore):
        (ScriptValue):
        * bindings/v8/custom/V8IntentConstructor.cpp: Added.
        (WebCore):
        (WebCore::V8Intent::constructorCallback):

2012-04-25  Alexandru Chiculita  <achicu@adobe.com>

        CSS Shaders: Use u_texture instead of s_texture. It was updated in the spec
        https://bugs.webkit.org/show_bug.cgi?id=82618

        Reviewed by Dean Jackson.
        
        Changed the uniform name passed to the CSS Shaders from s_texture to u_texture.
        https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html

        No new tests, just updating existing ones.

        * platform/graphics/filters/CustomFilterShader.cpp:
        (WebCore::CustomFilterShader::defaultFragmentShaderString):
        (WebCore::CustomFilterShader::initializeParameterLocations):

2012-04-25  Douglas Stockwell  <dstockwell@chromium.org>

        IndexedDB: cursor does not correctly iterate over keys added and removed during iteration
        https://bugs.webkit.org/show_bug.cgi?id=84467

        Reviewed by Ojan Vafai.

        Ensure that the iterator over the tree of cached adds/removes always points at
        the current key, or if the db iterator is current, the next key:
        
        - When refreshing the tree iterator after a mutation, always seek unless the
        tree iterator is current.
        
        - When handing conflicts and delete markers, only advance the tree iterator as
        far as the db iterator.
        
        Remove the expensive (and now redundant) logic that issued a get() to check
        whether an item had been deleted.

        Test: storage/indexeddb/cursor-added-bug.html

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore):
        * platform/leveldb/LevelDBTransaction.cpp:
        (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
        (WebCore::LevelDBTransaction::TransactionIterator::handleConflictsAndDeletes):

2012-04-25  Antti Koivisto  <antti@apple.com>

        Try to fix build with STYLE_SCOPED enabled.

        Not reviewed.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::determineScope):

2012-04-25  Alec Flett  <alecflett@chromium.org>

        IndexedDB: support openCursor(IDBKey)
        https://bugs.webkit.org/show_bug.cgi?id=84652

        Reviewed by Ojan Vafai.

        Add signatures for openCursor/openKeyCursor(IDBKey).

        Test: storage/indexeddb/opencursor-key.html

        * Modules/indexeddb/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore):
        (WebCore::IDBIndex::openKeyCursor):
        * Modules/indexeddb/IDBIndex.h:
        (WebCore::IDBIndex::openCursor):
        (IDBIndex):
        (WebCore::IDBIndex::openKeyCursor):
        * Modules/indexeddb/IDBIndex.idl:
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::openCursor):
        (WebCore):
        * Modules/indexeddb/IDBObjectStore.h:
        (WebCore::IDBObjectStore::openCursor):
        (IDBObjectStore):
        * Modules/indexeddb/IDBObjectStore.idl:

2012-04-25  Antti Koivisto  <antti@apple.com>

        Remove owner node pointer from StyleSheetInternal 
        https://bugs.webkit.org/show_bug.cgi?id=84882

        Reviewed by Andreas Kling.

        To make sharing between multiple nodes possible StyleSheetInternal should not have a Node pointer.
        
        - Make StyleSheetInternal constructor take CSSParserContext instead of Node*
        - Move owner node pointer to CSSStyleSheet. CSSStyleSheet now acts as a client for StyleSheetInternal.
        
        This gets us closer to being able to cache stylesheet data structures.
        
        * css/CSSImportRule.cpp:
        (WebCore::StyleRuleImport::setCSSStyleSheet):
        (WebCore::StyleRuleImport::requestStyleSheet):
        
            Setup CSSParserContext.
            Remove FIXME about updateBaseURL(). It is no longer possible to change URL of StyleSheetInternal.

        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::setSelectorText):
        * css/CSSParser.cpp:
        (WebCore::CSSParserContext::CSSParserContext):
        * css/CSSParserMode.h:
        (CSSParserContext):
    
            Expand CSSParserContext constructors.

        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::StyleResolver):
        (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * css/StyleResolver.h:
        (StyleResolver):
        * css/CSSStyleSheet.cpp:

            User stylesheets went back to being CSSStyleSheets. Adapt to that.

        (WebCore::StyleSheetInternal::StyleSheetInternal):
        (WebCore):
        (WebCore::StyleSheetInternal::checkLoaded):
        (WebCore::StyleSheetInternal::startLoadingDynamicSheet):
        (WebCore::StyleSheetInternal::rootStyleSheet):
        (WebCore::StyleSheetInternal::singleOwnerNode):
        (WebCore::StyleSheetInternal::singleOwnerDocument):
        (WebCore::StyleSheetInternal::styleSheetChanged):
        
            The owner node is now located through CSSStyleSheet. Only one client is supported atm.

        (WebCore::StyleSheetInternal::registerClient):
        (WebCore::StyleSheetInternal::unregisterClient):
        
            Register CSSStyleSheets.

        (WebCore::CSSStyleSheet::CSSStyleSheet):
        (WebCore::CSSStyleSheet::~CSSStyleSheet):
        (WebCore::CSSStyleSheet::rules):
        (WebCore::CSSStyleSheet::cssRules):
        (WebCore::CSSStyleSheet::ownerDocument):
        * css/CSSStyleSheet.h:
        (WebCore::StyleSheetInternal::create):
        (WebCore::StyleSheetInternal::createInline):
        (StyleSheetInternal):
        (WebCore::CSSStyleSheet::create):
        (CSSStyleSheet):
        
            Moved m_ownerNode.
            Changed constructors
            Removed setFinalURL(). 

        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
        * dom/Document.cpp:
        (WebCore::Document::updateBaseURL):
        
            Instead of setFinalURL, construct a new StyleSheetInternal if the base url ever changes.

        (WebCore::Document::pageUserSheet):
        (WebCore::Document::pageGroupUserSheets):
        (WebCore::Document::addUserSheet):
        (WebCore::Document::elementSheet):
        * dom/Document.h:
        (Document):
        (WebCore::Document::documentUserSheets):
        
            Adapt to the new interface.
            Turned user stylesheets CSSStyleSheets so they can find the owner node.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::setCSSStyleSheet):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::createSheet):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::SelectorProfile::startSelector):
        (WebCore::InspectorCSSAgent::bindStyleSheet):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::fillMediaListChain):
        (WebCore::InspectorStyleSheet::ownerDocument):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::serializeCSSStyleSheet):

2012-04-25  Adam Klein  <adamk@chromium.org>

        Fix uninitialized variable warnings in PasteboardMac.mm after 115145
        https://bugs.webkit.org/show_bug.cgi?id=84879

        Reviewed by Enrica Casucci.

        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::getDataSelection): Initialize attributedString to nil.
        (WebCore::Pasteboard::writeSelectionForTypes): ditto.

2012-04-25  Kenneth Russell  <kbr@google.com>

        Delete CanvasPixelArray, ByteArray, JSByteArray and JSC code once unreferenced
        https://bugs.webkit.org/show_bug.cgi?id=83655

        Reviewed by Oliver Hunt.

        Removed last few references to ByteArray, replacing with
        Uint8ClampedArray as necessary, and deleted now-obsolete
        CanvasPixelArray, ByteArray and JSByteArray. Removed code from
        JavaScriptCore special-casing ByteArray.

        No new tests. Did full layout test run on Mac OS; no regressions
        seen from this change.

        * CMakeLists.txt:
        * DerivedSources.pri:
        * ForwardingHeaders/runtime/JSByteArray.h: Removed.
        * GNUmakefile.list.am:
        * PlatformBlackBerry.cmake:
        * Target.pri:
        * UseV8.cmake:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/v8/SerializedScriptValue.cpp:
        * bindings/v8/V8Binding.h:
        (WebCore::isHostObject):
        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::typeCallback):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::isJSUint8ClampedArray):
        (Bindings):
        (JSC::Bindings::valueRealType):
        (JSC::Bindings::convertValueToQVariant):
        (JSC::Bindings::convertQVariantToValue):
        * html/canvas/CanvasPixelArray.cpp: Removed.
        * html/canvas/CanvasPixelArray.h: Removed.
        * html/canvas/CanvasPixelArray.idl: Removed.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        * platform/graphics/filters/FEConvolveMatrix.h:
        * rendering/svg/RenderSVGResourceMasker.cpp:

2012-04-25  Alpha Lam  <hclam@chromium.org>

        Unreviewed build fix.

        Build fix for compilation failure due to r115243.

        * platform/graphics/chromium/LayerChromium.h:
        (WebCore):

2012-04-25  Ryosuke Niwa  <rniwa@webkit.org>

        Build fix after r115227. Return null string when the string builder is empty
        to match the old behavior.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::borderPropertyValue):

2012-04-25  Ian Vollick  <vollick@chromium.org>

        [chromium] Add support for animation finished events.
        https://bugs.webkit.org/show_bug.cgi?id=84454

        Reviewed by James Robinson.

        Tested in CCLayerTreeHostTestAnimationFinishedEvents

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::willBeDestroyed):
        (WebCore::GraphicsLayerChromium::notifyAnimationFinished):
        (WebCore):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::notifyAnimationStarted):
        (WebCore::LayerChromium::notifyAnimationFinished):
        (WebCore):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore):
        (LayerChromium):
        * platform/graphics/chromium/cc/CCAnimationEvents.h:
        (WebCore::CCAnimationEvent::CCAnimationEvent):
        (CCAnimationEvent):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::animate):
        (WebCore::CCLayerAnimationController::notifyAnimationStarted):
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
        (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
        (CCLayerAnimationController):
        * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h:
        (CCLayerAnimationDelegate):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):

2012-04-25  Enrica Casucci  <enrica@apple.com>

        REGRESSION (r110494): Dragging images from Safari to Finder results in .webloc rather than image file
        https://bugs.webkit.org/show_bug.cgi?id=84878
        <rdar://problem/11155407>
        
        In WebKit2, it could happen to try to start the drag twice, given the asynchronous nature
        of the communication between the UI process and the WebProcess.
        We need to guarantee that we don't do that, otherwise on OS X the pasteboard ownership
        gets changed which affects the promised file types.

        Reviewed by Alexey Proskuryakov.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleDrag): Reset m_mouseDownMayStartDrag to false to
        avoid attempting to start another drag.

2012-04-25  Andreas Kling  <kling@webkit.org>

        Remove unused Attribute constructor.

        Semi-knowingly rubber-stamped by Antti Koivisto.

        * dom/Attribute.h:

2012-04-25  Nate Chapin  <japhet@chromium.org>

        Crash in CachedRawResource::didAddClient() due to missing protector.
        https://bugs.webkit.org/show_bug.cgi?id=83632

        Reviewed by Eric Seidel.

        Test: http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash.html

        * loader/cache/CachedRawResource.cpp:
        (WebCore::CachedRawResource::didAddClient):

2012-04-25  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to SerializedScriptValue::deserialize()
        https://bugs.webkit.org/show_bug.cgi?id=84758

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around. This patch passes
        Isolate to SerializedScriptValue::deserialize().

        No tests. No change in behavior.

        * bindings/v8/custom/V8HistoryCustom.cpp:
        (WebCore::V8History::stateAccessorGetter):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8MessageEventCustom.cpp:
        (WebCore::V8MessageEvent::dataAccessorGetter):
        * bindings/v8/custom/V8PopStateEventCustom.cpp:
        (WebCore::V8PopStateEvent::stateAccessorGetter):

2012-04-25  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to SerializedScriptValue::create() in custom bindings
        https://bugs.webkit.org/show_bug.cgi?id=84757

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to SerializedScriptValue::create()
        in custom bindings.

        No tests. No change in behavior.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8HistoryCustom.cpp:
        (WebCore::V8History::pushStateCallback):
        (WebCore::V8History::replaceStateCallback):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::handlePostMessageCallback):

2012-04-25  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to SerializedScriptValue::create() in CodeGeneratorV8.pm
        https://bugs.webkit.org/show_bug.cgi?id=84753

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to SerializedScriptValue::create()
        in CodeGeneratorV8.pm.

        Tests: bindings/scripts/test/TestObj.idl
               bindings/scripts/test/TestSerializedScriptValueInterface.idl

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrSetter):
        (GenerateParametersCheck):
        (JSValueToNative):

        * bindings/scripts/test/V8/V8TestObj.cpp: Updated run-bindings-tests results.
        (WebCore::TestObjV8Internal::intSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::shortSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::longSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::longLongSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::floatSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::doubleSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::booleanSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::voidSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::dateSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::serializedValueCallback):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetter):
        (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
        (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
        (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

2012-04-25  Kentaro Hara  <haraken@chromium.org>

        [V8] Add m_isolate to SerializedScriptValue::Writer
        and SerializedScriptValue::Reader
        https://bugs.webkit.org/show_bug.cgi?id=84739

        Reviewed by Nate Chapin.

        This is the second step to pass Isolate around
        in SerializedScriptValue. This patch adds m_isolate to
        SerializedScriptValue::Writer and SerializedScriptValue::Reader,
        so that they can use the isolate around. The fix is safe since
        Writer and Reader are guaranteed to be used by one Isolate.

        No tests. No change in behavior.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::nullValue):
        (WebCore::SerializedScriptValue::undefinedValue):
        (WebCore::SerializedScriptValue::booleanValue):
        (WebCore::SerializedScriptValue::numberValue):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        (WebCore::SerializedScriptValue::deserialize):
        * bindings/v8/SerializedScriptValue.h:
        (SerializedScriptValue):

2012-04-25  Kentaro Hara  <haraken@chromium.org>

        [V8] Make the Isolate* parameter non-optional in setDOMException()
        https://bugs.webkit.org/show_bug.cgi?id=84736

        Reviewed by Nate Chapin.

        Now all setDOMException() callers pass Isolate* to setDOMException().
        This patch makes the Isolate* parameter non-optional.

        No tests. No change in behavior.

        * bindings/v8/V8Proxy.h:
        (V8Proxy):

2012-04-24  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r112177): listStyleType CSS property gets converted into listStyle
        https://bugs.webkit.org/show_bug.cgi?id=83026

        Reviewed by Darin Adler.

        Fixed the bug by not using shorthand notations when some values are missing.

        However, we still want to return a value when shorthand border property is explicitly
        requested so extract borderPropertyValue with a flag to support both behaviors.

        * css/StylePropertySet.cpp:
        (WebCore::borderPropertyValue): Extracted from getPropertyValue.
        (WebCore::StylePropertySet::getPropertyValue):
        (WebCore::StylePropertySet::get4Values): Don't return values when priority don't match.
        (WebCore::StylePropertySet::getShorthandValue):
        (WebCore::StylePropertySet::getCommonValue): Don't return null string for initial values
        to disambiguate missing values and "initial" in getPropertyValue. Also check propriety.
        (WebCore::StylePropertySet::asText): Support emitting border-width, border-style, and
        border-color when border doesn't work but the former properties do.

2012-04-25  Ian Vollick  <vollick@chromium.org>

        [chromium] Do not clobber synchronized start times.
        https://bugs.webkit.org/show_bug.cgi?id=84605

        Reviewed by James Robinson.

        Tested in CCLayerAnimationControllerTest.doNotClobberStartTimes

        (WebCore):
        * platform/graphics/chromium/cc/CCActiveAnimation.h:
        (CCActiveAnimation):
        (WebCore::CCActiveAnimation::hasSetStartTime):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):

2012-04-25  Nate Chapin  <japhet@chromium.org>

        REGRESSION (r100311): YummySoup app crashes when trying to print
        https://bugs.webkit.org/show_bug.cgi?id=83918

        Reviewed by Alexey Proskuryakov.

        Test: http/tests/xmlhttprequest/cancel-during-failure-crash.html

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didFail): Set m_calledDidFinishLoad when calling
           didFailToLoad() to prevent it from getting called twice if we cancel
           re-entrantly.

2012-04-25  Alexis Menard  <alexis.menard@openbossa.org>

        Not reviewed, fix Windows build after r115215.

        * css/CSSAllInOne.cpp:

2012-04-25  Eric Carlson  <eric.carlson@apple.com>

        Not reviewed, attempt to fix Windows build after r115215.

        * css/CSSAllInOne.cpp: Don't try to include CSSStyleSelector.cpp.

2012-04-25  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call actualMemoryUsageMB directly
        https://bugs.webkit.org/show_bug.cgi?id=84837

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::reportFatalErrorInV8):
        * bindings/v8/V8GCController.cpp:
        (WebCore):
        * platform/MemoryUsageSupport.cpp:
        (WebCore::MemoryUsageSupport::actualMemoryUsageMB):
        (WebCore):
        * platform/MemoryUsageSupport.h:
        (MemoryUsageSupport):
        * platform/chromium/MemoryUsageSupportChromium.cpp:
        (WebCore::MemoryUsageSupport::actualMemoryUsageMB):
        (WebCore):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-25  Alexis Menard  <alexis.menard@openbossa.org>

        Rename CSSStyleSelector files to StyleResolver.
        https://bugs.webkit.org/show_bug.cgi?id=84814

        Reviewed by Antti Koivisto.

        Rename CSSStyleSelector files to match the new class name StyleResolver.
        Update the includes all over the code base to the new name.

        No new tests : renaming files, no behavior changes expected.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSAllInOne.cpp:
        * css/CSSCalculationValue.cpp:
        * css/CSSFontSelector.cpp:
        * css/CSSGradientValue.cpp:
        * css/MediaQueryEvaluator.cpp:
        * css/MediaQueryMatcher.cpp:
        * css/SVGCSSStyleSelector.cpp:
        * css/StyleBuilder.cpp:
        * css/StyleMedia.cpp:
        * css/StyleResolver.cpp: Renamed from Source/WebCore/css/CSSStyleSelector.cpp.
        (WebCore):
        (RuleData):
        (WebCore::RuleData::position):
        (WebCore::RuleData::rule):
        (WebCore::RuleData::selector):
        (WebCore::RuleData::hasFastCheckableSelector):
        (WebCore::RuleData::hasMultipartSelector):
        (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
        (WebCore::RuleData::containsUncommonAttributeSelector):
        (WebCore::RuleData::specificity):
        (WebCore::RuleData::linkMatchType):
        (WebCore::RuleData::hasDocumentSecurityOrigin):
        (WebCore::RuleData::isInRegionRule):
        (WebCore::RuleData::descendantSelectorIdentifierHashes):
        (SameSizeAsRuleData):
        (RuleSet):
        (WebCore::RuleSet::create):
        (WebCore::RuleSet::disableAutoShrinkToFit):
        (WebCore::RuleSet::features):
        (WebCore::RuleSet::idRules):
        (WebCore::RuleSet::classRules):
        (WebCore::RuleSet::tagRules):
        (WebCore::RuleSet::shadowPseudoElementRules):
        (WebCore::RuleSet::linkPseudoClassRules):
        (WebCore::RuleSet::focusPseudoClassRules):
        (WebCore::RuleSet::universalRules):
        (WebCore::RuleSet::pageRules):
        (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
        (RuleSetSelectorPair):
        (WebCore::elementCanUseSimpleDefaultStyle):
        (WebCore::screenEval):
        (WebCore::printEval):
        (WebCore::leftToRightDeclaration):
        (WebCore::rightToLeftDeclaration):
        (WebCore::StyleResolver::StyleResolver):
        (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
        (WebCore::makeRuleSet):
        (WebCore::StyleResolver::collectFeatures):
        (WebCore::StyleResolver::determineScope):
        (WebCore::StyleResolver::ruleSetForScope):
        (WebCore::StyleResolver::appendAuthorStylesheets):
        (WebCore::StyleResolver::setupScopeStack):
        (WebCore::StyleResolver::pushScope):
        (WebCore::StyleResolver::popScope):
        (WebCore::StyleResolver::pushParentElement):
        (WebCore::StyleResolver::popParentElement):
        (WebCore::StyleResolver::pushParentShadowRoot):
        (WebCore::StyleResolver::popParentShadowRoot):
        (WebCore::StyleResolver::addKeyframeStyle):
        (WebCore::StyleResolver::~StyleResolver):
        (WebCore::StyleResolver::sweepMatchedPropertiesCache):
        (WebCore::StyleResolver::Features::Features):
        (WebCore::StyleResolver::Features::~Features):
        (WebCore::StyleResolver::Features::add):
        (WebCore::StyleResolver::Features::clear):
        (WebCore::parseUASheet):
        (WebCore::loadFullDefaultStyle):
        (WebCore::loadSimpleDefaultStyle):
        (WebCore::loadViewSourceStyle):
        (WebCore::ensureDefaultStyleSheetsForElement):
        (WebCore::StyleResolver::addMatchedProperties):
        (WebCore::StyleResolver::addElementStyleProperties):
        (WebCore::StyleResolver::collectMatchingRules):
        (WebCore::StyleResolver::collectMatchingRulesForRegion):
        (WebCore::StyleResolver::sortAndTransferMatchedRules):
        (WebCore::StyleResolver::matchScopedAuthorRules):
        (WebCore::StyleResolver::matchAuthorRules):
        (WebCore::StyleResolver::matchUserRules):
        (WebCore::StyleResolver::matchUARules):
        (MatchingUARulesScope):
        (WebCore::MatchingUARulesScope::MatchingUARulesScope):
        (WebCore::MatchingUARulesScope::~MatchingUARulesScope):
        (WebCore::MatchingUARulesScope::isMatchingUARules):
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * css/StyleResolver.h: Renamed from Source/WebCore/css/CSSStyleSelector.h.
        (WebCore):
        (MediaQueryResult):
        (WebCore::MediaQueryResult::MediaQueryResult):
        (StyleResolver):
        (WebCore::StyleResolver::style):
        (WebCore::StyleResolver::parentStyle):
        (WebCore::StyleResolver::rootElementStyle):
        (WebCore::StyleResolver::element):
        (WebCore::StyleResolver::document):
        (WebCore::StyleResolver::fontDescription):
        (WebCore::StyleResolver::parentFontDescription):
        (WebCore::StyleResolver::setFontDescription):
        (WebCore::StyleResolver::setZoom):
        (WebCore::StyleResolver::setEffectiveZoom):
        (WebCore::StyleResolver::setTextSizeAdjust):
        (WebCore::StyleResolver::hasParentNode):
        (WebCore::StyleResolver::pushScope):
        (WebCore::StyleResolver::popScope):
        (WebCore::StyleResolver::setStyle):
        (WebCore::StyleResolver::fontSelector):
        (WebCore::StyleResolver::allVisitedStateChanged):
        (WebCore::StyleResolver::visitedStateChanged):
        (WebCore::StyleResolver::usesSiblingRules):
        (WebCore::StyleResolver::usesFirstLineRules):
        (WebCore::StyleResolver::usesBeforeAfterRules):
        (WebCore::StyleResolver::usesLinkRules):
        (WebCore::StyleResolver::RuleFeature::RuleFeature):
        (RuleFeature):
        (Features):
        (WebCore::StyleResolver::addMatchedRule):
        (WebCore::StyleResolver::MatchRanges::MatchRanges):
        (MatchRanges):
        (WebCore::StyleResolver::MatchedProperties::MatchedProperties):
        (MatchedProperties):
        (WebCore::StyleResolver::MatchResult::MatchResult):
        (MatchResult):
        (WebCore::StyleResolver::MatchOptions::MatchOptions):
        (MatchOptions):
        (WebCore::StyleResolver::isRightPage):
        (WebCore::StyleResolver::styleNotYetAvailable):
        (WebCore::StyleResolver::applyPropertyToRegularStyle):
        (WebCore::StyleResolver::applyPropertyToVisitedLinkStyle):
        (MatchedPropertiesCacheItem):
        (WebCore::StyleResolver::scopeStackIsConsistent):
        (WebCore::StyleResolver::ScopeStackFrame::ScopeStackFrame):
        (ScopeStackFrame):
        * css/WebKitCSSMatrix.cpp:
        * dom/Document.cpp:
        * dom/Element.cpp:
        * dom/Node.cpp:
        * dom/ShadowRoot.cpp:
        * dom/ShadowTree.cpp:
        * dom/StyledElement.cpp:
        * editing/ApplyStyleCommand.cpp:
        * editing/EditingStyle.cpp:
        * editing/Editor.cpp:
        * editing/markup.cpp:
        * history/CachedPage.cpp:
        * html/HTMLDocument.cpp:
        * html/HTMLLinkElement.cpp:
        * html/HTMLOptGroupElement.cpp:
        * html/HTMLOptionElement.cpp:
        * html/ValidationMessage.cpp:
        * html/canvas/CanvasRenderingContext2D.cpp:
        * html/shadow/MediaControlElements.cpp:
        * inspector/InspectorCSSAgent.cpp:
        * inspector/InspectorDOMAgent.cpp:
        * inspector/InspectorStyleSheet.cpp:
        * loader/LinkLoader.cpp:
        * page/DOMWindow.cpp:
        * page/FrameView.cpp:
        * page/Page.cpp:
        * page/animation/KeyframeAnimation.cpp:
        * platform/qt/RenderThemeQt.cpp:
        * platform/qt/RenderThemeQtMobile.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/RenderLayerBacking.cpp:
        * rendering/RenderListBox.cpp:
        * rendering/RenderMenuList.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderRegion.cpp:
        * rendering/RenderSlider.cpp:
        * rendering/RenderTextControlSingleLine.cpp:
        * rendering/RenderThemeMac.mm:
        * rendering/RenderThemeSafari.cpp:
        * rendering/style/RenderStyle.cpp:
        * rendering/style/StyleGeneratedImage.cpp:
        * rendering/style/StyleRareNonInheritedData.cpp:
        * rendering/svg/RenderSVGInlineText.cpp:
        * svg/SVGClipPathElement.cpp:
        * svg/SVGElement.cpp:
        * svg/SVGFontFaceElement.cpp:
        * svg/SVGGradientElement.cpp:
        * svg/SVGMaskElement.cpp:
        * svg/SVGUseElement.cpp:

2012-04-25  Crystal Zhang  <haizhang@rim.com>
            https://bugs.webkit.org/show_bug.cgi?id=84875
    
            make-css-file-arrays.pl now only take css files, make it also take js files,
            as for html popups we also need load js files.
    
            Reviewed by Antonio Gomes.
    
            * css/make-css-file-arrays.pl:

2012-04-25  Li Yin  <li.yin@intel.com>

        [chromium][workers] setTargetType(ResourceRequest::TargetIsWorker) is repeatedly called in chromium
        https://bugs.webkit.org/show_bug.cgi?id=84542

        Reviewed by David Levin.

        In chromium platform, the default value of m_targetType is ResourceRequest::TargetIsWorker
        it isn't necessary to call
        worker->m_scriptLoader->setTargetType(ResourceRequest::TargetIsWorker) again in Worker.cpp
        In chromium platform, the m_targettype value determines the priority of resource loaded.

        No new tests because this patch just deletes a repeated code, it can reduce code workload and can't impact any feature.
        If the target type isn't set correctly, the following test maybe fail because of timeout in the chromium.
        fast/workers/storage/multiple-transactions-on-different-handles.html
        fast/workers/storage/multiple-transactions-on-different-handles-sync.html
        fast/workers/storage/interrupt-database.html

        * workers/Worker.cpp:
        (WebCore::Worker::create):

2012-04-25  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: move HeapSnapshotLoader into a separate file
        https://bugs.webkit.org/show_bug.cgi?id=84860

        Extracted HeapSnapshotLoader into its own file.

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/HeapSnapshot.js:
        * inspector/front-end/HeapSnapshotLoader.js: Added.
        (WebInspector.HeapSnapshotLoader):
        (WebInspector.HeapSnapshotLoader.prototype._findBalancedCurlyBrackets):
        (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
        (WebInspector.HeapSnapshotLoader.prototype._parseUintArray):
        (WebInspector.HeapSnapshotLoader.prototype._parseStringsArray):
        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-04-25  'Pavel Feldman'  <pfeldman@chromium.org>

        Not reviewed: inspector frontend tests fix.

        * inspector/front-end/ScriptsSearchScope.js:

2012-04-25  Ian Vollick  <vollick@chromium.org>

        [chromium] Animations waiting for a synchronized start time should never be marked finished.
        https://bugs.webkit.org/show_bug.cgi?id=84519

        Reviewed by James Robinson.

        Tested in CCLayerAnimationControllerTest.AnimationsWaitingForStartTimeDoNotFinishIfTheyWaitLongerToStartThanTheirDuration

        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::tickAnimations):

2012-04-25  Pierre Rossi  <pierre.rossi@gmail.com>

        [SVG] Nothing should be stroked when the stroke-width is 0
        https://bugs.webkit.org/show_bug.cgi?id=83568

        Reviewed by Nikolas Zimmermann.

        The spec states that "A zero value causes no stroke to be painted".
        We should avoid calling functions that could incorrectly paint something
        in that case.

        Test: svg/custom/path-zero-strokewidth.svg

        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::hasVisibleStroke):
        * rendering/svg/RenderSVGEllipse.cpp:
        (WebCore::RenderSVGEllipse::strokeShape): Check if the stroke should be visible before painting.
        * rendering/svg/RenderSVGRect.cpp:
        (WebCore::RenderSVGRect::strokeShape): Ditto.
        * rendering/svg/RenderSVGShape.cpp:
        (WebCore::RenderSVGShape::strokeShape): Ditto.
        (WebCore::RenderSVGShape::strokePath): Ditto.
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paint): Dont call paintText for zero-width stroke.
        (WebCore::SVGInlineTextBox::paintDecoration): Ditto.

2012-04-25  Alexis Menard  <alexis.menard@openbossa.org>

        Unfortunately http://trac.webkit.org/changeset/115055 was landed using webkit-patch
        land-from bug but didn't do the right thing, we lost the history.

        This commit is merging back CSSStyleApplyProperty.* and their history, rename the files
        to StyleBuilder and re-apply the two patches on trunk that were apply after the rename.

        Rename CSSStyleSelector class to StyleResolver.
        https://bugs.webkit.org/show_bug.cgi?id=84734

        The name CSSStyleSelector is confusing as it conflicts a bit with
        the CSS concept of selectors. One could think it's an encapsulation
        of the CSS selectors but it's not, in fact this class is responsible
        of finding the RenderStyle for a given element. This is the first patch
        as I will later rename the files, and then rename the local variables.

        Replace occurences of style selector from variables and methods names by style resolver.
        https://bugs.webkit.org/show_bug.cgi?id=84765
        
        Rename methods and variables to follow the new name StyleResolver. It requires to update the
        local variables, methods parameters, and function names to match the new name and to remove
        the concept of "selector" to avoid clashing with the CSS concept. The next and last patch
        will be to rename CSSStyleSelector file and update the includes.

        * css/StyleBuilder.cpp: Replaced with Source/WebCore/css/CSSStyleApplyProperty.cpp.
        (WebCore::ApplyPropertyExpanding::applyInheritValue):
        (WebCore::ApplyPropertyExpanding::applyInitialValue):
        (WebCore::ApplyPropertyExpanding::applyValue):
        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
        (WebCore::ApplyPropertyDefaultBase::applyValue):
        (WebCore::ApplyPropertyDefault::applyValue):
        (WebCore::ApplyPropertyNumber::applyValue):
        (WebCore::ApplyPropertyStyleImage::applyValue):
        (WebCore::ApplyPropertyAuto::applyInheritValue):
        (WebCore::ApplyPropertyAuto::applyInitialValue):
        (WebCore::ApplyPropertyAuto::applyValue):
        (WebCore::ApplyPropertyClip::convertToLength):
        (WebCore::ApplyPropertyClip::applyInheritValue):
        (WebCore::ApplyPropertyClip::applyInitialValue):
        (WebCore::ApplyPropertyClip::applyValue):
        (WebCore::ApplyPropertyColor::applyInheritValue):
        (WebCore::ApplyPropertyColor::applyInitialValue):
        (WebCore::ApplyPropertyColor::applyValue):
        (WebCore::ApplyPropertyColor::applyColorValue):
        (WebCore::ApplyPropertyDirection::applyValue):
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::ApplyPropertyString::applyValue):
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        (WebCore::ApplyPropertyFillLayer::applyInheritValue):
        (WebCore::ApplyPropertyFillLayer::applyInitialValue):
        (WebCore::ApplyPropertyFillLayer::applyValue):
        (WebCore::ApplyPropertyComputeLength::applyValue):
        (WebCore::ApplyPropertyFont::applyInheritValue):
        (WebCore::ApplyPropertyFont::applyInitialValue):
        (WebCore::ApplyPropertyFont::applyValue):
        (WebCore::ApplyPropertyFontSize::applyInheritValue):
        (WebCore::ApplyPropertyFontSize::applyInitialValue):
        (WebCore::ApplyPropertyFontSize::applyValue):
        (WebCore::ApplyPropertyFontWeight::applyValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
        (WebCore::ApplyPropertyBorderImage::applyValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyValue):
        (WebCore::ApplyPropertyBorderImageSource::applyValue):
        (WebCore::ApplyPropertyCounter::emptyFunction):
        (WebCore::ApplyPropertyCounter::applyInheritValue):
        (WebCore::ApplyPropertyCounter::applyValue):
        (WebCore::ApplyPropertyCursor::applyInheritValue):
        (WebCore::ApplyPropertyCursor::applyInitialValue):
        (WebCore::ApplyPropertyCursor::applyValue):
        (WebCore::ApplyPropertyTextAlign::applyValue):
        (WebCore::ApplyPropertyTextDecoration::applyValue):
        (WebCore::ApplyPropertyUnicodeBidi::applyValue):
        (WebCore::ApplyPropertyLineHeight::applyValue):
        (WebCore::ApplyPropertyPageSize::applyInheritValue):
        (WebCore::ApplyPropertyPageSize::applyInitialValue):
        (WebCore::ApplyPropertyPageSize::applyValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
        (WebCore):
        (WebCore::ApplyPropertyAnimation::map):
        (WebCore::ApplyPropertyAnimation::applyInheritValue):
        (WebCore::ApplyPropertyAnimation::applyInitialValue):
        (WebCore::ApplyPropertyAnimation::applyValue):
        (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
        (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
        (WebCore::ApplyPropertyOutlineStyle::applyValue):
        (WebCore::ApplyPropertyResize::applyValue):
        (WebCore::ApplyPropertyVerticalAlign::applyValue):
        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
        (WebCore::ApplyPropertyAspectRatio::applyValue):
        (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
        (WebCore::ApplyPropertyZoom::applyInheritValue):
        (WebCore::ApplyPropertyZoom::applyInitialValue):
        (WebCore::ApplyPropertyZoom::applyValue):
        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
        (WebCore::ApplyPropertyDisplay::applyInheritValue):
        (WebCore::ApplyPropertyDisplay::applyInitialValue):
        (WebCore::ApplyPropertyDisplay::applyValue):
        (WebCore::ApplyPropertyFlex::applyInheritValue):
        (WebCore::ApplyPropertyFlex::applyInitialValue):
        (WebCore::ApplyPropertyFlex::applyValue):
        (WebCore::StyleBuilder::StyleBuilder):
        * css/StyleBuilder.h: Replaced with Source/WebCore/css/CSSStyleApplyProperty.h.
        (WebCore):
        (PropertyHandler):
        (WebCore::PropertyHandler::applyInheritValue):
        (WebCore::PropertyHandler::applyInitialValue):
        (WebCore::PropertyHandler::applyValue):

2012-04-25  Eric Carlson  <eric.carlson@apple.com>

        Not reviewed, fix Windows build after r115165.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateCompositingLayers): Initialize logging variable.

2012-04-25  Florin Malita  <fmalita@chromium.org>

        [Coverity] Uninitialized fields in RenderSVGShape constructors
        https://bugs.webkit.org/show_bug.cgi?id=84749

        Reviewed by Darin Adler.

        Removing unused RenderSVGShape constructor and field.

        No new tests - no behavior change.

        * rendering/svg/RenderSVGShape.cpp:
        * rendering/svg/RenderSVGShape.h:
        (RenderSVGShape):

2012-04-25  'Pavel Feldman'  <pfeldman@chromium.org>

        Not reviewed: follow up to r115194, removed debug output.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):

2012-04-25  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: extract Linkifier from DebuggerPresentationModel.
        https://bugs.webkit.org/show_bug.cgi?id=84855

        Reviewed by Yury Semikhatsky.

        There is nothing Linkifier needs from the model, extracting as a top-level class.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/ConsoleMessage.js:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        * inspector/front-end/DebuggerPresentationModel.js:
        * inspector/front-end/EventListenersSidebarPane.js:
        * inspector/front-end/Linkifier.js: Added.
        (WebInspector.LinkifierFormatter):
        (WebInspector.LinkifierFormatter.prototype.formatLiveAnchor):
        (WebInspector.Linkifier):
        (WebInspector.Linkifier.prototype.linkifyLocation):
        (WebInspector.Linkifier.prototype.linkifyRawLocation):
        (WebInspector.Linkifier.prototype.reset):
        (WebInspector.Linkifier.prototype._updateAnchor):
        (WebInspector.Linkifier.DefaultFormatter):
        (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
        * inspector/front-end/NetworkPanel.js:
        * inspector/front-end/ObjectPopoverHelper.js:
        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
        * inspector/front-end/ProfileView.js:
        * inspector/front-end/ScriptsSearchScope.js:
        (WebInspector.ScriptsSearchResultsPane):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-04-25  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: move sourcemap-agnostic part of the debugger presentation model into the raw debugger.
        https://bugs.webkit.org/show_bug.cgi?id=84852

        Reviewed by Yury Semikhatsky.

        There is no need to keep that much debugging functionality in the debugger presentation model.
        It all perfectly applies to the raw script debugger. Methods for selecting call frames, activating breakpoints
        and paused details were moved to the WebInspector.DebuggerModel.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane):
        (WebInspector.CallStackSidebarPane.prototype.update):
        (WebInspector.CallStackSidebarPane.prototype.setSelectedCallFrame):
        (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
        (WebInspector.CallStackSidebarPane.prototype._placardSelected):
        (WebInspector.CallStackSidebarPane.Placard):
        (WebInspector.CallStackSidebarPane.Placard.prototype._update):
        * inspector/front-end/ConsoleView.js:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype._globalObjectCleared):
        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
        (WebInspector.DebuggerModel.prototype._setDebuggerPausedDetails):
        (WebInspector.DebuggerModel.prototype._pausedScript):
        (WebInspector.DebuggerModel.prototype._resumedScript):
        (WebInspector.DebuggerModel.prototype.isPaused):
        (WebInspector.DebuggerModel.prototype.setSelectedCallFrame.updateExecutionLine):
        (WebInspector.DebuggerModel.prototype.setSelectedCallFrame):
        (WebInspector.DebuggerModel.prototype.selectedCallFrame):
        (WebInspector.DebuggerModel.prototype.evaluateOnSelectedCallFrame):
        (WebInspector.DebuggerModel.prototype.getSelectedCallFrameVariables.propertiesCollected):
        (WebInspector.DebuggerModel.prototype.getSelectedCallFrameVariables):
        (WebInspector.DebuggerModel.prototype.setBreakpointsActive):
        (WebInspector.DebuggerModel.prototype.breakpointsActive):
        (WebInspector.DebuggerModel.CallFrame):
        (WebInspector.DebuggerModel.CallFrame.prototype.get script):
        (WebInspector.DebuggerModel.CallFrame.prototype.get type):
        (WebInspector.DebuggerModel.CallFrame.prototype.get scopeChain):
        (WebInspector.DebuggerModel.CallFrame.prototype.get this):
        (WebInspector.DebuggerModel.CallFrame.prototype.get functionName):
        (WebInspector.DebuggerModel.CallFrame.prototype.get location):
        (WebInspector.DebuggerModel.CallFrame.prototype.evaluate):
        (WebInspector.DebuggerModel.CallFrame.prototype.createLiveLocation):
        (WebInspector.DebuggerModel.CallFrame.prototype.dispose):
        (WebInspector.DebuggerPausedDetails):
        (WebInspector.DebuggerPausedDetails.prototype.dispose):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype.createLiveLocation):
        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype._callFrameSelected):
        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource.prototype.setBreakpoint):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.setSourceMapping):
        (WebInspector.Script.prototype.createLiveLocation):
        (WebInspector.Script.Location.prototype.update):
        * inspector/front-end/ScriptMapping.js:
        (WebInspector.LiveLocation):
        (WebInspector.LiveLocation.prototype.update):
        (WebInspector.LiveLocation.prototype.dispose):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._consoleCommandEvaluatedInSelectedCallFrame):
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
        * inspector/front-end/UISourceCode.js:

2012-04-25  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: use composite node provider for diff nodes in heap profiler
        https://bugs.webkit.org/show_bug.cgi?id=84849

        Inroduced HeapSnapshotDiffNodesProvider which is basically a composite provider
        combining providers for added and deleted nodes. This allowed to remove custom
        implementation of HeapSnapshotGridNode.prototype.populateChildren.

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNodesProvider.prototype.sort.sortByNodeField): moved index assignment to sortByComparator
        so that it is done only once.
        (WebInspector.HeapSnapshotNodesProvider.prototype.sort.sortByComparator):
        (WebInspector.HeapSnapshotNodesProvider.prototype.sort):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
        (WebInspector.HeapSnapshotGridNode.prototype.sort):
        (WebInspector.HeapSnapshotDiffNodesProvider):
        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.dispose):
        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.isEmpty):
        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeNextItems):
        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeNextItems.didReceiveDeletedItems):
        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeNextItems.didReceiveAddedItems):
        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.sortAndRewind.afterSort):
        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.sortAndRewind):
        (WebInspector.HeapSnapshotDiffNode):
        (WebInspector.HeapSnapshotDiffNode._createProvider):
        (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):

2012-04-25  Nikolas Zimmermann  <nzimmermann@rim.com>

        Refactor to/from/animatedType creation, to share more code between animators
        https://bugs.webkit.org/show_bug.cgi?id=84846

        Reviewed by Antti Koivisto.

        Share more code bewteen animators, doesn't change functionality yet, except for one bug in SVGAnimatedString.
        SVGAnimatedString used to mutate the from/to values during animation, leading to problems in animate-element-31-t.svg.
        It now needs a rebaseline, now that this bug is fixed as side-effect.

        * svg/SVGAnimateColorElement.cpp:
        (WebCore::attributeValueIsCurrentColor):
        (WebCore::SVGAnimateColorElement::determinePropertyValueTypes):
        (WebCore):
        * svg/SVGAnimateColorElement.h:
        (SVGAnimateColorElement):
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        * svg/SVGAnimateElement.h:
        (SVGAnimateElement):
        * svg/SVGAnimatedAngle.cpp:
        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedBoolean.cpp:
        (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedColor.cpp:
        (WebCore::adjustForCurrentColor):
        (WebCore):
        (WebCore::parseColorFromString):
        (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedEnumeration.cpp:
        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedInteger.cpp:
        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::parseLengthFromString):
        (WebCore):
        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::parseLengthListFromString):
        (WebCore):
        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::parseNumberFromString):
        (WebCore):
        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPointList.cpp:
        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPreserveAspectRatio.cpp:
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedRect.cpp:
        (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedString.cpp:
        (WebCore::parseStringFromString):
        (WebCore):
        (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::SVGAnimationElement):
        (WebCore::SVGAnimationElement::adjustForInheritance):
        (WebCore):
        (WebCore::inheritsFromProperty):
        (WebCore::SVGAnimationElement::determinePropertyValueTypes):
        * svg/SVGAnimationElement.h:
        (WebCore::SVGAnimationElement::fromPropertyValueType):
        (WebCore::SVGAnimationElement::toPropertyValueType):
        (SVGAnimationElement):
        (WebCore::SVGAnimationElement::adjustForInheritance):
        (WebCore::SVGAnimationElement::adjustFromToValues):
        (WebCore::SVGAnimationElement::adjustFromToListValues):

2012-04-25  Nikolas Zimmermann  <nzimmermann@rim.com>

        Share single calculateFromToValues/calculateFromByValues between all SVGAnimatedTypeAnimators
        https://bugs.webkit.org/show_bug.cgi?id=84832

        Reviewed by Antti Koivisto.

        calculateFromAndToValues / calculateFromAndByValues don't need to be spread across all SVGAnimatedTypeAnimators.
        Centralize these new implementations in SVGAnimatedTypeAnimator.h. Refactored addAnimatedTypes() from constructFromAndByValues.

        calculateFromAndToValues:
            from = constructFromString(fromString)
            to = constructFromString(toString)
        
        calculateFromAndByValues:
            from = constructFromString(fromString)
            to = constructFromString(byString)
            addAnimatedTypes(from, to)

        Doesn't affect any tests, just refactors code.

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        * svg/SVGAnimatedAngle.cpp:
        (WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
        * svg/SVGAnimatedAngle.h:
        (SVGAnimatedAngleAnimator):
        * svg/SVGAnimatedBoolean.cpp:
        (WebCore::SVGAnimatedBooleanAnimator::addAnimatedTypes):
        * svg/SVGAnimatedBoolean.h:
        (SVGAnimatedBooleanAnimator):
        * svg/SVGAnimatedColor.cpp:
        (WebCore::SVGAnimatedColorAnimator::addAnimatedTypes):
        * svg/SVGAnimatedColor.h:
        (SVGAnimatedColorAnimator):
        * svg/SVGAnimatedEnumeration.cpp:
        (WebCore::SVGAnimatedEnumerationAnimator::addAnimatedTypes):
        * svg/SVGAnimatedEnumeration.h:
        (SVGAnimatedEnumerationAnimator):
        * svg/SVGAnimatedInteger.cpp:
        (WebCore::SVGAnimatedIntegerAnimator::addAnimatedTypes):
        * svg/SVGAnimatedInteger.h:
        (SVGAnimatedIntegerAnimator):
        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
        * svg/SVGAnimatedIntegerOptionalInteger.h:
        (SVGAnimatedIntegerOptionalIntegerAnimator):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
        * svg/SVGAnimatedLength.h:
        (SVGAnimatedLengthAnimator):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
        * svg/SVGAnimatedLengthList.h:
        (SVGAnimatedLengthListAnimator):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::addAnimatedTypes):
        * svg/SVGAnimatedNumber.h:
        (SVGAnimatedNumberAnimator):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::addAnimatedTypes):
        * svg/SVGAnimatedNumberList.h:
        (SVGAnimatedNumberListAnimator):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
        * svg/SVGAnimatedNumberOptionalNumber.h:
        (SVGAnimatedNumberOptionalNumberAnimator):
        * svg/SVGAnimatedPath.cpp:
        (WebCore::SVGAnimatedPathAnimator::constructFromString):
        (WebCore::SVGAnimatedPathAnimator::addAnimatedTypes):
        * svg/SVGAnimatedPath.h:
        (SVGAnimatedPathAnimator):
        * svg/SVGAnimatedPointList.cpp:
        (WebCore::SVGAnimatedPointListAnimator::addAnimatedTypes):
        * svg/SVGAnimatedPointList.h:
        (SVGAnimatedPointListAnimator):
        * svg/SVGAnimatedPreserveAspectRatio.cpp:
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::addAnimatedTypes):
        * svg/SVGAnimatedPreserveAspectRatio.h:
        (SVGAnimatedPreserveAspectRatioAnimator):
        * svg/SVGAnimatedRect.cpp:
        (WebCore::SVGAnimatedRectAnimator::addAnimatedTypes):
        * svg/SVGAnimatedRect.h:
        (SVGAnimatedRectAnimator):
        * svg/SVGAnimatedString.cpp:
        (WebCore::SVGAnimatedStringAnimator::addAnimatedTypes):
        * svg/SVGAnimatedString.h:
        (SVGAnimatedStringAnimator):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
        (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
        (WebCore::SVGAnimatedTransformListAnimator::addAnimatedTypes):
        (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
        * svg/SVGAnimatedTransformList.h:
        (SVGAnimatedTransformListAnimator):
        * svg/SVGAnimatedTypeAnimator.h:
        (SVGAnimatedTypeAnimator):
        (WebCore::SVGAnimatedTypeAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedTypeAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedTypeAnimator::setContextElement):

2012-04-25  Andreas Kling  <kling@webkit.org>

        Shrink RenderText by 8 bytes on 64-bit.
        <http://webkit.org/b/84828>

        Reviewed by Maciej Stachowiak.

        Reorder the members so that the bits in RenderText falls into the padding at
        the end of RenderObject on 64-bit. Updated the compile-time size assertion to
        account for the new object structure.

        This shrinks RenderText from 104 to 96 bytes on 64-bit release builds.

        * rendering/RenderText.cpp:
        (SameSizeAsRenderText):
        (WebCore::RenderText::RenderText):
        * rendering/RenderText.h:
        (RenderText):

2012-04-25  Raymond Toy  <rtoy@google.com>

        No audio from MediaElementAudioSourceNode
        https://bugs.webkit.org/show_bug.cgi?id=84669

        MediaElementAudioSourceNode needs custom propagatesSilence() to
        return false to indicate the node never propagates silence.
        
        Reviewed by Chris Rogers.

        * Modules/webaudio/MediaElementAudioSourceNode.h:
        (MediaElementAudioSourceNode): Add propagatesSilence().

2012-04-25  Xianzhu Wang  <wangxianzhu@chromium.org>

        Web Inspector: Incorrect highlight position of inspected element in a scrolled page
        https://bugs.webkit.org/show_bug.cgi?id=84755

        Reviewed by Pavel Feldman.

        Test: inspector/elements/highlight-node-scroll.html

        * inspector/DOMNodeHighlighter.cpp: Ensures the highlight position is in page coordinates.

2012-04-24  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Revert part of the change r115063 which commented out
        real worker creation. It was commited by mistake.

        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotWorker):

2012-04-24  Jon Lee  <jonlee@apple.com>

        New Notification constructor do not take into account security origin permissions
        https://bugs.webkit.org/show_bug.cgi?id=84825
        <rdar://problem/11315405>

        Reviewed by Darin Adler.

        Tests requires support for notifications on Mac (see 79492).

        When the task timer fires, we should check to see that the notification has permission
        to show. If not, we fire the onError event.

        * notifications/Notification.cpp:
        (WebCore::Notification::Notification): Since the timer may show, or call the onerror event,
        we rename it from m_showTaskTimer. to m_taskTimer.
        (WebCore::Notification::dispatchErrorEvent): The default constructor of ErrorEvent doesn't
        create the proper event object. Create it using Event::create().
        (WebCore::Notification::taskTimerFired): Check to see that we have permission first.
        * notifications/Notification.h:
        (Notification):

2012-04-24  Simon Fraser  <simon.fraser@apple.com>

        Add a logging channel and some ouput for compositing
        https://bugs.webkit.org/show_bug.cgi?id=84817

        Reviewed by Darin Adler.

        Add a logging channel called "Compositing".
        
        Output useful information to this channel, including
        a line for each composited layer, its composited bounds,
        the reason it was composited, the backing store megapixels,
        and a count of total composited layers and total backing
        store megapixels.

        * platform/Logging.cpp:
        (WebCore):
        (WebCore::getChannelFromName):
        * platform/Logging.h:
        (WebCore):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::backingStoreArea):
        * platform/graphics/GraphicsLayer.h:
        (GraphicsLayer):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::backingStoreArea):
        (WebCore):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):
        * platform/mac/LoggingMac.mm:
        (WebCore::initializeLoggingChannelsIfNecessary):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::nameForLayer):
        (WebCore::RenderLayerBacking::backingStoreArea):
        (WebCore):
        * rendering/RenderLayerBacking.h:
        (RenderLayerBacking):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore):
        (WebCore::compositingLogEnabled):
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        (WebCore::RenderLayerCompositor::logCompositingInfo):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
        (WebCore::RenderLayerCompositor::reasonForCompositing):
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):

2012-04-24  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>

        getMatchedCSSRules() should return null when the second argument is an unrecognized pseudo-element name
        https://bugs.webkit.org/show_bug.cgi?id=83298

        Reviewed by Ojan Vafai.

        I couldn't find any specification or any meaningful discussion on this API, but I
        assume that it shouldn't be any different from window.getComputedStyle()
        as far as the parameters are concerned.

        Test: fast/dom/Window/getMatchedCSSRules-with-invalid-pseudo-elements.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::getMatchedCSSRules):
        * page/DOMWindow.idl:

2012-04-24  Anders Carlsson  <andersca@apple.com>

        overflow: hidden on the main frame is broken with threaded scrolling
        https://bugs.webkit.org/show_bug.cgi?id=84819
        <rdar://problem/10920677>

        Reviewed by Darin Adler.

        Pass along the horizontal and vertical scrollbar modes to the scrolling tree and use it
        to determine if wheel events should be handled or not. This matches what we do for non-threaded scrolling.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
        (WebCore::ScrollingCoordinator::setScrollParameters):
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollParameters):
        * page/scrolling/ScrollingTreeNode.cpp:
        (WebCore::ScrollingTreeNode::ScrollingTreeNode):
        (WebCore::ScrollingTreeNode::update):
        * page/scrolling/ScrollingTreeNode.h:
        (WebCore::ScrollingTreeNode::canHaveScrollbars):
        (ScrollingTreeNode):
        * page/scrolling/ScrollingTreeState.cpp:
        (WebCore::ScrollingTreeState::ScrollingTreeState):
        (WebCore::ScrollingTreeState::setHorizontalScrollbarMode):
        (WebCore):
        (WebCore::ScrollingTreeState::setVerticalScrollbarMode):
        * page/scrolling/ScrollingTreeState.h:
        (WebCore::ScrollingTreeState::horizontalScrollbarMode):
        (ScrollingTreeState):
        (WebCore::ScrollingTreeState::verticalScrollbarMode):
        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::handleWheelEvent):

2012-04-24  Adrienne Walker  <enne@google.com>

        [chromium] Don't call calculateRenderPasses in CCLayerTreeHostImpl::scrollBegin()
        https://bugs.webkit.org/show_bug.cgi?id=84807

        Reviewed by James Robinson.

        Instead of calculate render passes and quads and tracking damage,
        simply calculate the updated render layer list, which is what is
        needed for scrolling.  This prevents a willDraw/didDraw mismatch on
        layers.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::ensureMostRecentRenderSurfaceLayerList):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):

2012-04-24  Dana Jansens  <danakj@chromium.org>

        [chromium] Unbounded draws should use clip to limit their damage to opaque tracking
        https://bugs.webkit.org/show_bug.cgi?id=84494

        Reviewed by Adrienne Walker.

        Unit test: PlatformContextSkiaTest.UnboundedDrawsAreClipped

        * platform/graphics/skia/OpaqueRegionSkia.cpp:
        (WebCore::OpaqueRegionSkia::didDrawRect):
        (WebCore::OpaqueRegionSkia::didDrawPath):
        (WebCore::OpaqueRegionSkia::didDrawPoints):
        (WebCore::OpaqueRegionSkia::didDrawBounded):
        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
        * platform/graphics/skia/OpaqueRegionSkia.h:
        (OpaqueRegionSkia):

2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>

        Implement createTBody for table element.
        https://bugs.webkit.org/show_bug.cgi?id=84465

        Reviewed by Ojan Vafai.

        Implement createTBody of table element to allow creating tbodies from JS.
        It's following the specification http://dev.w3.org/html5/spec/the-table-element.html#dom-table-createtbody.

        Tests: fast/table/table-create-tbody-existing-tbody.html
               fast/table/table-create-tbody-multiple-tbody.html
               fast/table/table-create-tbody.html

        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::createTBody):
        (WebCore):
        * html/HTMLTableElement.h:
        (HTMLTableElement):
        * html/HTMLTableElement.idl:

2012-04-24  Anders Carlsson  <andersca@apple.com>

        ScrollingCoordinator::setScrollParameters should take a single struct
        https://bugs.webkit.org/show_bug.cgi?id=84816

        Reviewed by Andreas Kling.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
        (WebCore::ScrollingCoordinator::setScrollParameters):
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):
        (ScrollParameters):
        * page/scrolling/ScrollingCoordinatorNone.cpp:
        (WebCore::ScrollingCoordinator::setScrollParameters):
        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
        (WebCore::ScrollingCoordinator::setScrollParameters):

2012-04-24  Adam Klein  <adamk@chromium.org>

        Remove unused undefined() method from ScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=84751

        Reviewed by Kentaro Hara.

        * bindings/js/ScriptValue.h:
        (ScriptValue):
        * bindings/v8/ScriptValue.h:
        (ScriptValue):

2012-04-24  Yong Li  <yoli@rim.com>

        ASSERT failure in RenderLayer::computeRepaintRects
        https://bugs.webkit.org/show_bug.cgi?id=84480

        Reviewed by Simon Fraser.

        Update visibility status if necessary before updating
        compositing state in RenderLayer::styleChanged().

        No new tests because this is obviously right thing to do
        and creating new test seems too much for this small change.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::styleChanged):

2012-04-24  Kent Tamura  <tkent@chromium.org>

        Calendar Picker: Open a calendar picker by keyboard operation
        https://bugs.webkit.org/show_bug.cgi?id=84680

        Reviewed by Kentaro Hara.

        - Open a calendar picker by the down arrow key.
        - Remove stepping down/up by keyboard and wheel operations.
          This behavior was for text fields with spin buttons. Because the date
        type doesn't have spin buttons, we should remove this behavior.

        No new tests for opening a calendar picker. This behavior is not
        testable by DRT yet. For removal of stepping up/down,
        fast/forms/date/date-stepup-stepdown-from-renderer.html is updated.

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::handleKeydownEvent):
        Check shouldHaveSpinButton() before spin button key operations.
        (WebCore::BaseDateAndTimeInputType::handleWheelEvent):
        Check shouldHaveSpinButton() before spin button wheel operations.
        * html/BaseDateAndTimeInputType.h:
        (BaseDateAndTimeInputType):
        Make handleKeydownEvent() protected because a subclass overrides it.
        * html/DateInputType.cpp:
        (WebCore::DateInputType::handleKeydownEvent):
        Open a calendar picker by the down arrow key.
        * html/DateInputType.h:
        (DateInputType): Add handleKeydownEvent() declaration.
        * html/shadow/CalendarPickerElement.h:
        (CalendarPickerElement): Make openPopup() public because DateInputType calls it.

2012-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r115099, r115102, and r115127.
        http://trac.webkit.org/changeset/115099
        http://trac.webkit.org/changeset/115102
        http://trac.webkit.org/changeset/115127
        https://bugs.webkit.org/show_bug.cgi?id=84809

        Made html5lib/runner.html crash, spot fix didn't help so
        rolling out so original author can do over. (Requested by
        kling on #webkit).

        * dom/Element.cpp:
        (WebCore::Element::parserSetAttributes):
        (WebCore::Element::normalizeAttributes):
        * dom/Element.h:
        (Element):
        * dom/ElementAttributeData.cpp:
        (WebCore::AttributeVector::removeAttribute):
        (WebCore):
        * dom/ElementAttributeData.h:
        (AttributeVector):
        (WebCore::AttributeVector::AttributeVector):
        (WebCore):
        (WebCore::AttributeVector::getAttributeItem):
        (WebCore::AttributeVector::getAttributeItemIndex):
        (WebCore::AttributeVector::insertAttribute):
        (WebCore::ElementAttributeData::getAttributeItem):
        (WebCore::ElementAttributeData::getAttributeItemIndex):
        (WebCore::ElementAttributeData::attributeVector):
        (WebCore::ElementAttributeData::clonedAttributeVector):
        (ElementAttributeData):
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
        * html/parser/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakeStartTag):
        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
        * html/parser/HTMLTreeBuilder.h:
        * html/parser/TextDocumentParser.cpp:
        (WebCore::TextDocumentParser::insertFakePreElement):
        * xml/XMLErrors.cpp:
        (WebCore::createXHTMLParserErrorHeader):
        (WebCore::XMLErrors::insertErrorMessageBlock):
        * xml/parser/MarkupTokenBase.h:
        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
        (WebCore::AtomicMarkupTokenBase::getAttributeItem):
        (WebCore::AtomicMarkupTokenBase::attributes):
        (AtomicMarkupTokenBase):
        (WebCore::::initializeAttributes):
        * xml/parser/XMLToken.h:
        (WebCore::AtomicXMLToken::AtomicXMLToken):

2012-04-24  Jeffrey Pfau  <jpfau@apple.com>

        Prevent drag and drop from setting file URLs
        https://bugs.webkit.org/show_bug.cgi?id=76596

        Reviewed by Enrica Casucci.

        Blacklisted file URLs from being set via dataTransfer.setData for specific types.

        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::setData):

2012-04-24  Enrica Casucci  <enrica@apple.com>

        REGRESSION (r109022) Safari not placing service data on pasteboard.
        https://bugs.webkit.org/show_bug.cgi?id=84766
        <rdar://problem/11085756>
        
        The support for OS X services requires that the write operations to
        the pasteboard occur synchronously. This behavior was changed with r109022.
        This change removes the original synchronous call to the WebProcess to perform
        the pasteboard write that had become asynchronous after r109022.
        It implements instead a synchronous call to retrive the content to be placed
        in the pasteboard.

        Reviewed by Alexey Proskuryakov.

        * WebCore.exp.in:
        * editing/Editor.h:
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::writeSelectionToPasteboard):
        (WebCore::Editor::stringSelectionForPasteboard): Added.
        (WebCore::Editor::dataSelectionForPasteboard): Added.
        * platform/Pasteboard.h:
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::getStringSelection): Added.
        (WebCore::Pasteboard::getDataSelection): Added.
        (WebCore::Pasteboard::writeSelectionForTypes):
        (WebCore::Pasteboard::writeSelection):

2012-04-24  Dana Jansens  <danakj@chromium.org>

        [chromium] Image masks are considered opaque incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=84275

        Reviewed by Adrienne Walker.

        Match the behaviour of SkCanvas layers more closely while tracking
        opaque paints. SkCanvas layers actually act as a separate device
        (ie. pixels) and when the layer is popped off, the pixels are copied
        down to the layer below.

        While we can use the total clip to decide what pixels the the
        drawing operation will affect in the final device, the blending
        down through layers needs to consider each layer carefully.

        In this case the image mask is drawn into a layer which is copied
        down using the DestinationIn operation. Since the layer contains
        non-opaque pixels, the DestinationIn copy can destroy opaque
        areas in the next layer. We add OpaqueRegionSkia::FillByCopy to
        distinguish the case where we are copying a block of pixels, and the
        alpha values are essentially unknown.

        Unit test: PlatformContextSkiaTest.trackImageMask
                   PlatformContextSkiaTest.trackImageMaskWithOpaqueRect

        * platform/graphics/skia/OpaqueRegionSkia.cpp:
        (WebCore::paintIsOpaque):
        (WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
        (WebCore::OpaqueRegionSkia::pushCanvasLayer):
        (WebCore::OpaqueRegionSkia::popCanvasLayer):
        (WebCore::OpaqueRegionSkia::didDrawRect):
        (WebCore::OpaqueRegionSkia::didDrawPath):
        (WebCore::OpaqueRegionSkia::didDrawPoints):
        (WebCore::OpaqueRegionSkia::didDrawBounded):
        (WebCore::OpaqueRegionSkia::didDraw):
        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
        (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
        (WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
        * platform/graphics/skia/OpaqueRegionSkia.h:
        (OpaqueRegionSkia):
        (CanvasLayerState):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::restoreLayer):

2012-04-24  Alexandru Chiculita  <achicu@adobe.com>

        CSS Shaders: Repainting the FECustomFilter requires full source image
        https://bugs.webkit.org/show_bug.cgi?id=76689

        Reviewed by Dean Jackson..

        When a pixel of a filtered layer changes we need to update the whole bounding box of the layer and
        not just the dirty rectangle. That's because the shader might change the color of any of the pixels inside the box.

        Added tests where a shader is moving and rotating the contents and the actual
        dirty box of the source image is not the same as the output dirty rectangle.

        Tests: css3/filters/custom/filter-repaint-custom-clipped.html
               css3/filters/custom/filter-repaint-custom-rotated.html
               css3/filters/custom/filter-repaint-custom.html

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::build):
        (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
        * rendering/FilterEffectRenderer.h:
        (FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::hasCustomShaderFilter):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):

2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>

        Replace occurences of style selector from variables and methods names by style resolver.
        https://bugs.webkit.org/show_bug.cgi?id=84765

        Reviewed by Andreas Kling.

        Rename methods and variables to follow the new name StyleResolver. It requires to update the
        local variables, methods parameters, and function names to match the new name and to remove
        the concept of "selector" to avoid clashing with the CSS concept. The next and last patch
        will be to rename CSSStyleSelector file and update the includes.

        No new tests : just renaming the variables and method names. No behavior changes expected.

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::addStops):
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::setSelectorText):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):
        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::styleSheetChanged):
        * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::eval):
        * css/MediaQueryMatcher.cpp:
        (WebCore::MediaQueryMatcher::prepareEvaluator):
        (WebCore::MediaQueryMatcher::styleResolverChanged):
        * css/MediaQueryMatcher.h:
        (MediaQueryMatcher):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
        * css/StyleBuilder.cpp:
        (WebCore::ApplyPropertyExpanding::applyInheritValue):
        (WebCore::ApplyPropertyExpanding::applyInitialValue):
        (WebCore::ApplyPropertyExpanding::applyValue):
        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
        (WebCore::ApplyPropertyDefault::applyValue):
        (WebCore::ApplyPropertyNumber::applyValue):
        (WebCore::ApplyPropertyStyleImage::applyValue):
        (WebCore::ApplyPropertyAuto::applyInheritValue):
        (WebCore::ApplyPropertyAuto::applyInitialValue):
        (WebCore::ApplyPropertyAuto::applyValue):
        (WebCore::ApplyPropertyClip::convertToLength):
        (WebCore::ApplyPropertyClip::applyInheritValue):
        (WebCore::ApplyPropertyClip::applyInitialValue):
        (WebCore::ApplyPropertyClip::applyValue):
        (WebCore::ApplyPropertyColor::applyInheritValue):
        (WebCore::ApplyPropertyColor::applyInitialValue):
        (WebCore::ApplyPropertyColor::applyValue):
        (WebCore::ApplyPropertyColor::applyColorValue):
        (WebCore::ApplyPropertyDirection::applyValue):
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::ApplyPropertyString::applyValue):
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        (WebCore::ApplyPropertyFillLayer::applyInheritValue):
        (WebCore::ApplyPropertyFillLayer::applyInitialValue):
        (WebCore::ApplyPropertyFillLayer::applyValue):
        (WebCore::ApplyPropertyComputeLength::applyValue):
        (WebCore::ApplyPropertyFont::applyInheritValue):
        (WebCore::ApplyPropertyFont::applyInitialValue):
        (WebCore::ApplyPropertyFont::applyValue):
        (WebCore::ApplyPropertyFontSize::applyInheritValue):
        (WebCore::ApplyPropertyFontSize::applyInitialValue):
        (WebCore::ApplyPropertyFontSize::applyValue):
        (WebCore::ApplyPropertyFontWeight::applyValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
        (WebCore::ApplyPropertyBorderImage::applyValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyValue):
        (WebCore::ApplyPropertyBorderImageSource::applyValue):
        (WebCore::ApplyPropertyCounter::applyInheritValue):
        (WebCore::ApplyPropertyCounter::applyValue):
        (WebCore::ApplyPropertyCursor::applyInheritValue):
        (WebCore::ApplyPropertyCursor::applyInitialValue):
        (WebCore::ApplyPropertyCursor::applyValue):
        (WebCore::ApplyPropertyTextAlign::applyValue):
        (WebCore::ApplyPropertyTextDecoration::applyValue):
        (WebCore::ApplyPropertyUnicodeBidi::applyValue):
        (WebCore::ApplyPropertyLineHeight::applyValue):
        (WebCore::ApplyPropertyPageSize::applyValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
        (WebCore::ApplyPropertyAnimation::map):
        (WebCore::ApplyPropertyAnimation::applyInheritValue):
        (WebCore::ApplyPropertyAnimation::applyInitialValue):
        (WebCore::ApplyPropertyAnimation::applyValue):
        (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
        (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
        (WebCore::ApplyPropertyOutlineStyle::applyValue):
        (WebCore::ApplyPropertyResize::applyValue):
        (WebCore::ApplyPropertyVerticalAlign::applyValue):
        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
        (WebCore::ApplyPropertyAspectRatio::applyValue):
        (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
        (WebCore::ApplyPropertyZoom::applyInheritValue):
        (WebCore::ApplyPropertyZoom::applyInitialValue):
        (WebCore::ApplyPropertyZoom::applyValue):
        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
        (WebCore::ApplyPropertyDisplay::applyInheritValue):
        (WebCore::ApplyPropertyDisplay::applyInitialValue):
        (WebCore::ApplyPropertyDisplay::applyValue):
        (WebCore::ApplyPropertyFlex::applyInheritValue):
        (WebCore::ApplyPropertyFlex::applyInitialValue):
        (WebCore::ApplyPropertyFlex::applyValue):
        * css/StyleBuilder.h:
        (WebCore::PropertyHandler::applyInheritValue):
        (WebCore::PropertyHandler::applyInitialValue):
        (WebCore::PropertyHandler::applyValue):
        * css/StyleMedia.cpp:
        (WebCore::StyleMedia::matchMedium):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        (WebCore::Document::setDocType):
        (WebCore::Document::childrenChanged):
        (WebCore::Document::setContentLanguage):
        (WebCore::Document::recalcStyle):
        (WebCore::Document::updateLayoutIgnorePendingStylesheets):
        (WebCore::Document::styleForElementIgnoringPendingStylesheets):
        (WebCore::Document::styleForPage):
        (WebCore::Document::combineCSSFeatureFlags):
        (WebCore::Document::resetCSSFeatureFlags):
        (WebCore::Document::createStyleResolver):
        (WebCore::Document::clearStyleResolver):
        (WebCore::Document::clearPageUserSheet):
        (WebCore::Document::updatePageUserSheet):
        (WebCore::Document::clearPageGroupUserSheets):
        (WebCore::Document::updatePageGroupUserSheets):
        (WebCore::Document::addUserSheet):
        (WebCore::Document::processHttpEquiv):
        (WebCore::Document::setSelectedStylesheetSet):
        (WebCore::Document::removePendingSheet):
        (WebCore::Document::evaluateMediaQueryList):
        (WebCore::Document::styleResolverChanged):
        (WebCore::Document::analyzeStylesheetChange):
        (WebCore::Document::updateActiveStylesheets):
        * dom/Document.h:
        (WebCore::Document::styleResolverIfExists):
        (WebCore::Document::styleResolver):
        (Document):
        * dom/Element.cpp:
        (WebCore::StyleResolverParentPusher::StyleResolverParentPusher):
        (WebCore::StyleResolverParentPusher::push):
        (WebCore::StyleResolverParentPusher::~StyleResolverParentPusher):
        (StyleResolverParentPusher):
        (WebCore::Element::attributeChanged):
        (WebCore::Element::attach):
        (WebCore::Element::styleForRenderer):
        (WebCore::Element::recalcStyle):
        (WebCore::Element::beginParsingChildren):
        (WebCore::Element::finishParsingChildren):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::removedFrom):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::attach):
        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::recalcShadowTreeStyle):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::removedFromDocument):
        * editing/EditingStyle.cpp:
        (WebCore::styleFromMatchedRulesForElement):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::restore):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::styleResolver):
        * html/HTMLCanvasElement.h:
        (HTMLCanvasElement):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setDisabledState):
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::removedFrom):
        (WebCore::HTMLLinkElement::removePendingSheet):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::registerWithScopingNode):
        (WebCore::HTMLStyleElement::unregisterWithScopingNode):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setFont):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::recalcStyleForPseudoStateIfNeeded):
        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
        (WebCore::InspectorCSSAgent::clearPseudoState):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::updateViewMetrics):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::getMatchedCSSRules):
        * page/Frame.cpp:
        (WebCore::Frame::setPrinting):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * page/Page.cpp:
        (WebCore::Page::setViewMode):
        (WebCore::Page::setNeedsRecalcStyleInAllFrames):
        (WebCore::Page::allVisitedStateChanged):
        (WebCore::Page::visitedStateChanged):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::KeyframeAnimation):
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
        (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
        (WebCore::RenderThemeEfl::adjustCheckboxStyle):
        (WebCore::RenderThemeEfl::adjustRadioStyle):
        (WebCore::RenderThemeEfl::adjustButtonStyle):
        (WebCore::RenderThemeEfl::adjustMenuListStyle):
        (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
        (WebCore::RenderThemeEfl::adjustTextAreaStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
        (WebCore::RenderThemeEfl::adjustProgressBarStyle):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::adjustButtonStyle):
        (WebCore::RenderThemeGtk::adjustMenuListStyle):
        (WebCore::RenderThemeGtk::adjustMenuListButtonStyle):
        (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
        (WebCore::RenderThemeGtk::adjustSliderThumbStyle):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustSliderThumbStyle):
        (WebCore::RenderThemeQt::adjustSearchFieldStyle):
        (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore::RenderThemeQtMobile::adjustButtonStyle):
        (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::adjustButtonStyle):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement):
        (WebCore::RenderListBox::paintItemForeground):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::fontSelector):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::getUncachedPseudoStyle):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::styleDidChange):
        (WebCore::RenderRegion::computeStyleInRegion):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::fontSelector):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustMenuListStyle):
        (WebCore::RenderThemeMac::adjustSliderThumbStyle):
        (WebCore::RenderThemeMac::adjustSearchFieldStyle):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::setFontFromControlSize):
        (WebCore::RenderThemeSafari::adjustButtonStyle):
        (WebCore::RenderThemeSafari::adjustMenuListStyle):
        (WebCore::RenderThemeSafari::adjustMenuListButtonStyle):
        (WebCore::RenderThemeSafari::adjustSliderThumbStyle):
        (WebCore::RenderThemeSafari::adjustSearchFieldStyle):
        (WebCore::RenderThemeSafari::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeSafari::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeSafari::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeSafari::adjustSearchFieldResultsButtonStyle):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
        (WebCore::RenderThemeWin::adjustMenuListStyle):
        (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
        (WebCore::RenderThemeWin::adjustSearchFieldStyle):
        (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
        * rendering/RenderThemeWinCE.cpp:
        (WebCore::RenderThemeWinCE::adjustMenuListStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
        * rendering/style/StyleGeneratedImage.cpp:
        (WebCore::StyleGeneratedImage::image):
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::customStyleForRenderer):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::rebuildFontFace):
        (WebCore::SVGFontFaceElement::removedFrom):
        * xml/XMLTreeViewer.cpp:
        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
        * xml/parser/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::end):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::doEnd):
        * xml/parser/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::doEnd):
        * WebCore.exp.in:

2012-04-24  Yael Aharon  <yael.aharon@nokia.com>

        Fixed background is scrolling in http://www.nieuwecode.nl/ in Qt webkit2
        https://bugs.webkit.org/show_bug.cgi?id=83980

        Reviewed by Simon Fraser.

        When a fixed position element does not have z-index explicitly specified, it does not create a
        stacking context. This results in fixed elements scrolling with the content layer.
        This patch creates a stacking context for fixed positioned elements for the Qt port, by enabling
        the flag ENABLE_FIXED_POSITION_CREATES_STACKING_CONTEXT.
        Added a manual test because this patch takes effect only during scrolling.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-04-24  Andreas Kling  <kling@webkit.org>

        REGRESSION(r115099): html5lib/runner.html crashes.
        <http://webkit.org/b/84791>

        Reviewed by Anders Carlsson.

        Unbreak and simplify the code that filters attributes on isindex elements.
        It's perfectly safe to remove elements from a Vector while iterating over it.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):

2012-04-24  Victor Carbune  <vcarbune@adobe.com>

        Extra display logic for the media control panel element
        https://bugs.webkit.org/show_bug.cgi?id=82476

        Reviewed by Eric Carlson.

        This patch fixes a bug which caused the controls to be displayed
        when they should remain hidden. Added an extra variable to the
        panel elements which properly keeps the state of the panel (visible or not).

        Test: media/video-controls-toggling.html

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added the
        variable m_isDisplayed to hold the state whether the panel is visible or not.
        (WebCore::MediaControlPanelElement::makeOpaque): Showing the panel only if it
        is visible.
        (WebCore::MediaControlPanelElement::makeTransparent): Enabled the transition
        timer which sets the display:none property on the controls.
        (WebCore::MediaControlPanelElement::setIsDisplayed): Setter for the state variable.
        (WebCore):
        * html/shadow/MediaControlElements.h:
        (MediaControlPanelElement):
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::show): Updated the panel visibility state.
        (WebCore::MediaControlRootElement::hide): Updated the panel visibility state.
        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::show): Updated the panel visibility state.
        (WebCore::MediaControlRootElementChromium::hide): Updated the panel visibility state.

2012-04-24  Alexandru Chiculita  <achicu@adobe.com>

        CSS Shaders: Custom filters painting is broken
        https://bugs.webkit.org/show_bug.cgi?id=82803

        Reviewed by Kenneth Russell.

        In this patch I moved CSS Shaders file loading notifications from FilterEffectRenderer to the new RenderLayerFilterInfo.
        That's because FilterEffectRenderer is only used when running the filters in the software pipeline
        and has a very short lifetime. Due to a recent change FilterEffectRenderer actually
        gets deleted if the shader is not loaded, so it doesn't live that much to be notified when the shader
        was actually loaded.

        Also removed the FilterEffectObserver, that was only used to notify the RenderLayer about the loaded shader.

        No new tests. This is making existing CSS Shaders tests pass again.
        Cannot un-skip on Mac for now because the feature is compile time disabled.
        
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/filters/CustomFilterOperation.h:
        (WebCore::CustomFilterOperation::affectsOpacity):
        (WebCore::CustomFilterOperation::movesPixels):
        * platform/graphics/filters/FilterOperations.cpp:
        (WebCore):
        (WebCore::FilterOperations::hasCustomFilter):
        * platform/graphics/filters/FilterOperations.h:
        (FilterOperations):
        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
        (WebCore::BitmapTextureImageBuffer::applyFilters):
        * rendering/FilterEffectObserver.h: Removed.
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::build):
        * rendering/FilterEffectRenderer.h:
        (WebCore):
        (WebCore::FilterEffectRenderer::create):
        (FilterEffectRenderer):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerFilterInfo.cpp:
        (WebCore::RenderLayerFilterInfo::~RenderLayerFilterInfo):
        (WebCore::RenderLayerFilterInfo::notifyCustomFilterProgramLoaded):
        (WebCore):
        (WebCore::RenderLayerFilterInfo::updateCustomFilterClients):
        (WebCore::RenderLayerFilterInfo::removeCustomFilterClients):
        * rendering/RenderLayerFilterInfo.h:
        (WebCore):
        (RenderLayerFilterInfo):

2012-04-24  Antti Koivisto  <antti@apple.com>

        Another build fix.

        Not reviewed.

        * css/MediaList.cpp:
        (WebCore::MediaQuerySet::MediaQuerySet):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::StylePropertySet):

2012-04-24  Antti Koivisto  <antti@apple.com>

        Try to fix Qt build.

        Not reviewed.

        * css/StyleRule.h:
        (WebCore::StyleRuleBase::StyleRuleBase):

2012-04-24  Antti Koivisto  <antti@apple.com>

        Implement StyleRule copying
        https://bugs.webkit.org/show_bug.cgi?id=84752

        Reviewed by Andreas Kling.
        
        We'll need this for copy-on-write when style sheet data is shared between documents.

        Implement copy() and copy constructor for style rules their children as needed.
        
        The code is not yet used.

        * css/CSSSelectorList.cpp:
        (WebCore::CSSSelectorList::CSSSelectorList):
        (WebCore):
        * css/CSSSelectorList.h:
        (CSSSelectorList):
        * css/MediaList.h:
        (WebCore::MediaQuerySet::copy):
        (MediaQuerySet):
        * css/MediaQuery.cpp:
        (WebCore::MediaQuery::MediaQuery):
        (WebCore):
        * css/MediaQuery.h:
        (MediaQuery):
        (WebCore::MediaQuery::copy):
        * css/MediaQueryExp.h:
        (WebCore::MediaQueryExp::copy):
        (MediaQueryExp):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::StylePropertySet):
        (WebCore):
        (WebCore::StylePropertySet::copy):
        * css/StylePropertySet.h:
        
            Make this copy parse mode too. As a result ElementAttributeData no longer needs to set it explicitly after copying.

        (StylePropertySet):
        * css/StyleRule.cpp:
        (WebCore::StyleRuleBase::copy):
        (WebCore):
        (WebCore::StyleRule::StyleRule):
        (WebCore::StyleRulePage::StyleRulePage):
        (WebCore::StyleRuleFontFace::StyleRuleFontFace):
        (WebCore::StyleRuleBlock::StyleRuleBlock):
        (WebCore::StyleRuleMedia::StyleRuleMedia):
        (WebCore::StyleRuleRegion::StyleRuleRegion):
        * css/StyleRule.h:
        (StyleRuleBase):
        (WebCore::StyleRuleBase::StyleRuleBase):
        (WebCore::StyleRule::copy):
        (StyleRule):
        (WebCore::StyleRuleFontFace::copy):
        (StyleRuleFontFace):
        (WebCore::StyleRulePage::copy):
        (StyleRulePage):
        (StyleRuleBlock):
        (WebCore::StyleRuleMedia::copy):
        (StyleRuleMedia):
        (WebCore::StyleRuleRegion::copy):
        (StyleRuleRegion):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore):
        (WebCore::StyleRuleKeyframes::StyleRuleKeyframes):
        * css/WebKitCSSKeyframesRule.h:
        (WebCore):
        (WebCore::StyleRuleKeyframes::copy):
        (StyleRuleKeyframes):

2012-04-24  Ryosuke Niwa  <rniwa@webkit.org>

        Revert r115009; It doesn't make necessary changes to NodeRareData and Node.

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        * html/CollectionType.h:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::shouldIncludeChildren):
        (WebCore::HTMLCollection::isAcceptableElement):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::HTMLFormCollection):
        * html/RadioNodeList.cpp: Removed.
        * html/RadioNodeList.h: Removed.
        * html/RadioNodeList.idl: Removed.

2012-04-24  Chris Rogers  <crogers@google.com>

        WaveTable should normalize to 0dbFS instead of -6dbFS
        https://bugs.webkit.org/show_bug.cgi?id=84644

        Reviewed by Kenneth Russell.

        No new tests. Oscillator tests will be rebaselined after landing, since several platforms are affected.

        * Modules/webaudio/WaveTable.cpp:
        (WebCore::WaveTable::createBandLimitedTables):

2012-04-24  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Create a new flag for PeerConnection
        https://bugs.webkit.org/show_bug.cgi?id=84723

        Reviewed by Dimitri Glazkov.

        To allow Chrome to make the GetUserMedia functionality available by default we
        need another flag for the PeerConnection related parts. This new flag is in
        addition to the general media stream flag, and both need to be enabled for
        PeerConnection object creation.

        No code behavior changes.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * bindings/generic/RuntimeEnabledFeatures.h:
        (RuntimeEnabledFeatures):
        (WebCore::RuntimeEnabledFeatures::peerConnectionEnabled):
        (WebCore::RuntimeEnabledFeatures::setPeerConnectionEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitDeprecatedPeerConnectionEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):

2012-04-24  Joe Mason  <jmason@rim.com>

        [BlackBerry] Revert broken changes to authentication dialog
        https://bugs.webkit.org/show_bug.cgi?id=80135

        Reviewed by Antonio Gomes.

        The previous patches from this bug caused an infinite loop when using digest auth;
        apparently they were only tested with basic.

        * platform/blackberry/PageClientBlackBerry.h:
        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleAuthHeader):
        (WebCore::NetworkJob::sendRequestWithCredentials):

2012-04-24  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Fix wrong ASSERT() in findAttributeInVector()
        https://bugs.webkit.org/show_bug.cgi?id=84756

        Unreviewed build fix.

        * dom/ElementAttributeData.h:
        (WebCore::findAttributeInVector):

2012-04-24  Anders Carlsson  <andersca@apple.com>

        Update the scroll layer position on the main thread when viewing full-frame images
        https://bugs.webkit.org/show_bug.cgi?id=84754
        <rdar://problem/11193304>

        Reviewed by Andreas Kling.

        Showing really big images can be slow sometimes and in that case it's better to update the scroll layer position on
        the main thread, which will avoid flashing white.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):

2012-04-24  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Use Vector<Attribute> directly instead of encapsulating it in AttributeVector
        https://bugs.webkit.org/show_bug.cgi?id=84413

        Reviewed by Andreas Kling.

        As commented in https://bugs.webkit.org/show_bug.cgi?id=79963#c16 we do not
        usually subclass basic types like Vector. This patch changes code to use
        Vector<Attribute> directly and move around the functionality of the former
        methods to more specific helper functions or inline code at the callers.

        * dom/Element.cpp:
        (WebCore::Element::parserSetAttributes):
        (WebCore::Element::normalizeAttributes):
        * dom/Element.h:
        (Element):
        * dom/ElementAttributeData.cpp:
        * dom/ElementAttributeData.h:
        (WebCore::getAttributeFromVector):
        (WebCore::ElementAttributeData::getAttributeItem):
        (ElementAttributeData):
        (WebCore::ElementAttributeData::attributeVector):
        (WebCore::ElementAttributeData::clonedAttributeVector):
        (WebCore::ElementAttributeData::getAttributeItemIndex):
        (WebCore):
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
        * html/parser/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakeStartTag):
        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
        * html/parser/HTMLTreeBuilder.h:
        * html/parser/TextDocumentParser.cpp:
        (WebCore::TextDocumentParser::insertFakePreElement):
        * xml/XMLErrors.cpp:
        (WebCore::createXHTMLParserErrorHeader):
        (WebCore::XMLErrors::insertErrorMessageBlock):
        * xml/parser/MarkupTokenBase.h:
        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
        (WebCore::AtomicMarkupTokenBase::getAttributeItem):
        (WebCore::AtomicMarkupTokenBase::attributes):
        (AtomicMarkupTokenBase):
        (WebCore::::initializeAttributes):
        * xml/parser/XMLToken.h:
        (WebCore::AtomicXMLToken::AtomicXMLToken):

2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>

        Rename CSSStyleSelector class to StyleResolver.
        https://bugs.webkit.org/show_bug.cgi?id=84734

        Reviewed by Andreas Kling.

        The name CSSStyleSelector is confusing as it conflicts a bit with
        the CSS concept of selectors. One could think it's an encapsulation
        of the CSS selectors but it's not, in fact this class is responsible
        of finding the RenderStyle for a given element. This is the first patch
        as I will later rename the files, and then rename the local variables.

        No new tests : renaming, no behavior changes should appear.

        * css/CSSCalculationValue.cpp:
        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseSizeParameter):
        * css/CSSStyleSelector.cpp:
        (RuleSet):
        (WebCore::RuleSet::features):
        (WebCore):
        (WebCore::StyleResolver::StyleResolver):
        (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
        (WebCore::makeRuleSet):
        (WebCore::StyleResolver::collectFeatures):
        (WebCore::StyleResolver::determineScope):
        (WebCore::StyleResolver::ruleSetForScope):
        (WebCore::StyleResolver::appendAuthorStylesheets):
        (WebCore::StyleResolver::setupScopeStack):
        (WebCore::StyleResolver::pushScope):
        (WebCore::StyleResolver::popScope):
        (WebCore::StyleResolver::pushParentElement):
        (WebCore::StyleResolver::popParentElement):
        (WebCore::StyleResolver::pushParentShadowRoot):
        (WebCore::StyleResolver::popParentShadowRoot):
        (WebCore::StyleResolver::addKeyframeStyle):
        (WebCore::StyleResolver::~StyleResolver):
        (WebCore::StyleResolver::sweepMatchedPropertiesCache):
        (WebCore::StyleResolver::Features::Features):
        (WebCore::StyleResolver::Features::~Features):
        (WebCore::StyleResolver::Features::add):
        (WebCore::StyleResolver::Features::clear):
        (WebCore::StyleResolver::addMatchedProperties):
        (WebCore::StyleResolver::addElementStyleProperties):
        (WebCore::StyleResolver::collectMatchingRules):
        (WebCore::StyleResolver::collectMatchingRulesForRegion):
        (WebCore::StyleResolver::sortAndTransferMatchedRules):
        (WebCore::StyleResolver::matchScopedAuthorRules):
        (WebCore::StyleResolver::matchAuthorRules):
        (WebCore::StyleResolver::matchUserRules):
        (WebCore::StyleResolver::matchUARules):
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (StyleResolver):
        (Features):
        * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::eval):
        * css/MediaQueryEvaluator.h:
        (WebCore):
        (MediaQueryEvaluator):
        * css/MediaQueryMatcher.cpp:
        (WebCore::MediaQueryMatcher::prepareEvaluator):
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::StyleResolver::applySVGProperty):
        * css/StyleBuilder.cpp:
        (WebCore::ApplyPropertyExpanding::applyInheritValue):
        (WebCore::ApplyPropertyExpanding::applyInitialValue):
        (WebCore::ApplyPropertyExpanding::applyValue):
        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
        (WebCore::ApplyPropertyDefaultBase::applyValue):
        (WebCore::ApplyPropertyDefault::applyValue):
        (WebCore::ApplyPropertyNumber::applyValue):
        (WebCore::ApplyPropertyStyleImage::applyValue):
        (WebCore::ApplyPropertyAuto::applyInheritValue):
        (WebCore::ApplyPropertyAuto::applyInitialValue):
        (WebCore::ApplyPropertyAuto::applyValue):
        (WebCore::ApplyPropertyClip::convertToLength):
        (WebCore::ApplyPropertyClip::applyInheritValue):
        (WebCore::ApplyPropertyClip::applyInitialValue):
        (WebCore::ApplyPropertyClip::applyValue):
        (WebCore::ApplyPropertyColor::applyInheritValue):
        (WebCore::ApplyPropertyColor::applyInitialValue):
        (WebCore::ApplyPropertyColor::applyValue):
        (WebCore::ApplyPropertyColor::applyColorValue):
        (WebCore::ApplyPropertyDirection::applyValue):
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::ApplyPropertyString::applyValue):
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        (WebCore::ApplyPropertyFillLayer::applyInheritValue):
        (WebCore::ApplyPropertyFillLayer::applyInitialValue):
        (WebCore::ApplyPropertyFillLayer::applyValue):
        (WebCore::ApplyPropertyComputeLength::applyValue):
        (WebCore::ApplyPropertyFont::applyInheritValue):
        (WebCore::ApplyPropertyFont::applyInitialValue):
        (WebCore::ApplyPropertyFont::applyValue):
        (WebCore::ApplyPropertyFontSize::applyInheritValue):
        (WebCore::ApplyPropertyFontSize::applyInitialValue):
        (WebCore::ApplyPropertyFontSize::applyValue):
        (WebCore::ApplyPropertyFontWeight::applyValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
        (WebCore::ApplyPropertyBorderImage::applyValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyValue):
        (WebCore::ApplyPropertyBorderImageSource::applyValue):
        (WebCore::ApplyPropertyCounter::emptyFunction):
        (WebCore::ApplyPropertyCounter::applyInheritValue):
        (WebCore::ApplyPropertyCounter::applyValue):
        (WebCore::ApplyPropertyCursor::applyInheritValue):
        (WebCore::ApplyPropertyCursor::applyInitialValue):
        (WebCore::ApplyPropertyCursor::applyValue):
        (WebCore::ApplyPropertyTextAlign::applyValue):
        (WebCore::ApplyPropertyTextDecoration::applyValue):
        (WebCore::ApplyPropertyUnicodeBidi::applyValue):
        (WebCore::ApplyPropertyLineHeight::applyValue):
        (WebCore::ApplyPropertyPageSize::applyInheritValue):
        (WebCore::ApplyPropertyPageSize::applyInitialValue):
        (WebCore::ApplyPropertyPageSize::applyValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
        (WebCore):
        (WebCore::ApplyPropertyAnimation::map):
        (WebCore::ApplyPropertyAnimation::applyInheritValue):
        (WebCore::ApplyPropertyAnimation::applyInitialValue):
        (WebCore::ApplyPropertyAnimation::applyValue):
        (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
        (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
        (WebCore::ApplyPropertyOutlineStyle::applyValue):
        (WebCore::ApplyPropertyResize::applyValue):
        (WebCore::ApplyPropertyVerticalAlign::applyValue):
        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
        (WebCore::ApplyPropertyAspectRatio::applyValue):
        (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
        (WebCore::ApplyPropertyZoom::applyInheritValue):
        (WebCore::ApplyPropertyZoom::applyInitialValue):
        (WebCore::ApplyPropertyZoom::applyValue):
        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
        (WebCore::ApplyPropertyDisplay::applyInheritValue):
        (WebCore::ApplyPropertyDisplay::applyInitialValue):
        (WebCore::ApplyPropertyDisplay::applyValue):
        (WebCore::ApplyPropertyFlex::applyInheritValue):
        (WebCore::ApplyPropertyFlex::applyInitialValue):
        (WebCore::ApplyPropertyFlex::applyValue):
        (WebCore::StyleBuilder::StyleBuilder):
        * css/StyleBuilder.h:
        (WebCore):
        (PropertyHandler):
        (WebCore::PropertyHandler::applyInheritValue):
        (WebCore::PropertyHandler::applyInitialValue):
        (WebCore::PropertyHandler::applyValue):
        * css/StyleMedia.cpp:
        (WebCore::StyleMedia::matchMedium):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::setName):
        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::setMatrixValue):
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        (WebCore::Document::createStyleSelector):
        (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
        * dom/Document.h:
        (WebCore):
        (WebCore::Document::styleSelectorIfExists):
        (WebCore::Document::styleSelector):
        (Document):
        * dom/Element.cpp:
        (StyleSelectorParentPusher):
        (WebCore::Element::attributeChanged):
        (WebCore::Element::beginParsingChildren):
        (WebCore::Element::finishParsingChildren):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::attach):
        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::recalcShadowTreeStyle):
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::mergeStyleFromRules):
        (WebCore::EditingStyle::removeStyleFromRulesAndContext):
        (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
        (WebCore::legacyFontSizeFromCSSValue):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::focusedOrActiveStateChanged):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::restore):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::styleSelector):
        * html/HTMLCanvasElement.h:
        (HTMLCanvasElement):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setFont):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::getMatchedCSSRules):
        * page/Page.cpp:
        (WebCore::Page::allVisitedStateChanged):
        (WebCore::Page::visitedStateChanged):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationController::updateAnimations):
        * platform/blackberry/RenderThemeBlackBerry.cpp:
        (WebCore::RenderThemeBlackBerry::adjustButtonStyle):
        (WebCore::RenderThemeBlackBerry::adjustTextAreaStyle):
        (WebCore::RenderThemeBlackBerry::adjustTextFieldStyle):
        (WebCore::RenderThemeBlackBerry::adjustSearchFieldStyle):
        (WebCore::RenderThemeBlackBerry::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeBlackBerry::adjustMenuListButtonStyle):
        (WebCore::RenderThemeBlackBerry::adjustMenuListStyle):
        (WebCore::RenderThemeBlackBerry::adjustCheckboxStyle):
        (WebCore::RenderThemeBlackBerry::adjustRadioStyle):
        * platform/blackberry/RenderThemeBlackBerry.h:
        (RenderThemeBlackBerry):
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
        (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
        (WebCore::RenderThemeEfl::adjustCheckboxStyle):
        (WebCore::RenderThemeEfl::adjustRadioStyle):
        (WebCore::RenderThemeEfl::adjustButtonStyle):
        (WebCore::RenderThemeEfl::adjustMenuListStyle):
        (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
        (WebCore::RenderThemeEfl::adjustTextAreaStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
        (WebCore::RenderThemeEfl::adjustProgressBarStyle):
        * platform/efl/RenderThemeEfl.h:
        (RenderThemeEfl):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::adjustButtonStyle):
        (WebCore::RenderThemeGtk::adjustMenuListStyle):
        (WebCore::RenderThemeGtk::adjustMenuListButtonStyle):
        (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
        (WebCore::RenderThemeGtk::adjustSliderTrackStyle):
        (WebCore::RenderThemeGtk::adjustSliderThumbStyle):
        (WebCore::RenderThemeGtk::adjustProgressBarStyle):
        * platform/gtk/RenderThemeGtk.h:
        (RenderThemeGtk):
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustTextFieldStyle):
        (WebCore::RenderThemeQt::adjustTextAreaStyle):
        (WebCore::RenderThemeQt::adjustMenuListStyle):
        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
        (WebCore::RenderThemeQt::adjustProgressBarStyle):
        (WebCore::RenderThemeQt::adjustSliderTrackStyle):
        (WebCore::RenderThemeQt::adjustSliderThumbStyle):
        (WebCore::RenderThemeQt::adjustSearchFieldStyle):
        (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
        * platform/qt/RenderThemeQt.h:
        (RenderThemeQt):
        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore::RenderThemeQtMobile::adjustButtonStyle):
        (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
        (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
        * platform/qt/RenderThemeQtMobile.h:
        (RenderThemeQtMobile):
        * platform/wx/RenderThemeWx.cpp:
        (RenderThemeWx):
        (WebCore::RenderThemeWx::adjustButtonStyle):
        (WebCore::RenderThemeWx::adjustTextFieldStyle):
        (WebCore::RenderThemeWx::adjustMenuListStyle):
        (WebCore::RenderThemeWx::adjustMenuListButtonStyle):
        * rendering/RenderInputSpeech.cpp:
        (WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle):
        * rendering/RenderInputSpeech.h:
        (RenderInputSpeech):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::adjustCheckboxStyle):
        (WebCore::RenderTheme::adjustRadioStyle):
        (WebCore::RenderTheme::adjustButtonStyle):
        (WebCore::RenderTheme::adjustInnerSpinButtonStyle):
        (WebCore::RenderTheme::adjustTextFieldStyle):
        (WebCore::RenderTheme::adjustTextAreaStyle):
        (WebCore::RenderTheme::adjustMenuListStyle):
        (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
        (WebCore::RenderTheme::adjustMeterStyle):
        (WebCore::RenderTheme::adjustProgressBarStyle):
        (WebCore::RenderTheme::adjustMenuListButtonStyle):
        (WebCore::RenderTheme::adjustSliderTrackStyle):
        (WebCore::RenderTheme::adjustSliderThumbStyle):
        (WebCore::RenderTheme::adjustSearchFieldStyle):
        (WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderTheme::adjustSearchFieldDecorationStyle):
        (WebCore::RenderTheme::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle):
        * rendering/RenderTheme.h:
        (RenderTheme):
        * rendering/RenderThemeChromiumAndroid.cpp:
        (WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
        * rendering/RenderThemeChromiumAndroid.h:
        (RenderThemeChromiumAndroid):
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
        * rendering/RenderThemeChromiumLinux.h:
        (RenderThemeChromiumLinux):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
        * rendering/RenderThemeChromiumSkia.h:
        (RenderThemeChromiumSkia):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore):
        (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle):
        (WebCore::RenderThemeChromiumWin::adjustProgressBarStyle):
        * rendering/RenderThemeChromiumWin.h:
        (RenderThemeChromiumWin):
        * rendering/RenderThemeMac.h:
        (RenderThemeMac):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::setFontFromControlSize):
        (WebCore::RenderThemeMac::adjustTextFieldStyle):
        (WebCore::RenderThemeMac::adjustTextAreaStyle):
        (WebCore::RenderThemeMac::adjustProgressBarStyle):
        (WebCore::RenderThemeMac::adjustMenuListStyle):
        (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
        (WebCore::RenderThemeMac::adjustSliderTrackStyle):
        (WebCore::RenderThemeMac::adjustSliderThumbStyle):
        (WebCore::RenderThemeMac::adjustSearchFieldStyle):
        (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::setFontFromControlSize):
        (WebCore::RenderThemeSafari::adjustButtonStyle):
        (WebCore::RenderThemeSafari::adjustTextFieldStyle):
        (WebCore::RenderThemeSafari::adjustTextAreaStyle):
        (WebCore::RenderThemeSafari::adjustMenuListStyle):
        (WebCore::RenderThemeSafari::adjustMenuListButtonStyle):
        (WebCore::RenderThemeSafari::adjustSliderThumbStyle):
        (WebCore::RenderThemeSafari::adjustSearchFieldStyle):
        (WebCore::RenderThemeSafari::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeSafari::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeSafari::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeSafari::adjustSearchFieldResultsButtonStyle):
        * rendering/RenderThemeSafari.h:
        (RenderThemeSafari):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
        (WebCore::RenderThemeWin::adjustMenuListStyle):
        (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
        (WebCore::RenderThemeWin::adjustSearchFieldStyle):
        (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
        * rendering/RenderThemeWin.h:
        (RenderThemeWin):
        (WebCore::RenderThemeWin::adjustButtonStyle):
        (WebCore::RenderThemeWin::adjustTextFieldStyle):
        (WebCore::RenderThemeWin::adjustTextAreaStyle):
        * rendering/RenderThemeWinCE.cpp:
        (WebCore::RenderThemeWinCE::adjustMenuListStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
        * rendering/RenderThemeWinCE.h:
        (RenderThemeWinCE):
        (WebCore::RenderThemeWinCE::adjustButtonStyle):
        (WebCore::RenderThemeWinCE::adjustTextFieldStyle):
        (WebCore::RenderThemeWinCE::adjustTextAreaStyle):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::isStyleAvailable):
        * rendering/style/RenderStyle.h:
        (WebCore):
        * rendering/style/StyleRareNonInheritedData.h:
        (WebCore):
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::isOverflowHidden):

2012-04-15  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: table-columns-example-001 fails
        https://bugs.webkit.org/show_bug.cgi?id=83978

        Reviewed by David Hyatt.

        Tests: css2.1/20110323/table-columns-example-001.html
               fast/css/table-rules-attribute-groups-with-frame.html
               fast/css/table-rules-attribute-groups.html
               fast/css/table-rules-attribute-none-with-frame.html
               fast/css/table-rules-attribute-with-frame1.html
               fast/css/table-rules-attribute-with-frame2.html
               fast/css/table-rules-attribute.html

        WebKit does not implement the 'cols', 'rows', and 'all' rules attributes correctly
        for cells that are adjacent to the table's edges. The solution is to follow the hint in the
        spec at http://www.w3.org/TR/CSS21/tables.html#columns and set the table's border to 
        hidden when the rules attribute is set to one of 'cols', 'rows' or 'all', and the table itself
        has no explicit border. Border collapsing will take care of the rest as 'hidden' always wins in 
        border-conflict resolution. It's not completely clear from the spec that an explicit table border
        should trump a cols rule but doing so is consistent with FF and Opera at least. A 'rules' attribute
        is trumped by anything specified for the 'frame' attribute so need to ensure that is respected too.

        In short, any 'rules' attribute means a hidden table border unless there's a frame or border attribute.

        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyle):

2012-04-22  Timothy Hatcher  <timothy@apple.com>

        Stop installing localizedStrings.js in Production builds.

        <rdar://problem/11296649>

        Reviewed by Joseph Pecoraro.

        * Configurations/WebCore.xcconfig: Added EXCLUDED_SOURCE_FILE_NAMES_Production_macosx
        and modified EXCLUDED_SOURCE_FILE_NAMES to look for CONFIGURATION variant.

2012-04-24  Yuzhu Shen  <yzshen@chromium.org>

        [chromium] Add a description field in WebURLError and show failure description in the inspector network tab.
        https://bugs.webkit.org/show_bug.cgi?id=84566

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
        * platform/chromium/support/WebURLError.cpp:
        (WebKit::WebURLError::operator=):
        (WebKit::WebURLError::operator ResourceError):

2012-04-24  Rob Buis  <rbuis@rim.com>

        [SVG] getBBox on a <g> within symbol returns 0 but with defs it works correctly
        https://bugs.webkit.org/show_bug.cgi?id=72796

        SVG <use> of <symbol> containing <linearGradient> renders black
        https://bugs.webkit.org/show_bug.cgi?id=82775

        Reviewed by Dirk Schulze.

        Create RenderSVGHiddenContainer for each <symbol>, which allows creation of child renderers too. This fixes
        both bugs since the bbox can be calculated at all times now and gradients in <symbol> are always created.
        This does allocate more memory but in general <symbol> is not used a lot and they tend to be small subtrees.

        Patch by Leo Yang.

        Tests: svg/custom/bbox-of-g-in-symbol.svg
               svg/custom/gradient-in-symbol-expected.svg
               svg/custom/gradient-in-symbol.svg

        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::createRenderer):
        (WebCore):
        * svg/SVGSymbolElement.h:
        (SVGSymbolElement):

2012-04-24  Brady Eidson  <beidson@apple.com>

        <rdar://problem/10120155> and https://bugs.webkit.org/show_bug.cgi?id=82664
         Need DOMWindow mechanism to supplement UserScripts for page cache notifications

        This patch creates a new object type "DOMWindowExtension" which extends DOMWindowProperty.
        A DOMWindowExtension is tied to a particular DOMWindow and represents extensibility in that
        DOMWindow within a particular DOMWrapperWorld.

        It is a token object meant designed to notify clients of the various events in the lifetime
        of a DOMWindow property such as creation, disconnecting for the page cache, reconnecting
        when restoring from the page cache, and DOMWindow destruction.

        Reviewed by Sam Weinig.

        New WebKit API test DOMWindowExtensionBasic added.

        Add hooks for 4 new client calls regarding DOMWindowExtensions and global object lifetime:
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::dispatchCanCreateGlobalObject):
        (WebCore::FrameLoaderClient::dispatchWillDisconnectDOMWindowExtensionFromGlobalObject):
        (WebCore::FrameLoaderClient::dispatchDidReconnectDOMWindowExtensionToGlobalObject):
        (WebCore::FrameLoaderClient::dispatchWillDestroyGlobalObjectForDOMWindowExtension):
        
        At the same time "DidClearWindowObject" is called, also notify clients that the global object is available:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):
        * loader/FrameLoader.h:

         DOMWindowProperties might want to unregister themselves during these notifications, so copy
         the set to a Vector. While this technique is arguably fragile, its certainly less fragile than
         mutating a set while iterating it:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::willDetachPage):
        (WebCore::DOMWindow::disconnectDOMWindowProperties):
        (WebCore::DOMWindow::reconnectDOMWindowProperties):

         Implement the DOMWindowExtension object. It acts like a DOMWindowProperty with the added capability
         of remembering what Frame it used to be connected to so it can *always* notify clients on willDetachPage:
        * page/DOMWindowExtension.cpp: Added.
        (WebCore::DOMWindowExtension::DOMWindowExtension):
        (WebCore::DOMWindowExtension::~DOMWindowExtension):
        (WebCore::DOMWindowExtension::disconnectFrame):
        (WebCore::DOMWindowExtension::reconnectFrame):
        (WebCore::DOMWindowExtension::willDetachPage):
        * page/DOMWindowExtension.h: Added.
        (WebCore::DOMWindowExtension::create):
        (WebCore::DOMWindowExtension::world):

         Project files:
        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

2012-04-24  Sami Kyostila  <skyostil@chromium.org>

        [chromium] Don't keep pointers to released layer tree
        https://bugs.webkit.org/show_bug.cgi?id=84715

        Reviewed by Adrienne Walker.

        As part of tree synchronization, CCLayerTreeHostImpl loses ownership of
        the previous tree (as per releaseRootLayer()). After this point we
        should not retain any pointers to the old tree, because they are
        effectively invalid as soon as the root layer is released.

        For processing scroll updates we need to keep track of which layer is
        being scrolled, and this state needs to survive tree synchronizations.
        Instead of keeping a direct pointer to the scrolled layer, we now save
        the id of that layer and use it to look up the same layer from the new
        tree.

        Unit test: CCLayerTreeHostImplTest.replaceTreeWhileScrolling

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::setRootLayer):
        (WebCore::CCLayerTreeHostImpl::releaseRootLayer):
        (WebCore::CCLayerTreeHostImpl::scrollBegin):
        (WebCore::CCLayerTreeHostImpl::scrollEnd):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):

2012-04-24  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Filters] Move m_filter and related fields from RenderLayer to a different structure and only allocate it when needed
        https://bugs.webkit.org/show_bug.cgi?id=84460

        Reviewed by Dean Jackson.

        The new RenderLayerFilterInfo is meant to be allocated only when needed by filters. The link to the RenderLayerFilterInfo
        is maintained using a HashMap and a single boolean in the RenderLayer class.

        No new tests, just extracted a couple of fields inside the RenderLayer to a separate class.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRendererHelper::prepareFilterEffect):
        (WebCore::FilterEffectRendererHelper::beginFilterEffect):
        (WebCore::FilterEffectRendererHelper::applyFilterEffect):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::paintsWithFilters):
        (WebCore::RenderLayer::requiresFullLayerImageForFilters):
        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
        (WebCore::RenderLayer::paintLayerContents):
        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::filterRenderer):
        (RenderLayer):
        (WebCore::RenderLayer::filterInfo):
        (WebCore::RenderLayer::ensureFilterInfo):
        (WebCore::RenderLayer::removeFilterInfoIfNeeded):
        (WebCore::RenderLayer::hasFilterInfo):
        (WebCore::RenderLayer::setHasFilterInfo):
        * rendering/RenderLayerFilterInfo.cpp: Added.
        (WebCore):
        (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer):
        (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded):
        (WebCore::RenderLayerFilterInfo::removeFilterInfoForRenderLayer):
        (WebCore::RenderLayerFilterInfo::RenderLayerFilterInfo):
        (WebCore::RenderLayerFilterInfo::~RenderLayerFilterInfo):
        (WebCore::RenderLayerFilterInfo::setRenderer):
        * rendering/RenderLayerFilterInfo.h: Added.
        (WebCore):
        (RenderLayerFilterInfo):
        (WebCore::RenderLayerFilterInfo::dirtySourceRect):
        (WebCore::RenderLayerFilterInfo::addDirtySourceRect):
        (WebCore::RenderLayerFilterInfo::resetDirtySourceRect):
        (WebCore::RenderLayerFilterInfo::renderer):

2012-04-24  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate around in SerializedScriptValue.cpp (Part1)
        https://bugs.webkit.org/show_bug.cgi?id=84663

        Reviewed by Nate Chapin.

        The objective is to pass Isolate to toV8() in SerializedScriptValue.cpp.

        Part1: Add an Isolate argument to SerializedScriptValue::create(),
        SerializedScriptValue::deserialize(), etc.
        Part2: Add an m_isolate member to SerializedScriptValue::Writer()
        and SerializedScriptValue::Reader().
        Part3: Pass Isolate to toV8().

        This patch fixes Part1.

        No tests. No change in behavior.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::undefinedValue):
        (WebCore::SerializedScriptValue::booleanValue):
        (WebCore::SerializedScriptValue::numberValue):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        (WebCore::SerializedScriptValue::deserialize):
        (WebCore::SerializedScriptValue::deserializeForInspector):
        * bindings/v8/SerializedScriptValue.h:
        (SerializedScriptValue):

2012-04-24  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Remove deserializeAndSetProperty()
        from SerializedScriptValue.cpp
        https://bugs.webkit.org/show_bug.cgi?id=84662

        Reviewed by Nate Chapin.

        SerializedScriptValue::deserializeAndSetProperty() is no
        longer used. This patch removes it.

        No tests. No change in behavior.

        * bindings/v8/SerializedScriptValue.cpp:
        * bindings/v8/SerializedScriptValue.h:

2012-04-24  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to setDOMException() in CodeGeneratorV8.pm
        https://bugs.webkit.org/show_bug.cgi?id=84660

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to setDOMException() in CodeGeneratorV8.pm.

        Test: bindings/scripts/test/TestEventTarget.idl
              bindings/scripts/test/TestObj.idl
              bindings/scripts/test/TestInterface.idl

        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
        (GenerateSetDOMException):
        (GenerateNormalAttrGetter):
        (GenerateNormalAttrSetter):
        (GenerateFunctionCallback):
        (GenerateParametersCheck):
        (GenerateFunctionCallString):

        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        Updated run-bindings-tests results.
        (WebCore::TestEventTargetV8Internal::itemCallback):
        (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
        (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
        (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
        (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetter):
        (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetter):
        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
        (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
        (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
        (WebCore::TestObjV8Internal::methodWithExceptionCallback):
        (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
        (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
        (WebCore::TestObjV8Internal::getSVGDocumentCallback):
        (WebCore::TestObjV8Internal::strictFunctionCallback):

2012-04-24  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to setDOMException() (Part2)
        https://bugs.webkit.org/show_bug.cgi?id=84658

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to setDOMException() in custom
        binding code.

        No tests. No change in behavior.

        * bindings/v8/V8Collection.cpp:
        (WebCore::toOptionsCollectionSetter):
        * bindings/v8/V8Collection.h:
        (WebCore):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArrayWithArrayBufferArgument):
        (WebCore::setWebGLArrayHelper):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::V8DataView::getInt8Callback):
        (WebCore::V8DataView::getUint8Callback):
        (WebCore::V8DataView::setInt8Callback):
        (WebCore::V8DataView::setUint8Callback):
        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
        (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
        (WebCore::V8DirectoryEntrySync::getFileCallback):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::toDataURLCallback):
        * bindings/v8/custom/V8HTMLElementCustom.cpp:
        (WebCore::V8HTMLElement::itemValueAccessorSetter):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::V8HTMLOptionsCollection::addCallback):
        (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
        (WebCore::V8HTMLOptionsCollection::indexedPropertySetter):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::V8HTMLSelectElement::indexedPropertySetter):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::V8Node::insertBeforeCallback):
        (WebCore::V8Node::replaceChildCallback):
        (WebCore::V8Node::removeChildCallback):
        (WebCore::V8Node::appendChildCallback):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::V8SQLTransaction::executeSqlCallback):
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::observeCallback):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::responseAccessorGetter):

2012-04-24  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to setDOMException() (Part1)
        https://bugs.webkit.org/show_bug.cgi?id=84656

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to setDOMException() in custom binding code.

        No tests. No change in behavior.

        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::V8Location::protocolAccessorSetter):
        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
        (WebCore::V8SQLTransactionSync::executeSqlCallback):
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        (WebCore::V8SVGLength::valueAccessorGetter):
        (WebCore::V8SVGLength::valueAccessorSetter):
        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::getObjectParameter):
        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
        (WebCore::V8WebGLRenderingContext::getExtensionCallback):
        (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
        (WebCore::V8WebGLRenderingContext::getParameterCallback):
        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
        (WebCore::V8WebGLRenderingContext::getUniformCallback):
        (WebCore::vertexAttribAndUniformHelperf):
        (WebCore::uniformHelperi):
        (WebCore::uniformMatrixHelper):

2012-04-24  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: encapsulate live location into the Script.
        https://bugs.webkit.org/show_bug.cgi?id=84722

        Reviewed by Yury Semikhatsky.

        Live location is just a location on the script. The way it is implemented today involves too many indirections.

        * inspector/front-end/CompilerScriptMapping.js:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
        (WebInspector.DebuggerModel.prototype.scriptForId):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.createLiveLocation):
        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
        (WebInspector.PresentationCallFrame.prototype.uiLocation):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
        * inspector/front-end/RawSourceCode.js:
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.addScript):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
        (WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode):
        * inspector/front-end/Script.js:
        (WebInspector.Script):
        (WebInspector.Script.prototype.isInlineScript):
        (WebInspector.Script.prototype.setSourceMapping):
        (WebInspector.Script.prototype.createLocation):
        (WebInspector.Script.Location):
        (WebInspector.Script.Location.prototype.dispose):
        (WebInspector.Script.Location.prototype._update):
        * inspector/front-end/ScriptMapping.js:
        (WebInspector.UILocation):
        (WebInspector.SourceMapping):
        (WebInspector.SourceMapping.prototype.rawLocationToUILocation):
        (WebInspector.SourceMapping.prototype.uiLocationToRawLocation):
        (WebInspector.MainScriptMapping):
        (WebInspector.MainScriptMapping.prototype.addScript):
        (WebInspector.MainScriptMapping.prototype.reset):
        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):

2012-04-24  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: a bunch of heap profiler cleanups
        https://bugs.webkit.org/show_bug.cgi?id=84730

        - HeapSnapshotProviderProxy passed explicitely as a parameter to HeapSnapshotGridNode
        constructor
        - Removed dead code
        - Removed unused parameters
        - Added more closure compiler annotations
        - Extracted code finding cycled among node ancestors into a separate method

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
        (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
        (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
        (WebInspector.HeapSnapshotEdgesProvider):
        * inspector/front-end/HeapSnapshotDataGrids.js:
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode):
        (WebInspector.HeapSnapshotGenericObjectNode):
        (WebInspector.HeapSnapshotObjectNode):
        (WebInspector.HeapSnapshotObjectNode.prototype._findAncestorWithSameSnapshotNodeId):
        (WebInspector.HeapSnapshotInstanceNode):
        (WebInspector.HeapSnapshotConstructorNode):
        (WebInspector.HeapSnapshotDiffNode):
        (WebInspector.HeapSnapshotDiffNode._createProvider):
        (WebInspector.HeapSnapshotDominatorObjectNode):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotWorker):
        (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):
        * inspector/front-end/utilities.js:

2012-04-24  Adam Klein  <adamk@chromium.org>

        Fix includes in StrongInlines.h and ScriptValue.h
        https://bugs.webkit.org/show_bug.cgi?id=84659

        Reviewed by Geoffrey Garen.

        This change was prompted by an attempt to use ScriptValue.h from a
        WebCore header file and running into trouble with the (as it turns out
        unnecessary) include of JSDOMBinding.h.

        * bindings/js/ScriptValue.cpp: Add include of JSDOMBinding.h, now that
        it's not included by the header.
        * bindings/js/ScriptValue.h: Remove unnecessary include of JSDOMBinding.h.

2012-04-24  Antti Koivisto  <antti@apple.com>

        Move MediaList CSSOM wrapper ownership to parent rule or stylesheet
        https://bugs.webkit.org/show_bug.cgi?id=84716

        Reviewed by Anders Carlsson.

        MediaList CSSOM wrapper should be owned by a rule or a stylesheet, not by the underlying 
        MediaQuerySet.
        
        Remove the ref forwarding from MediaList in favor of regular refcounting. Use the usual
        pattern where the parent wrapper refs the child wrapper and zeroes the backpointer
        on destruction. 

        * bindings/js/JSDOMBinding.h:
        (WebCore::root):
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::~CSSImportRule):
        (WebCore::CSSImportRule::media):
        * css/CSSImportRule.h:
        (StyleRuleImport):
        (CSSImportRule):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::~CSSMediaRule):
        (WebCore::CSSMediaRule::media):
        * css/CSSMediaRule.h:
        (CSSMediaRule):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::~CSSStyleSheet):
        (WebCore::CSSStyleSheet::media):
        * css/CSSStyleSheet.h:
        (CSSStyleSheet):
        * css/MediaList.cpp:
        (WebCore::MediaQuerySet::mediaText):
        (WebCore::MediaList::MediaList):
        (WebCore):
        (WebCore::MediaList::notifyChanged):
        * css/MediaList.h:
        (MediaQuerySet):
        (WebCore::MediaList::create):
        (WebCore::MediaList::parentRule):
        (WebCore::MediaList::clearParentStyleSheet):
        (WebCore::MediaList::clearParentRule):
        (WebCore::MediaList::queries):
        (MediaList):
        * css/StyleRule.h:
        (WebCore::StyleRuleMedia::mediaQueries):

2012-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Should pass canvas/philip/tests/toDataURL.jpeg.alpha.html
        https://bugs.webkit.org/show_bug.cgi?id=83973

        Reviewed by Philippe Normand.

        Test: canvas/philip/tests/toDataURL.jpeg.alpha.html

        * platform/graphics/gtk/ImageBufferGtk.cpp:
        (WebCore::encodeImage): Convert ARGB32 cairo surface into RGB24
        when encoding JPEG images since JPEG encoder doesn't support alpha
        channel.

2012-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add WebKitCookieManager::changed signal to WebKit2 GTK+ API
        https://bugs.webkit.org/show_bug.cgi?id=82598

        Reviewed by Philippe Normand.

        * GNUmakefile.list.am: Add new files to compilation.
        * platform/gtk/TemporaryLinkStubs.cpp: Remove stubs for
        setCookieStoragePrivateBrowsingEnabled,
        startObservingCookieChanges and stopObservingCookieChanges.
        * platform/network/soup/CookieStorageSoup.cpp: Added.
        (WebCore::setCookieStoragePrivateBrowsingEnabled):
        (WebCore::soupCookiesChanged): Notify cookies changes using
        platform strategies.
        (WebCore::startObservingCookieChanges): Connect to changed signal
        of the soup cookie jar.
        (WebCore::stopObservingCookieChanges): Disconnect signals handlers
        for changed signals of the soup cookie jar.

2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>

        Rename CSSStyleApplyProperty files to StyleBuilder.
        https://bugs.webkit.org/show_bug.cgi?id=84721

        Reviewed by Antti Koivisto.

        r115043 renamed CSSStyleApplyProperty class to StyleBuilder. This
        patch rename the files to match the new class name.

        No new tests : renaming of files, no behavior changes expected.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSAllInOne.cpp:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/StyleBuilder.cpp: Renamed from Source/WebCore/css/CSSStyleApplyProperty.cpp.
        (WebCore):
        (ApplyPropertyExpanding):
        (WebCore::ApplyPropertyExpanding::applyInheritValue):
        (WebCore::ApplyPropertyExpanding::applyInitialValue):
        (WebCore::ApplyPropertyExpanding::applyValue):
        (WebCore::ApplyPropertyExpanding::createHandler):
        (ApplyPropertyDefaultBase):
        (WebCore::ApplyPropertyDefaultBase::setValue):
        (WebCore::ApplyPropertyDefaultBase::value):
        (WebCore::ApplyPropertyDefaultBase::initial):
        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
        (WebCore::ApplyPropertyDefaultBase::applyValue):
        (WebCore::ApplyPropertyDefaultBase::createHandler):
        (ApplyPropertyDefault):
        (WebCore::ApplyPropertyDefault::setValue):
        (WebCore::ApplyPropertyDefault::applyValue):
        (WebCore::ApplyPropertyDefault::createHandler):
        (ApplyPropertyNumber):
        (WebCore::ApplyPropertyNumber::setValue):
        (WebCore::ApplyPropertyNumber::applyValue):
        (WebCore::ApplyPropertyNumber::createHandler):
        (ApplyPropertyStyleImage):
        (WebCore::ApplyPropertyStyleImage::applyValue):
        (WebCore::ApplyPropertyStyleImage::createHandler):
        (ApplyPropertyAuto):
        (WebCore::ApplyPropertyAuto::setValue):
        (WebCore::ApplyPropertyAuto::value):
        (WebCore::ApplyPropertyAuto::hasAuto):
        (WebCore::ApplyPropertyAuto::setAuto):
        (WebCore::ApplyPropertyAuto::applyInheritValue):
        (WebCore::ApplyPropertyAuto::applyInitialValue):
        (WebCore::ApplyPropertyAuto::applyValue):
        (WebCore::ApplyPropertyAuto::createHandler):
        (ApplyPropertyClip):
        (WebCore::ApplyPropertyClip::convertToLength):
        (WebCore::ApplyPropertyClip::applyInheritValue):
        (WebCore::ApplyPropertyClip::applyInitialValue):
        (WebCore::ApplyPropertyClip::applyValue):
        (WebCore::ApplyPropertyClip::createHandler):
        (WebCore::defaultInitialColor):
        (ApplyPropertyColor):
        (WebCore::ApplyPropertyColor::applyInheritValue):
        (WebCore::ApplyPropertyColor::applyInitialValue):
        (WebCore::ApplyPropertyColor::applyValue):
        (WebCore::ApplyPropertyColor::applyColorValue):
        (WebCore::ApplyPropertyColor::createHandler):
        (ApplyPropertyDirection):
        (WebCore::ApplyPropertyDirection::applyValue):
        (WebCore::ApplyPropertyDirection::createHandler):
        (ApplyPropertyLength):
        (WebCore::ApplyPropertyLength::setValue):
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::ApplyPropertyLength::createHandler):
        (ApplyPropertyString):
        (WebCore::ApplyPropertyString::setValue):
        (WebCore::ApplyPropertyString::applyValue):
        (WebCore::ApplyPropertyString::createHandler):
        (ApplyPropertyBorderRadius):
        (WebCore::ApplyPropertyBorderRadius::setValue):
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        (WebCore::ApplyPropertyBorderRadius::createHandler):
        (FillLayerAccessorTypes):
        (ApplyPropertyFillLayer):
        (WebCore::ApplyPropertyFillLayer::applyInheritValue):
        (WebCore::ApplyPropertyFillLayer::applyInitialValue):
        (WebCore::ApplyPropertyFillLayer::applyValue):
        (WebCore::ApplyPropertyFillLayer::createHandler):
        (ApplyPropertyComputeLength):
        (WebCore::ApplyPropertyComputeLength::setValue):
        (WebCore::ApplyPropertyComputeLength::applyValue):
        (WebCore::ApplyPropertyComputeLength::createHandler):
        (ApplyPropertyFont):
        (WebCore::ApplyPropertyFont::applyInheritValue):
        (WebCore::ApplyPropertyFont::applyInitialValue):
        (WebCore::ApplyPropertyFont::applyValue):
        (WebCore::ApplyPropertyFont::createHandler):
        (ApplyPropertyFontSize):
        (WebCore::ApplyPropertyFontSize::largerFontSize):
        (WebCore::ApplyPropertyFontSize::smallerFontSize):
        (WebCore::ApplyPropertyFontSize::applyInheritValue):
        (WebCore::ApplyPropertyFontSize::applyInitialValue):
        (WebCore::ApplyPropertyFontSize::applyValue):
        (WebCore::ApplyPropertyFontSize::createHandler):
        (ApplyPropertyFontWeight):
        (WebCore::ApplyPropertyFontWeight::applyValue):
        (WebCore::ApplyPropertyFontWeight::createHandler):
        (ApplyPropertyFontVariantLigatures):
        (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
        (WebCore::ApplyPropertyFontVariantLigatures::createHandler):
        (ApplyPropertyBorderImage):
        (WebCore::ApplyPropertyBorderImage::applyValue):
        (WebCore::ApplyPropertyBorderImage::createHandler):
        (ApplyPropertyBorderImageModifier):
        (WebCore::ApplyPropertyBorderImageModifier::getValue):
        (WebCore::ApplyPropertyBorderImageModifier::setValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyValue):
        (WebCore::ApplyPropertyBorderImageModifier::createHandler):
        (ApplyPropertyBorderImageSource):
        (WebCore::ApplyPropertyBorderImageSource::applyValue):
        (WebCore::ApplyPropertyBorderImageSource::createHandler):
        (ApplyPropertyCounter):
        (WebCore::ApplyPropertyCounter::emptyFunction):
        (WebCore::ApplyPropertyCounter::applyInheritValue):
        (WebCore::ApplyPropertyCounter::applyValue):
        (WebCore::ApplyPropertyCounter::createHandler):
        (ApplyPropertyCursor):
        (WebCore::ApplyPropertyCursor::applyInheritValue):
        (WebCore::ApplyPropertyCursor::applyInitialValue):
        (WebCore::ApplyPropertyCursor::applyValue):
        (WebCore::ApplyPropertyCursor::createHandler):
        (ApplyPropertyTextAlign):
        (WebCore::ApplyPropertyTextAlign::applyValue):
        (WebCore::ApplyPropertyTextAlign::createHandler):
        (ApplyPropertyTextDecoration):
        (WebCore::ApplyPropertyTextDecoration::applyValue):
        (WebCore::ApplyPropertyTextDecoration::createHandler):
        (ApplyPropertyUnicodeBidi):
        (WebCore::ApplyPropertyUnicodeBidi::applyValue):
        (WebCore::ApplyPropertyUnicodeBidi::createHandler):
        (ApplyPropertyLineHeight):
        (WebCore::ApplyPropertyLineHeight::applyValue):
        (WebCore::ApplyPropertyLineHeight::createHandler):
        (ApplyPropertyPageSize):
        (WebCore::ApplyPropertyPageSize::mmLength):
        (WebCore::ApplyPropertyPageSize::inchLength):
        (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
        (WebCore::ApplyPropertyPageSize::applyInheritValue):
        (WebCore::ApplyPropertyPageSize::applyInitialValue):
        (WebCore::ApplyPropertyPageSize::applyValue):
        (WebCore::ApplyPropertyPageSize::createHandler):
        (ApplyPropertyTextEmphasisStyle):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::createHandler):
        (ApplyPropertyAnimation):
        (WebCore::ApplyPropertyAnimation::setValue):
        (WebCore::ApplyPropertyAnimation::value):
        (WebCore::ApplyPropertyAnimation::test):
        (WebCore::ApplyPropertyAnimation::clear):
        (WebCore::ApplyPropertyAnimation::initial):
        (WebCore::ApplyPropertyAnimation::map):
        (WebCore::ApplyPropertyAnimation::accessAnimations):
        (WebCore::ApplyPropertyAnimation::animations):
        (WebCore::ApplyPropertyAnimation::applyInheritValue):
        (WebCore::ApplyPropertyAnimation::applyInitialValue):
        (WebCore::ApplyPropertyAnimation::applyValue):
        (WebCore::ApplyPropertyAnimation::createHandler):
        (ApplyPropertyOutlineStyle):
        (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
        (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
        (WebCore::ApplyPropertyOutlineStyle::applyValue):
        (WebCore::ApplyPropertyOutlineStyle::createHandler):
        (ApplyPropertyResize):
        (WebCore::ApplyPropertyResize::applyValue):
        (WebCore::ApplyPropertyResize::createHandler):
        (ApplyPropertyVerticalAlign):
        (WebCore::ApplyPropertyVerticalAlign::applyValue):
        (WebCore::ApplyPropertyVerticalAlign::createHandler):
        (ApplyPropertyAspectRatio):
        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
        (WebCore::ApplyPropertyAspectRatio::applyValue):
        (WebCore::ApplyPropertyAspectRatio::createHandler):
        (ApplyPropertyZoom):
        (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
        (WebCore::ApplyPropertyZoom::applyInheritValue):
        (WebCore::ApplyPropertyZoom::applyInitialValue):
        (WebCore::ApplyPropertyZoom::applyValue):
        (WebCore::ApplyPropertyZoom::createHandler):
        (ApplyPropertyDisplay):
        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
        (WebCore::ApplyPropertyDisplay::applyInheritValue):
        (WebCore::ApplyPropertyDisplay::applyInitialValue):
        (WebCore::ApplyPropertyDisplay::applyValue):
        (WebCore::ApplyPropertyDisplay::createHandler):
        (ApplyPropertyFlex):
        (WebCore::ApplyPropertyFlex::applyInheritValue):
        (WebCore::ApplyPropertyFlex::applyInitialValue):
        (WebCore::ApplyPropertyFlex::applyValue):
        (WebCore::ApplyPropertyFlex::createHandler):
        (WebCore::ApplyPropertyFlex::getFlexValue):
        (WebCore::StyleBuilder::sharedStyleBuilder):
        (WebCore::StyleBuilder::StyleBuilder):
        * css/StyleBuilder.h: Renamed from Source/WebCore/css/CSSStyleApplyProperty.h.
        (WebCore):
        (PropertyHandler):
        (WebCore::PropertyHandler::PropertyHandler):
        (WebCore::PropertyHandler::applyInheritValue):
        (WebCore::PropertyHandler::applyInitialValue):
        (WebCore::PropertyHandler::applyValue):
        (WebCore::PropertyHandler::isValid):
        (WebCore::PropertyHandler::inheritFunction):
        (WebCore::PropertyHandler::initialFunction):
        (WebCore::PropertyHandler::applyFunction):
        (StyleBuilder):
        (WebCore::StyleBuilder::propertyHandler):
        (WebCore::StyleBuilder::index):
        (WebCore::StyleBuilder::valid):
        (WebCore::StyleBuilder::setPropertyHandler):

2012-04-24  Florin Malita  <fmalita@chromium.org>

        WebCore::EventTarget::addEventListener crash
        https://bugs.webkit.org/show_bug.cgi?id=84171

        Reviewed by Nikolas Zimmermann.

        Test: svg/custom/use-tref-crash.svg

        Adding tref target event listeners while building the shadow tree is
        problematic, because SVGUseElement::buildShadowAndInstanceTree() only
        sets the element instance<->shadow element association at a later time.

        Fortunately, buildShadowAndInstanceTree() also propagates the event
        handlers (transferEventListenersToShadowTree) - so we can simply skip
        them in SVGTRefElement::buildPendingResource() for shadow elements.

        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::buildPendingResource):

2012-04-24  Kent Tamura  <tkent@chromium.org>

        Clickable area of a calendar picker indicator is too small.
        https://bugs.webkit.org/show_bug.cgi?id=84677

        Reviewed by Kentaro Hara.

        Test: fast/forms/date/date-appearance.html is affected.

        * css/html.css:
        (input::-webkit-calendar-picker-indicator):
        - Remove unnecessary disaplay:inline-block.
        - Add paddings instead of the margin.
        (input::-webkit-calendar-picker-indicator:hover):
        Add hover style.

2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>

        Another unreviewed build fix for Mac.

        * css/CSSStyleSelector.h:
        (CSSStyleSelector):

2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>

        Unreviewed build fix attempt for Mac.

        * rendering/style/RenderStyle.h:

2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>

        Rename CSSStyleApplyProperty class to StyleBuilder.
        https://bugs.webkit.org/show_bug.cgi?id=84711

        Reviewed by Antti Koivisto.

        As per discussion on bug https://bugs.webkit.org/show_bug.cgi?id=42764
        the name is a bit confusing. This first patch rename the class and a
        following one will rename the files. We also drop the CSS prefix of the
        class to keep CSS prefixed classes for CSSOM types.

        No new tests : renaming, no behavior changes should appear.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyExpanding::applyInheritValue):
        (WebCore::ApplyPropertyExpanding::applyInitialValue):
        (WebCore::ApplyPropertyExpanding::applyValue):
        (WebCore::StyleBuilder::sharedStyleBuilder):
        (WebCore::StyleBuilder::StyleBuilder):
        * css/CSSStyleApplyProperty.h:
        (WebCore):
        (StyleBuilder):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):

2012-04-24  Kent Tamura  <tkent@chromium.org>

        Merge LocalizedCalendar into LocalizedDate
        https://bugs.webkit.org/show_bug.cgi?id=84685

        Reviewed by Kentaro Hara.

        The functionality of LocalizedCalendar is very related to
        LocalizedDate. We should merge them.

        No new tests. Just refactoring.

        * WebCore.gypi: Remove LocalizedCalendar.h and LocalizedCalenderICU.cpp.
        * html/shadow/CalendarPickerElement.cpp:
        Include LocalizedDate.h instead of LocalizedCalendar.h.
        * platform/text/LocalizedCalendar.h:
        Removed. Merged into LocalizedDate.h.
        * platform/text/LocalizedCalendarICU.cpp:
        Removed. Merged into LocalizedDateICU.h.
        * platform/text/LocalizedDate.h:
        (WebCore): Move some functions from LocalizedCalendar.h.
        * platform/text/LocalizedDateICU.cpp:
        Move some functions from LocalizedCalendarICU.cpp.

2012-04-24  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: remove pure delegation code from DebuggerPresentationModel
        https://bugs.webkit.org/show_bug.cgi?id=84704

        Reviewed by Yury Semikhatsky.

        This change removes the code that delegates calls to breakpoint manager and exposes the breakpoint
        manager in debugger presentation model itself. It allows narrowing dpm dependencies.

        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.debuggerPausedDetails):
        (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
        (WebInspector.DebuggerModel.prototype.isPaused):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.get breakpointManager):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource):
        (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
        (WebInspector.JavaScriptSource.prototype.findBreakpoint):
        (WebInspector.JavaScriptSource.prototype.setBreakpoint):
        (WebInspector.JavaScriptSource.prototype.setBreakpointEnabled):
        (WebInspector.JavaScriptSource.prototype.removeBreakpoint):
        (WebInspector.JavaScriptSource.prototype.updateBreakpoint):
        (WebInspector.JavaScriptSource.prototype.continueToLine):
        (WebInspector.JavaScriptSource.prototype.canSetContent):
        (WebInspector.JavaScriptSource.prototype.setContent):
        (WebInspector.JavaScriptSource.prototype.updateBreakpointsAfterLiveEdit):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
        (WebInspector.JavaScriptSourceFrame.prototype.editContent):
        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane.prototype.update):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):

2012-04-24  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: native nodes may have snapshot id less than base snapshot max JS object id
        https://bugs.webkit.org/show_bug.cgi?id=84681

        Make sure new nodes whose IDs less than base snapshot max JS object id will
        get into snapshot delta.

        Reviewed by Pavel Feldman.

        Test: inspector/profiler/heap-snapshot-comparison-dom-groups-change.html

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotSortableDataGrid): Drive-by fix, made recursion counter
        a normal field on HeapSnapshotSortableDataGrid.
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):

2012-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r115000.
        http://trac.webkit.org/changeset/115000
        https://bugs.webkit.org/show_bug.cgi?id=84703

        Breaks webkit_unit_tests on Mac in Chromium:
        http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6/builds/15157
        (Requested by mnaganov on #webkit).

        * platform/graphics/skia/OpaqueRegionSkia.cpp:
        (WebCore::paintIsOpaque):
        (WebCore::OpaqueRegionSkia::popCanvasLayer):
        (WebCore::OpaqueRegionSkia::didDraw):
        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
        (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
        * platform/graphics/skia/OpaqueRegionSkia.h:
        (OpaqueRegionSkia):
        (WebCore::OpaqueRegionSkia::CanvasLayerState::CanvasLayerState):
        (CanvasLayerState):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::restoreLayer):

2012-04-23  Antti Koivisto  <antti@apple.com>

        Consolidate external stylesheet quirks handling to StyleSheetInternal
        https://bugs.webkit.org/show_bug.cgi?id=84632

        Reviewed by Andreas Kling.

        Move the repeated code from StyleImportRule and HTMLLinkElement to StyleSheetInternal::parseUserStyleSheet.
        
        Remove a BUILDING_ON_LEOPARD-only quirk.

        * css/CSSImportRule.cpp:
        (WebCore::StyleRuleImport::setCSSStyleSheet):
        * css/CSSParser.cpp:
        (WebCore):
        (WebCore::CSSParserContext::CSSParserContext):
        
            Add new settings bits to the CSSParserContext. These are used for external stylesheet parsing quirks.

        * css/CSSParserMode.h:
        (CSSParserContext):
        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::parseUserStyleSheet):
        (WebCore::StyleSheetInternal::parseString):
        (WebCore):
        (WebCore::StyleSheetInternal::parseStringAtLine):
        * css/CSSStyleSheet.h:
        (WebCore):
        (StyleSheetInternal):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet):

2012-04-24  Yael Aharon  <yael.aharon@nokia.com>

        [Qt] Move notification icon download out of WebCore
        https://bugs.webkit.org/show_bug.cgi?id=80700

        Reviewed by Simon Hausmann.

        Remove the code that downloads the notification's icon out of WebCore.
        Other ports let the client decide if to download the icon or not.
        No new tests. This patch is only removing code.

        * notifications/Notification.cpp:
        (WebCore::Notification::~Notification):
        (WebCore::Notification::show):
        (WebCore::Notification::close):
        (WebCore::Notification::contextDestroyed):
        * notifications/Notification.h:
        (Notification):

2012-04-24  Rakesh KN  <rakesh.kn@motorola.com>

        RadioNodeList support in HTMLFormElement::elements
        https://bugs.webkit.org/show_bug.cgi?id=81854

        Implement RadioNodeList support spec'ed at
        http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#radionodelist

        Reviewed by Ryosuke Niwa.

        Test: fast/forms/form-collection-radio-node-list.html

        * CMakeLists.txt:
        Added entries for new files.
        * DerivedSources.cpp: Ditto.
        * DerivedSources.make: Ditto.
        * DerivedSources.pri: Ditto.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        Modified to create RadioNodeList object when FormControlCollection has more than
        one element of same name/id.
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        Added code to include Node.h and JSNode.h in JSRadioNodeElement.cpp.
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        Modified to create RadioNodeList object when FormControlCollection has more than
        one element of same name/id.
        * html/CollectionType.h:
        Added new FormControls type.
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::shouldIncludeChildren):
        (WebCore::HTMLCollection::isAcceptableElement):
        Handle FormControls collection type.
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::HTMLFormCollection):
        Contruct collection of FormControls type.
        * html/RadioNodeList.cpp: Added.
        (WebCore):
        (WebCore::RadioNodeList::RadioNodeList):
        (WebCore::RadioNodeList::~RadioNodeList):
        (WebCore::toRadioButtonInputElement):
        (WebCore::RadioNodeList::value):
        (WebCore::RadioNodeList::setValue):
        (WebCore::RadioNodeList::nodeMatches):
        * html/RadioNodeList.h: Added.
        (WebCore):
        (RadioNodeList):
        (WebCore::RadioNodeList::create):
        RadioNodeList implementation.
        * html/RadioNodeList.idl: Added.
        Idl for generating RadioNodeList JS/V8 bindings.

2012-04-24  Benjamin Poulain  <bpoulain@apple.com>

        Implement the field cache of ObjcClass in WebKit types
        https://bugs.webkit.org/show_bug.cgi?id=84667

        Reviewed by Geoffrey Garen.

        Every time we get a field through the Objective-C bridge, we waste some time converting
        the incoming string to an CFString.

        This patch implement the field cache based on WTF types so that we can return directly
        in case of a positive match.

        When we do not have a match on the Identifier, we allocate the memory and find the valid field
        as before.

        * bridge/objc/objc_class.h:
        (ObjcClass):
        * bridge/objc/objc_class.mm:
        (JSC::Bindings::deleteMethod):
        (Bindings):
        (JSC::Bindings::ObjcClass::ObjcClass):
        (JSC::Bindings::ObjcClass::fieldNamed):

2012-04-23  Andy Estes  <aestes@apple.com>

        Incremental rendering should be unsuppressed after the load event or a configurable timeout, whichever occurs first.
        https://bugs.webkit.org/show_bug.cgi?id=84583

        Reviewed by Anders Carlsson.

        In high-latency situations, having incremental rendering suppression
        enabled makes for a worse experience due to the excessively long time
        it takes for the load event to fire. So that clients that opt in to
        incremental rendering suppression can mitigate this, add a configurable
        timeout in which rendering is re-enabled if the load event has yet to
        fire.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::setReadyState): When the document transitions to
        the loading state, start a timer; when it transitions to the completed
        state, allow visual updates.
        (WebCore::Document::setVisualUpdatesAllowed): If visual updates are
        allowed, force a repaint. Otherwise, set a flag that suppresses
        rendering.
        (WebCore::Document::visualUpdatesSuppressionTimerFired): When the timer
        fires, allow visual updates.
        (WebCore::Document::implicitClose): Remove code that is now called in
        setVisualUpdatesAllowed().
        * dom/Document.h:
        (WebCore::Document::visualUpdatesAllowed):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setIncrementalRenderingSuppressionTimeoutInSeconds):
        (WebCore::Settings::incrementalRenderingSuppressionTimeoutInSeconds):

2012-04-23  Dana Jansens  <danakj@chromium.org>

        [chromium] Image masks are considered opaque incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=84275

        Reviewed by Adrienne Walker.

        Match the behaviour of SkCanvas layers more closely while tracking
        opaque paints. SkCanvas layers actually act as a separate device
        (ie. pixels) and when the layer is popped off, the pixels are copied
        down to the layer below.

        While we can use the total clip to decide what pixels the the
        drawing operation will affect in the final device, the blending
        down through layers needs to consider each layer carefully.

        In this case the image mask is drawn into a layer which is copied
        down using the DestinationIn operation. Since the layer contains
        non-opaque pixels, the DestinationIn copy can destroy opaque
        areas in the next layer. We add OpaqueRegionSkia::FillByCopy to
        distinguish the case where we are copying a block of pixels, and the
        alpha values are essentially unknown.

        Unit test: PlatformContextSkiaTest.trackImageMask
                   PlatformContextSkiaTest.trackImageMaskWithOpaqueRect

        * platform/graphics/skia/OpaqueRegionSkia.cpp:
        (WebCore::paintIsOpaque):
        (WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
        (WebCore::OpaqueRegionSkia::pushCanvasLayer):
        (WebCore::OpaqueRegionSkia::popCanvasLayer):
        (WebCore::OpaqueRegionSkia::didDrawRect):
        (WebCore::OpaqueRegionSkia::didDrawPath):
        (WebCore::OpaqueRegionSkia::didDrawPoints):
        (WebCore::OpaqueRegionSkia::didDrawBounded):
        (WebCore::OpaqueRegionSkia::didDraw):
        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
        (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
        (WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
        * platform/graphics/skia/OpaqueRegionSkia.h:
        (OpaqueRegionSkia):
        (CanvasLayerState):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::restoreLayer):

2012-04-23  Kent Tamura  <tkent@chromium.org>

        Show the format indicator in a date field
        https://bugs.webkit.org/show_bug.cgi?id=83872

        Reviewed by Hajime Morita.

        Enable the fixed placeholder feature for the date type, and show
        the editable date format as the fixed placeholder.
        The format string is created by the following steps.
        1. Obtain a pattern string from ICU
          http://icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details
        2. Replace a sequence of 'y', 'Y', 'M', or 'd' in the pattern with
          a natural language string such as "year", "month", or "day".

        Test: fast/forms/date/date-fixed-placeholder.html

        * html/DateInputType.cpp:
        (WebCore::DateInputType::supportsPlaceholder): Added. Returns true.
        (WebCore::DateInputType::usesFixedPlaceholder): Added. Returns true.
        (WebCore::DateInputType::fixedPlaceholder):
        Added. Calls localizedDateFormatText() provided by LocalizedDate.h.
        * html/DateInputType.h:
        (DateInputType): Add declarations of new override functions.
        * platform/LocalizedStrings.h:
        (WebCore): Add dateFormat{Year,Month,DayInMonth}Text()
        * platform/text/ICULocale.cpp:
        (WebCore::isICUYearSymbol): A function to improve redability.
        (WebCore::isICUMonthSymbol): ditto.
        (WebCore::isICUDayInMonthSymbol): ditto.
        (WebCore::localizeFormat): Step 2 of the above description.
        (WebCore::ICULocale::initializeLocalizedDateFormatText):
        Step 1 of the above description.
        (WebCore::ICULocale::localizedDateFormatText):
        * platform/text/ICULocale.h:
        (ICULocale): Add new functions and a data member.
        * platform/text/LocalizedDate.h:
        (WebCore): Add localizedDateFormatText().
        * platform/text/LocalizedDateICU.cpp:
        (WebCore::localizedDateFormatText):
        Just call ICULocale::localizedDateFormatText().

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to v8Array()
        https://bugs.webkit.org/show_bug.cgi?id=84295

        Reviewed by Nate Chapin.

        The final objective is to pass Isolate around in V8 bindings.
        This patch passes the Isolate to v8Array().

        (GenerateNormalAttrGetter):
        (NativeToJSValue):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::sequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
        * bindings/v8/V8Binding.h:
        (WebCore::v8Array):

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to GetNamedProperty()
        https://bugs.webkit.org/show_bug.cgi?id=84277

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate to GetNamedProperty().

        (GenerateHeader):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::getter):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::GetNamedProperty):
        (WebCore::V8HTMLDocument::allAccessorGetter):

2012-04-23  Michael Nordman  <michaeln@google.com>

        [chromium] DomStorage event handling mods.
        https://bugs.webkit.org/show_bug.cgi?id=84387

        Add a few simple inline getters to allow the source Document of a storage
        event to be identified given a pointer to the source StorageArea so those
        Documents can be excluded by the event dispatching logic.

        Reviewed by Dimitri Glazkov.

        No new tests. No new functionality or change in behavior.

        * page/DOMWindow.h:
        (WebCore::DOMWindow::optionalSessionStorage): simple inline getter to avoid construction where possible
        (WebCore::DOMWindow::optionalLocalStorage): ditto
        * storage/Storage.h:
        (WebCore::Storage::area): simple inline getter

2012-04-23  Kenneth Russell  <kbr@google.com>

        Change ImageData to reference Uint8ClampedArray rather than CanvasPixelArray
        https://bugs.webkit.org/show_bug.cgi?id=73011

        Reviewed by Oliver Hunt.

        Changed ImageData to contain Uint8ClampedArray instead of ByteArray
        per current HTML5 spec.

        In order to avoid introducing large data copies, it was necessary to
        switch a few other places in WebKit to use Uint8ClampedArray at the
        same time, most notably the FilterEffect implementation, portions of
        ImageBuffer, and a couple of places in the image encoders.

        Note that the change in method name from "get" to "item" occurred
        because JSC's autogenerated indexed getters reference a method
        called "item". If desired, a convenience method could be
        introduced to avoid the renamings in the FilterEffect classes.

        With these changes, ByteArray and some custom code in JavaScriptCore
        actually become unreferenced, and can be deleted. This deletion will
        be done separately in Bug 83655, to keep the size of this patch
        manageable.

        Test: fast/canvas/imagedata-contains-uint8clampedarray.html

        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::dumpIfTerminal):
        (WebCore::CloneDeserializer::readTerminal):
        * bindings/v8/SerializedScriptValue.cpp:
        * bindings/v8/custom/V8ImageDataCustom.cpp:
        (WebCore::toV8):
        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapToImageDataMethod::invoke):
        * html/ImageData.cpp:
        (WebCore::ImageData::create):
        (WebCore::ImageData::ImageData):
        * html/ImageData.h:
        (ImageData):
        (WebCore::ImageData::data):
        * html/ImageData.idl:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::createEmptyImageData):
        (WebCore::CanvasRenderingContext2D::getImageData):
        (WebCore::CanvasRenderingContext2D::putImageData):
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::extractImageData):
        * platform/graphics/ImageBuffer.cpp:
        (WebCore::ImageBuffer::genericConvertToLuminanceMask):
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::blurShadowBuffer):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putByteArray):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putByteArray):
        (WebCore::ImageBuffer::toDataURL):
        (WebCore::ImageDataToDataURL):
        * platform/graphics/cg/ImageBufferDataCG.cpp:
        (WebCore::ImageBufferData::getData):
        (WebCore::ImageBufferData::putData):
        * platform/graphics/cg/ImageBufferDataCG.h:
        (ImageBufferData):
        * platform/graphics/filters/FEBlend.cpp:
        (WebCore::FEBlend::platformApplySoftware):
        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::effectType):
        (WebCore::FEColorMatrix::platformApplySoftware):
        * platform/graphics/filters/FEComponentTransfer.cpp:
        (WebCore::FEComponentTransfer::platformApplySoftware):
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::platformArithmeticSoftware):
        (WebCore::FEComposite::platformApplySoftware):
        * platform/graphics/filters/FEComposite.h:
        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::setDestinationPixels):
        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
        (WebCore::FEConvolveMatrix::fastSetOuterPixels):
        (WebCore::FEConvolveMatrix::platformApplySoftware):
        * platform/graphics/filters/FEConvolveMatrix.h:
        (PaintingData):
        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::platformApplySoftware):
        (WebCore::FECustomFilter::bindProgramAndBuffers):
        * platform/graphics/filters/FECustomFilter.h:
        (JSC):
        (FECustomFilter):
        * platform/graphics/filters/FEDisplacementMap.cpp:
        (WebCore::FEDisplacementMap::platformApplySoftware):
        * platform/graphics/filters/FEDropShadow.cpp:
        (WebCore::FEDropShadow::platformApplySoftware):
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::boxBlur):
        (WebCore::FEGaussianBlur::platformApplyGeneric):
        (WebCore::FEGaussianBlur::platformApply):
        (WebCore::FEGaussianBlur::platformApplySoftware):
        * platform/graphics/filters/FEGaussianBlur.h:
        (PlatformApplyParameters):
        (FEGaussianBlur):
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::LightingData::topLeft):
        (WebCore::FELighting::LightingData::topRow):
        (WebCore::FELighting::LightingData::topRight):
        (WebCore::FELighting::LightingData::leftColumn):
        (WebCore::FELighting::LightingData::interior):
        (WebCore::FELighting::LightingData::rightColumn):
        (WebCore::FELighting::LightingData::bottomLeft):
        (WebCore::FELighting::LightingData::bottomRow):
        (WebCore::FELighting::LightingData::bottomRight):
        (WebCore::FELighting::inlineSetPixel):
        (WebCore::FELighting::drawLighting):
        (WebCore::FELighting::platformApplySoftware):
        * platform/graphics/filters/FELighting.h:
        (LightingData):
        (FELighting):
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::platformApplyGeneric):
        (WebCore::FEMorphology::platformApplySoftware):
        * platform/graphics/filters/FEMorphology.h:
        (PaintingData):
        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::fillRegion):
        (WebCore::FETurbulence::platformApplySoftware):
        * platform/graphics/filters/FETurbulence.h:
        (FillRegionParameters):
        (FETurbulence):
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::forceValidPreMultipliedPixels):
        (WebCore::FilterEffect::asUnmultipliedImage):
        (WebCore::FilterEffect::asPremultipliedImage):
        (WebCore::FilterEffect::copyImageBytes):
        (WebCore::FilterEffect::copyUnmultipliedImage):
        (WebCore::FilterEffect::copyPremultipliedImage):
        (WebCore::FilterEffect::createUnmultipliedImageResult):
        (WebCore::FilterEffect::createPremultipliedImageResult):
        * platform/graphics/filters/FilterEffect.h:
        (FilterEffect):
        * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
        (WebCore::FEGaussianBlur::platformApplyNeon):
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putByteArray):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putByteArray):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putByteArray):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putByteArray):
        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
        (WebCore::JPEGImageEncoder::encode):
        * platform/image-encoders/skia/PNGImageEncoder.cpp:
        (WebCore::PNGImageEncoder::encode):
        * platform/image-encoders/skia/WEBPImageEncoder.cpp:
        (WebCore::WEBPImageEncoder::encode):

2012-04-23  Ryan Sleevi  <rsleevi@chromium.org>

        [chromium] Remove deleted files from WebCore.gypi and fix typo
        https://bugs.webkit.org/show_bug.cgi?id=84651

        Reviewed by Ryosuke Niwa.

        No new tests. No behavior change.

        * WebCore.gypi:
        Remove references to PlatformMouseEventQt.cpp and WheelEventQt.cpp. Add a missing comma.

2012-04-23  Erik Arvidsson  <arv@chromium.org>

        [V8] Fix issue with trying to access a constructor in a frame that has been removed
        https://bugs.webkit.org/show_bug.cgi?id=84640

        Reviewed by Kentaro Hara.

        This regressed in r113250. Now we do what we did before and return undefined if the frame
        does not have a context.

        Test: fast/dom/constructor-in-removed-frame.html

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::constructorForType):

2012-04-23  Chris Rogers  <crogers@google.com>

        Oscillator::setWaveTable() should not reset oscillator phase
        https://bugs.webkit.org/show_bug.cgi?id=84647
        
        Reviewed by Kenneth Russell.

        * Modules/webaudio/Oscillator.cpp:
        (WebCore::Oscillator::setWaveTable):

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Remove V8Proxy::throwSyntaxError()
        https://bugs.webkit.org/show_bug.cgi?id=84627

        Reviewed by Nate Chapin.

        This patch removes V8Proxy::throwSyntaxError()
        since it is no longer used.

        No tests. No change in behavior.

        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8Proxy.h:
        (V8Proxy):

2012-04-18  James Robinson  <jamesr@chromium.org>

        [chromium] Use TextureLayerChromium for WebGL content instead of a dedicated layer type
        https://bugs.webkit.org/show_bug.cgi?id=84311

        Reviewed by Adrienne Walker.

        WebGL content's interface with the compositor can be expressed in terms of two basic operations:
        1.) Do some stuff
        2.) Provide a texture ID for the compositor to use

        This implements (1) in DrawingBufferChromium and uses the already-existing TextureLayerChromium to handle (2).
        This cuts down the compositor interface significantly and allows for more code reuse in exchange for more code
        in TextureLayerChromium to handle the features WebGL needs.

        * WebCore.gypi:
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (DrawingBufferPrivate):
        (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
        (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
        (WebCore::DrawingBufferPrivate::layer):
        (WebCore):
        (WebCore::DrawingBuffer::platformLayer):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        * platform/graphics/chromium/TextureLayerChromium.h:
        (TextureLayerChromiumClient):
        (WebCore::TextureLayerChromiumClient::~TextureLayerChromiumClient):
        (WebCore):
        (TextureLayerChromium):
        (WebCore::TextureLayerChromium::clearClient):
        * platform/graphics/chromium/WebGLLayerChromium.cpp: Removed.
        * platform/graphics/chromium/WebGLLayerChromium.h: Removed.
        * platform/graphics/gpu/DrawingBuffer.h:
        (WebCore):
        (WebCore::DrawingBuffer::graphicsContext3D):
        (DrawingBuffer):

2012-04-23  Alec Flett  <alecflett@chromium.org>

        IndexedDB: remove IDB(Index|ObjectStore)BackendImpl::get/getKey for IDBKey
        https://bugs.webkit.org/show_bug.cgi?id=84285

        Reviewed by Dimitri Glazkov.

        No new tests required, this code is no longer called.

        This is old code supporting IDBKey-based lookup, supplanted by
        IDBKeyRange. Now that chromium IPC/proxy code has landed,
        these functions can be removed.

        * Modules/indexeddb/IDBIndexBackendInterface.h:
        (IDBIndexBackendInterface):
        * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
        (IDBObjectStoreBackendInterface):

2012-04-22  Martin Robinson  <mrobinson@igalia.com>

        REGRESSION(113604): [Soup] Some pages that use synchronous XMLHttpRequests freeze the browser
        https://bugs.webkit.org/show_bug.cgi?id=84560

        Reviewed by Xan Lopez.

        When kicking off a synchronous XMLHttpRequest, add one to the connection
        limit. This ensures that when a page starts a synchronous request, while
        already at the connection limit the request will not deadlock.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Accept a new SoupSession
        argument so that we can get the correct SoupSession for the networking context. Bump
        the connection limit.
        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Decrement the connection limit.
        (WebCore::WebCoreSynchronousLoader::adjustMaxConnections): Added this helper.
        (WebCoreSynchronousLoader): Added a new SoupSession member.
        (WebCore::sessionFromContext): Added this helper.
        (WebCore::ResourceHandleInternal::soupSession): Use the new sessionFromContext helper.
        (WebCore::ResourceHandle::loadResourceSynchronously): Pass the SoupSession from the NetworkingContext
        to the synchronous loader.

2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114965.
        http://trac.webkit.org/changeset/114965
        https://bugs.webkit.org/show_bug.cgi?id=84665

        Four new resource load delegate test failures (Requested by
        jernoble on #webkit).

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFail):
        (WebCore::SubresourceLoader::willCancel):
        (WebCore::SubresourceLoader::releaseResources):

2012-04-23  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=84649
        RenderMathMLOperator currently ignores font families, fails 
        to use Stix

        Reviewed by Dan Bernstein.

        This patch makes RenderMathMLOperator honor the font-family 
        list. This means that by default, Stix glyphs will now be 
        used for operators just like for other MathML content. 
        Unfortunately, just doing that resulted in a bug because of 
        the fragile hardcoded glyph sizes. The Stix vertical bar 
        glyph is much smaller than the code assumed any glyphs would 
        be. That code should be re-written, but in the meantime, I 
        put a fix in place to try to make it work for small glyphs.

        These new functions should be used instead of accessing
        gGlyphHeight or gGlyphLineHeight directly. If the glyph is
        smaller than the expected hardcoded value, then the actual
        glyph height is used, and a new line height based on the
        glyph height is used.
        (WebCore::RenderMathMLOperator::glyphHeightForCharacter):
        (WebCore::RenderMathMLOperator::lineHeightForCharacter):

        Use the style's FontDescription to honor the font family
        list and the style's FontSelector to honor @font-face.
        Also use glyphHeightForCharacter() instead of gGlyphHeight. 
        And now that createGlyph() takes a lineHeight, use 
        lineHeightForCharacter() to determine the right value. 
        (WebCore::RenderMathMLOperator::updateFromElement):

        size was an ambiguous variable name, so I renamed it to the 
        more accurate maxHeightForRenderer. This function also now
        takes a lineHeight instead of using gGlyphLineHeight. And
        again, use the style's FontDescription and FontSelector.
        (WebCore::RenderMathMLOperator::createStackableStyle):

        Re-name size to maxHeightForRenderer, and take lineHeight as 
        a parameter.
        (WebCore::RenderMathMLOperator::createGlyph):
        * rendering/mathml/RenderMathMLOperator.h:
        (RenderMathMLOperator):

2012-04-23  Eriq Augustine  <eaugusti@chromium.org>

        Return value from executed script in Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=79851

        Reviewed by Adam Barth.

        Providing a varaiant of evaluateScriptInIsolatedWorld that
        returns the value of the evaluated script.

        Test: platform/chromium/http/tests/misc/execute-and-return-value.html

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        * bindings/v8/ScriptController.h:
        (ScriptController):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInIsolatedWorld):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):

2012-04-23  Kent Tamura  <tkent@chromium.org>

        RenderDetailsMarker should draw the triangle inside the content box
        https://bugs.webkit.org/show_bug.cgi?id=84557

        Reviewed by Hajime Morita.

        RenderDetailsMarker didn't support cases in which a marker has
        borders and/or padings, or non-square size.

        Test: fast/html/details-marker-style.html

        * rendering/RenderDetailsMarker.cpp:
        (WebCore::RenderDetailsMarker::getPath):
        Scale by contentWidth() and contentHeight().
        (WebCore::RenderDetailsMarker::paint):
        Move the trianle origin by the ammount of left/top borders and paddings.

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to toV8() (Part6)
        https://bugs.webkit.org/show_bug.cgi?id=84273

        Reviewed by Nate Chapin.

        The objective is to pass Isolate to all toV8()s.
        Since there are a lot of toV8()s, I'll make the change
        step by step. This patch passes Isolate to toV8() in
        several custom bindings.

        No tests. No change in behavior.

        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::getItem):
        (WebCore::V8HTMLAllCollection::namedPropertyGetter):
        (WebCore::V8HTMLAllCollection::itemCallback):
        (WebCore::V8HTMLAllCollection::namedItemCallback):
        (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::V8HTMLCollection::namedPropertyGetter):
        (WebCore::V8HTMLCollection::namedItemCallback):
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8StyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
        (WebCore::V8StyleSheetList::namedPropertyGetter):
        * bindings/v8/custom/V8TrackEventCustom.cpp:
        (WebCore::V8TrackEvent::trackAccessorGetter):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        (WebCore::getObjectParameter):
        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
        (WebCore::V8WebGLRenderingContext::getExtensionCallback):
        (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
        (WebCore::V8WebGLRenderingContext::getParameterCallback):
        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
        (WebCore::V8WebGLRenderingContext::getUniformCallback):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::responseAccessorGetter):
        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
        (WebCore::V8XSLTProcessor::transformToFragmentCallback):
        (WebCore::V8XSLTProcessor::transformToDocumentCallback):

2012-04-23  Kent Tamura  <tkent@chromium.org>

        Move the content of LocalizedCalendarICU.cpp and LocalizedDateICU.cpp to ICULocale.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=84568

        Reviewed by Hajime Morita.

        Move it to ICULocal.cpp because we want to share UDateFormat
        object in LocalizedDate functions and LocalizedCalendar functions,
        and it becomes easier to cache the UDateFormat object, and making
        unit tests for these functions easier.

        No new tests because of no bahevior changes.

        * platform/text/ICULocale.cpp:
        (WebCore::ICULocale::ICULocale): Initialize new members.
        (WebCore::ICULocale::~ICULocale): Delete m_shortDateFormat.
        (WebCore::ICULocale::initializeShortDateFormat):
        Moved from creteShortDateFormatter of LocalizedDateICU.cpp.
        (WebCore::ICULocale::parseLocalizedDate):
        Moved from LocalizedDate.cpp, use m_shortDateFormat.
        (WebCore::ICULocale::formatLocalizedDate): ditto.
        (WebCore::ICULocale::createLabelVector):
        Moved from LocalizedCalendarICU.cpp, use m_shortDateFormat.
        (WebCore::createFallbackMonthLabels): Moved from LocalizedCalendarICU.cpp.
        (WebCore::createFallbackWeekDayShortLabels): ditto.
        (WebCore::ICULocale::initializeCalendar):
        lazy initialization of m_monthLabels, m_weekDayShortLabels, and m_firstDayOfWeek.
        (WebCore::ICULocale::monthLabels):
        (WebCore::ICULocale::weekDayShortLabels):
        (WebCore::ICULocale::firstDayOfWeek):
        * platform/text/ICULocale.h:
        (ICULocale): Add declarations.
        * platform/text/LocalizedCalendarICU.cpp:
        (WebCore::monthLabels): Use ICULocale::currentLocale().
        (WebCore::weekDayShortLabels): ditto.
        (WebCore::firstDayOfWeek): ditto.
        * platform/text/LocalizedDateICU.cpp:
        (WebCore::parseLocalizedDate): ditto.
        (WebCore::formatLocalizedDate): ditto.

2012-04-23  Raymond Toy  <rtoy@google.com>

        Move AudioDestinationChromium FIFO class to its own class.
        https://bugs.webkit.org/show_bug.cgi?id=84058

        Reviewed by Chris Rogers.

        Current tests cover the changes.

        * WebCore.gypi: Update with new files.
        * platform/audio/AudioPullFIFO.cpp: Copied from Source/WebKit/chromium/src/AudioDestinationChromium.cpp.
        (WebCore): Renamed old class the AudioPullFIFO.
        (WebCore::AudioPullFIFO::AudioPullFIFO):
        (WebCore::AudioPullFIFO::consume):
        (WebCore::AudioPullFIFO::findWrapLengths):
        (WebCore::AudioPullFIFO::fillBuffer):
        * platform/audio/AudioPullFIFO.h: Added.
        (WebCore):
        (AudioPullFIFO):
        (WebCore::AudioPullFIFO::updateIndex):

2012-04-23  Nate Chapin  <japhet@chromium.org>

        REGRESSION (r100311): YummySoup app crashes when trying to print
        https://bugs.webkit.org/show_bug.cgi?id=83918

        Reviewed by Alexey Proskuryakov.

        Test: http/tests/xmlhttprequest/cancel-during-failure-crash.html

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFail):
        (WebCore::SubresourceLoader::willCancel): Now that we might enter the function if we're already Finishing,
            some cleanup needs to be done in the Initialized state only.
        (WebCore::SubresourceLoader::releaseResources): Move requesting counting decrement and laodDone() to
            the finishing functions.

2012-04-23  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Visualize accelerated compositor rects.
        https://bugs.webkit.org/show_bug.cgi?id=79400

        Reviewed by Adrienne Walker.

        No tests, all the code added is only debugging code.

        This patch adds support for visualizing three different types of
        rects on the chromium heads-up display:
        1. updateRects that indicate what was painted/uploaded to a resource
        2. propertyChangedRects that indicate layers that has property changes
        3. surfaceDamageRects that are the accumulation of updateRects and
           propertyChangedRects, indicating what pixels on the screen have
           actually changed.  (Surface damage also accounts for newly exposed
           areas but that is not explicitly visualized.)

        In addition to adding support for visualizing this, the
        CCHeadsUpDisplay was significantly refactored, separating the FPS
        Counter functionality into a different class, so that the heads-up
        display is all about visualizing annotations, and those
        annotations (frame rate, debug rects) are logged separately.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCDebugRectHistory.cpp: Added.
        (WebCore):
        (WebCore::CCDebugRectHistory::CCDebugRectHistory):
        (WebCore::CCDebugRectHistory::enabled):
        (WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
        (WebCore::CCDebugRectHistory::savePaintRects):
        (WebCore::CCDebugRectHistory::savePropertyChangedRects):
        (WebCore::CCDebugRectHistory::saveSurfaceDamageRects):
        * platform/graphics/chromium/cc/CCDebugRectHistory.h: Added.
        (WebCore):
        (WebCore::CCDebugRect::CCDebugRect):
        (CCDebugRect):
        (CCDebugRectHistory):
        (WebCore::CCDebugRectHistory::create):
        (WebCore::CCDebugRectHistory::debugRects):
        * platform/graphics/chromium/cc/CCFrameRateCounter.cpp: Added.
        (WebCore):
        (WebCore::safeMod):
        (WebCore::CCFrameRateCounter::frameIndex):
        (WebCore::CCFrameRateCounter::CCFrameRateCounter):
        (WebCore::CCFrameRateCounter::markBeginningOfFrame):
        (WebCore::CCFrameRateCounter::markEndOfFrame):
        (WebCore::CCFrameRateCounter::isBadFrameInterval):
        (WebCore::CCFrameRateCounter::isBadFrame):
        (WebCore::CCFrameRateCounter::getAverageFPSAndStandardDeviation):
        (WebCore::CCFrameRateCounter::timeStampOfRecentFrame):
        * platform/graphics/chromium/cc/CCFrameRateCounter.h: Added.
        (WebCore):
        (CCFrameRateCounter):
        (WebCore::CCFrameRateCounter::create):
        (WebCore::CCFrameRateCounter::currentFrameNumber):
        (WebCore::CCFrameRateCounter::timeStampHistorySize):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore):
        (WebCore::CCHeadsUpDisplay::enabled):
        (WebCore::CCHeadsUpDisplay::showDebugRects):
        (WebCore::CCHeadsUpDisplay::draw):
        (WebCore::CCHeadsUpDisplay::drawHudContents):
        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
        (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
        (WebCore::CCHeadsUpDisplay::drawDebugRects):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
        (WebCore):
        (CCHeadsUpDisplay):
        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        (CCSettings):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        (WebCore::CCLayerTreeHostImpl::swapBuffers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::fpsCounter):
        (WebCore::CCLayerTreeHostImpl::debugRectHistory):
        (CCLayerTreeHostImpl):

2012-04-23  Julien Chaffraix  <jchaffraix@webkit.org>

        Cut dependency on RenderLayer::scrollRectToVisible outside rendering
        https://bugs.webkit.org/show_bug.cgi?id=84607

        Reviewed by Simon Fraser.

        Layering fix only, there should be no change behavior.

        Because we don't have an accessor on RenderObject, a lot of the code needs
        to know about RenderLayer. This is not necessary and exposes RenderLayer to
        objects that shouldn't know about it.

        This patch adds a RenderObject::scrollRectToVisible with the ad-hoc explanation
        as to why it isn't on RenderBox (scrolling is a RenderBox concept).

        * WebCore.exp.in:
        * WebCore.order:
        Updated to expose the new method.

        * dom/Element.cpp:
        (WebCore::Element::scrollIntoView):
        (WebCore::Element::scrollIntoViewIfNeeded):
        (WebCore::Element::updateFocusAppearance):
        * editing/Editor.cpp:
        (WebCore::Editor::findStringAndScrollToVisible):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::revealSelection):
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollToAnchor):
        Updated those call sites to use the new function.

        * rendering/RenderLayer.h:
        Removed ScrollBehavior.h #include and default argument values
        as we are always called through RenderObject now.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::scrollRectToVisible):
        * rendering/RenderObject.h:
        Added a new function that just forwards to the enclosing layer
        if any. We return whether we actually tried to scroll to match
        some call sites expectations.

2012-04-23  Zhenyao Mo  <zmo@google.com>

        framebuffer binding should not be changed after canvas resize or compositing
        https://bugs.webkit.org/show_bug.cgi?id=84609

        Reviewed by Kenneth Russell.

        Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html

        * html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
        (WebCore):
        (WebCore::WebGLRenderingContext::bindFramebuffer):
        (WebCore::WebGLRenderingContext::deleteFramebuffer):
        (WebCore::WebGLRenderingContext::loseContextImpl):
        * platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
        (WebCore::WebGLLayerChromium::update):
        * platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
        (WebCore::DrawingBuffer::restoreFramebufferBinding):
        (WebCore):
        * platform/graphics/gpu/DrawingBuffer.h: Ditto.
        (WebCore::DrawingBuffer::setTexture2DBinding):
        (DrawingBuffer):
        (WebCore::DrawingBuffer::setFramebufferBinding):
        * platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
        (WebCore::DrawingBuffer::DrawingBuffer):

2012-04-23  Victor Carbune  <vcarbune@adobe.com>

        Simplify volume slider rendering
        https://bugs.webkit.org/show_bug.cgi?id=82150

        Reviewed by Eric Carlson.

        Test: media/video-controls-rendering-toggle-display-none.html

        * css/mediaControlsChromium.css: Update controls css for Chromium.
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        * css/mediaControlsGtk.css: Update controls css for GTK.
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        * css/mediaControlsQuickTime.css: Update controls css for Safari.
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
        * html/shadow/MediaControlElements.cpp: Removed particular renderer.
        (WebCore):
        * html/shadow/MediaControlElements.h:
        (MediaControlVolumeSliderContainerElement): Remoed particular renderer.
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::create): Added a div element as a container. Removed extra unused mute button.
        * html/shadow/MediaControlRootElementChromium.cpp: Added an extra div
        element as a container for the mute button and the volume slider to
        easily position them relative to each other.
        (WebCore::MediaControlRootElementChromium::create):

2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r109981.
        http://trac.webkit.org/changeset/109981
        https://bugs.webkit.org/show_bug.cgi?id=84630

        Broke Twitter map buddy icon (see
        https://bugs.webkit.org/show_bug.cgi?id=84558) (Requested by
        thorton on #webkit).

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::addToOverlapMap):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):

2012-04-23  Emil A Eklund  <eae@chromium.org>

        Crash in RenderInline::clippedOverflowRectForRepaint for PrintPreview
        https://bugs.webkit.org/show_bug.cgi?id=84300

        Reviewed by Simon Fraser.

        No new tests, have not been able to come up with a reliable reduction.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        Add NULL check for containingBlock() as it can return NULL when detached
        from the tree.

2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114929.
        http://trac.webkit.org/changeset/114929
        https://bugs.webkit.org/show_bug.cgi?id=84623

        Broke 35 canvas/webgl tests (Requested by jernoble on
        #webkit).

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::bindFramebuffer):
        (WebCore::WebGLRenderingContext::deleteFramebuffer):
        (WebCore::WebGLRenderingContext::loseContextImpl):
        * platform/graphics/cairo/DrawingBufferCairo.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::update):
        * platform/graphics/gpu/DrawingBuffer.cpp:
        * platform/graphics/gpu/DrawingBuffer.h:
        (WebCore::DrawingBuffer::setTexture2DBinding):
        (DrawingBuffer):
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate around in V8Collection.h
        https://bugs.webkit.org/show_bug.cgi?id=84299

        Reviewed by Nate Chapin.

        The objective is to pass Isolate around in V8 bindings.
        This patch passes Isolate around in V8Collection.h.

        No tests. No change in behavior.

        * bindings/v8/V8Collection.h:
        (WebCore::getV8Object):
        (WebCore::getNamedPropertyOfCollection):
        (WebCore::collectionNamedPropertyGetter):
        (WebCore::getIndexedPropertyOfCollection):
        (WebCore::collectionIndexedPropertyGetter):

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to toV8() (Part5)
        https://bugs.webkit.org/show_bug.cgi?id=84271

        Reviewed by Nate Chapin.

        The objective is to pass Isolate to all toV8()s.
        Since there are a lot of toV8(), I'll make the change
        step by step. This patch passes Isolate to toV8()
        in several custom bindings.

        No tests. No change in behavior.

        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::V8MessageChannel::constructorCallback):
        * bindings/v8/custom/V8MessageEventCustom.cpp:
        (WebCore::V8MessageEvent::dataAccessorGetter):
        (WebCore::V8MessageEvent::portsAccessorGetter):
        * bindings/v8/custom/V8MutationCallbackCustom.cpp:
        (WebCore::V8MutationCallback::handleEvent):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::V8NamedNodeMap::indexedPropertyGetter):
        (WebCore::V8NamedNodeMap::namedPropertyGetter):
        (WebCore::toV8):
        * bindings/v8/custom/V8NodeListCustom.cpp:
        (WebCore::V8NodeList::namedPropertyGetter):
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
        (WebCore::V8NotificationCenter::createNotificationCallback):
        * bindings/v8/custom/V8PerformanceCustom.cpp:
        (WebCore::V8Performance::memoryAccessorGetter):
        * bindings/v8/custom/V8PopStateEventCustom.cpp:
        (WebCore::V8PopStateEvent::stateAccessorGetter):
        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
        (WebCore::V8SQLTransactionSync::executeSqlCallback):
        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
        (WebCore::toV8):

2012-04-23  Zhenyao Mo  <zmo@google.com>

        framebuffer binding should not be changed after canvas resize or compositing
        https://bugs.webkit.org/show_bug.cgi?id=84609

        Reviewed by Kenneth Russell.

        Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html

        * html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
        (WebCore):
        (WebCore::WebGLRenderingContext::bindFramebuffer):
        (WebCore::WebGLRenderingContext::deleteFramebuffer):
        (WebCore::WebGLRenderingContext::loseContextImpl):
        * platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
        (WebCore::WebGLLayerChromium::update):
        * platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
        (WebCore::DrawingBuffer::restoreFramebufferBinding):
        (WebCore):
        * platform/graphics/gpu/DrawingBuffer.h: Ditto.
        (WebCore::DrawingBuffer::setTexture2DBinding):
        (DrawingBuffer):
        (WebCore::DrawingBuffer::setFramebufferBinding):
        * platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
        (WebCore::DrawingBuffer::DrawingBuffer):

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to toV8() (Part4)
        https://bugs.webkit.org/show_bug.cgi?id=84269

        Reviewed by Nate Chapin.

        The objective is to pass Isolate to all toV8()s.
        Since there are a lot of toV8()s, I'll make the change
        step by step. This patch passes Isolate to toV8() in
        several custom bindings.

        No tests. No change in behavior.

        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::getContextCallback):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::allAccessorGetter):
        * bindings/v8/custom/V8HTMLElementCustom.cpp:
        (WebCore::toV8Object):
        (WebCore::V8HTMLElement::itemValueAccessorGetter):
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        (WebCore::V8HTMLFormElement::indexedPropertyGetter):
        (WebCore::V8HTMLFormElement::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
        (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::v8HTMLImageElementConstructorCallback):
        * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
        (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
        * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
        (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
        * bindings/v8/custom/V8ImageDataCustom.cpp:
        (WebCore::toV8):

2012-04-23  Emil A Eklund  <eae@chromium.org>

        Clean up subpixel unit handling in hit testing code
        https://bugs.webkit.org/show_bug.cgi?id=84496

        Reviewed by Eric Seidel.

        Fix use of IntRect and LayoutRect in hit testing code in preparation for
        subpixel layout.

        No new tests, no change in functionality.

        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::rectForPoint):
        Revert rectForPoint to IntRect as all call sites converted it to an
        IntRect anyway to compare it with an IntPoint or another IntRect.

        * rendering/HitTestingTransformState.cpp:
        (WebCore::HitTestingTransformState::boundsOfMappedQuad):
        * rendering/HitTestingTransformState.h:
        Convert boundsOfMappedQuad to LayoutRect as the TransformationMatrix now
        has subpixel precision.

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to toV8() (Part3)
        https://bugs.webkit.org/show_bug.cgi?id=84261

        Reviewed by Nate Chapin.

        The objective is to pass Isolate to all toV8()s.
        Since there are a lot of toV8(), I'll make the change
        step by step. This patch passes Isolate to toV8()
        in several custom bindings.

        No tests. No change in behavior.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::openCallback):
        (WebCore::V8DOMWindow::indexedPropertyGetter):
        (WebCore::V8DOMWindow::namedPropertyGetter):
        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
        (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
        (WebCore::V8DirectoryEntrySync::getFileCallback):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::V8Document::evaluateCallback):
        (WebCore::V8Document::getCSSCanvasContextCallback):
        (WebCore::V8Document::createTouchListCallback):
        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
        (WebCore::V8Document::locationAccessorGetter):
        * bindings/v8/custom/V8EntryCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EntrySyncCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::V8Event::dataTransferAccessorGetter):
        (WebCore::V8Event::clipboardDataAccessorGetter):
        (WebCore):
        * bindings/v8/custom/V8FileReaderCustom.cpp:
        (WebCore::V8FileReader::resultAccessorGetter):
        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
        (WebCore::getItem):
        (WebCore::V8HTMLAllCollection::callAsFunctionCallback):

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to toV8() (Part2)
        https://bugs.webkit.org/show_bug.cgi?id=84259

        Reviewed by Nate Chapin.

        The objective is to pass Isolate to all toV8()s.
        Since there are a lot of toV8(), I'll make the change
        step by step. This patch passes Isolate to toV8() in
        several custom bindings.

        No tests. No change in behavior.

        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSRuleCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSValueCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::toV8Object):
        (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
        (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::memoryAccessorGetter):
        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8SQLStatementErrorCallback::handleEvent):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
        (WebCore::toV8):

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Remove V8Proxy::toV8()
        https://bugs.webkit.org/show_bug.cgi?id=84257

        Reviewed by Nate Chapin.

        Some constructorCallback()s are using V8Proxy::toV8(),
        other constructorCallback()s are directly using setJSWrapperForXXX()
        (XXX can be DOMObject, ActiveDOMObject, Node or ActiveNode).
        We should unify them.

        Considering the fact that V8Proxy::toV8() just supports
        XXX=DOMObject and thus is not flexible, replacing V8Proxy::toV8()
        with setJSWrapperForDOMObject() would make sense.

        No tests. No change in behavior.

        * bindings/v8/V8Proxy.h: Removed toV8().

        * bindings/scripts/CodeGeneratorV8.pm: Replaced toV8() with setJSWrapperForDOMObject().
        (GenerateEventConstructorCallback):
        * bindings/v8/custom/V8ArrayBufferCustom.cpp: Ditto.
        (WebCore::V8ArrayBuffer::constructorCallback):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.
        (WebCore::constructWebGLArrayWithArrayBufferArgument):
        (WebCore::constructWebGLArray):
        * bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.
        (WebCore::V8DOMFormData::constructorCallback):
        * bindings/v8/custom/V8DataViewCustom.cpp: Ditto.
        (WebCore::V8DataView::constructorCallback):
        * bindings/v8/custom/V8MessageChannelConstructor.cpp: Ditto.
        (WebCore::V8MessageChannel::constructorCallback):
        * bindings/v8/custom/V8WebKitPointConstructor.cpp: Ditto.
        (WebCore::V8WebKitPoint::constructorCallback):

        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
        (WebCore::V8TestEventConstructor::constructorCallback):

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to toV8() (Part1)
        https://bugs.webkit.org/show_bug.cgi?id=84250

        Reviewed by Nate Chapin.

        The final objective is to pass Isolate around in V8 bindings.
        This patch makes a change in CodeGeneratorV8.pm so that the
        generated code passes Isolate to toV8().

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
        (GenerateNormalAttrGetter):
        (GenerateNamedConstructorCallback):
        (GenerateCallbackImplementation):
        (GenerateFunctionCallString):
        (NativeToJSValue):

        * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests results.
        (WebCore::Float64ArrayV8Internal::fooCallback):
        * bindings/scripts/test/V8/V8TestCallback.cpp:
        (WebCore::V8TestCallback::callbackWithClass1Param):
        (WebCore::V8TestCallback::callbackWithClass2Param):
        (WebCore::V8TestCallback::callbackWithStringList):
        (WebCore::V8TestCallback::callbackRequiresThisToPass):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
        (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
        (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
        (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
        (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
        (WebCore::TestObjV8Internal::mutablePointAttrGetter):
        (WebCore::TestObjV8Internal::immutablePointAttrGetter):
        (WebCore::TestObjV8Internal::objMethodCallback):
        (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
        (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
        (WebCore::TestObjV8Internal::withScriptStateObjCallback):
        (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
        (WebCore::TestObjV8Internal::mutablePointFunctionCallback):
        (WebCore::TestObjV8Internal::immutablePointFunctionCallback):
        (WebCore::TestObjV8Internal::strictFunctionCallback):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):

2012-04-23  Kentaro Hara  <haraken@chromium.org>

        [V8] Add an optional Isolate argument to setDOMException() and throwError()
        https://bugs.webkit.org/show_bug.cgi?id=84310

        Reviewed by Nate Chapin.

        The objective is to pass Isolate to setDOMException()
        and throwError(). This patch adds an optional Isolate argument
        to setDOMException() and throwError(). I'll pass the Isolate
        to these methods in the following patches.

        No tests. No change in behavior.

        * bindings/v8/V8Proxy.cpp:
        (WebCore):
        (WebCore::V8Proxy::setDOMException):
        (WebCore::V8Proxy::throwError):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):
        (WebCore):
        (WebCore::throwError):

2012-04-23  Ian Vollick  <vollick@chromium.org>

        [chromium] Properly ignore unsupported animation directions.
        https://bugs.webkit.org/show_bug.cgi?id=84599

        Reviewed by Adrienne Walker.

        Tested in CCLayerAnimationControllerTest.ignoreUnsupportedAnimationDirections.

        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:

2012-04-17  Kentaro Hara  <haraken@chromium.org>

        [Performance][V8] Skip Isolate look-up to find StringCache
        https://bugs.webkit.org/show_bug.cgi?id=84103

        Reviewed by Nate Chapin.

        This patch improves the performance of a lot of DOM attribute
        getters that return a string.

        - Improves the performance of Dromaeo/dom-attr.html(element.property)
          by 27.7%.
        - Improves the performance of Dromaeo/dom-attr.html(getAttribute)
          by 10.6%.
        - Improves the performance of div.id, div.className,
          div.nodeName, text.nodeValue, text.textContent by 12% -- 21%.

        The followings are the test results in my Linux desktop.

        Performance test: Dromaeo/dom-attr.html
        Total:                     674.64runs/s ->  707.03runs/s (+ 4.8%)
        getAttribute:             1537.60runs/s -> 1700.20runs/s (+10.6%)
        element.property:         1389.00runs/s -> 1774.20runs/s (+27.7%)
        setAttribute:              538.88runs/s ->  548.87runs/s (+ 1.9%)
        element.property = value:  644.07runs/s ->  656.67runs/s (+ 2.0%)
        element.expando = value:   219.76runs/s ->  207.14runs/s (- 6.8%)
        element.expando:           578.77runs/s ->  554.67runs/s (- 4.2%)

        Performance test: https://bugs.webkit.org/attachment.cgi?id=137440
        div.id:           30.70ns -> 26.70ns (+15%)
        div.className:    31.10ns -> 26.40ns (+18%)
        div.nodeName:     37.70ns -> 33.00ns (+14%)
        text.nodeValue:   31.40ns -> 25.90ns (+21%)
        text.textContent: 51.50ns -> 45.90ns (+12%)

        Previously V8 bindings need to look up an Isolate to find
        an Isolate-local StringCache. This patch skips the look-up
        by getting the Isolate from AccessorInfo.GetIsolate()
        or Arguments.GetIsolate().

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateFunctionCallString):
        (NativeToJSValue):
        * bindings/v8/V8Binding.cpp:
        (WebCore::getElementStringAttr):
        * bindings/v8/V8Binding.h:
        (WebCore::v8ExternalString): Make 'isolate' an optional argument.
        Ideally we want to make 'isolate' a non-optional argument,
        but it is difficult to rewrite all v8ExternalString() callers
        at a breath. We can rewrite them incrementally.
        (WebCore::v8String): Ditto.
        (WebCore::v8StringOrNull): Ditto.
        (WebCore::v8StringOrUndefined): Ditto.
        (WebCore::v8StringOrFalse): Ditto.

        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
        (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
        (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
        (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
        (WebCore::TestObjV8Internal::stringAttrAttrGetter):
        (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
        (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
        (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
        (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
        (WebCore::TestObjV8Internal::hashAttrGetter):
        (WebCore::TestObjV8Internal::conditionalMethod1Callback):

2012-04-17  Kentaro Hara  <haraken@chromium.org>

        [V8] Add an optional Isolate argument to wrap()
        https://bugs.webkit.org/show_bug.cgi?id=84202

        Reviewed by Nate Chapin.

        The final objective is to pass Isolate around in V8 bindings.
        This patch adds an optional Isolate argument to wrap().
        After rewriting all wrap() callers so that they pass Isolate
        to wrap(), I'll make the Isolate argument non-optional.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
        (GenerateHeader):
        * bindings/v8/custom/V8DocumentCustom.cpp: Ditto.
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Ditto.
        (WebCore::toV8):
        * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
        (WebCore::toV8Slow):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp: Ditto.
        (WebCore::toV8):
        * dom/make_names.pl: Ditto.
        (printWrapperFactoryCppFile):

        * bindings/scripts/test/V8/V8Float64Array.h:
        Updated run-bindings-tests results.
        (V8Float64Array):
        (WebCore::V8Float64Array::wrap):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (V8TestActiveDOMObject):
        (WebCore::V8TestActiveDOMObject::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (V8TestCustomNamedGetter):
        (WebCore::V8TestCustomNamedGetter::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (V8TestEventConstructor):
        (WebCore::V8TestEventConstructor::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (V8TestEventTarget):
        (WebCore::V8TestEventTarget::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (V8TestInterface):
        (WebCore::V8TestInterface::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (V8TestMediaQueryListListener):
        (WebCore::V8TestMediaQueryListListener::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (V8TestNamedConstructor):
        (WebCore::V8TestNamedConstructor::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNode.h:
        (V8TestNode):
        (WebCore::V8TestNode::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):
        (WebCore::V8TestObj::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (V8TestSerializedScriptValueInterface):
        (WebCore::V8TestSerializedScriptValueInterface::wrap):
        (WebCore::toV8):

2012-04-17  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to toV8Slow()
        https://bugs.webkit.org/show_bug.cgi?id=84173

        Reviewed by Nate Chapin.

        The final objective is to pass Isolate around in V8 bindings.
        This patch passes the Isolate to toV8Slow().

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):

2012-04-17  Kentaro Hara  <haraken@chromium.org>

        [V8] Add an optional Isolate argument to toV8().
        https://bugs.webkit.org/show_bug.cgi?id=84161

        Reviewed by Nate Chapin.

        The final objective is to pass Isolate around in V8 bindings.
        This patch adds an optional Isolate argument to toV8().
        After rewriting all toV8() callers so that they pass Isolate,
        I will make the Isolate argument non-optional.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        Modified as described above.
        (GenerateHeader):
        (NativeToJSValue):
        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSRuleCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSValueCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EntryCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EntrySyncCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Float64ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLElementCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8IDBKeyCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8ImageDataCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGElementCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8ScriptProfileCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8StyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::toV8):

        * bindings/scripts/test/V8/V8Float64Array.h:
        Updated run-bindings-tests results.
        (WebCore):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNode.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestObj.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (WebCore::toV8):

2012-04-23  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
        [EFL][WK2] Fix build break when non-cross platform CONTEXT_MENUS are enabled.
        https://bugs.webkit.org/show_bug.cgi?id=84136

        Reviewed by Andreas Kling.

        There was a mismatch between contextMenuItemVector declaration and definition.
        Fixed by changing PlatformMenuDescription for EFL port by adding a const modifier.

        No new tests required.

        * platform/PlatformMenuDescription.h:
        (WebCore): Added const modifier to PlatformMenuDescription definition.

2012-04-23  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Ensure zero-width space effectively accounts for a width of zero.
        https://bugs.webkit.org/show_bug.cgi?id=84595

        Reviewed by Simon Hausmann.

        The logic so far relies on FontCache::getFontDataForCharacters to
        return a valid fontData in the case where the fonts specified don't
        have a glyph for the zero-width space character.
        QTextLayout::glyphRuns simply ignores characters that don't render in
        the glyph runs it returns, so we need to ensure that the subsequent
        call to platformWidthForGlyph doesn't lead to a non-zero width.

        Covered by tests containing control characters such as
        a soft-hyphen like it's the case in:
        svg/as-image/img-preserveAspectRatio-support-1.html

        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::platformWidthForGlyph):

2012-04-23  Ian Vollick  <vollick@chromium.org>

        [chromium] When prepareToDraw fails due to animation checkerboard, we need to call setNeedsCommit
        https://bugs.webkit.org/show_bug.cgi?id=84520

        Reviewed by Adrienne Walker.

        Tested in CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::prepareToDraw):

2012-04-23  Alexis Menard  <alexis.menard@openbossa.org>

        Simplify CSSParser::parseFont.
        https://bugs.webkit.org/show_bug.cgi?id=78698

        Reviewed by Antti Koivisto.

        Simplify parseFont by sharing the code we have for
        the longhands of the font property.

        No new tests : Extend the existing font shorthand test and modify expected files
        as now the order of the longhands added in the property list of the style
        has changed. It's very unlikely that some code is relying on this order though. It will
        also match the way the spec order them http://www.w3.org/TR/css3-fonts/#font-prop
        even though the order is arbitrary for some values.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFont):
        (WebCore::CSSParser::parseLineHeight):
        (WebCore):
        (WebCore::CSSParser::parseFontSize):
        (WebCore::CSSParser::parseFontWeight):  Fix a bug discovered while using parseFontWeight from
        the parseFont (case font: 0/0, Arial, sans-serif; in a layout test), we should return true only
        when we add something in the property list.
        * css/CSSParser.h:

2012-04-23  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: improve the way heap snapshot diff is calculated
        https://bugs.webkit.org/show_bug.cgi?id=84590

        Diff calculation now consists of the following steps:
        1. Collect data about nodes in the base heap snapshot
        2. Pass it to the second snapshot.
        3. Calculate delta for each class.

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot):
        (WebInspector.HeapSnapshot.prototype.dispose):
        (WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
        (WebInspector.HeapSnapshot.prototype.calculateSnapshotDiff):
        (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
        (WebInspector.HeapSnapshot.prototype.createAddedNodesProvider):
        (WebInspector.HeapSnapshot.prototype.createDeletedNodesProvider):
        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren.aggregatesForDiffReceived.didCalculateSnapshotDiff):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotIteratorsTuple):
        (WebInspector.HeapSnapshotDiffNode):
        (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotProxy.prototype.aggregatesForDiff):
        (WebInspector.HeapSnapshotProxy.prototype.calculateSnapshotDiff):
        (WebInspector.HeapSnapshotProxy.prototype.createAddedNodesProvider):
        (WebInspector.HeapSnapshotProxy.prototype.createDeletedNodesProvider):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype._changeBase):

2012-04-23  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: Rename and extract UISourceCodeImpl into JavaScriptSource
        https://bugs.webkit.org/show_bug.cgi?id=84587

        Reviewed by Yury Semikhatsky.

        No changes other than extraction here. This is the first step in the Resource
        hierarchy refactoring described in bug 84586.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/CompilerScriptMapping.js:
        (WebInspector.CompilerScriptMapping.prototype.addScript):
        * inspector/front-end/DebuggerPresentationModel.js:
        * inspector/front-end/JavaScriptSource.js: Added.
        (WebInspector.JavaScriptSource):
        (WebInspector.JavaScriptSource.prototype.breakpoints):
        (WebInspector.JavaScriptSource.prototype.breakpointAdded):
        (WebInspector.JavaScriptSource.prototype.breakpointRemoved):
        (WebInspector.JavaScriptSource.prototype.consoleMessages):
        (WebInspector.JavaScriptSource.prototype.consoleMessageAdded):
        (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createUISourceCode):
        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-04-23  Gavin Peters  <gavinp@chromium.org>

        Move ReferrerPolicy out of SecurityPolicy class into its own header in platform.
        https://bugs.webkit.org/show_bug.cgi?id=84516

        Reviewed by Adam Barth.

        No change in behaviour; same enum, different class.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::processReferrerPolicy):
        * dom/Document.h:
        (WebCore::Document::referrerPolicy):
        (Document):
        * page/SecurityPolicy.h:
        * platform/ReferrerPolicy.h: Added.
        (WebCore):

2012-04-23  Vineet Chaudhary  <rgf748@motorola.com>

        JS binding code generator doesn't handle "attribute unsigned long[]" well
        https://bugs.webkit.org/show_bug.cgi?id=84540

        Reviewed by Kentaro Hara.

        Codegenerator should handle spaces with the sequence<> to support
        numeric types like "unsigned long", "int" .. etc. and primitive types
        like "boolean", "Date" etc.

        Tests: bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGenerator.pm:
        (SkipIncludeHeader): Rename AvoidInclusionOfType to SkipIncludeHeader.
        (GetArrayType):
        * bindings/scripts/CodeGeneratorJS.pm:
        (AddIncludesForType):
        (NativeToJSValue):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (AddIncludesForType):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (AddIncludesForType):
        (GetHeaderClassInclude):
        (GenerateNormalAttrGetter):
        (NativeToJSValue):
        * bindings/scripts/IDLStructure.pm:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjIntSequenceAttr):
        (WebCore::jsTestObjShortSequenceAttr):
        (WebCore::jsTestObjLongSequenceAttr):
        (WebCore::jsTestObjLongLongSequenceAttr):
        (WebCore::jsTestObjUnsignedIntSequenceAttr):
        (WebCore::jsTestObjUnsignedShortSequenceAttr):
        (WebCore::jsTestObjUnsignedLongSequenceAttr):
        (WebCore::jsTestObjUnsignedLongLongSequenceAttr):
        (WebCore::jsTestObjFloatSequenceAttr):
        (WebCore::jsTestObjDoubleSequenceAttr):
        (WebCore::jsTestObjBooleanSequenceAttr):
        (WebCore::jsTestObjVoidSequenceAttr):
        (WebCore::jsTestObjDateSequenceAttr):
        (WebCore::setJSTestObjSequenceAttr):
        (WebCore::setJSTestObjIntSequenceAttr):
        (WebCore::setJSTestObjShortSequenceAttr):
        (WebCore::setJSTestObjLongSequenceAttr):
        (WebCore::setJSTestObjLongLongSequenceAttr):
        (WebCore::setJSTestObjUnsignedIntSequenceAttr):
        (WebCore::setJSTestObjUnsignedShortSequenceAttr):
        (WebCore::setJSTestObjUnsignedLongSequenceAttr):
        (WebCore::setJSTestObjUnsignedLongLongSequenceAttr):
        (WebCore::setJSTestObjFloatSequenceAttr):
        (WebCore::setJSTestObjDoubleSequenceAttr):
        (WebCore::setJSTestObjBooleanSequenceAttr):
        (WebCore::setJSTestObjVoidSequenceAttr):
        (WebCore::setJSTestObjDateSequenceAttr):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::intSequenceAttrAttrGetter):
        (TestObjV8Internal):
        (WebCore::TestObjV8Internal::intSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::shortSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::shortSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::longSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::longSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::longLongSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::longLongSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::floatSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::floatSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::doubleSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::doubleSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::booleanSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::booleanSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::voidSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::voidSequenceAttrAttrSetter):
        (WebCore::TestObjV8Internal::dateSequenceAttrAttrGetter):
        (WebCore::TestObjV8Internal::dateSequenceAttrAttrSetter):
        (WebCore):

2012-04-23  Andreas Kling  <kling@webkit.org>

        Unreviewed assertion fix for Chromium bots.

        Skip unnecessary Attr::attachToElement() after constructing an Attr using the
        constructor that attaches to an Element.

        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::ensureAttr):

2012-04-23  Andreas Kling  <kling@webkit.org>

        REGRESSION(r114870): Assertion failure in ElementAttributeData::setAttr().
        <http://webkit.org/b/84581>

        Reviewed by Antti Koivisto.

        Attach the Attr and bump m_attrCount manually in ensureAttr() instead of calling
        setAttr(). The latter asserts that the Attr isn't present in the map, which
        obviously isn't true after we've just added it.

        This has the added effect of removing one unnecessary hash lookup.

        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::ensureAttr):

2012-04-23  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make ParsedURL.prototype.displayName data url friendly.
        https://bugs.webkit.org/show_bug.cgi?id=84578

        Reviewed by Yury Semikhatsky.

        We'd like to define valid URL as the one that has scheme, host and path.
        We can append to this URL and manipulate its content. We still want 
        possibly invalid specs (such as data or about) to exist and have nice
        display names.

        * inspector/front-end/ResourceUtils.js:
        (WebInspector.ParsedURL):
        (WebInspector.ParsedURL.prototype.get displayName):

2012-04-23  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: introduce String.prototype.starts/endsWith and use it all over the place.
        https://bugs.webkit.org/show_bug.cgi?id=84574

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
        * inspector/front-end/CSSCompletions.js:
        (WebInspector.CSSCompletions.prototype.startsWith):
        (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._reportCompletions):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.Cookies.cookieMatchesResourceURL):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype.completions):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
        * inspector/front-end/ProfileView.js:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
        (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
        (WebInspector.ProfileSidebarTreeElement):
        (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
        * inspector/front-end/ResourceUtils.js:
        (WebInspector.ParsedURL):
        (WebInspector.displayNameForURL):
        (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
        (WebInspector.completeURL):
        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer.prototype.nextToken):
        * inspector/front-end/SourceCSSTokenizer.re2js:
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._completeCommonPrefix):
        * inspector/front-end/UIUtils.js:
        (WebInspector.startEditing):
        * inspector/front-end/utilities.js:

2012-04-23  Andreas Kling  <kling@webkit.org>

        REGRESSION(r114870): Performance hit on DOM/CloneNodes and DOM/CreateNodes.
        <http://webkit.org/b/84575>

        Reviewed by Antti Koivisto.

        Simplify the cloning of Attributes from one Element to another by simply
        assigning to m_attributes. This avoids default-constructing a bunch of
        Attribute objects that we overwrite immediately anyway (this used to be
        fine because they were RefPtr<Attribute> but now that a default-constructed
        Attribute contains a QualifiedName, we were doing a bunch of extra hash
        lookups, etc.)

        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::setAttributes):

2012-04-20  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: implement "open stylesheet" dialog.
        https://bugs.webkit.org/show_bug.cgi?id=84466

        Reviewed by Yury Semikhatsky.

        This change introduces abstract OpenResourceDialog and re-uses it in OpenScriptDialog and OpenStylesheetDialog.
        Drive-by fix for data: url representation in the navigator and open resource dialogs.

        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.FilteredItemSelectionDialog.prototype.position):
        (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
        (WebInspector.OpenResourceDialog.compareFunction):
        (WebInspector.OpenResourceDialog):
        (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
        (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
        (WebInspector.OpenResourceDialog.prototype.itemsCount):
        (WebInspector.OpenResourceDialog.prototype.requestItems):
        (WebInspector.OpenResourceDialog.prototype.selectItem):
        (WebInspector.OpenScriptDialog):
        (WebInspector.OpenScriptDialog.install):
        (WebInspector.OpenScriptDialog._show):
        (WebInspector.OpenScriptDialog.prototype.selectItem):
        * inspector/front-end/ResourceUtils.js:
        (WebInspector.ParsedURL):
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/StylesPanel.js:
        (WebInspector.StylesPanel):
        (WebInspector.StylesPanel.prototype._showOpenStylesheetDialog):
        (WebInspector.OpenStylesheetDialog):
        (WebInspector.OpenStylesheetDialog.prototype.selectItem):
        * inspector/front-end/inspector.html:

2012-04-23  Kent Tamura  <tkent@chromium.org>

        Add test function to get placeholder string
        https://bugs.webkit.org/show_bug.cgi?id=84536

        Reviewed by Ryosuke Niwa.

        Add window.internals.visiblePlaceholder(element), which returns a
        placeholder string only when it's visible.

        * WebCore.exp.in: Expose HTMLTextFormControlElement::placeholderShouldBeVisible().
        * testing/Internals.cpp:
        (WebCore::Internals::visiblePlaceholder): Added.
        (WebCore::Internals::selectColorInColorChooser): Omit HTMLNames::.
        * testing/Internals.h:
        (Internals): Add visiblePlaceholder().
        * testing/Internals.idl: ditto.

2012-04-23  Szilard Ledan  <szledan@inf.u-szeged.hu>

        Incorrect handling of CSS escape sequences that encode surrogates
        https://bugs.webkit.org/show_bug.cgi?id=76152

        Reviewed by Kent Tamura.

        Test: fast/css/parsing-css-surrogate-pairs.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseEscape):

2012-04-22  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: make populateChildren methods private in heap profiler front-end
        https://bugs.webkit.org/show_bug.cgi?id=84562

        - populateChildren method on HeapSnapshotConstructorsDataGrid and
        HeapSnapshotDiffDataGrid now is private.
        - Made _defaultPopulateCount a public method on HeapSnapshotSortableDataGrid which
        is overriden in some descendants
        - Removed unused HeapSnapshotPathFinderProxy
        - added closure compiler annotations

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.defaultPopulateCount):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.defaultPopulateCount):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.defaultPopulateCount):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
        (WebInspector.HeapSnapshotDiffNode):
        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
        * inspector/front-end/HeapSnapshotProxy.js:

2012-04-22  Andreas Kling  <kling@webkit.org>

        Unreviewed build fix, remove Attribute.cpp from DOMAllInOne.cpp.

        * dom/DOMAllInOne.cpp: My nemesis.

2012-04-22  Andreas Kling  <kling@webkit.org>

        Optimize Element attribute storage for the common case (no Attr objects.)
        <http://webkit.org/b/83440>

        Reviewed by Antti Koivisto.

        Reduce Attribute to its smallest possible size; a qname/value pair.
        They are no-longer ref-counted, which allows us to store them in Vectors.

        Refactored the DOM Attr object to go with the new Attribute:
        Attr now wraps either {element, qname} or {qname, value}. The latter is for
        the case where a standalone Attr object is instantiated via DOM APIs.

        ElementAttributeData.cpp manages a map of pair<element, qname> => Attr.
        Each Element (well, ElementAttributeData) keeps track of how many Attr
        objects are pointing to it. This is so we can avoid hash lookups during
        common operations in the typical case where you have zero Attrs.

        Also removed the inline capacity (was 4) from AttributeVector as that
        would significantly increase bloat now that we store Attribute (2 pointers)
        rather than RefPtr<Attribute>. We trade this one piece of indirection
        for the removal of per-Attribute indirection.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Attr.cpp:
        (WebCore::Attr::Attr):
        (WebCore):
        (WebCore::Attr::create):
        (WebCore::Attr::~Attr):
        (WebCore::Attr::createTextChild):
        (WebCore::Attr::setPrefix):
        (WebCore::Attr::setValue):
        (WebCore::Attr::cloneNode):
        (WebCore::Attr::childrenChanged):
        (WebCore::Attr::style):
        (WebCore::Attr::value):
        (WebCore::Attr::elementAttribute):
        (WebCore::Attr::detachFromElementWithValue):
        (WebCore::Attr::attachToElement):
        * dom/Attr.h:
        (WebCore):
        (Attr):
        (WebCore::Attr::qualifiedName):
        (WebCore::Attr::localName):
        (WebCore::Attr::namespaceURI):
        (WebCore::Attr::prefix):
        * dom/Attribute.cpp: Removed.
        * dom/Attribute.h:
        (WebCore::Attribute::Attribute):
        (Attribute):
        * dom/Document.cpp:
        (WebCore::Document::importNode):
        (WebCore::Document::createAttributeNS):
        * dom/Element.cpp:
        (WebCore::Element::~Element):
        (WebCore::Element::detachAttribute):
        (WebCore):
        (WebCore::Element::removeAttribute):
        (WebCore::Element::setAttributeInternal):
        (WebCore::Element::parserSetAttributes):
        (WebCore::Element::setAttributeNode):
        (WebCore::Element::removeAttributeNode):
        (WebCore::Element::normalizeAttributes):
        (WebCore::Element::didRemoveAttribute):
        (WebCore::Element::attrIfExists):
        (WebCore::Element::ensureAttr):
        * dom/Element.h:
        (Element):
        (WebCore::Element::getAttributeItemIndex):
        * dom/ElementAttributeData.cpp:
        (WebCore):
        (WebCore::attrMap):
        (WebCore::ElementAttributeData::attrIfExists):
        (WebCore::ElementAttributeData::ensureAttr):
        (WebCore::ElementAttributeData::setAttr):
        (WebCore::ElementAttributeData::removeAttr):
        (WebCore::AttributeVector::removeAttribute):
        (WebCore::ElementAttributeData::~ElementAttributeData):
        (WebCore::ElementAttributeData::addAttribute):
        (WebCore::ElementAttributeData::removeAttribute):
        (WebCore::ElementAttributeData::isEquivalent):
        (WebCore::ElementAttributeData::detachAttributesFromElement):
        (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
        (WebCore::ElementAttributeData::setAttributes):
        (WebCore::ElementAttributeData::clearAttributes):
        (WebCore::ElementAttributeData::replaceAttribute):
        (WebCore::ElementAttributeData::getAttributeNode):
        * dom/ElementAttributeData.h:
        (WebCore):
        (WebCore::AttributeVector::AttributeVector):
        (AttributeVector):
        (WebCore::AttributeVector::getAttributeItem):
        (WebCore::AttributeVector::getAttributeItemIndex):
        (WebCore::AttributeVector::insertAttribute):
        (WebCore::ElementAttributeData::attributeItem):
        (ElementAttributeData):
        (WebCore::ElementAttributeData::ElementAttributeData):
        (WebCore::ElementAttributeData::attributeVector):
        (WebCore::ElementAttributeData::clonedAttributeVector):
        (WebCore::ElementAttributeData::removeAttribute):
        (WebCore::ElementAttributeData::getAttributeItem):
        (WebCore::ElementAttributeData::getAttributeItemIndex):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::getNamedItem):
        (WebCore::NamedNodeMap::getNamedItemNS):
        (WebCore::NamedNodeMap::removeNamedItem):
        (WebCore::NamedNodeMap::removeNamedItemNS):
        (WebCore::NamedNodeMap::item):
        * dom/Node.cpp:
        (WebCore::Node::compareDocumentPosition):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::parseAttribute):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::parseAttribute):
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLConstructionSite::createElement):
        (WebCore::HTMLConstructionSite::createHTMLElement):
        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
        * html/parser/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakeStartTag):
        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
        (WebCore):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        * html/parser/HTMLTreeBuilder.h:
        * html/parser/TextDocumentParser.cpp:
        (WebCore::TextDocumentParser::insertFakePreElement):
        * page/PageSerializer.cpp:
        (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
        * svg/SVGFitToViewBox.cpp:
        * svg/properties/SVGAnimatedPropertySynchronizer.h:
        * xml/XMLErrors.cpp:
        (WebCore::createXHTMLParserErrorHeader):
        (WebCore::XMLErrors::insertErrorMessageBlock):
        * xml/XPathNodeSet.cpp:
        (WebCore::XPath::NodeSet::traversalSort):
        * xml/XPathStep.cpp:
        (WebCore::XPath::Step::nodesInAxis):
        * xml/parser/MarkupTokenBase.h:
        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
        (WebCore::AtomicMarkupTokenBase::getAttributeItem):
        (WebCore::AtomicMarkupTokenBase::attributes):
        (AtomicMarkupTokenBase):
        (WebCore::::initializeAttributes):
        * xml/parser/XMLToken.h:
        (WebCore::AtomicXMLToken::AtomicXMLToken):
        * xml/parser/XMLTreeBuilder.cpp:
        (WebCore::XMLTreeBuilder::processNamespaces):
        (WebCore::XMLTreeBuilder::processAttributes):

2012-04-22  Sriram Neelakandan  <sriram.neelakandan@gmail.com>

        Sync the MOZ_X11 changes from r14 of http://code.google.com/p/npapi-sdk/
        also, modified required build flags for Qt,Gtk and CMake
        [Qt]  Added MOZ_X11 build flag for !embedded
        https://bugs.webkit.org/show_bug.cgi?id=40785

        Reviewed by Anders Carlsson.

        No new tests. This does not change functionality. Affects all X11 Ports. Build should break if MOZ_X11 is not passed where required

        * WebCore.pri:
        * plugins/npapi.h:

2012-04-22  Pablo Flouret  <pablof@motorola.com>

        Reset event propagation and canceled flags in Event.initEvent
        https://bugs.webkit.org/show_bug.cgi?id=83964

        Reviewed by Ryosuke Niwa.

        Step 3 in http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-event-initevent
        Useful for re-configuring an event before dispatching.

        Test: fast/events/flags-unset-on-init-event.html

        * dom/Event.cpp:
        (WebCore::Event::initEvent):

2012-04-22  Martin Robinson  <mrobinson@igalia.com>

        [Cairo] Implement CompositeDifference
        https://bugs.webkit.org/show_bug.cgi?id=77354

        Reviewed by Alejandro G. Castro.

        No new tests. The difference compositing operator are not exposed
        to web content, so this change is simply in preparation for a time
        in which it is used.

        Properly map the difference compositing blend modes to a Cairo operator.

        * platform/graphics/cairo/CairoUtilities.cpp:
        (WebCore::toCairoOperator): Add a mapping for difference. Remove
        code supporting versions of Cairo before 1.10, since the Cairo backend
        requires 1.10 or greater already.

2012-04-22  Jon Lee  <jonlee@apple.com>

        Remove notifications support on Mac Lion.
        https://bugs.webkit.org/show_bug.cgi?id=84554
        <rdar://problem/11297128>

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig:

2012-04-22  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Damage Tracker needs to use CCMathUtil transforms
        https://bugs.webkit.org/show_bug.cgi?id=84070

        Reviewed by Adrienne Walker.

        Unit test added to CCDamageTracker.cpp.

        This patch makes CCDamageTracker use CCMathUtil transforms, so
        that perspective w < 0 problem is correctly handled.

        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::CCDamageTracker::extendDamageForLayer):
        (WebCore::CCDamageTracker::extendDamageForRenderSurface):

2012-04-20  Jon Lee  <jonlee@apple.com>

        Add Notification constructor
        https://bugs.webkit.org/show_bug.cgi?id=80477
        <rdar://problem/10912431>

        Reviewed by Jian Li.

        Tests will be added once there is support for web notifications on the Mac ports.

        * WebCore.exp.in: Export finalize() function.

        Modify Dictionary to support creation of event listeners.
        * bindings/js/Dictionary.h:
        (WebCore::Dictionary::isObject): Return true if the JSDictionary is valid.
        (WebCore::Dictionary::isUndefinedOrNull): Return true if the JSDictionary is not valid.
        (WebCore::Dictionary::get): Add convenience function to take const char* for
        property name, to prevent having to do implicit conversion to WTF::String.
        (WebCore::Dictionary::getEventListener): Add function to create event listener
        from the dictionary.
        (WebCore::Dictionary::asJSObject): Helper to convert WebCore objects to JS wrapper.
        * bindings/js/Dictionary.cpp:
        (WebCore::Notification): Implement asJSObject() for Notification.
        * bindings/js/JSDictionary.h:
        (WebCore::JSDictionary::execState): Expose the exec state so that the Dictionary
        can obtain its world for creating the event listener.

        * bindings/v8/Dictionary.h:
        (WebCore::Dictionary::getEventListener): Stub implementation.

        Add new constructor to idl definitions.
        * notifications/DOMWindowNotifications.idl: Add Notification constructor, if
        ENABLE(NOTIFICATIONS) is on.
        * notifications/Notification.idl: If ENABLE(NOTIFICATIONS) is turned on, define
        the constructor. Otherwise, use OmitConstructor.
        * notifications/NotificationCenter.idl: Wrap creation functions in
        ENABLE(LEGACY_NOTIFICATIONS).
        * notifications/NotificationCenter.h: Ditto.
        (NotificationCenter):

        * notifications/Notification.h:
        (Notification): Wrap legacy constructors in ENABLE(LEGACY_NOTIFICATIONS).
        (WebCore::Notification::create): New creation function based on discussions in WG.
        * notifications/Notification.cpp:
        (WebCore::getAndAddEventListener): Helper function to get the listener from the
        dictionary, and attach to the notification.
        (WebCore::Notification::create): Create the notification, then apply whatever
        properties can be found in the dictionary to the notification. In order to
        attach the event listeners, the notification has to have been created, which is
        why this all happens in the factory method and not in the constructor.
        (WebCore::Notification::setBody): Added so that it can be set if we find it in the
        dictionary.

        The new constructor queues a task to show when it is created. To support this, we
        use a one-shot timer that calls show() in the next iteration of the run loop.
        (WebCore::Notification::Notification): Start the timer.
        (WebCore::Notification::showTaskTimerFired): Call show().

        Notifications, not being attached to the DOM, could be GC'ed by the JS engine
        before its life cycle has completed. We add calls to setPendingActivity() when the
        notification has been shown, and when it is closed, we unsetPendingActivity().
        To guarantee that we only call this once, we add a new state to the Notification
        state machine, called NotificationState::Closed.
        (WebCore::Notification::show): Call setPendingActivity() for all ports. Remove conditional on Mac.
        (WebCore::Notification::close): Include Closed state to machine; do nothing.
        (WebCore::Notification::dispatchCloseEvent): Call finalize().
        (WebCore::Notification::finalize): If the state is not Closed, we unsetPendingActivity()
        to make it available for GC.
        (WebCore::Notification::finishLoading): Remove the unsetPendingActivity(). That call
        was to balance the setPendingActivity() called for loading the icon. Instead of wrapping
        around the icon load, we wrap around the show() -> finalize() loop.

        In Notification, rename some of the stages and functions to more clearly communicate
        that they mostly deal with the icon of the notification, instead of general loading.
        (WebCore::Notification::show): Refactored to use LoadingIcon and CancelledIcon.
        (WebCore::Notification::close): Refactored to use LoadingIcon and CancelledIcon.
        (WebCore::Notification::~Notification): Refactor to use LoadingIcon.
        (WebCore::Notification::startLoadingIcon): Renamed from startLoading().
        (WebCore::Notification::stopLoadingIcon): Renamed from stopLoading().
        (WebCore::Notification::finishLoadingIcon): Renamed from finishLoading().
        (WebCore::Notification::didFinishLoading):
        (WebCore::Notification::didFail):
        (WebCore::Notification::didFailRedirectCheck):
        (WebCore::Notification::didReceiveResponse):
        (WebCore::Notification::finishLoading):

        Add Dictionary.cpp.
        * GNUmakefile.list.am:
        * Target.pri:
        * UseJSC.cmake:
        * WebCore.gypi:

        Fix bug in V8 bindings generation code. If the constructor doesn't raise an exception,
        don't use an exception code.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateParametersCheck):
        * bindings/scripts/test/V8/V8TestObj.cpp: Reset results.
        (WebCore::TestObjV8Internal::optionsObjectCallback):

2012-04-21  Benjamin C Meyer  <bmeyer@rim.com>

        Support loading the same plugin in multiple locations in the Blackberry port.
        https://bugs.webkit.org/show_bug.cgi?id=84537

        The hash for the plugin is only based upon the plugin meta information
        which will be the same for the same plugin in the system and user's
        plugin folders.

        It looks like this code was copied/based on the windows port
        which doesn't allow the same plugin to be loaded more than once.

        Because we want to support multiple copies of the same plugin
        in the blackberry port we want to incorperate the path of the plugin
        into the hash.

        PR 150404

        Reviewed by Adam Treat.

        * plugins/blackberry/PluginPackageBlackBerry.cpp:
        (WebCore::PluginPackage::hash):

2012-04-21  Benjamin C Meyer  <bmeyer@rim.com>

        System plugins are preferred over application plugins
        https://bugs.webkit.org/show_bug.cgi?id=84538

        Set the preferred paths for plugins so that plugins that reside
        inside of the bar will be preferred over plugins that are in the
        system folder.

        PR 150404

        Reviewed by Adam Treat.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::isPreferredPluginDirectory):

2012-04-21  Darin Adler  <darin@apple.com>

        Improve performance of removing user and password from URLs
        https://bugs.webkit.org/show_bug.cgi?id=84525

        Reviewed by Dan Bernstein.

        Performance improvement only. Correctness covered by existing regression tests.

        The most common use of KURL::setUser and KURL::setPass, by far, is to remove
        the user and password from a URL that already has neither. Optimize this by
        not re-parsing the URL in that case.

        * platform/KURL.cpp:
        (WebCore::KURL::setUser): Restructure code so that the code path that removes
        the user does no work when there is nothing to remove. Otherwise, leave the
        logic of the function untouched.
        (WebCore::KURL::setPass): Same thing, only for password rather than user.

2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114768.
        http://trac.webkit.org/changeset/114768
        https://bugs.webkit.org/show_bug.cgi?id=84521

        Original patch was not the problem, re-applying (Requested by
        pfeldman_ on #webkit).

        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::setInjectedScriptContextDebugId):
        (WebCore):
        (WebCore::V8IsolatedContext::V8IsolatedContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInIsolatedWorld):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):

2012-04-20  Adrienne Walker  <enne@google.com>

        [chromium] Refactor opaque content transform out of Skia context
        https://bugs.webkit.org/show_bug.cgi?id=83608

        Reviewed by James Robinson.

        Having PlatformContextSkia know about the transform into content space
        for a layer is a layering violation. This change lets the
        PlatformContextSkia deal with opaque rects in its own space and lets
        the caller handle transforming it into its own space. This also
        prevents a matrix multiply per draw into the Skia canvas and does it
        just once at the end to transform the final rect.

        This is an incremental refactoring so that additional tracking for
        text rects can be added and use the same space as opaque rects.

        Tests: LayerTextureUpdaterTest.testPartialOpaqueRectNoTransform
               LayerTextureUpdaterTest.testPartialOpaqueRectTranslation
               LayerTextureUpdaterTest.testPartialOpaqueRectScale

        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
        (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
        (BitmapCanvasLayerTextureUpdater):
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
        (BitmapSkPictureCanvasLayerTextureUpdater):
        * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
        (WebCore::CanvasLayerTextureUpdater::paintContents):
        * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
        (CanvasLayerTextureUpdater):
        * platform/graphics/chromium/LayerTextureUpdater.h:
        (WebCore::LayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
        (SkPictureCanvasLayerTextureUpdater):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::updateTiles):
        * platform/graphics/skia/OpaqueRegionSkia.cpp:
        (WebCore::OpaqueRegionSkia::didDrawRect):
        (WebCore::OpaqueRegionSkia::didDrawPath):
        (WebCore::OpaqueRegionSkia::didDrawPoints):
        (WebCore::OpaqueRegionSkia::didDrawBounded):
        (WebCore::OpaqueRegionSkia::didDraw):
        * platform/graphics/skia/OpaqueRegionSkia.h:
        (OpaqueRegionSkia):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::didDrawRect):
        (WebCore::PlatformContextSkia::didDrawPath):
        (WebCore::PlatformContextSkia::didDrawPoints):
        (WebCore::PlatformContextSkia::didDrawBounded):
        * platform/graphics/skia/PlatformContextSkia.h:
        (PlatformContextSkia):

2012-04-20  Enrica Casucci  <enrica@apple.com>

        CRASH at WebCore::ReplaceSelectionCommand::removeRedundantMarkup
        https://bugs.webkit.org/show_bug.cgi?id=84518
        <rdar://problem/10714790>

        Reviewed by Simon Fraser.

        There are cases where the m_lastNodeInserted is NULL to begin with or
        gets deleted by removeRedundantStylesAndKeepStyleSpanInline.
        This change handles those cases properly.
        
        Tests: editing/pasteboard/paste-sanitize-crash-1.html
               editing/pasteboard/paste-sanitize-crash-2.html

        * editing/ReplaceSelectionCommand.h:
        (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
        * editing/SimplifyMarkupCommand.cpp:
        (WebCore::SimplifyMarkupCommand::doApply):

2012-04-20  Michael Nordman  <michaeln@google.com>

        [chromium] Tiny change to DomStorage v8 bindings to avoid a relatively expensive test in a couple
        of places by reordering the expressions in compound conditions, if (fastTest && moreExpensiveTest)
        https://bugs.webkit.org/show_bug.cgi?id=84500

        Reviewed by Kentaro Hara.

        No new tests, no new functionality.

        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::storageGetter):
        (WebCore::V8Storage::namedPropertyQuery):

2012-04-20  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r114784): svg/text/foreignObject-text-clipping-bug.xml failing on Mountain Lion Debug Tests
        https://bugs.webkit.org/show_bug.cgi?id=84505

        Reviewed by Anders Carlsson.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Changed to not assume that boxes only
        have boxes as siblings.

2012-04-20  Dana Jansens  <danakj@chromium.org>

        [chromium] Remove special case for recreating layers during sync
        https://bugs.webkit.org/show_bug.cgi?id=84458

        Reviewed by James Robinson.

        We no longer delete layers on the impl side, unless it is due to
        deleting the layer on webkit side. So we will no longer have a
        situation where we need to push properties from an old
        LayerChromium to a new CCLayerImpl.

        * platform/graphics/chromium/TreeSynchronizer.cpp:
        (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):

2012-04-20  Dana Jansens  <danakj@chromium.org>

        [chromium] WebFilterOperations API does not compile or dynamically link
        https://bugs.webkit.org/show_bug.cgi?id=84506

        Reviewed by James Robinson.

        Non-inline functions need WEBKIT_EXPORT in their declarations,
        and the type used in the WebPrivateOwnPtr needs to be forward-
        declared even when WEBKIT_IMPLEMENTATION is not defined.

        * platform/chromium/support/WebFilterOperations.cpp:
        (WebKit::WebFilterOperations::initialize):

2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114333.
        http://trac.webkit.org/changeset/114333
        https://bugs.webkit.org/show_bug.cgi?id=84511

        perf regression (Requested by morrita on #webkit).

        * dom/Node.cpp:
        * dom/Node.h:
        (WebCore):
        (Node):
        (WebCore::Node::isElementNode):
        (WebCore::Node::isContainerNode):
        (WebCore::Node::isTextNode):
        (WebCore::Node::isHTMLElement):
        (WebCore::Node::isSVGElement):
        (WebCore::Node::isStyledElement):
        (WebCore::Node::isShadowRoot):
        (WebCore::Node::parentNode):
        (WebCore::Node::parentNodeGuaranteedHostFree):

2012-04-20  Alec Flett  <alecflett@chromium.org>

        IndexedDB: Support get/getKey(keyRange)
        https://bugs.webkit.org/show_bug.cgi?id=83638

        Reviewed by Ojan Vafai.

        Support IDBKeyRange as a parameter to all the various get/getKey 
        combinations. Switches the existing get/getKey versions that use 
        IDBKey directly to start using IDBKeyRange.only(). 

        Test: storage/indexeddb/get-keyrange.html

        * Modules/indexeddb/IDBIndex.cpp:
        (WebCore::IDBIndex::get):
        (WebCore):
        (WebCore::IDBIndex::getKey):
        * Modules/indexeddb/IDBIndex.h:
        (IDBIndex):
        * Modules/indexeddb/IDBIndex.idl:
        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::getInternal):
        (WebCore):
        (WebCore::IDBIndexBackendImpl::getByRangeInternal):
        (WebCore::IDBIndexBackendImpl::getKeyInternal):
        (WebCore::IDBIndexBackendImpl::getKeyByRangeInternal):
        (WebCore::IDBIndexBackendImpl::get):
        (WebCore::IDBIndexBackendImpl::getKey):
        * Modules/indexeddb/IDBIndexBackendImpl.h:
        (IDBIndexBackendImpl):
        * Modules/indexeddb/IDBIndexBackendInterface.h:
        (IDBIndexBackendInterface):
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::get):
        (WebCore):
        * Modules/indexeddb/IDBObjectStore.h:
        (IDBObjectStore):
        * Modules/indexeddb/IDBObjectStore.idl:
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore):
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal):
        (WebCore::IDBObjectStoreBackendImpl::getInternal):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
        (IDBObjectStoreBackendImpl):
        * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
        (IDBObjectStoreBackendInterface):

2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114789.
        http://trac.webkit.org/changeset/114789
        https://bugs.webkit.org/show_bug.cgi?id=84515

        Caused 5 tests to fail on mac/ (Requested by jernoble on
        #webkit).

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSValueKeywords.in:
        * platform/ThemeTypes.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paint):

2012-04-20  Brady Eidson  <beidson@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=84512
        Repurpose ActiveDOMObject::WillShowDialog to WillDeferLoading

        Reviewed by Eric Carlson.

        No new tests. (Refactor, no behavior change)

        Rename WillShowDialog to WillDeferLoading:
        * dom/ActiveDOMObject.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::suspend):

        Don't take a ReasonForSuspension argument anymore, just use WillDeferLoading:
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        * page/PageGroupLoadDeferrer.h:

        Don't pass a Reason anymore as WillDeferLoading is used by default:
        * page/Chrome.cpp:
        (WebCore::Chrome::runModal):
        (WebCore::Chrome::runBeforeUnloadConfirmPanel):
        (WebCore::Chrome::runJavaScriptAlert):
        (WebCore::Chrome::runJavaScriptConfirm):
        (WebCore::Chrome::runJavaScriptPrompt):
        (WebCore::Chrome::shouldInterruptJavaScript):

2012-04-20  James Robinson  <jamesr@chromium.org>

        [chromium] Plumb a compositor surface ready notification through to the threaded compositor
        https://bugs.webkit.org/show_bug.cgi?id=84305

        Reviewed by Adrienne Walker.

        Plumb setSurfaceReady through to the scheduler.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setSurfaceReady):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::setSurfaceReady):
        (WebCore):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::setSurfaceReady):
        (WebCore):
        (WebCore::CCThreadProxy::setSurfaceReadyOnImplThread):
        (WebCore::CCThreadProxy::initializeImplOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-04-20  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call memoryUsageMB directly
        https://bugs.webkit.org/show_bug.cgi?id=84376

        Reviewed by Kentaro Hara.

        Now that memoryUsageMB has been moved from PlatformSupport.h to
        Platform.h, we need to be able to call it directly
        from WebCore/bindings/v8/V8GCController.cpp.
        That means we need a new MemoryUsageSupport class in
        WebCore/platform/ and an implementation in
        WebCore/platform/chromium/MemoryUsageSupportChromium.cpp.
        Other ports are welcome to implement their memory usage
        functions if they wish. This pattern was based on the
        HistogramSupport/HistogramSupportChromium classes.

        Part of a refactoring series. See tracking bug 82948.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/v8/V8GCController.cpp:
        (WebCore):
        * platform/MemoryUsageSupport.cpp: Added.
        (WebCore):
        (WebCore::MemoryUsageSupport::memoryUsageMB):
        * platform/MemoryUsageSupport.h: Added.
        (WebCore):
        (MemoryUsageSupport):
        * platform/chromium/MemoryUsageSupportChromium.cpp: Added.
        (WebCore):
        (WebCore::MemoryUsageSupport::memoryUsageMB):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-20  Anders Carlsson  <andersca@apple.com>

        Re-land. The non-fast scrollable region is now always updated after layout, and frameViewScrollableAreasDidChange has been removed.

        computeNonFastScrollableRegion needs to traverse the entire frame tree
        https://bugs.webkit.org/show_bug.cgi?id=84409
        <rdar://problem/11285741>

        Reviewed by Dan Bernstein.

        Now that scrollable areas won't be in the set of scrollable areas unless they are actually scrollable, we need to look for scrollable
        areas in the entire frame tree since there can be a scrollable frame that's a subframe of a non-scrollable frame for example.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::computeNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):

2012-04-20  Adrienne Walker  <enne@google.com>

        [chromium] Clip TransparencyWin to prevent OOM from large Skia canvas
        https://bugs.webkit.org/show_bug.cgi?id=84289

        Reviewed by James Robinson.

        TransparencyWin will create a Skia canvas of whatever size is passed
        in, even if the result will ultimately be clipped. Handle the clip
        implicitly and try (in some cases) to create a smaller canvas. This
        can happen due to RenderBox::paintBoxDecorations passing a paint rect
        down of the entire element's size.

        Modes with more complicated transforms (ScaleTransform, UnTransform)
        are not handled yet.

        Tests: TransparencyWin.ClippedKeepTransformNoLayer
               TransparencyWin.ClippedKeepTransformOpaqueCompositeLayer
               TransparencyWin.ClippedKeepTransformOpaqueWhiteLayer

        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::computeLayerSize):

2012-04-04  Jer Noble  <jer.noble@apple.com>

        apple.com top navigation bar appears inside video during full screen exit animation
        https://bugs.webkit.org/show_bug.cgi?id=83095

        Reviewed by Eric Carlson.

        Test: fullscreen/full-screen-exit-animation-stacking-context.html

        Only tell ancestors of the full screen element that they are no longer ancestors once
        the full screen animation is complete:
        * dom/Document.cpp:
        (WebCore::Document::webkitWillExitFullScreenForElement):
        (WebCore::Document::webkitDidExitFullScreenForElement):

        To facilitate writing reproducible LayoutTests, expose webkitWill/Did/Enter/ExitFullScreen
        from the Internals object, so scripts can call them explicitly:
        * testing/Internals.cpp:
        (WebCore::Internals::webkitWillEnterFullScreenForElement): Call the Document equivalent.
        (WebCore::Internals::webkitDidEnterFullScreenForElement): Ditto.
        (WebCore::Internals::webkitWillExitFullScreenForElement): Ditto.
        (WebCore::Internals::webkitDidExitFullScreenForElement): Ditto.
        * testing/Internals.h:
        * testing/Internals.idl:

2012-04-17  Jer Noble  <jer.noble@apple.com>

        media-exit-fullscreen-button (and related enums) is unnecessary and should be removed.
        https://bugs.webkit.org/show_bug.cgi?id=84162

        Reviewed by Eric Carlson.

        No new tests; no change in functionality so covered by existing tests.

        Remove the media-exit-fullscreen-button keyword, and rename media-enter-fullscreen-button to
        media-fullscreen-button.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSValueKeywords.in:
        * css/mediaControls.css:
        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
        * platform/ThemeTypes.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paint):

2012-04-20  Alexandre Elias  <aelias@google.com>

        [chromium] Fix compile errors when DEBUG_GL_CALLS is enabled
        https://bugs.webkit.org/show_bug.cgi?id=84491

        Reviewed by Ojan Vafai.

        DEBUG_GL_CALLS had not been used in a while and the mode no longer
        compiled when I tried it.  I improved the GLC macro to support either
        raw pointers or RefPtrs, and to be a single expression in order to
        interact properly with if/else blocks.  I fixed the cases where we
        were passing in the "context" method pointer by mistake, and removed the
        now-unnecessary "get()" calls for the RefPtrs.

        No new tests. (No-op change in release builds.)

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        (WebCore::LayerRendererChromium::clearRenderSurface):
        (WebCore::LayerRendererChromium::beginDrawingFrame):
        (WebCore::LayerRendererChromium::doNoOp):
        (WebCore::LayerRendererChromium::drawQuad):
        (WebCore::LayerRendererChromium::drawTextureQuad):
        (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
        (WebCore::LayerRendererChromium::finishDrawingFrame):
        (WebCore::LayerRendererChromium::useRenderSurface):
        (WebCore::LayerRendererChromium::bindFramebufferToTexture):
        (WebCore::LayerRendererChromium::setScissorToRect):
        (WebCore::LayerRendererChromium::setDrawViewportRect):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore):

2012-04-20  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):

2012-04-19  Simon Fraser  <simon.fraser@apple.com>

        Set m_compositingDependsOnGeometry to false if possible
        https://bugs.webkit.org/show_bug.cgi?id=84391

        Reviewed by James Robinson.
        
        For some kinds of elements, RenderLayerCompositor has to delay decisions about
        compositing until the element's size and/or position are known. This was previsouly
        based on the confusingly named m_compositingDependsOnGeometry flag, but another
        variant of the same technique, with an additional flag m_compositingNeedsUpdate,
        was added in r98627.
        
        Also, once the m_compositingDependsOnGeometry flag was set to true, nothing
        set it to false, so every compositing layer update resulted in a computeCompositingRequirements()
        pass over the layers.
        
        Rename the m_compositingDependsOnGeometry flag to m_reevaluateCompositingAfterLayout,
        and clear the flag when we do a layout-related compositing layer update.
        Use the same flag for position:fixed compositing.
        
        This requires RenderLayerCompositor to distinguish between style- and layout-
        related updates, requiring some minor refactoring in FrameView.

        Should not change behavior.
        
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        (WebCore::Document::implicitClose):
        * page/FrameView.cpp:
        (WebCore::FrameView::updateCompositingLayersAfterStyleChange):
        (WebCore::FrameView::updateCompositingLayersAfterLayout):
        (WebCore::FrameView::restoreBackingStores):
        (WebCore::FrameView::layout):
        * page/FrameView.h:
        (FrameView):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        (WebCore::RenderLayerCompositor::layerTreeAsText):
        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
        (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):

2012-04-20  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10786000> Selection highlights of lines in adjoining blocks can overlap
        https://bugs.webkit.org/show_bug.cgi?id=84489

        Reviewed by Anders Carlsson.

        Test: fast/block/line-layout/selection-highlight-overlap.html

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::selectionRect): Changed to use
        selection{Top,Height}AdjustedForPrecedingBlock().
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintSelection): Ditto.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::inlineSelectionGaps): Ditto.
        (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Added. Returns the block which is
        likely to contain the selected line just before the first line in this block, if it is
        within the same selection root.
        * rendering/RenderBlock.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock): Added. If the selection
        starts before our block, finds the last line in the preceding block and adjusts the selection
        top to avoid overlap with that line’s selection bottom.
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::selectionHeightAdjustedForPrecedingBlock): Added. Like
        selectionHeight(), but uses selectionTopAdjustedForPrecedingBlock().

2012-04-20  Xianzhu Wang  <wangxianzhu@chromium.org>

        Crash in getOrDrawNodeHighlight after r114659
        https://bugs.webkit.org/show_bug.cgi?id=84486

        Reviewed by Daniel Bates.

        No new tests. Fixes a crash in test: inspector/elements/elements-panel-selection-on-refresh.html.

        * inspector/DOMNodeHighlighter.cpp:

2012-04-20  Brady Eidson  <beidson@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=84490
        PageGroupLoadDeferrer needs to take a ReasonForSuspension argument

        Reviewed by Anders Carlsson.

        No new tests. (Refactor, no change in behavior)

        - Make PageGroupLoadDeferrer take a ReasonForSuspension argument so it can pass it along.
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        * page/PageGroupLoadDeferrer.h:

        - Change suspendScheduledTasks to take a ReasonForSuspension.
        - As long as we're changing Document.h, add a m_suspendedScheduledTasks flag and some
          ASSERTs to catch what would be epically wrong behavior in the future.
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::suspendScheduledTasks):
        (WebCore::Document::resumeScheduledTasks):
        * dom/Document.h:

        - Pass ActiveDOMObject::WillShowDialog along to all PageGroupLoadDeferrers, as it used
          to be the default behavior
        * page/Chrome.cpp:
        (WebCore::Chrome::runModal):
        (WebCore::Chrome::runBeforeUnloadConfirmPanel):
        (WebCore::Chrome::runJavaScriptAlert):
        (WebCore::Chrome::runJavaScriptConfirm):
        (WebCore::Chrome::runJavaScriptPrompt):
        (WebCore::Chrome::shouldInterruptJavaScript):

2012-04-20  Anders Carlsson  <andersca@apple.com>

        Scrolling after going to a find-in-page result jumps to the top of the page
        https://bugs.webkit.org/show_bug.cgi?id=84485
        <rdar://problem/11273734>

        Reviewed by Beth Dakin.

        If we're both updating the requested scroll position and entering slow mode in the same commit, the
        probable main thread scroll position should be the requested scroll position.

        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::update):

2012-04-20  James Robinson  <jamesr@chromium.org>

        Avoid synchronously recalculating the nonFastScrollableRegion when the ScrollableArea set changes
        https://bugs.webkit.org/show_bug.cgi?id=84470

        Reviewed by Anders Carlsson.

        When a scrollable area is added or removed, we shouldn't recalculate the nonFastScrollableRegion synchronously
        since this is slow, the RenderObject tree might not be in an up-to-date state, and we'll typically do layout
        soon anyway.

        * page/FrameView.cpp:
        (WebCore::FrameView::addScrollableArea):
        (WebCore::FrameView::removeScrollableArea):
        * page/scrolling/ScrollingCoordinator.cpp:
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):

2012-04-20  Emil A Eklund  <eae@chromium.org>

        Fix use of LayoutUnits in DOMNodeHighlighter
        https://bugs.webkit.org/show_bug.cgi?id=84472

        Reviewed by Eric Seidel.

        Fix use of subpixel units and rounding in new code introduced in r114659.

        No new tests, no change in functionality.

        * inspector/DOMNodeHighlighter.cpp:

2012-04-17  Antonio Gomes  <agomes@rim.com>

        Relax ScrollView::adjustScrollPositionWithinRange in case constrainsScrollingToContentEdge is false
        https://bugs.webkit.org/show_bug.cgi?id=84178

        Reviewed by Adam Treat.

        No new tests since it is not easily testable.

        When a port has both delegatesScrolling and constrainsScrollingToContentEdge set to FALSE
        (i.e. it accepts overscrolled position), calling ScrollView::setScrollPosition with an overscrolled
        position still gets the position clamped to the content size edges.

        Patch relaxes ::adjustScrollPositionWithinRange in that sense in order to track the actual scroll
        position.

        Note: ScrollView::setScrollOffset already does something similar.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::adjustScrollPositionWithinRange):

2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114535.
        http://trac.webkit.org/changeset/114535
        https://bugs.webkit.org/show_bug.cgi?id=84475

        It might have caused V8 crashes. (Requested by pfeldman_ on
        #webkit).

        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::V8IsolatedContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInIsolatedWorld):
        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
        (WebCore):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):

2012-04-20  Dean Jackson  <dino@apple.com>

        -webkit-filter missing from computed style enumeration
        https://bugs.webkit.org/show_bug.cgi?id=84468

        Reviewed by Timothy Hatcher.
        
        CSSComputedStyleDeclaration has a list of properties that it exposes.
        While the computed style for filter was available, the property wasn't
        listed and hence missing in clients like the Web Inspector.

        Covered by existing tests.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore): add CSSPropertyWebkitFilter

2012-04-20  Emil A Eklund  <eae@chromium.org>

        [win] Update windows platform code to use pixel snapped values
        https://bugs.webkit.org/show_bug.cgi?id=84283

        Reviewed by Eric Seidel.

        No new tests, no change in functionality.

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::pixelSnappedElementRect):
        Use pixel snapped values when computing screenRect.
        
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::calculatePositionAndSize):
        (WebCore::PopupMenuWin::paint):
        Cast client padding to ints as they are guaranteed to align with device pixels.

2012-04-20  Dana Jansens  <danakj@chromium.org>

        [chromium] Some filters require inflating damage rect in CCDamageTracker
        https://bugs.webkit.org/show_bug.cgi?id=84373

        Reviewed by James Robinson.

        When a layer is blurred, damaged pixels are blurred out into a radius
        and their damage should be expanded to include total blurred region.

        Unit test: CCDamageTrackerTest.verifyDamageForBlurredSurface

        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::CCDamageTracker::updateDamageTrackingState):
        (WebCore::CCDamageTracker::expandDamageRectWithForegroundFilters):
        (WebCore):
        * platform/graphics/chromium/cc/CCDamageTracker.h:
        (WebCore):
        (CCDamageTracker):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):

2012-04-20  Sami Kyostila  <skyostil@chromium.org>

        [chromium] Don't crash when scrolling empty layer tree
        https://bugs.webkit.org/show_bug.cgi?id=84455

        Reviewed by James Robinson.

        Do not try to calculate render passes when there are no layers in the
        layer tree.

        Added new unit test.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):

2012-04-20  Victor Carbune  <vcarbune@adobe.com>

        Ensure text is centered for default captions
        https://bugs.webkit.org/show_bug.cgi?id=84450

        Reviewed by Eric Carlson.

        Updated existing test.

        * html/track/TextTrackCue.cpp:
        (WebCore::TextTrackCue::getDisplayTree): Added default width.

2012-04-20  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: open file dialog is not centered.
        https://bugs.webkit.org/show_bug.cgi?id=84464

        Reviewed by Yury Semikhatsky.

        There was an error in the positioning logic.

        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.FilteredItemSelectionDialog.prototype.position):

2012-04-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [Qt] PlatformMouseEventQt.cpp should be deleted.
        https://bugs.webkit.org/show_bug.cgi?id=84437

        Reviewed by Kenneth Rohde Christiansen.

        * platform/qt/PlatformMouseEventQt.cpp: Removed.

2012-04-20  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: follow up to r114729: more @return annotations added.
        https://bugs.webkit.org/show_bug.cgi?id=84447

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.ResourceRevision.prototype.get content):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeFrame.prototype._addRequest):
        * inspector/front-end/ResourceUtils.js:
        (String.prototype.asParsedURL):

2012-04-20  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: migrate from ScriptsNavigator to NavigatorView in the Styles panel
        https://bugs.webkit.org/show_bug.cgi?id=84459

        Reviewed by Yury Semikhatsky.

        Now that NavigatorView has all the functionality we need, we can use it.

        * inspector/front-end/NavigatorView.js:
        (WebInspector.NavigatorScriptTreeElement.prototype.ondblclick):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        * inspector/front-end/StylesPanel.js:
        (WebInspector.StylesPanel):
        (WebInspector.StylesPanel.prototype._resourceAdded):
        (WebInspector.StylesPanel.prototype._reset):
        (WebInspector.StylesPanel.prototype._itemSelected):
        (WebInspector.StylesPanel.prototype._showFile):
        * inspector/front-end/navigatorView.css:
        (.navigator-tabbed-pane .tabbed-pane-content):
        (.navigator-tabbed-pane .navigator-container):
        (.navigator-tabbed-pane .navigator):
        (.navigator-tabbed-pane .tabbed-pane-header):
        (.navigator-tabbed-pane .tabbed-pane-header-contents):
        * inspector/front-end/scriptsPanel.css:

2012-04-20  Sam D  <dsam2912@gmail.com>

        Web Inspector: Does not have search navigation button for going through matches in either direction (prev, next)
        https://bugs.webkit.org/show_bug.cgi?id=84235

        Added buttons for navigating on seiarch matches in inspector panel
        through button clicks as well. 

        Reviewed by Pavel Feldman.

        No new tests / ux enhanced for search functionality

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * inspector/front-end/Images/searchNext.png: Added.
        * inspector/front-end/Images/searchPrev.png: Added.
        * inspector/front-end/SearchController.js:
        (WebInspector.SearchController):
        (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
        (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
        (WebInspector.SearchController.prototype._onNextButtonSearch):
        (WebInspector.SearchController.prototype._onPrevButtonSearch):
        (WebInspector.SearchController.prototype._performSearch):
        (WebInspector.SearchController.prototype._createSearchNavigationButton):
        (WebInspector.SearchController.prototype._populateSearchNavigationButtons):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.toolbar-search-item):
        (#search):
        (#toolbar-search-navigation-control):
        (.toolbar-search-navigation-label):
        (.toolbar-search-navigation-label:hover):
        (.toolbar-search-navigation-icon-prev , .toolbar-search-navigation-icon-next):
        (.toolbar-search-navigation-icon-prev):
        (.toolbar-search-navigation-icon-next):
        * inspector/front-end/inspector.html:

2012-04-20  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: extract NavigatorView and NavigatorOverlayController from ScriptsNavigator.
        https://bugs.webkit.org/show_bug.cgi?id=84441

        Reviewed by Yury Semikhatsky.

        - Moves NavigatorOverlayController out of ScriptsNavigator
        - Extracts NavigatorView from ScriptsNavigator and makes ScriptsNavigator contain 3 NavigatorView instances (one per tab)
        - Subclasses SnippetsNavigatorView and leaves it within ScriptsNavigator.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/NavigatorOverlayController.js: Added.
        (WebInspector.NavigatorOverlayController.prototype.wasShown):
        (WebInspector.NavigatorOverlayController.prototype._createNavigatorControlButton):
        (WebInspector.NavigatorOverlayController.prototype._escDownWhileNavigatorOverlayOpen):
        (WebInspector.NavigatorOverlayController.prototype._toggleNavigator):
        (WebInspector.NavigatorOverlayController.prototype._hidePinnedNavigator):
        (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
        (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
        (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
        (WebInspector.NavigatorOverlayController.prototype._navigatorOverlayWasShown):
        * inspector/front-end/NavigatorView.js: Added.
        (WebInspector.NavigatorView):
        (WebInspector.NavigatorView.prototype._updateScriptTitle.get if):
        (WebInspector.NavigatorView.prototype._updateScriptTitle):
        (WebInspector.NavigatorView.prototype._scriptSelected):
        (WebInspector.NavigatorView.prototype._removeUISourceCode.get while):
        (WebInspector.NavigatorView.prototype._removeUISourceCode):
        (WebInspector.NavigatorView.prototype._showScriptFoldersSettingChanged):
        (WebInspector.NavigatorView.prototype._fileRenamed):
        (WebInspector.NavigatorView.prototype.rename.commitHandler):
        (WebInspector.NavigatorView.prototype.rename.cancelHandler):
        (WebInspector.NavigatorView.prototype.rename.afterEditing):
        (WebInspector.NavigatorView.prototype.reset):
        (WebInspector.NavigatorView.prototype.createFolderTreeElement):
        (WebInspector.NavigatorView.prototype.getOrCreateFolderTreeElement):
        (WebInspector.NavigatorView.prototype.handleContextMenu):
        (WebInspector.NavigatorTreeOutline):
        (WebInspector.NavigatorTreeOutline._treeElementsCompare.compare.typeWeight):
        (WebInspector.NavigatorTreeOutline._treeElementsCompare):
        (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
        (WebInspector.NavigatorTreeOutline.prototype.searchStarted):
        (WebInspector.NavigatorTreeOutline.prototype.searchFinished):
        (WebInspector.BaseNavigatorTreeElement):
        (WebInspector.BaseNavigatorTreeElement.prototype.onattach):
        (WebInspector.BaseNavigatorTreeElement.prototype.onreveal):
        (WebInspector.BaseNavigatorTreeElement.prototype.get titleText):
        (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
        (WebInspector.BaseNavigatorTreeElement.prototype.matchesSearchText):
        (WebInspector.NavigatorFolderTreeElement):
        (WebInspector.NavigatorFolderTreeElement.prototype.get folderIdentifier):
        (WebInspector.NavigatorFolderTreeElement.prototype.get isDomain):
        (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
        (WebInspector.NavigatorScriptTreeElement):
        (WebInspector.NavigatorScriptTreeElement.prototype.get uiSourceCode):
        (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
        (WebInspector.NavigatorScriptTreeElement.prototype.onspace):
        (WebInspector.NavigatorScriptTreeElement.prototype._onclick):
        (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
        (WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        (WebInspector.ScriptsNavigator.prototype.addUISourceCode):
        (WebInspector.ScriptsNavigator.prototype.isScriptSourceAdded):
        (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes):
        (WebInspector.ScriptsNavigator.prototype._scriptSelected):
        (WebInspector.ScriptsNavigator.prototype.reset):
        (WebInspector.SnippetsNavigatorView):
        (WebInspector.SnippetsNavigatorView.prototype.getOrCreateFolderTreeElement):
        (WebInspector.SnippetsNavigatorView.prototype._getOrCreateSnippetEvaluationsFolderTreeElement):
        (WebInspector.SnippetsNavigatorView.prototype.handleContextMenu):
        (WebInspector.SnippetsNavigatorView.prototype._fileRenamed):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/navigatorView.css: Added.
        (.navigator-domain-tree-item .icon):
        (.navigator-folder-tree-item .icon):
        (.navigator-script-tree-item .icon):
        (.navigator li):
        (.navigator :focus li.selected):
        (.navigator li.selected .selection):
        (.navigator :focus li.selected .selection):
        (.navigator .search-match-found li.selected .selection):
        (.navigator .search-match-not-found li.selected .selection):
        (.navigator .searching li.selected .selection):
        (.navigator .icon):
        (.navigator .base-navigator-tree-element-title):
        (.navigator .base-navigator-tree-element-title.editing):
        (.navigator-tree-search-box):
        (.navigator-tree-search-box.visible):
        (.navigator-tree-search-box > input):
        * inspector/front-end/scriptsPanel.css:

2012-04-19  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make ScriptNavigatorController use views only, rename to NavigatorOverlayController.
        https://bugs.webkit.org/show_bug.cgi?id=84352

        Reviewed by Vsevolod Vlasov.

        This change makes navigator controller use view interfaces only. Focus machinery has been refactored in order
        to make it possible: now all view ancestors can either override "focus" or "defaultFocusedElement" method
        with latter method being preferred.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.defaultFocusedElement):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionPanel.prototype.defaultFocusedElement):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.wasShown):
        (WebInspector.Panel.prototype.defaultFocusedElement):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        (WebInspector.NavigatorOverlayController.prototype._hidePinnedNavigator):
        (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
        (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
        (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
        (WebInspector.NavigatorOverlayController.prototype._navigatorOverlayWasShown):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.defaultFocusedElement):
        * inspector/front-end/SidebarOverlay.js:
        (WebInspector.SidebarOverlay.prototype.show):
        (WebInspector.SidebarOverlay.prototype.hide):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.defaultFocusedElement):
        * inspector/front-end/StylesPanel.js:
        (WebInspector.StylesPanel):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer.prototype.get view):
        (WebInspector.TabbedEditorContainer.prototype.get visibleView):
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane):
        (WebInspector.TabbedPane.prototype.defaultFocusedElement):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype.defaultFocusedElement):
        (WebInspector.TextEditorMainPanel.prototype.defaultFocusedElement):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype.defaultFocusedElement):
        * inspector/front-end/View.js:
        (WebInspector.View.prototype._collectViewHierarchy):
        (WebInspector.View.prototype.defaultFocusedElement):
        (WebInspector.View.prototype.setDefaultFocusedElement):
        (WebInspector.View.prototype.focus):

2012-04-20  Sergio Villar Senin  <svillar@igalia.com>

        [GTK] Enable Web Timing
        https://bugs.webkit.org/show_bug.cgi?id=42432

        Reviewed by Gustavo Noronha Silva.

        Added WebTiming support to the GTK+ port. WebTiming allows
        developers to collect detailed network timing information per
        resource. It requires the new SoupMessage's "network-event"
        signal.

        * GNUmakefile.am:
        * bindings/gobject/GNUmakefile.am:
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore):
        (WebCore::restartedCallback):
        (WebCore::sendRequestCallback):
        (WebCore::milisecondsSinceRequest):
        (WebCore::wroteBodyCallback):
        (WebCore::requestStartedCallback):
        (WebCore::networkEventCallback):
        (WebCore::startHTTPRequest):
        (WebCore::ResourceHandle::platformSetDefersLoading):
        (WebCore::ResourceHandle::defaultSession):

2012-04-20  'Pavel Feldman'  <pfeldman@chromium.org>

        Not reviewed: fixed chromium sanity tests for inspector via assigning last path component
        to entire url for parsed urls with invalid specs.

        * inspector/front-end/ResourceUtils.js:
        (WebInspector.ParsedURL):

2012-04-20  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r114401.
        http://trac.webkit.org/changeset/114401
        https://bugs.webkit.org/show_bug.cgi?id=84161

        Chromium crash

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (NativeToJSValue):
        * bindings/scripts/test/V8/V8Float64Array.h:
        (WebCore):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNode.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestObj.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (WebCore::toV8):
        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSRuleCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSValueCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EntryCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EntrySyncCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Float64ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLElementCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8IDBKeyCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8ImageDataCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGElementCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8ScriptProfileCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8StyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::toV8):

2012-04-20  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r114440.
        http://trac.webkit.org/changeset/114440
        https://bugs.webkit.org/show_bug.cgi?id=84173

        Chromium crash

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):

2012-04-20  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r114519.
        http://trac.webkit.org/changeset/114519
        https://bugs.webkit.org/show_bug.cgi?id=84202

        Chromium crash

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        * bindings/scripts/test/V8/V8Float64Array.h:
        (V8Float64Array):
        (WebCore::V8Float64Array::wrap):
        (WebCore):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (V8TestActiveDOMObject):
        (WebCore::V8TestActiveDOMObject::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (V8TestCustomNamedGetter):
        (WebCore::V8TestCustomNamedGetter::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (V8TestEventConstructor):
        (WebCore::V8TestEventConstructor::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (V8TestEventTarget):
        (WebCore::V8TestEventTarget::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (V8TestInterface):
        (WebCore::V8TestInterface::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (V8TestMediaQueryListListener):
        (WebCore::V8TestMediaQueryListListener::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (V8TestNamedConstructor):
        (WebCore::V8TestNamedConstructor::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNode.h:
        (V8TestNode):
        (WebCore::V8TestNode::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):
        (WebCore::V8TestObj::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (V8TestSerializedScriptValueInterface):
        (WebCore::V8TestSerializedScriptValueInterface::wrap):
        (WebCore::toV8):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
        (WebCore::toV8):
        * dom/make_names.pl:
        (printWrapperFactoryCppFile):

2012-04-19  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: replace @type annotation with @return annotation for getters
        https://bugs.webkit.org/show_bug.cgi?id=84362

        Reviewed by Yury Semikhatsky.

        Otherwise, compiler does not check for errors.

        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.SearchView.prototype.get searchConfig):
        * inspector/front-end/BreakpointManager.js:
        * inspector/front-end/NetworkRequest.js:
        (WebInspector.NetworkRequest.prototype.requestContent):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeFrame):
        (WebInspector.ResourceTreeFrame.prototype._navigate):
        * inspector/front-end/ScriptsNavigator.js:
        * inspector/front-end/Settings.js:
        * inspector/front-end/SnippetsModel.js:
        * inspector/front-end/SplitView.js:
        * inspector/front-end/TabbedEditorContainer.js:
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPaneTab):
        * inspector/front-end/TextEditorModel.js:
        * inspector/front-end/TimelinePresentationModel.js:

2012-04-20  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call cacheMetadata directly
        https://bugs.webkit.org/show_bug.cgi?id=84415

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/network/chromium/ResourceHandle.cpp:
        (WebCore::ResourceHandle::cacheMetadata):

2012-04-20  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call stopSharedTimer directly
        https://bugs.webkit.org/show_bug.cgi?id=84418

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/chromium/SharedTimerChromium.cpp:
        (WebCore::stopSharedTimer):

2012-04-20  Taiju Tsuiki  <tzik@chromium.org>

        DOMFileSystem::scheduleCallback() crashes on file() call after reload.
        https://bugs.webkit.org/show_bug.cgi?id=76461

        DOMFileSystem::scheduleCallback() is unavailable when the page in unloading, so we should
        avoid using it in callback.

        Reviewed by David Levin.

        Test: fast/filesystem/file-after-reload-crash.html

        * Modules/filesystem/DOMFileSystem.cpp:
        (WebCore):

2012-04-19  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>

        [EFL] Missing keycode translation for space key
        https://bugs.webkit.org/show_bug.cgi?id=84153

        Reviewed by Antonio Gomes.

        Map space key to Unicode value in createKeyMap(), and also set
        correct keyname 'space' for space key in createWindowsKeyMap().

        Tests: fast/html/details-keyboard-show-hide.html
               fast/forms/button-spacebar-click.html

        * platform/efl/EflKeyboardUtilities.cpp:
        (WebCore::createKeyMap):

2012-04-19  Antaryami Pandia  <antaryami.pandia@motorola.com>

        Inserting empty html moves caret.
        https://bugs.webkit.org/show_bug.cgi?id=71771

        Reviewed by Ryosuke Niwa.

        When we place the cursor in the middle of a text node and try to insert some text
        between, then we split text node. But in this case we have nothing to insert since
        the string to be inserted is empty. So the check for fragments should precedes the
        call to code block containing splitTextNode.

        Test: editing/inserting/insert-empty-html.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):

2012-04-19  Tay Grigg  <tgrigg@rim.com>

        [BlackBerry] Update HTTP connection per host limit in ResourceRequestBlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=84380

        Reviewed by George Staikos.

        Reviewed Internally by: George Rizkalla, Lyon Chen

        Set the limit on the http connection count per host to the default
        of 10000, queue the requests in the networking layer instead,
        this should increase parallelism at the WebKit layer to remove
        any potential bottlenecks.

        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::initializeMaximumHTTPConnectionCountPerHost):

2012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114711.
        http://trac.webkit.org/changeset/114711
        https://bugs.webkit.org/show_bug.cgi?id=84412

        Many tests crash in RenderObject::container() (Requested by
        dimich on #webkit).

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::computeNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
        (WebCore::ScrollingCoordinator::frameViewScrollableAreasDidChange):

2012-04-19  Anders Carlsson  <andersca@apple.com>

        computeNonFastScrollableRegion needs to traverse the entire frame tree
        https://bugs.webkit.org/show_bug.cgi?id=84409
        <rdar://problem/11285741>

        Reviewed by Dan Bernstein.

        Now that scrollable areas won't be in the set of scrollable areas unless they are actually scrollable, we need to look for scrollable
        areas in the entire frame tree since there can be a scrollable frame that's a subframe of a non-scrollable frame for example.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::computeNonFastScrollableRegion):
        Traverse the entire frame tree looking for scrollable areas. Also, remove the scrollability checks because scrollable areas will only be
        in the set if they have scrollbars that are enabled.

        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
        (WebCore::ScrollingCoordinator::frameViewScrollableAreasDidChange):
        computeNonFastScrollableRegion now takes the main frame.

2012-04-19  Anders Carlsson  <andersca@apple.com>

        Focus ring on wikipedia gets blobs when you type
        https://bugs.webkit.org/show_bug.cgi?id=84407
        <rdar://problem/11011847>

        Reviewed by Dan Bernstein.

        Make it possible to override the focus ring visible rect from layer drawing code.

        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):
        Call ThemeMac::setFocusRingClipRect to set the focus ring clip rect while drawing.

        * platform/mac/ThemeMac.h:
        * platform/mac/ThemeMac.mm:
        (-[WebCoreFlippedView _focusRingVisibleRect]):
        If there's an active focus ring visible rect, use it. Otherwise, fall back to the previous behavior
        and just return the view's visible rect.

        (WebCore::ThemeMac::setFocusRingClipRect):
        Update the focus clip rect.

2012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114690.
        http://trac.webkit.org/changeset/114690
        https://bugs.webkit.org/show_bug.cgi?id=84408

        Broke GlueSerializeTest.BackwardsCompatibleTest in Chromium
        test_shell_tests (Requested by dimich on #webkit).

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::restoreScrollPositionAndViewState):

2012-04-19  Andreas Kling  <kling@webkit.org>

        ElementAttributeData should be fast-malloc'd.
        <http://webkit.org/b/84405>

        Reviewed by Antti Koivisto.

        Sprinkle missing WTF_MAKE_FAST_ALLOCATED.

        * dom/ElementAttributeData.h:
        (ElementAttributeData):

2012-04-19  David Barr  <davidbarr@chromium.org>

        REGRESSION(r112177): Numbered list item rendered bulleted
        https://bugs.webkit.org/show_bug.cgi?id=84216

        Reviewed by Ryosuke Niwa.

        Shorthands that imply omitted values cannot be derived from
        an incomplete set of longhand rules.

        No new tests; updated existing tests that should have caught this.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTransformOriginShorthand):
        Set implicit initial for Z when omitted.
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::getShorthandValue):

2012-04-19  Peter Beverloo  <peter@chromium.org>

        [Chromium] Don't compile FontCacheSkia for Android
        https://bugs.webkit.org/show_bug.cgi?id=84392

        Reviewed by Kent Tamura.

        Chromium for the Android platform uses its own FontCacheAndroid
        implementation. Compile errors show up when trying to build the
        content shell.

        * WebCore.gyp/WebCore.gyp:

2012-04-19  Martin Robinson  <mrobinson@igalia.com>

        [Cairo] Remove rgb24-hacks.txt and scale-removal.txt
        https://bugs.webkit.org/show_bug.cgi?id=83475

        Reviewed by Daniel Bates.

        No new tests. This does not change functionality.

        Remove some obsolete patch files for Cairo that were used in some
        very old versions of Safari for Windows.

        * platform/graphics/cairo/rgb24-hacks.txt: Removed.
        * platform/graphics/cairo/scale-removal.txt: Removed.

2012-04-19  Peter Beverloo  <peter@chromium.org>

        Use sqrtf instead of sqrt in CanvasRenderingContext2D.cpp
        https://bugs.webkit.org/show_bug.cgi?id=84403

        Reviewed by Andreas Kling.

        r114679 broke Chromium Win and Android bots due to call
        ambiguity between a double and float argument.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::inflateStrokeRect):

2012-04-19  Alexandre Elias  <aelias@google.com>

        Default to null value for HistoryItem::m_pageScaleFactor
        https://bugs.webkit.org/show_bug.cgi?id=84385

        Reviewed by Nate Chapin.

        Previously, HistoryItem::m_pageScaleFactor defaulted to a value
        of 1, making it impossible to determine whether this value was never
        set, or intentionally set to 1.  This patch introduces a default value
        of 0 and makes restoreScrollPositionAndViewState not touch the page
        scale factor if this value is still present at time of reload.

        This is a no-op change for common navigation scenarios.  The
        motivation for this change is the corner case of syncing history items
        from a desktop browser to a mobile device.  In that case, we need a
        way to specify that the history item does not contain a
        pageScaleFactor so that the mobile device does not display the page
        overly zoomed in.

        No new tests.

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::restoreScrollPositionAndViewState):

2012-04-19  Alexis Menard  <alexis.menard@openbossa.org>

        Unreviewed Qt build warning fix.

        The file editing/StringHelper.h does not exist.

        * Target.pri:

2012-04-19  Daniel Bates  <dbates@webkit.org>

        Remove empty directory Source/WebCore/webaudio

        Changeset 111474 <http://trac.webkit.org/changeset/111474> moved all the files in
        Source/WebCore/webaudio to Source/WebCore/Modules/webaudio. We should remove the
        empty directory Source/WebCore/webaudio.

        * webaudio: Removed.

2012-04-19  Pratik Solanki  <psolanki@apple.com>

        Incorrect inter-caps in “ShouldSkipMetaData” etc.
        https://bugs.webkit.org/show_bug.cgi?id=72159

        Reviewed by Dan Bernstein.

        No new tests since no change in functionality.

        * platform/graphics/ImageSource.h:
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::imageSourceOptions):
        (WebCore::ImageSource::isSizeAvailable):
        (WebCore::ImageSource::frameSizeAtIndex):
        (WebCore::ImageSource::orientationAtIndex):
        (WebCore::ImageSource::getHotSpot):
        (WebCore::ImageSource::repetitionCount):
        (WebCore::ImageSource::createFrameAtIndex):
        (WebCore::ImageSource::frameDurationAtIndex):

2012-04-19  Huang Dongsung  <luxtella@company100.net>

        Canvas more precisely makes the bounding rect for stroke rendering.
        https://bugs.webkit.org/show_bug.cgi?id=75792

        Reviewed by Simon Fraser.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::stroke):
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        (WebCore::CanvasRenderingContext2D::inflateStrokeRect):
        (WebCore):
        * html/canvas/CanvasRenderingContext2D.h:
        (CanvasRenderingContext2D):

2012-04-19  Luke Macpherson  <macpherson@chromium.org>

        Eliminate potential null pointer dereference in CSSStyleSelector::containsUncommonAttributeSelector().
        https://bugs.webkit.org/show_bug.cgi?id=84366

        Reviewed by Kentaro Hara.

        No new tests / code cleanup only.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-04-19  Luke Macpherson  <macpherson@chromium.org>

        Fix null-pointer dereference in ApplyPropertyZoom::applyValue().
        https://bugs.webkit.org/show_bug.cgi?id=84279

        Reviewed by Simon Fraser.

        Test: fast/css/zoom-on-unattached.html

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyZoom::applyValue):

2012-04-19  Luke Macpherson  <macpherson@chromium.org>

        Clean up list iteration in MediaQueryExp constructor (avoid unnecessary calls to current()).
        https://bugs.webkit.org/show_bug.cgi?id=84369

        Reviewed by Simon Fraser.

        No new tests / code cleanup only.

        * css/MediaQueryExp.cpp:
        (WebCore::MediaQueryExp::MediaQueryExp):

2012-04-19  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call signedPublicKeyAndChallengeString directly
        https://bugs.webkit.org/show_bug.cgi?id=84372

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/chromium/SSLKeyGeneratorChromium.cpp:
        (WebCore::signedPublicKeyAndChallengeString):

2012-04-19  Luke Macpherson  <macpherson@chromium.org>

        Remove unnecessary assignment in CSSParser::parseCubicBezierTimingFunctionValue().
        https://bugs.webkit.org/show_bug.cgi?id=84368

        Reviewed by Simon Fraser.

        No new tests / code cleanup only.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):

2012-04-19  Luke Macpherson  <macpherson@chromium.org>

        Initialize all member variables in CSSImageSetValue's copy constructor.
        https://bugs.webkit.org/show_bug.cgi?id=84379

        Reviewed by Simon Fraser.

        No new tests / code cleanup only.

        * css/CSSImageSetValue.cpp:
        (WebCore::CSSImageSetValue::CSSImageSetValue):

2012-04-19  Ken Buchanan  <kenrb@chromium.org>

        Positioned children of ruby runs not handled correctly during layout
        https://bugs.webkit.org/show_bug.cgi?id=84157

        Reviewed by Julien Chaffraix.

        A positioned ruby text causes a problem because it is excluded from
        normal layout by its parent and instead gets layout from
        RenderRubyRun::layoutSpecialExcludedChild; however this means it gets
        skipped over during the loop in RenderBlock::layoutBlockChildren,
        which is where positioned RenderBlocks get added to the appropriate
        positioned object lists. As a result, a dirty positioned ruby text
        will not get layout again unless the RenderRubyRun also needs layout
        which is not guaranteed.

        This patch disqualifies ruby text elements from being positioned.
        If it is necessary to support this in future, ruby text layout will
        have to be modified to ensure the renderers are added to the
        appropriate block lists.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::rubyText):

2012-04-19  vsevik@chromium.org  <vsevik@chromium.org>

        Web Inspector: No response body available for cached resource requests with error status codes.
        https://bugs.webkit.org/show_bug.cgi?id=84265

        Reviewed by Pavel Feldman.

        InspectorResourceAgent now saves failed subresource request response body in its cache.
        Saved data is shown on front-end.

        Test: http/tests/inspector/network/network-image-404.html

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::isErrorStatusCode):
        (WebCore):
        (WebCore::InspectorResourceAgent::didReceiveData):
        * inspector/NetworkResourcesData.cpp:
        (WebCore::NetworkResourcesData::ResourceData::removeContent):
        (WebCore::NetworkResourcesData::ResourceData::purgeContent):
        (WebCore):
        (WebCore::NetworkResourcesData::responseReceived):
        (WebCore::NetworkResourcesData::setResourceContent):
        * inspector/NetworkResourcesData.h:
        (ResourceData):
        (WebCore::NetworkResourcesData::ResourceData::httpStatusCode):
        (WebCore::NetworkResourcesData::ResourceData::setHTTPStatusCode):
        * inspector/front-end/RequestView.js:
        (WebInspector.RequestView.hasTextContent):

2012-04-19  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector / Heap snapshots: "Object's retaining tree" view doesn't get cleared when navigating between objects
        https://bugs.webkit.org/show_bug.cgi?id=84337

        When DataGrid root node is reset, make sure all existing rows are removed.

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid.prototype.setRootNode):

2012-04-19  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=80536
        REGRESSION: When Safari is not frontmost, pages should not get mouse moves or 
        hover

        Reviewed by Adele Peterson.

        This patch just adds some code back that was removed by 
        http://trac.webkit.org/changeset/102632 This particular code was unrelated to that 
        bug and should not have been removed.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent):

2012-04-19  Xianzhu Wang  <wangxianzhu@chromium.org>

        DevTools highlights elements in frames at un-scaled positions
        https://bugs.webkit.org/show_bug.cgi?id=84181

        On mobile platforms (e.g. chromium-android), normally pages are scaled,
        thus the coordinations of highlight rect inside of a frame needs to
        consider not only the offset, but also the scale. The change uses
        FrameView::contentsToRootView() to map the coordinates of a node in
        a frame to the coordinates in the main frame, instead of calculating
        by only the offset.

        Reviewed by Pavel Feldman.

        Test: inspector/elements/highlight-node-scaled.html

        * inspector/DOMNodeHighlighter.cpp:

2012-04-19  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector / Heap snapshots: "Objects allocated ..." views are empty
        https://bugs.webkit.org/show_bug.cgi?id=84347

        Pass parsed maxJSObjectId value to the profile header constructor.

        Reviewed by Pavel Feldman.

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileHeader):
        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
        (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):

2012-04-19  Brady Eidson  <beidson@apple.com>

        <rdar://problem/10664148> and https://bugs.webkit.org/show_bug.cgi?id=84360 
        StorageThread should have an autorelease pool in place for Cocoa clients
        
        Reviewed by Eric Carlson.

        No new tests. (Not practical to test this with current tools)

        * storage/StorageThread.cpp:
        (WebCore::StorageThread::threadEntryPoint): Include an AutodrainedPool and cycle it after each message.

2012-04-19  Luke Macpherson  <macpherson@chromium.org>

        Fix potential null pointer dereference in RuleSet::addRulesFromSheet().
        https://bugs.webkit.org/show_bug.cgi?id=84258

        Reviewed by Andreas Kling.

        Fix variable that is dereferenced without null check here, but checked in code above and below.

        No new test / code cleanup from coverity analysis.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-04-19  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: exception when hovering object while paused
        https://bugs.webkit.org/show_bug.cgi?id=84358

        Added missing boolean parameter to the call site of evaluate method
        on call frame.

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/AdvancedSearchController.js:
        * inspector/front-end/DebuggerPresentationModel.js: annotated slectedCallFrame
        method so that closure compiler catches errors like in the bug report.
        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):

2012-04-19  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: nodes are not removed from the summary view when switching between allocation ranges
        https://bugs.webkit.org/show_bug.cgi?id=84354

        Clear all top level nodes not only those visible in the viewport when populating
        the constructors view with new content.

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.topLevelNodes):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype.topLevelNodes):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype.removeTopLevelNodes):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):

2012-04-19  Sami Kyostila  <skyostil@chromium.org>

        [chromium] Allow scrolling non-root layers in the compositor thread
        https://bugs.webkit.org/show_bug.cgi?id=73350

        Reviewed by James Robinson.

        This patch enables scrolling child layers in the compositor thread.
        Scroll deltas are accumulated for each scrolled CCLayerImpl and
        synchronized to the main thread.

        If a layer has no room to scroll in a given direction, one of its
        ancestor layers is scrolled instead if possible.

        Added new webkit_unit_tests to verify scrolling behavior.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::scrollBy):
        (WebCore):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (ContentLayerDelegate):
        (ContentLayerChromium):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore::GraphicsLayerChromium::didScroll):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setMaxScrollPosition):
        (WebCore):
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        (WebCore::LayerChromium::maxScrollPosition):
        (WebCore::LayerChromium::scrollable):
        (WebCore::LayerChromium::scrollBy):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::findLayerInSubtree):
        (WebCore):
        (WebCore::CCLayerImpl::tryScroll):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::findLayerById):
        (WebCore):
        (WebCore::findFirstScrollableLayer):
        (WebCore::CCLayerTreeHost::applyScrollAndScale):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
        (WebCore::CCLayerTreeHostImpl::contentSize):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::calculateVisibleLayers):
        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
        (WebCore::findRootScrollLayer):
        (WebCore::findScrollLayerForContentLayer):
        (WebCore::CCLayerTreeHostImpl::setRootLayer):
        (WebCore::adjustScrollsForPageScaleChange):
        (WebCore::applyPageScaleDeltaToScrollLayers):
        (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
        (WebCore::CCLayerTreeHostImpl::setPageScaleDelta):
        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
        (WebCore::CCLayerTreeHostImpl::scrollBegin):
        (WebCore::CCLayerTreeHostImpl::scrollBy):
        (WebCore::CCLayerTreeHostImpl::scrollEnd):
        (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
        (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
        (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
        (WebCore::collectScrollDeltas):
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
        (WebCore::CCLayerTreeHostImpl::animatePageScale):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore::CCLayerTreeHostImpl::rootScrollLayer):
        (CCLayerTreeHostImpl):
        (LayerGeometry):

2012-04-19  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: make constructors and diff heap snapshot data grids use viewport
        https://bugs.webkit.org/show_bug.cgi?id=84348

        HeapSnapshotViewportDataGrid is introduced which allows to add to the tbody only
        visible rows. HeapSnapshotConstructorsDataGrid and HeapSnapshotDiffDataGrid are
        inherited from this class which makes them operate well on large amounts of nodes.

        Reviewed by Pavel Feldman.

        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGridNode.prototype.nodeHeight):
        (WebInspector.DataGridNode.prototype._attach):
        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotSortableDataGrid):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.nodesForNameFilter):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.appendChildAfterSorting):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
        (WebInspector.HeapSnapshotViewportDataGrid):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype.nodesForNameFilter):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype.appendChildAfterSorting):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype.updateVisibleNodes):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype.appendTopLevelNode):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype._addPaddingRows):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype._removePaddingRows):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype.onResize):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype._onScroll):
        (WebInspector.HeapSnapshotPaddingNode):
        (WebInspector.HeapSnapshotPaddingNode.prototype.setHeight):
        (WebInspector.HeapSnapshotPaddingNode.prototype.removeFromTable):
        (WebInspector.HeapSnapshotConstructorsDataGrid):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
        (WebInspector.HeapSnapshotDiffDataGrid):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode):
        (WebInspector.HeapSnapshotGridNode.prototype.collapse):
        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
        (WebInspector.HeapSnapshotGridNode.prototype.sort):
        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
        (WebInspector.HeapSnapshotConstructorNode):
        (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
        (WebInspector.HeapSnapshotDiffNode):
        (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotDiffNode.prototype.comparator):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator):
        * inspector/front-end/ShowMoreDataGridNode.js:
        (WebInspector.ShowMoreDataGridNode.prototype.createCells):
        (WebInspector.ShowMoreDataGridNode.prototype.nodeHeight):

2012-04-19  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r114421.
        http://trac.webkit.org/changeset/114421
        https://bugs.webkit.org/show_bug.cgi?id=84103

        Chromium crash

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateFunctionCallString):
        (NativeToJSValue):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
        (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
        (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
        (WebCore::TestObjV8Internal::stringAttrAttrGetter):
        (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
        (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
        (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
        (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
        (WebCore::TestObjV8Internal::hashAttrGetter):
        (WebCore::TestObjV8Internal::conditionalMethod1Callback):
        * bindings/v8/V8Binding.cpp:
        (WebCore::getElementStringAttr):
        * bindings/v8/V8Binding.h:
        (WebCore::v8ExternalString):
        (WebCore::v8String):
        (WebCore::v8StringOrNull):
        (WebCore::v8StringOrUndefined):
        (WebCore::v8StringOrFalse):

2012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114626.
        http://trac.webkit.org/changeset/114626
        https://bugs.webkit.org/show_bug.cgi?id=84349

        caused new assertions in debug builds (Requested by smfr_ on
        #webkit).

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveData):
        * inspector/NetworkResourcesData.cpp:
        (WebCore::NetworkResourcesData::responseReceived):
        * inspector/NetworkResourcesData.h:
        (ResourceData):
        (NetworkResourcesData):
        * inspector/front-end/RequestView.js:
        (WebInspector.RequestView.hasTextContent):

2012-04-19  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call mimeRegistry directly
        https://bugs.webkit.org/show_bug.cgi?id=84334

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/MIMETypeRegistryChromium.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-19  Victor Carbune  <vcarbune@adobe.com>

        Display a TextTrackCue when snap-to-lines flag is not set
        https://bugs.webkit.org/show_bug.cgi?id=79750

        Reviewed by Eric Carlson.

        Support for positioning of a cue on top of the video element when snap-to-lines is not set.

        Test: media/track/track-cue-rendering-snap-to-lines-not-set.html

        * css/mediaControls.css:
        (video::-webkit-media-text-track-container): Marked the container as
        flexible box in order to use all the available space on top of the controls.
        (video::-webkit-media-text-track-background): Added background default settings.
        (video::-webkit-media-text-track-display): Added default position.
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Updated comments.
        * html/track/TextTrackCue.cpp:
        (WebCore):
        (WebCore::TextTrackCue::TextTrackCue): Updated constructor to calculate
        the computed line position.
        (WebCore::TextTrackCue::setLine): Updated call to calculate the computed line
        position.
        (WebCore::TextTrackCue::setPosition):
        (WebCore::TextTrackCue::calculateComputedLinePosition): Partial calculation of the
        computated line position.
        (WebCore::TextTrackCue::calculateDisplayParameters): Updated display parameter computations
        required by the spec.
        (WebCore::TextTrackCue::getDisplayTree): Updated positioning attributes when snap-to-lines
        is not set. Added extra anonymous box for background, because setting position:absolute
        on the display tree determines the background to cover the whole block, not just inline.
        (WebCore::TextTrackCue::getPositionCoordinates): Determine coordinates as required by the spec.
        * html/track/TextTrackCue.h:
        (TextTrackCue):

2012-04-19  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: introduce styles panel as an experiment
        https://bugs.webkit.org/show_bug.cgi?id=84331

        Reviewed by Vsevolod Vlasov.

        This change introduces new "Styles" panel that looks like the "Scripts" one,
        but operates stylesheets. This is happening under the experimental flag.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.showAnchorLocation):
        * inspector/front-end/ResourceView.js:
        (WebInspector.EditableResourceSourceFrame.prototype.didEditContent):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown):
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._clearLineHighlight):
        * inspector/front-end/StylesPanel.js: Added.
        (WebInspector.StylesPanel):
        (WebInspector.StylesPanel.prototype.wasShown):
        (WebInspector.StylesPanel.prototype._initialize):
        (WebInspector.StylesPanel.prototype._populateResourceTree.populateFrame):
        (WebInspector.StylesPanel.prototype._populateResourceTree):
        (WebInspector.StylesPanel.prototype._resourceAdded):
        (WebInspector.StylesPanel.prototype._reset):
        (WebInspector.StylesPanel.prototype._cachedResourcesLoaded):
        (WebInspector.StylesPanel.prototype.get toolbarItemLabel):
        (WebInspector.StylesPanel.prototype.viewForFile.get if):
        (WebInspector.StylesPanel.prototype.viewForFile):
        (WebInspector.StylesPanel.prototype._textEdited):
        (WebInspector.StylesPanel.prototype._scriptSelected):
        (WebInspector.StylesPanel.prototype._showFile):
        (WebInspector.StylesPanel.prototype.canShowAnchorLocation):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):
        (WebInspector._showAnchorLocationInPanel):
        * inspector/front-end/scriptsPanel.css:
        * inspector/front-end/splitView.css:
        (.sidebar-overlay):

2012-04-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Follow up to r114632: build fix.

        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):

2012-04-19  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call sampleGamepads directly
        https://bugs.webkit.org/show_bug.cgi?id=84339

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/GamepadsChromium.cpp:
        (WebCore::sampleGamepads):
        * platform/chromium/PlatformSupport.h:
        (WebCore):
        (PlatformSupport):

2012-04-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: x-frame security errors logged when typing in the console are annoying.
        https://bugs.webkit.org/show_bug.cgi?id=81970

        Reviewed by Pavel Feldman.

        Parameter DoNotPauseOnExceptions in Runtime.evaluate() renamed to DoNotPauseOnExceptionsAndMuteConsole.
        Added this parameter to Runtime.callFunctionOn() and passed true in all call sites.
        Added this parameter to Debugger.evaluateOnCallFrame().
        Added a flag to console that mutes all messages unless they have ConsoleAPI message source.
        This flag is now temporarily set from InspectorRuntimeAgent and InspectorDebuggerAgent for certain injected source calls.

        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::asBool):
        (WebCore):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore):
        (WebCore::setPauseOnExceptionsState):
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::callFunctionOn):
        (WebCore::InspectorRuntimeAgent::getProperties):
        * inspector/InspectorRuntimeAgent.h:
        (InspectorRuntimeAgent):
        * inspector/PageDebuggerAgent.cpp:
        (WebCore::PageDebuggerAgent::muteConsole):
        (WebCore):
        (WebCore::PageDebuggerAgent::unmuteConsole):
        * inspector/PageDebuggerAgent.h:
        (PageDebuggerAgent):
        * inspector/PageRuntimeAgent.cpp:
        (WebCore::PageRuntimeAgent::muteConsole):
        (WebCore):
        (WebCore::PageRuntimeAgent::unmuteConsole):
        * inspector/PageRuntimeAgent.h:
        (PageRuntimeAgent):
        * inspector/WorkerDebuggerAgent.cpp:
        (WebCore::WorkerDebuggerAgent::muteConsole):
        (WebCore):
        (WebCore::WorkerDebuggerAgent::unmuteConsole):
        * inspector/WorkerDebuggerAgent.h:
        (WorkerDebuggerAgent):
        * inspector/WorkerRuntimeAgent.cpp:
        (WebCore::WorkerRuntimeAgent::muteConsole):
        (WebCore):
        (WebCore::WorkerRuntimeAgent::unmuteConsole):
        * inspector/WorkerRuntimeAgent.h:
        (WorkerRuntimeAgent):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
        (WebInspector.PresentationCallFrame.prototype.evaluate):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.setPropertyValue):
        (WebInspector.RemoteObject.prototype.callFunction):
        (WebInspector.RemoteObject.prototype.callFunctionJSON):
        * inspector/front-end/WorkerManager.js:
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        (WebCore::Console::warn):
        (WebCore):
        (WebCore::Console::mute):
        (WebCore::Console::unmute):
        * page/Console.h:
        (Console):

2012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114628.
        http://trac.webkit.org/changeset/114628
        https://bugs.webkit.org/show_bug.cgi?id=84341

        Breaks EFL and GTK builds (Requested by pfeldman on #webkit).

        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::callFunctionOn):
        (WebCore::InspectorRuntimeAgent::getProperties):
        * inspector/InspectorRuntimeAgent.h:
        (InspectorRuntimeAgent):
        * inspector/PageDebuggerAgent.cpp:
        * inspector/PageDebuggerAgent.h:
        (PageDebuggerAgent):
        * inspector/PageRuntimeAgent.cpp:
        * inspector/PageRuntimeAgent.h:
        (PageRuntimeAgent):
        * inspector/WorkerDebuggerAgent.cpp:
        * inspector/WorkerDebuggerAgent.h:
        (WorkerDebuggerAgent):
        * inspector/WorkerRuntimeAgent.cpp:
        * inspector/WorkerRuntimeAgent.h:
        (WorkerRuntimeAgent):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
        (WebInspector.PresentationCallFrame.prototype.evaluate):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.setPropertyValue):
        (WebInspector.RemoteObject.prototype.callFunction):
        (WebInspector.RemoteObject.prototype.callFunctionJSON):
        * inspector/front-end/WorkerManager.js:
        * page/Console.cpp:
        (WebCore):
        (WebCore::Console::addMessage):
        (WebCore::Console::warn):
        * page/Console.h:
        (Console):

2012-04-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: x-frame security errors logged when typing in the console are annoying.
        https://bugs.webkit.org/show_bug.cgi?id=81970

        Reviewed by Pavel Feldman.

        Parameter DoNotPauseOnExceptions in Runtime.evaluate() renamed to DoNotPauseOnExceptionsAndMuteConsole.
        Added this parameter to Runtime.callFunctionOn() and passed true in all call sites.
        Added this parameter to Debugger.evaluateOnCallFrame().
        Added a flag to console that mutes all messages unless they have ConsoleAPI message source.
        This flag is now temporarily set from InspectorRuntimeAgent and InspectorDebuggerAgent for certain injected source calls.

        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::asBool):
        (WebCore):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore):
        (WebCore::setPauseOnExceptionsState):
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::callFunctionOn):
        (WebCore::InspectorRuntimeAgent::getProperties):
        * inspector/InspectorRuntimeAgent.h:
        (InspectorRuntimeAgent):
        * inspector/PageDebuggerAgent.cpp:
        (WebCore::PageDebuggerAgent::muteConsole):
        (WebCore):
        (WebCore::PageDebuggerAgent::unmuteConsole):
        * inspector/PageDebuggerAgent.h:
        (PageDebuggerAgent):
        * inspector/PageRuntimeAgent.cpp:
        (WebCore::PageRuntimeAgent::muteConsole):
        (WebCore):
        (WebCore::PageRuntimeAgent::unmuteConsole):
        * inspector/PageRuntimeAgent.h:
        (PageRuntimeAgent):
        * inspector/WorkerDebuggerAgent.cpp:
        (WebCore::WorkerDebuggerAgent::muteConsole):
        (WebCore):
        (WebCore::WorkerDebuggerAgent::unmuteConsole):
        * inspector/WorkerDebuggerAgent.h:
        (WorkerDebuggerAgent):
        * inspector/WorkerRuntimeAgent.cpp:
        (WebCore::WorkerRuntimeAgent::muteConsole):
        (WebCore):
        (WebCore::WorkerRuntimeAgent::unmuteConsole):
        * inspector/WorkerRuntimeAgent.h:
        (WorkerRuntimeAgent):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
        (WebInspector.PresentationCallFrame.prototype.evaluate):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.setPropertyValue):
        (WebInspector.RemoteObject.prototype.callFunction):
        (WebInspector.RemoteObject.prototype.callFunctionJSON):
        * inspector/front-end/WorkerManager.js:
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        (WebCore::Console::warn):
        (WebCore):
        (WebCore::Console::mute):
        (WebCore::Console::unmute):
        * page/Console.h:
        (Console):

2012-04-19  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt] Fix Qt-Mac build after libxml patch
        https://bugs.webkit.org/show_bug.cgi?id=84313

        Use direct include/library paths instead of PKGCONFIG when on Mac.

        Reviewed by Simon Hausmann.

        No new tests, build fix.

        * WebCore.pri:

2012-04-18  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: No response body available for cached resource requests with error status codes.
        https://bugs.webkit.org/show_bug.cgi?id=84265

        Reviewed by Pavel Feldman.

        InspectorResourceAgent now saves failed subresource request response body in its cache.
        Saved data is shown on front-end.

        Test: http/tests/inspector/network/network-image-404.html

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveData):
        * inspector/NetworkResourcesData.cpp:
        (WebCore::NetworkResourcesData::responseReceived):
        (WebCore::NetworkResourcesData::httpStatusCode):
        (WebCore):
        * inspector/NetworkResourcesData.h:
        (WebCore::NetworkResourcesData::ResourceData::httpStatusCode):
        (WebCore::NetworkResourcesData::ResourceData::setHTTPStatusCode):
        (ResourceData):
        (NetworkResourcesData):
        * inspector/front-end/RequestView.js:
        (WebInspector.RequestView.hasTextContent):

2012-04-19  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: reuse ParsedUrl in the UISourceCode
        https://bugs.webkit.org/show_bug.cgi?id=84326

        Reviewed by Yury Semikhatsky.

        Migrated UISourceCode to ParsedURL, moved the displayName logic into its only client:
        TabbedEditorContainer.

        * inspector/front-end/CompilerScriptMapping.js:
        (WebInspector.SourceMapParser.prototype._canonicalizeURL):
        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
        (WebInspector.OpenResourceDialog.compareFunction):
        (WebInspector.OpenResourceDialog):
        (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
        (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
        * inspector/front-end/ResourceUtils.js:
        (WebInspector.ParsedURL):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype._getOrCreateFolderTreeElement):
        (WebInspector.NavigatorFolderTreeElement):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer.prototype._titleForFile):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):
        (WebInspector.UISourceCode.prototype.get parsedURL):

2012-04-19  Xingnan Wang  <xingnan.wang@intel.com>

        Optimize for DARWIN in DirectConvolver::process()
        https://bugs.webkit.org/show_bug.cgi?id=80256

        Reviewed by Chris Rogers.

        * platform/audio/DirectConvolver.cpp:
        (WebCore::DirectConvolver::process):

2012-04-18  Noel Gordon  <noel.gordon@gmail.com>

        [CG] ImageBuffer::toDataURL: Remove alpha stuffing loop when encoding to JPEG
        https://bugs.webkit.org/show_bug.cgi?id=84319

        Reviewed by Eric Seidel.

        No change in behavior. Covered by existing canvas 2d and 3d tests:

          canvas/philip/tests/toDataURL.jpeg.alpha.html
          fast/canvas/webgl/premultiplyalpha-test.html

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::toDataURL): Remove the alpha stuffing loop and instead,
        make JPEG encoder ignore the alpha channel (kCGImageAlphaNoneSkipLast).

2012-04-18  Emil A Eklund  <eae@chromium.org>

        Remove unnecessary rounding/conversions in RenderBoxModelObject
        https://bugs.webkit.org/show_bug.cgi?id=84288

        Reviewed by Eric Seidel.

        No new tests, no change in functionality.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        Remove unnecessary pixelSnapping logic and casts in paintBoxShadow as
        shadow rects are now int based.

2012-04-18  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Parsed Cookie's m_hasDefaultDomain is not needed.
        https://bugs.webkit.org/show_bug.cgi?id=82830

        Reviewed by George Staikos.

        RFC 2965
        3.2.2
        Domain = value
        If an explicitly specified value does not start with a dot, the user agent supplies
        a leading dot.
        3.3.1
        Domain  Defaults to the effective request-host.  (Note that because there is no dot
        at the beginning of effective request-host, the default Domain can only domain-match
        itself.)

        The first char can show the difference even though it is from the cookie database.
        But m_hasDefaultDomain is set to false if the cookie is from database although the
        domain is host as a default value. So m_hasDefaultDomain sometimes is wrong.

        In sum,  we shouldn't use m_hasDefaultDomain.

        Test: http/tests/security/cookies/cookies-wrong-domain-rejected.php

        * platform/blackberry/CookieManager.cpp:
        (WebCore::CookieManager::shouldRejectForSecurityReason):
        * platform/blackberry/CookieParser.cpp:
        (WebCore::CookieParser::parseOneCookie):
        * platform/blackberry/ParsedCookie.cpp:
        (WebCore::ParsedCookie::ParsedCookie):
        * platform/blackberry/ParsedCookie.h:
        (ParsedCookie):

2012-04-18  Adrienne Walker  <enne@google.com>

        [chromium] Consolidate adjustTextRenderMode copypasta into Skia context
        https://bugs.webkit.org/show_bug.cgi?id=83840

        Reviewed by James Robinson.

        The same logic to decide when to make text use LCD rendering is copy
        and pasted in all the different font classes. It seems like this
        should live in a single place.

        * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/skia/FontSkia.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::adjustTextRenderMode):
        (WebCore):
        (WebCore::PlatformContextSkia::couldUseLCDRenderedText):
        * platform/graphics/skia/PlatformContextSkia.h:
        (PlatformContextSkia):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::setupPaintForFont):

2012-04-18  Hironori Bono  <hbono@chromium.org>

        Split SpellChecker::didCheck() to SpellChecker::didCheckSucceeded() and SpellChecker::didCheckCanceled()
        https://bugs.webkit.org/show_bug.cgi?id=83748

        Reviewed by Ryosuke Niwa.

        The current SpellChecker::didCheck() does not delete existing markers. It causes
        a problem that it leaves misspelled markers when a spellchecker client finishes
        checking text successfully. This change splits this function to didCheckSucceeded()
        and  didCheckCanceled() so the SpellChecker class can delete existing markers
        when its client finishes checking text successfully. (We do not have to erase
        existing markers when the client needs to cancel a text-check request.)

        Test: platform/chromium/editing/spelling/delete-misspelled-word.html

        * WebCore.exp.in: Replaced SpellChecker::didCheck with SpellChecker::didCheckSucceeded.
        * editing/SpellChecker.cpp:
        (WebCore::SpellChecker::didCheckSucceeded): Added.
        (WebCore):
        (WebCore::SpellChecker::didCheckCanceled): Added.
        * editing/SpellChecker.h:
        (SpellChecker): Added didCheckSucceeded and didCheckCanceled. Also changed didCheck to a private function.

2012-04-16  James Robinson  <jamesr@chromium.org>

        [chromium] Convert WebPluginContainerImpl over to use WebExternalTextureLayer
        https://bugs.webkit.org/show_bug.cgi?id=84120

        Reviewed by Adrienne Walker.

        This renames PluginLayerChromium -> TextureLayerChromium since it is now used only as the implementation of
        WebExternalTextureLayer and cleans it up slightly.

        * WebCore.gypi:
        * platform/graphics/chromium/TextureLayerChromium.cpp: Renamed from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp.
        (WebCore):
        (WebCore::TextureLayerChromium::create):
        (WebCore::TextureLayerChromium::TextureLayerChromium):
        (WebCore::TextureLayerChromium::createCCLayerImpl):
        (WebCore::TextureLayerChromium::drawsContent):
        (WebCore::TextureLayerChromium::setTextureId):
        (WebCore::TextureLayerChromium::setFlipped):
        (WebCore::TextureLayerChromium::setUVRect):
        (WebCore::TextureLayerChromium::setIOSurfaceProperties):
        (WebCore::TextureLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/TextureLayerChromium.h: Renamed from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
        (WebCore):
        (TextureLayerChromium):
        (WebCore::TextureLayerChromium::flipped):
        (WebCore::TextureLayerChromium::uvRect):

2012-04-18  Raymond Toy  <rtoy@google.com>

        Expose attack, release as DynamicsCompressorNode's attributes.
        https://bugs.webkit.org/show_bug.cgi?id=81221

        Reviewed by Chris Rogers.

        * Modules/webaudio/DynamicsCompressorNode.cpp:
        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
        (WebCore::DynamicsCompressorNode::process):
        * Modules/webaudio/DynamicsCompressorNode.h:
        (WebCore::DynamicsCompressorNode::attack):
        (WebCore::DynamicsCompressorNode::releaseTime):
        (DynamicsCompressorNode):
        * Modules/webaudio/DynamicsCompressorNode.idl: Add attack and
        release attributes.
        * bindings/scripts/CodeGeneratorObjC.pm:
        (SkipAttribute): Skip release()
        (GenerateHeader): Call SkipAttribute for getters/setters.
        * platform/audio/DynamicsCompressor.h:
        (DynamicsCompressor):

2012-04-18  Dana Jansens  <danakj@chromium.org>

        [chromium] Simplify occlusion tracker API by passing layer iterator data
        https://bugs.webkit.org/show_bug.cgi?id=84088

        Reviewed by Adrienne Walker.

        Previously three methods lived in the API and you needed to call the
        appropriate method (with different amounts of data) depending on what
        the current layer iterator was representing.

        This makes usage of the occlusion tracker simpler to read and harder
        to mess up, by just passing in the layer iterator at each step of the
        iteration process.

        Covered by existing tests.

        * platform/graphics/chromium/cc/CCLayerIterator.h:
        (WebCore):
        (CCLayerIteratorPosition):
        (CCLayerIterator):
        (WebCore::CCLayerIterator::operator const CCLayerIteratorPosition<LayerType>):
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::opaqueRegionInLayerRect):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::::enterLayer):
        (WebCore):
        (WebCore::::leaveLayer):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
        (CCOcclusionTrackerBase):

2012-04-18  James Robinson  <jamesr@chromium.org>

        [chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress initialization before our surface is available
        https://bugs.webkit.org/show_bug.cgi?id=84301

        Reviewed by Adrienne Walker.

        If our composited surface isn't ready yet, then the compositor may initialize in a state where the first
        makeContextCurrent() fails. This adds a new state to the scheduler that we can use to suppress initialization
        until we get notified that the surface is ready. I'll add the plumbing for actually notifying in a follow-up.

        Updated CCSchedulerTest / CCSchedulerStateMachineTest unit tests.

        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::setCanBeginFrame):
        (WebCore):
        * platform/graphics/chromium/cc/CCScheduler.h:
        (CCScheduler):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
        (WebCore::CCSchedulerStateMachine::nextAction):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
        (WebCore::CCSchedulerStateMachine::setCanBeginFrame):
        (CCSchedulerStateMachine):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::initializeImplOnImplThread):

2012-04-18  David Reveman  <reveman@chromium.org>

        [Chromium] Solid color layers should respect opacity value.
        https://bugs.webkit.org/show_bug.cgi?id=84197

        Reviewed by Adrienne Walker.

        Fold opacity into shader color for solid color layers.

        Test: CCSolidColorLayerImplTest.verifyCorrectOpacityInQuad

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawSolidColorQuad):

2012-04-18  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Call prefetchDNS directly
        https://bugs.webkit.org/show_bug.cgi?id=84262

        Reviewed by Kentaro Hara.

        Part of a series, see tracking bug 82948.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/network/chromium/DNSChromium.cpp:
        (WebCore::prefetchDNS):

2012-04-18  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION(102040): Auto-table layout with percent width doesn't shrink-to-fit content a cell with colspan
        https://bugs.webkit.org/show_bug.cgi?id=84260

        Reviewed by Ojan Vafai.

        Tests: fast/table/td-width-fifty-percent-regression-expected.html
               fast/table/td-width-fifty-percent-regression.html

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
        As we are spreading the cell's min / max logical width, we should be updating them.
        This prevents the following logic getting confused and allocating more than needed.

2012-04-18  Justin Schuh  <jschuh@chromium.org>

        Win8 builds usually fail due to cygwin rebasing
        https://bugs.webkit.org/show_bug.cgi?id=84274

        Reviewed by Dirk Pranke.

        Cygwin can fail to spawn children if the DLL is rebased. This happens
        frequently enough on Windows 8 that we should retry on failure.

        No new tests. No behavior changed.

        * bindings/scripts/preprocessor.pm:
        (applyPreprocessor):

2012-04-18  Levi Weintraub  <leviw@chromium.org>

        Add explicit template instantiation to chromium/PopupListBox.cpp to prepare for sub-pixel layout
        https://bugs.webkit.org/show_bug.cgi?id=84264

        Reviewed by Eric Seidel.

        Explicitly instantiating integer max and min templates to fix compilation in Chromium. We
        intentionally truncated these values in platform code, which matches earlier behavior.
        See https://trac.webkit.org/wiki/LayoutUnit for details.

        No new tests. No change in behavior.

        * platform/chromium/PopupListBox.cpp:
        (WebCore::PopupListBox::paintRow):
        (WebCore::PopupListBox::layout):

2012-04-18  Luke Macpherson  <macpherson@chromium.org>

        Prevent potential null pointer dereference in CSSStyleSelector::applyProperty().
        https://bugs.webkit.org/show_bug.cgi?id=84267

        Reviewed by Kentaro Hara.

        No new tests / code cleanup found via static analysis.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-04-18  Luke Macpherson  <macpherson@chromium.org>

        Prevent switch case fallthrough in StylePropertySet::getPropertyValue().
        https://bugs.webkit.org/show_bug.cgi?id=84266

        Reviewed by Kentaro Hara.

        No new tests / code cleanup found by static analysis.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::getPropertyValue):

2012-04-18  Andreas Kling  <kling@webkit.org>

        CSSValuePool: Make numeric value caches fixed-size arrays.
        <http://webkit.org/b/84268>

        Reviewed by Antti Koivisto.

        Change the numeric CSSPrimitiveValue caches in CSSValuePool from HashMaps to
        fixed-size arrays of RefPtr<CSSPrimitiveValue>s.

        This is more space efficient and doesn't incur the cost of a hash lookup every
        time a numeric CSSPrimitiveValue is needed. We retain the limit of caching
        only values between 0-255 for now.

        * css/CSSValuePool.cpp:
        (WebCore::CSSValuePool::CSSValuePool):
        (WebCore::CSSValuePool::createValue):
        * css/CSSValuePool.h:
        (CSSValuePool):

2012-04-18  Dana Jansens  <danakj@chromium.org>

        [chromium] Rename overdraw histograms so we can use field trials in histograms.xml
        https://bugs.webkit.org/show_bug.cgi?id=83500

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
        (WebCore::CCOverdrawMetrics::recordMetricsInternal):

2012-04-18  David Reveman  <reveman@chromium.org>

        [Chromium] Solid color shader should use premultiplied alpha.
        https://bugs.webkit.org/show_bug.cgi?id=84215

        Reviewed by Adrienne Walker.

        For efficiency and consistency, expect premultiplied alpha in
        solid color shader.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawDebugBorderQuad):
        (WebCore::LayerRendererChromium::drawSolidColorQuad):
        * platform/graphics/chromium/ShaderChromium.cpp:
        (WebCore::FragmentShaderColor::getShaderString):

2012-04-18  Alexey Proskuryakov  <ap@apple.com>

        [WK2] Sandbox violations prevent attaching files to gmail messages
        https://bugs.webkit.org/show_bug.cgi?id=84263
        <rdar://problem/11248260>

        Reviewed by Oliver Hunt.

        * page/DragActions.h: Removed the newly added upload action. We cannot know if or when an
        upload is going to happen - a drop even listener can always get a reference to a File object,
        and upload it with XMLHttpRequest.

        * page/DragController.cpp: (WebCore::DragController::concludeEditDrag): Removed a separate
        willPerformDragDestinationAction call for upload action - ther is nothing we'd want to only
        do when dropping on a file upload button.

2012-04-18  Levi Weintraub  <leviw@chromium.org>

        GraphicsContextCG's roundToDevicePixels should round even when there's no transform
        https://bugs.webkit.org/show_bug.cgi?id=84191

        Reviewed by Eric Seidel.

        When painting with the identify transform, the roundToDevicePixels function in GraphicsContextCG
        does an early return that simply returns the FloatRect that was passed in. This proved to be a
        problem in sub-pixel layout, as we wouldn't adjust the paint rect for text underline, and it could
        end up being more than one pixel wide. Adding a roundedIntRect method on FloatRect for the simple
        short-circuit case.

        No new tests. No change in behavior before switching to sub-pixel layout.

        * platform/graphics/FloatRect.cpp:
        (WebCore::roundedIntRect):
        * platform/graphics/FloatRect.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels):

2012-04-18  Keishi Hattori  <keishi@webkit.org>

        [chromium] Turn on ENABLE_DATALIST for chromium
        https://bugs.webkit.org/show_bug.cgi?id=84118

        Reviewed by Kent Tamura.

        * html/HTMLDataListElement.cpp: Touched to avoid build issues. No code change.
        * html/HTMLDataListElement.h: Ditto.
        * html/HTMLInputElement.cpp: Ditto.
        * html/HTMLInputElement.h: Ditto.

2012-04-18  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [Qt] WheelEventQt.cpp should be deleted.
        https://bugs.webkit.org/show_bug.cgi?id=84237

        Reviewed by Simon Hausmann.

        * platform/qt/WheelEventQt.cpp: Removed.

2012-04-18  Emil A Eklund  <eae@chromium.org>

        Unreviewed. Adding FIXME comment to FractionalLayoutUnit explaining the lack of size_t operators.

        * platform/FractionalLayoutUnit.h:
        (FractionalLayoutUnit):

2012-04-18  Benjamin Poulain  <bpoulain@apple.com>

        Remove m_subclassData from JSArray, move the attribute to subclass as needed
        https://bugs.webkit.org/show_bug.cgi?id=84249

        Reviewed by Geoffrey Garen.

        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::RuntimeArray):
        (JSC::RuntimeArray::finishCreation):
        * bridge/runtime_array.h:
        (JSC::RuntimeArray::getLength):
        (JSC::RuntimeArray::getConcreteArray):
        (RuntimeArray):

2012-04-18  Luiz Agostini  <luiz.agostini@palm.com>

        matchMedia() MediaQueryList not updating
        https://bugs.webkit.org/show_bug.cgi?id=75903

        Reviewed by Antti Koivisto.

        Test: fast/media/media-query-list-08.html

        Viewport related MediaQueryList listeners were not triggered and the value
        of matches were not updated if the document's style selector were not
        affected by viewport changes.

        The new method evaluateMediaQueries() is now called by FrameView instead of
        styleSelectorChanged() if the style selector is not affected by viewport changes.

        * dom/Document.cpp:
        (WebCore::Document::evaluateMediaQueries):
        (WebCore):
        (WebCore::Document::styleSelectorChanged):
        * dom/Document.h:
        (Document):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):

2012-04-18  Emil A Eklund  <eae@chromium.org>

        Use explicit casts for size_t to unsigned conversion
        https://bugs.webkit.org/show_bug.cgi?id=83602

        Reviewed by Eric Seidel.

        No new tests, no change in functinality.

        Not all platforms have implicit casts from size_t to unsigned and we
        can't add size_t versions of the operators to FractionalLayoutUnit for
        all platforms as it would conflict with the unsigned versions of same.

        Change support methods to take unsigned instead of size_t and use
        explicit casts when multiplying or dividing a FractionalLayoutUnit with
        a size_t and the other way around.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustForColumns):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::initialPackingOffset):
        (WebCore::packingSpaceBetweenChildren):
        (WebCore::initialLinePackingOffset):
        (WebCore::linePackingSpaceBetweenChildren):
        (WebCore::RenderFlexibleBox::packFlexLines):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::layout):

2012-04-18  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: [Chromium] Module's require injects scripts before the debug id is set to the context.
        https://bugs.webkit.org/show_bug.cgi?id=84166

        Re-applying r114497.

        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::setInjectedScriptContextDebugId):
        (WebCore):
        (WebCore::V8IsolatedContext::V8IsolatedContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInIsolatedWorld):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):

2012-04-18  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: extract script navigator overlay logic into the scripts navigator controller.
        https://bugs.webkit.org/show_bug.cgi?id=84244

        Reviewed by Vsevolod Vlasov.

        Overlay logic is well separable from the scripts panel and does not belong there.
        Extracting it into a separate class.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigatorController.prototype.wasShown):
        (WebInspector.ScriptsNavigatorController.prototype._createNavigatorControlButton):
        (WebInspector.ScriptsNavigatorController.prototype._escDownWhileNavigatorOverlayOpen):
        (WebInspector.ScriptsNavigatorController.prototype._toggleNavigator):
        (WebInspector.ScriptsNavigatorController.prototype._hidePinnedNavigator):
        (WebInspector.ScriptsNavigatorController.prototype.set _pinNavigator):
        (WebInspector.ScriptsNavigatorController.prototype.set showNavigatorOverlay):
        (WebInspector.ScriptsNavigatorController.prototype.hideNavigatorOverlay):
        (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.wasShown):
        (WebInspector.ScriptsPanel.prototype._editorClosed):
        (WebInspector.ScriptsPanel.prototype._editorSelected):
        (WebInspector.ScriptsPanel.prototype._scriptSelected):

2012-04-18  Alexandru Chiculita  <achicu@adobe.com>

        Unreviewed, trying to fix QT build.
        
        It was using a FilterEffectRenderer::prepare that changed to allocateBackingStoreIfNeeded in 114529.

        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
        (WebCore::BitmapTextureImageBuffer::applyFilters):

2012-04-18  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: extract script navigator overlay logic into the scripts navigator controller.
        https://bugs.webkit.org/show_bug.cgi?id=84244

        Reviewed by Vsevolod Vlasov.

        Overlay logic is well separable from the scripts panel and does not belong there.
        Extracting it into a separate class.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigatorController.prototype.wasShown):
        (WebInspector.ScriptsNavigatorController.prototype._createNavigatorControlButton):
        (WebInspector.ScriptsNavigatorController.prototype._escDownWhileNavigatorOverlayOpen):
        (WebInspector.ScriptsNavigatorController.prototype._toggleNavigator):
        (WebInspector.ScriptsNavigatorController.prototype._hidePinnedNavigator):
        (WebInspector.ScriptsNavigatorController.prototype.set _pinNavigator):
        (WebInspector.ScriptsNavigatorController.prototype.set showNavigatorOverlay):
        (WebInspector.ScriptsNavigatorController.prototype.hideNavigatorOverlay):
        (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.wasShown):
        (WebInspector.ScriptsPanel.prototype._editorClosed):
        (WebInspector.ScriptsPanel.prototype._editorSelected):
        (WebInspector.ScriptsPanel.prototype._scriptSelected):

2012-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114497.
        http://trac.webkit.org/changeset/114497
        https://bugs.webkit.org/show_bug.cgi?id=84253

        Broke compile on Win, including stdio did not help (Requested
        by dimich on #webkit).

        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::V8IsolatedContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInIsolatedWorld):
        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
        (WebCore):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):

2012-04-18  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Filters] Drop-shadow and blur can avoid using full source image
        https://bugs.webkit.org/show_bug.cgi?id=81263

        Reviewed by Dean Jackson.

        Instead of using the full bounding box of the RenderLayer we now compute the exact rectangle that is needed to 
        compute filter inside the dirty rectangle on screen. That's easy to calculate by reversing the filter outsets.
        Even if the element is completely offscreen, but its shadow is in the viewport, we can still compute the source 
        rectangle that needs to be drawn in order to update the shadow correctly.

        No new tests, this change doesn't have visible results and the functionality should
        already be covered by previous filter tests.

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::build): Save the outsets of the filters, so that we can use them in computeSourceImageRectForDirtyRect.
        (WebCore::FilterEffectRenderer::updateBackingStoreRect): Only allocate a new source image if the size of the source rectangle changed.
        (WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): There's no need to call clearIntermediateResults() in this function. We do that after
        the filter is computed.
        (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
        (WebCore):
        (WebCore::FilterEffectRendererHelper::prepareFilterEffect):
        (WebCore::FilterEffectRendererHelper::beginFilterEffect):
        * rendering/FilterEffectRenderer.h:
        (FilterEffectRendererHelper):
        (WebCore::FilterEffectRendererHelper::repaintRect):
        (FilterEffectRenderer):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayerContents):

2012-04-18  Dominik Röttsches  <dominik.rottsches@linux.intel.com>

        [EFL][DRT] @font-face support fails on EFL
        https://bugs.webkit.org/show_bug.cgi?id=83264

        Reviewed by Dimitri Glazkov.

        STORE_FONT_CUSTOM_PLATFORM_DATA was not defined for EFL.
        Fixing that by removing a long standing FIXME with the intention
        to turn the whitelist for this switch into a blacklist.

        * loader/cache/CachedFont.cpp:

2012-04-18  Levi Weintraub  <leviw@chromium.org>

        Convert ShadowData and DropShadowFilterOperation to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=84098

        Reviewed by Eric Seidel.

        Shadows do not flow with the page, so sub-pixel layout doesn't actually offer any benefit that
        couldn't have been attained before that conversion. With that in mind, this patch reverts
        drop shadow offsets to integers, but also cleans up the code by switching the x/y location pair
        to be an IntPoint.

        No new tests. No change in behavior.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc):
        (WebCore::shadowForBlending):
        * platform/animation/AnimationUtilities.h:
        (WebCore::blend): New blend function that operates on IntPoints.
        (WebCore):
        * platform/chromium/support/WebFilterOperations.cpp:
        (WebKit::WebDropShadowFilterOperation):
        * platform/graphics/filters/FilterOperation.cpp:
        (WebCore::DropShadowFilterOperation::blend):
        * platform/graphics/filters/FilterOperation.h:
        (WebCore::DropShadowFilterOperation::clone):
        (WebCore::DropShadowFilterOperation::x):
        (WebCore::DropShadowFilterOperation::y):
        (WebCore::DropShadowFilterOperation::location): Preserved the comment about lengths.
        (WebCore::DropShadowFilterOperation::operator==):
        (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
        (DropShadowFilterOperation):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::areaCastingShadowInHole): Reverted to integers since this operates on the IntRect from
        a RoundedRect.
        (WebCore::RenderBoxModelObject::paintBoxShadow): Reduced the complexity and unnecessary conversion
        between LayoutUnits and integers by using all integers after we calculate the pixel-snapped
        RoundedRect that we use for painting.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getShadowExtent):
        (WebCore::RenderStyle::getShadowHorizontalExtent):
        (WebCore::RenderStyle::getShadowVerticalExtent):
        * rendering/style/ShadowData.cpp:
        (WebCore::ShadowData::ShadowData):
        (WebCore::ShadowData::operator==):
        (WebCore::calculateShadowExtent):
        (WebCore::ShadowData::adjustRectForShadow):
        * rendering/style/ShadowData.h:
        (WebCore::ShadowData::ShadowData):
        (WebCore::ShadowData::x):
        (WebCore::ShadowData::y):
        (WebCore::ShadowData::location):
        (ShadowData):

2012-04-17  Kentaro Hara  <haraken@chromium.org>

        [V8] Add an optional Isolate argument to wrap()
        https://bugs.webkit.org/show_bug.cgi?id=84202

        Reviewed by Nate Chapin.

        The final objective is to pass Isolate around in V8 bindings.
        This patch adds an optional Isolate argument to wrap().
        After rewriting all wrap() callers so that they pass Isolate
        to wrap(), I'll make the Isolate argument non-optional.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
        (GenerateHeader):
        * bindings/v8/custom/V8DocumentCustom.cpp: Ditto.
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Ditto.
        (WebCore::toV8):
        * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
        (WebCore::toV8Slow):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp: Ditto.
        (WebCore::toV8):
        * dom/make_names.pl: Ditto.
        (printWrapperFactoryCppFile):

        * bindings/scripts/test/V8/V8Float64Array.h:
        Updated run-bindings-tests results.
        (V8Float64Array):
        (WebCore::V8Float64Array::wrap):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (V8TestActiveDOMObject):
        (WebCore::V8TestActiveDOMObject::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (V8TestCustomNamedGetter):
        (WebCore::V8TestCustomNamedGetter::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (V8TestEventConstructor):
        (WebCore::V8TestEventConstructor::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (V8TestEventTarget):
        (WebCore::V8TestEventTarget::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (V8TestInterface):
        (WebCore::V8TestInterface::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (V8TestMediaQueryListListener):
        (WebCore::V8TestMediaQueryListListener::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (V8TestNamedConstructor):
        (WebCore::V8TestNamedConstructor::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNode.h:
        (V8TestNode):
        (WebCore::V8TestNode::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):
        (WebCore::V8TestObj::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (V8TestSerializedScriptValueInterface):
        (WebCore::V8TestSerializedScriptValueInterface::wrap):
        (WebCore::toV8):

2012-04-18  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Filters] Do not use clipping rect when calculating the bounds of a layer
        https://bugs.webkit.org/show_bug.cgi?id=83960

        Reviewed by Simon Fraser.
        
        The local clip rect should not be used when calculating the bounds of a filter area. Otherwise
        drop-shadow might not know about the pixels outside the clipping rectangle, even though the actual shadow might
        be inside it.

        No new tests added in this patch, but this patch fixes two existing tests that fail.
        LayoutTests/css3/filters/filter-repaint-shadow-clipped.html
        LayoutTests/css3/filters/filter-repaint-shadow-rotated.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayerContents):
        (WebCore::RenderLayer::calculateLayerBounds):
        * rendering/RenderLayer.h:

2012-04-18  Mark Pilgrim  <pilgrim@chromium.org>

        Followup to "Call incrementStatsCounter directly"
        https://bugs.webkit.org/show_bug.cgi?id=83109

        Reviewed by Kentaro Hara.

        Now that incrementStatsCounter has been moved from
        PlatformSupport.h to Platform.h, we need to be able to call it directly
        from WebCore/bindings/v8/v8Proxy.h (for the INC_STATS macro). That
        means we need a new StatsCounter class in WebCore/platform/ and an
        implementation in
        WebCore/platform/chromium/StatsCounterChromium.cpp. Other ports
        are welcome to implement their own stats counters if they
        wish. This pattern was based on the
        HistogramSupport/HistogramSupportChromium classes.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/v8/V8Proxy.h:
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        (WebCore::V8DedicatedWorkerContext::postMessageCallback):
        (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
        (WebCore::V8NotificationCenter::createNotificationCallback):
        (WebCore::V8NotificationCenter::requestPermissionCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::V8WorkerContext::importScriptsCallback):
        (WebCore::V8WorkerContext::setTimeoutCallback):
        (WebCore::V8WorkerContext::setIntervalCallback):
        * platform/StatsCounter.cpp: Added.
        (WebCore):
        (WebCore::StatsCounter::incrementStatsCounter):
        * platform/StatsCounter.h: Added.
        (WebCore):
        (StatsCounter):
        * platform/chromium/StatsCounterChromium.cpp: Added.
        (WebCore):
        (WebCore::StatsCounter::incrementStatsCounter):

2012-04-18  Alexander Pavlov  <apavlov@chromium.org>

        [Chromium] REGRESSION: Popup shrinks because of autocomplete
        https://bugs.webkit.org/show_bug.cgi?id=84139
        http://code.google.com/p/chromium/issues/detail?id=123432

        Do not update the window rect on the wrong client but instead return the popup widget's
        new screen coordinates from the refresh() method.

        Reviewed by Kent Tamura.

        * platform/chromium/PopupContainer.cpp:
        (WebCore::PopupContainer::refresh):
        * platform/chromium/PopupContainer.h:
        (PopupContainer):

2012-04-18  Simon Fraser  <simon.fraser@apple.com>

        ASSERT when a layer with a foreground layer is in 'paint into ancestor' mode
        https://bugs.webkit.org/show_bug.cgi?id=84221

        Reviewed by Dean Jackson.
        
        When a RenderLayerBacking doesn't require its own backing store, and is
        in "paintIntoCompositingAncestor" mode, we would assert when trying to
        paint its m_foregroundLayer if it had one (because of a negative z-index child).
        
        The fix is to set the 'drawsContent' state on the m_foregroundLayer
        as well as m_graphicsLayer.

        Test: compositing/backing/no-backing-foreground-layer.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateDrawsContent):

2012-04-18  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: DataGrid should use explicit root node
        https://bugs.webkit.org/show_bug.cgi?id=84240

        DataGrid now has an explicit root node. All children are added/removed
        to that node.

        Reviewed by Pavel Feldman.

        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
        * inspector/front-end/CSSSelectorProfileView.js:
        (WebInspector.CSSSelectorProfileView):
        (WebInspector.CSSSelectorProfileView.prototype.rebuildGridItems):
        (WebInspector.CSSSelectorProfileView.prototype.refreshData):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.SimpleCookiesTable):
        (WebInspector.SimpleCookiesTable.prototype.setCookies):
        * inspector/front-end/CookiesTable.js:
        (WebInspector.CookiesTable):
        (WebInspector.CookiesTable.prototype._rebuildTable):
        * inspector/front-end/DOMStorageItemsView.js:
        (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid):
        (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid):
        (WebInspector.DataGrid.createSortableDataGrid):
        (WebInspector.DataGrid.prototype.setRootNode):
        (WebInspector.DataGrid.prototype.rootNode):
        (WebInspector.DataGrid.prototype.autoSizeColumns):
        (WebInspector.DataGrid.prototype._enumerateChildren):
        (WebInspector.DataGrid.prototype._keyDown):
        (WebInspector.DataGrid.prototype._contextMenuInDataTable):
        (WebInspector.DataGridNode.prototype.get revealed):
        (WebInspector.DataGridNode.prototype.get depth):
        (WebInspector.DataGridNode.prototype.appendChild):
        (WebInspector.DataGridNode.prototype.insertChild):
        (WebInspector.DataGridNode.prototype.removeChild):
        (WebInspector.DataGridNode.prototype.removeChildren):
        (WebInspector.DataGridNode.prototype.collapse):
        (WebInspector.DataGridNode.prototype.expand):
        (WebInspector.DataGridNode.prototype.reveal):
        (WebInspector.DataGridNode.prototype.revealAndSelect):
        (WebInspector.DataGridNode.prototype.traverseNextNode):
        (WebInspector.DataGridNode.prototype.traversePreviousNode):
        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotSortableDataGrid):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype.performSearch):
        (WebInspector.HeapSnapshotView.prototype.refreshVisibleData):
        * inspector/front-end/IndexedDBViews.js:
        (WebInspector.IDBDataView.prototype._createDataGrid):
        (WebInspector.IDBDataView.prototype._updateData.callback):
        (WebInspector.IDBDataView.prototype._updateData):
        (WebInspector.IDBDataView.prototype.clear):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._createTable):
        (WebInspector.NetworkLogView.prototype.refresh):
        (WebInspector.NetworkLogView.prototype._reset):
        * inspector/front-end/ProfileDataGridTree.js:
        (WebInspector.ProfileDataGridNode.prototype.insertChild):
        (WebInspector.ProfileDataGridNode.prototype.removeChild):
        (WebInspector.ProfileDataGridNode.prototype.removeChildren):
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileView.prototype.refresh):
        * inspector/front-end/treeoutline.js:

2012-04-18  Vineet Chaudhary  <rgf748@motorola.com>

        Add PassThis=* to support the callbacks which requires to pass "this" value.
        https://bugs.webkit.org/show_bug.cgi?id=84232

        Reviewed by Kentaro Hara.

        Adding PassThisToCallback=XXX to attributes will be useful for the callbacks which requires to pass "this".
        This will help to identify the type(XXX) of "this" value in codegenerator.

        Tests: bindings/scripts/test/TestCallback.idl

        * bindings/scripts/CodeGeneratorJS.pm: 
        (GenerateCallbackImplementation): Modified codegenerator to support [PassThisToCallback]
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateCallbackImplementation): Ditto.
        * bindings/scripts/IDLAttributes.txt: Added PassThisToCallback=*
        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Modofied results from run-bindings-tests.
        (WebDOMTestCallback::callbackWithBoolean):
        (WebDOMTestCallback::callbackRequiresThisToPass):
        * bindings/scripts/test/CPP/WebDOMTestCallback.h: Ditto.
        (WebDOMTestCallback):
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Ditto.
        (webkit_dom_test_callback_callback_with_boolean):
        (webkit_dom_test_callback_callback_requires_this_to_pass):
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Ditto.
        * bindings/scripts/test/JS/JSTestCallback.cpp: Ditto.
        (WebCore::JSTestCallback::callbackWithBoolean):
        (WebCore):
        (WebCore::JSTestCallback::callbackRequiresThisToPass):
        * bindings/scripts/test/JS/JSTestCallback.h: Ditto.
        (JSTestCallback):
        * bindings/scripts/test/ObjC/DOMTestCallback.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestCallback.mm: Ditto.
        (-[DOMTestCallback callbackWithBoolean:]):
        (-[DOMTestCallback callbackRequiresThisToPass:thisClassParam:]):
        * bindings/scripts/test/TestCallback.idl: Added test to verify generated code.
        * bindings/scripts/test/V8/V8TestCallback.cpp: Ditto.
        (WebCore::V8TestCallback::callbackWithBoolean):
        (WebCore):
        (WebCore::V8TestCallback::callbackRequiresThisToPass):
        * bindings/scripts/test/V8/V8TestCallback.h: Ditto.
        (V8TestCallback):

2012-04-18  'Pavel Feldman'  <pfeldman@chromium.org>

        Not reviewed: fixing Chromium win compilation.

        * bindings/v8/V8IsolatedContext.cpp:

2012-04-18  Luke Macpherson  <macpherson@chromium.org>

        Remove unnecessary variable reassignment in CSSParser::parseImageSet().
        https://bugs.webkit.org/show_bug.cgi?id=84204

        Reviewed by Kentaro Hara.

        Code calls next and then current instead of reusing the result of next.

        No new tests / no functionality changed.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseImageSet):

2012-04-18  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] HTTP GET header has a "Cookie" when refreshing a page after cookies have been cleared.
        https://bugs.webkit.org/show_bug.cgi?id=84223

        Reviewed by George Staikos.

        Webkit uses the old ResourceRequest when refreshing. Its cookies' header isn't removed after clicking
        "clear cookies" button. We need to set cookies for this request again.

        We must click "clear button" to test, so have to write a manual test case.

        Test: ManualTests/blackberry/clear-cookie-refresh.php

        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::initializePlatformRequest):

2012-04-17  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: [Chromium] Module's require injects scripts before the debug id is set to the context.
        https://bugs.webkit.org/show_bug.cgi?id=84166

        Reviewed by Yury Semikhatsky.

        V8IsolatedContext was getting debug id assigned post-construction. At the same time, it was compiling all
        its module scripts within the constructor. As a result, scripts ended up in the main world's list.

        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::setInjectedScriptContextDebugId):
        (WebCore):
        (WebCore::V8IsolatedContext::V8IsolatedContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInIsolatedWorld):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):

2012-04-17  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: document.open removes the documentElement, but does not clear the elements panel.
        https://bugs.webkit.org/show_bug.cgi?id=84179

        Reviewed by Yury Semikhatsky.

        Perform total update upon modifications of the document node.

        Test: inspector/elements/delete-from-document.html

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        * inspector/front-end/ElementsTreeOutline.js:

2012-04-18  Max Feil  <mfeil@rim.com>

        [BlackBerry] Tab awareness for HTML5 concurrent audio
        https://bugs.webkit.org/show_bug.cgi?id=82930
        Support for concurrent HTML5 audio improvements being made in
        the platform library, which need to be aware of tabs and tab
        visibility. PR96004.

        Reviewed by George Staikos.

        Test: media/audio-concurrent-supported.html

        * platform/blackberry/PageClientBlackBerry.h:
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::showErrorDialog):
        (WebCore::MediaPlayerPrivate::isTabVisible):
        (WebCore):
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
        (MediaPlayerPrivate):

2012-04-18  Noel Gordon  <noel.gordon@gmail.com>

        [CG] ImageBuffer: check getPremultipliedImageData() error return
        https://bugs.webkit.org/show_bug.cgi?id=84022

        Reviewed by Eric Seidel.

        ImageBuffer::getPremultipliedImageData() can fail. toDataURL() should check for a
        failure return, and return "data:," if so.

        No new tests. Covered by existing toDataURL tests, in particular:
          canvas/philip/tests/toDataURL.jpeg.alpha.html

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::toDataURL): Rename |arr| variable to premultipliedData and
        return "data:," if premultipliedData is empty. Clean up whitespace and a comment.

2012-04-17  Rachel Blum  <groby@chromium.org>

        Skia OOM error when upscaling small subsets of images by large quantities
        https://bugs.webkit.org/show_bug.cgi?id=84225

        Reviewed by David Levin.

        Tested with manual tests. 

        * platform/graphics/skia/NativeImageSkia.cpp:
        (WebCore::NativeImageSkia::shouldCacheResampling):

2012-04-17  MORITA Hajime  <morrita@google.com>

        ShadowRoot shouldn't be adopted by any Document.
        https://bugs.webkit.org/show_bug.cgi?id=84127

        Reviewed by Dimitri Glazkov.

        ShadowRoot cannot cannot be removed from its host, which means
        ShadowRoot cannot be adopted by any Document directly because the
        adoptNode() tries to remove it from its parent but it doesn't make
        sense for ShadowRoot.

        This change adds a guard to check such a case.

        Test: fast/dom/shadow/adopt-node-with-shadow-root.html

        * dom/Document.cpp:
        (WebCore::Document::adoptNode):

2012-04-17  John Bauman  <jbauman@chromium.org>

        [chromium] Ensure RateLimiter waits for Swapbuffers completion
        https://bugs.webkit.org/show_bug.cgi?id=83649

        Reviewed by James Robinson.

        We were waiting only on the canvas context, which with the new GPU
        scheduling was causing the RateLimiter not to ratelimit enough. We
        need to insert no-op commands in the compositor context, so that we'll
        wait for the canvas context and SwapBuffers as well.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::doNoOp):
        (WebCore):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/RateLimiter.cpp:
        (WebCore::RateLimiter::create):
        (WebCore::RateLimiter::RateLimiter):
        (WebCore::RateLimiter::rateLimitContext):
        * platform/graphics/chromium/RateLimiter.h:
        (RateLimiterClient):
        (WebCore):
        (RateLimiter):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::startRateLimiter):
        (WebCore::CCLayerTreeHost::rateLimit):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::forceNoOpCommand):
        (WebCore):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::forceNoOpCommand):
        (WebCore):
        (WebCore::CCThreadProxy::forceNoOpCommandOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-04-17  Andreas Kling  <kling@webkit.org>

        CSSValuePool: Made identifier value cache a fixed-size array.
        <http://webkit.org/b/84219>

        Reviewed by Antti Koivisto.

        Change the identifier CSSPrimitiveValue cache in CSSValuePool from a HashMap to a
        fixed-size array of RefPtr<CSSPrimitiveValue>s.

        We have ~700 values total, so this is quite space efficient now that the CSSValuePool
        is globally shared. More importantly it avoids a hash lookup every time we need an
        identifier value.

        * css/CSSValuePool.h:
        * css/CSSValuePool.cpp:
        (WebCore::CSSValuePool::createIdentifierValue):

2012-04-17  Antoine Labour  <piman@chromium.org>

        [Chromium] Clean up texture ids on the impl side when losing the context
        https://bugs.webkit.org/show_bug.cgi?id=84122

        Reviewed by James Robinson.

        Tested by CCLayerTreeHostImplTest.dontUseOldResourcesAfterLostContext.

        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
        (WebCore::CCTextureLayerImpl::didLoseContext):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::didLoseContext):
        (WebCore):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::didLoseContext):
        (WebCore):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (CCVideoLayerImpl):

2012-04-17  Emil A Eklund  <eae@chromium.org>

        Change RenderThemeChromiumSkia paint methods to use pixel snapping
        https://bugs.webkit.org/show_bug.cgi?id=84175

        Reviewed by Eric Seidel.

        No new tests, no change in functionality.

        Change RenderThemeChromiumSkia to use subpixel types and pixel snap
        values just before painting.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
        * rendering/RenderThemeChromiumSkia.h:

 2012-04-17  Levi Weintraub  <leviw@chromium.org>

        Clean up outstanding LayoutUnit misuse in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=84209

        Reviewed by Eric Seidel.

        Small changes to a handful of files to prepare trunk for FractionalLayoutUnits.
        For more details, see https://trac.webkit.org/wiki/LayoutUnit

        No new tests. No change in behavior.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): minimumValueForLength preserves
        sub-pixel precision, so we should avoid unnecessarily using integers.
        * platform/graphics/FractionalLayoutPoint.h:
        (WebCore::FractionalLayoutPoint::FractionalLayoutPoint): Adding an explicit constructor from
        FractionalLayoutSizes. This mirrors a method in IntPoint.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBorder): The rects that change come from roundedRects,
        which are already pixel-snapped.
        * rendering/RenderBoxModelObject.h: Removing a comment that is no longer applicable.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth): Since we layout tables using integers, we
        need to explicitly calculate the width to be integral as well to avoid pushing the next element
        over by a pixel that we won't later paint with our own box decorations.
        * rendering/RenderText.h:
        (RenderText): Correcting an unfortunate mismatch between in the return value of linesBoundingBox
        between the header and implementation.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getRoundedBorderFor): We were incorrectly not using the snapped border
        rect to pass to calcRadiiFor (which takes an IntRect). Correcting this.

2012-04-17  Luke Macpherson  <macpherson@chromium.org>

        Ensure CSSParser member variables are initialized.
        https://bugs.webkit.org/show_bug.cgi?id=84205

        Reviewed by Andreas Kling.

        No new tests / code cleanup only.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):

2012-04-16  Alexandru Chiculita  <achicu@adobe.com>

        Regression(114172): Use after free in CustomFilterProgram::notifyClients
        https://bugs.webkit.org/show_bug.cgi?id=84000

        Reviewed by Dean Jackson.

        The function returned early and the shaders didn't have a chance to be saved. Moving
        those two lines before the return false just to make sure that FilterEffectRenderer never adds
        itself as a client for a shader without keeping track of that.

        No new tests. The problem reproduces with existing tests.
        css3/filters/custom/custom-filter-property-computed-style.html
        css3/filters/custom/effect-custom-combined-missing.html

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::build):

2012-04-17  Alec Flett  <alecflett@chromium.org>

        IndexedDB chooses wrong record on PREV_NO_DUPLICATE index cursor
        https://bugs.webkit.org/show_bug.cgi?id=60746

        Reviewed by Ojan Vafai.

        When iterating backwards with PREV_NO_DUPLICATE, keep walking past
        the 'prev' key until it changes, then walk forward one time. This
        covers the object store and index cases.

        Test: storage/indexeddb/mozilla/index-prev-no-duplicate.html

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore):

2012-04-17  Yi Shen  <yi.4.shen@nokia.com>

        Caret is not rendered properly inside an input element with text-indent
        https://bugs.webkit.org/show_bug.cgi?id=82688

        Reviewed by Ryosuke Niwa.

        For an empty input element, there is no RenderText. Instead, RenderBlock::localCaretRect provides
        the caret position for rendering the caret in the empty input element. To get correct caret rect,
        textIndentOffset() should be used to adjust the caret's position.

        Test: editing/style/text-indent.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::localCaretRect):

2012-04-17  Filip Pizlo  <fpizlo@apple.com>

        It should be possible to create an inheritorID for the global this object without crashing
        https://bugs.webkit.org/show_bug.cgi?id=84200
        <rdar://problem/11251082>

        Reviewed by Oliver Hunt.

        No new tests, because the circumstances necessary to make this happen are rather hairy.

        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::window):
        (WebCore::JSDOMWindowShell::setWindow):

2012-04-17  Luke Macpherson  <macpherson@chromium.org>

        Make CSSParser::parseValue()'s handling of CSSPropertyCursor more obviously correct.
        https://bugs.webkit.org/show_bug.cgi?id=83544

        Reviewed by Kentaro Hara.

        No new tests / code cleanup only.

        The code as it stands appears to be correct, but static analysis was concerned that value could become null.
        This patch adds a null check and ASSERT_NOT_REACHED() to make the code more obviously correct.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):

2012-04-17  David Reveman  <reveman@chromium.org>

        [Chromium] Add TextureUploader which allows us to use persistent GC3D state for texture uploads.
        https://bugs.webkit.org/show_bug.cgi?id=83972

        Reviewed by James Robinson.

        Add TextureUploader class that allows us to add persistent GC3D state to the upload machinery.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::textureUploader):
        (LayerRendererChromium):
        * platform/graphics/chromium/TextureUploader.cpp: Added.
        (WebCore):
        (WebCore::AcceleratedTextureUploader::AcceleratedTextureUploader):
        (WebCore::AcceleratedTextureUploader::~AcceleratedTextureUploader):
        (WebCore::AcceleratedTextureUploader::uploadTexture):
        * platform/graphics/chromium/TextureUploader.h: Added.
        (WebCore):
        (TextureUploader):
        (WebCore::TextureUploader::~TextureUploader):
        (AcceleratedTextureUploader):
        (WebCore::AcceleratedTextureUploader::create):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doCommit):
        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
        (WebCore::CCTextureUpdater::update):
        * platform/graphics/chromium/cc/CCTextureUpdater.h:
        (WebCore):
        (CCTextureUpdater):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):

2012-04-17  Luke Macpherson  <macpherson@chromium.org>

        Clean up CSSParser::parseFillRepeat().
        https://bugs.webkit.org/show_bug.cgi?id=83547

        Reviewed by Kentaro Hara.

        Removed multiple unnecessary calls to m_valueList->current().
        Restructured logic for parsing second value to make it clearer.

        No new tests / code cleanup only.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFillRepeat):

2012-04-17  Kentaro Hara  <haraken@chromium.org>

        [V8] Pass Isolate to toV8Slow()
        https://bugs.webkit.org/show_bug.cgi?id=84173

        Reviewed by Nate Chapin.

        The final objective is to pass Isolate around in V8 bindings.
        This patch passes the Isolate to toV8Slow().

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):

2012-04-17  Julien Chaffraix  <jchaffraix@webkit.org>

        Fix the ACCELERATED_COMPOSITING code to not expose RenderLayer outside rendering
        https://bugs.webkit.org/show_bug.cgi?id=83816

        Reviewed by James Robinson.

        No change in behavior expected.

        This code adds several functions on RenderBoxModelObject to forward
        to the associated layer. This removes the RenderLayer dependencies
        at the call sites.

        Currently only RenderBoxModelObject can be hardware accelerated as
        we need a RenderLayer, this looks like the best place to put those
        new functions.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::contentChanged):
        (WebCore::RenderBoxModelObject::hasAcceleratedCompositing):
        (WebCore::RenderBoxModelObject::startTransition):
        (WebCore::RenderBoxModelObject::transitionPaused):
        (WebCore::RenderBoxModelObject::transitionFinished):
        (WebCore::RenderBoxModelObject::startAnimation):
        (WebCore::RenderBoxModelObject::animationPaused):
        (WebCore::RenderBoxModelObject::animationFinished):
        (WebCore::RenderBoxModelObject::suspendAnimations):
        * rendering/RenderBoxModelObject.h:
        Added the previous functions to hide the layer need.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hasAcceleratedCompositing):
        * rendering/RenderLayer.h:
        Removed the previous method as it was superseeded by the
        one on RenderBoxModelObject. Also moved the ContentChangeType
        enumaration.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::contentChanged):
        * rendering/RenderLayerBacking.h:
        (RenderLayerBacking):
        Updated after the ContentChangeType enumaration move.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::reset):
        (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::didDraw):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::markContextChanged):
        (WebCore::WebGLRenderingContext::reshape):
        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::freezeAtTime):
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::startAnimation):
        (WebCore::ImplicitAnimation::pauseAnimation):
        (WebCore::ImplicitAnimation::endAnimation):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::startAnimation):
        (WebCore::KeyframeAnimation::pauseAnimation):
        (WebCore::KeyframeAnimation::endAnimation):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::imageChanged):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageDimensionsChanged):
        (WebCore::RenderImage::notifyFinished):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::updatePlayer):
        Updated all those call sites to use the new functions. Also
        removed unneeded RenderLayer.h include as we went.

2012-04-16  Andy Estes  <aestes@apple.com>

        -webkit-mask-box-image does not draw when layer tree flattening is enabled
        https://bugs.webkit.org/show_bug.cgi?id=84111

        Reviewed by Simon Fraser.

        No new tests since taking pixel test results with
        PaintBehaviorFlattenCompositingLayers set is not currently supported.
        <https://bugs.webkit.org/show_bug.cgi?id=84110> tracks fixing this.

        When painting mask images, we should take the non-composited path if
        layers are being flattened.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintMask):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintMaskImages):

2012-04-17  Emil A Eklund  <eae@chromium.org>

        Rollout r114404 as it broke a couple of chromium builds.

        * platform/FractionalLayoutUnit.h:
        (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
        (WebCore::FractionalLayoutUnit::isInBounds):
        (WebCore):

2012-04-17  Ben Murdoch  <benm@google.com>

        `localStorage.setItem` can overwrite `localStorage` methods
        https://bugs.webkit.org/show_bug.cgi?id=30996

        Update the JSC and V8 bindings such that if the name of the DOM
        Storage property being retrieved is a match for a property in the
        prototype, always return the prototype version. If there is a DOM
        Storage key of the same name, it can still be retrieved via the
        getItem method. This prevents storage methods from being
        accidentally hidden. This brings WebKit behavior in line with the
        de facto standard implemented by FireFox and IE.

        Reviewed by Kentaro Hara.

        Test: storage/domstorage/storage-functions-not-overwritten.html

        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::nameGetter):
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::V8Storage::namedPropertyGetter):

2012-04-17  Emil A Eklund  <eae@chromium.org>

        Fix Chromium/Windows build broken by r114404.

        * platform/FractionalLayoutUnit.h:

2012-04-17  Kentaro Hara  <haraken@chromium.org>

        [Performance][V8] Skip Isolate look-up to find StringCache
        https://bugs.webkit.org/show_bug.cgi?id=84103

        Reviewed by Nate Chapin.

        This patch improves the performance of a lot of DOM attribute
        getters that return a string.

        - Improves the performance of Dromaeo/dom-attr.html(element.property)
          by 27.7%.
        - Improves the performance of Dromaeo/dom-attr.html(getAttribute)
          by 10.6%.
        - Improves the performance of div.id, div.className,
          div.nodeName, text.nodeValue, text.textContent by 12% -- 21%.

        The followings are the test results in my Linux desktop.

        Performance test: Dromaeo/dom-attr.html
        Total:                     674.64runs/s ->  707.03runs/s (+ 4.8%)
        getAttribute:             1537.60runs/s -> 1700.20runs/s (+10.6%)
        element.property:         1389.00runs/s -> 1774.20runs/s (+27.7%)
        setAttribute:              538.88runs/s ->  548.87runs/s (+ 1.9%)
        element.property = value:  644.07runs/s ->  656.67runs/s (+ 2.0%)
        element.expando = value:   219.76runs/s ->  207.14runs/s (- 6.8%)
        element.expando:           578.77runs/s ->  554.67runs/s (- 4.2%)

        Performance test: https://bugs.webkit.org/attachment.cgi?id=137440
        div.id:           30.70ns -> 26.70ns (+15%)
        div.className:    31.10ns -> 26.40ns (+18%)
        div.nodeName:     37.70ns -> 33.00ns (+14%)
        text.nodeValue:   31.40ns -> 25.90ns (+21%)
        text.textContent: 51.50ns -> 45.90ns (+12%)

        Previously V8 bindings need to look up an Isolate to find
        an Isolate-local StringCache. This patch skips the look-up
        by getting the Isolate from AccessorInfo.GetIsolate()
        or Arguments.GetIsolate().

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateFunctionCallString):
        (NativeToJSValue):
        * bindings/v8/V8Binding.cpp:
        (WebCore::getElementStringAttr):
        * bindings/v8/V8Binding.h:
        (WebCore::v8ExternalString): Make 'isolate' an optional argument.
        Ideally we want to make 'isolate' a non-optional argument,
        but it is difficult to rewrite all v8ExternalString() callers
        at a breath. We can rewrite them incrementally.
        (WebCore::v8String): Ditto.
        (WebCore::v8StringOrNull): Ditto.
        (WebCore::v8StringOrUndefined): Ditto.
        (WebCore::v8StringOrFalse): Ditto.

        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
        (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
        (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
        (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
        (WebCore::TestObjV8Internal::stringAttrAttrGetter):
        (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
        (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
        (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
        (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
        (WebCore::TestObjV8Internal::hashAttrGetter):
        (WebCore::TestObjV8Internal::conditionalMethod1Callback):

2012-04-17  Chris Fleizach  <cfleizach@apple.com>

        Crash in invalid index for _textMarkerForIndex
        https://bugs.webkit.org/show_bug.cgi?id=84104

        Reviewed by Beth Dakin.

        Test: platform/mac/accessibility/textmarker-for-index-out-of-bounds-crash.html

        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):

2012-04-17  Jer Noble  <jer.noble@apple.com>

        HTML5 Video Full Screen button broken (looks like white square)
        https://bugs.webkit.org/show_bug.cgi?id=84101

        Reviewed by Dan Bernstein.

        No new tests; updated platform results which were previously rebaselined.

        Use the correct CSS keyword for the -webkit-appearance of the full screen button.

        * css/mediaControls.css:
        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):

2012-04-17  Tom Sepez  <tsepez@chromium.org>

        Framesniffing defense is too aggressive.
        https://bugs.webkit.org/show_bug.cgi?id=83721

        Reviewed by James Robinson.

        The RenderLayer code currently propagates scroll position to parent frames
        without any cross-origin checks.  This gives it a quick origin boundary check
        that is set by FrameLoader only when performing a fragment navigation.  This 
        allows us to safely relax the restriction on not scrolling at load time in 
        FrameLoader since the safe thing will happen later on at scroll time.
        
        Test: http/tests/navigation/anchor-frames-same-origin.html

        * dom/Document.cpp:
        (WebCore::Document::findUnsafeParentScrollPropagationBoundary):
        * dom/Document.h:
        (Document):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedParsing):
        (WebCore::FrameLoader::loadInSameDocument):
        (WebCore::FrameLoader::scrollToFragmentWithParentBoundary):
        * loader/FrameLoader.h:
        (FrameLoader):
        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::reset):
        * page/FrameView.h:
        (WebCore::FrameView::safeToPropagateScrollToParent):
        (WebCore::FrameView::setSafeToPropagateScrollToParent):
        (FrameView):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):

2012-04-17  Emil A Eklund  <eae@chromium.org>

        Add size_t versions of multiplication and division operators to FractionalLayoutUnit
        https://bugs.webkit.org/show_bug.cgi?id=83848

        Reviewed by Julien Chaffraix.

        Add size_t versions of operator* and operator/ for platforms where there
        is no ambiguity between unsigned int and size_t.

        No new tests, no new functionality.

        * platform/FractionalLayoutUnit.h:
        (FractionalLayoutUnit):
        (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
        (WebCore::FractionalLayoutUnit::isInBounds):
        (WebCore):
        (WebCore::operator*):
        (WebCore::operator/):

2012-04-17  Kentaro Hara  <haraken@chromium.org>

        [V8] Add an optional Isolate argument to toV8().
        https://bugs.webkit.org/show_bug.cgi?id=84161

        Reviewed by Nate Chapin.

        The final objective is to pass Isolate around in V8 bindings.
        This patch adds an optional Isolate argument to toV8().
        After rewriting all toV8() callers so that they pass Isolate,
        I will make the Isolate argument non-optional.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        Modified as described above.
        (GenerateHeader):
        (NativeToJSValue):
        * bindings/v8/custom/V8BlobCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSRuleCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CSSValueCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EntryCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EntrySyncCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Float64ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLElementCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8IDBKeyCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8ImageDataCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGElementCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8ScriptProfileCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8StyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::toV8):

        * bindings/scripts/test/V8/V8Float64Array.h:
        Updated run-bindings-tests results.
        (WebCore):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestNode.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestObj.h:
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (WebCore::toV8):

2012-04-17  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: move heap snapshot data grids into their own file
        https://bugs.webkit.org/show_bug.cgi?id=84160

        Moved heap snapshot data grids into a separate file.

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/DataGrid.js:
        * inspector/front-end/HeapSnapshotDataGrids.js: Added.
        (WebInspector.HeapSnapshotSortableDataGrid):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
        (WebInspector.HeapSnapshotContainmentDataGrid):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
        (WebInspector.HeapSnapshotRetainmentDataGrid):
        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
        (WebInspector.HeapSnapshotConstructorsDataGrid):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
        (WebInspector.HeapSnapshotDiffDataGrid):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
        (WebInspector.HeapSnapshotDominatorsDataGrid):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
        * inspector/front-end/HeapSnapshotView.js:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-04-17  Vivek Galatage  <vivekgalatage@gmail.com>

        Script make_names.pl should generate consistent .h & .cpp files
        https://bugs.webkit.org/show_bug.cgi?id=84140

        Reviewed by Kentaro Hara.

        Added a newline character and removed ';' after the DEFINE_GLOBAL

        No test cases required for this change.

        * dom/make_names.pl:
        (printNamesCppFile):

2012-04-17  Aaron Colwell  <acolwell@chromium.org>

        Add webkitSourceAddId() & webkitSourceRemoveId() to HTMLMediaElement
        and propagate calls to the MediaPlayerPrivate interface.
        These are needed to bring the Media Source implementation 
        up to date with the new 0.4 version of the Media Source spec.
        http://html5-mediasource-api.googlecode.com/svn/tags/0.4/draft-spec/mediasource-draft-spec.html
        https://bugs.webkit.org/show_bug.cgi?id=83616

        Reviewed by Eric Carlson, Darin Fisher.

        Test: http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html

        * html/HTMLMediaElement.cpp:
        (WebCore):
        (WebCore::HTMLMediaElement::isValidSourceId):
        (WebCore::HTMLMediaElement::webkitSourceAddId):
        (WebCore::HTMLMediaElement::webkitSourceRemoveId):
        (WebCore::HTMLMediaElement::setSourceState):
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):
        * html/HTMLMediaElement.idl:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::sourceAddId):
        (WebCore::NullMediaPlayerPrivate::sourceRemoveId):
        (WebCore):
        (WebCore::MediaPlayer::sourceAddId):
        (WebCore::MediaPlayer::sourceRemoveId):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::sourceAddId):
        (WebCore::MediaPlayerPrivateInterface::sourceRemoveId):

2012-04-17  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [CRASH] InspectorDOMAgent::didInsertDOMNode() on page reload with open Inspector
        https://bugs.webkit.org/show_bug.cgi?id=84154

        Check that a node inserted actually has a parent.

        Reviewed by Yury Semikhatsky.

        Test: inspector/elements/elements-panel-reload-assert.html

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::didInsertDOMNode):

2012-04-17  Dana Jansens  <danakj@chromium.org>

        [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result
        https://bugs.webkit.org/show_bug.cgi?id=83543

        Reviewed by Adrienne Walker.

        It should not be possible to make a rect in layer space that is clipped
        by the camera but for which the screen space transform gives a
        rectilinear output. But use consistent methods for checking that the
        result remains enclosed within the actual pixels.

        One day when clipped is true, we can find an interior axis-aligned rect
        within the clipped result, and checking clipped explicitly makes this
        more clear.

        Covered by existing tests.

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::computeOcclusionBehindLayer):
        (WebCore::::markOccludedBehindLayer):

2012-04-17  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Suggest box appears after the command was executed in console sometimes.
        https://bugs.webkit.org/show_bug.cgi?id=84148

        Reviewed by Pavel Feldman.

        TextPrompt.complete() requests completions asynchronously, this change adds a flag
        that informs TextPrompt._completionsReady() whether completions should still be shown.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.clearAutoComplete):
        (WebInspector.TextPrompt.prototype.complete):
        (WebInspector.TextPrompt.prototype._completionsReady):

2012-04-17  Yong Li  <yoli@rim.com>

        REGRESSION (r105453): Crash when handling touch events
        https://bugs.webkit.org/show_bug.cgi?id=81958

        Reviewed by Antonio Gomes.

        Always perform sanity checks when handling every touch point
        because the node and document may have been destroyed or detached.

        ManualTests/touch-stale-iframe-crash.html added.
        (DumpRenderTree doesn't support transiting touch states in one shot yet)

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent):

2012-04-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Asserts in XMLHttpRequestProgressEventThrottle
        https://bugs.webkit.org/show_bug.cgi?id=81506

        Reviewed by Julien Chaffraix.

        The asserts were incorrectly triggered because suspending active DOM objects
        (which suspends the XMLHttpRequestProgressEventThrottle) doesn't stop JavaScript
        from running or suspend any running loader we may have. The previous code would
        assume those 2 cases were impossible.

        When XmlHttpRequest::open is called or data is received while the XmlHttpRequest object
        is suspended the object may attempt to dispatch events. This patch defers these events
        until the object is resumed.

        Progress events are coalesced similar to normal throttling, and readystate-change events
        are coalesced to avoid identical events emitted right after eachother.

        On resume the events are dispatched after a timer to avoid interfering with 
        ScriptExecutionContext which is iterating over suspended objects.

        Test: fast/events/pagehide-xhr-open.html

        * xml/XMLHttpRequestProgressEventThrottle.cpp:
        (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
        (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
        (WebCore::XMLHttpRequestProgressEventThrottle::fired):
        (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
        (WebCore::XMLHttpRequestProgressEventThrottle::resume):
        * xml/XMLHttpRequestProgressEventThrottle.h:
        (XMLHttpRequestProgressEventThrottle):

2012-04-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Chromium] Crash when inspecting empty IndexedDB object store.
        https://bugs.webkit.org/show_bug.cgi?id=84035

        Reviewed by Pavel Feldman.

        Added a check that m_idbCursor is not null before calling postSuccessHandlerCallback() on it.

        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore):

2012-04-17  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: [regression r112413]content scripts tree outline is not added to the tab.
        https://bugs.webkit.org/show_bug.cgi?id=84146

        Reviewed by Vsevolod Vlasov.

        Adding the tree to the container.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):

2012-04-17  Mariusz Grzegorczyk  <mariusz.g@samsung.com>

        [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled.
        https://bugs.webkit.org/show_bug.cgi?id=83285

        Reviewed by Ryosuke Niwa.

        * platform/ContextMenuItem.h: Remove macro around enums - needed by InjectedBundle.
        (WebCore):
        * platform/Widget.h: Remove namespace WebCore for PlatformPageClient typedef.

2012-04-17  Kent Tamura  <tkent@chromium.org>

        Introduce an internal feature for a fixed placeholder
        https://bugs.webkit.org/show_bug.cgi?id=84009

        Reviewed by Hajime Morita.

        This change adds a framework to support fixed placeholder string for
        textfield-like <input> without the palceholder attribute support. This
        doesn't change any behavior of input types which support the
        'placeholder' attribute.

        According to the standard, <input type=date> doesn't support the
        'placeholder' attribute. However it is a kind of text field in WebKit
        platforms with ENABLE_CALENDAR_PICKER, and we may show something useful
        information as the default placeholder.

        No new tests because of no behavior changes.

        * html/HTMLTextFormControlElement.h:
        (HTMLTextFormControlElement): Make isPlaceholderEmpty() virtual.
        * html/HTMLInputElement.h:
        (HTMLInputElement): Overrides isPlaceholderEmpty().
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isPlaceholderEmpty):
        Check InputType::defaultPlaceholder() if InputType::usesFixedPlaceholder().
        * html/InputType.cpp:
        (WebCore::InputType::usesFixedPlaceholder): Added. Returns false.
        (WebCore::InputType::fixedPlaceholder): Added. Returns a null string.
        * html/InputType.h:
        (InputType): Add usesFixedPlaceholder() and fixedPlaceholder().
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::updatePlaceholderText):
        Uses fixedPlaceholder() instead of strippedPlaceholder() if usesFixedPlaceholder().

2012-04-17  Kent Tamura  <tkent@chromium.org>

        Move some code of LocalizedNumberICU.cpp to ICULocale.cpp
        https://bugs.webkit.org/show_bug.cgi?id=84128

        Reviewed by Hajime Morita.

        No new tests. No behavior change.

        * WebCore.gypi: Add ICULocale.cpp
        * platform/text/ICULocale.cpp:
        Added. Move some code from LocalizedNumberICU.cpp
        * platform/text/ICULocale.h:
        (ICULocale): Add currentLocale().
        * platform/text/LocalizedNumberICU.cpp:
        (WebCore::convertToLocalizedNumber): Use ICULocale::currentLocale().
        (WebCore::convertFromLocalizedNumber): ditto.

2012-04-17  Bang Kwang min  <justine.bang@samsung.com>

        [Plugins] delete ws_info regardless of window mode.
        https://bugs.webkit.org/show_bug.cgi?id=83004

        Reviewed by Simon Hausmann.

        m_npWindow.ws_info should be deleted even if plugin run as windowless mode to remove memory leak.
        Every plugin works well after this patch without any crash.
        Additionally, change casting syntax to C++ style.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::stop):

2012-04-17  Kent Tamura  <tkent@chromium.org>

        Calendar Picker: Support RTL layout
        https://bugs.webkit.org/show_bug.cgi?id=83668

        Reviewed by Hajime Morita.

        Manual test: ManualTests/forms/calendar-picker.html

        * Resources/calendarPicker.js:
        (layout): If params.isRTL, add dir=rtl to the body.
        (DaysTable.prototype._handleKey): Reverse Left and Right cursor keys if RTL.
        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::addProperty): Add addProperty() with a bool value.
        (WebCore::CalendarPickerElement::writeDocument):
        Check the direction of the first character of localized January label,
        and pass it as isRTL property.

2012-04-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck issues.

        * GNUmakefile.list.am: Add missing files.

2012-04-16  Hajime Morrita  <morrita@chromium.org>

        insertedIntoDocument and insertedIntoTree should be unitifed.
        https://bugs.webkit.org/show_bug.cgi?id=82701

        Reviewed by Ryosuke Niwa.

        Both Node::insertedIntoTree() and Node::insertedIntoDocument() are
        served as lifecycle callbacks which are invoked when a node is
        inserted into its new parent. There are also removedFromTree()
        and removedFromDocument() respectively. Considering that this pair
        of virtual functions are laid onto the hot path, it's worth
        merging them into one, to gain some speedup. Such
        unification could clarify the semantics as well.

        This change makes following change to merge these functions.

        - pulling the tree traversal out from ContainerNode to ChildNodeInsertionNotifier.
        - letting new Node::insertInto() do the job for its own, but not
          for its children and
        - Pass the parent of each insertion root as a parameter of insertedInto().
          This root node can tell inserted node where it is inserted,
          specifically whetehr the insertion is to the document or not.

        Same pattern is also applied to Node::removedFromDocument() and
        Node::removedFromTree(), which are factored to Node::removedFrom()
        and ChildNodeRemovalNotifier respectively.

        Speed up on Dromaeo/dom-modify.html is about 2%.
        Further speed-up by de-virtulization would be possible.

        Caveat:

        There is possible situation where a node need to invoke
        insertedInto() after its children is nofitied, instead of before
        that.  It was represented naturally with previous
        traversal-by-ContainerNode pattern, but is no longer simple with
        this new external traversal. To support this scenario, we
        introduced the InsertionNotificationRequest as a return value of insertedInto()
        and a supplemental hook Node::didNotifyDescendantInseretions(). See for
        example HTMLFormElement.cpp to learn how it works.

        No new tests. Covered by existing tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::parserInsertBefore):
        (WebCore::ContainerNode::removeChild):
        (WebCore::ContainerNode::parserRemoveChild):
        (WebCore::ContainerNode::removeChildren):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::updateTreeAfterInsertion):
        * dom/ContainerNode.h:
        (ContainerNode):
        (WebCore::Node::highestAncestor):
        (WebCore):
        * dom/ContainerNodeAlgorithms.cpp: Added.
        (WebCore):
        (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
        (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
        (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
        (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
        * dom/ContainerNodeAlgorithms.h:
        (ChildNodeInsertionNotifier):
        (WebCore::ChildNodeInsertionNotifier::ChildNodeInsertionNotifier):
        (WebCore):
        (ChildNodeRemovalNotifier):
        (WebCore::ChildNodeRemovalNotifier::ChildNodeRemovalNotifier):
        (WebCore::removeAllChildrenInContainer):
        (WebCore::appendChildToContainer):
        (Private):
        (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
        (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
        (WebCore::ChildNodeInsertionNotifier::notifyInsertedIntoDocument):
        (WebCore::ChildNodeInsertionNotifier::notify):
        (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument):
        (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
        (WebCore::ChildNodeRemovalNotifier::notify):
        * dom/DOMAllInOne.cpp:
        * dom/DocumentType.cpp:
        (WebCore::DocumentType::insertedInto):
        (WebCore::DocumentType::removedFrom):
        * dom/DocumentType.h:
        (DocumentType):
        * dom/Element.cpp:
        (WebCore::Element::insertedInto):
        (WebCore::Element::removedFrom):
        * dom/Element.h:
        (Element):
        * dom/Node.cpp:
        (WebCore::Node::insertedInto):
        (WebCore::Node::removedFrom):
        * dom/Node.h:
        (Node):
        (WebCore::Node::didNotifyDescendantInseretions):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::insertedInto):
        (WebCore::ProcessingInstruction::removedFrom):
        * dom/ProcessingInstruction.h:
        (ProcessingInstruction):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::insertedInto):
        * dom/ScriptElement.h:
        (WebCore):
        (ScriptElement):
        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::addShadowRoot):
        (WebCore::ShadowTree::removeAllShadowRoots):
        * dom/ShadowTree.h:
        (ShadowTree):
        (ShadowRootVector):
        (WebCore::ShadowRootVector::ShadowRootVector):
        (WebCore):
        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::insertedInto):
        (WebCore::FormAssociatedElement::removedFrom):
        (WebCore::FormAssociatedElement::formRemovedFromTree):
        * html/FormAssociatedElement.h:
        (FormAssociatedElement):
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::insertedInto):
        (WebCore::HTMLBaseElement::removedFrom):
        * html/HTMLBaseElement.h:
        (HTMLBaseElement):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::insertedInto):
        (WebCore::HTMLBodyElement::didNotifyDescendantInseretions):
        * html/HTMLBodyElement.h:
        (HTMLBodyElement):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::insertedInto):
        (WebCore::HTMLFormControlElement::removedFrom):
        * html/HTMLFormControlElement.h:
        (HTMLFormControlElement):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::insertedInto):
        (WebCore::HTMLFormElement::didNotifyDescendantInseretions):
        (WebCore::HTMLFormElement::removedFrom):
        * html/HTMLFormElement.h:
        (HTMLFormElement):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::insertedInto):
        (WebCore):
        (WebCore::HTMLFrameElementBase::didNotifyDescendantInseretions):
        * html/HTMLFrameElementBase.h:
        (HTMLFrameElementBase):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::insertedInto):
        (WebCore::HTMLFrameSetElement::removedFrom):
        * html/HTMLFrameSetElement.h:
        (HTMLFrameSetElement):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::insertedInto):
        (WebCore::HTMLIFrameElement::removedFrom):
        * html/HTMLIFrameElement.h:
        (HTMLIFrameElement):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::insertedInto):
        (WebCore::HTMLImageElement::removedFrom):
        * html/HTMLImageElement.h:
        (HTMLImageElement):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::insertedInto):
        (WebCore::HTMLInputElement::removedFrom):
        * html/HTMLInputElement.h:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::insertedInto):
        (WebCore::HTMLLinkElement::removedFrom):
        * html/HTMLLinkElement.h:
        (HTMLLinkElement):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::insertedInto):
        (WebCore::HTMLMapElement::removedFrom):
        * html/HTMLMapElement.h:
        (HTMLMapElement):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::insertedInto):
        (WebCore::HTMLMediaElement::removedFrom):
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::insertedInto):
        * html/HTMLMetaElement.h:
        (HTMLMetaElement):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::insertedInto):
        (WebCore::HTMLObjectElement::removedFrom):
        * html/HTMLObjectElement.h:
        (HTMLObjectElement):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::insertedInto):
        * html/HTMLOptionElement.h:
        (HTMLOptionElement):
        * html/HTMLQuoteElement.cpp:
        (WebCore::HTMLQuoteElement::insertedInto):
        * html/HTMLQuoteElement.h:
        (HTMLQuoteElement):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::insertedInto):
        * html/HTMLScriptElement.h:
        (HTMLScriptElement):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::insertedInto):
        * html/HTMLSelectElement.h:
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::insertedInto):
        * html/HTMLSourceElement.h:
        (HTMLSourceElement):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::insertedInto):
        (WebCore::HTMLStyleElement::removedFrom):
        * html/HTMLStyleElement.h:
        (HTMLStyleElement):
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::insertedInto):
        * html/HTMLTextFormControlElement.h:
        * html/HTMLTitleElement.cpp:
        (WebCore::HTMLTitleElement::insertedInto):
        (WebCore::HTMLTitleElement::removedFrom):
        * html/HTMLTitleElement.h:
        (HTMLTitleElement):
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::insertedInto):
        * html/HTMLTrackElement.h:
        (HTMLTrackElement):
        * mathml/MathMLMathElement.cpp:
        (WebCore::MathMLMathElement::insertedInto):
        * mathml/MathMLMathElement.h:
        (MathMLMathElement):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::removedFrom):
        * svg/SVGElement.h:
        (SVGElement):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::insertedInto):
        (WebCore::SVGFEImageElement::removedFrom):
        * svg/SVGFEImageElement.h:
        (SVGFEImageElement):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::insertedInto):
        (WebCore::SVGFontFaceElement::removedFrom):
        * svg/SVGFontFaceElement.h:
        (SVGFontFaceElement):
        * svg/SVGFontFaceUriElement.cpp:
        (WebCore::SVGFontFaceUriElement::insertedInto):
        * svg/SVGFontFaceUriElement.h:
        (SVGFontFaceUriElement):
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::insertedInto):
        (WebCore::SVGGlyphElement::removedFrom):
        * svg/SVGGlyphElement.h:
        (SVGGlyphElement):
        * svg/SVGHKernElement.cpp:
        (WebCore::SVGHKernElement::insertedInto):
        (WebCore::SVGHKernElement::removedFrom):
        * svg/SVGHKernElement.h:
        (SVGHKernElement):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::insertedInto):
        * svg/SVGImageElement.h:
        (SVGImageElement):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::insertedInto):
        (WebCore::SVGSVGElement::removedFrom):
        * svg/SVGSVGElement.h:
        (SVGSVGElement):
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::insertedInto):
        * svg/SVGScriptElement.h:
        (SVGScriptElement):
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::insertedInto):
        (WebCore::SVGStyleElement::removedFrom):
        * svg/SVGStyleElement.h:
        (SVGStyleElement):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::insertedInto):
        (WebCore::SVGStyledElement::removedFrom):
        (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
        * svg/SVGStyledElement.h:
        (SVGStyledElement):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::buildPendingResource):
        (WebCore::SVGTRefElement::insertedInto):
        (WebCore::SVGTRefElement::removedFrom):
        * svg/SVGTRefElement.h:
        (SVGTRefElement):
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::insertedInto):
        * svg/SVGTextPathElement.h:
        * svg/SVGTitleElement.cpp:
        (WebCore::SVGTitleElement::insertedInto):
        (WebCore::SVGTitleElement::removedFrom):
        * svg/SVGTitleElement.h:
        (SVGTitleElement):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::insertedInto):
        (WebCore::SVGUseElement::removedFrom):
        * svg/SVGUseElement.h:
        (SVGUseElement):
        * svg/SVGVKernElement.cpp:
        (WebCore::SVGVKernElement::insertedInto):
        (WebCore::SVGVKernElement::removedFrom):
        * svg/SVGVKernElement.h:
        (SVGVKernElement):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::insertedInto):
        (WebCore::SVGSMILElement::removedFrom):
        * svg/animation/SVGSMILElement.h:
        (SVGSMILElement):

2012-04-16  David Barr  <davidbarr@chromium.org>

        Stack overflow in CSS parser caused by recursive stylesheet import
        https://bugs.webkit.org/show_bug.cgi?id=83545

        Reviewed by Ryosuke Niwa.

        Test: http/tests/css/css-imports-redirect-cycle.html

        * css/CSSImportRule.cpp:
        (WebCore::StyleRuleImport::requestStyleSheet):

2012-04-16  Kent Tamura  <tkent@chromium.org>

        Rename LocalizedNumberICU.h to ICULocale.h
        https://bugs.webkit.org/show_bug.cgi?id=84119

        Reviewed by Kentaro Hara.

        LocalizedNumberICU.h contains only ICULocale class. It should be
        named as ICULocale.h. We're going to move some functions in
        LocalizedDateICU.cpp and LocalizedCalendarICU.cpp to ICULocale,
        and add unit tests for them.

        * WebCore.gypi: Rename LocalizedNumberICU.h to ICULocale.h
        * platform/text/ICULocale.h:
        Renamed from Source/WebCore/platform/text/LocalizedNumberICU.h.
        * platform/text/LocalizedNumberICU.cpp:
        Rename LocalizedNumberICU.h to ICULocale.h

2012-04-16  James Robinson  <jamesr@chromium.org>

        [chromium] Move paintRenderedResultsToCanvas code into DrawingBuffer
        https://bugs.webkit.org/show_bug.cgi?id=84066

        Reviewed by Adrienne Walker.

        WebGLLayerChromium used to be responsible for the readback path for software painting WebGL canvases (for
        printing, etc), but this path no longer has any compositor interaction. This moves the code into
        DrawingBufferChromium which is responsible for managing the front / back buffers for WebGL.

        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebGLLayerChromium):

2012-04-16  Dana Jansens  <danakj@chromium.org>

        [chromium] Expose compositor filters to Aura through WebLayer
        https://bugs.webkit.org/show_bug.cgi?id=80054

        Reviewed by James Robinson.

        Adds WebFilterOperation that wraps WebCore::FilterOperation and
        WebFilterOperations that wraps WebCore::FilterOperations.

        We add support for most of the FilterOperation subclasses, and
        allow the user to set the WebFilterOperations for both layer
        content filters and background filters.

        * WebCore.gypi:
        * platform/chromium/support/WebFilterOperation.cpp: Added.
        (WebKit):
        (WebKit::WebBasicColorMatrixFilterOperation::toFilterOperation):
        (WebKit::WebBasicComponentTransferFilterOperation::toFilterOperation):
        (WebKit::WebBlurFilterOperation::toFilterOperation):
        (WebKit::WebDropShadowFilterOperation::toFilterOperation):
        * platform/chromium/support/WebFilterOperations.cpp: Added.
        (WebKit):
        (WebKit::WebFilterOperations::WebFilterOperations):
        (WebKit::WebFilterOperations::append):
        (WebKit::WebFilterOperations::clear):
        (WebKit::WebFilterOperations::toFilterOperations):

2012-04-16  Andrei Burago  <aburago@chromium.org>

        Auto-sized frames may be taller than expected
        https://bugs.webkit.org/show_bug.cgi?id=84106

        Reviewed by David Levin.

        No new tests. The repro steps require using Chrome notifications on Win.

        * page/FrameView.cpp:
        (WebCore::FrameView::autoSizeIfEnabled):

2012-04-13  James Robinson  <jamesr@chromium.org>

        [chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl to using it
        https://bugs.webkit.org/show_bug.cgi?id=83963

        Reviewed by Adrienne Walker.

        Converts VideoLayerChromium / CCVideoLayerImpl to use a Platform WebVideoFrameProvider interface instead of a
        WebCore VideoFrameProvider.

        * WebCore.gypi:
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::create):
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        * platform/graphics/chromium/VideoLayerChromium.h:
        (WebKit):
        (WebCore):
        (VideoLayerChromium):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (WebCore::CCVideoLayerImpl::create):
        (CCVideoLayerImpl):

2012-04-16  Takashi Sakamoto  <tasak@google.com>

        [Shadow DOM] InsertionPoint should have isActive() member function.
        https://bugs.webkit.org/show_bug.cgi?id=82010

        Reviewed by Hajime Morita.

        This patch adds isActive public member function to InsertionPoint and
        makes InsertionPoint elements consider whether active or not.
        If an InsertionPoint is inactive, the element is not shadow boundary
        and is needed to be rendered.
        c.f. https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#dfn-active-insertion-point

        Test: update existing tests, i.e.
        LayoutTests/fast/dom/shadow/shadow-contents-fallback-dynamic.html and
        LayoutTests/fast/dom/shadow/shadow-contents-fallback.html

        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::isActive):
        A new public method for checking whether an insertion point is active or inactive.
        If active, returns true. Otherwise, false.
        (WebCore::InsertionPoint::isShadowBoundary):
        Make the method consider whether an insertin point is active or inactive.
        (WebCore::InsertionPoint::rendererIsNeeded):
        Changed to return true If an insertion point is inactive.
        (WebCore::InsertionPoint::attach):
        Changed to call only HTMLElement::attach If an insertion point is inactive.
        (WebCore::InsertionPoint::detach):
        Changed to call only HTMLElement::detach If an insertion point is inactive.
        * html/shadow/InsertionPoint.h:
        (InsertionPoint):
        Added isActive public method.
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        Changed to take into account an insertion point's activeness when parent is an insertion point.
        (WebCore::NodeRenderingContext::firstRendererOf):
        (WebCore::NodeRenderingContext::lastRendererOf):
        Changed to take into account an insertion point's activeness.

2012-04-16  MORITA Hajime  <morrita@google.com>

        Type tags in NodeFlags could be compressed
        https://bugs.webkit.org/show_bug.cgi?id=79299

        Because existing node flags which indicate the class of each node
        are mutually exclusive, these flags can be represented as a enum.
        This patch introduces Node::NodeTypeTag to turn these flags into a
        enum, and embeds it into Node::m_nodeFlags.

        Reviewed by Antti Koivisto.

        No new tests. No bahavior change.

        * dom/Node.cpp:
        (WebCore):
        * dom/Node.h:
        (WebCore):
        (Node):
        (WebCore::Node::typeTag):
        (WebCore::Node::parentNode):
        (WebCore::Node::parentNodeGuaranteedHostFree):
        (WebCore::Node::isContainerNode):
        (WebCore::Node::isElementNode):
        (WebCore::Node::isStyledElement):
        (WebCore::Node::isTextNode):
        (WebCore::Node::isHTMLElement):
        (WebCore::Node::isSVGElement):
        (WebCore::Node::isShadowRoot):

2012-04-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114285.
        http://trac.webkit.org/changeset/114285
        https://bugs.webkit.org/show_bug.cgi?id=84107

        broke fast/media/media-query-list-08.html in Mac (Requested by
        andersca on #webkit).

        * dom/Document.cpp:
        (WebCore::Document::styleSelectorChanged):
        * dom/Document.h:
        (Document):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):

2012-04-16  Nate Chapin  <japhet@chromium.org>

        Remove unused variable CachedResourceLoader::m_loadFinishing
        https://bugs.webkit.org/show_bug.cgi?id=84100

        Reviewed by Alexey Proskuryakov.

        No new tests, removing dead code.

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::loadDone):
        (WebCore::CachedResourceLoader::decrementRequestCount):
        * loader/cache/CachedResourceLoader.h:
        (CachedResourceLoader):
        (WebCore::CachedResourceLoader::requestCount):

2012-04-16  Andreas Kling  <kling@webkit.org>

        Remove contextStyleSheet argument from CSSValuePool::createFontFaceValue().
        <http://webkit.org/b/83988>

        Reviewed by Antti Koivisto.

        Remove the 'context style sheet' argument to <font face> value parsing.
        It was only ever used to grab at the CSSValuePool back when they were per-Document.

        * css/CSSParser.h:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFontFaceValue):
        * css/CSSValuePool.h:
        * css/CSSValuePool.cpp:
        (WebCore::CSSValuePool::createFontFaceValue):
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::collectStyleForAttribute):

2012-04-16  Dana Jansens  <danakj@chromium.org>

        [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result
        https://bugs.webkit.org/show_bug.cgi?id=83543

        Reviewed by Adrienne Walker.

        It should not be possible to make a rect in layer space that is clipped
        by the camera but for which the screen space transform gives a
        rectilinear output. But use consistent methods for checking that the
        result remains enclosed within the actual pixels.

        One day when clipped is true, we can find an interior axis-aligned rect
        within the clipped result, and checking clipped explicitly makes this
        more clear.

        Covered by existing tests.

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::computeOcclusionBehindLayer):
        (WebCore::::markOccludedBehindLayer):

2012-04-16  Erik Arvidsson  <arv@chromium.org>

        [V8] Don't delete the per context data until the V8IsolatedContext is deleted
        https://bugs.webkit.org/show_bug.cgi?id=83831

        Reviewed by Nate Chapin.

        Test: http/tests/security/isolatedWorld/context-destroy.html

        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::destroy):

2012-04-16  Greg Billock  <gbillock@google.com>

        Add V8 code generation support for MessagePortArray attributes.
        https://bugs.webkit.org/show_bug.cgi?id=83943

        Reviewed by Kentaro Hara.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
        (WebDOMTestSerializedScriptValueInterface::ports):
        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
        (WebDOMTestSerializedScriptValueInterface):
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
        (webkit_dom_test_serialized_script_value_interface_get_property):
        (webkit_dom_test_serialized_script_value_interface_class_init):
        (webkit_dom_test_serialized_script_value_interface_get_ports):
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore):
        (WebCore::jsTestSerializedScriptValueInterfacePorts):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
        (-[DOMTestSerializedScriptValueInterface ports]):
        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::TestSerializedScriptValueInterfaceInternal::portsAttrGetter):
        (TestSerializedScriptValueInterfaceInternal):
        (WebCore):

2012-04-16  Xiaomei Ji  <xji@chromium.org>

        platform/graphics/skia/GlyphPageTreeNodeSkia.cpp mis-use 'continue' for 'break'
        https://bugs.webkit.org/show_bug.cgi?id=83521

        Reviewed by David Levin.

        No functionality change, so no new tests.

        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
        (WebCore::GlyphPage::fill):

2012-04-16  Levi Weintraub  <leviw@chromium.org>

        Make borderBoxRect sub-pixel precise and add a pixel snapped version
        https://bugs.webkit.org/show_bug.cgi?id=84063

        Reviewed by Eric Seidel.

        In an effort to prevent misuse, we previously decided to have borderBoxRect return a
        pixel-snapped IntRect. This is because borderBoxRect returns a rect that's positioned
        at (0,0), and therefore won't snap to the same size as the element it's covering.

        There are a couple uses of borderBoxRect that don't pixel snap the values and require
        sub-pixel precision. This patch adds a pixelSnappedBorderBoxRect that makes the snapping
        explicit, and moves uses that would otherwise pixel snap the rect to this version to
        avoid producing a rect of the incorrect size. For details about pixel snapping with
        LayoutUnits, please see https://trac.webkit.org/wiki/LayoutUnit

        No new tests. No change in behavior.

        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::SpinButtonElement::defaultEventHandler):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addVisualOverflowFromTheme):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::borderBoxRect):
        (WebCore::RenderBox::pixelSnappedBorderBoxRect):
        (WebCore::RenderBox::borderBoundingBox):
        (WebCore::RenderBox::hasVisualOverflow):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollCornerRect):
        (WebCore::RenderLayer::scrollCornerAndResizerRect):
        (WebCore::RenderLayer::horizontalScrollbarStart):
        (WebCore::RenderLayer::positionOverflowControls):
        (WebCore::RenderLayer::paintResizer):
        (WebCore::RenderLayer::hitTestOverflowControls):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::startAnimation):
        (WebCore::RenderLayerBacking::startTransition):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addOverflowFromChildren):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paintReplaced):
        (WebCore::RenderSVGRoot::computeFloatRectForRepaint):

2012-04-16  Anders Carlsson  <andersca@apple.com>

        Crash when running some editing related tests
        https://bugs.webkit.org/show_bug.cgi?id=84091

        Reviewed by Andreas Kling.

        Null check triggeringEvent.

        * editing/Editor.cpp:
        (WebCore::Editor::insertTextWithoutSendingTextEvent):

2012-04-16  Simon Fraser  <simon.fraser@apple.com>

        Rename to updateZOrderListsSlowCase to rebuildZOrderLists
        https://bugs.webkit.org/show_bug.cgi?id=84071

        Reviewed by Antti Koivisto.

        Use a better name for updateZOrderListsSlowCase().

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::rebuildZOrderLists):
        * rendering/RenderLayer.h:
        (RenderLayer):
        (WebCore::RenderLayer::updateZOrderLists):

2012-04-16  Terry Anderson  <tdanderson@chromium.org>

        [chromium] Allow WebGestureEvent to store four floating point values
        https://bugs.webkit.org/show_bug.cgi?id=84053

        Reviewed by Darin Fisher.

        See bug description for an explanation of the changes made.

        * platform/PlatformGestureEvent.h:
        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
        (PlatformGestureEvent):
        (WebCore::PlatformGestureEvent::gammaX):
        (WebCore::PlatformGestureEvent::gammaY):

2012-04-16  Kentaro Hara  <haraken@chromium.org>

        [Refactoring][V8] Remove $indent from NativeToJSValue()
        https://bugs.webkit.org/show_bug.cgi?id=84077

        Reviewed by Nate Chapin.

        $indent in NativeToJSValue() in CodeGeneratorV8.pm is not used.
        This patch removes it.

        No new tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateFunctionCallString):
        (NativeToJSValue):

2012-04-16  Luiz Agostini  <luiz.agostini@palm.com>

        matchMedia() MediaQueryList not updating
        https://bugs.webkit.org/show_bug.cgi?id=75903

        Reviewed by Antti Koivisto.

        Test: fast/media/media-query-list-08.html

        Viewport related MediaQueryList listeners were not triggered and the value
        of matches were not updated if the document's style selector were not
        affected by viewport changes.

        The new method evaluateMediaQueries() is now called by FrameView instead of
        styleSelectorChanged() if the style selector is not affected by viewport changes.

        * dom/Document.cpp:
        (WebCore::Document::evaluateMediaQueries):
        (WebCore):
        (WebCore::Document::styleSelectorChanged):
        * dom/Document.h:
        (Document):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):

2012-04-16  James Robinson  <jamesr@chromium.org>

        [chromium] Delete uncalled unreserveContentsTextures function
        https://bugs.webkit.org/show_bug.cgi?id=84005

        Reviewed by Adrienne Walker.

        This is vestigal dead code.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):

2012-04-13  Simon Fraser  <simon.fraser@apple.com>

        Avoid using backing store for compositing layers that just need to clip
        https://bugs.webkit.org/show_bug.cgi?id=40547

        Reviewed by Dean Jackson.
        
        If a layer becomes composited because it needs to clip composited
        descendants, or if it has perspective, then it doesn't actually
        needs its own backing store; its contents can be painted by an
        ancestor, and we can just have an empty layer that does the clipping
        or applies the perspective transform.
        
        This saves backing store memory on some pages.

        Tests: compositing/backing/no-backing-for-clip-overlap.html
               compositing/backing/no-backing-for-clip.html
               compositing/backing/no-backing-for-perspective.html

        * rendering/RenderLayer.cpp:
        (WebCore):
        (WebCore::RenderLayer::enclosingCompositingLayerForRepaint):
        (WebCore::RenderLayer::paintLayer):
        * rendering/RenderLayer.h:
        (RenderLayer):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::containsPaintedContent):
        (WebCore::RenderLayerBacking::setContentsNeedDisplay):
        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
        (WebCore::RenderLayerBacking::paintIntoLayer):
        * rendering/RenderLayerBacking.h:
        (RenderLayerBacking):
        (WebCore::RenderLayerBacking::paintsIntoCompositedAncestor):
        (WebCore::RenderLayerBacking::setRequiresOwnBackingStore):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
        (WebCore):
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containerForRepaint):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2012-04-16  Brady Eidson  <beidson@apple.com>

        <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050
        WebKit2 back/forward items in the page cache are never removed when the page is closed

        Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee.

        * WebCore.exp.in: Export PageCache::remove()

2012-04-16  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, GTK build fix after r114269.

        * GNUmakefile.list.am:

2012-04-16  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: timeline. Range selection works incorrect with right click
        https://bugs.webkit.org/show_bug.cgi?id=83870

        Reviewed by Pavel Feldman.

        - only start window dragging upon mousedown with left button (right will cause a context menu and we won't see mouseup)

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewWindow.prototype._dragWindow):

2012-04-16  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
        https://bugs.webkit.org/show_bug.cgi?id=83946

        Reviewed by Pavel Feldman.

        Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
        support for moving overview window with horizontal swype over lower timeline pane, thus removing
        an irritating situation when we try to both change overview window and scroll lower timeline pane
        upon a single touchpad gesture. Those willing to move timeline window now would need to position
        mouse over overview.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
        (WebInspector.TimelineOverviewWindow.prototype._zoom):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):

2012-04-16  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
        https://bugs.webkit.org/show_bug.cgi?id=84038

        A bunch of renames "detailed heapshot" -> "heap snapshot".

        Reviewed by Pavel Feldman.

        Tests: inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html
               inspector/profiler/heap-snapshot-comparison-show-all.html
               inspector/profiler/heap-snapshot-comparison-show-next.html
               inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html
               inspector/profiler/heap-snapshot-comparison-sorting.html
               inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html
               inspector/profiler/heap-snapshot-containment-show-all.html
               inspector/profiler/heap-snapshot-containment-show-next.html
               inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html
               inspector/profiler/heap-snapshot-containment-sorting.html
               inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html
               inspector/profiler/heap-snapshot-dominators-show-all.html
               inspector/profiler/heap-snapshot-dominators-show-next.html
               inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html
               inspector/profiler/heap-snapshot-dominators-sorting.html
               inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html
               inspector/profiler/heap-snapshot-summary-show-all.html
               inspector/profiler/heap-snapshot-summary-show-next.html
               inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html
               inspector/profiler/heap-snapshot-summary-sorting.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/HeapSnapshotGridNodes.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotGridNodes.js.
        (WebInspector.HeapSnapshotGridNode):
        (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
        (WebInspector.HeapSnapshotGridNode.prototype.createCell):
        (WebInspector.HeapSnapshotGridNode.prototype.dispose):
        (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
        (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
        (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
        (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
        (WebInspector.HeapSnapshotGridNode.prototype._populate):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
        (WebInspector.HeapSnapshotGridNode.prototype._saveChildren):
        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
        (WebInspector.HeapSnapshotGridNode.prototype.sort):
        (WebInspector.HeapSnapshotLazyGridNode):
        (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
        (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
        (WebInspector.HeapSnapshotGenericObjectNode):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _retainedSizePercent):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
        (WebInspector.HeapSnapshotObjectNode):
        (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity):
        (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode):
        (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
        (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
        (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
        (WebInspector.HeapSnapshotInstanceNode):
        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForEntity):
        (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForNode):
        (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
        (WebInspector.HeapSnapshotInstanceNode.prototype._emptyData):
        (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
        (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
        (WebInspector.HeapSnapshotConstructorNode):
        (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
        (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
        (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
        (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForEntity):
        (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForNode):
        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
        (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
        (WebInspector.HeapSnapshotConstructorNode.prototype.get _retainedSizePercent):
        (WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent):
        (WebInspector.HeapSnapshotIteratorsTuple):
        (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
        (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
        (WebInspector.HeapSnapshotDiffNode):
        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
        (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
        (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
        (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
        (WebInspector.HeapSnapshotDiffNode.prototype.comparator):
        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
        (WebInspector.HeapSnapshotDiffNode.prototype._signForDelta):
        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
        (WebInspector.HeapSnapshotDominatorObjectNode):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForEntity):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForNode):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData):
        (MixInSnapshotNodeFunctions):
        * inspector/front-end/HeapSnapshotView.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotView.js.
        (WebInspector.HeapSnapshotSortableDataGrid):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
        (WebInspector.HeapSnapshotContainmentDataGrid):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
        (WebInspector.HeapSnapshotRetainmentDataGrid):
        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
        (WebInspector.HeapSnapshotConstructorsDataGrid):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
        (WebInspector.HeapSnapshotDiffDataGrid):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
        (WebInspector.HeapSnapshotDominatorsDataGrid):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
        (WebInspector.HeapSnapshotView.profileCallback):
        (WebInspector.HeapSnapshotView):
        (WebInspector.HeapSnapshotView.prototype.dispose):
        (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
        (WebInspector.HeapSnapshotView.prototype.get profile):
        (WebInspector.HeapSnapshotView.prototype.get profileWrapper):
        (WebInspector.HeapSnapshotView.prototype.get baseProfile):
        (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
        (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
        (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback2):
        (WebInspector.HeapSnapshotView.prototype.wasShown):
        (WebInspector.HeapSnapshotView.prototype.willHide):
        (WebInspector.HeapSnapshotView.prototype.onResize):
        (WebInspector.HeapSnapshotView.prototype.searchCanceled):
        (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
        (WebInspector.HeapSnapshotView.prototype.performSearch.matchesById):
        (WebInspector.HeapSnapshotView.prototype.performSearch.matchesQuery):
        (WebInspector.HeapSnapshotView.prototype.performSearch):
        (WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult):
        (WebInspector.HeapSnapshotView.prototype.jumpToLastSearchResult):
        (WebInspector.HeapSnapshotView.prototype.jumpToNextSearchResult):
        (WebInspector.HeapSnapshotView.prototype.jumpToPreviousSearchResult):
        (WebInspector.HeapSnapshotView.prototype.showingFirstSearchResult):
        (WebInspector.HeapSnapshotView.prototype.showingLastSearchResult):
        (WebInspector.HeapSnapshotView.prototype._jumpToSearchResult):
        (WebInspector.HeapSnapshotView.prototype.refreshVisibleData):
        (WebInspector.HeapSnapshotView.prototype._changeBase):
        (WebInspector.HeapSnapshotView.prototype._changeFilter):
        (WebInspector.HeapSnapshotView.prototype._createToolbarWithClassNameFilter):
        (WebInspector.HeapSnapshotView.prototype._changeNameFilter):
        (WebInspector.HeapSnapshotView.prototype._profiles):
        (WebInspector.HeapSnapshotView.prototype._loadProfile):
        (WebInspector.HeapSnapshotView.prototype._loadProfileByIndex):
        (WebInspector.HeapSnapshotView.prototype.isDetailedSnapshot):
        (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
        (WebInspector.HeapSnapshotView.prototype._selectionChanged):
        (WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged):
        (WebInspector.HeapSnapshotView.prototype._setRetainmentDataGridSource):
        (WebInspector.HeapSnapshotView.prototype._mouseDownInContentsGrid):
        (WebInspector.HeapSnapshotView.prototype.changeView.sortingComplete):
        (WebInspector.HeapSnapshotView.prototype.changeView):
        (WebInspector.HeapSnapshotView.prototype._changeView):
        (WebInspector.HeapSnapshotView.prototype._getHoverAnchor):
        (WebInspector.HeapSnapshotView.prototype._resolveObjectForPopover):
        (WebInspector.HeapSnapshotView.prototype._helpClicked.appendHelp):
        (WebInspector.HeapSnapshotView.prototype._helpClicked):
        (WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging):
        (WebInspector.HeapSnapshotView.prototype._retainersHeaderDragging):
        (WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging):
        (WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight):
        (WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
        (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
        (WebInspector.HeapSnapshotProfileType):
        (WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
        (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
        (WebInspector.HeapSnapshotProfileType.prototype.get treeItemTitle):
        (WebInspector.HeapSnapshotProfileType.prototype.get description):
        (WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
        (WebInspector.HeapSnapshotProfileType.prototype.createView):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/heapProfiler.css:
        (.heap-snapshot-view):
        (.heap-snapshot-view.visible):
        (.heap-snapshot-view .view):
        (.heap-snapshot-view .view.visible):
        (.heap-snapshot-view .data-grid tr:empty):
        (.heap-snapshot-view .data-grid):
        (.heap-snapshot-view .data-grid td.count-column):
        (.heap-snapshot-view .data-grid td.addedCount-column):
        (.heap-snapshot-view .data-grid td.removedCount-column):
        (.heap-snapshot-view .data-grid td.countDelta-column):
        (.heap-snapshot-view .data-grid td.addedSize-column):
        (.heap-snapshot-view .data-grid td.removedSize-column):
        (.heap-snapshot-view .data-grid td.sizeDelta-column):
        (.heap-snapshot-view .data-grid td.shallowSize-column):
        (.heap-snapshot-view .data-grid td.retainedSize-column):
        (.heap-snapshot-view .data-grid td.distanceToWindow-column):
        (.heap-snapshot-view .data-grid span.percent-column):
        (.heap-snapshot-view .console-formatted-object, .console-formatted-node):
        (.heap-snapshot-view .console-formatted-string):
        (.heap-snapshot-view .console-formatted-id):
        (.heap-snapshot-view .data-grid tr.selected *):
        (.heap-snapshot-view .data-grid:focus tr.selected *):
        (.heap-snapshot-view .delimiter):
        (.heap-snapshot-view .views-container):
        (.heap-snapshot-view .views-container .view):
        (.heap-snapshot-view .retaining-paths-view):
        (.heap-snapshot-view .class-view-grid):
        (.heap-snapshot-view .class-view-toolbar):
        (.heap-snapshot-view .class-view-toolbar input.class-name-filter):
        (.heap-snapshot-view .retainers-view-header):
        (.heap-snapshot-view .retainers-view-header .title > span):
        (.heap-snapshot-view tr:not(.selected) td.object-column span.highlight):
        (.heap-snapshot-view td.object-column span.grayed):
        (.heap-snapshot-help-status-bar-item .glyph):
        (table.heap-snapshot-help):
        * inspector/front-end/inspector.html:

2012-04-16  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
        https://bugs.webkit.org/show_bug.cgi?id=83946

        Reviewed by Pavel Feldman.

        Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
        support for moving overview window with horizontal swype over lower timeline pane, thus removing
        an irritating situation when we try to both change overview window and scroll lower timeline pane
        upon a single touchpad gesture. Those willing to move timeline window now would need to position
        mouse over overview.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
        (WebInspector.TimelineOverviewWindow.prototype._zoom):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):

2012-04-11  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] HRTFDatabaseLoader conflicts with AudioFileReader
        https://bugs.webkit.org/show_bug.cgi?id=78095

        Reviewed by Martin Robinson.

        Moved the GStreamer initialization logic to a new
        GStreamerUtilities module, used by the MediaPlayer and the
        AudioContext. I also removed the static variables as
        gst_init_check already handles cases where it's called multiple
        times.

        * GNUmakefile.list.am:
        * Modules/webaudio/AudioContext.cpp:
        (WebCore::AudioContext::constructCommon):
        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
        (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
        (WebCore::AudioFileReader::createBus):
        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
        (WTF::adoptGRef):
        (WTF):
        (WTF::GstElementFactory):
        * platform/graphics/gstreamer/GRefPtrGStreamer.h:
        (WTF):
        * platform/graphics/gstreamer/GStreamerUtilities.cpp: Added.
        (WebCore):
        (WebCore::initializeGStreamer):
        * platform/graphics/gstreamer/GStreamerUtilities.h: Added.
        (WebCore):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::doGstInit):

2012-04-16  ChangSeok Oh  <shivamidow@gmail.com>

        Update GraphicsContext3DOpenGLES.cpp and fix some issues to build with GLES.
        https://bugs.webkit.org/show_bug.cgi?id=83982

        Reviewed by Martin Robinson.

        GL_BGRA is not defined in GLESv2, so it causes build-break at readRenderingResults.
        To resolve this, a helper function readPixelsAndConvertToBGRAIfNecessary is added
        in GC3DOpenGL.cpp & GC3DOpenGLES.cpp and it's used in GC3DOpenGLCommon.cpp.
        And some other issues to build with GLES are gone with this patch.

        No new tests, since no new feature.

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
        (WebCore):
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::readRenderingResults):
        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
        (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
        (WebCore):
        (WebCore::GraphicsContext3D::reshapeFBOs):
        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):

2012-04-16  Xiaomei Ji  <xji@chromium.org>

        [chromium] wrong justification for arabic/persian page in cr-win.
        https://bugs.webkit.org/show_bug.cgi?id=83227

        Reviewed by Kent Tamura.

        Disable kashida justification if using Skia to draw.

        Test: fast/text/international/arabic-justify.html

        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::justify):

2012-04-16  Jia Pu  <jpu@apple.com>

        Build fix.

        Change set 114220 broke OS X internal build. Change set 114231 attempted to fix it, but isn't entirely
        correct. This patch amends change set 114231.

        * WebCore.exp.in:
        * editing/DictationAlternative.cpp:
        (WebCore::DictationAlternative::DictationAlternative):
        * editing/DictationAlternative.h:
        (DictationAlternative):

2012-04-16  Antti Koivisto  <antti@apple.com>

        REGRESSION (r104445): Style is not recomputed on serenaandlily.com
        https://bugs.webkit.org/show_bug.cgi?id=83663

        Reviewed by Andreas Kling.
        
        CSS class and id selectors are case insensitive in non-strict modes. The code
        that invalidated the scope elements used getElementByID() which is case
        sensitive in all modes. As a result we would fail to invalidate elements
        that would match a style rule but used different case in id.
        
        The new code invalidates by crawling the DOM tree. This often (when there are classes) 
        actually faster than the existing code as we can now handle everything in a single pass.
        Each class scope required a crawl with the old code.
        
        The code uses the same functions as the selector matching code to get the same behavior.
        
        The maximum class limit is lifted as number of classes does not affect complexity anymore.

        Test: fast/css/id-or-class-before-stylesheet-strict.html

        * css/SelectorChecker.h:
        (WebCore::SelectorChecker::elementMatchesSelectorScopes):
        (WebCore):
        * dom/Document.cpp:
        (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
        (WebCore):

2012-04-16  Uday Kiran  <udaykiran@motorola.com>

        CSS3 Selectors failures on css3test.com
        https://bugs.webkit.org/show_bug.cgi?id=83885

        Reviewed by Zoltan Herczeg.

        Parsing fix for CSS3 selectors :nth-child(), :nth-last-child() :nth-of-type() :nth-last-of-type()
        with values -n-b and n-b as they are of valid form an+b where a and b are integers.
        http://www.w3.org/TR/selectors/#structural-pseudos

        Descriptors of form n-b or -n-b, where b is number, are valid CSS identifiers.
        However, in NthChildMode we need to check whether this identifier is a valid nth child descriptor.
        The original code only checked this if the string was n- or -n- but this is not enough.
        We need to check everything which starts with an n- or -n- prefix.

        Test: css3/parsing-css3-nthchild.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::lex):

2012-04-16  Eric Carlson  <eric.carlson@apple.com>

        ASSERT in notifyChildInserted when HTMLMediaElement is removed from tree
        https://bugs.webkit.org/show_bug.cgi?id=83949

        Reviewed by Antti Koivisto.

        No new tests. I was not able to create a reproducible test case, but I have been unable
        to reproduce the ASSERT that occassionally fired in existing tests since I have been
        living on these changes.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::insertedIntoDocument): Call configureMediaControls.
        (WebCore::HTMLMediaElement::removedFromDocument): Ditto.
        (WebCore::HTMLMediaElement::configureMediaControls): Don't show controls when the
            media element is not in a Document.

2012-04-16  Eric Carlson  <eric.carlson@apple.com>

        Layout Test media/track/track-delete-during-setup.html is hitting an ASSERT_NOT_REACHED
        https://bugs.webkit.org/show_bug.cgi?id=82269

        Reviewed by Antti Koivisto.

        No new tests, already tested by media/track/track-delete-during-setup.html.

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::insertedIntoDocument): Don't notify the media element until/unless
        the track element is inserted into the document.
        * html/HTMLTrackElement.h:

2012-04-16  Yael Aharon  <yael.aharon@nokia.com>

        [Qt][WK2] Fixed elements position is wrong after zooming.
        https://bugs.webkit.org/show_bug.cgi?id=83981

        Reviewed by Kenneth Rohde Christiansen.

        When setFixedVisibleContentRect is called we mark all fixed elements in the frame for layout.
        In order to find these elements, RenderView maintains a list of fixed elements.
        They are added and removed at the same time that they are added and removed from their parent RenderBlock.
        The idea is taken from the iOS5.1 branch, at opensource.apple.com.
        Added a manual test that allows removing and adding fixed elements at will.

        * page/FrameView.cpp:
        (WebCore::FrameView::setFixedVisibleContentRect):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::insertPositionedObject):
        (WebCore::RenderBlock::removePositionedObject):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::setFixedPositionedObjectsNeedLayout):
        (WebCore):
        (WebCore::RenderView::insertFixedPositionedObject):
        (WebCore::RenderView::removeFixedPositionedObject):
        * rendering/RenderView.h:
        (RenderView):

2012-04-13  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: extract ContentProvider into its own file, make NetworkRequest, Resoruce and others implement it.
        https://bugs.webkit.org/show_bug.cgi?id=83922

        Reviewed by Yury Semikhatsky.

        We have two different types of requestContent methods: one on the source mapping level and one on the resource level.
        There are also adapters between the two. I'm aligning it all to a single requestContent method declared in ContentProvider.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
        * inspector/front-end/ContentProvider.js: Added.
        (WebInspector.ContentProvider):
        (WebInspector.ContentProvider.prototype.contentURL):
        (WebInspector.ContentProvider.prototype.requestContent):
        (WebInspector.ContentProvider.prototype.searchInContent):
        (WebInspector.ContentProvider.SearchMatch):
        * inspector/front-end/ContentProviders.js:
        (WebInspector.ScriptContentProvider.prototype.contentURL):
        (WebInspector.ScriptContentProvider.prototype.requestContent):
        (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentURL):
        (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
        (WebInspector.CompilerSourceMappingContentProvider.prototype.contentURL):
        (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
        (WebInspector.StaticContentProvider.prototype.contentURL):
        (WebInspector.StaticContentProvider.prototype.requestContent):
        * inspector/front-end/DebuggerPresentationModel.js:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._getResourceContent):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
        * inspector/front-end/NetworkItemView.js:
        (WebInspector.RequestContentView.prototype._ensureInnerViewShown.callback):
        (WebInspector.RequestContentView.prototype._ensureInnerViewShown):
        * inspector/front-end/NetworkRequest.js:
        (WebInspector.NetworkRequest.prototype.contentURL):
        (WebInspector.NetworkRequest.prototype.requestContent):
        (WebInspector.NetworkRequest.prototype.searchInContent):
        (WebInspector.NetworkRequest.prototype.populateImageSource):
        (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent):
        (WebInspector.NetworkRequest.prototype._innerRequestContent):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createContentProvider):
        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
        (WebInspector.RawSourceCode.prototype._createSourceMapping):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.contentURL):
        (WebInspector.Resource.prototype.requestContent):
        (WebInspector.Resource.prototype._innerRequestContent.callback):
        (WebInspector.Resource.prototype._innerRequestContent):
        (WebInspector.ResourceRevision.prototype.contentURL):
        (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper):
        (WebInspector.ResourceRevision.prototype.requestContent):
        (WebInspector.ResourceRevision.prototype.searchInContent):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceSourceFrame.prototype.requestContent):
        (WebInspector.ResourceSourceFrame.prototype._contentChanged):
        (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
        * inspector/front-end/ScriptFormatter.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.requestVisibleScriptOutline):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.setContent):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):
        (WebInspector.UISourceCode.prototype.requestContent):
        (WebInspector.UISourceCode.prototype._didRequestContent):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-04-16  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Missing readyState 2 when a XMLHttpRequest calls xmlhttp.open("HEAD","notExist.html",true).
        https://bugs.webkit.org/show_bug.cgi?id=83866

        Reviewed by George Staikos.
        
        We receive 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true).
        There are no data received because its method is HEAD.
        This case shouldn't be treated as a failure.

        Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleNotifyClose):

2012-04-16  Jon Lee  <jonlee@apple.com>

        Build fix.

        * WebCore.exp.in:
        * editing/DictationAlternative.cpp:
        (WebCore::DictationAlternative::DictationAlternative):
        * editing/DictationAlternative.h:
        (DictationAlternative):

2012-04-16  George Staikos  <staikos@webkit.org>

        Fix signed/unsigned mismatch warning for BlackBerry debug builds.
        https://bugs.webkit.org/show_bug.cgi?id=80790

        Reviewed by Rob Buis.

        * platform/blackberry/CookieMap.cpp:
        (WebCore::CookieMap::removeCookieAtIndex):

2012-04-15  Kent Tamura  <tkent@chromium.org>

        WebCore::weekDayShortLabels() for ICU always returns the fallback labels
        https://bugs.webkit.org/show_bug.cgi?id=83991

        Reviewed by Hajime Morita.

        We need to specfiy 1-based index to udat_getSymbols() with
        UDAT_SHORT_WEEKDAYS. Also, udat_countSymbols() with UDAT_SHORT_WEEKDAYS
        returns 8.

        No new tests because this behavior depends on locale setting.

        * platform/text/LocalizedCalendarICU.cpp:
        (WebCore::createLabelVector): Add startIndex argument.
        (WebCore::createMonthLabels):
        Pass UDAT_JANUARRY(0) as startIndex to createLabelVector().
        (WebCore::createWeekDayShortLabels):
        Pass UDAT_SUNDAY(1) as startIndex to createLabelVector().

2012-04-15  MORITA Hajime  <morrita@google.com>

        Unreviewed attempt to chromium-win build fix.

        * editing/DictationAlternative.h:

2012-04-15  Noel Gordon  <noel.gordon@gmail.com>

        Align JSC/V8 bindings canvas.toDataURL() code flows
        https://bugs.webkit.org/show_bug.cgi?id=84003

        Reviewed by Eric Seidel.

        Align JSC/V8 bindings canvas.toDataURL() code flow so that the binding
        code implementations read alike.

        No new tests. Covered by existing cnavas toDataURL tests.

        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::toDataURL):

2012-04-15  Jia Pu  <jpu@apple.com>

        Introducing DictationCommand.
        https://bugs.webkit.org/show_bug.cgi?id=83549

        Reviewed by Hajime Morita.

        No new tests. This patch doesn't introduce any change of new functionality. It prepares for
        additional changes which will inlude tests.

        On OS X, alternative dictation results need to be stored as document markers. This patch introduces
        following changes to achieve this:
        1. Added DictationMarkDetails to store non-string type maker detail.
        2. Introduce DictationCommand, which is similor to TypingCommand, but allows inserting text with
          attached markers.
        3. Added Editor::insertDictatedText as interaface to WebKit and WebKit2.
        4. Added struct DictationAlternative to pass dictation related info from WebKit to WebCore.

        Several fragments of code in TypingCommand can be also used by DictationCommand. So this patch
        introduced a new class, TextInsertionBaseCommand. It's a subclass of CompositeEditCommmand, and
        base class of both TypingCommand and DictationCommand.

        This patch also extends InsertTextCommand class. Its constructor will take an TextInsertionMarkerSupplier
        object. After text is inserted to a node, InsertTextCommand would give marker supplier a chance to
        add document markers to the inserted text.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::eventTargetNodeForDocument): Moved this function from EventHandler so that it can be used
          by AlternativeTextController.
        (WebCore):
        * dom/Document.h:
        (WebCore):
        * dom/DocumentMarker.cpp:
        (WebCore::DocumentMarker::DocumentMarker): New constructor that takes a pointer to DocumentMarkerDetails object.
        (WebCore):
        * dom/DocumentMarker.h:
        (WebCore::DocumentMarker::AllMarkers::AllMarkers):
        (DocumentMarker):
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::addMarker):
        (WebCore):
        * dom/DocumentMarkerController.h:
        (DocumentMarkerController):
        * dom/TextEvent.cpp:
        (WebCore::TextEvent::createForDictation):
        (WebCore):
        (WebCore::TextEvent::TextEvent):
        * dom/TextEvent.h: Added member variable for dictation alternatives.
        (TextEvent):
        (WebCore::TextEvent::isDictation):
        (WebCore::TextEvent::dictationAlternatives):
        * dom/TextEventInputType.h:
        * editing/AlternativeTextController.cpp:
        (WebCore::AlternativeTextController::AlternativeTextController):
        (WebCore::AlternativeTextController::insertDictatedText): Used by Editor::insertDictatedText().
        (WebCore):
        * editing/AlternativeTextController.h:
        (WebCore):
        (DictationMarkerDetails):
        (WebCore::DictationMarkerDetails::create):
        (WebCore::DictationMarkerDetails::originalText):
        (WebCore::DictationMarkerDetails::dictationContext):
        (WebCore::DictationMarkerDetails::DictationMarkerDetails):
        (AlternativeTextController):
        * editing/CompositeEditCommand.h:
        (WebCore::CompositeEditCommand::isDictationCommand):
        * editing/DictationAlternative.cpp: Added.
        (WebCore):
        (WebCore::DictationAlternative::DictationAlternative):
        * editing/DictationAlternative.h: Added. Data structure for passing dictation related data from WebKit to WebCore.
        (DictationAlternative):
        (WebCore):
        * editing/DictationCommand.cpp: Added.
        (WebCore):
        (DictationCommandLineOperation):
        (WebCore::DictationCommandLineOperation::DictationCommandLineOperation):
        (WebCore::DictationCommandLineOperation::operator()):
        (DictationMarkerSupplier):
        (WebCore::DictationMarkerSupplier::create):
        (WebCore::DictationMarkerSupplier::addMarkersToTextNode):
        (WebCore::DictationMarkerSupplier::DictationMarkerSupplier):
        (WebCore::DictationCommand::DictationCommand):
        (WebCore::DictationCommand::insertText):
        (WebCore::DictationCommand::doApply):
        (WebCore::DictationCommand::insertTextRunWithoutNewlines):
        (WebCore::DictationCommand::insertParagraphSeparator):
        (WebCore::DictationCommand::collectDictationAlternativesInRange):
        * editing/DictationCommand.h: Added.
        (WebCore):
        (DictationCommand):
        (WebCore::DictationCommand::isDictationCommand):
        (WebCore::DictationCommand::create):
        * editing/EditingAllInOne.cpp:
        * editing/Editor.cpp:
        (WebCore::Editor::insertDictatedText): Main interface that allows WebKit passes in text with attached dictation information.
        (WebCore):
        (WebCore::Editor::insertTextWithoutSendingTextEvent):
        (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
        * editing/Editor.h:
        (Editor):
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::InsertTextCommand):
        (WebCore):
        (WebCore::InsertTextCommand::doApply):
        * editing/InsertTextCommand.h:
        (WebCore):
        (TextInsertionMarkerSupplier): Interface to allow caller of InsertTextCommand to add document markers to inserted text.
        (WebCore::TextInsertionMarkerSupplier::~TextInsertionMarkerSupplier):
        (WebCore::TextInsertionMarkerSupplier::TextInsertionMarkerSupplier):
        (WebCore::InsertTextCommand::createWithMarkerSupplier):
        (InsertTextCommand):
        * editing/TextInsertionBaseCommand.cpp: Added. This class contains functions shared by TypingCommand and DictationCommand.
        (WebCore):
        (WebCore::TextInsertionBaseCommand::TextInsertionBaseCommand):
        (WebCore::TextInsertionBaseCommand::applyTextInsertionCommand):
        (WebCore::dispatchBeforeTextInsertedEvent):
        (WebCore::canAppendNewLineFeedToSelection):
        * editing/TextInsertionBaseCommand.h: Added.
        (WebCore):
        (TextInsertionBaseCommand):
        (WebCore::TextInsertionBaseCommand::~TextInsertionBaseCommand):
        (WebCore::forEachLineInString):
        * editing/TypingCommand.cpp:
        (TypingCommandLineOperation):
        (WebCore::TypingCommandLineOperation::TypingCommandLineOperation):
        (WebCore::TypingCommandLineOperation::operator()):
        (WebCore::TypingCommand::TypingCommand):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::insertLineBreak):
        (WebCore::TypingCommand::insertParagraphSeparator):
        * editing/TypingCommand.h:
        * page/EventHandler.cpp:
        * rendering/InlineTextBox.cpp:
        (WebCore::lineStyleForMarkerType):
        (WebCore::InlineTextBox::paintDocumentMarker): Renamed existing function to reflect new funcationality.
        (WebCore::InlineTextBox::paintDocumentMarkers):
        * rendering/InlineTextBox.h:
        (InlineTextBox):
        * testing/Internals.cpp:
        (WebCore::markerTypesFrom):

2012-04-15  James Robinson  <jamesr@chromium.org>

        [chromium] LayerRendererChromium shouldn't know anything about CCLayerImpl
        https://bugs.webkit.org/show_bug.cgi?id=83415

        Reviewed by Adrienne Walker.

        This removes all knowledge of CCLayerImpl from LayerRendererChromium. The most significant move code-wise is
        moving the HUD up to live on CCLayerTreeHostImpl, since it's aware of the layer tree. This involves two changes.
        First, CCHeadsUpDisplay is in charge of populating a ManagedTexture but the actual drawing code now lives in
        LayerRendererChromium. Second, since we don't recreate CCLayerTreeHostImpl on a lost context, the font atlas
        ownership is much simpler. Now a CCFontAtlas is created on the main thread if needed and passed asynchronously
        to the CCHeadsUpDisplay which takes ownership of the atlas.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::initialize):
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::beginDrawingFrame):
        (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
        (WebCore):
        (WebCore::LayerRendererChromium::finishDrawingFrame):
        (WebCore::LayerRendererChromium::swapBuffers):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromiumClient):
        (LayerRendererChromium):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
        (WebCore::CCHeadsUpDisplay::setFontAtlas):
        (WebCore):
        (WebCore::CCHeadsUpDisplay::enabled):
        (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
        (WebCore::CCHeadsUpDisplay::draw):
        (WebCore::CCHeadsUpDisplay::drawHudContents):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
        (WebCore):
        (WebCore::CCHeadsUpDisplay::create):
        (CCHeadsUpDisplay):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::canDraw):
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        (WebCore::CCLayerTreeHostImpl::swapBuffers):
        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
        (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage):
        (WebCore::CCLayerTreeHostImpl::layerTreeAsText):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::setFontAtlas):
        (WebCore::CCLayerTreeHostImpl::dumpRenderSurfaces):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::rootLayer):
        * platform/graphics/chromium/cc/CCProxy.h:
        (WebCore):
        (CCProxy):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
        (WebCore::CCSingleThreadProxy::recreateContext):
        (WebCore::CCSingleThreadProxy::setFontAtlas):
        (WebCore):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
        (WebCore::CCThreadProxy::setFontAtlas):
        (WebCore):
        (WebCore::CCThreadProxy::setFontAtlasOnImplThread):
        (WebCore::CCThreadProxy::recreateContextOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-04-15  Antti Koivisto  <antti@apple.com>

        Capture CSS parser context
        https://bugs.webkit.org/show_bug.cgi?id=83998

        Reviewed by Andreas Kling.

        Currently the CSS parser calls to the Document and StyleSheetInternal objects to get settings, base URL etc.
        The required information should be passed in on parser construction instead. The parser should not need to
        know about the document at all.
        
        The patch adds CSSParserContext struct that captures the parsing context. StyleSheetInternal saves the
        parsing context and reuses it for any further parsing.
        
        If the same stylesheet source is parsed with an identical context then the resulting stylesheet structure will
        be identical. This will allow sharing parsed stylesheets in the future.

        * css/CSSGrammar.y:
        * css/CSSImportRule.cpp:
        (WebCore::StyleRuleImport::setCSSStyleSheet):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::insertRule):
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::setSelectorText):
        * css/CSSParser.cpp:
        (WebCore):
        (WebCore::strictCSSParserContext):
        (WebCore::CSSParserContext::CSSParserContext):
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseKeyframeRule):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseSelector):
        (WebCore::CSSParser::completeURL):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseAttr):
        (WebCore::CSSParser::parseFillImage):
        (WebCore::CSSParser::parseFontFaceSrcURI):
        (WebCore::CSSParser::parseFontFaceSrc):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore::CSSParser::parseImageSet):
        (WebCore::CSSParser::parseCustomFilter):
        (WebCore::CSSParser::parseFilter):
        (WebCore::CSSParser::cssRegionsEnabled):
        (WebCore::CSSParser::parseFlowThread):
        (WebCore::CSSParser::createMediaRule):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        (WebCore::CSSParser::createPageRule):
        (WebCore::CSSParser::createKeyframe):
        * css/CSSParser.h:
        (CSSParser):
        (WebCore::CSSParser::inStrictMode):
        (WebCore::CSSParser::inQuirksMode):
        (WebCore::CSSParser::validUnit):
        * css/CSSParserMode.h:
        (WebCore):
        (CSSParserContext):
        * css/CSSRule.h:
        (WebCore::CSSRule::parserContext):
        (CSSRule):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):
        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::StyleSheetInternal):
        (WebCore::StyleSheetInternal::parseString):
        (WebCore::StyleSheetInternal::parseStringAtLine):
        (WebCore):
        (WebCore::StyleSheetInternal::updateBaseURL):
        (WebCore::StyleSheetInternal::completeURL):
        (WebCore::CSSStyleSheet::insertRule):
        * css/CSSStyleSheet.h:
        (StyleSheetInternal):
        (WebCore::StyleSheetInternal::parserContext):
        (WebCore::StyleSheetInternal::charset):
        (WebCore::StyleSheetInternal::setFinalURL):
        (WebCore::StyleSheetInternal::baseURL):
        * css/CSSValuePool.cpp:
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::parseDeclaration):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::insertRule):
        * dom/Document.cpp:
        (WebCore::Document::webkitGetFlowByName):
        (WebCore::Document::pageUserSheet):
        (WebCore::Document::pageGroupUserSheets):
        * dom/Element.cpp:
        (WebCore::Element::webkitMatchesSelector):
        * dom/Node.cpp:
        (WebCore::Node::querySelector):
        (WebCore::Node::querySelectorAll):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::parseStyleSheet):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::createSheet):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        * html/shadow/ContentSelectorQuery.cpp:
        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        (WebCore::InspectorStyleSheet::ensureSourceData):
        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):

2012-04-15  Noel Gordon  <noel.gordon@gmail.com>

        [Cairo] Separate image encoding from dataURL construction
        https://bugs.webkit.org/show_bug.cgi?id=83975

        Reviewed by Martin Robinson.

        Remove the implicit assumption that a dataURL is the only desired output format
        of the image encoding phase.

        No new tests. Covered by existing canvas toDataURL tests.

        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::writeFunction): Rename closure to output.
        (WebCore::encodeImage): Output the encoded image to the provided Vector<char>.
        PNG format is only supported per the Cairo encoding MIMETypeRegistry.
        (WebCore):
        (WebCore::ImageBuffer::toDataURL): Refactor to use encodeImage().

2012-04-15  Yuta Kitamura  <yutak@chromium.org>

        Leak in WebSocketChannel with workers/worker-reload.html (part 2)
        https://bugs.webkit.org/show_bug.cgi?id=83749

        Reviewed by David Levin.

        Second attempt to remove leaks around WorkerThreadableWebSocketChannel.

        No new tests, as this patch does not impose any functional change.

        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
        (WebCore::ThreadableWebSocketChannelClientWrapper::failedWebSocketChannelCreation):
        (WebCore::ThreadableWebSocketChannelClientWrapper::setFailedWebSocketChannelCreation):
        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
        Add a boolean flag indicating whether Bridge::initialize() has exited without receiving
        a pointer to the peer object.
        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::create):
        (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask):
        (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::performTask):
        Kick mainThreadDestroy() to delete the peer if the bridge has failed to receive
        a pointer to the peer (waitForMethodCompletion() exited due to message queue's
        termination).
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
        (WorkerThreadableWebSocketChannel):
        Make WorkerContextDidInitializeTask an inner class of WorkerThreadableWebSocketChannel
        so it can refer WorkerThreadableWebSocketChannel's static member function (mainThreadDestroy()).

2012-04-14  Emil A Eklund  <eae@chromium.org>

        Fix pixelSnapping for CalendarPicker, MediaControl and ScrollbarPart
        https://bugs.webkit.org/show_bug.cgi?id=83929

        Reviewed by Eric Seidel.

        Update CalendarPickerElement and MediaControlElements to use
        pixelSnappedSize in preparation for turning on subpixel support.
        Update RenderScrollbarPart to pixel snap rect before painting to ensure
        that it is painted on device pixel boundaries.

        No new tests, no change in functionality.

        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::CalendarPickerElement::openPopup):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::RenderMediaVolumeSliderContainer::layout):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::paintIntoRect):

2012-04-14  Kent Tamura  <tkent@chromium.org>

        Day of week labels are wrong if WebCore::firstDayOfWeek() is not 0
        https://bugs.webkit.org/show_bug.cgi?id=83990

        Reviewed by Kentaro Hara.

        We passed the "weekStartDay" property value as a
        string. CalendarPickerElement::writeDocument() created:
            weekStartDay: "1",
        and the JavaScript code used it in the following code:
            dayLabels[(weekStartDay + i) % 7]
        If weekStartDay was "1", the expression (weekStartDay + i)
        produced "10", "11", "12", ... We expected "1", "2", "3", ...

        We need to pass the "weekStartDay" property as a number.

        No new tests because we have no ways to test this for now. We'll
        introduce tests for the calendar picker later.

        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::addProperty): Add addProperty() function for a number.
        (WebCore::CalendarPickerElement::writeDocument):
        Pass a number, not a serialized number.

2012-04-14  Joe Thomas  <joethomas@motorola.com>

        Viewport-percentage Length units does not work for Replaced elements size
        https://bugs.webkit.org/show_bug.cgi?id=83425

        Reviewed by Antti Koivisto.

        Added the support for viewport-percentage length units while calculating the width/height of replaced elements.

        Tests: css3/viewport-percentage-lengths/viewport-percentage-image-size.html

        * platform/Length.h:
        (WebCore::Length::isSpecified):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):

2012-04-14  Joe Thomas  <joethomas@motorola.com>

        CSSStyleDeclaration.getPropertyValue() for 'border-radius' returns null when value is set
        https://bugs.webkit.org/show_bug.cgi?id=80736

        Reviewed by Antti Koivisto.

        Added support for fetching the value of 'border-radius' CSS property which was missing.

        Test: fast/css/border-radius-property-value.html

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::getPropertyValue):

2012-04-14  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=83826
        
        Wrong Font code path was chosen after r114032. The TextRun constructor has an additional argument that
        needs to be included if rounding hacks are mentioned.

        Reviewed by Dan Bernstein.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintItemForeground):
        * rendering/break_lines.cpp:
        (WebCore::nextBreakablePosition):

2012-04-14  Noel Gordon  <noel.gordon@gmail.com>

        [Cairo] ImageBuffer::toDataURL(): improve error handling, add mimeType ASSERTs
        https://bugs.webkit.org/show_bug.cgi?id=83569

        Reviewed by Eric Seidel.

        No new tests. Covered by exiting fast/canvas/*toDataURL* tests.

        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::writeFunction): Return write success or failure with the appropriate
        cairo status code per http://cairographics.org/manual/cairo-PNG-Support.html
        (WebCore::ImageBuffer::toDataURL): Add mimeType ASSERT()s. <canvas> ensures that
        a valid mimeType (supported by the port) is sent to toDataURL() calls. Check for
        encoding failure and return "data:," if so.

2012-04-13  David Reveman  <reveman@chromium.org>

        [Chromium] Avoid unnecessary full tile updates for checkerboard tiles.
        https://bugs.webkit.org/show_bug.cgi?id=83804

        Reviewed by James Robinson.

        Cleanup code that determines if we need to use a buffered update and
        avoid buffering of tiles that are not in use by the impl thread.

        Tests: CCLayerTreeHostTestAtomicCommitWithPartialUpdate.runMultiThread
               TiledLayerChromiumTest.partialUpdates

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (UpdatableTile):
        (WebCore::UpdatableTile::UpdatableTile):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
        (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
        (WebCore::TiledLayerChromium::updateTiles):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::bufferedUpdates):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):

2012-04-13  Dana Jansens  <danakj@chromium.org>

        [chromium] Cleanup texture memory eviction when LayerTreeHost becomes invisible
        https://bugs.webkit.org/show_bug.cgi?id=83899

        Reviewed by Adrienne Walker.

        When a LTH becomes invisible, the texture eviction is spread out across
        two different functions and is not entirely clear. We move all the logic
        together into a single place in didBecomeInvisibleOnImplThread() and
        make the consequences of the current code more clear.

        Covered by existing tests.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread):
        (WebCore::CCLayerTreeHost::setVisible):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):

2012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114036.
        http://trac.webkit.org/changeset/114036
        https://bugs.webkit.org/show_bug.cgi?id=83969

        Breaks gmail.com causing it to never finish loading (Requested
        by danakj on #webkit).

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNamedConstructorCallback):
        (GenerateImplementation):
        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObj::createPrototype):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestNode.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore):
        * bindings/v8/NPV8Object.cpp:
        (WebCore::npObjectTypeInfo):
        * bindings/v8/V8BindingPerContextData.cpp:
        (WebCore::V8BindingPerContextData::init):
        (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
        (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
        * bindings/v8/V8BindingPerContextData.h:
        (V8BindingPerContextData):
        * bindings/v8/V8HiddenPropertyName.h:
        (WebCore):
        * bindings/v8/WrapperTypeInfo.h:
        (WrapperTypeInfo):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore):
        * dom/NodeList.idl:

2012-04-13  Alexandre Elias  <aelias@google.com>

        [chromium] Add null pointer check to animatePageScale
        https://bugs.webkit.org/show_bug.cgi?id=83940

        Reviewed by James Robinson.

        Add null pointer check to startPageScaleAnimation.

        If the root scroll layer goes away in the middle of a page scale
        animation, there can be a null pointer access here.

        No new tests.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::animatePageScale):

2012-04-13  Dana Jansens  <danakj@chromium.org>

        [chromium] Replicas should be included in the computed occlusion
        https://bugs.webkit.org/show_bug.cgi?id=82262

        Reviewed by Adrienne Walker.

        When merging a surface's occlusion up to its target, make a copy of it
        where the replica will be as well, and make sure that occlusion from a
        RenderSurface does not leave its clipRect.

        Unit test: CCOcclusionTrackerTestReplicaDoesOcclude
                   CCOcclusionTrackerTestReplicaWithClipping
                   CCOcclusionTrackerTestSurfaceChildOfSurface

        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::hasReplica):
        (WebCore):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (RenderSurfaceChromium):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::transformSurfaceOpaqueRegion):
        (WebCore::::leaveToTargetRenderSurface):

2012-04-13  Raymond Liu  <raymond.liu@intel.com>

        AudioContext createChannelMerger() method should have optional argument for number of inputs.
        https://bugs.webkit.org/show_bug.cgi?id=83759

        Reviewed by Chris Rogers.

        Check https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html for the optional argument.

        Test: webaudio/audiochannelmerger-basic.html

        * Modules/webaudio/AudioChannelMerger.cpp:
        (WebCore):
        (WebCore::AudioChannelMerger::create):
        (WebCore::AudioChannelMerger::AudioChannelMerger):
        * Modules/webaudio/AudioChannelMerger.h:
        (AudioChannelMerger):
        * Modules/webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createChannelMerger):
        (WebCore):
        * Modules/webaudio/AudioContext.h:
        (AudioContext):
        * Modules/webaudio/AudioContext.idl:

2012-04-13  Dana Jansens  <danakj@chromium.org>

        [chromium] Remove viewport memory restrictions
        https://bugs.webkit.org/show_bug.cgi?id=83316

        Reviewed by Adrienne Walker.

        We remove the memory restriction on web pages based on viewport size
        on desktop. This is causing pages that have complex use of layers to
        end up hitting our memory limits, and moreso when the window is small.
        Page complexity is not really a function of the viewport size.

        We drop the mininum memory limit entirely, and just evict all
        unprotected textures instead.

        Covered by existing tests.

        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::highLimitBytes):
        (WebCore::TextureManager::reclaimLimitBytes):
        * platform/graphics/chromium/TextureManager.h:
        (TextureManager):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
        (WebCore::CCLayerTreeHost::setVisible):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
        (WebCore::CCLayerTreeHost::updateLayers):

2012-04-13  Ken Buchanan  <kenrb@chromium.org>

        Optimize tracking of intruding floats being removed from RenderBlock during layout
        https://bugs.webkit.org/show_bug.cgi?id=82928

        Reviewed by David Hyatt.

        Performance tweaks in RenderBlock layout as a follow up to r112935.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clearFloats):

2012-04-13  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Implement NamedFlow::contentNodes attribute
        https://bugs.webkit.org/show_bug.cgi?id=80134

        Reviewed by David Hyatt.

        The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
        In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
        The list of nodes is returned as a static node list.

        The content nodes are stored in RenderNamedFlowThread. The content nodes are added to the list in NodeRenderingContext::moveToFlowThreadIfNeeded
        and removed from the list in Element::detach. When an element -webkit-flow-into property is changed, the element is detached and attached.
        I have also added a bit in NodeFlags to mark that an element is part of a named flow (and the corresponding inNamedFlow/setInNamedFlow/clearInNamedFlow functions).

        Test: fast/regions/webkit-named-flow-content-nodes.html

        * dom/Document.cpp:
        (WebCore::Document::webkitGetFlowByName):
        * dom/Document.h:
        * dom/Element.cpp:
        (WebCore::Element::detach):
        * dom/Node.h:
        (WebCore::Node::inNamedFlow):
        (WebCore::Node::setInNamedFlow):
        (WebCore::Node::clearInNamedFlow):
        (Node):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        * dom/WebKitNamedFlow.cpp:
        (WebCore::WebKitNamedFlow::contentNodes):
        (WebCore):
        * dom/WebKitNamedFlow.h:
        (WebKitNamedFlow):
        * dom/WebKitNamedFlow.idl:
        * rendering/FlowThreadController.cpp:
        (WebCore::FlowThreadController::registerNamedFlowContentNode):
        (WebCore):
        (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
        * rendering/FlowThreadController.h:
        (FlowThreadController):
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore):
        (WebCore::RenderNamedFlowThread::registerNamedFlowContentNode):
        (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentNode):
        * rendering/RenderNamedFlowThread.h:
        (WebCore):
        (RenderNamedFlowThread):
        (WebCore::RenderNamedFlowThread::contentNodes):
        (WebCore::RenderNamedFlowThread::hasContentNode):

2012-04-13  Jessie Berlin  <jberlin@apple.com>

        Remove the calls to CRASH() from ResourceLoader.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=83962

        Reviewed by Alexey Proskuryakov.

        They were added in r91316 to aid debugging for the issue fixed in r105556 and r106130.

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::willSendRequest):
        (WebCore::ResourceLoader::didSendData):
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didReceiveData):
        (WebCore::ResourceLoader::didFinishLoading):
        (WebCore::ResourceLoader::didFail):
        (WebCore::ResourceLoader::wasBlocked):
        (WebCore::ResourceLoader::cannotShowURL):
        (WebCore::ResourceLoader::shouldUseCredentialStorage):
        (WebCore::ResourceLoader::willCacheResponse):

2012-04-13  Xiaomei Ji  <xji@chromium.org>

        REGRESSION(r102190) [chromium] text rendering (font and font size) in some Arabic/Persian page is wrong
        when using certain fonts
        https://bugs.webkit.org/show_bug.cgi?id=83523

        Reviewed by Kent Tamura.

        Revert r102190.
        Convert characters being treatAsSpace to white space. 

        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::fillRuns):
        (WebCore::UniscribeHelper::adjustSpaceAdvances):

2012-04-13  Timothy Hatcher  <timothy@apple.com>

        Change how the Web Insector is installed on Mac builds.

        <rdar://problem/10857918>

        Reviewed by Mark Rowe.

        * WebCore.xcodeproj/project.pbxproj: Updated Copy Inspector Resources
        and Streamline Inspector Source build phases.

2012-04-13  Jer Noble  <jer.noble@apple.com>

        Video at apple.com gets standard controls in addition to custom controls after returning from full screen
        https://bugs.webkit.org/show_bug.cgi?id=83939

        Reviewed by Eric Carlson.

        No new tests; DRT and WKTR don't have the infrastructure to test full-screen animation related bugs.

        Instead of asking the media element whether it is in full screen or not, rely on when the media root element
        was told that it enteredFullscreen() or exitedFullscreen(), which may occur at a different time than the
        media element due to animations.

        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::reset):
        (WebCore::MediaControlRootElement::playbackStarted):
        (WebCore::MediaControlRootElement::enteredFullscreen):
        (WebCore::MediaControlRootElement::exitedFullscreen):
        (WebCore::MediaControlRootElement::defaultEventHandler):
        (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer):
        (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired):
        * html/shadow/MediaControlRootElement.h:
        (MediaControlRootElement): Added m_isFullscreen;

2012-04-13  Jer Noble  <jer.noble@apple.com>

        fullscreen/video-controls-drag.html failing on Mac
        https://bugs.webkit.org/show_bug.cgi?id=81176

        Reviewed by Eric Carlson.

        No new tests.  Fixes fullscreen/video-controls-drag.html.

        Regressed in r110409.  When the -webkit-media-controls-panel were changed
        from position:absolute to position:relative, this broke dragging of the 
        controls in fullscreen, which relies on the panel being absolutely positioned
        to do its drag positioning. Change the way drag positioning is calculated to
        accommodate position:relative.

        * css/fullscreenQuickTime.css:
        (video:-webkit-full-screen::-webkit-media-controls-panel): Instead of bottom:50px,
            use margin-bottom:50px to push panel up from the bottom of the screen.
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::startDrag): Do not ask for the current renderer location.
        (WebCore::MediaControlPanelElement::continueDrag): Use the delta between the event locations
            only to calculate the new panel position.
        * html/shadow/MediaControlElements.h:

2012-04-13  Simon Fraser  <simon.fraser@apple.com>

        Compositing layers not updated after scroll in WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=83945

        Reviewed by James Robinson.
        
        Fix the WebKit1 code path to correctly update compositing layers
        after a scroll, by calling updateFixedElementsAfterScrolling() from
        scrollPositionChangedViaPlatformWidget().

        Covered by existing tests.

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):

2012-04-13  Dean Jackson  <dino@apple.com>

        Don't process filters if the input region is exceptionally large.
        https://bugs.webkit.org/show_bug.cgi?id=83317

        Reviewed by Simon Fraser.

        An extremely large element causes problems with filters, either by
        taking too long to compute the output or using too much memory. The
        filter engine already has some constants for maximum expected size.
        Make sure the render tree checks them before deciding to apply
        effects.

        Tests: css3/filters/huge-region-composited.html
               css3/filters/huge-region.html

        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::apply):
        * rendering/FilterEffectRenderer.cpp:
        (WebCore):
        (WebCore::isFilterSizeValid):
        (WebCore::FilterEffectRenderer::build):
        (WebCore::FilterEffectRenderer::updateBackingStore):
        (WebCore::FilterEffectRendererHelper::beginFilterEffect):
        * rendering/FilterEffectRenderer.h:
        (FilterEffectRenderer):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateOrRemoveFilterEffect):

2012-04-13  Anna Cavender  <annacc@chromium.org>

        Queue the cuechange event on HTMLTrackElement for proper sorting.
        https://bugs.webkit.org/show_bug.cgi?id=83858

        Reviewed by Eric Carlson.

        No new tests. Updates to media/track/track-cues-cuechange.html and
        media/track/track-mode.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
            Add HTMLTrackElement's cuechange event to the event queue rather than 
            firing it synchronously.
        * html/track/LoadableTextTrack.cpp:
            Remove fireCueChangeEvent() as it is no longer used.
        * html/track/LoadableTextTrack.h:
            Ditto.
        * html/track/TextTrack.h:
        (TextTrack):
            Ditto.

2012-04-11  Antonio Gomes  <agomes@rim.com>

        Be more restrictive when adding ScrollableArea's to FrameView's ScrollableArea's map
        https://bugs.webkit.org/show_bug.cgi?id=79611

        Reviewed by James Robinson.

        Source/WebCore:

        As of today, any FrameView attached to the Widget-tree or any
        RenderLayer whose corresponding RenderBox's style has a 'overflow'
        property set to 'auto' is cached in its containing scrollable areas set.
        We could be more restrictive about what we in fact want to
        cache as scrollable areas, by checking if the element as an overflow
        (i.e. more content than its viewport).

        * page/FrameView.cpp:
        (WebCore::FrameView::setFrameRect):

        Whenever the viewport changes, check if we have an scrollable/overflowed
        content, and update the cache accordingly.

        (WebCore::FrameView::setContentsSize):

        Whenever the contents size changes, check if we have a scrollable/overflowed
        content, and update the cache accordingly.

        (WebCore::FrameView::calculateScrollbarModesForLayout):

        Introduces a way to query for the scrollbars by only
        taking into account the "rules" set by the web author.
        For that, a new enum was added called SrollbarModesCalculationStrategy,
        which allows callers to discard for example client-side scrollbar policies
        in order to verify if a given frameview is scrollable or not.

        (WebCore::FrameView::updateScrollableAreaSet):

        Take into account various factors before considering a FrameView as
        scrollable. If in the end it is, it gets added to its parent FrameView
        scrollable areas map, otherwise removed.

        (WebCore):
        (WebCore::FrameView::addScrollableArea):

        Became unneeded, thus removed.

        (WebCore::FrameView::removeScrollableArea):

        Whenever a FrameView is removed from the Widget-tree,
        remove it from the cache.

        * page/FrameView.h:
        (FrameView):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollbarsAfterLayout):

        Update scrollable area set after layout.

        (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):

        Update scrollable area set after style changes.

        (WebCore::RenderLayer::styleChanged):

        Removed the scrollable areas logic detection from it.

        (WebCore::RenderLayer::updateScrollableAreaSet):

        Updates the containing FrameView scrollable areas cache
        only when needed (i.e. an overflow exists).

        (WebCore):
        * rendering/RenderLayer.h:
        (RenderLayer):
        * testing/Internals.cpp:
        (WebCore::Internals::numberOfScrollableAreas):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

        Tests: fast/scrolling/scrollable-area-frame-inherited-visibility-hidden.html
               fast/scrolling/scrollable-area-frame-overflow-hidden.html
               fast/scrolling/scrollable-area-frame-overried-inherited-visibility-hidden.html
               fast/scrolling/scrollable-area-frame-scrolling-no-overried-inherited-visibility-hidden.html
               fast/scrolling/scrollable-area-frame-scrolling-no-visibility-hidden-child.html
               fast/scrolling/scrollable-area-frame-scrolling-no.html
               fast/scrolling/scrollable-area-frame-scrolling-yes-display-none.html
               fast/scrolling/scrollable-area-frame-scrolling-yes.html
               fast/scrolling/scrollable-area-frame-visibility-hidden-child.html
               fast/scrolling/scrollable-area-frame-zero-size-and-border.html
               fast/scrolling/scrollable-area-frame.html
               fast/scrolling/scrollable-area-overflow-auto-display-none-in-parent.html
               fast/scrolling/scrollable-area-overflow-auto-display-none.html
               fast/scrolling/scrollable-area-overflow-auto-visibility-hidden-in-parent.html
               fast/scrolling/scrollable-area-overflow-auto-visibility-hidden.html
               fast/scrolling/scrollable-area-overflow-auto-visibility-override.html
               fast/scrolling/scrollable-area-overflow-auto-visibility-visible.html
               fast/scrolling/scrollable-area-overflow-auto.html
               fast/scrolling/scrollable-area-overflow-not-set.html
               fast/scrolling/scrollable-area-overflow-visible.html

2012-04-13  Antti Koivisto  <antti@apple.com>

        Track rem unit usage in StyleSheetInternal
        https://bugs.webkit.org/show_bug.cgi?id=83923

        Reviewed by Andreas Kling.

        Currently CSSParser sets usesRemUnits flag directly to Document. It should be set to 
        the stylesheet instead so parser does not need to know about the document. This also 
        avoids setting the flag unnecessarily when the stylesheet is not used.

        * css/CSSGrammar.y:
        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::StyleSheetInternal):
        * css/CSSStyleSheet.h:
        (WebCore::StyleSheetInternal::parserSetUsesRemUnits):
        (WebCore::StyleSheetInternal::usesRemUnits):
        (StyleSheetInternal):
        * dom/Document.cpp:
        (WebCore):
        (WebCore::checkUsesRemUnits):
        (WebCore::Document::updateActiveStylesheets):
        * dom/Document.h:
        (WebCore::Document::usesRemUnits):

2012-04-11  James Robinson  <jamesr@chromium.org>

        [chromium] Remove unused compositeToTexture / compositeOffscreen setting
        https://bugs.webkit.org/show_bug.cgi?id=83733

        Reviewed by Adrienne Walker.

        Remove compositeOffscreen setting and implementation. This was an experiment that is no longer needed.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::finishDrawingFrame):
        (WebCore::LayerRendererChromium::useRenderSurface):
        (WebCore::LayerRendererChromium::setScissorToRect):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        (CCSettings):

2012-04-13  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (XHR Caching): Uncacheable responses sent by Rails through Apache are cached
        https://bugs.webkit.org/show_bug.cgi?id=83925
        <rdar://problem/11231790>

        Reviewed by Antti Koivisto.

        Added subtests to http/tests/cache/subresource-expiration-2.html.

        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::parseCacheControlDirectives): Honor first max-age
        instead of the last. New behavior matches both Firefox and IE.

2012-04-13  James Robinson  <jamesr@chromium.org>

        [chromium] Move WebVideoFrame into Platform and remove WebCore::VideoFrameChromium wrapper API
        https://bugs.webkit.org/show_bug.cgi?id=83851

        Reviewed by Adam Barth.

        Remove VideoFrameChromium wrapper and converts WebCore code to using the Platform WebVideoFrame API directly.
        Some utility code that previously existed on VideoFrameChromium and only had one caller, such as doing
        width/height adjustements for YV12 frames, is moved into the calling code (CCVideoLayerImpl).

        Covered by existing media/ and compositing/ layout tests.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawYUV):
        (WebCore::LayerRendererChromium::drawRGBA):
        (WebCore::LayerRendererChromium::copyFrameToTextures):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/VideoFrameProvider.h:
        (VideoFrameProvider):
        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
        (WebCore::CCVideoDrawQuad::create):
        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
        * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
        (WebKit):
        (CCVideoDrawQuad):
        (WebCore::CCVideoDrawQuad::frame):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore):
        (WebCore::convertVFCFormatToGC3DFormat):
        (WebCore::CCVideoLayerImpl::willDraw):
        (WebCore::videoFrameDimension):
        (WebCore::hasPaddingBytes):
        (WebCore::CCVideoLayerImpl::computeVisibleSize):
        (WebCore::CCVideoLayerImpl::reserveTextures):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (WebKit):

2012-04-13  Rob Flack  <flackr@chromium.org>

        Chromium: Should enable -webkit-image-set
        https://bugs.webkit.org/show_bug.cgi?id=81859

        Reviewed by Adam Barth.

        Test: fast/css/image-set-parsing.html

        * WebCore.gypi:

2012-04-12  Michael Nordman  <michaeln@google.com>

        [chromium] Now that the chromium port is using a different dom_storage backend
        library in its main browser process, there are a handful of files that should no
        longer be included in the build, and a few files than should be deleted
        outright, and the webkit api should be modified to reflect the new (and smaller)
        contract between the embedder and webkit/webcore.
        https://bugs.webkit.org/show_bug.cgi?id=83807

        Reviewed by Adam Barth.

        No new tests, existing tests apply.

        * WebCore.gyp/WebCore.gyp: Exclude several files from the WebCore/storage directory.
        * storage/StorageEventDispatcher.h: Delete a stale comment.

2012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114140.
        http://trac.webkit.org/changeset/114140
        https://bugs.webkit.org/show_bug.cgi?id=83921

        Fails fast/css/image-set-parsing.html test it attempts to
        introduce. (Requested by scheib on #webkit).

        * WebCore.gypi:

2012-04-13  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10912680> Pixel access canvas APIs do not operate at backing store resolution
        https://bugs.webkit.org/show_bug.cgi?id=83836

        Reviewed by Darin Adler.

        Test: fast/canvas/2d.imageDataHD.html

        Added getImageDataHD and putImageDataHD functions to CanvasRenderingContext2D, as proposed in
        <http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035112.html>. The functions
        are prefixed with “webkit” for now.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::getImageData): Added this cover function that calls
        through to getImageData with LogicalCoordinateSystem.
        (WebCore::CanvasRenderingContext2D::webkitGetImageDataHD): Added. Calls through to
        getImageData with BackingStoreCoordinateSystem.
        (WebCore::CanvasRenderingContext2D::getImageData): Added a CoordinateSystem parameter to this
        now-private function. It is passed through to ImageBuffer::getUnmultipliedImageData().
        (WebCore::CanvasRenderingContext2D::putImageData): Added this cover function that calls
        through to putImageData with LogicalCoordinateSystem.
        (WebCore::CanvasRenderingContext2D::webkitPutImageDataHD): Added. Calls through to
        putImageData with BackingStoreCoordinateSystem.
        (WebCore::CanvasRenderingContext2D::putImageData): Added a CoordinateSystem parameter to this
        function. It is passed through to ImageBuffer::putByteArray, and used to compute the rect to
        invalidate after the drawing operation.
        * html/canvas/CanvasRenderingContext2D.h:
        * html/canvas/CanvasRenderingContext2D.idl: Added webkitPutImageDataHD() and
        webkitGetImageDataHD().
        * platform/graphics/ImageBuffer.h: Added a CoordinateSystem enum with the values
        LogicalCoordinateSystem and BackingStoreCoordinateSystem. Added a CoordinateSystem parameter,
        which defaults to LogicalCoordinateSystem, to getUnmultipliedImageData,
        getPremultipliedImageData, and putByteArray.
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putByteArray):
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::getUnmultipliedImageData): Now uses the CoordinateSystem parameter to
        decide whether to ask ImageBufferDaya::getData() to apply the resolution scale or not.
        (WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
        (WebCore::ImageBuffer::putByteArray): Now uses the CoordinateSystem parameter to decide
        whether to maintain the resolution scale while drawing or not.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/gtk/ImageBufferGtk.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putByteArray):
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putByteArray):
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putByteArray):
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putByteArray):
        (WebCore::ImageBuffer::toDataURL):

2012-04-12  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Support CCHeadsUpDisplay in threaded compositing mode
        https://bugs.webkit.org/show_bug.cgi?id=67499

        Reviewed by James Robinson.

        No new tests because this code is debugging code itself.

        The last item that was needed to make the CCHeadsUpDisplay work in
        threaded compositing mode was to remove the font rendering code
        used on the impl-side thread. To solve this, this patch adds a
        CCFontAtlas that is initialized on the main thread (where the font
        rendering takes place). Then, when the HUD draws text on the impl
        thread, it uses the font atlas directly.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore):
        (LayerRendererChromium):
        * platform/graphics/chromium/cc/CCFontAtlas.cpp: Added.
        (WebCore):
        (WebCore::CCFontAtlas::CCFontAtlas):
        (WebCore::wrapPositionIfNeeded):
        (WebCore::CCFontAtlas::generateAtlasForFont):
        (WebCore::CCFontAtlas::initialize):
        (WebCore::CCFontAtlas::drawText):
        (WebCore::CCFontAtlas::drawOneLineOfTextInternal):
        (WebCore::CCFontAtlas::drawDebugAtlas):
        * platform/graphics/chromium/cc/CCFontAtlas.h: Added.
        (WebCore):
        (CCFontAtlas):
        (WebCore::CCFontAtlas::create):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
        (WebCore):
        (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
        (WebCore::CCHeadsUpDisplay::drawHudContents):
        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
        (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
        (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
        (WebCore::CCHeadsUpDisplay::create):
        (CCHeadsUpDisplay):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore):
        (WebCore::CCLayerTreeHost::headsUpDisplayFontAtlas):
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore):
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
        (WebCore::CCSingleThreadProxy::recreateContext):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
        (WebCore::CCThreadProxy::recreateContextOnImplThread):

2012-04-13  Rob Flack  <flackr@chromium.org>

        Chromium: Should enable -webkit-image-set
        https://bugs.webkit.org/show_bug.cgi?id=81859

        Reviewed by Adam Barth.

        Test: fast/css/image-set-parsing.html

        * WebCore.gypi:

2012-04-13  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: do not attempt to load content from resource until request finished loading.
        https://bugs.webkit.org/show_bug.cgi?id=83896

        Reviewed by Yury Semikhatsky.

        When we stop in the inline script on reload, we should only show concatenated script content.
        When we resume, we should replace UI source code with the actual HTML content. We should not attempt to
        fetch resource content until request finished loading. I regressed it in the Request extraction
        and now am bringing it back.

        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode):
        (WebInspector.RawSourceCode.prototype._finishedLoading):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.addScript):

2012-04-13  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: follow up to r114116 - fixing QT test
        https://bugs.webkit.org/show_bug.cgi?id=83892

        Reviewed by Yury Semikhatsky.

        Requesting content for the scripts exclusively via the page agent now.

        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get content):
        (WebInspector.Resource.prototype.get contentEncoded):
        (WebInspector.Resource.prototype.requestContent):
        (WebInspector.ResourceRevision.prototype.requestContent):

2012-04-13  Yi Shen  <yi.4.shen@nokia.com>

        InsertHTML fails to insert h6 if the insertion point is before some text.
        https://bugs.webkit.org/show_bug.cgi?id=82689

        Reviewed by Ryosuke Niwa.

        Added the missing h6 tag for the isHeaderElement.

        No new tests: updated existing test (editing/execCommand/4128080-1.html)

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::isHeaderElement):

2012-04-13  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: exception in heap profiler when expanding a class in summary view
        https://bugs.webkit.org/show_bug.cgi?id=83883

        Moved all DOM-specific inspector utilities into DOMExtension.js

        Merged BinarySearch.js and PartialQuickSort.js into utilities.js, HeapSnapshotWorker.js now
        imports utilities.js which contains all required routines.

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/BinarySearch.js: Removed.
        * inspector/front-end/DOMExtension.js: Copied from Source/WebCore/inspector/front-end/utilities.js.
        (Node.prototype.rangeOfWord):
        (Node.prototype.traverseNextTextNode):
        (Node.prototype.rangeBoundaryForOffset):
        (Element.prototype.removeStyleClass):
        (Element.prototype.removeMatchingStyleClasses):
        (Element.prototype.addStyleClass):
        (Element.prototype.hasStyleClass):
        (Element.prototype.positionAt):
        (Element.prototype.pruneEmptyTextNodes):
        (Element.prototype.isScrolledToBottom):
        (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
        (Node.prototype.enclosingNodeOrSelfWithNodeName):
        (Node.prototype.enclosingNodeOrSelfWithClass):
        (Node.prototype.enclosingNodeWithClass):
        (Element.prototype.query):
        (Element.prototype.removeChildren):
        (Element.prototype.isInsertionCaretInside):
        (Element.prototype.createChild):
        (Element.prototype.totalOffsetLeft):
        (Element.prototype.totalOffsetTop):
        (Element.prototype.totalOffset):
        (Element.prototype.scrollOffset):
        (AnchorBox):
        (Element.prototype.offsetRelativeToWindow):
        (Element.prototype.boxInWindow):
        (Element.prototype.setTextAndTitle):
        (Event.prototype.consume):
        (Text.prototype.select):
        (Element.prototype.selectionLeftOffset):
        (Node.prototype.isAncestor):
        (Node.prototype.isDescendant):
        (Node.prototype.isSelfOrAncestor):
        (Node.prototype.isSelfOrDescendant):
        (Node.prototype.traverseNextNode):
        (Node.prototype.traversePreviousNode):
        (HTMLTextAreaElement.prototype.moveCursorToEnd):
        (isEnterKey):
        (consumeEvent):
        (highlightSearchResult):
        (highlightSearchResults):
        (highlightRangesWithStyleClass):
        (applyDomChanges):
        (revertDomChanges):
        * inspector/front-end/HeapSnapshot.js: Fixed a couple of js compiler warnings
        by describing structure of heap snapshot header in the protocol.
        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
        * inspector/front-end/HeapSnapshotWorker.js:
        * inspector/front-end/PartialQuickSort.js: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/utilities.js:
        (.):

2012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114103.
        http://trac.webkit.org/changeset/114103
        https://bugs.webkit.org/show_bug.cgi?id=83884

        New breakpoint UI looks bad / needs polish. (Requested by
        pfeldman_ on #webkit).

        * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
        * inspector/front-end/Images/breakpointCounterBorder.png:
        * inspector/front-end/Images/programCounterBorder.png:
        * inspector/front-end/textViewer.css:
        (.webkit-execution-line .webkit-line-number-outer):
        (.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer):
        (.webkit-breakpoint-conditional.webkit-execution-line .webkit-line-number-outer):

2012-04-13  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Sign in cookie for ESPN.com does not retain login account (for fantasy sports).
        https://bugs.webkit.org/show_bug.cgi?id=83760

        Reviewed by George Staikos.

        When we update cookies' database, protocol shouldn't be checked since it is not a cookie's key.
        ESPN.com's https cookies should replace old http cookies if they have the same keys(name, path, domain).

        We must restart the browser to test, so have to write a manual test case.

        Test: ManualTests/blackberry/http-cookie-database-set.php

        * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
        (WebCore::CookieDatabaseBackingStore::invokeOpen):

2012-04-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [Qt] Use QQuickFlickable::setPixelAligned instead of doing pixel-alignment when rendering.
        https://bugs.webkit.org/show_bug.cgi?id=83770

        Reviewed by Kenneth Rohde Christiansen.

        Revert the previous way of dealing with things. The problem is that different layers
        would end up rounding in different directions, and would cause jittering between
        layers or with the QQuickWebPage's background.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::drawTexture):

2012-04-13  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: introduce ParsedURL type, clean up url and displayName mess in Resource and NetworkRequest.
        https://bugs.webkit.org/show_bug.cgi?id=83871

        Reviewed by Yury Semikhatsky.

        There is a number of random properties created on Resource and NetworkRequest that represent various url
        fragments. Display name is being based on them and sometimes requires fake Resource instance to be created.
        This change (officially) introduces WebInspector.ParsedURL as a type that encapsulates this complexity.

        This change also moves documentURL property into the Resource and NetworkRequest constructors and brushes up
        factory methods used to create the objects.

        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.get displayDomain):
        * inspector/front-end/JavaScriptContextManager.js:
        (WebInspector.FrameEvaluationContext.prototype.get displayName):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
        (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
        (get WebInspector):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
        * inspector/front-end/NetworkRequest.js:
        (WebInspector.NetworkRequest):
        (WebInspector.NetworkRequest.prototype.set url):
        (WebInspector.NetworkRequest.prototype.get documentURL):
        (WebInspector.NetworkRequest.prototype.get parsedURL):
        (WebInspector.NetworkRequest.prototype.get displayName):
        (WebInspector.NetworkRequest.prototype.get folder):
        * inspector/front-end/RequestHeadersView.js:
        (WebInspector.RequestHeadersView.prototype._refreshUrlFragment):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set url):
        (WebInspector.Resource.prototype.get parsedURL):
        (WebInspector.Resource.prototype.get frameId):
        (WebInspector.Resource.prototype.get loaderId):
        (WebInspector.Resource.prototype.get displayName):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped):
        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
        (WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload):
        (WebInspector.ResourceTreeFrame.prototype._addRequest):
        * inspector/front-end/ResourceUtils.js:
        (WebInspector.ParsedURL):
        (WebInspector.ParsedURL.prototype.get displayName):
        (String.prototype.asParsedURL):
        (WebInspector.displayDomain):
        (WebInspector.resourceURLForRelatedNode.callback):
        (WebInspector.resourceURLForRelatedNode):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameTreeElement.prototype.frameNavigated):
        (WebInspector.ApplicationCacheManifestTreeElement):
        (WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles):
        * inspector/front-end/utilities.js:

2012-04-13  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: extracting NetworkRequest from Resource (step 3)
        https://bugs.webkit.org/show_bug.cgi?id=83802

        Reviewed by Yury Semikhatsky.

        This change extracts NetworkRequest from the Resource. It is now clear that these two
        should have super class that would be responsible for parsing URL and would define the
        requestContent signature. Corresponding patch will follow.

        * inspector/front-end/NetworkManager.js:
        * inspector/front-end/NetworkRequest.js:
        (WebInspector.NetworkRequest):
        (WebInspector.NetworkRequest.prototype.get requestId):
        (WebInspector.NetworkRequest.prototype.set requestId):
        (WebInspector.NetworkRequest.prototype.get url):
        (WebInspector.NetworkRequest.prototype.get frameId):
        (WebInspector.NetworkRequest.prototype.get loaderId):
        (WebInspector.NetworkRequest.prototype.get startTime):
        (WebInspector.NetworkRequest.prototype.set startTime):
        (WebInspector.NetworkRequest.prototype.get responseReceivedTime):
        (WebInspector.NetworkRequest.prototype.set responseReceivedTime):
        (WebInspector.NetworkRequest.prototype.get endTime):
        (WebInspector.NetworkRequest.prototype.set endTime):
        (WebInspector.NetworkRequest.prototype.get duration):
        (WebInspector.NetworkRequest.prototype.get latency):
        (WebInspector.NetworkRequest.prototype.get receiveDuration):
        (WebInspector.NetworkRequest.prototype.get resourceSize):
        (WebInspector.NetworkRequest.prototype.set resourceSize):
        (WebInspector.NetworkRequest.prototype.get transferSize):
        (WebInspector.NetworkRequest.prototype.increaseTransferSize):
        (WebInspector.NetworkRequest.prototype.get finished):
        (WebInspector.NetworkRequest.prototype.set finished):
        (WebInspector.NetworkRequest.prototype.get failed):
        (WebInspector.NetworkRequest.prototype.set failed):
        (WebInspector.NetworkRequest.prototype.get canceled):
        (WebInspector.NetworkRequest.prototype.set canceled):
        (WebInspector.NetworkRequest.prototype.get cached):
        (WebInspector.NetworkRequest.prototype.set cached):
        (WebInspector.NetworkRequest.prototype.get timing):
        (WebInspector.NetworkRequest.prototype.set timing):
        (WebInspector.NetworkRequest.prototype.get mimeType):
        (WebInspector.NetworkRequest.prototype.set mimeType):
        (WebInspector.NetworkRequest.prototype.get displayName):
        (WebInspector.NetworkRequest.prototype.get folder):
        (WebInspector.NetworkRequest.prototype.get displayDomain):
        (WebInspector.NetworkRequest.prototype.get type):
        (WebInspector.NetworkRequest.prototype.set type):
        (WebInspector.NetworkRequest.prototype.get redirectSource):
        (WebInspector.NetworkRequest.prototype.set redirectSource):
        (WebInspector.NetworkRequest.prototype.get requestHeaders):
        (WebInspector.NetworkRequest.prototype.set requestHeaders):
        (WebInspector.NetworkRequest.prototype.get requestHeadersText):
        (WebInspector.NetworkRequest.prototype.set requestHeadersText):
        (WebInspector.NetworkRequest.prototype.get requestHeadersSize):
        (WebInspector.NetworkRequest.prototype.requestHeaderValue):
        (WebInspector.NetworkRequest.prototype.get requestCookies):
        (WebInspector.NetworkRequest.prototype.get requestFormData):
        (WebInspector.NetworkRequest.prototype.set requestFormData):
        (WebInspector.NetworkRequest.prototype.get requestHttpVersion):
        (WebInspector.NetworkRequest.prototype.get responseHeaders):
        (WebInspector.NetworkRequest.prototype.set responseHeaders):
        (WebInspector.NetworkRequest.prototype.get responseHeadersText):
        (WebInspector.NetworkRequest.prototype.set responseHeadersText):
        (WebInspector.NetworkRequest.prototype.get responseHeadersSize):
        (WebInspector.NetworkRequest.prototype.responseHeaderValue):
        (WebInspector.NetworkRequest.prototype.get responseCookies):
        (WebInspector.NetworkRequest.prototype.get queryParameters):
        (WebInspector.NetworkRequest.prototype.get formParameters):
        (WebInspector.NetworkRequest.prototype.get responseHttpVersion):
        (WebInspector.NetworkRequest.prototype._parseParameters):
        (WebInspector.NetworkRequest.prototype._headerValue):
        (WebInspector.NetworkRequest.prototype.get content):
        (WebInspector.NetworkRequest.prototype.get contentEncoded):
        (WebInspector.NetworkRequest.prototype.requestContent):
        (WebInspector.NetworkRequest.prototype.isHttpFamily):
        (WebInspector.NetworkRequest.prototype.requestContentType):
        (WebInspector.NetworkRequest.prototype.isPingRequest):
        (WebInspector.NetworkRequest.prototype.hasErrorStatusCode):
        (WebInspector.NetworkRequest.prototype.populateImageSource):
        (WebInspector.NetworkRequest.prototype._contentURL):
        (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent):
        (WebInspector.NetworkRequest.prototype._innerRequestContent):
        (WebInspector.NetworkRequest.prototype.setResource):
        (WebInspector.NetworkRequest.prototype.resource):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode):
        (WebInspector.RawSourceCode.prototype._resourceAdded):
        (WebInspector.RawSourceCode.prototype.forceUpdateSourceMapping):
        (WebInspector.RawSourceCode.prototype._createContentProvider):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.displayName):
        (WebInspector.Resource.prototype.get request):
        (WebInspector.Resource.prototype.set url):
        (WebInspector.Resource.prototype.get type):
        (WebInspector.Resource.prototype.get mimeType):
        (WebInspector.Resource.prototype.set mimeType):
        (WebInspector.Resource.prototype.get content):
        (WebInspector.Resource.prototype.get contentEncoded):
        (WebInspector.Resource.prototype.requestContent):
        (WebInspector.Resource.prototype._innerRequestContent.callback):
        (WebInspector.Resource.prototype._innerRequestContent):
        (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper):
        (WebInspector.ResourceRevision.prototype.requestContent):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.addScript):

2012-04-13  Mike Reed  <reed@google.com>

        use getClipDeviceBounds, rather than (deprecated) getTotalClip
        https://bugs.webkit.org/show_bug.cgi?id=83808

        Reviewed by Stephen White.

        Equivalent functionality, existing tests apply.

        * platform/graphics/skia/OpaqueRegionSkia.cpp:
        (WebCore::OpaqueRegionSkia::didDraw):

2012-04-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>

        [EFL] Add API for color chooser
        https://bugs.webkit.org/show_bug.cgi?id=83692

        Added new API to enable browsers to display a custom color picker
        when an input field of type "color" is activated.

        Reviewed by Kenneth Rohde Christiansen.

        * PlatformEfl.cmake:
        * platform/efl/ColorChooserEfl.cpp: Added.
        (WebCore):
        (WebCore::ColorChooserEfl::ColorChooserEfl):
        (WebCore::ColorChooserEfl::~ColorChooserEfl):
        (WebCore::ColorChooserEfl::setSelectedColor):
        (WebCore::ColorChooserEfl::endChooser):
        * platform/efl/ColorChooserEfl.h: Added.
        (WebCore):
        (ColorChooserEfl):

2012-04-13  Zalan Bujtas  <zbujtas@gmail.com>

        Enabling/disabling delegates scrolling when page has no composited content asserts on WK1.
        https://bugs.webkit.org/show_bug.cgi?id=83860

        Reviewed by Kenneth Rohde Christiansen.

        WK2 has compositing mode on all the time, while Wk1 turns it on only when
        the page has composited content. This patch ensures that, when delegates scrolling behavior
        is changed, backing stores are cleared only when there's an actual composition,
        similarly to what CachedFrame does.

        Test: fast/viewport/scroll-delegates-switch-on-page-with-no-composition-mode-asserts.html

        * page/FrameView.cpp:
        (WebCore::FrameView::delegatesScrollingDidChange):

2012-04-13  Vivek Galatage  <vivekgalatage@gmail.com>

        Web Inspector: Line number is not displayed while debugging javascript
        https://bugs.webkit.org/show_bug.cgi?id=83786

        Reviewed by Pavel Feldman.

        Changed the textViewer.css to start displaying the line number with
        appropriate color property. Added outline property for enhanced view

        No additional test cases required for the above fix.

        * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
        * inspector/front-end/Images/breakpointCounterBorder.png:
        * inspector/front-end/Images/programCounterBorder.png:
        * inspector/front-end/textViewer.css:
        (.webkit-execution-line .webkit-line-number-outer):
        (.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer):
        (.webkit-breakpoint-conditional.webkit-execution-line .webkit-line-number-outer):

2012-04-13  Kent Tamura  <tkent@chromium.org>

        Add a runtime flag for <input type=date>
        https://bugs.webkit.org/show_bug.cgi?id=83853

        Reviewed by Adam Barth.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::inputTypeDateEnabled): Added.
        (WebCore::RuntimeEnabledFeatures::setInputTypeDateEnabled): Added.
        * html/InputType.cpp:
        (WebCore::createInputTypeFactoryMap):
        Don't register type=date if !RuntimeEnabledFeatures::inputTypeDateEnabled()

2012-04-13  Adam Barth  <abarth@webkit.org>

        JSDocument::setLocation does too much bare-handed lifting
        https://bugs.webkit.org/show_bug.cgi?id=83850

        Reviewed by Sam Weinig.

        As part of auditing all the ways of kicking off a navigation, I
        happened to read JSDocument::setLocation, which uses very old patterns.
        This patch updates it to do things the "modern" way.  There shouldn't
        be any behavior change.

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::setLocation):

2012-04-13  Shinya Kawanaka  <shinyak@chromium.org>

        Background width (or height) is wrong if width (or height) * zoom < 1.
        https://bugs.webkit.org/show_bug.cgi?id=83350

        Reviewed by Nikolas Zimmermann.

        calculateImageIntrinsicDimension will return wrong size if the calculated size is 0.
        0 is used for expressing unspecfied, so the method returns the box width(height) instead.

        Since CachedImage has already similar code, we moved it to IntSize and shared it.

        Tests: fast/css/zoom-background-repeat-x-expected.html
               fast/css/zoom-background-repeat-x.html
               fast/css/zoom-background-repeat-y-expected.html
               fast/css/zoom-background-repeat-y.html

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::imageSizeForRenderer):
        * platform/graphics/IntSize.h:
        (IntSize):
        (WebCore::IntSize::scale):
        (WebCore::IntSize::clampToMinimumSize):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):

2012-04-13  Adam Barth  <abarth@webkit.org>

        Prepare submitForm for seamless navigation
        https://bugs.webkit.org/show_bug.cgi?id=83838

        Reviewed by Ryosuke Niwa.

        Previously, FrameLoader::submitForm called FrameTree::find and
        Document::canNavigate separately.  This patch refactors this function
        to call findFrameForNavigation, which does both checks.

        This doesn't change any behavior today, but it prepares us to implement
        seamless navigation.  Once the seamless branch lands, this change will
        be tested by seamless-form-* in https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless

        For context, see:
        https://github.com/eseidel/webkit/commit/3f27340577ac91b2cc0a834dd2c6fdfcac296c32

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm):

2012-04-13  Kent Tamura  <tkent@chromium.org>

        Should clear an invalid string in a date field on blur
        https://bugs.webkit.org/show_bug.cgi?id=83863

        Reviewed by Kentaro Hara.

        Test: fast/forms/date/input-date-commit-valid-only.html

        * html/DateInputType.cpp:
        (WebCore::DateInputType::handleBlurEvent):
        Reset the visible value. The code is same as NumberInputType::handleBlurEvent().

2012-04-12  Kent Tamura  <tkent@chromium.org>

        Calendar Picker: remove unnecessary code from calendarPicker.{css,js}
        https://bugs.webkit.org/show_bug.cgi?id=83685

        Reviewed by Kentaro Hara.

        Remove the followings from input files:
         - multi line comments /*...*/ (.js and .css)
         - single line comment //... (.js)
         - repeating whitespace (.js and .css)
         - leading and trailing whitespace (.js and .css)
         - empty lines (.js and .css)

        This doesn't work for arbitrary JavaScript or CSS inputs, but
        works well for expected input files like
        css/make-css-file-arrays.pl

        * make-file-arrays.py:
        (strip_whitespace_and_comments):
        (main):

2012-04-12  Sailesh Agrawal  <sail@chromium.org>

        Chromium: Fix scrollbar tickmark drawing on Mountain Lion
        https://bugs.webkit.org/show_bug.cgi?id=83844

        Reviewed by James Robinson.

        On Mountain Lion overlay scrollbars have a new expanded mode. In expanded mode the scrolllbar is slightly wider which causes the tickmarks to look incorrect. Fix was to explicitly enter expanded mode to get the correct look.
        Screenshots:
        broken: http://i.imgur.com/PDKYH.png
        fixed: http://i.imgur.com/utp0Y.png

        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::paint): Called setExpanded if API is available.
        * platform/mac/NSScrollerImpDetails.h: Exposed the isExpanded: API.

2012-04-12  Kent Tamura  <tkent@chromium.org>

        LocalizedDateICU should ignore timezones
        https://bugs.webkit.org/show_bug.cgi?id=83859

        Reviewed by Hajime Morita.

        udat_parse() and udat_format() shift the input date by the offset of the
        default timezone. We don't need this behavior for type=date. So we
        specify "GMT" to udat_open().

        No new tests. This behavior depends on the timezone setting of the local machine.

        * platform/text/LocalizedDateICU.cpp:
        (WebCore::createShortDateFormatter):
        Added. Common factory functio for UDateFormat. Use "GMT" instead of the
        default timezone.
        (WebCore::parseLocalizedDate): Use createShortDateFormatter().
        (WebCore::formatLocalizedDate): ditto.

2012-04-12  Adam Barth  <abarth@webkit.org>

        Prepare window.location for seamless navigation
        https://bugs.webkit.org/show_bug.cgi?id=83843

        Reviewed by Eric Seidel.

        This patch refactors window.location to flow through
        FrameLoader::findFrameForNavigation, which is where we're going to
        implement the seamless navigation redirect.  This patch shouldn't cause
        any observable changes in behavior today, but it will make all the
        seamless-window-location* tests in
        https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
        pass once we merge the seamlesss branch.  See
        https://github.com/eseidel/webkit/commit/a6e708fa6c643b156397e9a287b40a0868c7959c
        for context.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::locationAccessorSetter):
        * page/Location.cpp:
        (WebCore::Location::setHref):
        (WebCore::Location::setProtocol):
        (WebCore::Location::setHost):
        (WebCore::Location::setHostname):
        (WebCore::Location::setPort):
        (WebCore::Location::setPathname):
        (WebCore::Location::setSearch):
        (WebCore::Location::setHash):
        (WebCore::Location::assign):
        (WebCore::Location::replace):
        (WebCore::Location::setLocation):
        (WebCore):
        * page/Location.h:
        (Location):

2012-04-12  Dana Jansens  <danakj@chromium.org>

        [chromium] Background filters for composited layers
        https://bugs.webkit.org/show_bug.cgi?id=80046

        Reviewed by Adrienne Walker.

        Adds background filters to LayerChromium/CCLayerImpl. These filters are
        applied to any pixels in the contents behind the layer and seen through
        it.

        This is done by adding a backgroundTexture() to the render surface, which
        holds the read-back contents of the target framebuffer, background filter
        applied, in the surface's own coordinate space. Then this is drawn back
        into the frame buffer before the contents of the surface itself is drawn.

        Tests: platform/chromium/compositing/filters/background-filter-blur-off-axis.html
               platform/chromium/compositing/filters/background-filter-blur-outsets.html
               platform/chromium/compositing/filters/background-filter-blur.html

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setBackgroundFilters):
        (WebCore):
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        (WebCore::LayerChromium::backgroundFilters):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawBackgroundFilters):
        (WebCore):
        (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
        (WebCore::LayerRendererChromium::getFramebufferTexture):
        (WebCore::LayerRendererChromium::isCurrentRenderSurface):
        (WebCore::LayerRendererChromium::useRenderSurface):
        (WebCore::LayerRendererChromium::useManagedTexture):
        (WebCore::LayerRendererChromium::bindFramebufferToTexture):
        (WebCore::LayerRendererChromium::setScissorToRect):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::setBackgroundFilters):
        (WebCore::RenderSurfaceChromium::backgroundFilters):
        (RenderSurfaceChromium):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::setBackgroundFilters):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        (WebCore::CCLayerImpl::backgroundFilters):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::subtreeShouldRenderToSeparateSurface):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::drawableContentRect):
        (WebCore::CCRenderSurface::prepareBackgroundTexture):
        (WebCore):
        (WebCore::CCRenderSurface::releaseBackgroundTexture):
        (WebCore::CCRenderSurface::computeDeviceTransform):
        (WebCore::CCRenderSurface::computeDeviceBoundingBox):
        (WebCore::CCRenderSurface::computeReadbackDeviceBoundingBox):
        (WebCore::CCRenderSurface::readbackDeviceContentRect):
        (WebCore::copyTextureToFramebuffer):
        (WebCore::CCRenderSurface::copyDeviceToBackgroundTexture):
        (WebCore::getSkBitmapTextureId):
        (WebCore::CCRenderSurface::drawContents):
        (WebCore::CCRenderSurface::drawReplica):
        (WebCore::CCRenderSurface::drawLayer):
        (WebCore::CCRenderSurface::drawSurface):
        (WebCore::CCRenderSurface::applyFilters):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (CCRenderSurface):
        (WebCore::CCRenderSurface::setBackgroundFilters):
        (WebCore::CCRenderSurface::backgroundFilters):
        (WebCore::CCRenderSurface::backgroundTexture):
        * testing/Internals.cpp:
        (WebCore):
        (WebCore::Internals::setBackgroundBlurOnNode):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-04-12  Adam Barth  <abarth@webkit.org>

        Remove V8DOMWindowShell::setLocation
        https://bugs.webkit.org/show_bug.cgi?id=83833

        Reviewed by Eric Seidel.

        V8DOMWindowShell::setLocation is only used by document.location.  It's
        more direct for document.location to call Location::setHref directly.
        This integrates correctly with the navigation rules for
        <iframe seamless>.

        (See https://github.com/eseidel/webkit/compare/master...seamless for
        more context about the connection with seamless.)

        Reviewed on GitHub:
        https://github.com/abarth/webkit/commit/48601729d53a6ac39df5a43b22218c91330c3f61

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore):
        * bindings/v8/V8DOMWindowShell.h:
        (V8DOMWindowShell):
        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
        (WebCore::V8Document::locationAccessorSetter):

2012-04-12  Levi Weintraub  <leviw@chromium.org>

        Prepare functions in LengthFunctions.h for LayoutUnits
        https://bugs.webkit.org/show_bug.cgi?id=83726

        Reviewed by Eric Seidel.

        Preparing the functions that live in LengthFunctions for sub-pixel layout, which entails
        using and returning LayoutUnits instead of integers. There are a number of rendering
        classes that are laid out using integers -- see https://trac.webkit.org/wiki/LayoutUnit
        for details -- so this also adds integer-specific versions of the length functions for
        explicit use in those classes.

        No new tests. No change in behavior.

        * css/LengthFunctions.h:
        (WebCore): Using LayoutUnits for sub-pixel precision and adding integer-specific versions
        of minimumValueForLength and valueForLength that truncate.
        * css/LengthFunctions.cpp:
        (WebCore):
        * dom/Document.cpp:
        (WebCore::Document::pageSizeAndMarginsInPixels): Document sizes are integral.
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::layOutAxis): The frame tree continues to be integral.
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::timerFired): RenderMarquee scrolling uses integral values.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight): Table layout is integral.

2012-04-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r114075.
        http://trac.webkit.org/changeset/114075
        https://bugs.webkit.org/show_bug.cgi?id=83857

        Breaks compile (Requested by jamesr on #webkit).

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawYUV):
        (WebCore::LayerRendererChromium::drawRGBA):
        (WebCore::LayerRendererChromium::copyFrameToTextures):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/VideoFrameChromium.cpp: Renamed from Source/Platform/chromium/src/WebVideoFrame.cpp.
        (WebCore):
        (WebCore::VideoFrameChromium::~VideoFrameChromium):
        * platform/graphics/chromium/VideoFrameChromium.h: Copied from Source/Platform/chromium/public/WebVideoFrame.h.
        (WebCore):
        (VideoFrameChromium):
        * platform/graphics/chromium/VideoFrameProvider.h:
        (VideoFrameProvider):
        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
        (WebCore::CCVideoDrawQuad::create):
        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
        * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
        (CCVideoDrawQuad):
        (WebCore::CCVideoDrawQuad::frame):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore):
        (WebCore::convertVFCFormatToGC3DFormat):
        (WebCore::CCVideoLayerImpl::willDraw):
        (WebCore::CCVideoLayerImpl::computeVisibleSize):
        (WebCore::CCVideoLayerImpl::reserveTextures):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:

2012-04-12  Adam Barth  <abarth@webkit.org>

        Use _self to represnet self-navigation, like in the HTML5 spec
        https://bugs.webkit.org/show_bug.cgi?id=83834

        Reviewed by Eric Seidel.

        This patch aligns the internal state representation of the FrameLoader
        more closely with the HTML5 spec.  Both the null string and "_self"
        represent self-navigation, but the HTML5 spec distinguishes them when
        navigating seamless iframes.  In that case, "_self" is explicit
        self-navigation, whereas a null string will get redirected to the
        "master" frame (the closest enclosing non-seamless frame).

        This patch shouldn't have any observable behavior changes, but it will
        be useful when we merge in the seamless branch from GitHub.
        (See https://github.com/eseidel/webkit/commit/df0e71fcacdb0e7e45fe669afe1314cec5b76523
        which contains this change.)

        Once the seamless branch lands, this change will be tested by a number
        of tests in
        https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
        including seamless-hyperlink.html.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURLIntoChildFrame):
        (WebCore::FrameLoader::loadURL):

2012-04-12  James Robinson  <jamesr@chromium.org>

        [chromium] Move WebVideoFrame into Platform and remove WebCore::VideoFrameChromium wrapper API
        https://bugs.webkit.org/show_bug.cgi?id=83851

        Reviewed by Adam Barth.

        Remove VideoFrameChromium wrapper and converts WebCore code to using the Platform WebVideoFrame API directly.
        Some utility code that previously existed on VideoFrameChromium and only had one caller, such as doing
        width/height adjustements for YV12 frames, is moved into the calling code (CCVideoLayerImpl).

        Covered by existing media/ and compositing/ layout tests.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawYUV):
        (WebCore::LayerRendererChromium::drawRGBA):
        (WebCore::LayerRendererChromium::copyFrameToTextures):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/VideoFrameProvider.h:
        (VideoFrameProvider):
        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
        (WebCore::CCVideoDrawQuad::create):
        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
        * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
        (WebKit):
        (CCVideoDrawQuad):
        (WebCore::CCVideoDrawQuad::frame):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore):
        (WebCore::convertVFCFormatToGC3DFormat):
        (WebCore::CCVideoLayerImpl::willDraw):
        (WebCore::videoFrameDimension):
        (WebCore::hasPaddingBytes):
        (WebCore::CCVideoLayerImpl::computeVisibleSize):
        (WebCore::CCVideoLayerImpl::reserveTextures):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (WebKit):

2012-04-12  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r113900): Text tests started failing
        https://bugs.webkit.org/show_bug.cgi?id=83724

        Reviewed by Dan Bernstein.

        * Resources/DefaultFonts.plist.in: Use serif fonts for standard family again,
        and updated the list with better fonts for Japanese.

2012-04-12  Alexey Proskuryakov  <ap@apple.com>

        Preprocessing text files with modern clang treats double slashes in comments
        https://bugs.webkit.org/show_bug.cgi?id=83827

        Reviewed by Mark Rowe.

        * DerivedSources.make: Pass appropriate flags to both llvm and gcc.

2012-04-12  David Dorwin  <ddorwin@chromium.org>

        Add Encrypted Media Extensions events and errors to HTMLMediaElement
        https://bugs.webkit.org/show_bug.cgi?id=82974

        Reviewed by Adam Barth.

        The new events and errors are behind the ENABLE(ENCRYPTED_MEDIA) feature define.
        Implementation is based on v0.1 of the draft proposal at
        http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#events.

        Tests: fast/events/constructors/media-key-event-constructor.html
               media/encrypted-media/encrypted-media-constants.html
               media/encrypted-media/encrypted-media-events.html

        * WebCore.gypi:
        * bindings/v8/Dictionary.cpp:
        (WebCore::Dictionary::get):
        (WebCore):
        * bindings/v8/Dictionary.h:
        (WebCore):
        (Dictionary):
        * dom/EventNames.h:
        (WebCore):
        * dom/EventNames.in:
        * html/HTMLAttributeNames.in:
        * html/HTMLMediaElement.cpp:
        (WebCore):
        (WebCore::HTMLMediaElement::mediaPlayerKeyAdded):
        (WebCore::HTMLMediaElement::mediaPlayerKeyError):
        (WebCore::HTMLMediaElement::mediaPlayerKeyMessage):
        (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):
        * html/HTMLMediaElement.idl:
        * html/MediaError.h:
        * html/MediaError.idl:
        * html/MediaKeyError.h: Added.
        (WebCore):
        (MediaKeyError):
        (WebCore::MediaKeyError::create):
        (WebCore::MediaKeyError::code):
        (WebCore::MediaKeyError::MediaKeyError):
        * html/MediaKeyError.idl: Added.
        * html/MediaKeyEvent.cpp: Added.
        (WebCore):
        (WebCore::MediaKeyEventInit::MediaKeyEventInit):
        (WebCore::MediaKeyEvent::MediaKeyEvent):
        (WebCore::MediaKeyEvent::~MediaKeyEvent):
        (WebCore::MediaKeyEvent::interfaceName):
        * html/MediaKeyEvent.h: Added.
        (WebCore):
        (MediaKeyEventInit):
        (MediaKeyEvent):
        (WebCore::MediaKeyEvent::create):
        (WebCore::MediaKeyEvent::keySystem):
        (WebCore::MediaKeyEvent::sessionId):
        (WebCore::MediaKeyEvent::initData):
        (WebCore::MediaKeyEvent::message):
        (WebCore::MediaKeyEvent::defaultURL):
        (WebCore::MediaKeyEvent::errorCode):
        (WebCore::MediaKeyEvent::systemCode):
        * html/MediaKeyEvent.idl: Added.
        * page/DOMWindow.idl:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore):
        (WebCore::MediaPlayer::keyAdded):
        (WebCore::MediaPlayer::keyError):
        (WebCore::MediaPlayer::keyMessage):
        (WebCore::MediaPlayer::keyNeeded):
        * platform/graphics/MediaPlayer.h:
        (MediaPlayerClient):
        (WebCore::MediaPlayerClient::mediaPlayerKeyAdded):
        (WebCore::MediaPlayerClient::mediaPlayerKeyError):
        (WebCore::MediaPlayerClient::mediaPlayerKeyMessage):
        (WebCore::MediaPlayerClient::mediaPlayerKeyNeeded):
        (MediaPlayer):

2012-04-12  Anders Carlsson  <andersca@apple.com>

        Reset the user preferred language overrides in Internals::reset
        https://bugs.webkit.org/show_bug.cgi?id=83845

        Reviewed by Ryosuke Niwa.

        We don't want setting the language override in one test to affect subsequent tests,
        so make sure to reset it in Internals::reset.

        * testing/Internals.cpp:
        (WebCore::Internals::reset):

2012-04-12  Andrey Kosyakov  <caseq@chromium.org>

        [chromium][refactoring] merge CCSingleThreadProxy::{commitIfNeeded,doComposite} into commitAndComposite()
        https://bugs.webkit.org/show_bug.cgi?id=83837

        Reviewed by James Robinson.

        - merge CCSingleThreadProxy::commitIfNeeded() and CCSingleThreadProxy::doComposite() into commitAndComposite()

        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::compositeAndReadback): call site updated.
        (WebCore::CCSingleThreadProxy::compositeImmediately): ditto.
        (WebCore::CCSingleThreadProxy::commitAndComposite):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:

2012-04-12  Nate Chapin  <japhet@chromium.org>

        Remove FrameLoader:m_isLoadingMainResource, since it is always
        false at the only point it is checked.
        https://bugs.webkit.org/show_bug.cgi?id=83819

        Reviewed by Adam Barth.

        No new tests, no functionality change intended.

        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::end): Merge with endIfNotLoadingMainResource(), always end, assert that we're still attached.
        * loader/DocumentWriter.h:
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h: Remove isLoadingMainResource(), didEndDocument(), and m_isLoadingMainResource.

2012-04-12  Rob Buis  <rbuis@rim.com>

        XMLSerializer().serializeToString() doesn't generate the XML declaration markup like Opera and Firefox
        https://bugs.webkit.org/show_bug.cgi?id=83432

        Reviewed by Ryosuke Niwa.

        Serialize the xml declaration exactly as parsed, if present in the document.

        Test: fast/dom/dom-parse-serialize-xmldecl.html

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::setXMLStandalone): update xmlStandalone to either yes or no.
        * dom/Document.h:
        (WebCore::Document::xmlStandalone):
        (WebCore::Document::xmlStandaloneStatus): xmlStandalone can be unspecified, yes or no.
        (WebCore::Document::hasXMLDeclaration):  test if xml declaration is present.
        (WebCore::Document::setHasXMLDeclaration):
        (Document):
        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::appendXMLDeclaration): write xml declaration if present.
        (WebCore):
        (WebCore::MarkupAccumulator::appendStartMarkup):
        * editing/MarkupAccumulator.h:
        (MarkupAccumulator):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed.
        * xml/parser/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed.

2012-04-12  Adam Barth  <abarth@webkit.org>

        window.open should prepare for seamless navigation by using findFrameForNavigation
        https://bugs.webkit.org/show_bug.cgi?id=83835

        Reviewed by Ryosuke Niwa.

        Before this patch, window.open called FrameTree::find and
        Document::canNavigate separately.  This patch refactors the code to
        call FrameLoader::findFrameForNavigation, which does both.  This
        refactoring prepares window.open to understand seamless navigation,
        which will happen in findFrameForNavigation.

        This patch should have no behavior change today, but once we merge the
        seamless branch, this change will be tested by
        https://github.com/eseidel/webkit/blob/seamless/LayoutTests/fast/frames/seamless/seamless-window-open.html

        See https://github.com/eseidel/webkit/commit/a0d8b7defbb63047912aefbc8e22bca4f0638c37 for context.

        * WebCore.exp.in:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::findFrameForNavigation):
        (WebCore::createWindow):
        * loader/FrameLoader.h:
        (FrameLoader):

2012-04-12  Andy Estes  <aestes@apple.com>

        REGRESSION (r102262): iAd Producer relies on CSSStyleDeclaration property setters respecting '!important'
        https://bugs.webkit.org/show_bug.cgi?id=83832

        Reviewed by Alexey Proskuryakov.

        Shipping versions of iAd Producer rely on the pre-r102262 behavior of
        respecting '!important' when specified in a CSSStyleDeclaration
        property setter. Restore this quirky behavior for versions of the app
        that expect it.

        * WebCore.exp.in: Export
        Settings::setShouldRespectPriorityInCSSAttributeSetters().
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::putDelegate): If
        setShouldRespectPriorityInCSSAttributeSetters() is true, restore the
        pre-r102262 behavior wherein we attempt to parse '!important' out of
        the property value.
        * page/Settings.cpp:
        (WebCore::Settings::setShouldRespectPriorityInCSSAttributeSetters):
        (WebCore::Settings::shouldRespectPriorityInCSSAttributeSetters):
        * page/Settings.h:

2012-04-12  Alexandru Chiculita  <achicu@adobe.com>

        REGRESSION(112745) [CSS Filters] Memory use explosion for offscreen filtered elements
        https://bugs.webkit.org/show_bug.cgi?id=83815

        Reviewed by Simon Fraser.

        The filtered area used to be the dirty rect intersected by the bounding box of the
        layer. During a previous change that behavior was lost, so adding it back now.

        Also, removing the memory buffers used to compute filters after the filter is computed.
        They are deleted next time the filter is applied anyway, so there's no need to keep the
        memory for them.

        Test: css3/filters/offscreen-filters-memory-usage.html

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::prepare):
        (WebCore):
        (WebCore::FilterEffectRenderer::clearIntermediateResults):
        (WebCore::FilterEffectRendererHelper::prepareFilterEffect):
        (WebCore::FilterEffectRendererHelper::applyFilterEffect):
        * rendering/FilterEffectRenderer.h:
        (FilterEffectRenderer):

2012-04-12  Brent Fulgham  <bfulgham@webkit.org>

        [WinCairo] Build fix after addition of openTypeTable.

        * platform/graphics/FontPlatformData.h:
        (FontPlatformData): The openTypeTable declaration is needed
        for WinCairo as well.
        * platform/graphics/win/FontPlatformDataWin.cpp:
        (WebCore):
        (WebCore::FontPlatformData::openTypeTable): The implementation
        of openTypeTable is needed for non-CG builds.

2012-04-12  Balazs Kelemen  <kbalazs@webkit.org>

        [Qt] Fix WebKit1 build with V8
        https://bugs.webkit.org/show_bug.cgi?id=83322

        Reviewed by Adam Barth.

        Make it possible to build WebKit1 with v8.
        WebKit2 is not covered yet so it need to be disabled.
        To build webkit with --v8 one need a qtjsbackend with
        an up-to-date copy of v8. Thanks to Peter Varga such
        a public repository is available on gitorious:
        https://qt.gitorious.org/~stampho/qt/stamphos-qtjsbackend.

        This patch contains some build fix with !ENABLE(INSPECTOR)
        from it's previous version. These are not necessary now
        but I kept them because they makes sense.

        No change in behaviour so no new tests.

        * DerivedSources.pri:
        * Target.pri:
        * WebCore.pri:
        * bindings/v8/ScriptController.cpp:
        * bindings/v8/ScriptControllerQt.cpp:
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::retainedDOMInfo):
        (WebCore::ScriptProfiler::initialize):
        * bindings/v8/ScriptState.cpp:
        (WebCore::evalEnabled):
        (WebCore::setEvalEnabled):
        * bindings/v8/V8Binding.cpp:
        (WebCore):
        * bindings/v8/V8Binding.h:
        (V8BindingPerIsolateData):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        * bindings/v8/V8GCForContextDispose.cpp:
        (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
        * bindings/v8/custom/V8InjectedScriptManager.cpp:
        * config.h:
        * editing/TextIterator.cpp:
        * html/MediaFragmentURIParser.cpp:
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        * platform/qt/PlatformSupportQt.cpp:
        (WebCore::PlatformSupport::popupsAllowed):

2012-04-12  Alec Flett  <alecflett@chromium.org>

        IndexedDB: Refactor cursor iteration to remove duplicate code
        https://bugs.webkit.org/show_bug.cgi?id=83302

        Reviewed by Ojan Vafai.

        No new tests, no behavior changes.

        * Modules/indexeddb/IDBBackingStore.h:
        (Cursor):
        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore):

2012-04-12  Erik Arvidsson  <arv@chromium.org>

        Add support for [ArrayClass] and use that on NodeList
        https://bugs.webkit.org/show_bug.cgi?id=

        Reviewed by Adam Barth.

        Attempt to reland r113931. Now with more updated test expectations.

        With this patch NodeLists now have Array.prototype on their prototype chain which allows
        methods such as forEach and map to work on NodeLists.

        http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-nodelist

        For V8 we need to set a flag on the WrapperTypeInfo since V8 uses FunctionTemplates which
        does not allow setting the prototype to a non FunctionTemplate so the prototype is therefore
        set when the constructor is created.

        For JSC we just pass the right prototype object when creating the NodeList prototype. JSC has
        a bug (81588) that prevents toString to work as specced on Array.prototype.toString. This
        causes test failures in the tests until that has been fixed.

        Test: fast/dom/NodeList/node-list-array-class.html

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader): Include ArrayPrototype.h if an ArrayClass.
        (GenerateImplementation): If ArrayClass use arrayPrototype as prototype.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNamedConstructorCallback):
        (GenerateImplementation): Adds a flag to the WrapperTypeInfo.
        * bindings/scripts/IDLAttributes.txt:: Adds new attribute: ArrayClass.
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObj::createPrototype):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestNode.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore):
        * bindings/v8/NPV8Object.cpp:
        (WebCore::npObjectTypeInfo):
        * bindings/v8/V8BindingPerContextData.cpp:
        (WebCore::V8BindingPerContextData::init): Get the array prototype too.
        (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
        (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): If this is an ArrayClass we need to
        set the `[[Prototype]]`.
        * bindings/v8/V8BindingPerContextData.h:
        (V8BindingPerContextData):
        * bindings/v8/V8HiddenPropertyName.h:
        (WebCore):
        * bindings/v8/WrapperTypeInfo.h:
        (WrapperTypeInfo):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore):
        * dom/NodeList.idl:

2012-04-12  Konrad Piascik  <kpiascik@rim.com>

        [BlackBerry] Web Inspector cookie expiry is showing the wrong date.
        https://bugs.webkit.org/show_bug.cgi?id=83814

        Reviewed by Rob Buis.

        The internal representation for expiry is seconds, we need to convert it
        to milliseconds by multiplying by 1000.

        The value from this method doesn't get used anywhere except Web Inspector.
        Manually tested with Web Inspector by examining the CookieItemView in the Resources Panel.

        * platform/blackberry/ParsedCookie.cpp:
        (WebCore::ParsedCookie::appendWebCoreCookie):

2012-04-12  Adam Klein  <adamk@chromium.org>

        Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
        https://bugs.webkit.org/show_bug.cgi?id=82256

        Reviewed by Kentaro Hara.

        This is an attempt to reland r112318, which was rolled out due to suspicion of OOM issues.

        I've landed the refactoring bits of r112318 as separate changes,
        so that this patch contains only the change in which map setter is called.

        Binding tests have been updated with new output.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateToV8Converters): Call appropriate V8DOMWrapper::setJSWrapperFor*
        to set up wrapper mapping and remove call to leakRef() which is handled
        in V8DOMWrapper.
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore::V8Float64Array::wrapSlow):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::V8TestActiveDOMObject::wrapSlow):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::V8TestCustomNamedGetter::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::V8TestEventTarget::wrapSlow):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::V8TestMediaQueryListListener::wrapSlow):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestNode.cpp:
        (WebCore::V8TestNode::wrapSlow):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::wrapSlow):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):

2012-04-12  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=83817
        
        This patch modifies RenderText so that it scans all of its characters up front to
        determine whether or not the simple code path can be used for measurement/rendering
        of the text for the whole run.
        
        TextRun now has an additional field that indicates that the character scan is not
        required, since the entire RenderText is known to be simple. This boolean is set
        when constructing the TextRun from the places that make TextRuns from RenderTexts.
        
        The character scan has been refactored into a static Font method so that it can be
        called by RenderText. The scan of individual TextRuns is also done using the same method
        so that the code is shared.

        Reviewed by Dan Bernstein.

        * platform/graphics/Font.cpp:
        (WebCore::Font::codePath):
        (WebCore::Font::characterRangeCodePath):
        * platform/graphics/Font.h:
        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        (WebCore::TextRun::characterScanForCodePath):
        (WebCore::TextRun::setCharacterScanForCodePath):
        (TextRun):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::constructTextRun):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::textWidth):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::RenderText):
        (WebCore::RenderText::widthFromCache):
        (WebCore::RenderText::setTextInternal):
        (WebCore::RenderText::width):
        (WebCore::RenderText::computeCanUseSimpleFontCodePath):
        (WebCore):
        * rendering/RenderText.h:
        (RenderText):
        (WebCore::RenderText::canUseSimpleFontCodePath):

2012-04-12  Levi Weintraub  <leviw@chromium.org>

        Make AccessibilityObject::size non-virtual and fix platform accessibility code's LayoutUnit usage
        https://bugs.webkit.org/show_bug.cgi?id=83803

        Reviewed by Eric Seidel.

        AccessibilityObject::size was virtual with a number of overloads, but all the implementations were
        redundant. Avoiding the virtual thunk and code duplication by declaring it non-virtual and only
        implementing it in AccessibilityObject.

        Also adding a pixelSnappedSize method that returns an IntSize, and using it in platform
        accessibility code.

        No new tests. No change in behavior.

        * accessibility/AccessibilityMenuListOption.h:
        (WebCore::AccessibilityMenuListOption::canHaveChildren):
        * accessibility/AccessibilityMenuListPopup.h:
        (WebCore::AccessibilityMenuListPopup::elementRect):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::size):
        (WebCore::AccessibilityObject::pixelSnappedSize):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore):
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):
        * accessibility/AccessibilitySlider.cpp:
        (WebCore):
        * accessibility/AccessibilitySlider.h:
        (AccessibilitySliderThumb):
        * accessibility/AccessibilityTableColumn.cpp:
        (WebCore):
        * accessibility/AccessibilityTableColumn.h:
        (AccessibilityTableColumn):
        * accessibility/AccessibilityTableHeaderContainer.cpp:
        (WebCore):
        * accessibility/AccessibilityTableHeaderContainer.h:
        (AccessibilityTableHeaderContainer):
        * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
        (webkitAccessibleComponentGetExtents):
        * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
        (webkitAccessibleImageGetImagePosition):
        (webkitAccessibleImageGetImageSize):
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper position]):
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

2012-04-12  Anna Cavender  <annacc@chromium.org>

        Update HTMLMediaElement's index of cues when TextTrack.mode changes to
        and from TextTrack::DISABLED.
        https://bugs.webkit.org/show_bug.cgi?id=83377

        Reviewed by Eric Carlson.

        No new tests. Instead updated media/track/track-mode.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::textTrackModeChanged):
            Add the track's cues to the index when the mode changes to HIDDEN or SHOWING.

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::textTrackRemoveCues):
            Fix a copy pasta error.

        * html/track/TextTrack.cpp:
        (WebCore::TextTrack::setMode):
            Remove the track's cues from the index when the mode changes to DISABLED.

2012-04-12  Cem Kocagil  <cem.kocagil@gmail.com>

        Allow certain Char events in fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=83330

        Reviewed by Alexey Proskuryakov.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::isKeyEventAllowedInFullScreen):

2012-04-12  Alec Flett  <alecflett@chromium.org>

        IndexedDB: Attributes for a cursor "run past the end" should be undefined.
        https://bugs.webkit.org/show_bug.cgi?id=83492

        Reviewed by Ojan Vafai.

        This brings us up to spec with respect to when it's ok to call
        cursor.continue() and the various behaviors around it:

        If you call it more than once, continue() throws an exception.

        The values of key/primaryKey/value are consistent, whether or not
        continue has been called, meaning that if continue() results in
        data being loaded from the backing store, that data does not
        affect the cursor until the success callback has completed.

        Calls to update() and delete() can happen before continue(), but
        not afterwards.

        Test: storage/indexeddb/cursor-continue-validity.html

        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore::IDBCursor::IDBCursor):
        (WebCore::IDBCursor::key):
        (WebCore::IDBCursor::primaryKey):
        (WebCore::IDBCursor::value):
        (WebCore::IDBCursor::update):
        (WebCore::IDBCursor::continueFunction):
        (WebCore::IDBCursor::deleteFunction):
        (WebCore::IDBCursor::setGotValue):
        (WebCore):
        * Modules/indexeddb/IDBCursor.h:
        (IDBCursor):
        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::dispatchEvent):

2012-04-12  Eric Carlson  <eric.carlson@apple.com>

        Media engine should not be told to prepare for playback if media loading is not allowed
        https://bugs.webkit.org/show_bug.cgi?id=83620

        Reviewed by Dan Bernstein.

        Test: media/video-load-require-user-gesture.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::load): Early return if user gesture requirement is not met.

        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::setMediaPlaybackRequiresUserGesture): Moved the method here from
            Internals to be with the rest of the Internals methods that expose preferences.
        * testing/InternalSettings.h:
        * testing/InternalSettings.idl:

        * testing/Internals.cpp: Moved setMediaPlaybackRequiresUserGesture to InternalSettings.
        * testing/Internals.h:
        * testing/Internals.idl:

2012-04-12  Bear Travis  <betravis@adobe.com>

        [CSS Exclusions] Add flag to enable / disable exclusions at runtime
        https://bugs.webkit.org/show_bug.cgi?id=83313

        Reviewed by Ryosuke Niwa.

        Adding setCSSExclusionsEnabled/cssExclusionsEnabled that is true by default.
        The CSS parser will not accept values for the exclusions properties when
        cssExclusionsEnabled is false. However, you will still get the default value
        in the computed style.

        Test: fast/exclusions/css-exclusions-disabled.html

        * WebCore.exp.in:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setCSSExclusionsEnabled):
        (WebCore::RuntimeEnabledFeatures::cssExclusionsEnabled):
        (RuntimeEnabledFeatures):
        * css/CSSParser.cpp:
        (WebCore::isSimpleLengthValue):
        (WebCore::isValidKeywordPropertyAndValue):
        (WebCore::CSSParser::parseValue):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::InternalSettings):
        (WebCore::InternalSettings::restoreTo):
        (WebCore::InternalSettings::setCSSExclusionsEnabled):
        (WebCore):
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-04-12  Nate Chapin  <japhet@chromium.org>

        Move Archive processing to DocumentLoader, instead of FrameLoader.
        https://bugs.webkit.org/show_bug.cgi?id=83055

        Reviewed by Adam Barth.

        No new tests, no functionality change intended.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::maybeCreateArchive): Renamed from
            FrameLoader::finishedLoadingDocument(). Returns true if an archive
            was created.
        (WebCore::DocumentLoader::setArchive):
        (WebCore::DocumentLoader::scheduleArchiveLoad):
        (WebCore::DocumentLoader::documentURL): Add a check for whether an archive url
            should be returned, so that we don't need special handling in Document and
            FrameLoader for overriding the document url later.
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::receivedFirstData): Remove archive special cases, since
            DocumentLoader::documentURL() will return the right thing for legacy archives
            and maybeCreateArchive() will override the base url for mhtml.
        (WebCore::FrameLoader::loadArchive):
        * loader/FrameLoader.h:

2012-04-12  Dmitry Lomov  <dslomov@google.com>

        REGRESSION (r113233): fast/canvas/webgl/array-message-passing.html crashing on Lion and Snow Leopard bots.
        https://bugs.webkit.org/show_bug.cgi?id=83427.
        Due to incorrect merge by me when landing r113233, call to find got replaces with call to add in 
        checking for duplicates in ObjectPool when serializing.

        Reviewed by Dean Jackson.

        Covered by existing tests.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::checkForDuplicate):

2012-04-12  David Barton  <dbarton@mathscribe.com>

        Don't modify shared style objects in RenderMathMLRoot.cpp
        https://bugs.webkit.org/show_bug.cgi?id=83736

        Reviewed by Julien Chaffraix.

        To leave room for the radical sign and absolutely positioned "index", we switch to using
        intrinsic padding. RenderMathMLRoot.cpp is also cleaned up and prepared for merging with
        RenderMathMLSquareRoot.cpp. The base and index are no longer wrapped in extra renderers,
        and the child renderers are now in the same order as in the DOM. Some padding/placement
        terms are unified and debugged.

        Tested by existing tests in roots.xhtml.

        * css/mathml.css:
        (mroot):
        (mroot > * + *):
        (mroot > * + mrow, mroot > * + mfenced):
        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore):
        (WebCore::RenderMathMLRoot::index):
        (WebCore::RenderMathMLRoot::paint):
        (WebCore::RenderMathMLRoot::layout):
        * rendering/mathml/RenderMathMLRoot.h:
        (RenderMathMLRoot):
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore):
        (WebCore::RenderMathMLSquareRoot::paint):

2012-04-12  Anders Carlsson  <andersca@apple.com>

        Build fix.

        * page/mac/SettingsMac.mm:
        (WebCore::defaultFontFamilyDictionary):

2012-04-12  Antti Koivisto  <antti@apple.com>

        Remove style sheet argument from StyleRuleImport constructor 
        https://bugs.webkit.org/show_bug.cgi?id=83740

        Reviewed by Andreas Kling.

        The style sheet is set when the rule is added to one. The parser does not need to know about it.

        * css/CSSImportRule.cpp:
        (WebCore::StyleRuleImport::StyleRuleImport):
        * css/CSSImportRule.h:
        (StyleRuleImport):
        (WebCore::StyleRuleImport::setParentStyleSheet):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::createImportRule):
        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::parserAppendRule):
        (WebCore::StyleSheetInternal::wrapperInsertRule):

2012-04-12  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r113900): In nightly builds, Safari Webpage Preview Fetcher crashes in Settings::initializeDefaultFontFamilies() due to uncaught exception (sandbox preventing access to fonts plist)
        https://bugs.webkit.org/show_bug.cgi?id=83792
        <rdar://problem/11234002>

        Reviewed by Dan Bernstein.

        * page/mac/SettingsMac.mm: (WebCore::defaultFontFamilyDictionary): Bail out without setting
        font preferences if the process doesn't have read access to WebCore.framework.

2012-04-12  Eli Fidler  <efidler@rim.com>

        [BlackBerry] Set up default fonts for BlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=83775

        Reviewed by Antonio Gomes.

        * PlatformBlackBerry.cmake:
        * page/Settings.cpp:
        (WebCore):
        * page/blackberry/SettingsBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::Settings::initializeDefaultFontFamilies):

2012-04-12  Jon Lee  <jonlee@apple.com>

        Implement Dictionary.h on mac (83472)
        https://bugs.webkit.org/show_bug.cgi?id=83472
        <rdar://problem/11209766>

        Reviewed by Kentaro Hara.

        A difference between Dictionary and JSDictionary makes it difficult to merge the two together and avoid
        creating a confusing API. The boolean returned by Dictionary::get() represents whether the
        property was found. The boolean returned by JSDictionary::tryGetProperty() represents whether an
        exception was thrown.

        * WebCore.xcodeproj/project.pbxproj: Add Dictionary.h and Dictionary.cpp.

        * bindings/js/Dictionary.cpp: Added.
        (WebCore::Dictionary::Dictionary):
        (WebCore::Dictionary::get):
        * bindings/js/Dictionary.h: Leverage JSDictionary's functionality to obtain the data.
        (WebCore::Dictionary::isObject): Mark an unimplemented.
        (WebCore::Dictionary::isUndefinedOrNull): Mark an unimplemented.
        (WebCore::Dictionary::getWithUndefinedOrNullCheck): Mark an unimplemented.

        * bindings/js/JSDictionary.cpp:
        (WebCore::JSDictionary::tryGetProperty): Convert to a const function.
        * bindings/js/JSDictionary.h:
        (WebCore::JSDictionary::isValid):
        (WebCore::JSDictionary::tryGetProperty): Convert to a const function.
        (WebCore::JSDictionary::get): Similar to tryGetProperty(), but returns true if the
        property was found, converting the value succeeded and the out parameter "result" was set.
        (WebCore::JSDictionary::tryGetPropertyAndResult): Refactor tryGetProperty() to return the enum directly.

        Change bindings scripts to use Dictionary constructor.
        * bindings/js/IDBBindingUtilities.cpp: Remove createDictionaryFromValue().
        * bindings/js/IDBBindingUtilities.h: Remove createDictionaryFromValue().
        * bindings/scripts/CodeGeneratorJS.pm:
        (JSValueToNative): Update to remove IDBBindingUtilities.h dependency, and use Dictionary constructor.
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionOptionsObject): Update expected generated output.

2012-04-12  Sami Kyostila  <skyostil@chromium.org>

        [chromium] Fix threaded compositor HUD crash
        https://bugs.webkit.org/show_bug.cgi?id=83778

        Reviewed by James Robinson.

        Don't try to read font metrics in threaded compositing mode, since we
        currently can't render HUD text with the threaded compositor.

        HUD is not testable in WebKit.

        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::drawHudContents):

2012-04-11  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: zoom timeline frame on dblclick on the frame bar
        https://bugs.webkit.org/show_bug.cgi?id=83741

        Reviewed by Pavel Feldman.

       - put timeline frame bars into a container, so we can have one listener;
       - upon dblclick, find the frame, get its window coordinates and set overview selection window accordingly.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype.zoomToFrame): Get frame coordinates, set overview window.
        (WebInspector.TimelineVerticalOverview.prototype.update): Maintain framesPerBar as a member for reuse in getFramePosition()
        (WebInspector.TimelineVerticalOverview.prototype.framePosition): Map frame to screen positions.
        (WebInspector.TimelineVerticalOverview.prototype._renderBars): Factored out barNumberToScreenPosition()
        (WebInspector.TimelineVerticalOverview.prototype._barNumberToScreenPosition):
        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): Drive-by style fix.
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._updateFrames): Put frames into a containing div.
        (WebInspector.TimelinePanel.prototype._onFrameDoubleClicked): Zoom to frame upon double click.
        * inspector/front-end/timelinePanel.css:
        (.timeline-frame-container):

2012-04-11  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: show wall time frame duration on the vertical overview
        https://bugs.webkit.org/show_bug.cgi?id=83718

        Reviewed by Pavel Feldman.

        - show frame duration as a contour of the frame bar in vertical overview;
        - when scaling, normalize bar to a max of 3 * median frame duration, so too long frames do not dwarf the majority;
        - add Array.prototype.qselect() for the above;
        - factor our partition algorithm onto Array.prototype for better reuse;

        * inspector/front-end/PartialQuickSort.js: factor out partition()
        (Object.defineProperty.):
        (Object.defineProperty):
        * inspector/front-end/TimelineFrameController.js:
        (WebInspector.TimelineFrameController.prototype._flushFrame): add frame.duration.
        (WebInspector.TimelineFrameController.prototype._createSyntheticFrame): ditto.
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineVerticalOverview):
        (WebInspector.TimelineVerticalOverview.prototype.reset): this._longestFrameTime is gone.
        (WebInspector.TimelineVerticalOverview.prototype.update): ditto.
        (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames): return frames to display, not just their timeByCatogory.
        (WebInspector.TimelineVerticalOverview.prototype._renderBars): use entire frames, not timeByCategory.
        (WebInspector.TimelineVerticalOverview.prototype._renderBar): ditto.
        * inspector/front-end/externs.js: Added annotations for partition() and qselect()
        (Array.prototype.partition):
        (Array.prototype.qselect):
        * inspector/front-end/utilities.js:
        (.):

2012-04-12  David Barr  <davidbarr@chromium.org>

        Optimize non-rounded double border rendering to avoid transparency layers
        https://bugs.webkit.org/show_bug.cgi?id=83745

        Reviewed by Simon Fraser.

        No functional change, painting optimization only.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBorder):

2012-04-12  Julien Chaffraix  <jchaffraix@webkit.org>

        Reduce the use of RenderLayer outside of the rendering code
        https://bugs.webkit.org/show_bug.cgi?id=83728

        Reviewed by Simon Fraser.

        Test: fast/layers/scrollByLines-overflow-no-layer.html

        This is mostly a layering violation change. This changes reduces the number of
        RenderLayer use outside rendering/ by a third but there are still numerous uses.

        While auditing the different uses of RenderLayer, I found a potential crasher
        and fixed it which is why we have a test case.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
        * dom/Document.cpp:
        (WebCore::Document::nodesFromRect):
        (WebCore::Document::handleZeroPadding):
        (WebCore::nodeFromPoint):
        (WebCore::Document::prepareMouseEvent):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::contains):
        * page/DragController.cpp:
        (WebCore::elementUnderMouse):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseDraggedEvent):
        (WebCore::EventHandler::eventMayStartDrag):
        (WebCore::EventHandler::updateSelectionForMouseDrag):
        (WebCore::EventHandler::hitTestResultAtPoint):
        (WebCore::EventHandler::handleWheelEvent):
        (WebCore::EventHandler::hoverTimerFired):
        (WebCore::EventHandler::handleDrag):
        Updated these call sites to use RenderView::hitTest.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * page/FrameView.cpp:
        (WebCore::FrameView::contentsInCompositedLayer):
        (WebCore::FrameView::scrollContentsFastPath):
        Updated these call sites to use RenderObject::isComposited().

        * dom/Element.cpp:
        (WebCore::Element::scrollByUnits):
        Call directly RenderBox::scroll instead of calling the layer.
        This actually fixes a crasher that slipped through the cracks.

        * editing/visible_units.cpp:
        * html/shadow/TextControlInnerElements.cpp:
        * page/ContextMenuController.cpp:
        * page/FocusController.cpp:
        * page/Frame.cpp:
        * page/GestureTapHighlighter.cpp:
        * page/PrintContext.cpp:
        * plugins/mac/PluginViewMac.mm:
        Removed unneeded #include.

        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/qt/PluginViewQt.cpp:
        Replaced RenderLayer.h #include with RenderObject.h as
        we use RenderObject::absoluteToLocal.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::isComposited):
        * rendering/RenderObject.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::hitTest):
        * rendering/RenderView.h:
        Added 2 new functions that pipe through the RenderLayer.

2012-04-12  Pravinin D  <pravind.2k4@gmail.com>

        font-size:0 text runs has non zero width in case of Windows Safari.
        https://bugs.webkit.org/show_bug.cgi?id=83559

        Reviewed by Dan Bernstein.

        Test case already exits.
        LayoutTest/fast/text/font-size-zero.html

        * platform/graphics/win/SimpleFontDataCGWin.cpp:
        (WebCore):
        (WebCore::SimpleFontData::platformBoundsForGlyph):
        (WebCore::SimpleFontData::platformWidthForGlyph):

2012-04-12  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Move meta node out of nodes in snapshot serialization.
        https://bugs.webkit.org/show_bug.cgi?id=83701

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
        (WebInspector.HeapSnapshot):

2012-04-12  Yael Aharon  <yael.aharon@nokia.com>

        [Qt][WK2] Nested fixed elements scroll too fast
        https://bugs.webkit.org/show_bug.cgi?id=83720

        Reviewed by Noam Rosenthal.

        Before setting the scrollPositionDelta to a fixed layer, check if it has an ancestor which also has fixed position.
        If it does, do not set scrollPositionDelta.
        Added a flag to TextureMapperLayer and GraphicsLayerTextureMapper indicating if it is a fixed position layer.

        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        (WebCore::GraphicsLayerTextureMapper::setFixedToViewport):
        (WebCore::GraphicsLayerTextureMapper::fixedToViewport):
        (GraphicsLayerTextureMapper):
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::syncCompositingStateSelf):
        (WebCore::TextureMapperLayer::isAncestorFixedToViewport):
        (WebCore):
        (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
        * platform/graphics/texmap/TextureMapperLayer.h:
        (TextureMapperLayer):
        (WebCore::TextureMapperLayer::setFixedToViewport):

2012-04-12  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Revert the patch for 82764
        https://bugs.webkit.org/show_bug.cgi?id=83767

        Reviewed by Rob Buis.

        Revert the patch for 82764, which is causing misfunction.
        The internal commit is: 800213f5

        * plugins/blackberry/PluginViewBlackBerry.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::platformGetValue):
        (WebCore::PluginView::platformDestroy):
        * plugins/blackberry/PluginViewPrivateBlackBerry.h:
        (PluginViewPrivate):

2012-04-12  Kent Tamura  <tkent@chromium.org>

        [Chromium] Enable INPUT_TYPE_DATE
        https://bugs.webkit.org/show_bug.cgi?id=83761

        Reviewed by Kentaro Hara.

        * html/DateInputType.cpp:
        Touch it to avoid build issues. No code changes.
        * html/DateInputType.h: ditto.
        * html/InputType.cpp: ditto.

2012-04-12  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: annotate the rest of profiler front-end for closure compiler
        https://bugs.webkit.org/show_bug.cgi?id=83781

        All remaining Profiler front-end files are annotated for closure compiler.

        Reviewed by Pavel Feldman.

        * inspector/compile-front-end.py:
        * inspector/front-end/CSSSelectorProfileView.js:
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotWorkerWrapper):
        (WebInspector.HeapSnapshotWorkerWrapper.prototype.postMessag):
        (WebInspector.HeapSnapshotWorkerWrapper.prototype.terminate):
        (WebInspector.HeapSnapshotWorker):
        (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod):
        (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
        * inspector/front-end/HeapSnapshotWorkerDispatcher.js:
        * inspector/front-end/TopDownProfileDataGridTree.js:
        (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
        * inspector/front-end/externs.js:
        (addEventListener):

2012-04-12  Sam D  <dsam2912@gmail.com>

        Web Inspector: Node Value should not get corrupt while jump over different matches in search.
        https://bugs.webkit.org/show_bug.cgi?id=83758
        
        The order in which updateEntryHide is called for cached
        highlightResults is changed in "last changed first corrected" order to preserve the semantic of node.

        Reviewed by Pavel Feldman.

        No new tests required.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight):

2012-03-05  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Use QRawFont when building with Qt 5
        https://bugs.webkit.org/show_bug.cgi?id=78001

        Up until now, fonts in the Qt port have been handled via
        the QFont API. QRawFont offers a lower-level API enabling
        us to be more in line with what other WebKit ports do.
        This patch proceeds to switching over to QRawFont, and
        effectively use an earlier change by Andreas Kling
        that remained guarded up until now.

        Reviewed by Simon Hausmann.

        No new tests since this is refactoring of existing
        functionality.

        * Target.pri:
        * platform/graphics/Font.cpp:
        (WebCore::Font::drawText):
        * platform/graphics/Font.h:
        (Font):
        (WebCore):
        (WebCore::Font::syntheticFont): Added.
        * platform/graphics/SimpleFontData.h:
        (SimpleFontData):
        (WebCore::SimpleFontData::getQtRawFont):
        (WebCore):
        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::rawFontForCharacters):
        (WebCore):
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/qt/FontCustomPlatformData.h:
        (FontCustomPlatformData):
        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::FontCustomPlatformData::fontPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/qt/FontPlatformData.h:
        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
        (FontPlatformDataPrivate):
        (FontPlatformData):
        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore):
        (WebCore::FontPlatformData::operator==):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::fillPenForContext):
        (WebCore::pathForGlyphs):
        (WebCore::drawQtGlyphRun):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::initFormatForTextLayout):
        (WebCore):
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::syntheticFont):
        (WebCore::Font::rawFont):
        * platform/graphics/qt/FontQt4.cpp: Copied from Source/WebCore/platform/graphics/qt/FontQt.cpp.
        (WebCore):
        (WebCore::fromRawDataWithoutRef):
        (WebCore::setupLayout):
        (WebCore::fillPenForContext):
        (WebCore::strokePenForContext):
        (WebCore::drawTextCommon):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::canReturnFallbackFontsForComplexText):
        (WebCore::Font::drawEmphasisMarksForComplexText):
        (WebCore::Font::drawSimpleText):
        (WebCore::Font::offsetForPositionForSimpleText):
        (WebCore::Font::floatWidthForSimpleText):
        (WebCore::Font::selectionRectForSimpleText):
        (WebCore::Font::canExpandAroundIdeographsInComplexText):
        (WebCore::Font::primaryFontHasGlyphForCharacter):
        (WebCore::Font::emphasisMarkAscent):
        (WebCore::Font::emphasisMarkDescent):
        (WebCore::Font::emphasisMarkHeight):
        (WebCore::Font::drawEmphasisMarksForSimpleText):
        (WebCore::Font::font):
        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::fileListNameForWidth):
        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):

2012-04-12  JungJik Lee  <jungjik.lee@samsung.com>

        Calculate the cover rect of tiled backing store with the trajectory vector.
        https://bugs.webkit.org/show_bug.cgi?id=83462

        Reviewed by Kenneth Rohde Christiansen.

        When trajectory vector is not zero, it is able to calculate the proper cover area.
        No new tests - no new functionality.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::computeCoverAndKeepRect):

2012-04-12  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: extracting NetworkRequest from Resource (step 2)
        https://bugs.webkit.org/show_bug.cgi?id=83773

        Reviewed by Yury Semikhatsky.

        This step moves request-related views from being resource-based to request-based.
        See https://bugs.webkit.org/show_bug.cgi?id=61363 for the meta bug.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/ContentProviders.js:
        (WebInspector.ResourceContentProvider):
        (WebInspector.ResourceContentProvider.prototype.requestContent):
        (WebInspector.ResourceContentProvider.prototype.searchInContent):
        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView):
        (WebInspector.RequestContentView):
        (WebInspector.RequestContentView.prototype._ensureInnerViewShown):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._showPopover):
        * inspector/front-end/NetworkRequest.js:
        (WebInspector.NetworkRequest.prototype.resource):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createContentProvider):
        * inspector/front-end/RequestCookiesView.js: Renamed from Source/WebCore/inspector/front-end/ResourceCookiesView.js.
        (WebInspector.RequestCookiesView):
        * inspector/front-end/RequestHTMLView.js: Renamed from Source/WebCore/inspector/front-end/ResourceHTMLView.js.
        (WebInspector.RequestHTMLView):
        (WebInspector.RequestHTMLView.prototype._createIFrame):
        * inspector/front-end/RequestHeadersView.js: Renamed from Source/WebCore/inspector/front-end/ResourceHeadersView.js.
        (WebInspector.RequestHeadersView):
        * inspector/front-end/RequestJSONView.js: Renamed from Source/WebCore/inspector/front-end/ResourceJSONView.js.
        (WebInspector.RequestJSONView):
        (WebInspector.RequestJSONView.parseJSON.WebInspector.RequestJSONView.parseJSONP):
        * inspector/front-end/RequestPreviewView.js: Renamed from Source/WebCore/inspector/front-end/ResourcePreviewView.js.
        (WebInspector.RequestPreviewView):
        (WebInspector.RequestPreviewView.prototype.contentLoaded):
        (WebInspector.RequestPreviewView.prototype._createPreviewView):
        * inspector/front-end/RequestResponseView.js: Renamed from Source/WebCore/inspector/front-end/ResourceResponseView.js.
        (WebInspector.RequestResponseView):
        (WebInspector.RequestResponseView.prototype.get sourceView):
        (WebInspector.RequestResponseView.prototype.contentLoaded):
        * inspector/front-end/RequestTimingView.js: Renamed from Source/WebCore/inspector/front-end/ResourceTimingView.js.
        (WebInspector.RequestTimingView):
        (WebInspector.RequestTimingView.prototype._refresh):
        * inspector/front-end/RequestView.js: Copied from Source/WebCore/inspector/front-end/NetworkRequest.js.
        (WebInspector.RequestView):
        (WebInspector.RequestView.prototype.hasContent):
        (WebInspector.RequestView.hasTextContent):
        (WebInspector.RequestView.nonSourceViewForRequest):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceSourceFrame._canonicalMIMEType):
        (WebInspector.ResourceSourceFrame._mimeTypeForResource):
        (WebInspector.ResourceSourceFrame.prototype.requestContent):
        (WebInspector.ResourceSourceFrame.prototype._contentChanged):
        (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-04-12  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix a couple of compiler annotations after r113963.

        * inspector/front-end/TopDownProfileDataGridTree.js:
        (WebInspector.TopDownProfileDataGridTree):
        (WebInspector.TopDownProfileDataGridTree.prototype.exclude):

2012-04-11  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: add closure compiler annotations for profiler code
        https://bugs.webkit.org/show_bug.cgi?id=83700

        Basic type annotations are added to most of the profiler front-end. Some
        dead code removed.

        Reviewed by Pavel Feldman.

        * inspector/compile-front-end.py:
        * inspector/front-end/BinarySearch.js:
        (Object.defineProperty):
        * inspector/front-end/BottomUpProfileDataGridTree.js:
        (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
        (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
        (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
        (WebInspector.BottomUpProfileDataGridTree):
        * inspector/front-end/DataGrid.js:
        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype._changeBase):
        (WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource):
        (WebInspector.DetailedHeapshotView.prototype._helpClicked.appendHelp):
        (WebInspector.DetailedHeapshotView.prototype._helpClicked):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot):
        (HeapSnapshotMetainfo):
        (WebInspector.HeapSnapshot.prototype._buildRetainers):
        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
        * inspector/front-end/ProfileDataGridTree.js:
        (WebInspector.ProfileDataGridNode.prototype.insertChild):
        (WebInspector.ProfileDataGridNode.prototype.removeChild):
        (WebInspector.ProfileDataGridNode.prototype.removeChildren):
        (WebInspector.ProfileDataGridNode.prototype._populate):
        (WebInspector.ProfileDataGridTree.propertyComparator):
        * inspector/front-end/ProfileView.js:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileHeader):
        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype.performSearch.finishedCallback):
        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
        (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
        * inspector/front-end/TopDownProfileDataGridTree.js:
        (WebInspector.TopDownProfileDataGridTree):
        (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
        * inspector/front-end/externs.js:
        (Array.prototype.binaryIndexOf):
        (Array.prototype.sortRange):
        (WebInspector.CSSSelectorProfileType):
        (WebInspector.HeapSnapshotWorker):
        (WebInspector.HeapSnapshotWorker.prototype.createObject):
        (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
        * inspector/front-end/heapProfiler.css:

2012-04-12  Zalan Bujtas  <zbujtas@gmail.com>

        [Qt][WK2] Zoom gesture with double tap crashes on iframe when main frame has scroll offset.
        https://bugs.webkit.org/show_bug.cgi?id=83428

        Reviewed by Kenneth Rohde Christiansen.

        When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting
        coordinates. It is already done at ScrollView base class and this patch copies the logic to the
        FrameView subclass.
        Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller.

        Test: touchadjustment/iframe-with-mainframe-scroll-offset.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::bestClickableNodeForTouchPoint):
        (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
        * page/EventHandler.h:
        (EventHandler):
        * page/FrameView.cpp:
        (WebCore::FrameView::convertFromRenderer):
        (WebCore::FrameView::convertToRenderer):
        * page/GestureTapHighlighter.cpp:
        * testing/Internals.cpp:
        (WebCore::Internals::setDelegatesScrolling):
        (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
        (WebCore::Internals::bestZoomableAreaForTouchPoint):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-04-12  Zoltan Horvath  <zoltan@webkit.org>

        [Qt] Two canvas tests fail with QT_IMAGE_DECODER=0 setup
        https://bugs.webkit.org/show_bug.cgi?id=83764

        The following tests were failed after r108792:
        - canvas-toDataURL-case-insensitive-mimetype.html
        - toDataURL-supportedTypes.html 
        because supportedImageMIMETypesForEncoding wasn't filled
        with MIME types in case of QT_IMAGE_DECODER=0 build setup.

        Reviewed by Csaba Osztrogonác.

        Fixes existing tests.

        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypesForEncoding):

2012-04-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113931.
        http://trac.webkit.org/changeset/113931
        https://bugs.webkit.org/show_bug.cgi?id=83766

        broke 4 tests on JSC platforms (Requested by philn-tp on
        #webkit).

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNamedConstructorCallback):
        (GenerateImplementation):
        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObj::createPrototype):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore):
        * bindings/v8/NPV8Object.cpp:
        (WebCore::npObjectTypeInfo):
        * bindings/v8/V8BindingPerContextData.cpp:
        (WebCore::V8BindingPerContextData::init):
        (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
        (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
        * bindings/v8/V8BindingPerContextData.h:
        (V8BindingPerContextData):
        * bindings/v8/V8HiddenPropertyName.h:
        (WebCore):
        * bindings/v8/WrapperTypeInfo.h:
        (WrapperTypeInfo):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore):
        * dom/NodeList.idl:

2012-04-12  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Upstreaming BlackBerry-specific changes to PluginView -- remove unused functions
        https://bugs.webkit.org/show_bug.cgi?id=83756

        Reviewed by George Staikos.

        PluginView::halt(), PluginView::restart() have been removed from
        upstreaming code, should remove them from BlackBerry porting also.

        * plugins/blackberry/PluginViewBlackBerry.cpp:

2012-04-12  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] The size of glyphStorage should be passed to substituteWithVerticalGlyphs()
        https://bugs.webkit.org/show_bug.cgi?id=83751

        Reviewed by Kent Tamura.

        The last argument of substituteWithVerticalGlyphs() should be
        the size of |glyphStorage|.

        No new tests because we can't test the fix by layout tests.
        I confirmed the fix with ASAN.

        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
        (WebCore::GlyphPage::fill):

2012-04-12  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] We shouldn't set empty Content-Length & Content-Type to a request's headers.
        https://bugs.webkit.org/show_bug.cgi?id=83349

        When there is a redirection for a POST request, we change POST to GET and set
        Content-Length/Content-Type to empty strings.
        We should remove these headers instead of adding empty strings.

        Reviewed by George Staikos.

        No new tests. Refactor.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleRedirect):
        * platform/network/blackberry/ResourceRequest.h:
        (ResourceRequest):
        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::clearHTTPContentLength):
        (WebCore):
        (WebCore::ResourceRequest::clearHTTPContentType):

2012-04-12  Noel Gordon  <noel.gordon@gmail.com>

        [Qt] ImageBuffer: Canonical mimeType for encoding implies startsWith('image/')
        https://bugs.webkit.org/show_bug.cgi?id=83746

        Reviewed by Simon Hausmann.

        Canonical image mimeTypes begin with "image/", and this is tested by an ASSERT
        guard in toDataURL(): that checks the WebCore mimeType registry for image-for-
        encoding mimeType. There is no need to also test mimeType.startsWith("image/")
        since that is a given.

        No new tests. Covered by existing fast/canvas/*toDataURL* tests.

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::toDataURL):

2012-04-11  Adam Barth  <abarth@webkit.org>

        Implement Location.ancestorOrigins
        https://bugs.webkit.org/show_bug.cgi?id=83493

        Reviewed by David Levin.

        Test: fast/dom/Window/Location/ancestor-origins.html

        This patch implements Location.ancestorOrigins(), which returns a list
        of the origins of the enclosing frames.  This API has been discussed
        both on webkit-dev (see discussion following
        https://lists.webkit.org/pipermail/webkit-dev/2012-March/020090.html)
        and on the whatwg list (see discussion following
        http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035188.html).

        * page/Location.cpp:
        (WebCore::Location::ancestorOrigins):
        (WebCore):
        * page/Location.h:
        (Location):
        * page/Location.idl:

2012-04-11  Raymond Liu  <raymond.liu@intel.com>

        AudioContext createChannelSplitter() method should have optional argument for number of outputs
        https://bugs.webkit.org/show_bug.cgi?id=83648

        Reviewed by Chris Rogers.

        Check https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html for the optional argument.

        Test: webaudio/audiochannelsplitter.html

        * Modules/webaudio/AudioChannelSplitter.cpp:
        (WebCore::AudioChannelSplitter::create):
        (WebCore::AudioChannelSplitter::AudioChannelSplitter):
        (WebCore::AudioChannelSplitter::process):
        * Modules/webaudio/AudioChannelSplitter.h:
        (AudioChannelSplitter):
        * Modules/webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createChannelSplitter):
        (WebCore):
        * Modules/webaudio/AudioContext.h:
        (AudioContext):
        * Modules/webaudio/AudioContext.idl:

2012-04-11  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Revert the changes that depend on Event changes, which is reverted already internally.
        https://bugs.webkit.org/show_bug.cgi?id=83456

        Reviewed by George Staikos.

        No new tests, just to make BlackBerry-porting to build.

        * plugins/blackberry/PluginViewBlackBerry.cpp:
        (WebCore::PluginView::handleWheelEvent):
        (WebCore::PluginView::handleTouchEvent):
        (WebCore::PluginView::handleMouseEvent):

2012-04-11  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] There shouldn't be two or more Accept-Language in platformRequest's headerList.
        https://bugs.webkit.org/show_bug.cgi?id=83670

        FrameLoaderClientBlackBerry::dispatchWillSendRequest and NetworkManager::startJob will call
        ResourceRequest::initializePlatformRequest. Accept-Language is added two times.
        We should avoid the second adding to improve performance.

        Reviewed by Rob Buis.

        No new tests. Refactor.

        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::initializePlatformRequest):

2012-04-11  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] MMRPlayer will hang webkit thread when retrieving media metadata
        https://bugs.webkit.org/show_bug.cgi?id=80978

        Reviewed by Rob Buis.

        RIM PR: 143471
        Implemented the interface function onWaitMetadataNotified()
        which starts a timer to wait for the metadata retrieving to
        finish, and pops up a dialog to notify the user what to do
        if there still is no metadata when the timer fires.

        This patch also contributed by Max Feil <mfeil@rim.com>.
        Internally reviewed by Max Feil.

        Test: http/tests/media/video-throttled-load-metadata.html

        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore):
        (WebCore::MediaPlayerPrivate::onWaitMetadataNotified):
        (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
        (MediaPlayerPrivate):

2012-04-11  Jer Noble  <jer.noble@apple.com>

        Layout Test webaudio/* is flaky
        https://bugs.webkit.org/show_bug.cgi?id=83624

        Reviewed by Chris Rogers.

        No new tests; fixes webaudio/ layout tests.

        A merge error led to an Mutex overunlock situation, which caused all future mutex trylock
        attempts to fail, but only on Windows. Remove the extraneous mutex unlock().

        * Modules/webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::process):

2012-04-11  Levi Weintraub  <leviw@chromium.org>

        Correct pixel snapping error in RenderBox::pixelSnappedClientWidth/Height
        https://bugs.webkit.org/show_bug.cgi?id=83621

        Reviewed by Eric Seidel.

        Though the problem wouldn't yet manifest itself since we haven't flipped the switch on sub-pixel
        layout, clientWidth and clientHeight, when pixel snapped, need to take the RenderBox's location
        into account. Previously, ClientLeft/Top were used, but these are simply the width of the borders,
        and don't include the box's sub-pixel location, which is needed to properly snap the width/height.

        No new tests. Untestable until we switch to FractionalLayoutUnits. A test case that covers this
        is in the subpixellayout branch and will land with the switch.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::pixelSnappedClientWidth):
        (WebCore::RenderBox::pixelSnappedClientHeight):
        (WebCore::RenderBox::scrollWidth): Replacing a raw zero with ZERO_LAYOUT_UNIT.

2012-04-11  Erik Arvidsson  <arv@chromium.org>

        Add support for [ArrayClass] and use that on NodeList
        https://bugs.webkit.org/show_bug.cgi?id=81573

        Reviewed by Adam Barth.

        With this patch NodeLists now have Array.prototype on their prototype chain which allows
        methods such as forEach and map to work on NodeLists.

        http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-nodelist

        For V8 we need to set a flag on the WrapperTypeInfo since V8 uses FunctionTemplates which
        does not allow setting the prototype to a non FunctionTemplate so the prototype is therefore
        set when the constructor is created.

        For JSC we just pass the right prototype object when creating the NodeList prototype. JSC has
        a bug (81588) that prevents toString to work as specced on Array.prototype.toString. This
        causes test failures in the tests until that has been fixed.

        Test: fast/dom/NodeList/node-list-array-class.html

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader): Include ArrayPrototype.h if an ArrayClass.
        (GenerateImplementation): If ArrayClass use arrayPrototype as prototype.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNamedConstructorCallback):
        (GenerateImplementation): Adds a flag to the WrapperTypeInfo.
        * bindings/scripts/IDLAttributes.txt: Adds new attribute: ArrayClass.
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObj::createPrototype):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore):
        * bindings/v8/V8BindingPerContextData.cpp:
        (WebCore::V8BindingPerContextData::init): Get the array prototype too.
        (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
        (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): If this is an ArrayClass we need to
        set the [[Prototype]].
        * bindings/v8/V8BindingPerContextData.h:
        (V8BindingPerContextData):
        * bindings/v8/V8HiddenPropertyName.h:
        (WebCore):
        * bindings/v8/WrapperTypeInfo.h:
        (WrapperTypeInfo):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore):
        * dom/NodeList.idl:

2012-04-11  Antti Koivisto  <antti@apple.com>

        Try to fix build with XSLT disabled.

        Not reviewed.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::parseStyleSheet):

2012-04-11  Erik Arvidsson  <arv@chromium.org>

        File API does not support DOM events (like addEventListener)
        https://bugs.webkit.org/show_bug.cgi?id=83688

        Reviewed by Adam Barth.

        The IDL files where missing addEventListener, removeEventListener and dispatchEvent.

        Tests: fast/filesystem/file-writer-events.html
               fast/speech/scripted/basics.html

        * Modules/filesystem/FileWriter.idl: Add missing methods.
        * Modules/mediastream/LocalMediaStream.idl: This one gets its EventTarget from MediaStream.
        * Modules/speech/SpeechRecognition.idl: Add missing methods.

2012-04-11  Andy Estes  <aestes@apple.com>

        LayerFlushScheduler's run loop observer should have an autorelease pool.
        https://bugs.webkit.org/show_bug.cgi?id=83729

        Reviewed by Dan Bernstein.

        LayerFlushScheduler's run loop observer needs an autorelease pool.
        NSApplication creates one, but it is only drained after processing user
        input. In the case where a WebView is displaying composited content but
        not receiving user input, NSApplication's pool will accumulate a large
        number of objects autoreleased by the run loop observer. Have
        LayerFlushScheduler create an autorelease pool that is drained after
        each run loop observer callback.

        * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
        (WebCore::LayerFlushScheduler::runLoopObserverCallback):

2012-04-11  Antti Koivisto  <antti@apple.com>

        Split CSSStyleSheet into internal and CSSOM type
        https://bugs.webkit.org/show_bug.cgi?id=83612
        
        Reviewed by Andreas Kling.

        This will complete the separation of our style sheet data structures from CSSOM.
        
        The internal parts of CSSStyleSheet move to StyleSheetInternal. CSS parser
        and style selector will now operate on internal types. Unlike other CSSOM types
        CSSStyleSheets are still always instantiated to hold the top level author stylesheets
        (by Nodes).

        * css/CSSFontFaceSrcValue.cpp:
        (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs):
        * css/CSSFontFaceSrcValue.h:
        (CSSFontFaceSrcValue):
        * css/CSSImportRule.cpp:
        (WebCore::StyleRuleImport::create):
        (WebCore::StyleRuleImport::StyleRuleImport):
        (WebCore::StyleRuleImport::setCSSStyleSheet):
        (WebCore::StyleRuleImport::requestStyleSheet):
        (WebCore::CSSImportRule::~CSSImportRule):
        (WebCore):
        (WebCore::CSSImportRule::styleSheet):
        * css/CSSImportRule.h:
        (WebCore):
        (StyleRuleImport):
        (WebCore::StyleRuleImport::parentStyleSheet):
        (WebCore::StyleRuleImport::styleSheet):
        (CSSImportRule):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::insertRule):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::parseRule):
        (WebCore::CSSParser::parseKeyframeRule):
        (WebCore::CSSParser::parseFontFaceValue):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseSelector):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::setStyleSheet):
        (WebCore::CSSParser::parseFlowThread):
        * css/CSSParser.h:
        (WebCore):
        (CSSParser):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
        * css/CSSPrimitiveValue.h:
        (CSSPrimitiveValue):
        * css/CSSReflectValue.cpp:
        (WebCore::CSSReflectValue::addSubresourceStyleURLs):
        * css/CSSReflectValue.h:
        (CSSReflectValue):
        * css/CSSRule.h:
        (CSSRule):
        * css/CSSStyleSelector.cpp:
        (RuleSet):
        (WebCore):
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::addAuthorRulesAndCollectUserRulesFromSheets):
        (WebCore::CSSStyleSelector::determineScope):
        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
        (WebCore::parseUASheet):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        
            Add a set for root CSSStyleSheet objects so that the wrappers created in ensureFullCSSOMWrapperForInspector
            stay valid.
        
        * css/CSSStyleSheet.cpp:
        (WebCore::StyleSheetInternal::StyleSheetInternal):
        (WebCore::StyleSheetInternal::~StyleSheetInternal):
        (WebCore::StyleSheetInternal::parserAppendRule):
        (WebCore::StyleSheetInternal::createChildRuleCSSOMWrapper):
        (WebCore::StyleSheetInternal::ruleCount):
        (WebCore::StyleSheetInternal::clearCharsetRule):
        (WebCore::StyleSheetInternal::clearRules):
        (WebCore::StyleSheetInternal::parserSetEncodingFromCharsetRule):
        (WebCore::StyleSheetInternal::wrapperInsertRule):
        (WebCore::StyleSheetInternal::wrapperDeleteRule):
        (WebCore::StyleSheetInternal::addNamespace):
        (WebCore::StyleSheetInternal::determineNamespace):
        (WebCore::StyleSheetInternal::parseString):
        (WebCore::StyleSheetInternal::parseStringAtLine):
        (WebCore::StyleSheetInternal::isLoading):
        (WebCore::StyleSheetInternal::checkLoaded):
        (WebCore::StyleSheetInternal::notifyLoadedSheet):
        (WebCore::StyleSheetInternal::startLoadingDynamicSheet):
        (WebCore::StyleSheetInternal::findStyleSheetOwnerNode):
        (WebCore::StyleSheetInternal::findDocument):
        (WebCore::StyleSheetInternal::setMediaQueries):
        (WebCore::StyleSheetInternal::styleSheetChanged):
        (WebCore):
        (WebCore::StyleSheetInternal::baseURL):
        (WebCore::StyleSheetInternal::completeURL):
        (WebCore::StyleSheetInternal::addSubresourceStyleURLs):
        (WebCore::StyleSheetInternal::parentStyleSheet):
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        (WebCore::CSSStyleSheet::~CSSStyleSheet):
        (WebCore::CSSStyleSheet::setDisabled):
        (WebCore::CSSStyleSheet::length):
        (WebCore::CSSStyleSheet::item):
        (WebCore::CSSStyleSheet::rules):
        (WebCore::CSSStyleSheet::insertRule):
        (WebCore::CSSStyleSheet::addRule):
        (WebCore::CSSStyleSheet::cssRules):
        (WebCore::CSSStyleSheet::deleteRule):
        (WebCore::CSSStyleSheet::media):
        (WebCore::CSSStyleSheet::parentStyleSheet):
        * css/CSSStyleSheet.h:
        (WebCore):
        (WebCore::StyleSheetInternal::create):
        (WebCore::StyleSheetInternal::createInline):
        (StyleSheetInternal):
        (WebCore::StyleSheetInternal::ownerNode):
        (WebCore::StyleSheetInternal::clearOwnerNode):
        (WebCore::StyleSheetInternal::ownerRule):
        (WebCore::StyleSheetInternal::originalURL):
        (WebCore::StyleSheetInternal::title):
        (WebCore::StyleSheetInternal::setTitle):
        (WebCore::StyleSheetInternal::setFinalURL):
        (WebCore::StyleSheetInternal::finalURL):
        (CSSStyleSheet):
        (WebCore::CSSStyleSheet::create):
        (WebCore::CSSStyleSheet::removeRule):
        (WebCore::CSSStyleSheet::clearOwnerRule):
        (WebCore::CSSStyleSheet::styleSheetChanged):
        (WebCore::CSSStyleSheet::findDocument):
        (WebCore::CSSStyleSheet::internal):
        (WebCore::CSSStyleSheet::isCSSStyleSheet):
        (WebCore::CSSStyleSheet::type):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::addSubresourceStyleURLs):
        * css/CSSValue.h:
        (WebCore):
        (CSSValue):
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::addSubresourceStyleURLs):
        * css/CSSValueList.h:
        (CSSValueList):
        * css/CSSValuePool.cpp:
        (WebCore::CSSValuePool::createFontFaceValue):
        * css/CSSValuePool.h:
        (WebCore):
        (CSSValuePool):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
        * css/PropertySetCSSStyleDeclaration.h:
        (WebCore):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::setProperty):
        (WebCore::StylePropertySet::parseDeclaration):
        (WebCore::StylePropertySet::addSubresourceStyleURLs):
        * css/StylePropertySet.h:
        (WebCore):
        (StylePropertySet):
        * css/StyleSheet.cpp:
        (WebCore):
        * css/StyleSheet.h:
        (StyleSheet):
        (WebCore::StyleSheet::media):
        (WebCore::StyleSheet::ownerRule):
        (WebCore::StyleSheet::isXSLStyleSheet):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::insertRule):
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createCSSStyleSheet):
        * dom/Document.cpp:
        (WebCore::Document::updateBaseURL):
        (WebCore::Document::pageUserSheet):
        (WebCore::Document::pageGroupUserSheets):
        (WebCore::Document::addUserSheet):
        (WebCore::Document::elementSheet):
        (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
        (WebCore::Document::analyzeStylesheetChange):
        * dom/Document.h:
        (WebCore):
        (Document):
        (WebCore::Document::documentUserSheets):
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::setCSSStyleSheet):
        (WebCore::ProcessingInstruction::parseStyleSheet):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::createSheet):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::setInlineStyleProperty):
        (WebCore::StyledElement::addSubresourceAttributeURLs):
        (WebCore):
        (WebCore::StyledElement::addPropertyToAttributeStyle):
        * dom/StyledElement.h:
        (WebCore):
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::collectStyleForAttribute):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::parseAttribute):
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        (WebCore::HTMLLinkElement::styleSheetIsLoading):
        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::parseAttribute):
        (WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::fillMediaListChain):
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyleSheet::styleSheetURL):
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        (WebCore::InspectorStyleSheet::ensureSourceData):
        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::serializeCSSStyleSheet):
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::parseAttribute):
        * xml/XSLStyleSheet.h:
        (XSLStyleSheet):
        (WebCore::XSLStyleSheet::finalURL):
        * xml/XSLStyleSheetLibxslt.cpp:
        (WebCore::XSLStyleSheet::XSLStyleSheet):
        (WebCore::XSLStyleSheet::isLoading):

2012-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113912.
        http://trac.webkit.org/changeset/113912
        https://bugs.webkit.org/show_bug.cgi?id=83727

        broke atsui-spacing-features.html on windows (Requested by
        simonjam on #webkit).

        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::justify):

2012-04-11  Alex Nicolaou  <anicolao@chromium.org>

        [chromium] When rendering goes idle, do not count that time against frame rate
        https://bugs.webkit.org/show_bug.cgi?id=73454

        The FPS counter had a few issues with its reporting. The first
        3 swapbuffers are non-blocking and create FPS rates that are
        unrealistically high, throwing off the moving averages and
        introducing false spikes into the FPS graph. There was also no
        way to monitor the smoothness of the animation, or to focus in
        on a particular animation or transition.

        This patch updates the FPS counter code so that bad data points
        are trimmed and not graphed; so that the graph itself is taller
        and more legible; so that there is a clear boundary between 40FPS
        and better; and to keep statistics on frame rate between
        pauses in the activity in the UI so that you can trigger a
        transition and read off the average and standard deviation for
        that transition to judge it smooth enough or not.


        Reviewed by James Robinson.

        HUD is not testable in webkit.

        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
        (WebCore::CCHeadsUpDisplay::onFrameBegin):
        (WebCore::CCHeadsUpDisplay::drawHudContents):
        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:

2012-04-10  Zhenyao Mo  <zmo@google.com>

        WebGLRenderingContext should defer caching program info
        https://bugs.webkit.org/show_bug.cgi?id=83513

        Reviewed by Kenneth Russell.

        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::WebGLProgram):
        (WebCore::WebGLProgram::numActiveAttribLocations): call cacheInfoIfNeeded();
        (WebCore::WebGLProgram::getActiveAttribLocation): Ditto.
        (WebCore::WebGLProgram::isUsingVertexAttrib0): Ditto.
        (WebCore::WebGLProgram::getLinkStatus): Ditto.
        (WebCore):
        (WebCore::WebGLProgram::cacheActiveAttribLocations):
        (WebCore::WebGLProgram::cacheInfoIfNeeded): Cache link status, active attire locations, etc if needed.
        (WebCore::WebGLProgram::increaseLinkCount): also invalidate cached info.
        * html/canvas/WebGLProgram.h:
        (WebGLProgram):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::linkProgram): Do not cache program info immediately.

2012-04-11  David Dorwin  <ddorwin@chromium.org>

        Add keySystem attribute to canPlayType() for Encrypted Media Extensions
        https://bugs.webkit.org/show_bug.cgi?id=82973

        Reviewed by Adam Barth.

        The new attribute is behind the ENABLE(ENCRYPTED_MEDIA) feature define.
        Implementation is based on v0.1 of the draft proposal at
        http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#extensions.

        Tests: media/encrypted-media/encrypted-media-can-play-type-webm.html
               media/encrypted-media/encrypted-media-can-play-type.html

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::canPlayType):
        (WebCore::HTMLMediaElement::selectMediaResource):
        (WebCore::HTMLMediaElement::loadNextSourceChild):
        (WebCore::HTMLMediaElement::loadResource):
        (WebCore::HTMLMediaElement::havePotentialSourceChild):
        (WebCore::HTMLMediaElement::selectNextSourceChild):
        (WebCore::HTMLMediaElement::getPluginProxyParams):
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):
        * html/HTMLMediaElement.idl:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore):
        (WebCore::bestMediaEngineForTypeAndCodecs):
        (WebCore::MediaPlayer::load):
        (WebCore::MediaPlayer::loadWithNextMediaEngine):
        (WebCore::MediaPlayer::supportsType):
        (WebCore::MediaPlayer::networkStateChanged):
        * platform/graphics/MediaPlayer.h:
        (MediaPlayer):
        (WebCore):

2012-04-11  Xiaomei Ji  <xji@chromium.org>

        [chromium] wrong justification for arabic/persian page in cr-win.
        https://bugs.webkit.org/show_bug.cgi?id=83227

        Reviewed by Kent Tamura.

        GDI used to do Kashida justification.
        After switch to Skia, we need to use space padding to justify the text
        (assume Skia can not do Kashida justification -- stretching words).

        Test: fast/text/international/arabic-justify.html

        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::justify):

2012-03-15  Martin Robinson  <mrobinson@igalia.com>

        [CAIRO] Make GLContextGLX a subclass of GLContext
        https://bugs.webkit.org/show_bug.cgi?id=81285

        Reviewed by Gustavo Noronha Silva.

        No new tests. This should not change behavior.

        * GNUmakefile.list.am: Add new GLContextGLX files.
        * platform/graphics/cairo/GLContext.cpp: Added. Composed of the
        EGL/GLX independent portions of GLContext. Made the current context
        a static variable so we can keep getting the current context platform-
        -independent.
        * platform/graphics/cairo/GLContext.h: Make this class an abstract
        class. GLContextGLX is a concrete implementation.
        * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Updated to reflect
        slightly different calling conventions to create a sharing context.
        * platform/graphics/glx/GLContextGLX.cpp: Updated to reflect
        that this code is in a subclass now.
        * platform/graphics/glx/GLContextGLX.h: Copied from Source/WebCore/platform/graphics/cairo/GLContext.h.
        * platform/graphics/gtk/GLContextGtk.cpp:
        (WebCore::GLContext::getContextForWidget): Updated to respect the new
        USE(GLX) flag.

2012-04-11  Rob Buis  <rbuis@rim.com>

        [BlackBerry] Upstream BlackBerry change to PatternSkia.cpp
        https://bugs.webkit.org/show_bug.cgi?id=83361

        Reviewed by Antonio Gomes.

        Upstream a cleaned up version.

        * platform/graphics/skia/PatternSkia.cpp:
        (WebCore::Pattern::platformDestroy):
        (WebCore::Pattern::platformPattern):

2012-04-10  James Robinson  <jamesr@chromium.org>

        [chromium] Add OVERRIDE annotations for cc layer types
        https://bugs.webkit.org/show_bug.cgi?id=83658

        Reviewed by Daniel Bates.

        This adds OVERRIDE annotations to overrides of functions on these classes:
        - CCLayerImpl
        - LayerChromium
        - TiledLayerChromium

        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/CanvasLayerChromium.h:
        (CanvasLayerChromium):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (ContentLayerChromium):
        * platform/graphics/chromium/ImageLayerChromium.h:
        (ImageLayerChromium):
        * platform/graphics/chromium/PluginLayerChromium.h:
        (PluginLayerChromium):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (TiledLayerChromium):
        * platform/graphics/chromium/VideoLayerChromium.h:
        (VideoLayerChromium):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebGLLayerChromium):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
        (CCScrollbarLayerImpl):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
        (CCSolidColorLayerImpl):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
        (CCTextureLayerImpl):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (CCVideoLayerImpl):

2012-04-11  Alexey Proskuryakov  <ap@apple.com>

        [Mac] lang, xml:lang, content-language ignored when choosing fonts
        https://bugs.webkit.org/show_bug.cgi?id=10874
        <rdar://problem/3220202>

        Reviewed by Dan Bernstein.

        Adding a default font table for Mac port. Clients can still override these if they want to,
        but knowing which fonts to use is more about the platform than about the client.

        Tests: platform/mac/fonts/han-disunification.html

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * Resources/DefaultFonts.plist.in: Added.
        Added SettingsMac.mm. Added preprocessed property list with default fonts.

        * page/Settings.cpp:
        (WebCore::setGenericFontFamilyMap): Don't notify the page if we don't have one yet.
        (WebCore::Settings::Settings): Assign to m_page after calling initializeDefaultFontFamilies,
        so that we won't try to call page->setNeedsRecalcStyleInAllFrames() in a half-initialized
        Page that's creating settings.
        (WebCore::Settings::initializeDefaultFontFamilies): Dummy imlplementation for ports that
        rely on client to set defaults.

        * page/Settings.h: Added initializeDefaultFontFamilies().

        * page/mac/SettingsMac.mm: Added.
        (WebCore::defaultFontFamilyDictionary):
        (WebCore::Settings::initializeDefaultFontFamilies):
        Load defaults from a plist file inside WebCore framework.

2012-04-11  Antti Koivisto  <antti@apple.com>

        Crash in CSSStyleSheet::deleteRule
        https://bugs.webkit.org/show_bug.cgi?id=83708

        Reviewed by Andreas Kling.
        
        Andreas spotted that the wrapper needs to be null checked before calling setParentStyleSheet(0).

        Test: fast/css/delete-rule-crash.html

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::deleteRule):

2012-04-11  Adam Klein  <adamk@chromium.org>

        [MutationObservers] Setting an attributeFilter should filter out all namespaced attribute mutations
        https://bugs.webkit.org/show_bug.cgi?id=83706

        Reviewed by Ryosuke Niwa.

        The patch amounts to plumbing QualifiedName all the way down to shouldReceiveMutationFrom
        as it now needs to know about namespaceURI as well as localName.

        This change is coming soon to the DOM4 spec, see
        https://www.w3.org/Bugs/Public/show_bug.cgi?id=16563 for more discussion.

        * dom/MutationObserverInterestGroup.cpp:
        (WebCore::MutationObserverInterestGroup::createIfNeeded):
        * dom/MutationObserverInterestGroup.h:
        (WebCore::MutationObserverInterestGroup::createForChildListMutation):
        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
        (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
        (MutationObserverInterestGroup):
        * dom/MutationObserverRegistration.cpp:
        (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
        * dom/MutationObserverRegistration.h:
        (WebCore):
        (MutationObserverRegistration):
        * dom/Node.cpp:
        (WebCore::Node::collectMatchingObserversForMutation):
        (WebCore::Node::getRegisteredMutationObserversOfType):
        * dom/Node.h:
        (Node):

2012-04-11  Wei James  <james.wei@intel.com>

        add stereo source support in EqualPowerPanner
        https://bugs.webkit.org/show_bug.cgi?id=81092

        Reviewed by Chris Rogers.

        Test: webaudio/panner-equalpower-stereo.html

        * platform/audio/EqualPowerPanner.cpp:
        (WebCore::EqualPowerPanner::pan):

2012-04-11  Erik Arvidsson  <arv@chromium.org>

        StyleElement ownerNode is not cleared correctly
        https://bugs.webkit.org/show_bug.cgi?id=83696

        Reviewed by Antti Koivisto.

        When the css text changes in such a way that we remove the sheet of a style element or a link[rel=stylesheet]
        element we need to ensure that the ownerNode of the sheet is cleared. If we don't do this and there is a
        wrapper for the sheet the sheet is kept alive but the ownerNode of the sheet may point to a deleted node.

        Tests: fast/dom/StyleSheet/detached-sheet-owner-node-link.html
               fast/dom/StyleSheet/detached-sheet-owner-node.html

        * dom/StyleElement.cpp:
        (WebCore::StyleElement::removedFromDocument):
        (WebCore::StyleElement::clearSheet):
        (WebCore):
        (WebCore::StyleElement::createSheet):
        * dom/StyleElement.h:
        (StyleElement):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::clearSheet):
        (WebCore):
        * html/HTMLLinkElement.h:
        (HTMLLinkElement):

2012-04-11  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=83614
        <rdar://problem/11177351>
        
        REGRESSION: Table on wikipedia overlaps float on right hand side.
        
        Revise how auto margins are resolved so that for objects that avoid floats, the available line
        width is always used instead of the overall containing block width. computeLogicalWidth now
        always properly computes inline margins (based off the object's current logicalTop() position)
        and so the code in computeStartPositionDeltaForChildAvoidingFloats that recomputes inline
        direction margins can now be removed.
        
        Reviewed by Dan Bernstein.

        Added new test in fast/block/float.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
        (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
        (WebCore):
        (WebCore::RenderBox::computeLogicalWidthInRegion):
        (WebCore::RenderBox::renderBoxRegionInfo):
        (WebCore::RenderBox::shrinkToAvoidFloats):
        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):

2012-04-11  Adrienne Walker  <enne@google.com>

        Fix regression where a clip style change did not update layer sizes
        https://bugs.webkit.org/show_bug.cgi?id=82990

        Reviewed by Simon Fraser.

        After r111456, the size of composited layers also used clip, whereas
        it previously had only used overflow. Because of this, when clip
        changes on a render layer, it needs to recalculate its layer tree.

        Test: compositing/clip-change.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::styleChanged):

2012-04-11  Antti Koivisto  <antti@apple.com>

        V8 bindings are polluting WebCore namespace with overly generic FooInternal namespaces
        https://bugs.webkit.org/show_bug.cgi?id=83699

        Reviewed by Adam Barth.

        Call them FooV8Internal instead.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GetFunctionTemplateCallbackName):
        (GenerateSingleBatchedAttribute):
        (GenerateImplementation):

2012-04-11  James Robinson  <jamesr@chromium.org>

        [chromium] Add OVERRIDE annotations for cc animation-related interfaces
        https://bugs.webkit.org/show_bug.cgi?id=83650

        Reviewed by Daniel Bates.

        This adds OVERRIDE annotations to the implementations of the following interfaces:
        - CCAnimationCurve
        - CCFloatAnimationCurve
        - CCLayerAnimationControllerClient
        - CCTransformAnimationCurve

        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/cc/CCTimingFunction.h:
        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
        (CCKeyframedFloatAnimationCurve):
        (CCKeyframedTransformAnimationCurve):
        * platform/graphics/chromium/cc/CCLayerImpl.h:

2012-04-11  Philip Rogers  <pdr@google.com>

        Fix bug where stroke's bounding box was clipped
        https://bugs.webkit.org/show_bug.cgi?id=83651

        Reviewed by Dirk Schulze.

        This change contains two fixes for one bug:
        1) FloatRect::contains contained a nasty mistake where
           maxy() < y() was compared instead of maxy() < point.y().
        2) RenderSVGShape::strokeContains was depending on its internal
           m_strokeAndMarkerBoundingBox instead of calling the virtual
           method strokeBoundingBox(). This change switches to using
           strokeBoundingBox().

        Test: svg/hittest/svg-ellipse-rect-stroke.xhtml

        * platform/graphics/FloatRect.cpp:
        (WebCore::FloatRect::contains):
        * rendering/svg/RenderSVGShape.cpp:
        (WebCore::RenderSVGShape::strokeContains):

2012-04-11  Kentaro Hara  <haraken@chromium.org>

        Enable the [Supplemental] IDL on BlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=75413

        Reviewed by Rob Buis.

        This patch enables the [Supplemental] IDL on BlackBerry by changing the build
        flow of BlackBerry as follows.

        - Previous build flow:
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl;
                generate-bindings.pl reads $idl;
                generate-bindings.pl generates .h and .cpp files for $idl;
            }

        - New build flow (See the discussions in bug 72138 for more details):
            preprocess-idls.pl depends on all IDL files;
            preprocess-idls.pl reads all IDL files;
            preprocess-idls.pl resolves the dependency of [Supplemental=XXXX];
            preprocess-idls.pl outputs supplemental_dependency.tmp;
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                generate-bindings.pl reads $idl;
                generate-bindings.pl reads supplemental_dependency.tmp;
                generate-bindings.pl generates .h and .cpp files for $idl,
                    including all attributes in the IDL files that are implementing $idl;
            }

        Tests: Confirm that build succeeds.
               http/tests/websocket/tests/*

        * PlatformBlackBerry.cmake: This change is similar to the change we have done for
        UseJSC.cmake and UseV8.cmake (bug 75345).

2012-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113872.
        http://trac.webkit.org/changeset/113872
        https://bugs.webkit.org/show_bug.cgi?id=83703

        broke chromium win/mac builds (Requested by simonjam on
        #webkit).

        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
        (WebCore::CCHeadsUpDisplay::initializeFonts):
        (WebCore::CCHeadsUpDisplay::onFrameBegin):
        (WebCore::CCHeadsUpDisplay::drawHudContents):
        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
        (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
        (CCHeadsUpDisplay):

2012-04-11  Aaron Colwell  <acolwell@chromium.org>

        Remove webkit prefix from Media Source runtime feature name.
        https://bugs.webkit.org/show_bug.cgi?id=83633

        Reviewed by Adam Barth.

        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::mediaSourceEnabled):
        (WebCore::RuntimeEnabledFeatures::setMediaSourceEnabled):
        * html/HTMLMediaElement.idl:

2012-04-11  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Single ShareableBitmap revision blacks out WebView on Harmattan
        https://bugs.webkit.org/show_bug.cgi?id=83631

        When swizzling is not supported in the driver, we need to initialize the texture as RGBA,
        and make sure that the manual swizzling only modifies the sub-image.

        Rubber stamped by Kenneth Rohde Christiansen.

        Covered by existing tests.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::swizzleBGRAToRGBA):
        (WebCore::BitmapTextureGL::didReset):
        (WebCore):
        (WebCore::BitmapTextureGL::updateContents):

2012-04-11  Alex Nicolaou  <anicolao@chromium.org>

        [chromium] When rendering goes idle, do not count that time against frame rate
        https://bugs.webkit.org/show_bug.cgi?id=73454

        The FPS counter had a few issues with its reporting. The first
        3 swapbuffers are non-blocking and create FPS rates that are
        unrealistically high, throwing off the moving averages and
        introducing false spikes into the FPS graph. There was also no
        way to monitor the smoothness of the animation, or to focus in
        on a particular animation or transition.

        This patch updates the FPS counter code so that bad data points
        are trimmed and not graphed; so that the graph itself is taller
        and more legible; so that there is a clear boundary between 40FPS
        and better; and to keep statistics on frame rate between
        pauses in the activity in the UI so that you can trigger a
        transition and read off the average and standard deviation for
        that transition to judge it smooth enough or not.


        Reviewed by James Robinson.

        HUD is not testable in webkit.

        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
        (WebCore::CCHeadsUpDisplay::onFrameBegin):
        (WebCore::CCHeadsUpDisplay::drawHudContents):
        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:

2012-04-11  Adrienne Walker  <enne@google.com>

        [chromium] Draw missing layer tile checkerboards as checkerboards
        https://bugs.webkit.org/show_bug.cgi?id=83241

        Reviewed by James Robinson.

        For non-Android platforms, draw missing tile checkerboards as actual
        checkerboards. Use a shader to do this so that no texture uploads are
        needed. This only happens on the non-composited content host to avoid
        having unexpected (or transformed and aliased) checkerboards on other
        content layers.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setDrawCheckerboardForMissingTiles):
        (WebCore::LayerChromium::drawCheckerboardForMissingTiles):
        (LayerChromium):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawQuad):
        (WebCore::LayerRendererChromium::drawCheckerboardQuad):
        (WebCore):
        (WebCore::LayerRendererChromium::checkerboardProgram):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/ShaderChromium.cpp:
        (WebCore::FragmentShaderCheckerboard::FragmentShaderCheckerboard):
        (WebCore):
        (WebCore::FragmentShaderCheckerboard::init):
        (WebCore::FragmentShaderCheckerboard::getShaderString):
        * platform/graphics/chromium/ShaderChromium.h:
        (FragmentShaderCheckerboard):
        (WebCore::FragmentShaderCheckerboard::alphaLocation):
        (WebCore::FragmentShaderCheckerboard::texTransformLocation):
        (WebCore::FragmentShaderCheckerboard::frequencyLocation):
        (WebCore):
        * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h.
        (WebCore):
        (WebCore::CCCheckerboardDrawQuad::create):
        (WebCore::CCCheckerboardDrawQuad::CCCheckerboardDrawQuad):
        * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h.
        (WebCore):
        (CCCheckerboardDrawQuad):
        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
        (WebCore::CCDrawQuad::toCheckerboardDrawQuad):
        (WebCore):
        * platform/graphics/chromium/cc/CCDrawQuad.h:
        (WebCore):
        (CCDrawQuad):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        (WebCore::CCLayerImpl::setDrawCheckerboardForMissingTiles):
        (WebCore::CCLayerImpl::drawCheckerboardForMissingTiles):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsForLayer):
        * platform/graphics/chromium/cc/CCRenderPass.h:
        (CCRenderPass):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
        (CCScrollbarLayerImpl):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
        (CCSolidColorLayerImpl):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
        (CCTextureLayerImpl):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (CCVideoLayerImpl):

2012-04-11  Joe Mason  <jmason@rim.com>

        [BlackBerry] Update to the thread-safe GuardedPointer API
        https://bugs.webkit.org/show_bug.cgi?id=83603

        Reviewed by Rob Buis.

        RIM PR: 134894
        Make the destructors of all objects inheriting GuardedPointerBase protected or
        private, and delete them using BlackBerry::Platform::deleteGuardedObject.
        Access all GuardedPointers through GuardedPointerLocker. Use GuardedPointerDeleter
        to delete LayerCompositingThread to avoid a deadlock.

        No new tests, refactor.

        Reviewed internally by Yong Li and George Staikos.

        * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
        (WebCore::CookieDatabaseBackingStore::~CookieDatabaseBackingStore):
        * platform/blackberry/CookieManager.h:
        * platform/graphics/blackberry/LayerCompositingThread.cpp:
        * platform/graphics/blackberry/LayerCompositingThread.h:
        (LayerCompositingThread):
        (WTF::::deref):
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):

2012-04-11  Andras Becsi  <andras.becsi@nokia.com>

        [Qt] Fix the build on OpenGL ES2 platforms

        Unreviewed build fix.

        No new tests needed.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::updateContents):
        Fix typo in TEXMAP_OPENGL_ES_2 define.

2012-04-11  Ami Fischman  <fischman@chromium.org>

        Remove unused WebVideoFrame::Format values
        https://bugs.webkit.org/show_bug.cgi?id=83625

        Reviewed by Kenneth Russell.

        Covered by existing tests.

        * platform/graphics/chromium/VideoFrameChromium.h:
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::convertVFCFormatToGC3DFormat):

2012-04-11  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: extracting NetworkRequest from Resource (step 1)
        https://bugs.webkit.org/show_bug.cgi?id=83684

        Reviewed by Yury Semikhatsky.

        Meta bug: https://bugs.webkit.org/show_bug.cgi?id=61363.
        In this step, NetworkRequest is introduced. It temporarily inherits from
        the Resource, but all the call sites are now referring to it as to request.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView):
        (WebInspector.AuditLauncherView.prototype._onRequestStarted):
        (WebInspector.AuditLauncherView.prototype._onRequestFinished):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.getDomainToResourcesMap):
        (WebInspector.AuditRules.GzipRule.prototype.doRun):
        (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
        (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
        (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
        (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
        (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
        (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
        (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources):
        (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
        (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan):
        (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
        (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
        (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
        (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable):
        (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
        (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration):
        (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable):
        (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
        (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
        (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck):
        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck):
        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck):
        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
        (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
        (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck):
        (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck):
        (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
        (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies):
        (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
        (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
        (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._executeAudit):
        (WebInspector.AuditCategory.prototype.run):
        (WebInspector.AuditRule.prototype.run):
        (WebInspector.AuditRule.prototype.doRun):
        * inspector/front-end/ConsoleMessage.js:
        * inspector/front-end/ConsoleModel.js:
        (WebInspector.ConsoleDispatcher.prototype.messageAdded):
        * inspector/front-end/ContentProviders.js:
        (WebInspector.ResourceContentProvider):
        (WebInspector.ResourceContentProvider.prototype.requestContent):
        (WebInspector.ResourceContentProvider.prototype.searchInContent):
        * inspector/front-end/DebuggerPresentationModel.js:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onGetHAR):
        (WebInspector.ExtensionServer.prototype._notifyRequestFinished):
        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry):
        (WebInspector.HAREntry.prototype.build):
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildResponse):
        (WebInspector.HAREntry.prototype._buildContent):
        (WebInspector.HAREntry.prototype._buildTimings):
        (WebInspector.HAREntry.prototype._buildPostData):
        (WebInspector.HAREntry.prototype._buildCookie):
        (WebInspector.HAREntry.prototype._interval):
        (WebInspector.HAREntry.prototype.get requestBodySize):
        (WebInspector.HAREntry.prototype.get responseBodySize):
        (WebInspector.HAREntry.prototype.get responseCompression):
        (WebInspector.HARLog):
        (WebInspector.HARLog.prototype.build):
        (WebInspector.HARLog.prototype._buildPages):
        (WebInspector.HARLog.prototype._convertResource):
        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView):
        * inspector/front-end/NetworkLog.js:
        (WebInspector.NetworkLog):
        (WebInspector.NetworkLog.prototype.get requests):
        (WebInspector.NetworkLog.prototype.pageLoadForRequest):
        (WebInspector.NetworkLog.prototype._onMainFrameNavigated):
        (WebInspector.NetworkLog.prototype._onRequestStarted):
        (WebInspector.NetworkLog.prototype._onLoad):
        (WebInspector.PageLoad):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.get this):
        (WebInspector.NetworkManager.get NetworkAgent):
        (WebInspector.NetworkManager):
        (WebInspector.NetworkManager.prototype.inflightRequestForURL):
        (WebInspector.NetworkDispatcher):
        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithRequest):
        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
        (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithCachedResource):
        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
        (WebInspector.NetworkDispatcher.prototype.requestServedFromCache):
        (WebInspector.NetworkDispatcher.prototype.responseReceived):
        (WebInspector.NetworkDispatcher.prototype.dataReceived):
        (WebInspector.NetworkDispatcher.prototype.loadingFinished):
        (WebInspector.NetworkDispatcher.prototype.loadingFailed):
        (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
        (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
        (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
        (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
        (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        (WebInspector.NetworkDispatcher.prototype._startNetworkRequest):
        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequest):
        (WebInspector.NetworkDispatcher.prototype._finishNetworkRequest):
        (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
        (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
        (get WebInspector):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._initializeView):
        (WebInspector.NetworkLogView.prototype.get statusBarItems):
        (WebInspector.NetworkLogView.prototype._createSortingFunctions):
        (WebInspector.NetworkLogView.prototype._updateSummaryBar):
        (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
        (WebInspector.NetworkLogView.prototype._invalidateAllItems):
        (WebInspector.NetworkLogView.prototype._requestGridNode):
        (WebInspector.NetworkLogView.prototype._createRequestGridNode):
        (WebInspector.NetworkLogView.prototype._onLoadEventFired):
        (WebInspector.NetworkLogView.prototype._domContentLoadedEventFired):
        (WebInspector.NetworkLogView.prototype.refresh):
        (WebInspector.NetworkLogView.prototype._reset):
        (WebInspector.NetworkLogView.prototype.get requests):
        (WebInspector.NetworkLogView.prototype.requestById):
        (WebInspector.NetworkLogView.prototype._onRequestStarted):
        (WebInspector.NetworkLogView.prototype._appendRequest):
        (WebInspector.NetworkLogView.prototype._onRequestUpdated):
        (WebInspector.NetworkLogView.prototype._refreshRequest):
        (WebInspector.NetworkLogView.prototype._mainFrameNavigated):
        (WebInspector.NetworkLogView.prototype.get _setLargerRequests):
        (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
        (WebInspector.NetworkLogView.prototype._showPopover):
        (WebInspector.NetworkLogView.prototype._contextMenu):
        (WebInspector.NetworkLogView.prototype._copyAll):
        (WebInspector.NetworkLogView.prototype._copyRequest):
        (WebInspector.NetworkLogView.prototype._copyLocation):
        (WebInspector.NetworkLogView.prototype._copyRequestHeaders):
        (WebInspector.NetworkLogView.prototype._copyResponseHeaders):
        (WebInspector.NetworkLogView.prototype._exportAll):
        (WebInspector.NetworkLogView.prototype._exportRequest):
        (WebInspector.NetworkLogView.prototype._matchRequest):
        (WebInspector.NetworkLogView.prototype._clearSearchMatchedList):
        (WebInspector.NetworkLogView.prototype._updateSearchMatchedListAfterRequestIdChanged):
        (WebInspector.NetworkLogView.prototype._updateHighlightIfMatched):
        (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
        (WebInspector.NetworkLogView.prototype.performSearch):
        (WebInspector.NetworkLogView.prototype.jumpToPreviousSearchResult):
        (WebInspector.NetworkLogView.prototype.jumpToNextSearchResult):
        (WebInspector.NetworkLogView.prototype.revealAndHighlightRequest):
        (WebInspector.NetworkPanel.prototype.handleShortcut):
        (WebInspector.NetworkPanel.prototype.get requests):
        (WebInspector.NetworkPanel.prototype.requestById):
        (WebInspector.NetworkPanel.prototype._requestByAnchor):
        (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
        (WebInspector.NetworkPanel.prototype.showAnchorLocation):
        (WebInspector.NetworkPanel.prototype.revealAndHighlightRequest):
        (WebInspector.NetworkPanel.prototype._onViewCleared):
        (WebInspector.NetworkPanel.prototype._onRequestSelected):
        (WebInspector.NetworkPanel.prototype._showRequest):
        (WebInspector.NetworkPanel.prototype._closeVisibleRequest):
        (WebInspector.NetworkPanel.prototype._toggleGridMode):
        (WebInspector.NetworkPanel.prototype._toggleViewingRequestMode):
        (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphPercentages):
        (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels):
        (WebInspector.NetworkTimeCalculator.prototype.updateBoundaries):
        (WebInspector.NetworkTimeCalculator.prototype._lowerBound):
        (WebInspector.NetworkTimeCalculator.prototype._upperBound):
        (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound):
        (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
        (WebInspector.NetworkTransferDurationCalculator.prototype._upperBound):
        (WebInspector.NetworkDataGridNode):
        (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
        (WebInspector.NetworkDataGridNode.prototype.select):
        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
        (WebInspector.NetworkDataGridNode.prototype.get selectable):
        (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
        (WebInspector.NetworkDataGridNode.prototype.refreshRequest):
        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
        (WebInspector.NetworkDataGridNode.prototype._fileName):
        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
        (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
        (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
        (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell):
        (WebInspector.NetworkDataGridNode.prototype._refreshTimeCell):
        (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
        (WebInspector.NetworkDataGridNode.NameComparator):
        (WebInspector.NetworkDataGridNode.SizeComparator):
        (WebInspector.NetworkDataGridNode.InitiatorComparator):
        (WebInspector.NetworkDataGridNode.RequestPropertyComparator):
        * inspector/front-end/NetworkRequest.js: Added.
        (WebInspector.NetworkRequest):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode):
        (WebInspector.RawSourceCode.prototype._requestFinished):
        (WebInspector.RawSourceCode.prototype._createContentProvider):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.displayName):
        (WebInspector.Resource.prototype.get request):
        (WebInspector.Resource.prototype.set finished):
        (WebInspector.Resource.prototype.set timing):
        (WebInspector.Resource.prototype.set requestHeaders):
        (WebInspector.Resource.prototype.set requestHeadersText):
        (WebInspector.Resource.prototype.set responseHeaders):
        (WebInspector.Resource.prototype.set responseHeadersText):
        (WebInspector.Resource.prototype.requestContent):
        * inspector/front-end/ResourceCookiesView.js:
        (WebInspector.ResourceCookiesView):
        (WebInspector.ResourceCookiesView.prototype.get _gotCookies):
        (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
        * inspector/front-end/ResourceHeadersView.js:
        (WebInspector.ResourceHeadersView):
        (WebInspector.ResourceHeadersView.prototype._refreshURL):
        (WebInspector.ResourceHeadersView.prototype._refreshQueryString):
        (WebInspector.ResourceHeadersView.prototype._refreshUrlFragment):
        (WebInspector.ResourceHeadersView.prototype._refreshFormData):
        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.addScript):
        * inspector/front-end/ResourceTimingView.js:
        (WebInspector.ResourceTimingView):
        (WebInspector.ResourceTimingView.prototype.wasShown):
        (WebInspector.ResourceTimingView.prototype._refresh):
        (WebInspector.ResourceTimingView.createTimingTable):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype._frontendReused):
        (WebInspector.ResourceTreeModel.prototype._onRequestUpdated):
        (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped):
        (WebInspector.ResourceTreeModel.prototype._createResource):
        (WebInspector.ResourceTreeFrame):
        (WebInspector.ResourceTreeFrame.prototype._addRequest):
        * inspector/front-end/ResourceUtils.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._appendOpenInNetworkPanelAction):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/externs.js:
        (WebInspector.networkRequestById):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.networkRequestById):
        (WebInspector.openRequestInNetworkPanel):

2012-04-11  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: fix category -> type refactoring implications.
        https://bugs.webkit.org/show_bug.cgi?id=83680

        Reviewed by Yury Semikhatsky.

        We are now using type identifiers (singulars) as opposed to category identifier (plurals) in the style.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems.createFilterElement):
        (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
        (WebInspector.NetworkLogView.prototype._showCategory):
        (WebInspector.NetworkLogView.prototype._hideCategory):
        (WebInspector.NetworkLogView.prototype._filter):
        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
        (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement):
        (WebInspector.ResourceRevisionTreeElement):
        * inspector/front-end/networkLogView.css:
        (.network-log-grid.data-grid .network-type-script .icon):
        (.network-log-grid.data-grid.small .network-type-script .icon):
        (.network-log-grid.data-grid .network-type-document .icon):
        (.network-log-grid.data-grid.small .network-type-document .icon):
        (.network-log-grid.data-grid .network-type-stylesheet .icon):
        (.network-log-grid.data-grid.small .network-type-stylesheet .icon):
        (.network-log-grid.data-grid .network-type-image .icon):
        (.network-log-grid.data-grid.small .network-type-image .icon):
        (.network-type-document .network-graph-bar):
        (.network-type-document.resource-cached .network-graph-bar):
        (.network-type-stylesheet .network-graph-bar):
        (.network-type-stylesheet.resource-cached .network-graph-bar):
        (.network-type-image .network-graph-bar):
        (.network-type-image.resource-cached .network-graph-bar):
        (.network-type-font .network-graph-bar):
        (.network-type-font.resource-cached .network-graph-bar):
        (.network-type-script .network-graph-bar):
        (.network-type-script.resource-cached .network-graph-bar):
        (.network-type-xhr .network-graph-bar):
        (.network-type-xhr.resource-cached .network-graph-bar):
        (.network-type-websocket .network-graph-bar):
        (.network-type-websocket.resource-cached .network-graph-bar):
        (.network-log-grid.data-grid.filter-other table.data tr.revealed.network-type-other):
        * inspector/front-end/resourcesPanel.css:
        (.resource-sidebar-tree-item.resources-type-image .icon):
        (.resources-type-image .image-resource-icon-preview):
        (.children.small .resource-sidebar-tree-item.resources-type-image .icon):
        (.children.small .resources-type-image .image-resource-icon-preview):
        (.resource-sidebar-tree-item.resources-type-document .icon):
        (.children.small .resource-sidebar-tree-item.resources-type-document .icon):
        (.resource-sidebar-tree-item.resources-type-stylesheet .icon):
        (.children.small .resource-sidebar-tree-item.resources-type-stylesheet .icon):
        (.resource-sidebar-tree-item.resources-type-font .icon):
        (.children.small .resource-sidebar-tree-item.resources-type-font .icon):
        (.resource-sidebar-tree-item.resources-type-script .icon):
        (.children.small .resource-sidebar-tree-item.resources-type-script .icon):
        (.resource-sidebar-tree-item.resources-type-xhr .icon):
        (.children.small .resource-sidebar-tree-item.resources-type-xhr .icon):

2012-04-11   Arko Saha  <arko@motorola.com>

        Microdata: Implement cache mechanism for HTMLPropertiesCollection.
        https://bugs.webkit.org/show_bug.cgi?id=80490

        Reviewed by Ryosuke Niwa.

        Implemented caching mechanism for HTMLPropertiesCollection.
        propertyCache - contains microdata item properties.
        itemRefElements - contains sorted microdata item and itemref elements.
        propertyNames - contains microdata property names of the elements in the collection.
        itemRefElementPosition - store the current position of itemRefElements.
        hasItemRefElements - set to ture once we have sorted microdata item and itemref elements list i.e, itemRefElements.
        Cache is invalidated only when dom tree modified. Whenever any query is made on HTMLPropertiesCollection,
        result is returned from the cache. Earliar we used to calculate properties node list every time a query is made.

        * html/HTMLPropertiesCollection.cpp:
        (WebCore):
        (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
        (WebCore::HTMLPropertiesCollection::invalidateCacheIfNeeded):
        (WebCore::HTMLPropertiesCollection::updateRefElements): Appends microdata item element and elements which
        are added through itemref attribute in itemRefElements (in tree order).
        (WebCore::nextNodeWithProperty):
        (WebCore::HTMLPropertiesCollection::itemAfter): Takes parent base and previous item property as argument.
        Finds the next item property in base.
        (WebCore::HTMLPropertiesCollection::calcLength): Calculates the length of properties collection if length
        is not available in the cache.
        (WebCore::HTMLPropertiesCollection::length):
        (WebCore::HTMLPropertiesCollection::firstProperty): Returns the first property in the collection.
        (WebCore::HTMLPropertiesCollection::item):
        (WebCore::HTMLPropertiesCollection::findProperties): Finds microdata item properties in the base element.
        Appends the properties in propertyCache and property names in propertyNames.
        (WebCore::HTMLPropertiesCollection::updateNameCache):  It updates the propertyCache and propertyNames if hasNameCache is false.
        (WebCore::HTMLPropertiesCollection::names):
        (WebCore::HTMLPropertiesCollection::namedItem):
        (WebCore::HTMLPropertiesCollection::hasNamedItem):
        * html/HTMLPropertiesCollection.h:
        (HTMLPropertiesCollection):

2012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [Qt] Fix issues when using the WebView as ShaderEffectSource
        https://bugs.webkit.org/show_bug.cgi?id=83587

        Reviewed by Noam Rosenthal.

        - Make sure that the bound frame buffer is preserved instead of binding
          to the default one
        - Accept a "mirrored" flag in beginPainting that we're applying on the
          projection matrix just as with internal FBOs

        The "flip" logic in createProjectionMatrix has been reversed and renamed to
        mirrored so that FBO rendering is considered the special case and not the
        other way around just like within Qt.

        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::TextureMapper::beginPainting):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGLData::TextureMapperGLData):
        (TextureMapperGLData):
        (WebCore::TextureMapperGL::beginPainting):
        (WebCore::createProjectionMatrix):
        (WebCore::BitmapTextureGL::bind):
        (WebCore::TextureMapperGL::bindSurface):
        * platform/graphics/texmap/TextureMapperGL.h:

2012-04-11  Stephen Chenney  <schenney@chromium.org>

        Shadow tree TreeScope data is not removed by ContainerNode::removeAllChildren
        https://bugs.webkit.org/show_bug.cgi?id=83484

        Unreviewed attempted build fix.

        * dom/ContainerNodeAlgorithms.h: Adding Document.h include.

2012-04-11  Luke Macpherson  <macpherson@chromium.org>

        Remove unnecessary assignments from CSSParser::parseLinearGradient().
        https://bugs.webkit.org/show_bug.cgi?id=83661

        Reviewed by Kentaro Hara.

        No new tests / code cleanup only.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseLinearGradient):

2012-04-11  Stephen Chenney  <schenney@chromium.org>

        Shadow tree TreeScope data is not removed by ContainerNode::removeAllChildren
        https://bugs.webkit.org/show_bug.cgi?id=83484

        Reviewed by Hajime Morita.

        The ContainerNode::removeAllChildren method does fast and dirty node removal.
        As compared to ContainerNode::removeChildren, it does not include the
        method to adopt the removed child node into the root document's TreeScope.
        Rather, it leaves the existing TreeScope in place. However, the existing
        TreeScope may be removed, causing a crash when something prevents the child
        node from being deleted immediately. The fix is to modify the code in
        ContainerNodeAlgorithms to do the TreeScope adoption.

        Could not reproduce crash in layout test.

        * dom/ContainerNodeAlgorithms.h:
        (Private):
        (WebCore::Private::NodeRemovalDispatcher::dispatch):
        (WebCore::Private::addChildNodesToDeletionQueue):

2012-04-11  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: showing summary view is very slow on a snapshot with thousands of constructors
        https://bugs.webkit.org/show_bug.cgi?id=83682

        Node content is created only when the node becomes visible in the corresponding view.
        This saves a lot of time when openning summary/comparison view of a snapshot
        with lots of different classes.

        Reviewed by Pavel Feldman.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
        (WebInspector.HeapSnapshotLazyGridNode):
        (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
        (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
        (WebInspector.HeapSnapshotConstructorNode):
        (WebInspector.HeapSnapshotDiffNode):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotSortableDataGrid):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
        (WebInspector.HeapSnapshotConstructorsDataGrid):
        (WebInspector.HeapSnapshotDiffDataGrid):
        (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
        * inspector/front-end/heapProfiler.css:
        (.detailed-heapshot-view .data-grid tr:empty):

2012-04-11  Simon Pena  <spena@igalia.com>

        [GTK] media/event-attributes.html fails
        https://bugs.webkit.org/show_bug.cgi?id=71662

        Reviewed by Philippe Normand.

        In MediaPlayerPrivateGStreamer::didEnd, when EOS is reached, don't
        synchronize position and duration on regular playback. That is:
        synchronize it (and fire the durationChange signal) only on reverse
        playback.

        This change makes media/event-attributes.html pass. It was
        previously failing because an additional durationChange signal was
        emitted.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Avoid
        sending durationChange signal on regular playback.

2012-04-11  Andras Becsi  <andras.becsi@nokia.com>

        Fix the build with gcc 4.7.0
        https://bugs.webkit.org/show_bug.cgi?id=83584

        Reviewed by Alexey Proskuryakov.

        No new tests needed.

        * Target.pri: Disable Werror on the ANGLE code since it has several recurring issues
        because older versions of flex (<2.5.35) and bison (<2.5) generate code which
        triggers warnings. This generated code is committed on each version update of ANGLE,
        and it is very likely that the code is generated with older versions of the mentioned
        tools.
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::createForJSConstructor): Fails because of -Werror=extra
        * platform/graphics/TiledBackingStoreClient.h: Fails because -Werror=delete-non-virtual-dtor,
        gcc requires classes which have virtual methods to have a virtual destructor, if their instances
        or the instances of their subclasses are deleted.
        (WebCore::TiledBackingStoreClient::~TiledBackingStoreClient):
        * platform/graphics/texmap/TextureMapperPlatformLayer.h: Ditto.
        (WebCore::TextureMapperPlatformLayer::~TextureMapperPlatformLayer):

2012-04-11  Kent Tamura  <tkent@chromium.org>

        [V8] Calendar Picker: Add a helper function to expose PagePopupClient::setValueAndClosePopup() to JavaScript
        https://bugs.webkit.org/show_bug.cgi?id=83561

        Reviewed by Adam Barth.

        Add ScriptController::installFunctionsForPagePopup(), which add
        window.setValueAndClosePopup() for JavaScript code in PagePopup
        environment, and the function calls
        WebCore::PagePopupClient::setValueAndClosePopup().

        This patch introduces Supplement<DOMWindow> object to hold a
        PagePopupClient object. It makes keeping a PagePopupClient easier.

        * WebCore.gypi: Add DOMWindowPagePopup.{cpp,h}
        * bindings/v8/ScriptController.cpp:
        (WebCore::setValueAndClosePopupCallback):
        (WebCore::ScriptController::installFunctionsForPagePopup):
        * bindings/v8/ScriptController.h:
        (ScriptController): Add installFunctionsForPagePopup().
        * page/DOMWindowPagePopup.cpp: Added.
        (WebCore::DOMWindowPagePopup::DOMWindowPagePopup):
        (WebCore::DOMWindowPagePopup::supplementName):
        Returns "DOMWindowPagePopup" as a key of this Supplement<DOMWindow>.
        (WebCore::DOMWindowPagePopup::setValueAndClosePopup):
        Gets a DOMWindowPagePopup from the window, then calls PagePopupClient::setValueAndClosePopup().
        (WebCore::DOMWindowPagePopup::install):
        On-demand creation of DOMWindowPagePopup doesn't work because it
        must have a PagePopupClient object. We need to install
        DOMWindowPagePopup explicitly.
        * page/DOMWindowPagePopup.h: Added.

2012-04-11  Sadrul Habib Chowdhury  <sadrul@chromium.org>

        [chromium] Add Battery Status API support.

        Add Battery Status API support to chromium.
        https://bugs.webkit.org/show_bug.cgi?id=83284

        Reviewed by Adam Barth.

        This change is covered by tests in batterystatus/.

        * Modules/battery/BatteryController.cpp:
        (WebCore::BatteryController::updateBatteryStatus):
        (WebCore):
        * Modules/battery/BatteryController.h:
        (BatteryController):
        * Modules/battery/BatteryManager.cpp:
        (WebCore::BatteryManager::charging):
        (WebCore::BatteryManager::chargingTime):
        (WebCore::BatteryManager::dischargingTime):
        (WebCore::BatteryManager::level):
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2012-04-11  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSS Regions]Add helper class for flow threads info in RenderView
        https://bugs.webkit.org/show_bug.cgi?id=83464

        Reviewed by David Hyatt.

        This patch creates a new helper class FlowThreadController that will accommodate all the flow thread
        related info from RenderView and moves all the data structures/methods from RenderView into this new class.
        There is only one FlowThreadController object per RenderView and it can be retrieved using flowThreadController() method from RenderView.
        The flow thread controller object is owned by the RenderView and it is created on demand only if there are flowing
        threads in the page.

        Since there is no change in functionality, there are no new tests added.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::webkitGetFlowByName):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        * rendering/FlowThreadController.cpp: Added.
        (WebCore):
        (WebCore::FlowThreadController::create):
        (WebCore::FlowThreadController::FlowThreadController):
        (WebCore::FlowThreadController::~FlowThreadController):
        (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
        (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
        * rendering/FlowThreadController.h: Added.
        (WebCore):
        (FlowThreadController):
        (WebCore::FlowThreadController::currentRenderFlowThread):
        (WebCore::FlowThreadController::setCurrentRenderFlowThread):
        (WebCore::FlowThreadController::isRenderNamedFlowThreadOrderDirty):
        (WebCore::FlowThreadController::setIsRenderNamedFlowThreadOrderDirty):
        (WebCore::FlowThreadController::renderNamedFlowThreadList):
        (WebCore::FlowThreadController::hasRenderNamedFlowThreads):
        * rendering/RenderFlowThread.cpp:
        (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
        (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
        (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
        (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::nextRendererForNode):
        (WebCore::RenderNamedFlowThread::previousRendererForNode):
        (WebCore::RenderNamedFlowThread::removeRegionFromThread):
        (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
        (WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
        * rendering/RenderNamedFlowThread.h:
        (RenderNamedFlowThread):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        (WebCore::RenderObject::enclosingRenderFlowThread):
        (WebCore::RenderObject::willBeDestroyed):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeRenderNamedFlowThreads):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        (WebCore::RenderView::layout):
        (WebCore::RenderView::hasRenderNamedFlowThreads):
        (WebCore::RenderView::flowThreadController):
        * rendering/RenderView.h:
        (WebCore):
        (RenderView):

2012-04-11  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Device Metrics] Implement dimension swapping
        https://bugs.webkit.org/show_bug.cgi?id=83676

        The change adds a "Swap dimensions" button that swaps the emulated device dimensions to
        mimic the device rotation (give that the ORIENTATION_EVENTS feature is disabled in Chromium).

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement.swapDimensionsClicked):
        (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement):

2012-04-11  Kent Tamura  <tkent@chromium.org>

        Fix compiler warnings for generated CalendarPicker.cpp with VC++
        https://bugs.webkit.org/show_bug.cgi?id=83672

        Reviewed by Kentaro Hara.

        * make-file-arrays.py:
        (main): Do not generate literal integers larger than 127 for
        members of char arrays. Use '\xHH' instead.

2012-04-11  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: fix category -> type refactoring implications.
        https://bugs.webkit.org/show_bug.cgi?id=83680

        Reviewed by Yury Semikhatsky.

        We are now using type identifiers (singulars) as opposed to category identifier (plurals) in the style.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems.createFilterElement):
        (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
        (WebInspector.NetworkLogView.prototype._showCategory):
        (WebInspector.NetworkLogView.prototype._hideCategory):
        (WebInspector.NetworkLogView.prototype._filter):
        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
        (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement):
        (WebInspector.ResourceRevisionTreeElement):
        * inspector/front-end/networkLogView.css:
        (.network-log-grid.data-grid .network-type-script .icon):
        (.network-log-grid.data-grid.small .network-type-script .icon):
        (.network-log-grid.data-grid .network-type-document .icon):
        (.network-log-grid.data-grid.small .network-type-document .icon):
        (.network-log-grid.data-grid .network-type-stylesheet .icon):
        (.network-log-grid.data-grid.small .network-type-stylesheet .icon):
        (.network-log-grid.data-grid .network-type-image .icon):
        (.network-log-grid.data-grid.small .network-type-image .icon):
        (.network-type-document .network-graph-bar):
        (.network-type-document.resource-cached .network-graph-bar):
        (.network-type-stylesheet .network-graph-bar):
        (.network-type-stylesheet.resource-cached .network-graph-bar):
        (.network-type-image .network-graph-bar):
        (.network-type-image.resource-cached .network-graph-bar):
        (.network-type-font .network-graph-bar):
        (.network-type-font.resource-cached .network-graph-bar):
        (.network-type-script .network-graph-bar):
        (.network-type-script.resource-cached .network-graph-bar):
        (.network-type-xhr .network-graph-bar):
        (.network-type-xhr.resource-cached .network-graph-bar):
        (.network-type-websocket .network-graph-bar):
        (.network-type-websocket.resource-cached .network-graph-bar):
        (.network-log-grid.data-grid.filter-other table.data tr.revealed.network-type-other):
        * inspector/front-end/resourcesPanel.css:
        (.resource-sidebar-tree-item.resources-type-image .icon):
        (.resources-type-image .image-resource-icon-preview):
        (.children.small .resource-sidebar-tree-item.resources-type-image .icon):
        (.children.small .resources-type-image .image-resource-icon-preview):
        (.resource-sidebar-tree-item.resources-type-document .icon):
        (.children.small .resource-sidebar-tree-item.resources-type-document .icon):
        (.resource-sidebar-tree-item.resources-type-stylesheet .icon):
        (.children.small .resource-sidebar-tree-item.resources-type-stylesheet .icon):
        (.resource-sidebar-tree-item.resources-type-font .icon):
        (.children.small .resource-sidebar-tree-item.resources-type-font .icon):
        (.resource-sidebar-tree-item.resources-type-script .icon):
        (.children.small .resource-sidebar-tree-item.resources-type-script .icon):
        (.resource-sidebar-tree-item.resources-type-xhr .icon):
        (.children.small .resource-sidebar-tree-item.resources-type-xhr .icon):

2012-04-11  Noel Gordon  <noel.gordon@gmail.com>

        [GTK] ImageBuffer: Canonical mimeType for encoding implies startsWith('image/')
        https://bugs.webkit.org/show_bug.cgi?id=83657

        Reviewed by Martin Robinson.

        Canonical image mimeTypes begin with "image/", and this is tested by an ASSERT
        guard in toDataURL(): that checks the WebCore mimeType registry for image-for-
        encoding mimeType. There is no need to also test mimeType.startsWith("image/")
        because that is a given.

        No new tests. Covered by existing fast/canvas/*toDataURL* tests.

        * platform/graphics/gtk/ImageBufferGtk.cpp:
        (WebCore::ImageBuffer::toDataURL):

2012-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck issues.

        * GNUmakefile.list.am: Add missing header file.

2012-04-10  Adrienne Walker  <enne@google.com>

        [chromium] Signedness issue with code informing v8 of PatternSkia memory use
        https://bugs.webkit.org/show_bug.cgi?id=83642

        Reviewed by James Robinson.

        The unary negation of size_t is still a size_t, so clamp and cast to
        an int instead when adjusting v8 memory limits.

        * platform/graphics/Pattern.h:
        (Pattern):
        * platform/graphics/skia/PatternSkia.cpp:
        (WebCore::Pattern::platformPattern):

2012-04-10  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] ImageBuffer minor style fix: remove compound declaration
        https://bugs.webkit.org/show_bug.cgi?id=83660

        Reviewed by Kent Tamura.

        No new tests. Covered by existing fast/canvas/*toDataURL* tests.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::toDataURL):
        (WebCore::ImageDataToDataURL):

2012-04-10  Alexandre Elias  <aelias@google.com>

        Add gesture event enums for long-press and pinch
        https://bugs.webkit.org/show_bug.cgi?id=83640

        Reviewed by James Robinson.

        Add new enum values GestureLongPress and GesturePinchBegin/End/Update,
        along with no-op default handling.

        No new tests. (No-op change.)

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        * platform/PlatformEvent.h:

2012-04-10  Abhishek Arya  <inferno@chromium.org>

        Crash due to intruding float not removed from next siblings.
        https://bugs.webkit.org/show_bug.cgi?id=83301

        Reviewed by Eric Seidel.

        Test: fast/block/float/intruding-float-not-removed-from-next-sibling-crash.html

        markSiblingsWithFloatsForLayout currently only handled overhanging floats and made
        checks for those by checking if logicalBottomForFloat > our logicalHeight. We need
        to take care of intruding floats as well, since these can intrude into the neighbouring
        blocks too. So, generalized the function to check all our next siblings if they contains
        that float (one getting removed) and if yes, mark it and all its descendants for layout.
        This fixes the crash.

        For performance, we change the looping condition to iterate over the next sibling
        blocks first and finding which ones can contain floats and then check it against
        our floating object list. Currently, it is the other way around and is less
        performant due to repeated calls to isRenderBlock(), isFloatingOrPositioned()
        and avoidFloats().

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):

2012-04-10  Mike Lawther  <mikelawther@chromium.org>

        Prevent fallthrough to keep static analysis tools happy
        https://bugs.webkit.org/show_bug.cgi?id=83639

        Reviewed by Darin Adler.

        No new tests - no new behaviour.

        * css/LengthFunctions.cpp:
        (WebCore::valueForLength):

2012-04-10  Julien Chaffraix  <jchaffraix@webkit.org>

        Don't expose the intrinsic padding concept to the code outside rendering
        https://bugs.webkit.org/show_bug.cgi?id=83380

        Reviewed by Eric Seidel.

        No new tests, refactoring only.

        The current code would expose the concept of intrinsic padding to every
        object holding a renderer through an enum on the padding* functions.

        This was very fragile as only the class using intrinsic padding should know about
        its very existence, the rest of the code shouldn't have to special case for it.
        There is one exception: the getComputedStyle logic needs the opposite value
        rendering needs. To handle that, we make it more explicit what returns the
        computed values vs the rendering values.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::sizingBox):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        Updated those functions to use the new computedCSS* functions below.

        * rendering/RenderBox.h:
        (RenderBox):
        (WebCore::RenderBox::computedCSSContentBoxRect):
        This is the computed content box. It includes the intrinsic padding.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::computedCSSPaddingTop):
        (WebCore::RenderBoxModelObject::computedCSSPaddingBottom):
        (WebCore::RenderBoxModelObject::computedCSSPaddingLeft):
        (WebCore::RenderBoxModelObject::computedCSSPaddingRight):
        (WebCore::RenderBoxModelObject::computedCSSPaddingBefore):
        (WebCore::RenderBoxModelObject::computedCSSPaddingAfter):
        (WebCore::RenderBoxModelObject::computedCSSPaddingStart):
        (WebCore::RenderBoxModelObject::computedCSSPaddingEnd):
        Renamed from padding* as they returned the CSS computed values.

        * rendering/RenderBoxModelObject.h:
        (RenderBoxModelObject):
        Killed the enum paddingOptions!

        (WebCore::RenderBoxModelObject::paddingTop):
        (WebCore::RenderBoxModelObject::paddingBottom):
        (WebCore::RenderBoxModelObject::paddingLeft):
        (WebCore::RenderBoxModelObject::paddingRight):
        (WebCore::RenderBoxModelObject::paddingBefore):
        (WebCore::RenderBoxModelObject::paddingAfter):
        (WebCore::RenderBoxModelObject::paddingStart):
        (WebCore::RenderBoxModelObject::paddingEnd):
        All padding* functions call the computedCSSPadding* ones above.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paddingTop):
        (WebCore::RenderTableCell::paddingBottom):
        (WebCore::RenderTableCell::paddingLeft):
        (WebCore::RenderTableCell::paddingRight):
        (WebCore::RenderTableCell::paddingBefore):
        (WebCore::RenderTableCell::paddingAfter):
        Updated these functions after the renaming.

        * rendering/RenderTableCell.h:
        (RenderTableCell):
        Updated the functions signature and decorated them with OVERRIDE.

        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::paddingTop):
        (WebCore::RenderMathMLBlock::paddingBottom):
        (WebCore::RenderMathMLBlock::paddingLeft):
        (WebCore::RenderMathMLBlock::paddingRight):
        (WebCore::RenderMathMLBlock::paddingBefore):
        (WebCore::RenderMathMLBlock::paddingAfter):
        (WebCore::RenderMathMLBlock::paddingStart):
        (WebCore::RenderMathMLBlock::paddingEnd):
        * rendering/mathml/RenderMathMLBlock.h:
        (RenderMathMLBlock):
        Updated these functions after the renaming.

        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):
        Updated this function to use computeCSSContentBoxRect.location().

2012-04-10  Lauro Neto  <lauro.neto@openbossa.org>

        TextureMapperGL.cpp breaks build with OpenGL ES
        https://bugs.webkit.org/show_bug.cgi?id=83622

        Reviewed by Noam Rosenthal.

        Add !defined(TEXMAP_OPENGL_ES_2) guards as suggested by
        No'am Rosenthal.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::updateContents):

2012-04-10  Kent Tamura  <tkent@chromium.org>

        Calendar Picker: Initialize CalendarPickerElement::m_popup
        https://bugs.webkit.org/show_bug.cgi?id=83656

        Reviewed by Hajime Morita.

        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::CalendarPickerElement::CalendarPickerElement): Set 0 to m_popup.

2012-04-10  Adam Klein  <adamk@chromium.org>

        CodeGeneratorV8 cleanup: eliminate redundant calls to IsRefPtrType
        https://bugs.webkit.org/show_bug.cgi?id=83623

        Reviewed by Adam Barth.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader): Always emit toV8(PassRefPtr), as all wrapped types are RefCounted.
        (GenerateImplementation): Always emit code for derefObject, as all wrapped types are RefCounted.

2012-04-10  James Robinson  <jamesr@chromium.org>

        [chromium] Add OVERRIDE annotations for cc tree host and proxy interfaces
        https://bugs.webkit.org/show_bug.cgi?id=83653

        Reviewed by Adrienne Walker.

        This adds OVERRIDE annotations to the implementations of the following interfaces:
        - CCLayerTreeHostClient
        - CCLayerTreeHostImplClient
        - CCProxy
        - LayerRendererChromiumClient

        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        * platform/graphics/chromium/cc/CCProxy.h:
        (WebCore):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-04-10  David Grogan  <dgrogan@chromium.org>

        Notify observers of WorkerRunLoop stopping before the V8 isolate dies.
        https://bugs.webkit.org/show_bug.cgi?id=83104

        PlatformSupport::didStopWorkerRunLoop ultimately causes
        ~V8AbstractEventListener to call
        v8::Local<v8::Object>::New(m_listener) after the V8 isolate has been
        disposed, which manifests as a crash in V8.

        The current code in trunk runs this at shutdown:
        1) removeAllDOMObjects()
        2) dispose of V8
        3) didStopWorkerRunLoop()  <-- problem

        This patch changes the order to be:
        1) removeAllDOMObjects()
        2) didStopWorkerRunLoop()
        3) dispose of V8

        We put didStopWorkerRunLoop after removeAllDOMObjects because we don't
        want chromium code that runs on a webcore worker to run after it
        receives the didStopWorkerRunLoop signal. The destructors of some IDB
        objects are run by removeAllDOMObjects, so putting
        didStopWorkerRunLoop before removeAllDOMObjects would violate that
        constraint.

        It's possible that there's a lower layer fix available in V8 or the
        bindings.

        Reviewed by David Levin.

        Test: storage/indexeddb/pending-version-change-on-exit.html

        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::~WorkerScriptController):
        New location of didStopWorkerRunLoop. removeAllDOMObjects and V8
        disposal are called here, to run something between them it also has
        to go here.

        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::workerThread): Old location of
        didStopWorkerRunLoop.

2012-04-10  Adam Klein  <adamk@chromium.org>

        Break the association between form controls and their owner when the owner leaves the tree
        https://bugs.webkit.org/show_bug.cgi?id=81420

        Reviewed by Kent Tamura.

        When parsing malformed markup, it's possible for a form and a
        form-associated element to not be in an ancestor/descendant relationship.
        When that form is later removed from the tree, the relationship needs to be updated.

        Test: fast/forms/parser-associated-form-removal.html

        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::FormAssociatedElement):
        (WebCore::FormAssociatedElement::formRemovedFromTree): New method called when
        by the form when it's being removed: handles either resetting the
        owner or storing a bit to optimize away a second walk up the tree.
        * html/FormAssociatedElement.h:
        (FormAssociatedElement):
        * html/HTMLFormElement.cpp:
        (WebCore::findRoot): Simple helper method copied from FormAssociatedElement (this should probably live elsewhere).
        (WebCore::HTMLFormElement::removedFromTree): Override removedFromTree to notify associated elements of the removal.
        * html/HTMLFormElement.h:
        (HTMLFormElement):

2012-04-10  James Robinson  <jamesr@chromium.org>

        [chromium] Add OVERRIDE annotations for cc scheduler-related client interfaces
        https://bugs.webkit.org/show_bug.cgi?id=83646

        Reviewed by Adrienne Walker.

        This adds OVERRIDE annotations to the implementations of the following interfaces:
        - CCFrameRateControllerClient
        - CCSchedulerClient
        - CCTimeSource
        - CCTimeSourceClient
        - CCTimerClient

        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
        * platform/graphics/chromium/cc/CCFrameRateController.cpp:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        * platform/graphics/chromium/cc/CCScheduler.h:
        (CCScheduler):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-04-10  Kent Tamura  <tkent@chromium.org>

        Add a function to set empty clients to a PageClients
        https://bugs.webkit.org/show_bug.cgi?id=83555

        Reviewed by Adam Barth.

        No new tests because of no behavior change.

        * CMakeLists.txt: Add EmptyClients.cpp.
        * GNUmakefile.list.am: ditto.
        * Target.pri: ditto.
        * WebCore.gypi: ditto.
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * WebCore.xcodeproj/project.pbxproj: ditto.

        * loader/EmptyClients.cpp: Added.
        (WebCore::fillWithEmptyClients): Some code was moved from SVGImage::dataChanged().
        * loader/EmptyClients.h: Add the declaration of fillWithEmptyClients().
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged): Moved some code to fillWithEmptyClients().

2012-04-10  James Robinson  <jamesr@chromium.org>

        [chromium] Fold LayerChromium::updateCompositorResources into main update
        https://bugs.webkit.org/show_bug.cgi?id=83530

        Reviewed by Adrienne Walker.

        We used to update layer contents in two phases. The first, called paintContentsIfDirty() /
        idlePaintContentsIfDirty(), ran on the main WebKit thread and took care of any main-thread work - primarily
        WebCore painting as the name implies. The second, called updateCompositorResources(), ran on the compositor
        thread with the main thread blocked and took care of any actions that required direct access to the compositor's
        context - such as texture uploads into compositor-managed textures. Now that all compositor texture operations
        are queued on a CCTextureUpdater, the compositor can take care of these operations on the correct thread at the
        right time without needing layer-specific logic.

        This folds both functions into one function called LayerChromium::update() (and idleUpdate() for idle
        prepainting) and adds a CCTextureUpdater reference for queuing up texture operations.

        The CCProxy is responsible for the lifetime of the CCTextureUpdater. In the threaded proxy, the updater is
        tied to the lifetime of the beginFrame operation. Specifically it's constructed on the impl thread when the
        beginFrame message is generated, is accessed by reference on the main thread during the commit, and then
        destroyed by the proxy when the commit is complete. CCTextureUpdater::update should only be called on the impl
        thread by the proxy. In the future, it might be worth exposing a more limited interface to layers.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::update):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::update):
        (WebCore::ContentLayerChromium::idleUpdate):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (ContentLayerChromium):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerTextureUpdater::updateLayerRect):
        (WebCore::ImageLayerChromium::update):
        * platform/graphics/chromium/ImageLayerChromium.h:
        (ImageLayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::update):
        (WebCore::LayerChromium::idleUpdate):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::isDirty):
        (WebCore::UpdatableTile::copyAndClearDirty):
        (WebCore::UpdatableTile::isDirtyForCurrentFrame):
        (UpdatableTile):
        (WebCore::UpdatableTile::UpdatableTile):
        (WebCore::TiledLayerChromium::TiledLayerChromium):
        (WebCore::TiledLayerChromium::createTile):
        (WebCore::TiledLayerChromium::invalidateRect):
        (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
        (WebCore::TiledLayerChromium::updateTiles):
        (WebCore::TiledLayerChromium::reserveTextures):
        (WebCore::TiledLayerChromium::resetUpdateState):
        (WebCore::TiledLayerChromium::updateLayerRect):
        (WebCore::TiledLayerChromium::idleUpdateLayerRect):
        (WebCore::TiledLayerChromium::needsIdlePaint):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (TiledLayerChromium):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::update):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebGLLayerChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::commitComplete):
        (WebCore::CCLayerTreeHost::updateLayers):
        (WebCore::CCLayerTreeHost::reserveTextures):
        (WebCore::CCLayerTreeHost::update):
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doCommit):
        (WebCore::CCSingleThreadProxy::commitIfNeeded):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionBeginFrame):
        (WebCore::CCThreadProxy::beginFrame):
        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
        (WebCore::CCThreadProxy::scheduledActionCommit):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
        (BeginFrameAndCommitState):

2012-04-10  Adam Klein  <adamk@chromium.org>

        Store V8 SVGElementInstance wrappers in the regular DOMObjectMap
        https://bugs.webkit.org/show_bug.cgi?id=83615

        Reviewed by Adam Barth.

        Historically, these wrappers had their own map, but there doesn't seem
        to be any particular reason for this. The V8GCController doesn't
        treat them specially (which is the reason you normally need a separate
        wrapper map).

        No new tests, no expected change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GetDomMapName):
        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::DOMDataStore):
        (WebCore::DOMDataStore::getDOMWrapperMap):
        * bindings/v8/DOMDataStore.h:
        (DOMDataStore):
        * bindings/v8/ScopedDOMDataStore.cpp:
        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
        * bindings/v8/StaticDOMDataStore.cpp:
        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
        * bindings/v8/StaticDOMDataStore.h:
        (StaticDOMDataStore):
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::removeAllDOMObjects):
        * bindings/v8/V8DOMMap.h:
        (WebCore):
        * bindings/v8/V8DOMWrapper.cpp:

2012-04-10  Noel Gordon  <noel.gordon@gmail.com>

        [Qt] Separate image encoding from dataURL construction
        https://bugs.webkit.org/show_bug.cgi?id=83132

        Reviewed by Noam Rosenthal.
        
        Remove the implicit assumption that a dataURL is the only desired output format
        of the image encoding phase.

        No new tests, refactoring only, covered by existing canvas tests.

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::encodeImage): Output the encoded image to the provided QByteArray.
        (WebCore):
        (WebCore::ImageBuffer::toDataURL) Format the dataURL encoding of the mimeType
        encoded image data here. Clarify the comment.

2012-04-10  Patrick Gansterer  <paroga@webkit.org>

        Build fix for WinCE after r113730.

        * platform/FractionalLayoutUnit.h:
        (WebCore::FractionalLayoutUnit::isInBounds):

2012-04-10  Greg Billock  <gbillock@google.com>

        Add transfer map argument to Intent constructor
        http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
        This adds the ability to pass transferables (i.e. MessagePorts)
        through web intents, and puts the calling convention in line
        with the Web Messaging spec:
        http://dev.w3.org/html5/postmsg/

        Implementation in chromium API follows the port-passing method
        of PlatformMessagePortChannel.

        https://bugs.webkit.org/show_bug.cgi?id=80200

        Reviewed by Adam Barth.

        * Modules/intents/Intent.cpp:
        (WebCore::Intent::create):
        * Modules/intents/Intent.idl:
        * WebCore.gypi:
        * bindings/v8/custom/V8IntentCustom.cpp: Added.
        (WebCore):
        (WebCore::V8Intent::constructorCallback):

2012-04-10  Patrick Gansterer  <paroga@webkit.org>

        Cleanup wtf/Platform.h and config.h files
        https://bugs.webkit.org/show_bug.cgi?id=83431

        Reviewed by Eric Seidel.

        The ENABLE() and USE() macros take care about the case when the flag
        isn't defined. So there is no need to define anything with 0.

        Also move duplicated code from the config.h files to Platform.h and
        merge a few preprocessor commands to make the file more readable.

        * config.h:

2012-04-10  Adam Barth  <abarth@webkit.org>

        Limit -apple- and -khtml- to ENABLE(DASHBOARD_SUPPORT)
        https://bugs.webkit.org/show_bug.cgi?id=83256

        Reviewed by Eric Seidel.

        As recommended by David Hyatt in
        <https://lists.webkit.org/pipermail/webkit-dev/2010-July/013536.html>,
        we should phase out support for -khtml- and -apple- vendor prefixes in
        CSS (in favor of -webkit-).

        As noted in <https://bugs.webkit.org/show_bug.cgi?id=42093#c29>, Dave's
        proposal is a bit too agressive.  These prefixes appear to be needed
        for a number of dashboard widgets.  For that reason, this patch limits
        the prefixes to ENABLE(LEGACY_CSS_VENDOR_PREFIXES).

        This patch enables ENABLE(LEGACY_CSS_VENDOR_PREFIXES) on apple-mac and
        apple-win, which will let us learn whether removing these prefixes
        causes a compatibility problem on the broader web.

        * Configurations/FeatureDefines.xcconfig:
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::getCSSPropertyNamePrefix):
        (WebCore::cssPropertyIDForJSCSSPropertyName):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::cssPropertyInfo):
        * css/CSSParser.cpp:
        (WebCore::cssPropertyID):

2012-04-10  Levi Weintraub  <leviw@chromium.org>

        Clean up multiple RenderedPosition::absoluteRect definitions and correct LayoutUnit usage
        https://bugs.webkit.org/show_bug.cgi?id=83604

        Reviewed by Julien Chaffraix.

        Removing unnecessary definitions of absoluteRect and replacing them with a single public
        version that's more explicit about its contract.

        Also correcting a LayoutUnit misuse, as rects in absolute coordinates should be returned
        using integers, not LayoutUnits. See https://trac.webkit.org/wiki/LayoutUnit for details.

        No new tests. No change in behavior.

        * editing/Editor.cpp:
        (WebCore::Editor::firstRectForRange):
        * editing/RenderedPosition.cpp:
        (WebCore::RenderedPosition::absoluteRect): Pixel snapping the local rect before converting
        to absolute coordinates.
        * editing/RenderedPosition.h:
        (RenderedPosition):

2012-04-10  Yael Aharon  <yael.aharon@nokia.com>

        Initial support for fixed position elements in Qt WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=81786

        Reviewed by Noam Rosenthal.

        When the setting acceleratedCompositingForFixedPositionEnabled is true, we update
        the position of fixed layers, and send updates to the UI process as we scroll.
        Before painting, TextureMapperLayer receives a delta of the scroll positions between the UI 
        and the web processes, and adjusts its transform position accordingly.

        * page/FrameView.cpp:
        (WebCore::FrameView::setFixedVisibleContentRect):
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::setScrollPositionDelta):
        (WebCore):
        * platform/graphics/texmap/TextureMapperLayer.h:
        (TextureMapperLayer):

2012-04-10  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: do not expose raw methods from generated types
        https://bugs.webkit.org/show_bug.cgi?id=83390

        Reviewed by Yury Semikhatsky.

        Intermediate classes InspectorObjectBase and InspectorArrayBase are created. They have all raw methos
        protected. InspectorObject and InspectorArray now inherit the corresponding base classes with exposing
        all their protected methods.

        "Open types" are left inheriting from InspectorObject, plus field name constants are generated for
        an easy random access to all properties.

        All the client code is fixed to use type-safe API rather than raw access methods in function parameter
        and return types and bodies.

        * inspector/CodeGeneratorInspector.py:
        (RawTypes.Object):
        (RawTypes.Object.get_setter_name):
        (RawTypes.Array):
        (RawTypes.Array.get_setter_name):
        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
        (Array):
        (Generator):
        (Generator.resolve_type_and_generate_ad_hoc.InterfaceGenerateContext):
        (Generator.process_types.GenerateContext):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::querySelectorAll):
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::didPause):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::buildObjectForSearchResult):
        (WebCore::InspectorPageAgent::searchInResources):
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::fillMediaListChain):
        (WebCore::InspectorStyle::styleWithProperties):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObjectBase::~InspectorObjectBase):
        (WebCore::InspectorObjectBase::asObject):
        (WebCore::InspectorObjectBase::openAccessors):
        (WebCore):
        (WebCore::InspectorObjectBase::getBoolean):
        (WebCore::InspectorObjectBase::getString):
        (WebCore::InspectorObjectBase::getObject):
        (WebCore::InspectorObjectBase::getArray):
        (WebCore::InspectorObjectBase::get):
        (WebCore::InspectorObjectBase::remove):
        (WebCore::InspectorObjectBase::writeJSON):
        (WebCore::InspectorObjectBase::InspectorObjectBase):
        (WebCore::InspectorArrayBase::~InspectorArrayBase):
        (WebCore::InspectorArrayBase::asArray):
        (WebCore::InspectorArrayBase::writeJSON):
        (WebCore::InspectorArrayBase::InspectorArrayBase):
        (WebCore::InspectorArrayBase::get):
        * inspector/InspectorValues.h:
        (InspectorObjectBase):
        (InspectorObject):
        (WebCore::InspectorObject::create):
        (WebCore):
        (InspectorArrayBase):
        (WebCore::InspectorArrayBase::length):
        (InspectorArray):
        (WebCore::InspectorArray::create):
        (WebCore::InspectorObjectBase::find):
        (WebCore::InspectorObjectBase::setBoolean):
        (WebCore::InspectorObjectBase::setNumber):
        (WebCore::InspectorObjectBase::setString):
        (WebCore::InspectorObjectBase::setValue):
        (WebCore::InspectorObjectBase::setObject):
        (WebCore::InspectorObjectBase::setArray):
        (WebCore::InspectorArrayBase::pushBoolean):
        (WebCore::InspectorArrayBase::pushInt):
        (WebCore::InspectorArrayBase::pushNumber):
        (WebCore::InspectorArrayBase::pushString):
        (WebCore::InspectorArrayBase::pushValue):
        (WebCore::InspectorArrayBase::pushObject):
        (WebCore::InspectorArrayBase::pushArray):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createGenericRecord):

2012-04-10  Philip Rogers  <pdr@google.com>

        Remove unnecessary calls to RenderSVGShape::createShape()
        https://bugs.webkit.org/show_bug.cgi?id=83598

        Reviewed by Rob Buis.

        RenderSVGShape::strokeContains contains calls to fall back to path stroke hit detection
        in several cases (dashed strokes, for example). One of these cases, a check for isStyled,
        is not needed and is always true for Ellipses, Circles, and Rects (all styled elements).
        This change removes the check for isStyled.

        No new tests as this only affects performance, not test results.

        * rendering/svg/RenderSVGShape.cpp:
        (WebCore::RenderSVGShape::strokeContains):

2012-04-10  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10912486> CanvasRenderingContext2D does not expose its backing store resolution
        https://bugs.webkit.org/show_bug.cgi?id=83619

        Reviewed by Simon Fraser.

        Test: fast/canvas/2d.backingStorePixelRatio.html

        Added a backingStorePixelRatio attribute to CanvasRenderingContext2D, as proposed in
        <http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035112.html>. The attribute
        is prefixed with “webkit” for now.

        * html/HTMLCanvasElement.h:
        (WebCore::HTMLCanvasElement::deviceScaleFactor): Added this getter.
        * html/canvas/CanvasRenderingContext2D.h:
        (WebCore::CanvasRenderingContext2D::webkitBackingStorePixelRatio): Added. Returns the canvas
        element’s device scale factor.
        (CanvasRenderingContext2D):
        * html/canvas/CanvasRenderingContext2D.idl: Added webkitBackingStorePixelRatio as a
        read-only attribute.

2012-04-10  Mario Sanchez Prada  <msanchez@igalia.com>

        Segmentation fault in JS drop-down menus in facebook.com
        https://bugs.webkit.org/show_bug.cgi?id=82896

        Reviewed by Chris Fleizach.

        Make sure changes introduced with r110819 affect to the Mac
        platform only, since they depend on platform specific behaviour,
        as not all the platforms treat attachments in the same way.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::updateChildrenIfNecessary):
        * accessibility/AccessibilityObject.h:
        (AccessibilityObject):
        (WebCore::AccessibilityObject::detachFromParent):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore):
        (WebCore::AccessibilityRenderObject::addChildren):
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):
        * accessibility/mac/AccessibilityObjectMac.mm:
        (WebCore::AccessibilityObject::detachFromParent):
        (WebCore):

2012-04-10  Andreas Kling  <kling@webkit.org>

        REGRESSION(r113588): 15-30% perf. regression on CSS/CSSPropertySetterGetter.
        <http://webkit.org/b/83540>

        Reviewed by Antti Koivisto.

        Changed the behavior of getPropertyCSSValueInternal() to actually return the internal
        value rather than a cloned one. There is an assertion in the CSSValue bindings that
        will catch anyone trying to expose these values to the web.

        This avoids constructing "safe" CSSValue objects in the bindings layer, for the cases
        where we only want to extract the cssText or numeric value. These cloned objects are
        only needed when exposing fully-fledged CSSValues to the web, which must be tied to
        a single document.

        * css/CSSStyleDeclaration.h:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValueInternal):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):

2012-04-10  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][WK2] Manage graphics buffers in the web process
        https://bugs.webkit.org/show_bug.cgi?id=78675

        Added WebCore::GraphicsSurface, a wrapper class to a platform-dependant
        surface that can be accessed efficiently by both the CPU and the GPU.
        This will allow fast texture uploads for WebKit2, and in the future
        fast copies for 2D canvas and WebGL.
        The first implementation is for Mac using IOSurfaces.

        TextureMapperGL had to be modified to use GL_UNSIGNED_INT_8_8_8_8_REV
        for textures on Mac, since that's the native pixel format of BGRA
        IOSurfaces.

        Though this feature is not written in a Qt-specific way, it's currently
        only enabled for Qt and is protected by USE(GRAPHICS_SURFACE).

        Reviewed by Kenneth Rohde Christiansen.

        Covered by existing API tests.

        * Target.pri:
        * WebCore.pri:
        * platform/graphics/surfaces/GraphicsSurface.cpp: Added.
        * platform/graphics/surfaces/GraphicsSurface.h: Added.
        * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp: Added.
        * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp: Added.
        (WebCore::GraphicsSurface::didReleaseImage):
        (WebCore):
        (WebCore::GraphicsSurface::platformBeginPaint):
        (WebCore::GraphicsSurface::createReadOnlyImage):
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::BitmapTexture::isOpenGLBacked):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::toBitmapTextureGL):
        (WebCore):
        (WebCore::BitmapTextureGL::didReset):
        (WebCore::BitmapTextureGL::updateContents):
        * platform/graphics/texmap/TextureMapperGL.h:
        (WebCore::BitmapTextureGL::isOpenGLBacked):
        (WebCore):

2012-04-10  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: split nodes and edges array in heap profiler serialization.
        https://bugs.webkit.org/show_bug.cgi?id=83465

        Frontend is now able to read format when nodes and edges arrive
        in two separate arrays.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotLoader.prototype._parseIntArray):
        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
        (WebInspector.HeapSnapshot):
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):

2012-04-10  Dave Tharp  <dtharp@codeaurora.org>

        CSS box-shadow default color should be something other than transparent
        https://bugs.webkit.org/show_bug.cgi?id=58511

        Reviewed by Simon Fraser.

        If box-shadow or text-shadow color is not specified, color defaults to 
        the value specified in the 'color' property of the element (as specified in W3C 
        spec).

        Test: fast/text/text-shadow-no-default-color.html. Also existing
        tests ietestcenter/css3/box-shadow-002 and ietestcenter/css3/box-shadow-003

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-04-10  Chris Rogers  <crogers@google.com>

        AudioParam must support connections from audio-rate signals
        https://bugs.webkit.org/show_bug.cgi?id=83524

        Reviewed by Eric Carlson.
        
        In the Web Audio API, it's possible to connect one AudioNode to another AudioNode.
        Similary we should allow an AudioNode to connect to an AudioParam, thus controlling
        a parameter with an audio-rate signal.  This is important in many audio processing
        applications.

        Test: webaudio/audioparam-connect-audioratesignal.html

        Simple method name change of AudioParam::hasTimelineValues() to AudioParam::hasSampleAccurateValues().
        * Modules/webaudio/AudioGainNode.cpp:
        (WebCore::AudioGainNode::process):

        * Modules/webaudio/AudioNode.cpp:
        (WebCore::AudioNode::connect): Add connect() method from AudioNode -> AudioParam.
        (WebCore):
        (WebCore::AudioNode::disconnect):
        (WebCore::AudioNode::finishDeref):
        Use AudioNodeOutput::disconnectAll() instead of AudioNodeOutput::disconnectAllInputs().
        * Modules/webaudio/AudioNode.h: Add connect() method from AudioNode -> AudioParam.
        (WebCore):
        (AudioNode):
        * Modules/webaudio/AudioNode.idl: Add connect() method from AudioNode -> AudioParam.

        Implement support for an AudioNodeOutput to fanout to multiple AudioParams.
        * Modules/webaudio/AudioNodeOutput.cpp:
        (WebCore::AudioNodeOutput::AudioNodeOutput):
        (WebCore::AudioNodeOutput::updateRenderingState): Update rendering state related to AudioParams.
        (WebCore::AudioNodeOutput::pull): pull() must now take into account fanout to AudioParams for in-place processing.
        (WebCore::AudioNodeOutput::fanOutCount):
        (WebCore):
        (WebCore::AudioNodeOutput::paramFanOutCount): New method keeping track of number of connections to AudioParams.
        (WebCore::AudioNodeOutput::renderingParamFanOutCount): New method keeping track of number of connections to AudioParams for rendering.
        (WebCore::AudioNodeOutput::addParam): Add a connection to an AudioParam.
        (WebCore::AudioNodeOutput::removeParam): Remove a connection to an AudioParam.
        (WebCore::AudioNodeOutput::disconnectAllParams): Remove all connections to AudioParams.
        (WebCore::AudioNodeOutput::disconnectAll): New method to disconnect all AudioNodeInputs and AudioParams.
        * Modules/webaudio/AudioNodeOutput.h:
        (AudioNodeOutput):

        Allow an AudioParam to accept a connection from an AudioNodeOutput, thus being controlled
        by an audio-rate signal.
        * Modules/webaudio/AudioParam.cpp:
        (WebCore::AudioParam::calculateSampleAccurateValues): Calculates sample-accurate values from timeline or an AudioNode.
        (WebCore):
        (WebCore::AudioParam::calculateAudioRateSignalValues): Calculates sample-accurate values from an AudioNode.
        (WebCore::AudioParam::calculateTimelineValues): Calculates sample-accurate values scheduled on the timeline.
        (WebCore::AudioParam::connect): Connect from an AudioNodeOutput for control from an audio-rate signal.
        (WebCore::AudioParam::disconnect): Disconnect from an AudioNodeOutput.
        * Modules/webaudio/AudioParam.h:
        (WebCore):
        (WebCore::AudioParam::AudioParam):
        (WebCore::AudioParam::hasSampleAccurateValues): Change name from hasTimelineValues() and return true
        either if we have timeline values or if we've been connected from an AudioNode.
        (AudioParam):

        Simple method name change of AudioParam::hasTimelineValues() to AudioParam::hasSampleAccurateValues().
        * Modules/webaudio/Oscillator.cpp:
        (WebCore::Oscillator::calculateSampleAccuratePhaseIncrements):
        (WebCore::Oscillator::process):

2012-04-10  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Enable USE_FOLDERS property
        https://bugs.webkit.org/show_bug.cgi?id=83571

        Reviewed by Daniel Bates.

        Setting the FOLDER property on targets gives more structure 
        to the generated Visual Studio solutions.
        This does not affect other CMake generators.

        * CMakeLists.txt:

2012-04-10  Dominik Röttsches  <dominik.rottsches@linux.intel.com>

        [CMake] CMake SVG Code Generation fails to generate code for extra defines
        https://bugs.webkit.org/show_bug.cgi?id=83562

        Reviewed by Rob Buis.

        Fixing CMakeLists.txt to generate correct extra defines for SVG code generator.

        * CMakeLists.txt:

2012-04-10  Abhishek Arya  <inferno@chromium.org>

        Crash due to captions list not updated after section recalc.
        https://bugs.webkit.org/show_bug.cgi?id=83552

        Reviewed by Julien Chaffraix.

        Test: fast/table/table-caption-not-removed-crash.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): no need to set the need for
        section recalc. It was needed in old code when we had more than
        one caption and we need to call section recalc to destroy the other
        captions.
        (WebCore::RenderTable::recalcSections): need to rebuild captions list.
        This is how the old code worked before r100177. Basically, children can
        moved without calling RenderTable::removeChild, so we should depend on
        recalcSections to update our captions list. Also, fix a style nit of aligning
        case labels with the switch statement.

2012-04-10  Anders Carlsson  <andersca@apple.com>

        Unreviewed, rolling out r113611.
        http://trac.webkit.org/changeset/113611
        https://bugs.webkit.org/show_bug.cgi?id=71541

        Broke fast/forms/basic-textareas.html

        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hasHorizontalOverflow):
        (WebCore::RenderLayer::hasVerticalOverflow):

2012-04-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113734.
        http://trac.webkit.org/changeset/113734
        https://bugs.webkit.org/show_bug.cgi?id=83606

        causing a bunch of unrelated test failures (Requested by
        simonjam on #webkit).

        * Modules/battery/BatteryController.cpp:
        * Modules/battery/BatteryController.h:
        (BatteryController):
        * Modules/battery/BatteryManager.cpp:
        (WebCore::BatteryManager::charging):
        (WebCore::BatteryManager::chargingTime):
        (WebCore::BatteryManager::dischargingTime):
        (WebCore::BatteryManager::level):
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2012-04-10  Adam Klein  <adamk@chromium.org>

        Add setJSWrapperForActiveDOMNode and use it for Nodes that are also ActiveDOMObjects
        https://bugs.webkit.org/show_bug.cgi?id=83528

        Reviewed by Kentaro Hara.

        Instead of using a run-time call to isActiveNode to determine which
        map to put a Node wrapper in, generate the proper call in the CodeGenerator.

        This was originally part of r112318, which got rolled out due to OOM concerns.
        I'm splitting it into smaller pieces so that each can be landed and
        watched for issues seperately.

        No new tests, no change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorCallback): Use new GetDomMapName function to
        figure out which setJSWrapper to call.
        (GenerateNamedConstructorCallback): ditto.
        (GetDomMapFunction): Delegate to GetDomMapName for logic.
        (GetDomMapName): New helper factored out of GetDomMapFunction.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Assert !isActiveNode instead of branching on it.
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): New method split ouf of the above.
        Assert isActiveNode instead of branching on it.
        * bindings/v8/V8DOMWrapper.h:
        (V8DOMWrapper):

2012-04-10  Luke Macpherson  <macpherson@chromium.org>

        Pass PropertyHandler by reference in CSSStyleApplyProperty.h.
        https://bugs.webkit.org/show_bug.cgi?id=83551

        Reviewed by Kentaro Hara.

        No new tests / cleanup only.

        * css/CSSStyleApplyProperty.h:
        (WebCore::CSSStyleApplyProperty::setPropertyHandler):

2012-04-10  Luke Macpherson  <macpherson@chromium.org>

        Pass FontDescription as const reference instead of by value in CSSStyleSelector.h.
        https://bugs.webkit.org/show_bug.cgi?id=83548

        Reviewed by Kentaro Hara.

        FontDescription is relatively large, so pass-by-reference is preferred.

        No new tests / code cleanup only.

        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::fontDescription):
        (WebCore::CSSStyleSelector::parentFontDescription):
        (WebCore::CSSStyleSelector::setFontDescription):

2012-04-10  Adam Klein  <adamk@chromium.org>

        Add TestNode.idl to run-binding-tests
        https://bugs.webkit.org/show_bug.cgi?id=83599

        Reviewed by Adam Barth.

        TestNode.idl is a minimized version of Node.idl with enough attributes
        to exercise CodeGenerator.pm's handling of Node subtypes.

        * bindings/scripts/test/CPP/WebDOMTestNode.cpp: Added.
        * bindings/scripts/test/CPP/WebDOMTestNode.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestNode.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestNodePrivate.h: Added.
        * bindings/scripts/test/JS/JSTestNode.cpp: Added.
        * bindings/scripts/test/JS/JSTestNode.h: Added.
        * bindings/scripts/test/ObjC/DOMTestNode.h: Added.
        * bindings/scripts/test/ObjC/DOMTestNode.mm: Added.
        * bindings/scripts/test/ObjC/DOMTestNodeInternal.h: Added.
        * bindings/scripts/test/TestNode.idl: Added.
        * bindings/scripts/test/V8/V8TestNode.cpp: Added.
        * bindings/scripts/test/V8/V8TestNode.h: Added.

2012-04-10  David Barton  <dbarton@mathscribe.com>

        msqrt's implied mrow should do operator stretching
        https://bugs.webkit.org/show_bug.cgi?id=82353

        Reviewed by Julien Chaffraix.

        An <msqrt> with more than one child is supposed to surround them with an implied <mrow>.
        This patch does this, and thus includes vertical operator stretching. We also fix some
        problems with the old RenderMathMLSquareRoot.cpp: possibly shared RenderStyles were
        being modified, and layout() was using heights of children without checking whether they
        needed layout themselves first.
        
        To leave room for the radical sign, we use intrinsic padding. This is simpler and more
        efficient than using anonymous RenderStyles.

        Added tests to mo-stretch.html and style.xhtml. Regression tests are in roots.xhtml.

        * css/mathml.css:
        (msqrt):
        * rendering/RenderBoxModelObject.h:
        (RenderBoxModelObject):
        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::RenderMathMLBlock):
        (WebCore::RenderMathMLBlock::paddingTop):
        (WebCore::RenderMathMLBlock::paddingBottom):
        (WebCore::RenderMathMLBlock::paddingLeft):
        (WebCore::RenderMathMLBlock::paddingRight):
        (WebCore::RenderMathMLBlock::paddingBefore):
        (WebCore::RenderMathMLBlock::paddingAfter):
        (WebCore::RenderMathMLBlock::paddingStart):
        (WebCore::RenderMathMLBlock::paddingEnd):
        * rendering/mathml/RenderMathMLBlock.h:
        (RenderMathMLBlock):
        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::RenderMathMLRow):
        (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
        * rendering/mathml/RenderMathMLRow.h:
        (RenderMathMLRow):
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore):
        (WebCore::RenderMathMLSquareRoot::addChild):
        (WebCore::RenderMathMLSquareRoot::computePreferredLogicalWidths):
        (WebCore::RenderMathMLSquareRoot::computeLogicalHeight):
        (WebCore::RenderMathMLSquareRoot::layout):
        (WebCore::RenderMathMLSquareRoot::paint):
        * rendering/mathml/RenderMathMLSquareRoot.h:
        (RenderMathMLSquareRoot):

2012-04-10  Luke Macpherson  <macpherson@chromium.org>

        Don't allow fallthrough for CSSPropertyBaselineShift in CSSComputedStyleDeclaration::getSVGPropertyCSSValue().
        https://bugs.webkit.org/show_bug.cgi?id=83536

        Reviewed by Daniel Bates.

        Add a return statement to the case CSSPropertyBaselineShift so that we don't fall through to the next case statement.

        No new tests / code cleanup from coverity static analysis.

        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):

2012-04-10  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Build fix TextureMapper compilation and solve warning.

        Reviewed by Martin Robinson.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::updateContents):
        * platform/graphics/texmap/TextureMapperShaderManager.h:
        (WebCore::TextureMapperShaderManager::getShaderProgram):

2012-04-10  Noel Gordon  <noel.gordon@gmail.com>

        [GTK] Separate image encoding from dataURL construction
        https://bugs.webkit.org/show_bug.cgi?id=83152

        Reviewed by Martin Robinson.

        Remove the implicit assumption that a dataURL is the only desired output format
        of the image encoding phase.

        No new tests, refactoring only, covered by existing canvas tests.

        * platform/graphics/gtk/ImageBufferGtk.cpp:
        (WebCore::encodeImage): Output the encoded image to the provided GOwnPtr<gchar>&
        buffer. Update GTK document reference to a valid URL. Round the quality argument
        to an int like the toDataURL() implementations of other ports. Ditch the success
        variable; instead test the GError* error return to indicate success.
        (WebCore):
        (WebCore::ImageBuffer::toDataURL): Format the dataURL encoding of the mimeType
        encoded image data buffer herein.

2012-04-09  James Robinson  <jamesr@chromium.org>

        [chromium] Defer texture id allocation for copies until the actual copy executes
        https://bugs.webkit.org/show_bug.cgi?id=83514

        Reviewed by Adrienne Walker.

        This allows for queuing a texture copy operation into a ManagedTexture whose texture ID has not yet been
        allocated. The ManagedTexture* serves as a promise that an ID will be available when the copy is executed.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doCommit):
        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
        (WebCore::CCTextureUpdater::CCTextureUpdater):
        (WebCore::CCTextureUpdater::appendManagedCopy):
        (WebCore):
        (WebCore::CCTextureUpdater::hasMoreUpdates):
        (WebCore::CCTextureUpdater::update):
        (WebCore::CCTextureUpdater::clear):
        * platform/graphics/chromium/cc/CCTextureUpdater.h:
        (CCTextureUpdater):
        (ManagedCopyEntry):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):

2012-04-10  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=83595
        <rdar://problem/10443278> Overlapping text in table cell across column break

        If a cell's height changes such that it is taller than the overall row height because
        of pagination, then grow the entire row height to enclose the cell instead of shrinking
        the cell.

        Reviewed by Dan Bernstein.

        Added fast/multicol/cell-shrinkback.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):

2012-04-10  Luke Macpherson  <macpherson@chromium.org>

        Remove unnecessary null check in void SimplifyMarkupCommand::doApply().
        https://bugs.webkit.org/show_bug.cgi?id=83535

        Reviewed by Kentaro Hara.

        No new tests / code cleanup only.

        currentNode cannot be null within the loop body.
        It is dereferenced before and after the removed line without checking.
        Additionally I have added an assertion to express this loop invariant.

        * editing/SimplifyMarkupCommand.cpp:
        (WebCore::SimplifyMarkupCommand::doApply):

2012-04-10  David Dorwin  <ddorwin@chromium.org>

        Add Encrypted Media Extensions methods to HTMLMediaElement
        https://bugs.webkit.org/show_bug.cgi?id=82971

        Reviewed by Adam Barth.

        The extensions are behind the ENABLE(ENCRYPTED_MEDIA) feature define.
        Implementation is based on v0.1 of the draft proposal at
        http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html.

        Tests: media/encrypted-media/encrypted-media-not-loaded.html
               media/encrypted-media/encrypted-media-syntax.html

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * bindings/generic/RuntimeEnabledFeatures.h:
        (RuntimeEnabledFeatures):
        (WebCore::RuntimeEnabledFeatures::webkitEncryptedMediaEnabled):
        (WebCore::RuntimeEnabledFeatures::setWebkitEncryptedMediaEnabled):
        * html/HTMLMediaElement.cpp:
        (WebCore):
        (WebCore::exceptionCodeForMediaKeyException):
        (WebCore::HTMLMediaElement::webkitGenerateKeyRequest):
        (WebCore::HTMLMediaElement::webkitAddKey):
        (WebCore::HTMLMediaElement::webkitCancelKeyRequest):
        (WebCore::HTMLMediaElement::setVolume):
        (WebCore::HTMLMediaElement::togglePlayState):
        (WebCore::HTMLMediaElement::beginScrubbing):
        (WebCore::HTMLMediaElement::addTextTrack):
        (WebCore::HTMLMediaElement::textTracks):
        (WebCore::HTMLMediaElement::showingTrackWithSameKind):
        (WebCore::HTMLMediaElement::didAddTrack):
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl:
        * platform/graphics/MediaPlayer.cpp:
        (NullMediaPlayerPrivate):
        (WebCore):
        (WebCore::MediaPlayer::generateKeyRequest):
        (WebCore::MediaPlayer::addKey):
        (WebCore::MediaPlayer::cancelKeyRequest):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (MediaPlayerPrivateInterface):
        (WebCore::MediaPlayerPrivateInterface::addKey):
        (WebCore::MediaPlayerPrivateInterface::generateKeyRequest):
        (WebCore::MediaPlayerPrivateInterface::cancelKeyRequest):

2012-04-10  Sadrul Habib Chowdhury  <sadrul@chromium.org>

        [chromium] Add Battery Status API support.

        Add Battery Status API support to chromium.
        https://bugs.webkit.org/show_bug.cgi?id=83284

        Reviewed by Adam Barth.

        This change is covered by tests in batterystatus/.

        * Modules/battery/BatteryController.cpp:
        (WebCore::BatteryController::updateBatteryStatus):
        (WebCore):
        * Modules/battery/BatteryController.h:
        (BatteryController):
        * Modules/battery/BatteryManager.cpp:
        (WebCore::BatteryManager::charging):
        (WebCore::BatteryManager::chargingTime):
        (WebCore::BatteryManager::dischargingTime):
        (WebCore::BatteryManager::level):
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2012-04-09  Zhenyao Mo  <zmo@google.com>

        getShaderFormatPrecision should return sensible values
        https://bugs.webkit.org/show_bug.cgi?id=83520

        Reviewed by Kenneth Russell.

        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Fix getShaderPrecisionFormat values.
        (WebCore::GraphicsContext3D::getShaderPrecisionFormat):
        * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
        (WebCore::GraphicsContext3D::getShaderPrecisionFormat):

2012-04-10  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Add Galaxy Nexus to the list of emulated user agents
        https://bugs.webkit.org/show_bug.cgi?id=83589

        The new record contains the device display metrics and the User Agent string.

        Reviewed by Pavel Feldman.

        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):

2012-04-10  Emil A Eklund  <eae@chromium.org>

        Add missing methods and operators to FractionalLayoutUnit
        https://bugs.webkit.org/show_bug.cgi?id=82403

        Reviewed by Eric Seidel.

        Add missing methods and operators and from branch version of
        FractionalLayoutUnit. Also fix overflow assertion and add const keyword
        to a couple of methods.

        No new tests.

        * platform/FractionalLayoutUnit.h:
        (WebCore::FractionalLayoutUnit::abs):
        (FractionalLayoutUnit):
        (WebCore::FractionalLayoutUnit::ceil):
        (WebCore::FractionalLayoutUnit::round):
        (WebCore::FractionalLayoutUnit::floor):
        (WebCore::FractionalLayoutUnit::isInBounds):
        (WebCore::operator<):
        (WebCore):
        (WebCore::operator-):

2011-12-14  Jer Noble  <jer.noble@apple.com>

        WebAudio: propagate a silence hint through the AudioNode graph.
        https://bugs.webkit.org/show_bug.cgi?id=74553

        Reviewed by Chris Rogers.

        No new tests; optimization of existing code path, so covered by existing tests.

        Introduce the concept of a "silent" channel:
        * platform/audio/AudioChannel.h:
        (WebCore::AudioChannel::AudioChannel):
        (WebCore::AudioChannel::set): Clear silent bit.
        (WebCore::AudioChannel::zero): Set silent bit.
        (WebCore::AudioChannel::clearSilentFlag): Clear silent bit.
        (WebCore::AudioChannel::isSilent): Accessor.

        Optimize a few channel operations when the source or destination channels are silent.
        * platform/audio/AudioChannel.cpp:
        (WebCore::AudioChannel::scale): No-op on a silent channel.
        (WebCore::AudioChannel::copyFrom): zero() when source is silent.
        (WebCore::AudioChannel::copyFromRange): possibly zero() when source is silent.
        (WebCore::AudioChannel::sumFrom): No-op when source is silent.
        (WebCore::AudioChannel::maxAbsValue): 0 on a silent channel.

        Optimize a few bus operations when the source or destination channels are silent.
        * platform/audio/AudioBus.cpp:
        (WebCore::AudioBus::processWithGainFromMonoStereo): No-op if source is silent and either
            the destination bus is silent, or the output is not summed to the destination.
        (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom): zero() if the source is silent
            and the lengths of the gain values, source, and destination match.
        (WebCore::AudioBus::createBySampleRateConverting): Return an empty bus if the source is silent.
        (WebCore::AudioBus::createByMixingToMono): Ditto; clear the destination's silent bit otherwise.
        (WebCore::AudioBus::isSilent): Return whether all channels are silent.
        (WebCore::AudioBus::clearSilentFlag): Clear silent bit of constituent channels.
        * platform/audio/AudioBus.h:

        Make sure that classes which generate audio clear their busses' silent bit.
        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::process): Ditto.
        (WebCore::AudioBufferSourceNode::renderFromBuffer): Ditto.
        (WebCore::AudioBufferSourceNode::propagatesSilence): Propagate silence only when the source node
            has nothing left to render.
        * webaudio/AudioBufferSourceNode.h:
        (WebCore::AudioBufferSourceNode::playbackState): Made const correct.
        (WebCore::AudioBufferSourceNode::isPlaying): Added simple accessor.
        (WebCore::AudioBufferSourceNode::hasFinished): Ditto.
        * webaudio/AudioDestinationNode.h:
        (WebCore::AudioDestinationNode::currentSampleFrame): Made const correct.
        (WebCore::AudioDestinationNode::currentTime): Ditto.

        Audio nodes should not process audio data when the input is silent and the nodes will propagate silences.
        * webaudio/AudioNode.cpp:
        (WebCore::AudioNode::processIfNecessary): 
        (WebCore::AudioNode::inputsAreSilent): Convenience function which walk over the node's inputs.
        (WebCore::AudioNode::silenceOutputs): Ditto.
        (WebCore::AudioNode::unsilenceOutputs): Ditto.
        * webaudio/AudioNode.h:
        (WebCore::AudioNode::propagatesSilence):

        These Nodes can generate audio when given silent input, so return false from propagatesSilence.
        * Modules/webaudio/Oscillator.h:
        (WebCore::Oscillator::propagatesSilence): Added.

2012-04-10  Yi Shen  <yi.4.shen@nokia.com>

        Pressing enter on blank line after bullet deletes entire bulleted line.
        https://bugs.webkit.org/show_bug.cgi?id=82690

        Reviewed by Enrica Casucci.

        In CompositeEditCommand::breakOutOfEmptyListItem(), it checks the empty list item's renderer's siblings
        to decide which empty part of the list should be removed. However, if the empty list item's renderer is
        wrapped by an anonymous block, e.g. <ul><li>hello</li><br>^</ul>, the check may fail. So, we use isListItem
        on the empty list node's siblings instead.

        No new tests : added new test case in the existing test (break-out-of-empty-list-item.html)

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):

2012-04-10  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Inspect Element - Edit as HTML - scrolling bug
        https://bugs.webkit.org/show_bug.cgi?id=83563

        mousedown in the scrollbar focuses the Elements tree outline container DIV element,
        so the corresponding mousedown event should be consumed in the AT_TARGET phase.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.consume):
        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):

2012-04-10  Dinu Jacob  <dinu.jacob@nokia.com>

        Remove the unused function WebCore::toIconIndex
        https://bugs.webkit.org/show_bug.cgi?id=83037

        Reviewed by Kentaro Hara.

        * WebCore.order:
        * dom/IconURL.cpp:
        * dom/IconURL.h:
        (WebCore):

2012-04-10  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make error a string on the front-end side, not an object.
        https://bugs.webkit.org/show_bug.cgi?id=83570

        Reviewed by Yury Semikhatsky.

        We already expect it to be a string in all the code, we never use the error code in it.

        * inspector/front-end/InspectorBackend.js:
        (InspectorBackendClass.prototype.dispatch):

2012-04-10  Rob Buis  <rbuis@rim.com>

        getElementsByTagName unable to find SVG camelCase elements imported into HTML
        https://bugs.webkit.org/show_bug.cgi?id=46800

        Reviewed by Nikolas Zimmermann.

        Implement getElementsByTagName according to the algorithm in
        http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-getelementsbytagname.
        If the owner document of the element is html, the new class HTMLTagNodeList deals with
        finding the match(es) based on this algorithm. If the owner document is non HTML, the existing
        TagNodeList is used.

        Implement getElementsByTagNameNS according to the algorithm in
        http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-getelementsbytagnamens.
        The existing TagNodeList implements this algorithm.

        Cached results may have less hits after this change. Tag names that are equal when case
        insensitive but different when case sensitive can't share the result due to above algorithms, i.e.
        they would match differently in the non html part of the document.

        Tests: fast/dom/getElementsByTagName-localName-matching.html
               fast/dom/getElementsByTagName-localName-matching2.xhtml
               svg/dom/getElementsByTagName-localName-matching.html

        * dom/Node.cpp:
        (WebCore::Node::getElementsByTagName): create TagNodeList depending on owner document type.
        (WebCore::Node::getElementsByTagNameNS): do not lowercase localName for html.
        * dom/TagNodeList.cpp:
        (WebCore::HTMLTagNodeList::HTMLTagNodeList): add specialized TagNodeList for html matching rules.
        (WebCore):
        (WebCore::HTMLTagNodeList::nodeMatches):
        * dom/TagNodeList.h:
        (TagNodeList):
        (HTMLTagNodeList):
        (WebCore::HTMLTagNodeList::create):

2012-04-09  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Device Metrics] Introduce the "Fit window" option
        https://bugs.webkit.org/show_bug.cgi?id=83280

        This change adds the "Fit window" option to the Settings pane of Web Inspector, which lets users
        resize the FrameView to fit the WebViewImpl size. When the user resizes the browser window
        in the device metrics override mode with the option enabled, the FrameView follows
        to match WebViewImpl by at least one dimension.

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/Inspector.json:
        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::overrideDeviceMetrics):
        (WebCore::InspectorClient::autoZoomPageToFitWidth):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::shouldApplyScreenWidthOverrideImpl):
        (WebCore):
        (WebCore::InspectorInstrumentation::shouldApplyScreenHeightOverrideImpl):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::shouldApplyScreenWidthOverride):
        (WebCore):
        (WebCore::InspectorInstrumentation::shouldApplyScreenHeightOverride):
        * inspector/InspectorPageAgent.cpp:
        (PageAgentState):
        (WebCore::InspectorPageAgent::restore):
        (WebCore::InspectorPageAgent::disable):
        (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
        (WebCore::InspectorPageAgent::updateViewMetrics):
        * inspector/InspectorPageAgent.h:
        * inspector/front-end/Settings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement):
        * inspector/front-end/UserAgentSupport.js:
        * inspector/front-end/helpScreen.css:
        (.help-content input[type=checkbox]):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::innerHeight):
        (WebCore::DOMWindow::innerWidth):

2012-04-10  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: use maxJSObjectId that is provided by back-end.
        https://bugs.webkit.org/show_bug.cgi?id=82451

        Summary view can filter objects in snapshot. It uses maxJSObjectId for this.
        There was no such field in the profile header at the
        moment but I've landed a patch in downstream.

        Reviewed by Yury Semikhatsky.

        * bindings/js/ScriptHeapSnapshot.h:
        (WebCore):
        (WebCore::ScriptHeapSnapshot::maxSnapshotJSObjectId):
        * bindings/v8/ScriptHeapSnapshot.cpp:
        (WebCore::ScriptHeapSnapshot::maxSnapshotJSObjectId):
        (WebCore):
        * bindings/v8/ScriptHeapSnapshot.h:
        (WebCore):
        (ScriptHeapSnapshot):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotConstructorsDataGrid):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
        (WebInspector.DetailedHeapshotView.prototype._changeFilter):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.updateStaticData):
        * inspector/front-end/HeapSnapshotProxy.js:

2012-04-09  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: annotate front-end for newer closure compiler.
        https://bugs.webkit.org/show_bug.cgi?id=83478

        Reviewed by Yury Semikhatsky.

        This change mostly adds annotations to bound functions and !!bool expressions. 
        As a result, it makes closure compiler v20120305 happy.

        * inspector/Inspector.json:
        * inspector/front-end/BreakpointManager.js:
        * inspector/front-end/CSSStyleModel.js:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow.evalCallback):
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype.removeAttribute):
        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
        * inspector/front-end/DebuggerModel.js:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
        * inspector/front-end/ElementsPanel.js:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
        * inspector/front-end/ObjectPropertiesSection.js:
        * inspector/front-end/RemoteObject.js:
        * inspector/front-end/Resource.js:
        (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
        * inspector/front-end/ResourceUtils.js:
        * inspector/front-end/ScopeChainSidebarPane.js:
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.editSource):
        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter.prototype.get _worker):
        * inspector/front-end/WorkerManager.js:

2012-04-09  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: searching document with no documentElement results in 0x0 access.
        https://bugs.webkit.org/show_bug.cgi?id=83483

        Reviewed by Yury Semikhatsky.

        Added the null check.

        Test: inspector/elements/dom-search-crash.html

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::performSearch):

2012-04-10  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Add missing source files to build system

        * CMakeLists.txt:

2012-04-10  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Fixed AppleWin and Chromium-win build failure.

        Renamed 'exceptionNameDescription' to per-file variable name to avoid
        name conflict.

        * Modules/indexeddb/IDBDatabaseException.cpp:
        (WebCore::IDBDatabaseException::initializeDescription):
        * Modules/webdatabase/SQLException.cpp:
        (WebCore::SQLException::initializeDescription):
        * dom/EventException.cpp:
        (WebCore::EventException::initializeDescription):
        * dom/RangeException.cpp:
        (WebCore::RangeException::initializeDescription):
        * fileapi/FileException.cpp:
        (WebCore::FileException::initializeDescription):
        * fileapi/OperationNotAllowedException.cpp:
        (WebCore::OperationNotAllowedException::initializeDescription):
        * svg/SVGException.cpp:
        (WebCore::SVGException::initializeDescription):
        * xml/XPathException.cpp:
        (WebCore::XPathException::initializeDescription):

2012-04-10  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Fixed AppleWin and Chromium-win build failure.

        Renamed 'exceptions' to 'exceptionNameDescription' to avoid
        variable name conflict.

        * Modules/indexeddb/IDBDatabaseException.cpp:
        (WebCore::IDBDatabaseException::initializeDescription):
        * Modules/webdatabase/SQLException.cpp:
        (WebCore::SQLException::initializeDescription):
        * dom/EventException.cpp:
        (WebCore::EventException::initializeDescription):
        * dom/RangeException.cpp:
        (WebCore::RangeException::initializeDescription):
        * fileapi/FileException.cpp:
        (WebCore::FileException::initializeDescription):
        * fileapi/OperationNotAllowedException.cpp:
        (WebCore::OperationNotAllowedException::initializeDescription):
        * svg/SVGException.cpp:
        (WebCore::SVGException::initializeDescription):
        * xml/XPathException.cpp:
        (WebCore::XPathException::initializeDescription):

2012-04-09  Lu Guanqun  <guanqun.lu@intel.com>

        combine two arrays in XPathException into one
        https://bugs.webkit.org/show_bug.cgi?id=83442

        Reviewed by Kentaro Hara.

        No new tests required.

        * xml/XPathException.cpp:
        (XPathExceptionNameDescription):
        (WebCore):
        (WebCore::XPathException::initializeDescription):

2012-04-09  Lu Guanqun  <guanqun.lu@intel.com>

        combine exceptionNames and exceptionDescriptions in IDBDatabaseException.cpp into one array
        https://bugs.webkit.org/show_bug.cgi?id=83433

        Reviewed by Kentaro Hara.

        No new tests required.

        * Modules/indexeddb/IDBDatabaseException.cpp:
        (IDBDatabaseExceptionNameDescription):
        (WebCore):
        (WebCore::IDBDatabaseException::initializeDescription):

2012-04-09  Lu Guanqun  <guanqun.lu@intel.com>

        combine two arrays in SQLException.cpp into one
        https://bugs.webkit.org/show_bug.cgi?id=83452

        Reviewed by Kentaro Hara.

        No new tests required.

        * Modules/webdatabase/SQLException.cpp:
        (SQLExceptionNameDescription):
        (WebCore):
        (WebCore::SQLException::initializeDescription):

2012-04-09  Lu Guanqun  <guanqun.lu@intel.com>

        combine two arrays in EventException.cpp into one
        https://bugs.webkit.org/show_bug.cgi?id=83451

        Reviewed by Kentaro Hara.

        No new tests required.

        * dom/EventException.cpp:
        (EventExceptionNameDescription):
        (WebCore):
        (WebCore::EventException::initializeDescription):

2012-04-09  Lu Guanqun  <guanqun.lu@intel.com>

        combine two arrays in RangeException.cpp into one
        https://bugs.webkit.org/show_bug.cgi?id=83450

        Reviewed by Kentaro Hara.

        No new tests required.

        * dom/RangeException.cpp:
        (RangeExceptionNameDescription):
        (WebCore):
        (WebCore::RangeException::initializeDescription):

2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Improve TextureMapperGL readability
        https://bugs.webkit.org/show_bug.cgi?id=83477

        Change the debugging macros for TextureMapperGL, so that the GL_CMD call can include a semicolon.
        Modify some if blocks to have an early return.

        Reviewed by Martin Robinson.

        No new functionality.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
        (WebCore::TextureMapperGLData::SharedGLData::applyCurrentClip):
        (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
        (WebCore::TextureMapperGLData::initializeStencil):
        (WebCore::TextureMapperGL::beginPainting):
        (WebCore::TextureMapperGL::endPainting):
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::BitmapTextureGL::didReset):
        (WebCore::BitmapTextureGL::updateContents):
        (WebCore::BitmapTextureGL::initializeStencil):
        (WebCore::BitmapTextureGL::bind):
        (WebCore::BitmapTextureGL::~BitmapTextureGL):
        (WebCore::TextureMapperGL::bindSurface):
        (WebCore::TextureMapperGL::beginClip):

2012-04-09  Lu Guanqun  <guanqun.lu@intel.com>

        combine two arrays in FileException.cpp into one
        https://bugs.webkit.org/show_bug.cgi?id=83449

        Reviewed by Kentaro Hara.

        No new tests required.

        * fileapi/FileException.cpp:
        (FileExceptionNameDescription):
        (WebCore):
        (WebCore::FileException::initializeDescription):

2012-04-09  Lu Guanqun  <guanqun.lu@intel.com>

        combine two arrays in OperationNotAllowedException.cpp into one
        https://bugs.webkit.org/show_bug.cgi?id=83445

        Reviewed by Kentaro Hara.

        No new tests required.

        * fileapi/OperationNotAllowedException.cpp:
        (OperationNotAllowedExceptionNameDescription):
        (WebCore):
        (WebCore::OperationNotAllowedException::initializeDescription):

2012-04-09  Shinya Kawanaka  <shinyak@chromium.org>

        Assert triggers VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries.
        https://bugs.webkit.org/show_bug.cgi?id=83118

        Reviewed by Hajime Morita.

        VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries did not work correctly.
        There was a case that selection crosses shadow boundaries.

        This patch introduces a class TreeScopeAdjuster, which enables us to adjust Node or Position
        into a specified tree scope.

        Test: fast/dom/shadow/selections-in-shadow.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.ext.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/TreeScope.h:
        (TreeScope):
        * dom/TreeScopeAdjuster.cpp: Added.
        (WebCore):
        (WebCore::TreeScopeAdjuster::TreeScopeAdjuster):
        (WebCore::TreeScopeAdjuster::ancestorInThisScope):
          Returns the node itself if it's in the same tree scope.
          Otherwise, this method checks the shadow ancestor of the node recursively.
          If no corresponding node is found, 0 will be returned.
        (WebCore::TreeScopeAdjuster::adjustPositionBefore):
        (WebCore::TreeScopeAdjuster::adjustPositionAfter):
        * dom/TreeScopeAdjuster.h: Added.
        (WebCore):
        (TreeScopeAdjuster):
        (WebCore::TreeScopeAdjuster::treeScope):
        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):

2012-04-09  Lu Guanqun  <guanqun.lu@intel.com>

        combine two arrays in SVGException.cpp into one
        https://bugs.webkit.org/show_bug.cgi?id=83444

        Reviewed by Kentaro Hara.

        No new tests required.

        * svg/SVGException.cpp:
        (SVGExceptionNameDescription):
        (WebCore):
        (WebCore::SVGException::initializeDescription):

2012-04-09  Lu Guanqun  <guanqun.lu@intel.com>

        combine two arrays in XMLHttpRequestException.cpp into one
        https://bugs.webkit.org/show_bug.cgi?id=83443

        Reviewed by Kentaro Hara.

        No new tests requied.

        * xml/XMLHttpRequestException.cpp:
        (XMLHttpRequestExceptionNameDescription):
        (WebCore):
        (WebCore::XMLHttpRequestException::initializeDescription):

2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [WK2] Enable using a single ShareableBitmap for multiple updates
        https://bugs.webkit.org/show_bug.cgi?id=83424

        Modify BitmapTexture::updateContents to include a source offset.
        This allows us to update a texture from a sub-image.

        Reviewed by Kenneth Rohde Christiansen.

        Tested by existing API tests.

        * platform/graphics/texmap/TextureMapper.h:
        (BitmapTexture):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::didReset):
        (WebCore::driverSupportsBGRASwizzling):
        (WebCore::BitmapTextureGL::updateContents):
        * platform/graphics/texmap/TextureMapperGL.h:
        (WebCore::BitmapTextureGL::textureTarget):
        (BitmapTextureGL):
        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
        (WebCore::BitmapTextureImageBuffer::updateContents):
        * platform/graphics/texmap/TextureMapperImageBuffer.h:
        (BitmapTextureImageBuffer):

2012-04-09  Dana Jansens  <danakj@chromium.org>

        [chromium] Viewport is not filled when out of texture memory on mac
        https://bugs.webkit.org/show_bug.cgi?id=83351

        Reviewed by Adrienne Walker.

        Currently we add gutter quads on the NonCompositedContentHost layer,
        which lies above another visible layer - the rubberband layer on mac.
        For this reason, on mac, gutter quads were disabled, as well as forcing
        the NCCH layer to draw, in order to make the rubberband layer appear.

        We move the logic for adding gutter quads into CCRenderPass, and add
        gutter quads for all pixels that are visible through the viewport.
        This allows us to stop special-casing the NCCH layer, and allows us
        to skip drawing the layer equally with other layers. We remove the
        backgroundCoversViewport() flag entirely.

        In order to do this, we fix a bug in the occlusion tracker, that
        allowed opaque() layers with skipsDraw to occlude, by making
        the visibleContentOpaqueRegion() method on the layer classes
        also return the opaque region for non-tiled layers, always use
        its value in the occlusion tracker.

        Unit test: CCLayerTreeHostImplTest.viewportCovered

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::pushPropertiesTo):
        (WebCore::LayerChromium::visibleContentOpaqueRegion):
        (WebCore):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        (WebCore::TiledLayerChromium::visibleContentOpaqueRegion):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        (WebCore::CCLayerImpl::visibleContentOpaqueRegion):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::appendQuads):
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCLayerTreeHost::setBackgroundColor):
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore::CCLayerTreeHostImpl::backgroundColor):
        (WebCore::CCLayerTreeHostImpl::setBackgroundColor):
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::computeOcclusionBehindLayer):
        (WebCore::::markOccludedBehindLayer):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
        (CCOcclusionTrackerBase):
        (WebCore::CCOcclusionTrackerBase::computeVisibleRegionInScreen):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsToFillScreen):
        (WebCore):
        * platform/graphics/chromium/cc/CCRenderPass.h:
        (WebCore):
        (CCRenderPass):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):
        (WebCore::CCTiledLayerImpl::visibleContentOpaqueRegion):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (WebCore::CCTiledLayerImpl::skipsDraw):
        (CCTiledLayerImpl):

2012-04-09  Luke Macpherson  <macpherson@chromium.org>

        Don't let CSSPropertyWebkitPerspective dereference primitiveValue without null check.
        https://bugs.webkit.org/show_bug.cgi?id=83538

        Reviewed by Daniel Bates.

        No new tests / code cleanup only.

        Coverity pointed out that we potentially dereference primitiveValue here without checking for null.
        I've added an early out for that case to make sure it can't ever happen. I don't know if it's actually
        possible to exercise that code path or not - probably the parser prevents it from being hit in practice.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-04-09  Joseph Pecoraro  <pecoraro@apple.com>

        <http://webkit.org/b/83539> Web Inspector: ASSERT attempting to unbind null contentDocument

        Avoid calling unbind with a null object. The HTMLFrameOwnerElement's
        contentDocument can be null.

        Reviewed by Timothy Hatcher.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::unbind):

2012-04-09  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Parsed Cookie's m_isMaxAgeSet is not needed.
        https://bugs.webkit.org/show_bug.cgi?id=83457

        Reviewed by Rob Buis.

        When m_expiry is not -1, it must be set by setExpiry or setMaxAge. setExpiry will return when m_expiry 
        has been set. This ensures Max-Age's precedence. 
        And m_isMaxAgeSet is always false when the cookie is from database. This is not right.

        So we use m_expiry instead of m_isMaxAgeSet.

        No new tests. Refactor.

        * platform/blackberry/ParsedCookie.cpp:
        (WebCore::ParsedCookie::ParsedCookie):
        (WebCore::ParsedCookie::setExpiry):
        (WebCore::ParsedCookie::setMaxAge):
        * platform/blackberry/ParsedCookie.h:
        (ParsedCookie):

2012-04-09  Min Qin  <qinmin@google.com>

        Fixed ordering of deleting CCInputHandler and CCLayerTreeHostImpl in layerTreeHostClosedOnImplThread
        https://bugs.webkit.org/show_bug.cgi?id=83488

        Reviewed by James Robinson.

        CCInputHandler(WebCompositorInputHandlerImpl) has a pointer to CCLayerTreeHostImpl.
        So we should delete CCInputHandler earlier as otherwise that pointer could get misused after LayerTreeHostImpl is deleted.
        Just fixing a potential NPE error, no behavior change.

        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):

2012-04-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113656.
        http://trac.webkit.org/changeset/113656
        https://bugs.webkit.org/show_bug.cgi?id=83542

        test is broken on chromium-win (Requested by simonjam on
        #webkit).

        * Modules/intents/Intent.cpp:
        (WebCore::Intent::Intent):
        * Modules/intents/Intent.h:
        (Intent):
        * Modules/intents/Intent.idl:
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateParametersCheck):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:

2012-04-09  Abhishek Arya  <inferno@chromium.org>

        ASSERTION FAILED: !attached() in Node::attach.
        https://bugs.webkit.org/show_bug.cgi?id=80726

        Reviewed by Adam Barth.

        While parsing XML document, prevent attaching the leaf text node
        back to document, if its parent is not attached.

        Test: fast/dom/text-node-attach-crash.xhtml

        * xml/parser/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::exitText):

2012-04-09  Dana Jansens  <danakj@chromium.org>

        [chromium] Replica layers are not drawn, so should not be painted
        https://bugs.webkit.org/show_bug.cgi?id=83504

        Reviewed by James Robinson.

        We attempt to paint replica layers when we are painting the mask layers
        in CCLayerTreeHost.cpp.

        This is useless code, replica layers have drawsContent() == false, and
        have an empty visibleLayerRect, so the paint functions end up early-
        outting. But it is a waste of time to try, and confusing to have
        this attempted in the code at all, since the replica layers are never
        drawn. They exist only for their transforms.

        Also the dimensions used for the replica mask are different from the
        surface mask, which is confusing and unnecessary as well. The mask is
        applied to the same surface contents as the surface mask would be, so
        only the surface's contentBounds need to be painted in the replica
        mask.

        Covered by existing tests.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:

2012-04-09  Shinya Kawanaka  <shinyak@chromium.org>

        ShadowRoot should have selection attribute.
        https://bugs.webkit.org/show_bug.cgi?id=82429

        Reviewed by Hajime Morita.

        This patch makes ShadowRoot have selection attribute. Currently the selection returns
        the same object as what window.getSelection() returns.

        We will extend DOMSelection to have TreeScope. It will adjust Node into TreeScope.
        This will be tracked in Bug 82698.

        Test: fast/dom/shadow/selection-in-shadow.html

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::selection):
        (WebCore):
        * dom/ShadowRoot.h:
        (WebCore):
        (ShadowRoot):
        * dom/ShadowRoot.idl:

2012-04-09  Emil A Eklund  <eae@chromium.org>

        Replace numeric_limits<LayoutUnit>::min/max with constants
        https://bugs.webkit.org/show_bug.cgi?id=83497

        Reviewed by Eric Seidel.

        Replace all uses of numeric_limits<LayoutUnit>::min/max with
        MIN_LAYOUT_UNIT and MAX_LAYOUT_UNIT respectively in preparation for the
        switch to subpixel layout.

        Also rename zeroLayoutUnit to ZERO_LAYOUT_UNIT to be consistent and
        change it to be a define as to avoid global initializer warnings once we
        change the definition of LayoutUnit from int to FractionalLayoutUnit.

        No new tests, no change in functionality.

        * dom/ElementRareData.h:
        (WebCore::defaultMinimumSizeForResizing):
        * editing/FrameSelection.cpp:
        (WebCore::NoXPosForVerticalArrowNavigation):
        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::clampEdgeValue):
        (WebCore::TransformationMatrix::clampedBoundsOfProjectedQuad):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
        (WebCore::InlineFlowBox::paintFillLayer):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
        * rendering/LayoutTypes.h:
        (WebCore):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::computeInitialRegionRangeForBlock):
        (WebCore::RenderBlock::adjustFloatingBlock):
        (WebCore::RenderBlock::paintColumnRules):
        (WebCore::RenderBlock::removeFloatingObject):
        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
        (WebCore::RenderBlock::markLinesDirtyInBlockRange):
        (WebCore::RenderBlock::clearFloats):
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::getClearDelta):
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        (WebCore::getHeightForLineCount):
        (WebCore::RenderBlock::borderFitAdjust):
        (WebCore::RenderBlock::adjustForUnsplittableChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::paginationStrut):
        (WebCore::RenderBlock::pageLogicalOffset):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineLayoutState::updateRepaintRangeFromBox):
        (WebCore::RenderBlock::checkFloatsInCleanLine):
        (WebCore::RenderBlock::addOverflowFromInlineChildren):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
        (WebCore::RenderBox::positionForPoint):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::minYVisualOverflow):
        (WebCore::RenderBox::minXVisualOverflow):
        (RenderBox):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::offsetLeft):
        (WebCore::RenderBoxModelObject::offsetTop):
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
        (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        (WebCore::RenderFieldset::paintMask):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
        (WebCore::RenderFlexibleBox::lineBreakLength):
        (WebCore::RenderFlexibleBox::alignChildren):
        (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::layout):
        (WebCore::RenderFlowThread::computeLogicalWidth):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::updateMargins):
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::computePosition):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
        (WebCore::RenderReplaced::computePreferredLogicalWidths):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
        (WebCore::RenderTable::layout):
        * rendering/RenderTable.h:
        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::linesVisualOverflowBoundingBox):

2012-04-09  Levi Weintraub  <leviw@chromium.org>

        Clean up LayoutUnit usage in DOMNodeHighlighter
        https://bugs.webkit.org/show_bug.cgi?id=83507

        Reviewed by Eric Seidel.

        Ensuring DOMNodeHighlighter uses pixel snapping that matches that done in the RenderTree. Changes include:
        - Reverting drawSubstring to use an IntPoint with pixel snapped values instead of a LayoutPoint.
        - Reverting borderBox to an IntRect since it's in absolute coordinates. See https://trac.webkit.org/wiki/LayoutUnit.
        - Frames are still laid out with integers. Cleaning up mainFrameOffset to reflect that.

        No new tests. No change in behavior.

        * inspector/DOMNodeHighlighter.cpp:

2012-04-09  Jeff Rogers  <jrogers@rim.com>

        Add missing IndexedDB files to CMake build
        https://bugs.webkit.org/show_bug.cgi?id=83495

        Reviewed by Rob Buis.

        * CMakeLists.txt:
        * UseJSC.cmake:

2012-04-09  Alexey Proskuryakov  <ap@apple.com>

        [Mac] WebProcess dies due to m_process->checkURLReceivedFromWebProcess(url) dropping a file URL
        https://bugs.webkit.org/show_bug.cgi?id=83506
        <rdar://problem/11171264>

        Reviewed by Darin Adler.

        Cannot test, because dragging within a single window never initiates a navigation, and dragging
        across windows is too much for DRT and WTR.

        * platform/mac/DragDataMac.mm: (WebCore::DragData::asURL): Add the same checks that we had
        for NSURLPboardType to NSStringPboardType case, preventing dropping of non-HTTP URLs.
        String types cannot be sanitized when they are modified by JavaScript, and are thus less trusted.
        String checks should be at least as restrictive as URL ones.

2012-04-09  Greg Billock  <gbillock@google.com>

        Add transfer map argument to Intent constructor
        http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
        This adds the ability to pass transferables (i.e. MessagePorts)
        through web intents, and puts the calling convention in line
        with the Web Messaging spec:
        http://dev.w3.org/html5/postmsg/

        Implementation in chromium API follows the port-passing method
        of PlatformMessagePortChannel.

        https://bugs.webkit.org/show_bug.cgi?id=80200

        Reviewed by Adam Barth.

        * Modules/intents/Intent.cpp:
        (WebCore::Intent::create):
        * Modules/intents/Intent.idl:
        * WebCore.gypi:
        * bindings/v8/custom/V8IntentCustom.cpp: Added.
        (WebCore):
        (WebCore::V8Intent::constructorCallback):

2012-04-09  Dana Jansens  <danakj@chromium.org>

        [chromium] Cull occluded surface quads
        https://bugs.webkit.org/show_bug.cgi?id=81227

        Reviewed by Adrienne Walker.

        Cull render surface and replica quads during draw based on occlusion.

        In order to compute occlusion for the surface or replica, it must not
        consider occlusion found in the surface's own subtree. To do this, we
        reorder the calls to the occlusion tracker, and add the surface and
        replica quads before we "leaveToTargetRenderSurface" which merges
        occlusion from the surface's subtree up into its parent.

        Unit test: CCOcclusionTrackerTestReplicaOccluded
                   CCOcclusionTrackerTestSurfaceWithReplicaUnoccluded
                   CCOcclusionTrackerTestSurfaceAndReplicaOccludedDifferently
                   CCOcclusionTrackerTestSurfaceChildOfSurface
                   CCOcclusionTrackerTestSurfaceChildOfClippingSurface

        And added some sanity checks to other CCOcclusionTracker tests that have
        render surfaces.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::::leaveToTargetRenderSurface):
        (WebCore::::unoccludedContributingSurfaceContentRect):
        (WebCore):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
        (CCOcclusionTrackerBase):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::CCQuadCuller):
        (WebCore::appendQuadInternal):
        (WebCore::CCQuadCuller::append):
        (WebCore):
        (WebCore::CCQuadCuller::appendSurface):
        (WebCore::CCQuadCuller::appendReplica):
        * platform/graphics/chromium/cc/CCQuadCuller.h:
        (CCQuadCuller):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
        * platform/graphics/chromium/cc/CCRenderPass.h:
        (CCRenderPass):

2012-04-09  Andreas Kling  <kling@webkit.org>

        Make CSSValuePool share values globally.
        <http://webkit.org/b/77700>

        Reviewed by Antti Koivisto.

        Remove the per-Document CSSValuePool and have everyone use a global pool
        accessed via "CSSValuePool& cssValuePool()".

        This reduces memory usage by sharing cached CSSValues between all documents,
        and relaxes heap churn since the common, persistenly cached values are held
        by CSSValuePool forever.

        No behavior change thanks to r113588 which introduced a mechanism that makes
        sure we never expose internal CSSValue objects to bindings, but read-only
        clones of those values.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForNinePieceImageSlice):
        (WebCore::valueForNinePieceImageQuad):
        (WebCore::valueForNinePieceImageRepeat):
        (WebCore::valueForNinePieceImage):
        (WebCore::zoomAdjustedPixelValue):
        (WebCore::zoomAdjustedNumberValue):
        (WebCore::zoomAdjustedPixelValueForLength):
        (WebCore::valueForReflection):
        (WebCore::getPositionOffsetValue):
        (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
        (WebCore::getBorderRadiusCornerValues):
        (WebCore::getBorderRadiusCornerValue):
        (WebCore::getBorderRadiusShorthandValue):
        (WebCore::computedTransform):
        (WebCore::CSSComputedStyleDeclaration::valueForCustomFilterNumberParameter):
        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
        (WebCore::valueForGridTrackBreadth):
        (WebCore::valueForGridTrackList):
        (WebCore::valueForGridPosition):
        (WebCore::getDelayValue):
        (WebCore::getDurationValue):
        (WebCore::createLineBoxContainValue):
        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
        (WebCore::valueForFamily):
        (WebCore::renderUnicodeBidiFlagsToCSSValue):
        (WebCore::renderTextDecorationFlagsToCSSValue):
        (WebCore::fillRepeatToCSSValue):
        (WebCore::fillSizeToCSSValue):
        (WebCore::contentToCSSValue):
        (WebCore::counterToCSSValue):
        (WebCore::fontFamilyFromStyle):
        (WebCore::lineHeightFromStyle):
        (WebCore::fontSizeFromStyle):
        (WebCore::fontStyleFromStyle):
        (WebCore::fontVariantFromStyle):
        (WebCore::fontWeightFromStyle):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSComputedStyleDeclaration.h:
        (WebCore):
        * css/CSSParser.cpp:
        (WebCore::parseColorValue):
        (WebCore::parseSimpleLengthValue):
        (WebCore::parseKeywordValue):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::setStyleSheet):
        (WebCore::CSSParser::createPrimitiveNumericValue):
        (WebCore::CSSParser::createPrimitiveStringValue):
        (WebCore::CSSParser::parseValidPrimitive):
        (WebCore::parseBackgroundClip):
        (WebCore::CSSParser::parseFillShorthand):
        (WebCore::CSSParser::parseAnimationShorthand):
        (WebCore::CSSParser::parseTransitionShorthand):
        (WebCore::CSSParser::parseShorthand):
        (WebCore::CSSParser::parsePage):
        (WebCore::CSSParser::parseSizeParameter):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseAttr):
        (WebCore::CSSParser::parseBackgroundColor):
        (WebCore::CSSParser::parseFillImage):
        (WebCore::CSSParser::parseFillPositionX):
        (WebCore::CSSParser::parseFillPositionY):
        (WebCore::CSSParser::parseFillPositionComponent):
        (WebCore::CSSParser::parseFillPosition):
        (WebCore::CSSParser::parseFillRepeat):
        (WebCore::CSSParser::parseFillSize):
        (WebCore::CSSParser::parseFillProperty):
        (WebCore::CSSParser::parseAnimationDirection):
        (WebCore::CSSParser::parseAnimationFillMode):
        (WebCore::CSSParser::parseAnimationIterationCount):
        (WebCore::CSSParser::parseAnimationName):
        (WebCore::CSSParser::parseAnimationPlayState):
        (WebCore::CSSParser::parseAnimationProperty):
        (WebCore::CSSParser::parseAnimationTimingFunction):
        (WebCore::CSSParser::parseGridTrackList):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseCounterContent):
        (WebCore::CSSParser::parseClipShape):
        (WebCore::CSSParser::parseExclusionShape):
        (WebCore::CSSParser::parseFont):
        (WebCore::FontFamilyValueBuilder::FontFamilyValueBuilder):
        (WebCore::FontFamilyValueBuilder::commit):
        (FontFamilyValueBuilder):
        (WebCore::CSSParser::parseFontFamily):
        (WebCore::CSSParser::parseFontVariant):
        (WebCore::CSSParser::parseFontWeight):
        (WebCore::ShadowParseContext::commitStyle):
        (WebCore::CSSParser::parseShadow):
        (WebCore::CSSParser::parseReflect):
        (WebCore::CSSParser::parseFlex):
        (WebCore::BorderImageParseContext::commitBorderImageProperty):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore::CSSParser::parseBorderImageRepeat):
        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
        (WebCore::BorderImageQuadParseContext::commitNumber):
        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
        (WebCore::CSSParser::parseBorderRadius):
        (WebCore::CSSParser::parseAspectRatio):
        (WebCore::CSSParser::parseCounter):
        (WebCore::parseDeprecatedGradientPoint):
        (WebCore::parseDeprecatedGradientColorStop):
        (WebCore::CSSParser::parseDeprecatedGradient):
        (WebCore::valueFromSideKeyword):
        (WebCore::parseGradientColorOrKeyword):
        (WebCore::CSSParser::parseLinearGradient):
        (WebCore::CSSParser::parseRadialGradient):
        (WebCore::CSSParser::parseCrossfade):
        (WebCore::CSSParser::parseImageSet):
        (WebCore::CSSParser::parseCustomFilter):
        (WebCore::CSSParser::parseBuiltinFilterArguments):
        (WebCore::CSSParser::parseFilter):
        (WebCore::CSSParser::parseFlowThread):
        (WebCore::CSSParser::parseRegionThread):
        (WebCore::CSSParser::parseTextEmphasisStyle):
        (WebCore::CSSParser::parseFontFeatureSettings):
        (WebCore::CSSParser::parseFontVariantLigatures):
        * css/CSSParser.h:
        (WebCore):
        (CSSParser):
        * css/CSSValuePool.cpp:
        (WebCore::cssValuePool):
        (WebCore):
        * css/CSSValuePool.h:
        (CSSValuePool):
        (WebCore):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::setProperty):
        * css/StylePropertySet.h:
        (StylePropertySet):
        * dom/Document.cpp:
        * dom/Document.h:
        (WebCore):
        (Document):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::setInlineStyleProperty):
        (WebCore::StyledElement::addPropertyToAttributeStyle):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::addHTMLColorToStyle):
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::collectStyleForAttribute):
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::collectStyleForAttribute):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::createSharedCellStyle):

2012-04-09  Levi Weintraub  <leviw@chromium.org>

        Prepare html classes for sub-pixel LayoutUnits
        https://bugs.webkit.org/show_bug.cgi?id=83491

        Reviewed by Eric Seidel.

        This patch brings the entire HTML folder up to the current state of the subpixellayout branch. Adding
        an intValue flavor of Length that maps to the current value function was also necessary to get us
        there. See https://trac.webkit.org/wiki/LayoutUnit and the descriptions below for details.

        No new tests. No change in behavior.

        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::scrollAmount): Fixes a compiler error when length returns a float, as
        we intend it to do when switching to sub-pixel layout.
        * html/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::finish): imageSize is always integral.
        * platform/Length.h:
        (WebCore::Length::Length): Added a constructor that takes a FractionalLayoutUnit.
        (Length):
        (WebCore::Length::intValue): Currently maps directly to Length::value, but the current logic of value
        will be migrated here when value is changed to return a float.
        (WebCore::Length::setValue): Added a variant that takes a FractionalLayoutUnit.

2012-04-09  Andrew Lo  <anlo@rim.com>

        [BlackBerry] requestAnimationFrame performance choppy & inconsistent
        https://bugs.webkit.org/show_bug.cgi?id=83499

        Reviewed by Rob Buis.

        Respect m_scheduled & m_previousFrameDone flags like the Mac port of
        DisplayRefreshMonitor does.
        Internal PR: 147826

        requestAnimationFrame already covered by tests in LayoutTests/fast/animation.

        * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
        (WebCore::DisplayRefreshMonitor::displayLinkFired):

2012-04-09  Luke Macpherson  <macpherson@chromium.org>

        Make CSSValueID's into an enum instead of a collection of integers.
        https://bugs.webkit.org/show_bug.cgi?id=83246

        Reviewed by Simon Fraser.

        This patch simply converts the list of integers into an enum.
        Follow-up patches will then convert existing code that uses integers to use the new enum.

        No new tests / no functionality changed.

        * css/makevalues.pl:

2012-04-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113609.
        http://trac.webkit.org/changeset/113609
        https://bugs.webkit.org/show_bug.cgi?id=83522

        it broke tests (Requested by dethbakin on #webkit).

        * css/mediaControlsChromium.css:
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        * css/mediaControlsQuickTime.css:
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
        * html/shadow/MediaControlElements.cpp:
        (RenderMediaVolumeSliderContainer):
        (WebCore):
        (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
        (WebCore::RenderMediaVolumeSliderContainer::layout):
        (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
        * html/shadow/MediaControlElements.h:
        (MediaControlVolumeSliderContainerElement):
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::create):
        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::create):

2012-04-09  Dana Jansens  <danakj@chromium.org>

        [chromium] Make culling work with clipped rects
        https://bugs.webkit.org/show_bug.cgi?id=83494

        Reviewed by Adrienne Walker.

        Use new CCMathUtil transformation methods to deal with rects that clip
        the camera plane. This fixes three things:

        1. A layer completely behind the camera is not visible and should not
        occlude.
        2. A layer that is clipped by the camera is treated like a
        non-axis-aligned transform, as the result of a mapClippedRect() is a
        bounding box and may contain pixels not in the original rect. This guards
        our use of mapRect() when transforming occluded regions.
        3. A layer's occlusion must be clipped by its scissor rect. This scissor
        rect exists in its target space, so occlusion in screen space is only
        possible if its target also is axis aligned in the screen, such that
        the layer's scissor rect remains a rect in screen space.

        Unit tests: CCOcclusionTrackerTestLayerBehindCameraDoesNotOcclude
                    CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect

        * platform/graphics/chromium/cc/CCMathUtil.cpp:
        (WebCore::CCMathUtil::mapQuad):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::transformSurfaceOpaqueRegion):
        (WebCore::computeOcclusionBehindLayer):
        (WebCore::::markOccludedBehindLayer):
        (WebCore::testContentRectOccluded):
        (WebCore::computeUnoccludedContentRect):

2012-04-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113613.
        http://trac.webkit.org/changeset/113613
        https://bugs.webkit.org/show_bug.cgi?id=83509

        crashing most chromium bots (Requested by simonjam on
        #webkit).

        * Modules/battery/BatteryController.cpp:
        * Modules/battery/BatteryController.h:
        (BatteryController):
        * Modules/battery/BatteryManager.cpp:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2012-04-06  Zhenyao Mo  <zmo@google.com>

        bindAttribLocation should check webgl reserved prefix
        https://bugs.webkit.org/show_bug.cgi?id=83409

        Reviewed by Kenneth Russell.

        * html/canvas/WebGLRenderingContext.cpp: Check for invalid parameters for a few functions.
        (WebCore):
        (WebCore::WebGLRenderingContext::bindAttribLocation):
        (WebCore::WebGLRenderingContext::getAttribLocation):
        (WebCore::WebGLRenderingContext::getUniformLocation):

2012-04-09  Timothy Hatcher  <timothy@apple.com>

        Fix the assertion in PageScriptDebugServer::didPause.

        https://webkit.org/b/82943

        Reviewed by Simon Fraser.

        * bindings/js/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::PageScriptDebugServer): Initialize m_pausedPage
        to zero so the assert in didPause will not randomly fire the first time.

2012-04-09  Tim Horton  <timothy_horton@apple.com>

        FrameData constructor zeroes all fields, causing ImageOrientation to be 0
        https://bugs.webkit.org/show_bug.cgi?id=83416

        Reviewed by Geoff Garen.

        Reinstate SimpleClassVectorTraits on FrameData (which were removed by http://trac.webkit.org/changeset/113543)
        with canInitializeWithMemset disabled, since two of the FrameData fields cannot be initialized to zero.

        No new tests.

        * platform/graphics/BitmapImage.h:

2012-04-09  James Robinson  <jamesr@chromium.org>

        [chromium] CCLayerTreeHost / WebLayerTreeView should be single ownership, not RefCounted
        https://bugs.webkit.org/show_bug.cgi?id=83413

        Reviewed by Adrienne Walker.

        CCLayerTreeHost always has a single logical owner, typically a WebLayerTreeView via either WebViewImpl or the
        public API. It is currently refcounted for historical reasons but this isn't necessary and adds confusion.
        CCLayerTreeHost instances and pointers are carefully managed currently to avoid leaks. In particular, while
        LayerChromium instances hold RefPtr<CCLayerTreeHost>s, whenever we want to destroy a CCLayerTreeHost we
        proactively clear out these references inside setRootLayer() to break the cycle.

        Refactor covered by existing unit and layout tests.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::setMaskLayer):
        (WebCore::LayerChromium::setReplicaLayer):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::layerTreeHost):
        (LayerChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::create):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):

2012-04-09  Joshua Bell  <jsbell@chromium.org>

        Unreviewed, rolling out r113473.
        http://trac.webkit.org/changeset/113473
        https://bugs.webkit.org/show_bug.cgi?id=83074

        Change does not handle cursor retention of LevelDB iterators

        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
        (WebCore::IDBIndexBackendImpl::openCursorInternal):
        (WebCore::IDBIndexBackendImpl::countInternal):
        (WebCore::IDBIndexBackendImpl::getInternal):
        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
        * Modules/indexeddb/IDBIndexBackendImpl.h:
        (WebCore::IDBIndexBackendImpl::create):
        (IDBIndexBackendImpl):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
        (WebCore::IDBObjectStoreBackendImpl::getInternal):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
        (WebCore):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
        (WebCore::IDBObjectStoreBackendImpl::countInternal):
        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
        (WebCore):
        (WebCore::IDBObjectStoreBackendImpl::create):
        (WebCore::IDBObjectStoreBackendImpl::databaseId):
        (IDBObjectStoreBackendImpl):

2012-04-06  James Robinson  <jamesr@chromium.org>

        [chromium] Texture copies should happen after incremental updates to preserve commit atomicity
        https://bugs.webkit.org/show_bug.cgi?id=83392

        Reviewed by Adrienne Walker.

        This enqueues texture copy operations in the CCTextureUpdater's list instead of evaluating them immediately so
        if the update is spread over multiple frames we can properly defer the texture copy until the end. Otherwise,
        the texture copy for WebGL / Canvas 2D content happens before the commit completes and the compositor might pick
        up a frame for the canvas that's "ahead" of the content around it.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
        (WebCore::CCTextureUpdater::appendUpdate):
        (WebCore::CCTextureUpdater::appendPartialUpdate):
        (WebCore):
        (WebCore::CCTextureUpdater::appendCopy):
        (WebCore::CCTextureUpdater::hasMoreUpdates):
        (WebCore::CCTextureUpdater::update):
        (WebCore::CCTextureUpdater::clear):
        * platform/graphics/chromium/cc/CCTextureUpdater.h:
        (CCTextureUpdater):
        (UpdateEntry):
        (CopyEntry):

2012-04-09  Sadrul Habib Chowdhury  <sadrul@chromium.org>

        [chromium] Add Battery Status API support.

        Add Battery Status API support to chromium.
        https://bugs.webkit.org/show_bug.cgi?id=83284

        Reviewed by Adam Barth.

        This change is covered by tests in batterystatus/.

        * Modules/battery/BatteryController.cpp:
        (WebCore::BatteryController::updateBatteryStatus):
        (WebCore):
        * Modules/battery/BatteryController.h:
        (BatteryController):
        * Modules/battery/BatteryManager.cpp:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2012-04-09  SravanKumar Sandela  <ssandela@innominds.com>

        Unnecessary scroll bar after changing the dimensions of a DIV
        https://bugs.webkit.org/show_bug.cgi?id=71541

        Reviewed by Julien Chaffraix.

        overflow: auto was being determined based on clientWidth and clientHeight, which during style change
        scenarii will blindly exclude previous scrollbars while computing overflow. This is valid only for
        overflow: scroll, but for other cases it wrongly reduces available area. Now it is taken care by
        determining the overflow based on pixelSnappedPaddingBoxWidth/Height() which are newly added in RenderBox.

        Tests: fast/overflow/overflow-auto-destroy-scroll-after-resizing-expected.html
               fast/overflow/overflow-auto-destroy-scroll-after-resizing.html

        * rendering/RenderBox.h:
        (WebCore::RenderBox::paddingBoxWidth):
        (WebCore::RenderBox::paddingBoxHeight):
        (WebCore::RenderBox::pixelSnappedPaddingBoxWidth):
        (WebCore::RenderBox::pixelSnappedPaddingBoxHeight):
        (RenderBox):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hasHorizontalOverflow):
        (WebCore::RenderLayer::hasVerticalOverflow):

2012-04-09  Victor Carbune  <vcarbune@adobe.com>

        Simplified volume slider rendering.
        https://bugs.webkit.org/show_bug.cgi?id=82150

        Reviewed by Eric Carlson.

        Test: media/video-controls-rendering-toggle-display-none.html

        * css/mediaControlsChromium.css: Update controls css for Chromium.
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        * css/mediaControlsQuickTime.css: Update controls css for Safari.
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        * html/shadow/MediaControlElements.cpp: Removed particular renderer.
        (WebCore):
        * html/shadow/MediaControlElements.h:
        (MediaControlVolumeSliderContainerElement): Removed particular renderer.
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::create): Added a div element as a container. Removed extra
        unused mute button.
        * html/shadow/MediaControlRootElementChromium.cpp: Added an extra div element as a container for
        the mute button and the volume slider to easily position them relative to each other.
        (WebCore::MediaControlRootElementChromium::create):

2012-04-09  Levi Weintraub  <leviw@chromium.org>

        Correct some LayoutUnit misuse in FilterEffectRenderer, and RenderBlock
        https://bugs.webkit.org/show_bug.cgi?id=83366

        Reviewed by Eric Seidel.

        Some more preparation of Render classes for FractionalLayoutUnits. See below for details
        of each change.

        No new tests. No change in behavior.

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRendererHelper::applyFilterEffect): Pixel snapping image rect before
        drawing it.
        * rendering/RenderBlock.cpp:
        (WebCore::::string): Pixel snapping outputted values for debug.

2012-04-09  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Fix layer sorting perspective w if w becomes negative
        https://bugs.webkit.org/show_bug.cgi?id=82997

        Reviewed by Adrienne Walker.

        Unit test added to CCLayerSorterTest.cpp.

        This is a follow-up patch after r113364. That other patch
        implemented proper clipping so that perspective transforms do not
        accidentally make geometry disappear. This patch fixes a similar
        problem in the layer sorter code so that layers do not
        accidentally get sorted incorrectly.

        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
        (WebCore::CCLayerSorter::LayerShape::LayerShape):
        * platform/graphics/chromium/cc/CCMathUtil.cpp:
        (WebCore::computeEnclosingRect):
        (WebCore::addVertexToClippedQuad):
        (WebCore::CCMathUtil::mapClippedQuad):
        (WebCore):
        (WebCore::CCMathUtil::computeEnclosingRectOfVertices):
        * platform/graphics/chromium/cc/CCMathUtil.h:
        (WebCore):
        (CCMathUtil):

2012-04-09  Martin Robinson  <mrobinson@igalia.com>

        [soup] Crash while loading http://www.jusco.cn
        https://bugs.webkit.org/show_bug.cgi?id=68238

        Reviewed by Philippe Normand.

        Test: http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers.html

        When running synchronous XMLHttpRequests, push a new inner thread default
        context, so that other sources from timers and network activity do not run.
        This will make synchronous requests truly synchronous with the rest of
        WebCore.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCoreSynchronousLoader): Clean up the method definitions a bit by writing them inline.
        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Push a new thread default
        context to prevent other sources from running.
        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Pop the inner thread default context.
        (WebCore::closeCallback): If the client is synchronous call didFinishLoading now.
        (WebCore::readCallback): Only call didFinishLoading if the client isn't synchronous.
        (WebCore::ResourceHandle::defaultSession): Activate use-thread-context so that the soup session
        respects the inner thread context.

2012-04-09  Dana Jansens  <danakj@chromium.org>

        [chromium] Flip transition painting delayed with threaded animations
        https://bugs.webkit.org/show_bug.cgi?id=82571

        Reviewed by Adrienne Walker.

        This allows for prepainting to see and paint layers that are not facing
        the camera but have animating transforms. This is needed to prepaint
        animations that "flip" layers around to make the front visible.

        The changes are to add a backFaceIsVisible() helper function in
        CCLTHCommon. This is used like before to cull non-double sided
        layers, but culling is prevented on main thread when the screen
        space transform is unknown due to animation. We add new
        helper methods transformToScreenIsKnown() to identify this.

        However the layer is not actually visible, so we set the
        visibleLayerRect to be empty in this case.

        The calculateVisibleLayerRect needs to use the backFaceIsVisible()
        helper, so we move it into the .cpp file where it belongs, and make
        it static to the file since it is not used outide of CCLTHCommon.cpp
        at all.

        Unit test: CCLayerTreeHostCommonTest.verifyBackFaceCulling

        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore):
        (WebCore::backFaceIsVisible):
        (WebCore::calculateVisibleLayerRect):
        (WebCore::layerOpacityIsOpaque):
        (WebCore::transformToParentIsKnown):
        (WebCore::transformToScreenIsKnown):
        (WebCore::layerShouldBeSkipped):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        (WebCore::walkLayersAndCalculateVisibleLayerRects):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
        (WebCore):

2012-04-09  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Toggle buttons do not size appropriately in some themes
        https://bugs.webkit.org/show_bug.cgi?id=82833

        Reviewed by Gustavo Noronha Silva.

        Test: platform/gtk/fast/forms/large-toggle-elements.html

        Instead of drawing a toggle button across the entire rectangle of
        the WebCore control, draw a default-sized one cenetered in the rectangle.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::paintToggle): Draw default-sized toggles.

2012-04-09  Raymond Liu  <raymond.liu@intel.com>

        When create JavaScriptNode, do not ignore NumberOfOutputChannels parameter.
        https://bugs.webkit.org/show_bug.cgi?id=83250

        Reviewed by Chris Rogers.

        * Modules/webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createJavaScriptNode):
        (WebCore):
        * Modules/webaudio/AudioContext.h:
        (AudioContext):
        * Modules/webaudio/AudioContext.idl:
        * Modules/webaudio/JavaScriptAudioNode.cpp:
        (WebCore::JavaScriptAudioNode::create):
        (WebCore):
        (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
        (WebCore::JavaScriptAudioNode::initialize):
        (WebCore::JavaScriptAudioNode::process):
        * Modules/webaudio/JavaScriptAudioNode.h:
        (JavaScriptAudioNode):

2012-04-09  Abhishek Arya  <inferno@chromium.org>

        Crash due to floats not cleared before starting SVG <text> layout.
        https://bugs.webkit.org/show_bug.cgi?id=83021

        Reviewed by Dirk Schulze.

        Manual Test - ManualTests/svg-text-float-not-removed-crash.html.
        Can't reproduce the failure in DRT.

        forceLayoutInlineChildren is used in SVG <text> layout and overrides
        RenderBlock::layoutBlock. However, it missed the 'clearFloats' step,
        which will cause a crash when trying to access removed renderers.

        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::forceLayoutInlineChildren):

2012-04-09  Jeffrey Pfau  <jpfau@apple.com>

        Filter files from dataTransfer.getData on Mac
        https://bugs.webkit.org/show_bug.cgi?id=38876

        Reviewed by Enrica Casucci.

        The ClipboardMac class now keeps track of whether it was created for copy and paste, dragging and dropping
        files or dragging and dropping generic data. This enables the class to block calls to set-/getData when the
        clipboard is not operating on generic data, and vice-versa.

        Test: fast/events/drop-with-file-paths.html

        * editing/mac/EditorMac.mm:
        (WebCore::Editor::newGeneralClipboard):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/mac/ClipboardMac.h:
        (WebCore::ClipboardMac::create):
        (ClipboardMac):
        * platform/mac/ClipboardMac.mm:
        (WebCore::Clipboard::create):
        (WebCore::ClipboardMac::ClipboardMac):
        (WebCore::ClipboardMac::getData):
        (WebCore::ClipboardMac::setData):
        (WebCore::ClipboardMac::files):

2012-04-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113561.
        http://trac.webkit.org/changeset/113561
        https://bugs.webkit.org/show_bug.cgi?id=83487

        broke webkit_unit_tests (Requested by simonjam on #webkit).

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::transformSurfaceOpaqueRegion):
        (WebCore::computeOcclusionBehindLayer):
        (WebCore::::markOccludedBehindLayer):
        (WebCore::testContentRectOccluded):
        (WebCore::computeUnoccludedContentRect):

2012-04-09  Levi Weintraub  <leviw@chromium.org>

        Correct LayoutUnit usage in style functions getRoundedBorderFor
        https://bugs.webkit.org/show_bug.cgi?id=83154

        Reviewed by Julien Chaffraix.

        Correcting LayoutUnit usage in getRoundedBorderFor and the calcRadiiFor helper function.

        No new tests. No change in behavior.

        * rendering/style/RenderStyle.cpp:
        (WebCore::calcRadiiFor): This is a static internal function that returns the radii based on a size.
        It's only called from getRoundedBorderFor, so we're now pixel snapping the size before handing it
        to this function.
        (WebCore::RenderStyle::getRoundedBorderFor): Takes a LayoutRect and returns the pixel-snapped
        resulting RoundedRect. Using a local IntRect to avoid snapping twice.

2012-04-06  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: zoom on vertical mousewheel in Timeline overview
        https://bugs.webkit.org/show_bug.cgi?id=83379

        Reviewed by Pavel Feldman.

        - added support for zooming around mouse cursor upon mousewheel event;
        - handle mousewheel event by _onMouseWheel, not scrollWindow, so we only zoom on events internal to overview.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewWindow):
        (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
        (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
        (WebInspector.TimelineOverviewWindow.prototype._zoom):

2012-04-09  Bill Budge  <bbudge@chromium.org>

        Cross-origin preflight request should not include credentials.
        https://bugs.webkit.org/show_bug.cgi?id=37676

        Modifies createAccessControlPreflightRequest so it never allows credentials.

        Reviewed by Adam Barth.

        http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
        http/tests/xmlhttprequest/access-control-preflight-credential-async.html 

        * loader/CrossOriginAccessControl.cpp:
        (WebCore::createAccessControlPreflightRequest):
        * loader/CrossOriginAccessControl.h:
        (WebCore):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):

2012-04-09  Antti Koivisto  <antti@apple.com>

        Don't expose internal CSSValues in API
        https://bugs.webkit.org/show_bug.cgi?id=83426
        
        Reviewed by Andreas Kling.

        The CSSValues returned from functions like CSSStyleDeclaration.getPropertyCSSValue() are currently
        the same instances we use internally. This creates various problems. The values can't be shared between 
        documents as the wrappers would be shared too. Having to maintain per-document CSSValuePools complicate 
        the architecture and increase memory usage. This also blocks sharing style sheet data structures 
        between documents.
        
        This patch adds a concept of CSSOM-safe CSSValue. Only the safe values can be wrapped for JS access. 
        Values are unsafe by default. The CSSOM functions that return CSSValues create safe instances by
        cloning the internal values.
        
        The use of APIs that return CSSValues is very rare (the currect CSSOM draft deprecates them) and
        cloning is cheap in any case. Future patches will eliminate the per-document value pool in favor
        of a global one for a memory win.
        
        In the future we want to replace internally used CSSValues with true internal types (StyleValues) and
        use CSSValues exclusively as wrappers (similar to how CSSStyleRule wraps internal StyleRule).

        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValueInternal):
        * css/CSSImageSetValue.cpp:
        (WebCore::CSSImageSetValue::CSSImageSetValue):
        (WebCore):
        (WebCore::CSSImageSetValue::cloneForCSSOM):
        * css/CSSImageSetValue.h:
        (CSSImageSetValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::cleanup):
        
            Opportunistically fix a string leak for CSS_COUNTER_NAME values.
            Add all cases, remove default.
        
        (WebCore::CSSPrimitiveValue::cloneForCSSOM):
        (WebCore):
        * css/CSSPrimitiveValue.h:
        (CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::setCSSOMSafe):
        * css/CSSValue.cpp:
        (WebCore):
        (TextCloneCSSValue):
        (WebCore::TextCloneCSSValue::create):
        (WebCore::TextCloneCSSValue::cssText):
        (WebCore::TextCloneCSSValue::TextCloneCSSValue):
        
            Most non-primitive value types are not exposed in CSSOM. For those we create a dummy value
            that contains only the data that is accessible though the base CSSValue interface.
        
        (WebCore::CSSValue::addSubresourceStyleURLs):
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        (WebCore::CSSValue::cloneForCSSOM):
        * css/CSSValue.h:
        (WebCore):
        (CSSValue):
        (WebCore::CSSValue::isCSSOMSafe):
        (WebCore::CSSValue::isSubtypeExposedToCSSOM):
        (WebCore::CSSValue::CSSValue):
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::CSSValueList):
        (WebCore):
        (WebCore::CSSValueList::cloneForCSSOM):
        * css/CSSValueList.h:
        (CSSValueList):
        * css/Counter.h:
        (Counter):
        (WebCore::Counter::cloneForCSSOM):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
        (WebCore::PropertySetCSSStyleDeclaration::didMutate):
        (WebCore):
        (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
        
            Maintain a map of safe CSSValues so we can maintain object identity.
        
        * css/PropertySetCSSStyleDeclaration.h:
        (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
        (PropertySetCSSStyleDeclaration):
        * css/RGBColor.cpp:
        (WebCore::RGBColor::red):
        (WebCore::RGBColor::green):
        (WebCore::RGBColor::blue):
        (WebCore::RGBColor::alpha):
        * css/Rect.h:
        (WebCore::RectBase::RectBase):
        (RectBase):
        (Rect):
        (WebCore::Rect::cloneForCSSOM):
        (WebCore::Rect::Rect):
        (Quad):
        (WebCore::Quad::cloneForCSSOM):
        (WebCore::Quad::Quad):
        * css/WebKitCSSFilterValue.cpp:
        (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
        (WebCore):
        (WebCore::WebKitCSSFilterValue::cloneForCSSOM):
        * css/WebKitCSSFilterValue.h:
        (WebKitCSSFilterValue):
        * css/WebKitCSSTransformValue.cpp:
        (WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
        (WebCore):
        (WebCore::WebKitCSSTransformValue::cloneForCSSOM):
        * css/WebKitCSSTransformValue.h:
        (WebKitCSSTransformValue):
        * svg/SVGColor.cpp:
        (WebCore::SVGColor::SVGColor):
        (WebCore):
        (WebCore::SVGColor::cloneForCSSOM):
        * svg/SVGColor.h:
        (SVGColor):
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::SVGPaint):
        (WebCore):
        (WebCore::SVGPaint::cloneForCSSOM):
        * svg/SVGPaint.h:
        (SVGPaint):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::getPresentationAttribute):

2012-04-09  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: get rid of WebInspector.Resource.category, use  WebInspector.Resource.type instead.
        https://bugs.webkit.org/show_bug.cgi?id=83467

        Reviewed by Yury Semikhatsky.

        WebInspector.Resource.category is derived from the  WebInspector.Resource.type and there is no real need it maintaining both.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView.prototype._onResourceStarted):
        (WebInspector.AuditLauncherView.prototype._onResourceFinished):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
        (WebInspector.AuditRules.CombineJsResourcesRule):
        (WebInspector.AuditRules.CombineCssResourcesRule):
        (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
        (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
        (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModelResourceBinding):
        (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
        (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
        * inspector/front-end/ContentProviders.js:
        (WebInspector.ResourceContentProvider):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModelResourceBinding):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._getPopoverAnchor):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._makeResource):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.get this):
        (WebInspector.NetworkManager.get NetworkAgent):
        (WebInspector.NetworkManager):
        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
        (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
        (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
        (WebInspector.NetworkDispatcher.prototype.responseReceived):
        (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
        (WebInspector.NetworkLogView.prototype._updateSummaryBar):
        (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
        (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.registerDomainModelBinding):
        (WebInspector.Resource.prototype.set type):
        (WebInspector.Resource.prototype.isEditable):
        (WebInspector.Resource.prototype.setContent):
        (WebInspector.Resource.prototype.requestContent):
        * inspector/front-end/ResourceCategory.js: Removed.
        * inspector/front-end/ResourcePreviewView.js:
        (WebInspector.ResourcePreviewView.prototype._createPreviewView):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.addScript):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
        (WebInspector.ResourceTreeModel.prototype._onResourceUpdateDropped):
        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
        * inspector/front-end/ResourceType.js: Added.
        (WebInspector.ResourceType):
        (WebInspector.ResourceType.prototype.name):
        (WebInspector.ResourceType.prototype.title):
        (WebInspector.ResourceType.prototype.categoryTitle):
        (WebInspector.ResourceType.prototype.color):
        (WebInspector.ResourceType.prototype.isTextType):
        (WebInspector.ResourceType.prototype.toString):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.hasTextContent):
        (WebInspector.ResourceView.nonSourceViewForResource):
        (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameTreeElement.prototype.appendResource):
        (WebInspector.FrameResourceTreeElement):
        (WebInspector.FrameResourceTreeElement.prototype.onattach):
        (WebInspector.ResourceRevisionTreeElement):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-04-09  Alexis Menard  <alexis.menard@openbossa.org>

        Unreviewed, adding a missing header for the Qt port.

        * Target.pri:

2012-04-09  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: [network panel] type column shows "undefined" instead of "(Pending)" upon load.
        https://bugs.webkit.org/show_bug.cgi?id=83470

        Reviewed by Yury Semikhatsky.

        isPingRequest is tested for as a field, not a function return value.
        
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):

2012-03-30  Robert Hogan  <robert@webkit.org>

        REGRESSION (r94492): Incorrect initial layout of absolutely positioned <input> inside centering div
        https://bugs.webkit.org/show_bug.cgi?id=77754

        Reviewed by David Hyatt.

        The correct static position of an center-aligned, inline, absolutely positioned object with a block child can't be known
        until the width of the child has been computed. This means that setStaticPositions() in RenderBlockLineLayout is setting
        the position too early, before the width of the child has been finalised. To fix, adjust the static position of the inline
        positioned object once its child's width has been calculated.

        Test: fast/css/align-positioned-object-on-resize.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutPositionedObjects):

2012-04-09  Eric Carlson  <eric.carlson@apple.com>

        WebVTT parser unnecessarily limits the value of a timestamp
        https://bugs.webkit.org/show_bug.cgi?id=83422

        Reviewed by Dan Bernstein.

        Test: media/track/track-large-timestamp.html

        * html/track/WebVTTParser.cpp:
        (WebCore::WebVTTParser::collectTimeStamp): Make all constants double instead of int so 
            the maximum number of hours is increased and so we don't need any casts.

2012-04-09  Abhishek Arya  <inferno@chromium.org>

        Incorrect placement of new child to table when before child parent is not |this|.
        https://bugs.webkit.org/show_bug.cgi?id=82630

        Reviewed by Julien Chaffraix.

        Tests: fast/table/table-row-split2.html
               fast/table/table-section-split2.html
               fast/table/table-split.html
               fast/table/table-split2.html
        and tested by layouttests in commits r97180, r108127, and a few others.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks): function rename, block->box.
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks): ditto.
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): ditto.
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::moveChildTo): move these functions from RenderBlock, needs to be
        used in RenderBox::splitAnonymousBoxesAroundChild.
        (WebCore):
        (WebCore::RenderBox::moveChildrenTo): ditto.
        (WebCore::markBoxForRelayoutAfterSplit): helper to mark a block or table part for complete relayout
        after anonymous boxes are split around child.
        (WebCore::RenderBox::splitAnonymousBoxesAroundChild): moved from RenderBlock to be able
        to work with table parts.
        * rendering/RenderBox.h:
        (RenderBox):
        (WebCore::RenderBox::moveChildTo):
        (WebCore::RenderBox::moveAllChildrenTo):
        (WebCore::RenderBox::moveChildrenTo):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild): no longer need the hack added in r95461.
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveChildren): function rename, block->box.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): Use splitAnonymousBoxesAroundChild function when |beforeChild| != |this|.
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild): ditto. 
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild): ditto.

2012-04-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        WebSocketServer: Honour WebSocketFrame::masked in makeFrameData
        https://bugs.webkit.org/show_bug.cgi?id=83042

        Reviewed by Kent Tamura.

        Frames from the server should not be masked.
        Currently, the flag is set to false, but the frames were masked anyway.
        This causes clients with recent builds of WebKit to abort the connection to the
        inspector server, refusing masked frames from the server as per the spec.
        This doesn't change the behavior of WebSocket clients, which set the masked flag to true.

        * Modules/websockets/WebSocketFrame.cpp:
        (WebCore::appendFramePayload):
        (WebCore::WebSocketFrame::makeFrameData):

2012-04-09  Alexis Menard  <alexis.menard@openbossa.org>

        [Part 5] We should use CSSPropertyID rather than integers when manipulating CSS property ids.
        https://bugs.webkit.org/show_bug.cgi?id=83466

        Reviewed by Kentaro Hara.

        CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
        as integers, this patch should adress the last remaining occurences of ints rather than CSSPropertyIDs.
    
        No new tests : There should be no behavior change in this patch.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::removePropertiesInSet):
        * page/animation/AnimationBase.cpp:
        (WebCore::gatherEnclosingShorthandProperties):
        (WebCore::AnimationBase::animatableShorthandsAffectingProperty):
        * page/animation/AnimationBase.h:
        (AnimationBase):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::pauseTransitionAtTime):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::animate):
        (WebCore::KeyframeAnimation::getAnimatedStyle):
        (WebCore::KeyframeAnimation::overrideAnimations):
        (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
        (WebCore::KeyframeAnimation::timeToNextService):
        * rendering/style/KeyframeList.cpp:
        (WebCore::KeyframeList::insert):
        * rendering/style/KeyframeList.h:
        (WebCore::KeyframeValue::addProperty):
        (WebCore::KeyframeValue::containsProperty):
        (WebCore::KeyframeValue::properties):
        (KeyframeValue):
        (WebCore::KeyframeList::addProperty):
        (WebCore::KeyframeList::containsProperty):
        (WebCore::KeyframeList::beginProperties):
        (WebCore::KeyframeList::endProperties):
        (KeyframeList):

2012-04-09  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rebaselined run-bindings-tests results.

        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        (WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):
        (WebCore::jsFloat64ArrayConstructor):
        (WebCore::JSFloat64Array::getConstructor):
        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
        (WebCore::toFloat64Array):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore::JSTestActiveDOMObjectConstructor::getOwnPropertySlot):
        (WebCore::JSTestActiveDOMObjectConstructor::getOwnPropertyDescriptor):
        (WebCore::jsTestActiveDOMObjectExcitingAttr):
        (WebCore::jsTestActiveDOMObjectConstructor):
        (WebCore::JSTestActiveDOMObject::getConstructor):
        (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
        (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
        (WebCore::JSTestActiveDOMObjectOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestActiveDOMObjectOwner::finalize):
        (WebCore::toTestActiveDOMObject):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
        (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
        (WebCore::jsTestCustomNamedGetterConstructor):
        (WebCore::JSTestCustomNamedGetter::getConstructor):
        (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
        (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestCustomNamedGetterOwner::finalize):
        (WebCore::toTestCustomNamedGetter):
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
        (WebCore::JSTestEventConstructorConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
        (WebCore::jsTestEventConstructorAttr1):
        (WebCore::jsTestEventConstructorAttr2):
        (WebCore::jsTestEventConstructorConstructor):
        (WebCore::JSTestEventConstructor::getConstructor):
        (WebCore::JSTestEventConstructorOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestEventConstructorOwner::finalize):
        (WebCore::toTestEventConstructor):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::JSTestEventTargetConstructor::getOwnPropertySlot):
        (WebCore::JSTestEventTargetConstructor::getOwnPropertyDescriptor):
        (WebCore::jsTestEventTargetConstructor):
        (WebCore::JSTestEventTarget::getConstructor):
        (WebCore::jsTestEventTargetPrototypeFunctionItem):
        (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
        (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
        (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
        (WebCore::JSTestEventTarget::indexGetter):
        (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestEventTargetOwner::finalize):
        (WebCore::toTestEventTarget):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
        (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
        (WebCore::jsTestInterfaceSupplementalStr1):
        (WebCore::jsTestInterfaceSupplementalStr2):
        (WebCore::jsTestInterfaceSupplementalStr3):
        (WebCore::jsTestInterfaceSupplementalNode):
        (WebCore::jsTestInterfaceConstructor):
        (WebCore::setJSTestInterfaceSupplementalStr2):
        (WebCore::setJSTestInterfaceSupplementalStr3):
        (WebCore::setJSTestInterfaceSupplementalNode):
        (WebCore::JSTestInterface::getConstructor):
        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
        (WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestInterfaceOwner::finalize):
        (WebCore::toTestInterface):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
        (WebCore::jsTestMediaQueryListListenerConstructor):
        (WebCore::JSTestMediaQueryListListener::getConstructor):
        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
        (WebCore::JSTestMediaQueryListListenerOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestMediaQueryListListenerOwner::finalize):
        (WebCore::toTestMediaQueryListListener):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructorConstructor::getOwnPropertySlot):
        (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
        (WebCore::jsTestNamedConstructorConstructor):
        (WebCore::JSTestNamedConstructor::getConstructor):
        (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestNamedConstructorOwner::finalize):
        (WebCore::toTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjConstructor::getOwnPropertySlot):
        (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestObjConstructor::constructJSTestObj):
        (WebCore::jsTestObjReadOnlyIntAttr):
        (WebCore::jsTestObjReadOnlyStringAttr):
        (WebCore::jsTestObjReadOnlyTestObjAttr):
        (WebCore::jsTestObjShortAttr):
        (WebCore::jsTestObjUnsignedShortAttr):
        (WebCore::jsTestObjIntAttr):
        (WebCore::jsTestObjLongLongAttr):
        (WebCore::jsTestObjUnsignedLongLongAttr):
        (WebCore::jsTestObjStringAttr):
        (WebCore::jsTestObjTestObjAttr):
        (WebCore::jsTestObjSequenceAttr):
        (WebCore::jsTestObjXMLObjAttr):
        (WebCore::jsTestObjCreate):
        (WebCore::jsTestObjReflectedStringAttr):
        (WebCore::jsTestObjReflectedIntegralAttr):
        (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
        (WebCore::jsTestObjReflectedBooleanAttr):
        (WebCore::jsTestObjReflectedURLAttr):
        (WebCore::jsTestObjReflectedCustomIntegralAttr):
        (WebCore::jsTestObjReflectedCustomBooleanAttr):
        (WebCore::jsTestObjReflectedCustomURLAttr):
        (WebCore::jsTestObjAttrWithGetterException):
        (WebCore::jsTestObjAttrWithSetterException):
        (WebCore::jsTestObjStringAttrWithGetterException):
        (WebCore::jsTestObjStringAttrWithSetterException):
        (WebCore::jsTestObjCustomAttr):
        (WebCore::jsTestObjWithScriptStateAttribute):
        (WebCore::jsTestObjWithScriptExecutionContextAttribute):
        (WebCore::jsTestObjWithScriptStateAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::jsTestObjConditionalAttr1):
        (WebCore::jsTestObjConditionalAttr2):
        (WebCore::jsTestObjConditionalAttr3):
        (WebCore::jsTestObjConditionalAttr4Constructor):
        (WebCore::jsTestObjConditionalAttr5Constructor):
        (WebCore::jsTestObjConditionalAttr6Constructor):
        (WebCore::jsTestObjCachedAttribute1):
        (WebCore::jsTestObjCachedAttribute2):
        (WebCore::jsTestObjContentDocument):
        (WebCore::jsTestObjMutablePoint):
        (WebCore::jsTestObjImmutablePoint):
        (WebCore::jsTestObjStrawberry):
        (WebCore::jsTestObjStrictFloat):
        (WebCore::jsTestObjDescription):
        (WebCore::jsTestObjId):
        (WebCore::jsTestObjHash):
        (WebCore::jsTestObjConstructor):
        (WebCore::setJSTestObjShortAttr):
        (WebCore::setJSTestObjUnsignedShortAttr):
        (WebCore::setJSTestObjIntAttr):
        (WebCore::setJSTestObjLongLongAttr):
        (WebCore::setJSTestObjUnsignedLongLongAttr):
        (WebCore::setJSTestObjStringAttr):
        (WebCore::setJSTestObjTestObjAttr):
        (WebCore::setJSTestObjSequenceAttr):
        (WebCore::setJSTestObjXMLObjAttr):
        (WebCore::setJSTestObjCreate):
        (WebCore::setJSTestObjReflectedStringAttr):
        (WebCore::setJSTestObjReflectedIntegralAttr):
        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
        (WebCore::setJSTestObjReflectedBooleanAttr):
        (WebCore::setJSTestObjReflectedURLAttr):
        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
        (WebCore::setJSTestObjReflectedCustomURLAttr):
        (WebCore::setJSTestObjAttrWithGetterException):
        (WebCore::setJSTestObjAttrWithSetterException):
        (WebCore::setJSTestObjStringAttrWithGetterException):
        (WebCore::setJSTestObjStringAttrWithSetterException):
        (WebCore::setJSTestObjCustomAttr):
        (WebCore::setJSTestObjWithScriptStateAttribute):
        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::setJSTestObjConditionalAttr1):
        (WebCore::setJSTestObjConditionalAttr2):
        (WebCore::setJSTestObjConditionalAttr3):
        (WebCore::setJSTestObjConditionalAttr4Constructor):
        (WebCore::setJSTestObjConditionalAttr5Constructor):
        (WebCore::setJSTestObjConditionalAttr6Constructor):
        (WebCore::setJSTestObjMutablePoint):
        (WebCore::setJSTestObjImmutablePoint):
        (WebCore::setJSTestObjStrawberry):
        (WebCore::setJSTestObjStrictFloat):
        (WebCore::setJSTestObjId):
        (WebCore::JSTestObj::getConstructor):
        (WebCore::jsTestObjPrototypeFunctionVoidMethod):
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethod):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethod):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
        (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
        (WebCore::jsTestObjPrototypeFunctionMethodWithException):
        (WebCore::jsTestObjPrototypeFunctionCustomMethod):
        (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
        (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
        (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
        (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
        (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
        (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
        (WebCore::jsTestObjPrototypeFunctionConvert1):
        (WebCore::jsTestObjPrototypeFunctionConvert2):
        (WebCore::jsTestObjPrototypeFunctionConvert3):
        (WebCore::jsTestObjPrototypeFunctionConvert4):
        (WebCore::jsTestObjPrototypeFunctionConvert5):
        (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
        (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
        (WebCore::jsTestObjPrototypeFunctionOrange):
        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
        (WebCore::JSTestObjOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestObjOwner::finalize):
        (WebCore::toTestObj):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
        (WebCore::jsTestSerializedScriptValueInterfaceValue):
        (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
        (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
        (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
        (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
        (WebCore::JSTestSerializedScriptValueInterface::getConstructor):
        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
        (WebCore::JSTestSerializedScriptValueInterfaceOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
        (WebCore::toTestSerializedScriptValueInterface):

2012-04-09  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Upstream BlackBerry change to WebCore::TouchEvent
        https://bugs.webkit.org/show_bug.cgi?id=83454

        Reviewed by Rob Buis.

        BlackBerry-port enhances the TouchEvent by adding member variables
        to indicate if the event is double-tap or touch-hold.

        * dom/TouchEvent.cpp:
        (WebCore::TouchEvent::TouchEvent):
        (WebCore::TouchEvent::initTouchEvent):
        * dom/TouchEvent.h:
        (TouchEvent):
        (WebCore::TouchEvent::setDoubleTap):
        (WebCore::TouchEvent::isDoubleTap):
        (WebCore::TouchEvent::setTouchHold):
        (WebCore::TouchEvent::isTouchHold):

2012-04-09  James Robinson  <jamesr@chromium.org>

        Remove partially implemented per-Element visibility checks from requestAnimationFrame logic
        https://bugs.webkit.org/show_bug.cgi?id=74232

        Reviewed by Dean Jackson.

        The initial requestAnimationFrame implementation had an Element parameter as the second argument to the
        function. This element was intended to convey the element associated with the animation so that when the element
        was not visible the animation callback would not be run. The checked in implementation does a very limited check
        - testing for display:none and being detached from the tree - but does it in a way that does not work correctly
        if an element's visibility is manipulated by a callback running from a different document. It also adds
        significant complexity to the code, making it less hackable and easy to introduce subtle security bugs or
        infinite loops.

        This patch removes the parameter. Since it has always been marked optional, there is no web compat risk.

        If this functionality is added back in the future it needs to be implemented in a way that considers all
        callbacks within a Page and not only those within a single Document.

        * dom/Document.cpp:
        (WebCore::Document::webkitRequestAnimationFrame):
        * dom/Document.h:
        * dom/RequestAnimationFrameCallback.h:
        * dom/ScriptedAnimationController.cpp:
        (WebCore::ScriptedAnimationController::registerCallback):
        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
        * dom/ScriptedAnimationController.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitRequestAnimationFrame):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2012-04-09  Chris Guan  <chris.guan@torchmobile.com.cn>

        [Blackberry] m_isRequestedByPlugin should be copied in ResourceRequest
        https://bugs.webkit.org/show_bug.cgi?id=83447

        Reviewed by George Staikos.

        It is an obvious error, We should copy m_isRequestedByPlugin in ResourceReuest.

        No new tests, because those existing plugin test cases are enough.

        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):

2012-04-09  'Pavel Feldman'  <pfeldman@chromium.org>

        Not reviewed: fixing inspector front-end compilation that has been broken by the
        recent SaveAs and DOMStorage changes.

        * inspector/front-end/DOMStorage.js:
        * inspector/front-end/externs.js:
        (WebInspector.isURLSaved):

2012-04-09  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: remove ComboBoxFileSelector and SingleFileEditorContainer.
        https://bugs.webkit.org/show_bug.cgi?id=83460

        Reviewed by Yury Semikhatsky.

        We are now using scripts navigator and tabbed editor container, removing the old components.
        This change removes the corresponding classes and the abstractions used during the
        transition period.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype._scriptSelected):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.get this):
        (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
        (WebInspector.ScriptsPanel.prototype._addUISourceCode):
        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
        (WebInspector.ScriptsPanel.prototype._reset):
        (WebInspector.ScriptsPanel.prototype._showFile):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
        (WebInspector.ScriptsPanel.prototype._editorClosed):
        (WebInspector.ScriptsPanel.prototype._scriptSelected):
        (WebInspector.ScriptsPanel.prototype._hidePinnedNavigator):
        (WebInspector.ScriptsPanel.prototype.set _pinNavigator):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainerDelegate):
        (WebInspector.TabbedEditorContainerDelegate.prototype.viewForFile):
        (get WebInspector):
        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
        * inspector/front-end/scriptsPanel.css:

2012-04-09  Dana Jansens  <danakj@chromium.org>

        [chromium] Make culling work with clipped rects
        https://bugs.webkit.org/show_bug.cgi?id=83217

        Reviewed by Adrienne Walker.

        Use new CCMathUtil transformation methods to deal with rects that clip
        the camera plane. This fixes three things:

        1. A layer completely behind the camera is not visible and should not
        occlude.
        2. A layer that is clipped by the camera is treated like a
        non-axis-aligned transform, as the result of a mapClippedRect() is a
        bounding box and may contain pixels not in the original rect. This guards
        our use of mapRect() when transforming occluded regions.
        3. A layer's occlusion must be clipped by its scissor rect. This scissor
        rect exists in its target space, so occlusion in screen space is only
        possible if its target also is axis aligned in the screen, such that
        the layer's scissor rect remains a rect in screen space.

        Unit tests: CCOcclusionTrackerTestLayerBehindCameraDoesNotOcclude
                    CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::transformSurfaceOpaqueRegion):
        (WebCore::computeOcclusionBehindLayer):
        (WebCore::::markOccludedBehindLayer):
        (WebCore::testContentRectOccluded):
        (WebCore::computeUnoccludedContentRect):

2012-04-09  Zan Dobersek  <zandobersek@gmail.com>

        [Gtk] Web Inspector noinst_DATA images are copied into innacurately named directory
        https://bugs.webkit.org/show_bug.cgi?id=83423

        Reviewed by Martin Robinson.

        Copy Web Inspector images that are a part of the data not meant
        for installation into a directory named 'Images' rather than
        a lower-case version of that. This is required as until now,
        when using these inspector resources (for example during layout
        tests or manually pointing WEBKIT_INSPECTOR_PATH env to that
        location), the images were not displayed as they were not loadable.

        No new tests - no new functionality.

        * GNUmakefile.am:

2012-04-06  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: move breakpoints active state from scripts panel to debugger presentation model.
        https://bugs.webkit.org/show_bug.cgi?id=83374

        Reviewed by Yury Semikhatsky.

        Just moves the state and adds event to propagate it. This is needed to abstract
        JavaScriptSourceFrame from the ScriptsPanel.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointsActive):
        (WebInspector.DebuggerPresentationModel.prototype.breakpointsActive):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
        (WebInspector.ScriptsPanel.prototype._breakpointsActiveStateChanged):
        (WebInspector.ScriptsPanel.prototype._createDebugToolbar):

2012-04-08  Takashi Sakamoto  <tasak@google.com>

        <content> in <meter> is not rendered correctly.
        https://bugs.webkit.org/show_bug.cgi?id=81311

        This code changes a code location where MeterValueElement's value
        attribute is initialized. In the old code, HTMLMeterElement's attach
        did. It is better to initialize the attribute just after creating
        meter's shadow subtree.

        Reviewed by Hajime Morita.

        No new tests, because an existing test,
        content-element-in-meter-element.html covers.
        However test_expectations.txt is changed. Now the test passes.

        * html/HTMLMeterElement.cpp:
        * html/HTMLMeterElement.h:
        (HTMLMeterElement):
        (HTMLMeterElement::attach):
        Removed attach method, because attach method is just calling
        LabelableElement::attach after removing didElementStateChange.
        (HTMLMeterElement::createShadowSubTree):
        Added setWidthPercentage to initialize MeterValueElement's value
        attribute.
        * LayoutTests/platform/chromium/test_expectations.txt:
        Removed BUGWK81311 fast/dom/shadow/content-element-in-meter.html,
        because now contentElementInMeterElement passes.

2012-04-08  Patrick Gansterer  <paroga@webkit.org>

        Build fix for !ENABLE(CSS_FILTERS) && ASSERT_DISABLED after r109953.

        * platform/graphics/ca/GraphicsLayerCA.cpp:

2012-04-07  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Cleanup WTF include directories
        https://bugs.webkit.org/show_bug.cgi?id=82716

        Reviewed by Eric Seidel.

        * CMakeLists.txt:

2012-04-07  Rob Buis  <rbuis@rim.com>

        Remove dead code in SVGCSSParser
        https://bugs.webkit.org/show_bug.cgi?id=83404

        Reviewed by Nikolas Zimmermann.

        Remove code that was there to create a SVGColor representation for color, but was never reached. Since
        SVGColor is deprecated now (also see bug 15012), this code has lost any potential. Should SVGColor come
        back in SVG2 we can revisit this.

        Add a test to confirm for SVG we follow the CSS3 handling of color="currentColor". This is something the
        removed code never dealt with, but the existing code in CSSParser.cpp handles, make sure we stick to this
        behaviour in the future using this test.

        Test: svg/custom/currentColor-on-color.html

        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):

2012-04-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        FrameData constructor zeroes all fields, causing ImageOrientation to be 0
        https://bugs.webkit.org/show_bug.cgi?id=83416

        Inofficially rubber-stamped by Tim Horton.

        Lots of svg/as-image/ crash on debug builds. FrameData is used in a Vector and currently
        special VectorTraits force it to be initialized with memset(), nulling all members, instead
        of properly initializing them causing the ImageOrientation bug. To be able to remove the
        SimpleClassVectorTraits specialization, we have to allow FrameData to be copied.

        * platform/graphics/BitmapImage.h:

2012-04-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Work around an entity parsing bug in libxml2 2.7.3 (supplied with Lion) and unskip tests
        https://bugs.webkit.org/show_bug.cgi?id=82577

        Reviewed by Filip Pizlo.

        Work-around entity expansion bug that affects several SVG tests on Lion.

        Sample test document which is currently broken:
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
        <!ENTITY Smile "<rect x='.5' y='.5' width='29' height='39' fill='black' stroke='red'/>">
        ]>

        <svg xmlns="http://www.w3.org/2000/svg">&Smile;</svg>

        The expanded rect carries no namespace, thus an Element will be created for it, instead of a SVGRectElement.
        libxml2 2.7.4 fixed this bug (https://bugzilla.gnome.org/show_bug.cgi?id=502960) in 2009 already, but Lion
        still ships with 2.7.3, so we need to find a work-around for the problem. It works like this:
        - When an entity is requested (getEntityHandler) determine whether the entity is being declared (while the <!ENTITY.. parses)
          or wheter its references (when the &Smile; is parsed). If its referenced, record the current depth of the libxml2 parser.
        - When startElementNs is called while we're expanding entities, be sure to transfer the namespace of the parent node
          to the new node, but only do this if the current depth() is greater than the depth() at the time where entity expansion started.
          This way we only apply our workaround for elements inside entities, that get expanded at the insertion point.
        - When endElementNs is called, and our current depth() is less than our equal to the depth() where entity expansion started,
          clear the recorded detph(), and stop executing the workaround.

        It requires storing an extra integer & boolean in XMLDocumentParser, which is only used for this work-around.

        * xml/parser/XMLDocumentParser.h:
        (XMLDocumentParser):
        (WebCore::XMLDocumentParser::isParsingEntityDeclaration):
        (WebCore::XMLDocumentParser::setIsParsingEntityDeclaration):
        (WebCore::XMLDocumentParser::depthTriggeringEntityExpansion):
        (WebCore::XMLDocumentParser::setDepthTriggeringEntityExpansion):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::hackAroundLibXMLEntityParsingBug):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::entityDeclarationHandler):
        (WebCore::getEntityHandler):
        (WebCore::XMLDocumentParser::initializeParserContext):

2012-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113526.
        http://trac.webkit.org/changeset/113526
        https://bugs.webkit.org/show_bug.cgi?id=83417

        speculative rollout for broken chrome browser_test (Requested
        by simonjam on #webkit).

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::stopLoading):
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore):
        (WebCore::DocumentLoader::setParsedArchiveData):
        (WebCore::DocumentLoader::scheduleArchiveLoad):
        (WebCore::DocumentLoader::documentURL):
        * loader/DocumentLoader.h:
        (DocumentLoader):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::loadArchive):
        (WebCore::FrameLoader::stopAllLoaders):
        (WebCore::FrameLoader::finishedLoadingDocument):
        (WebCore):
        * loader/FrameLoader.h:
        (FrameLoader):
        (WebCore::FrameLoader::archive):

2012-04-06  James Robinson  <jamesr@chromium.org>

        [chromium] Avoid deleting impl tree when becoming invisible
        https://bugs.webkit.org/show_bug.cgi?id=83396

        Reviewed by Adrienne Walker.

        This bit of code in CCLayerTreeHost::didBecomeInvisible..() was an attempt to drop resources when becoming
        invisible. However, it's fairly confused - we drop textures via TextureManagers when going invisible and
        CCLayerImpl destructors can't delete non-managed resources since they do not have access to a context - so this
        code was never actually freeing up GPU resources. Having a sometimes-null CCLayerImpl tree when we still have a
        valid LayerChromium tree has lead to various tricky bugs.

        No new tests since this code wasn't doing anything useful in the first place.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):

2012-04-06  Leo Yang  <leo.yang@torchmobile.com.cn>

        LocalFileSystem::initializeLocalFileSystem should be static
        https://bugs.webkit.org/show_bug.cgi?id=83356

        Reviewed by Rob Buis.

        LocalFileSystem::initializeLocalFileSystem should be static because
        static LocalFileSystem::localFileSystem() requires initializeLocalFileSystem()
        is called before it gets called.

        No functionalities changed, no new tests.

        * Modules/filesystem/LocalFileSystem.h:
        (LocalFileSystem):

2012-04-06  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Accelerated compositing is broken after recent TextureMapper reorganizations
        https://bugs.webkit.org/show_bug.cgi?id=83393

        Reviewed by Noam Rosenthal.

        No new tests. This will be covered by existing accelerated compositing tests
        once the implementation is complete.

        The GTK+ implementation doesn't clip currently, so hold off enabling the
        scissor test until necessary.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::beginPainting): Do not enable the scissor test.
        (WebCore::TextureMapperGL::beginScissorClip): Enable the scissor test once
        we know for sure we will be using scissored clipping.

2012-04-06  Keishi Hattori  <keishi@webkit.org>

        Remove obsolete parts of <datalist> support code
        https://bugs.webkit.org/show_bug.cgi?id=83117

        Removing HTMLInputElement::selectedOption because it was removed from the specification.
        Removing -webkit-appearance:list-button and -webkit-input-list-button pseudo selector
        related code because we decided not to use it.

        Reviewed by Kent Tamura.

        * WebCore.order:
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):
        (WebCore::nameToPseudoTypeMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        * css/CSSValueKeywords.in:
        * css/html.css:
        (datalist):
        * html/HTMLInputElement.cpp:
        * html/HTMLInputElement.h:
        (HTMLInputElement):
        * html/HTMLInputElement.idl:
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer):
        * inspector/front-end/SourceCSSTokenizer.re2js:
        * inspector/front-end/StylesSidebarPane.js:
        * platform/ThemeTypes.h:
        * platform/chromium/ThemeChromiumMac.mm:
        (WebCore::setupButtonCell):
        (WebCore::paintButton):
        (WebCore::ThemeChromiumMac::controlSize):
        (WebCore::ThemeChromiumMac::minimumControlSize):
        (WebCore::ThemeChromiumMac::controlBorder):
        (WebCore::ThemeChromiumMac::paint):
        * platform/mac/ThemeMac.mm:
        (WebCore::setUpButtonCell):
        (WebCore::paintButton):
        (WebCore::ThemeMac::controlSize):
        (WebCore::ThemeMac::minimumControlSize):
        (WebCore::ThemeMac::controlBorder):
        (WebCore::ThemeMac::paint):
        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::paintDecorations):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustRepaintRect):

2012-04-06  Oliver Hunt  <oliver@apple.com>

        Accessing the returnValue of a modal dialog should be performed directly on the global object.
        https://bugs.webkit.org/show_bug.cgi?id=83414

        Reviewed by Gavin Barraclough.

        Presumably during the mass-devirtualising of JSObject, this deliberate use of
        the GlobalObject's property lookup logic directly was replaced with a dynamic
        call.  That results in the DOMWindow filtering out the lookup.  This regression
        was masked by r93567.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::DialogHandler::returnValue):

2012-04-06  Nate Chapin  <japhet@chromium.org>

        Move Archive processing to DocumentLoader, instead of FrameLoader.
        https://bugs.webkit.org/show_bug.cgi?id=83055

        Reviewed by Adam Barth.

        No new tests, no functionality change intended.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::maybeCreateArchive): Renamed from
            FrameLoader::finishedLoadingDocument(). Returns true if an archive
            was created.
        (WebCore::DocumentLoader::setArchive):
        (WebCore::DocumentLoader::scheduleArchiveLoad):
        (WebCore::DocumentLoader::documentURL): Add a check for whether an archive url
            should be returned, so that we don't need special handling in Document and
            FrameLoader for overriding the document url later.
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::receivedFirstData): Remove archive special cases, since
            DocumentLoader::documentURL() will return the right thing for legacy archives
            and maybeCreateArchive() will override the base url for mhtml.
        (WebCore::FrameLoader::loadArchive):
        * loader/FrameLoader.h:

2012-04-06  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Build fix to match the latest WebCore change
        https://bugs.webkit.org/show_bug.cgi?id=83358

        Reviewed by Rob Buis.

        Update the BlackBerry cmake file to reflect the fact that:
        1.VDMXParser.cpp moved from graphics/skia to graphics/chromium.
        2.geolocation moved to Modules/geolocation
        3.websockets moved to Modules/websockets

        * PlatformBlackBerry.cmake:

2012-04-06  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Restore some code which was deleted by accident.
        https://bugs.webkit.org/show_bug.cgi?id=83357

        Reviewed by Rob Buis.

        No new tests, just BlackBerry build fix.

        * platform/network/blackberry/ResourceRequest.h:
        (ResourceRequest):
        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore):
        (WebCore::mimeTypeRequestTypeMap):
        (WebCore::ResourceRequest::targetTypeFromMimeType):

2012-04-06  Alexandre Elias  <aelias@google.com>

        Fix bug in ContainerNode::getRect with scale transforms
        https://bugs.webkit.org/show_bug.cgi?id=83385

        Reviewed by Simon Fraser.

        The bottom-right corner calculation for non-inline and replaced
        elements in ContainerNode::getRect was incorrect in the presence of
        scaling, because the untransformed element size was added after the
        transformation is applied.  The rest of the calculations are careful
        to always apply the transformation as the last step, but this had been
        forgotten in this codepath.  The fix is just to make sure the size is
        included in the localToAbsolute call.

        One bug caused by this was that a scaled element would be cut off
        when scrollIntoView(false) is called to scroll its parent container
        to make it bottom-visible.

        New layout test case in fast/transforms/scrollIntoView-transformed.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::getLowerRightCorner):

2012-04-06  Tim Horton  <timothy_horton@apple.com>

        m_shouldRespectImageOrientation is used uninitialized
        https://bugs.webkit.org/show_bug.cgi?id=83410

        Reviewed by Simon Fraser.

        Initialize Settings's m_shouldRespectImageOrientation to false.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):

2012-04-06  James Robinson  <jamesr@chromium.org>

        [chromium] Clear values in combinedClear path not respected in WebGLRenderingContext::clearIfComposited()
        https://bugs.webkit.org/show_bug.cgi?id=83407

        Reviewed by Kenneth Russell.

        When doing a combined clear in the drawing buffer path, we have to use the user specified values for the clear
        color / mask / depth and not all 0s.

        Covered by slight modification to fast/canvas/webgl/canvas-test.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::clearIfComposited):
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::clearFramebuffers):
        (WebCore::DrawingBuffer::reset):
        * platform/graphics/gpu/DrawingBuffer.h:

2012-04-06  Tony Chang  <tony@chromium.org>

        [chromium] merge redundant conditions in WebCore.gyp
        https://bugs.webkit.org/show_bug.cgi?id=83319

        Reviewed by Adam Barth.

        There were duplicate conditions in some of the targets (e.g., 2
        OS=="win" sections) so I merged them and if possible, used an else
        block of an existing condition.

        No new tests, just refactoring the build file.

        * WebCore.gyp/WebCore.gyp:

2012-04-06  Simon Fraser  <simon.fraser@apple.com>

        Rename paintingGoesToWindow() to paintsIntoWindow()
        https://bugs.webkit.org/show_bug.cgi?id=83406

        Reviewed by Dirk Schulze.
        
        Rename paintingGoesToWindow() to paintsIntoWindow() to be consistent
        with some future refactoring.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::paintsWithTransform):
        (WebCore::RenderLayer::setBackingNeedsRepaint):
        (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::containsPaintedContent):
        (WebCore::RenderLayerBacking::paintsIntoWindow):
        (WebCore::RenderLayerBacking::paintIntoLayer):
        * rendering/RenderLayerBacking.h:
        (RenderLayerBacking):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintUsingContainer):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2012-04-06  James Simonsen  <simonjam@chromium.org>

        Roll out change to HTMLParserIdioms.cpp from 82857
        https://bugs.webkit.org/show_bug.cgi?id=83402

        Change 82857 causes a DCHECK on fast/forms/number/ValidityState-typeMismatch-number.html

        Darin suggested we roll out this file here: https://bugs.webkit.org/show_bug.cgi?id=82857#c20

        Unreviewed, rolling out change that broke tests.

        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::parseToDoubleForNumberType):

2012-04-06  Ilya Sherman  <isherman@chromium.org>

        Allow site authors to override autofilled fields' colors.
        https://bugs.webkit.org/show_bug.cgi?id=66032
        http://code.google.com/p/chromium/issues/detail?id=46543

        Reviewed by Simon Fraser.

        * css/html.css:
        (input:-webkit-autofill): Remove !important declarations.

2012-04-05  Enrica Casucci  <enrica@apple.com>

        Provide Obj-C private API to simplify markup.
        https://bugs.webkit.org/show_bug.cgi?id=83334
        <rdar://problem/11033861>

        Reviewed by Sam Weinig.

        Added test in TestWebKitAPI

        * WebCore.exp.in:
        * editing/Editor.cpp:
        (WebCore::Editor::simplifyMarkup): Exposing the new command through the editor.
        * editing/Editor.h:

2012-04-06  Benjamin Poulain  <bpoulain@apple.com>

        Get rid of the useless flag PREEMPT_GEOLOCATION_PERMISSION
        https://bugs.webkit.org/show_bug.cgi?id=83325

        Reviewed by Ryosuke Niwa.

        The flag WTF_USE_PREEMPT_GEOLOCATION_PERMISSION was added in r63742 but
        was never disabled by anyone. Supporting this feature added complexity by
        introducing two authorization scheme.

        This patch removes WTF_USE_PREEMPT_GEOLOCATION_PERMISSION and the code supporting
        granting the authorization after startUpdating().

        * Modules/geolocation/Geolocation.cpp:
        (WebCore::Geolocation::GeoNotifier::runSuccessCallback): With the simplified
        authorization code, we ensure stronger constraint on GeoNotifier::runSuccessCallback().
        (WebCore::Geolocation::stop):
        (WebCore::Geolocation::startRequest):
        (WebCore::Geolocation::clearWatch):
        (WebCore::Geolocation::setIsAllowed):
        (WebCore::Geolocation::positionChanged): The case (!isAllowed()) was there
        to support granting the authorization for WTF_USE_PREEMPT_GEOLOCATION_PERMISSION.
        (WebCore::Geolocation::handlePendingPermissionNotifiers):
        * Modules/geolocation/Geolocation.h:
        (Geolocation):

2012-04-06  Tom Sepez  <tsepez@chromium.org>

        Block cross-origin iframe scroll to fragment.
        https://bugs.webkit.org/show_bug.cgi?id=73083

        Reviewed by Adam Barth.

        Add a restriction similar to what FF has done for all iframes for over a
        year now. Our change is less disruptive in that it only does this in the
        cross-orgin case, which is where the fragment scrolling is problematic.

        Test: http/tests/navigation/anchor-frames-cross-origin.html

        * dom/Document.cpp:
        (WebCore::Document::canBeAccessedByEveryAncestorFrame):
        (WebCore):
        * dom/Document.h:
        (Document):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedParsing):
        (WebCore::FrameLoader::loadInSameDocument):
        (WebCore::FrameLoader::loadURL):
        (WebCore::FrameLoader::loadWithDocumentLoader):
        (WebCore::FrameLoader::shouldPerformFragmentNavigation):
        (WebCore::FrameLoader::scrollToFragmentIfAllowed):
        (WebCore):
        * loader/FrameLoader.h:
        (FrameLoader):

2012-04-03  Jer Noble  <jer.noble@apple.com>

        Foreground of apple.com/iphone video page visible during full screen animation.
        https://bugs.webkit.org/show_bug.cgi?id=83080

        Reviewed by Simon Fraser.

        No new tests; updated fullscreen/full-screen-stacking-context.html

        The apple.com/iphone video page uses a -webkit-mask: CSS style, which creates a stacking
        context and causes the page to pop in front of the full screen renderer.  Add all the
        styles suggested by the W3C full screen spec to the -webkit-full-screen-ancestor rule
        to keep these stacking contexts from being created.

        * css/fullscreen.css:
        (:-webkit-full-screen-ancestor:not(iframe)):

2012-04-06  Abhishek Arya  <inferno@chromium.org>

        Virtualize createAnonymousBoxWithSameTypeAs.
        https://bugs.webkit.org/show_bug.cgi?id=83229

        Reviewed by Julien Chaffraix.

        This helps to use the same function to create anonymous
        table parts and in the future extend to more classes
        derived from RenderBox.

        The current switch case situation was going to be messy as
        we will need to mix cases that were very dependent on the
        class, so it made sense to add a virtual function.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::createAnonymousBoxWithSameTypeAs):
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::createAnonymousBoxWithSameTypeAs):
        (RenderBox):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::splitFlow):
        * rendering/RenderTable.h:
        (WebCore::RenderTable::createAnonymousBoxWithSameTypeAs):
        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::createAnonymousBoxWithSameTypeAs):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::createAnonymousBoxWithSameTypeAs):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::createAnonymousBoxWithSameTypeAs):

2012-04-06  Tim Horton  <timothy_horton@apple.com>

        [cg] REGRESSION (r101517): Animating the transform of a <rect> with shape-rendering: crispEdges leaves behind garbage
        https://bugs.webkit.org/show_bug.cgi?id=82963
        <rdar://problem/11170476>

        Reviewed by Simon Fraser.

        CoreGraphics can inflate the stroke by 1px when drawing a rectangle
        with antialiasing disabled at non-integer coordinates, we need to
        compensate by inflating the RenderSVGRect repaint bounds by 1px.

        No new tests, as this is not reproducible in DRT or WKTR.

        * rendering/svg/RenderSVGRect.cpp:
        (WebCore::RenderSVGRect::createShape):
        (WebCore::RenderSVGRect::strokeBoundingBox):
        * rendering/svg/RenderSVGRect.h:
        (RenderSVGRect):

2012-04-05  Simon Fraser  <simon.fraser@apple.com>

        Avoid trying to set filters on transform layers
        https://bugs.webkit.org/show_bug.cgi?id=83344

        Reviewed by Dean Jackson.

        Return early from GraphicsLayerCA::setFilters() when the filters
        haven't changed. This avoids trying to clear filters on CALayers
        which never had them, which should both help performance, and avoids
        console spew related to setting shadow properties on transform layers.
        
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setFilters):

2012-04-06  James Robinson  <jamesr@chromium.org>

        WebGL content swapped at wrong time in threaded compositing mode
        https://bugs.webkit.org/show_bug.cgi?id=82275

        Reviewed by Kenneth Russell.

        When using threaded compositing, we need to defer touching the texture ID being used by the compositor until the
        appropriate point in the synchronization routine and not before. Specifically, there is no time at which it is
        safe to manipulate the texture the compositor may be using from the main thread. This breaks up the presentation
        path into a few pieces (depending on the context attributes) in order to maintain these invariants.

        Depending on the context attributes and if we're in threaded mode, there are a few different possible back/front
        buffer combinations:

        - When the context is antialiased, we have a multisampled renderbuffer and associated framebuffer.
        - In all cases, we have a color texture back buffer.
        - When preserveDrawingBuffer is set or threaded compositing is enabled, we have a separate color texture as a
        front buffer.

        The resource update is in two phases. First, on the main thread, we prepare the back buffer. This resolves from
        the multisampled FBO into the back color buffer if multisampled and swaps the front / back color buffer textures
        if preserveDrawingBuffer is false and we're using separate front / back color buffers. Second, on the compositor
        thread, we do a texture copy from the back to the front color buffer if preserveDrawingBuffer is true. After
        these steps are complete the main thread is free to manipulate the back buffer color texture without affecting
        any resources the compositor is using.

        One incidental cleanup this patch also does is remove all state queries from DrawingBuffer::clearFramebuffer().

        Tests: fast/canvas/webgl/webgl-composite-modes-repaint.html
               fast/canvas/webgl/webgl-composite-modes.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::clearIfComposited):
        (WebCore::WebGLRenderingContext::restoreStateAfterClear):
        (WebCore::WebGLRenderingContext::reshape):
        (WebCore::WebGLRenderingContext::maybeRestoreContext):
        * html/canvas/WebGLRenderingContext.h:
        (WebGLRenderingContext):
        * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore):
        (WebCore::DrawingBuffer::prepareBackBuffer):
        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
        (WebCore::DrawingBuffer::frontColorBuffer):
        * platform/graphics/cairo/DrawingBufferCairo.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore):
        (WebCore::DrawingBuffer::prepareBackBuffer):
        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
        (WebCore::DrawingBuffer::frontColorBuffer):
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::generateColorTexture):
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::initialize):
        (WebCore::DrawingBuffer::prepareBackBuffer):
        (WebCore):
        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
        (WebCore::DrawingBuffer::frontColorBuffer):
        (WebCore::DrawingBuffer::platformLayer):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
        (WebCore::WebGLLayerChromium::paintContentsIfDirty):
        (WebCore::WebGLLayerChromium::updateCompositorResources):
        (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
        (WebCore::WebGLLayerChromium::setNeedsDisplayRect):
        (WebCore::WebGLLayerChromium::setDrawingBuffer):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebGLLayerChromium):
        * platform/graphics/clutter/DrawingBufferClutter.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore):
        (WebCore::DrawingBuffer::prepareBackBuffer):
        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
        (WebCore::DrawingBuffer::frontColorBuffer):
        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::initializeContext):
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::create):
        (WebCore::DrawingBuffer::clear):
        (WebCore::DrawingBuffer::clearFramebuffer):
        (WebCore::DrawingBuffer::reset):
        (WebCore::DrawingBuffer::discardResources):
        * platform/graphics/gpu/DrawingBuffer.h:
        (DrawingBuffer):
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore):
        (WebCore::DrawingBuffer::prepareBackBuffer):
        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
        (WebCore::DrawingBuffer::frontColorBuffer):
        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::platformLayer):
        (WebCore::DrawingBuffer::prepareBackBuffer):
        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
        (WebCore):
        (WebCore::DrawingBuffer::frontColorBuffer):

2012-04-06  Julien Chaffraix  <jchaffraix@webkit.org>

        Unreviewed build fix after r113486 and r113487.

        * rendering/RenderObject.cpp:
        Added missing #include.

        * rendering/RenderView.h:
        Removed bad OVERRIDE.

2012-04-06  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=81939
        -webkit-image-set should update dynamically when the device scale factor 
        changes
        -and corresponding-
        <rdar://problem/11101108> 

        Reviewed by Darin Adler.

        New member variable to keep track of the scale factor.
        * css/CSSImageSetValue.cpp:
        (WebCore::CSSImageSetValue::CSSImageSetValue):
        (WebCore::CSSImageSetValue::bestImageForScaleFactor):

         Merge the two cachedImageSet functions. There was no need for two functions here.
        (WebCore::CSSImageSetValue::cachedImageSet):

        cachedOrPendingImageSet() now takes a Document as a parameter so that it can 
        access the deviceScaleFactor. If there is a cached image already and the 
        Document's deviceScaleFactor doesn't match m_scaleFactor, then m_imageSet is set 
        to a pending image so that the best fit image will be reassessed and then 
        loaded.
        (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
        * css/CSSImageSetValue.h:
        (WebCore):
        (CSSImageSetValue):

        cachedOrPendingImageSet() now takes a Document.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

        StyleCachedImageSet should inherit from CachedImageClient just like 
        StyleCachedImage. It should add and remove itself as a client upon creation 
        and destruction, respectively.
        * rendering/style/StyleCachedImageSet.cpp:
        (WebCore::StyleCachedImageSet::StyleCachedImageSet):
        (WebCore):
        (WebCore::StyleCachedImageSet::~StyleCachedImageSet):
        * rendering/style/StyleCachedImageSet.h:
        (StyleCachedImageSet):

2012-04-06  Levi Weintraub  <leviw@chromium.org>

        Update LayoutUnit usage in RenderView
        https://bugs.webkit.org/show_bug.cgi?id=83147

        Reviewed by Julien Chaffraix.

        Updating the usage of LayoutUnits in RenderView in preparation for sub-pixel layout. This mostly
        affects paint and repaint functions, which take LayoutRects up to the RenderView level. This is
        necessary as we continue to accumulate sub-pixel offsets up to this level.

        No new tests. No change in behavior.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paint): Adding an assert that we're being called to paint on pixel
        boundaries. We don't currently ever position RenderViews at sub-pixel offsets.
        (WebCore::RenderView::shouldRepaint):
        (WebCore::RenderView::repaintViewRectangle): Switching to a LayoutRect and cleaning up a fixme
        that used decomposed offsets. Pixel snapping is applied before handing the rect up to the
        FrameView.
        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): Pixel snapping before handing
        the rect up to the Compositor.
        (WebCore::RenderView::computeRectForRepaint):
        (WebCore::RenderView::selectionBounds):
        (WebCore::RenderView::viewRect):
        (WebCore::RenderView::unscaledDocumentRect):
        * rendering/RenderView.h:
        (RenderView):

2012-04-06  Tim Horton  <timothy_horton@apple.com>

        Add autodetection of image orientation from EXIF information
        https://bugs.webkit.org/show_bug.cgi?id=19688
        <rdar://problem/4126979> and <rdar://problem/11091578>

        Original patch by David Carson and Eric Seidel.

        Reviewed by Simon Fraser.

        Add support for respecting EXIF image orientation, enabled by default for ImageDocuments.
        The setting shouldRespectImageOrientation causes orientation to take effect for any image included via <img>.

        Test: fast/images/exif-orientation.html, fast/images/exif-orientation-css.html

        * WebCore.xcodeproj/project.pbxproj: Add ImageOrientation.{cpp, h}
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::imageForRenderer): Plumb setting down from RenderObject into Image.
        (WebCore::CachedImage::imageSizeForRenderer):
        * page/Settings.h:
        (WebCore::Settings::setShouldRespectImageOrientation):
        (WebCore::Settings::shouldRespectImageOrientation):
        (Settings):
        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::cacheFrame):
        (WebCore::BitmapImage::size):
        (WebCore::BitmapImage::sizeRespectingOrientation):
        (WebCore):
        (WebCore::BitmapImage::ensureFrameIsCached):
        (WebCore::BitmapImage::frameAtIndex):
        (WebCore::BitmapImage::frameIsCompleteAtIndex):
        (WebCore::BitmapImage::frameDurationAtIndex):
        (WebCore::BitmapImage::frameHasAlphaAtIndex):
        (WebCore::BitmapImage::frameOrientationAtIndex):
        * platform/graphics/BitmapImage.h:
        (WebCore::FrameData::FrameData):
        (FrameData):
        (BitmapImage):
        * platform/graphics/GraphicsContext.h:
        (GraphicsContext):
        * platform/graphics/ImageOrientation.cpp: Added.
        (WebCore):
        (WebCore::ImageOrientation::transformFromDefault):
        * platform/graphics/ImageOrientation.h: Added.
        (WebCore):
        (ImageOrientation):
        (WebCore::ImageOrientation::ImageOrientation):
        (WebCore::ImageOrientation::usesWidthAsHeight):
        (WebCore::ImageOrientation::fromEXIFValue):
        (WebCore::ImageOrientation::operator==):
        (WebCore::ImageOrientation::operator!=):
        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::orientationAtIndex):
        (WebCore):
        * platform/graphics/ImageSource.h:
        (WebCore):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawNativeImage): Transform the image while drawing if its orientation requires it.
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::draw):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::FrameData::clear):
        (WebCore::BitmapImage::BitmapImage):
        (WebCore::BitmapImage::draw):
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::imageSourceOptions): Don't use SkipMetaData on Lion/Snow Leopard, as it prevents us from retrieving orientation data.
        (WebCore::ImageSource::frameSizeAtIndex): Adjust the image's size based on its orientation.
        (WebCore):
        (WebCore::ImageSource::orientationAtIndex):
        (WebCore::ImageSource::size):
        * platform/graphics/mac/DragImageMac.mm:
        (createDragImageFromImage): Create scaled copy of image for drag image if we're respecting orientation and it is non-default.
        * rendering/RenderObject.h:
        (RenderObject):
        (WebCore::RenderObject::shouldRespectImageOrientation):

2012-04-06  Levi Weintraub  <leviw@chromium.org>

        Correct LayoutUnit usgae in RenderThemeQt and RenderThemeQStyle
        https://bugs.webkit.org/show_bug.cgi?id=83376

        Reviewed by Eric Seidel.

        Correcting LayoutUnit usage in QT RenderTheme code.

        No new tests. No change in behavior.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::convertToPaintingRect): Rounding the ancestor offset before
        applying it to the pixel snapped partRect.
        (WebCore::RenderThemeQt::paintSearchFieldCancelButton): Also rounding the ancestor
        offset, and also pixel snapping the content rect before painting.

2012-04-06  Kenneth Russell  <kbr@google.com>

        context-lost.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=81325

        Reviewed by James Robinson.

        Ensure that the DrawingBuffer does not attempt to restore the
        TEXTURE_2D binding to an already-deleted texture.

        Tested with layout test fast/canvas/webgl/context-lost.html as
        well as WebGL conformance tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::loseContextImpl):

2012-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113267.
        http://trac.webkit.org/changeset/113267
        https://bugs.webkit.org/show_bug.cgi?id=83384

        causes dhtml perf regression (Requested by simonjam on
        #webkit).

        * dom/ChildListMutationScope.cpp:
        (ChildListMutationScope::MutationAccumulator):
        (WebCore::ChildListMutationScope::MutationAccumulator::isAddedNodeInOrder):
        (WebCore::ChildListMutationScope::MutationAccumulator::childAdded):
        (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
        * dom/ChildListMutationScope.h:
        (WebCore::ChildListMutationScope::childAdded):
        (MutationAccumulationRouter):
        * dom/ContainerNode.cpp:
        (WebCore):
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::updateTreeAfterInsertion):

2012-04-06  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: ObjectStore/Index shouldn't hold reference to backing store
        https://bugs.webkit.org/show_bug.cgi?id=83074

        We should be able to collect and close the leveldb backing store as soon as the database
        connection is closed, but the IDBObjectStoreBackendImpl and IDBIndexBackendImpl were
        holding RefPtrs, and those objects are kept alive by script references.

        Replaced RefPtrs to the IDBBackingStore with pointers to the IDBDatabase. On the back end,
        IDBDatabaseBackendImpl maintains a RefPtr to the IDBObjectStoreBackendImpl object, so 
        a raw pointer back is safe. On the front end, the IDBObjectStore maintains a RefPtr to
        the IDBDatabase so script can navigate upwards. Ditto on both ends for the ObjectStore/Index
        relationship. The frontend objects maintain RefPtrs to the backend objects, so the backend
        objects and their owners are maintained as long as there's a script reference.

        Also made IDBDatabaseBackendImpl handle a null IDBFactoryBackendImpl pointer, for testing.

        Reviewed by Tony Chang.

        Tests: webkit_unit_tests --gtest_filter="IDBDatabaseBackendTest.*"

        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
        (WebCore::IDBIndexBackendImpl::openCursorInternal):
        (WebCore::IDBIndexBackendImpl::countInternal):
        (WebCore::IDBIndexBackendImpl::getInternal):
        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
        * Modules/indexeddb/IDBIndexBackendImpl.h:
        (WebCore::IDBIndexBackendImpl::create):
        (IDBIndexBackendImpl):
        (WebCore::IDBIndexBackendImpl::backingStore):
        (WebCore::IDBIndexBackendImpl::databaseId):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
        (WebCore::IDBObjectStoreBackendImpl::getInternal):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
        (WebCore):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
        (WebCore::IDBObjectStoreBackendImpl::countInternal):
        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
        (WebCore::IDBObjectStoreBackendImpl::create):
        (IDBObjectStoreBackendImpl):
        (WebCore::IDBObjectStoreBackendImpl::backingStore):
        (WebCore::IDBObjectStoreBackendImpl::databaseId):

2012-04-06  Jon Lee  <jonlee@apple.com>

        Fix build warning on const long long to int implicit conversion.

        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):

2012-04-06  Emil A Eklund  <eae@chromium.org>

        Fix LayoutUnit usage and rounding in RenderBlock and RenderEmbeddedObject
        https://bugs.webkit.org/show_bug.cgi?id=83343

        Reviewed by Eric Seidel.

        Fix usage of LayoutUnits and rounding/pixel snapping in RenderBlock and
        RenderEmbeddedObject in preparation for turing on subpixel support.

        No new tests, no change in functionality.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::baselinePosition):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::nodeAtPoint):

2012-04-06  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.

2012-04-06  Levi Weintraub  <leviw@chromium.org>

        Update LayoutUnit usage in Editor and Frame
        https://bugs.webkit.org/show_bug.cgi?id=83278

        Reviewed by Eric Seidel.

        Frame and Editor both take input from the embedder, which passes along coordinates in screen
        coordinates, which aren't fractional. Updating a few remaining functions to show this, and correcting
        some inconsistencies in LayoutUnit usage.

        No new tests. No change in behavior.

        * editing/Editor.cpp:
        (WebCore::Editor::rangeForPoint): windowToContents returns an IntPoint.
        (WebCore::Editor::countMatchesForText): Using enclosingIntRect since we're (fake) repainting the entire
        view rect.
        * editing/Editor.h:
        (Editor): Correcting mismatched function signature.
        * page/Frame.cpp:
        (WebCore::Frame::visiblePositionForPoint): Frame takes points in screen coordinates, usually from the
        embedder. Changing these functions to be in IntPoints.
        (WebCore::Frame::documentAtPoint): Ditto.
        (WebCore::Frame::rangeForPoint): Ditto.
        * page/Frame.h:
        (Frame):
        * platform/graphics/IntRect.h:
        (enclosingIntRect): Adding an inline no-op copy of the FractionalLayoutRect method enclosingIntRect.

2012-04-06  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Deleting the chromium bridge class MediaStreamCenterInternal
        https://bugs.webkit.org/show_bug.cgi?id=83167

        Reviewed by Adam Barth.

        The situation before this patch is that we had a MediaStreamCenter.h with #ifdefs for the chromium specific
        private class MediaStreamCenterInternal. This bridge class only shuffled calls between MediaStreamCenter and
        WebMediaStreamCenter and was needed before the introduction of Platform.
        To get rid of this now unnecessary class I had two alternatives:
        1) Sprinkle platform/MediaStreamCenter.h with more #ifdefs, including around the class declaration.
        2) Create an abstract base class that the chromium and gstreamer implementations overrides.
        My personal preference is 2) since I strongly dislike #ifdefs. The drawback is that MediaStreamCenter now
        has a vtable. However since all methods in this class are extremely low-usage it doesn't affect anything
        in practice.

        No code behaviour changes.

        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Modules/mediastream/MediaStreamTrack.cpp:
        (WebCore::MediaStreamTrack::setEnabled):
        * Modules/mediastream/UserMediaRequest.cpp:
        * Modules/mediastream/UserMediaRequest.h:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/chromium/support/WebMediaStreamSourcesRequest.cpp:
        * platform/mediastream/MediaStreamCenter.cpp:
        (WebCore::MediaStreamCenter::MediaStreamCenter):
        (WebCore):
        (WebCore::MediaStreamCenter::~MediaStreamCenter):
        * platform/mediastream/MediaStreamCenter.h:
        (WebCore):
        (MediaStreamCenter):
        * platform/mediastream/MediaStreamSourcesQueryClient.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.h.
        (WebCore):
        (MediaStreamSourcesQueryClient):
        (WebCore::MediaStreamSourcesQueryClient::~MediaStreamSourcesQueryClient):
        * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
        (WebCore::MediaStreamCenter::instance):
        (WebCore::MediaStreamCenterChromium::MediaStreamCenterChromium):
        (WebCore::MediaStreamCenterChromium::~MediaStreamCenterChromium):
        (WebCore::MediaStreamCenterChromium::queryMediaStreamSources):
        (WebCore::MediaStreamCenterChromium::didSetMediaStreamTrackEnabled):
        (WebCore::MediaStreamCenterChromium::didStopLocalMediaStream):
        (WebCore::MediaStreamCenterChromium::didConstructMediaStream):
        (WebCore::MediaStreamCenterChromium::constructSDP):
        (WebCore):
        (WebCore::MediaStreamCenterChromium::stopLocalMediaStream):
        * platform/mediastream/chromium/MediaStreamCenterChromium.h: Renamed from Source/WebCore/platform/mediastream/chromium/MediaStreamCenterInternal.h.
        (WebKit):
        (WebCore):
        (MediaStreamCenterChromium):
        * platform/mediastream/chromium/MediaStreamCenterInternal.cpp: Removed.
        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
        (WebCore):
        (WebCore::MediaStreamCenter::instance):
        (WebCore::MediaStreamCenterGStreamer::MediaStreamCenterGStreamer):
        (WebCore::MediaStreamCenterGStreamer::~MediaStreamCenterGStreamer):
        (WebCore::MediaStreamCenterGStreamer::queryMediaStreamSources):
        (WebCore::MediaStreamCenterGStreamer::didSetMediaStreamTrackEnabled):
        (WebCore::MediaStreamCenterGStreamer::didStopLocalMediaStream):
        (WebCore::MediaStreamCenterGStreamer::didConstructMediaStream):
        (WebCore::MediaStreamCenterGStreamer::constructSDP):
        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.h.
        (WebCore):
        (MediaStreamCenterGStreamer):

2012-04-05  Simon Fraser  <simon.fraser@apple.com>

        Should disable preserves3D() for things that enforce flattening, like overflow and filters
        https://bugs.webkit.org/show_bug.cgi?id=83337

        Reviewed by Dean Jackson.
        
        The CSS3 Transforms spec says that some properties should cause flattening
        of things with transform-style: preserve-3d. We currently do this as a side
        effect of the GraphicsLayer structure, but we should really do it at the
        RenderStyle level, as we do for other things like stacking context creation.

        Test: compositing/overflow-trumps-transform-style.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-04-06  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: MediaStreams stops proper cleanup to take place during a page reload.
        https://bugs.webkit.org/show_bug.cgi?id=83143

        Reviewed by Adam Barth.

        To fix this I have converted MediaStream and LocalMediaStream to be ActiveDOMObjects.

        Have no idea how to write a test that succesfully verifies this. I have done manual testing
        to verify that proper tear-down now takes place.

        * Modules/mediastream/LocalMediaStream.cpp:
        (WebCore::LocalMediaStream::create):
        (WebCore::LocalMediaStream::stopFunction):
        (WebCore):
        * Modules/mediastream/LocalMediaStream.h:
        (LocalMediaStream):
        * Modules/mediastream/LocalMediaStream.idl:
        * Modules/mediastream/MediaStream.cpp:
        (WebCore::MediaStream::create):
        (WebCore::MediaStream::MediaStream):
        (WebCore::MediaStream::scriptExecutionContext):
        * Modules/mediastream/MediaStream.h:
        (MediaStream):

2012-04-06  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10912476> Pixel access canvas APIs do not work transparently with high-DPI backing store
        https://bugs.webkit.org/show_bug.cgi?id=83072

        Reviewed by Simon Fraser.

        Made getImageData, putImageData, and toDataURL downsample/upsample when pixels in the canvas
        backing store are not in a 1:1 ratio to CSS pixels. This makes clients of these APIs
        indifferent to the backing store resolution, up to sampling artifacts.

        In order for this to work, ImageBuffer has to know and respect the resolutionScale
        parameter. This change makes the Core Graphics-based implementation of ImageBuffer do this,
        but on other platforms, resolutionScale values other than 1 will not work. Such platforms
        should not enable the HIGH_DPI_CANVAS feature.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement): Updated a comment.
        (WebCore::HTMLCanvasElement::createImageBuffer): Changed to create an ImageBuffer with
        the desired resolution instead of 1.
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage): Removed code that scaled the source rect,
        since this is now handled at the ImageBuffer level.
        (WebCore::CanvasRenderingContext2D::createImageData): Now returns ImageData of the requested
        size regardless of the backing store resolution.
        (WebCore::CanvasRenderingContext2D::getImageData): Ditto.
        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::create): Removed some code that tried to apply the resolution scale
        to the buffer after creating it, and changed to pass the resolution scale down to the
        (platform-specific) constructor, which can apply it correctly.
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer): Added a resolutionScale parameter, which is used to
        compute the backing buffer size, and to apply a device scale factor to the context.
        (WebCore::ImageBuffer::copyImage): Changed to return an image scaled down to the logical
        size of the buffer.
        (WebCore::ImageBuffer::getUnmultipliedImageData): Changed to pass the resolution scale to
        ImageData::getData().
        (WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
        (WebCore::ImageBuffer::putByteArray): Changed to pass the resolution scale to
        ImageData::putData(). When drawing the byte array as an image, changed to preserve the base
        CTM in the destination context (thus mapping from image data pixels to backing store pixels).
        (WebCore::ImageBuffer::toDataURL): Fixed a CGColorSpace leak. Made the returned image have
        the buffer’s logical size instead of the backing buffer’s size.
        (WebCore::ImageDataToDataURL): Fixed a CGColorSpace leak.
        * platform/graphics/cg/ImageBufferDataCG.cpp:
        (WebCore::ImageBufferData::getData): Added a resolutionScale parameter. The source
        coordinates are scaled by the value of that parameter, and a reverse scaling transform
        is applied when copying from the backing store into the destination (either explicitly
        using Accelerate or implicitly by drawing as an image). Since after scaling,
        unpremultiplication and component permutation are done in-place, made the
        non-Accelerate code that does these things safe in this case.
        (WebCore::ImageBufferData::putData): Added a resolutionScale parameter. The destination
        coordinates are scaled by the value of that parameter, and a scaling transform is applied
        when copying from the source into the backing store (either explicitly using Accelerate or
        implicitly by drawing as an image). Since after scaling, premultiplication and component
        permutation are done in-place, made the non-Accelerate code that does these things safe in
        this case.
        * platform/graphics/cg/ImageBufferDataCG.h:
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::ImageBuffer):

2012-04-06  Dana Jansens  <danakj@chromium.org>

        [chromium] Draw debug borders for tiles on layers with skipsDraw
        https://bugs.webkit.org/show_bug.cgi?id=83352

        Reviewed by Adrienne Walker.

        The tiles are given the same color as other missing tiles.

        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):

2012-04-06  Rob Buis  <rbuis@rim.com>

        Fix cast-align warnings in JSC
        https://bugs.webkit.org/show_bug.cgi?id=80790

        Reviewed by George Staikos.

        * platform/graphics/WOFFFileFormat.cpp:
        (WebCore::readUInt32):
        (WebCore::readUInt16):
        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
        (WebCore::preMultipliedBGRAtoRGB):
        * platform/network/MIMESniffing.cpp:

2012-04-06  Darin Adler  <darin@apple.com>

        Streamline strtod and fix some related problems
        https://bugs.webkit.org/show_bug.cgi?id=82857

        Reviewed by Geoffrey Garen.

        Refactoring of code covered by existing tests.

        * dom/ViewportArguments.cpp:
        (WebCore::numericPrefix): Removed a confusing comment that just said
        "we tolerate extra characters" in a roundabout way. Made the "ok"
        argument optional. Changed to call the new version of charactersToFloat
        that returns the number of characters parsed rather than using the
        charactersToFloatIgnoringJunk/didReadNumber solution from before.
        (WebCore::findSizeValue): Since numericPrefix is guaranteed to return 0
        when it can't parse, removed the "ok" code. Also changed the unusual
        syntax "float(1.0)" to just "1", which works just as well.
        (WebCore::findScaleValue): Ditto.
        (WebCore::findUserScalableValue): Ditto.

        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::parseToDoubleForNumberType): Removed an unneeded code path
        and replaced it with an assertion; toDouble no longer will return infinity
        or not-a-number values.

2012-04-06  Dana Jansens  <danakj@chromium.org>

        [chromium] Surface replica should have a separate quad in the render pass
        https://bugs.webkit.org/show_bug.cgi?id=83287

        Reviewed by Adrienne Walker.

        Generate separate quads for a RenderSurface and its replica. The replica
        quad is drawn independently of the surface itself. This allows us to
        cull each one independently.

        Covered by existing tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::setScissorRect):
        (WebCore):
        (WebCore::CCRenderSurface::drawContents):
        (WebCore::CCRenderSurface::drawReplica):
        (WebCore::CCRenderSurface::hasReplica):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (CCRenderSurface):
        * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp:
        (WebCore::CCRenderSurfaceDrawQuad::create):
        (WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad):
        * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h:
        (CCRenderSurfaceDrawQuad):
        (WebCore::CCRenderSurfaceDrawQuad::isReplica):

2012-04-05  Martin Robinson  <mrobinson@igalia.com>

        [GObject bindings] Fix the coding style issues in the generated bindings
        https://bugs.webkit.org/show_bug.cgi?id=82080

        Reviewed by Kentaro Hara.

        No new tests. This is covered by the binding tests.

        * bindings/scripts/CodeGeneratorGObject.pm: Fix most style errors in the generated
          GObject code.
        * bindings/scripts/test/GObject: Updated the expected results.


2012-04-06  Adam Klein  <adamk@chromium.org>

        Remove bogus assert from ChildListMutationScope
        https://bugs.webkit.org/show_bug.cgi?id=83336

        Reviewed by Ryosuke Niwa.

        This assert can trivially be triggered from script, but luckily the
        code already behaves correctly without it.

        * dom/ChildListMutationScope.cpp:
        (WebCore::ChildListMutationScope::MutationAccumulator::enqueueMutationRecord):

2012-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113442.
        http://trac.webkit.org/changeset/113442
        https://bugs.webkit.org/show_bug.cgi?id=83373

        for breaking JSC bindings compilation (Requested by pfeldman
        on #webkit).

        * GNUmakefile.list.am:
        * Target.pri:
        * UseJSC.cmake:
        * UseV8.cmake:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSMutationCallbackCustom.cpp: Added.
        (WebCore):
        (WebCore::JSMutationCallback::handleEvent):
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        (AddIncludesForTypeInImpl):
        (GenerateCallbackHeader):
        (GenerateCallbackImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateCallbackHeader):
        (GenerateCallbackImplementation):
        * bindings/scripts/test/JS/JSTestCallback.cpp:
        (WebCore::JSTestCallback::callbackWithBoolean):
        * bindings/scripts/test/JS/JSTestCallback.h:
        (JSTestCallback):
        * bindings/scripts/test/TestCallback.idl:
        * bindings/scripts/test/V8/V8TestCallback.cpp:
        (WebCore::V8TestCallback::callbackWithBoolean):
        * bindings/scripts/test/V8/V8TestCallback.h:
        (V8TestCallback):
        * bindings/v8/custom/V8MutationCallbackCustom.cpp: Added.
        (WebCore):
        (WebCore::V8MutationCallback::handleEvent):
        * dom/MutationCallback.idl:

2012-04-06  Zan Dobersek  <zandobersek@gmail.com>

        [Gtk] Unskip the video track tests
        https://bugs.webkit.org/show_bug.cgi?id=82590

        Reviewed by Martin Robinson.

        Enable the video track runtime feature for the Gtk port as well.

        No new tests - existing ones will be unskipped.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):

2012-04-06  Michael Saboff  <msaboff@apple.com>

        Call Heap::discardAllCompiledCode() in low memory situations
        https://bugs.webkit.org/show_bug.cgi?id=83335

        Reviewed by Geoffrey Garen.

        Added call to discardAllCompiledCode() when under memory pressure.
        We can re-JIT as needed.  This is similar to what we used to do when we did
        a full GC which also cleaned up JIT code.  Doing a full GC typically didn't
        help our memory situation, in fact it made things worse in the really low
        memory situation as it caused more paging.

        Added pass through discardAllCompiledCode() method to GCController.

        * bindings/js/GCController.cpp:
        (WebCore::GCController::discardAllCompiledCode):
        (WebCore):
        * bindings/js/GCController.h:
        (GCController):
        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore::MemoryPressureHandler::releaseMemory):

2012-04-06  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
        https://bugs.webkit.org/show_bug.cgi?id=82616

        Reviewed by Pavel Feldman.

        - center minimal selection on mouse cursor if the mouse hasn't moved (i.e. we had a click, not drag)

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):

2012-04-06  Vineet Chaudhary  <rgf748@motorola.com>

        Add CodeGenerator support for sequence<> in callbacks.
        https://bugs.webkit.org/show_bug.cgi?id=83233

        Reviewed by Kentaro Hara.

        Tests: TestCallback.idl and fast/mutation/callback-arguments.html should pass even after
        the changes.

        * GNUmakefile.list.am: Removed unsued custom files V8MutationCallbackCustom.cpp 
          and JSMutationCallbackCustom.cpp from builds.
        * Target.pri: Ditto.
        * UseJSC.cmake: Ditto.
        * UseV8.cmake: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSMutationCallbackCustom.cpp: Removed.
        * bindings/scripts/CodeGeneratorJS.pm:
        (AddIncludesForTypeInImpl): Add proper header type.
        (GenerateCallbackHeader): Generate declaration for the callback with sequence<T> argument.
        (GenerateCallbackImplementation): Generate implementation for the callback with sequence<T> argument.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateCallbackHeader): Generate declaration for the callback with sequence<T> argument.
        (GenerateCallbackImplementation): Generate implementation for the callback with sequence<T> argument.
        * bindings/scripts/test/JS/JSTestCallback.cpp: Modified test results of run-bindings-tests.
        (WebCore):
        (WebCore::JSTestCallback::handleEvent):
        * bindings/scripts/test/JS/JSTestCallback.h: Modified test results of run-bindings-tests.
        (JSTestCallback):
        * bindings/scripts/test/TestCallback.idl: Added test callback with sequence<> argument.
        * bindings/scripts/test/V8/V8TestCallback.cpp: Modified test results of run-bindings-tests.
        (WebCore):
        (WebCore::V8TestCallback::handleEvent):
        * bindings/scripts/test/V8/V8TestCallback.h: Modified test results of run-bindings-tests.
        (V8TestCallback):
        * bindings/v8/custom/V8MutationCallbackCustom.cpp: Removed.
        * dom/MutationCallback.idl: Removed custom bindings using sequence<T>.

2012-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113431.
        http://trac.webkit.org/changeset/113431
        https://bugs.webkit.org/show_bug.cgi?id=83372

        for breaking at least Chromium compilation (Requested by
        pfeldman on #webkit).

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paint):
        (WebCore::RenderView::shouldRepaint):
        (WebCore::RenderView::repaintViewRectangle):
        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
        (WebCore::RenderView::computeRectForRepaint):
        (WebCore::RenderView::selectionBounds):
        (WebCore::RenderView::viewRect):
        (WebCore::RenderView::unscaledDocumentRect):
        * rendering/RenderView.h:
        (RenderView):

2012-04-06  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: completely switch all domains to 'strict' mode
        https://bugs.webkit.org/show_bug.cgi?id=83332

        Reviewed by Pavel Feldman.

        Hardcoded list of domains is removed from generator. Partial domain sorting is dropped as unneeded.
        Types with open propery list are introduced: validator allows undocumented properties for them.

        Timeline domain code is patched to do runtimeCast in the last moment because true switching to
        type-safe interfaces should take significant time and should be done separately.

        * inspector/CodeGeneratorInspector.py:
        (Generator.go):
        (Generator.process_event):
        (Generator.process_command):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):

2012-04-06  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: stop accepting raw InspectorObject in generated setters
        https://bugs.webkit.org/show_bug.cgi?id=83327

        Reviewed by Pavel Feldman.

        Generator fixed to have strict types in generated setter methods.

        Client code is switched from InspectorObject's and String's to generated types where
        needed.

        * inspector/CodeGeneratorInspector.py:
        (AdHocTypeContext):
        (format_setter_value_expression):
        * inspector/ConsoleMessage.cpp:
        (WebCore::messageSourceValue):
        (WebCore::messageTypeValue):
        (WebCore::messageLevelValue):
        (WebCore::ConsoleMessage::addToFrontend):
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
        * inspector/InspectorApplicationCacheAgent.h:
        (InspectorApplicationCacheAgent):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::detectOrigin):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore):
        * inspector/InspectorMemoryAgent.cpp:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForTiming):
        (WebCore::buildObjectForCachedResource):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::buildObjectForStyle):
        (WebCore::InspectorStyleSheet::create):
        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
        (WebCore::InspectorStyleSheetForInlineStyle::create):
        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
        * inspector/InspectorStyleSheet.h:
        (InspectorCSSId):
        (WebCore::InspectorCSSId::asProtocolValue): method is made template as now it returns 2 formally different types.
        (InspectorStyleSheet):
        (WebCore::InspectorStyleSheet::canBind):
        (InspectorStyleSheetForInlineStyle):

2012-04-06  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: highlight diff in the gutter, not in the line content.
        https://bugs.webkit.org/show_bug.cgi?id=83371

        Reviewed by Yury Semikhatsky.

        Now that the editing mode is enabled by default, diff highlighting gets annoying.
        I am moving it to the gutter (same decoration as before, but now coloring gutter only).

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
        * inspector/front-end/textViewer.css:
        (.diff-container .webkit-added-line.webkit-line-number):
        (.diff-container .webkit-removed-line.webkit-line-number):
        (.diff-container .webkit-changed-line.webkit-line-number):

2012-04-06  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: stop accepting raw InspectorObject in generated setters
        https://bugs.webkit.org/show_bug.cgi?id=83327

        Reviewed by Pavel Feldman.

        Generator fixed to have strict types in generated setter methods.

        Client code is switched from InspectorObject's and String's to generated types where
        needed.

        * inspector/CodeGeneratorInspector.py:
        (AdHocTypeContext):
        (format_setter_value_expression):
        * inspector/ConsoleMessage.cpp:
        (WebCore::messageSourceValue):
        (WebCore::messageTypeValue):
        (WebCore::messageLevelValue):
        (WebCore::ConsoleMessage::addToFrontend):
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
        * inspector/InspectorApplicationCacheAgent.h:
        (InspectorApplicationCacheAgent):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::detectOrigin):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore):
        * inspector/InspectorMemoryAgent.cpp:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForTiming):
        (WebCore::buildObjectForCachedResource):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::buildObjectForStyle):
        (WebCore::InspectorStyleSheet::create):
        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
        (WebCore::InspectorStyleSheetForInlineStyle::create):
        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
        * inspector/InspectorStyleSheet.h:
        (InspectorCSSId):
        (WebCore::InspectorCSSId::asProtocolValue): method is made template as now it returns 2 formally different types.
        (InspectorStyleSheet):
        (WebCore::InspectorStyleSheet::canBind):
        (InspectorStyleSheetForInlineStyle):

2012-04-06  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: highlight diff in the gutter, not in the line content.
        https://bugs.webkit.org/show_bug.cgi?id=83371

        Reviewed by Yury Semikhatsky.

        Now that the editing mode is enabled by default, diff highlighting gets annoying.
        I am moving it to the gutter (same decoration as before, but now coloring gutter only).

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
        * inspector/front-end/textViewer.css:
        (.diff-container .webkit-added-line.webkit-line-number):
        (.diff-container .webkit-removed-line.webkit-line-number):
        (.diff-container .webkit-changed-line.webkit-line-number):

2012-04-06  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: highlight diff in the gutter, not in the line content.
        https://bugs.webkit.org/show_bug.cgi?id=83371

        Reviewed by Yury Semikhatsky.

        Now that the editing mode is enabled by default, diff highlighting gets annoying.
        I am moving it to the gutter (same decoration as before, but now coloring gutter only).

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
        * inspector/front-end/textViewer.css:
        (.diff-container .webkit-added-line.webkit-line-number):
        (.diff-container .webkit-removed-line.webkit-line-number):
        (.diff-container .webkit-changed-line.webkit-line-number):

2012-04-06  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: remove url from the saved urls map before the save action.
        https://bugs.webkit.org/show_bug.cgi?id=83364

        Reviewed by Yury Semikhatsky.

        URL gets added back upon successful save anyways, but if user chooses cancel saving,
        we stop bugging him with the save-as dialog.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._exportAll):
        (WebInspector.NetworkLogView.prototype._exportResource):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._contextMenu):
        (WebInspector.TextViewer.prototype._commitEditing):
        * inspector/front-end/TimelineModel.js:
        (WebInspector.TimelineModel.prototype.saveToFile):
        * inspector/front-end/inspector.js:

2012-04-06  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: display frame details in popover on frame strip in Timeline panel
        https://bugs.webkit.org/show_bug.cgi?id=83365

        Reviewed by Pavel Feldman.

        - added popovers for frame strips;
        - factored out generateAggregatedInfo for reuse in the above;
        - made frame event dividers thinner, darker and greyer.

        * English.lproj/localizedStrings.js: Added "FPS" and "Frame"
        * inspector/front-end/TimelineFrameController.js:
        (WebInspector.TimelineFrameController.prototype._flushFrame): added startTimeOffset.
        (WebInspector.TimelineFrameController.prototype._createSyntheticFrame): ditto.
        * inspector/front-end/TimelineModel.js:
        (WebInspector.TimelineModel.prototype._updateBoundaries):
        (WebInspector.TimelineModel.prototype.recordOffsetInSeconds):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._updateFrames): added link to frame to strip div.
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype._getPopoverAnchor): handle frame anchors separately.
        (WebInspector.TimelinePanel.prototype._mouseMove): ditto.
        (WebInspector.TimelinePanel.prototype._showPopover):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
        (WebInspector.TimelinePresentationModel._generateAggregatedInfo): factored out for reuse.
        (WebInspector.TimelinePresentationModel.generatePopupContentForFrame):
        * inspector/front-end/inspectorCommon.css:
        (.resources-dividers-label-bar):
        * inspector/front-end/timelinePanel.css:
        (.timeline .resources-event-divider.timeline-frame-divider): made divider thin and grey.
        (.timeline-frame-strip): bumped z-index, added pointer-events: auto.

2012-04-06  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: show "dirty" flag for CSS files edited in the resources panel.
        https://bugs.webkit.org/show_bug.cgi?id=83363

        Reviewed by Yury Semikhatsky.

        Added TextEdited notification into the editable source frame, listening to it
        in the resources panel.

        * inspector/front-end/ResourceView.js:
        (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
        (WebInspector.EditableResourceSourceFrame.prototype.isDirty):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
        (WebInspector.FrameResourceTreeElement.prototype.sourceView):
        (WebInspector.FrameResourceTreeElement.prototype._sourceViewTextEdited):

2012-04-06  Levi Weintraub  <leviw@chromium.org>

        Update LayoutUnit usage in RenderView
        https://bugs.webkit.org/show_bug.cgi?id=83147

        Reviewed by Julien Chaffraix.

        Updating the usage of LayoutUnits in RenderView in preparation for sub-pixel layout. This mostly
        affects paint and repaint functions, which take LayoutRects up to the RenderView level. This is
        necessary as we continue to accumulate sub-pixel offsets up to this level.

        No new tests. No change in behavior.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paint): Adding an assert that we're being called to paint on pixel
        boundaries. We don't currently ever position RenderViews at sub-pixel offsets.
        (WebCore::RenderView::shouldRepaint):
        (WebCore::RenderView::repaintViewRectangle): Switching to a LayoutRect and cleaning up a fixme
        that used decomposed offsets. Pixel snapping is applied before handing the rect up to the
        FrameView.
        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): Pixel snapping before handing
        the rect up to the Compositor.
        (WebCore::RenderView::computeRectForRepaint):
        (WebCore::RenderView::selectionBounds):
        (WebCore::RenderView::viewRect):
        (WebCore::RenderView::unscaledDocumentRect):
        * rendering/RenderView.h:
        (RenderView):

2012-04-06  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: hide popover on mouseout from anchor
        https://bugs.webkit.org/show_bug.cgi?id=83362

        Reviewed by Pavel Feldman.

        - start hide popover timer when mouse moves out of popover anchor, as we won't receive mousemove events any more;
        - factored out starting of popover kill timer to a method.

        * inspector/front-end/Popover.js:
        (WebInspector.PopoverHelper):
        (WebInspector.PopoverHelper.prototype._mouseMove): Factored out StartHidePopoverTimer()
        (WebInspector.PopoverHelper.prototype._mouseOut): Just call StartHidePopoverTimer() when mouse moves out of anchor.
        (WebInspector.PopoverHelper.prototype._startHidePopoverTimer.doHide): 
        (WebInspector.PopoverHelper.prototype._startHidePopoverTimer):
        (WebInspector.PopoverHelper.prototype._hidePopover): Reset hoverElement (aka anchor) when hiding popover.

2012-04-06  Andrey Kosyakov  <caseq@chromium.org>

        [Chromium] Web Inspector: getEventListeners(window) crashes on NTP
        https://bugs.webkit.org/show_bug.cgi?id=83353

        Reviewed by Pavel Feldman.

        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::getEventListenersCallback):

2012-04-06  Kent Tamura  <tkent@chromium.org>

        Touch ChromeClient.h to fix Chromium build.
        https://bugs.webkit.org/show_bug.cgi?id=83258

        * page/ChromeClient.h:

2012-04-06  Kent Tamura  <tkent@chromium.org>

        Initial LocalizedDateICU.cpp implementation
        https://bugs.webkit.org/show_bug.cgi?id=60868

        Reviewed by Hajime Morita.

        Add LocalizedDateICU.cpp, which supports only Date type.  It uses a
        short format because a date field is keyboard-editable.
        e.g. 5/15/11 in US locale.

        * WebCore.gyp/WebCore.gyp: Exclude LocalizedDateNone.cpp.
        * WebCore.gypi: Add LocalizedDateICU.cpp.
        * platform/text/LocalizedDateICU.cpp: Added.
        (WebCore::parseLocalizedDate):
        (WebCore::formatLocalizedDate):

2012-04-05  Alexander Pavlov  <apavlov@chromium.org>

        [REGRESSION] Refreshed autofill popup renders garbage
        https://bugs.webkit.org/show_bug.cgi?id=83255
        http://code.google.com/p/chromium/issues/detail?id=118374

        The code used to update only the PopupContainer coordinates as if they were the coordinates relative
        to the root view. Instead, a WebWidget positioned relative to the screen origin holds the PopupContainer,
        so it is the WebWidget that should be positioned in PopupContainer::refresh(), and the PopupContainer's
        location should be (0, 0) (and their sizes should always be equal).

        Reviewed by Kent Tamura.

        No new tests, as the popup appearance is not testable in WebKit.

        * platform/chromium/PopupContainer.cpp:
        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Variable renamed.
        (WebCore::PopupContainer::showPopup): Use m_originalFrameRect rather than frameRect()
        for passing into chromeClient.
        (WebCore::PopupContainer::showInRect): Set up the correct frameRect() for the container.
        (WebCore::PopupContainer::refresh): Resize the container and position the WebWidget correctly.
        * platform/chromium/PopupContainer.h:
        (PopupContainer):

2012-04-06  Kent Tamura  <tkent@chromium.org>

        Calendar Picker: Add code to open/close the calendar picker
        https://bugs.webkit.org/show_bug.cgi?id=83258

        Reviewed by Hajime Morita.

        No new tests. This code is not used because of no ENABLE_INPUT_TYPE_DATE.

        * WebCore.gypi: Add existing header files.

        * html/DateInputType.cpp:
        (WebCore::DateInputType::DateInputType):
        Moved from DateInputType.h because the constructor depends on
        CalendarPickerElement.
        (WebCore::DateInputType::createShadowSubtree):
        Store a CalendarPickerElement object.
        (WebCore::DateInputType::destroyShadowSubtree):
        Release the CalendarPickerElement object.
        (WebCore::DateInputType::handleBlurEvent):
        Close the calendar picker when the input loses focus.
        * html/DateInputType.h:
        (DateInputType):
        - Move the constructor definition to DateInputType.cpp
        - Add function declarations
        - Add m_pickerElement data member.

        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::CalendarPickerElement::hostInput): A helper to get the host <input>.
        (WebCore::CalendarPickerElement::defaultEventHandler):
        If the element is clicked, open a calendar picker.
        (WebCore::CalendarPickerElement::openPopup):
        Opens a calendar picker by ChromeClient::openPagePopup().
        (WebCore::CalendarPickerElement::closePopup):
        Closes a calendar picker by ChromeClient::closePagePopup().
        (WebCore::CalendarPickerElement::detach):
        Closes a calendar picker when the element loses a renderer.

        (WebCore::CalendarPickerElement::contentSize):
        Provides the initial size of a popup.
        (WebCore::addString): A helper for writeDocument().
        (WebCore::addJavaScriptString): ditto.
        (WebCore::addProperty): ditto.
        (WebCore::CalendarPickerElement::writeDocument):
        Provides the source of a popup. The function creates a complete HTML with:
        - WebCore/Resources/calendarPicker.css
        - WebCore/Resources/calendarPicker.js
        - An object to pass localization strings and <input> state
        (WebCore::CalendarPickerElement::setValueAndClosePopup):
        Sets the value from a calendar picker to the <input>.
        (WebCore::CalendarPickerElement::didClosePopup):
        Clear the popup object.
        * html/shadow/CalendarPickerElement.h:
        (CalendarPickerElement): Add declarations.

        * platform/text/LocalizedCalendarICU.cpp:
        (WebCore::getFirstDayOfWeek): Make sure this is 0-base. UCAL_SUNDAY is 1.

2012-04-05  Adele Peterson  <adele@apple.com>

        <rdar://problem/11133179> and https://bugs.webkit.org/show_bug.cgi?id=74129
        REGRESSION (SnowLeopard, 5.1.4): All WK2 horizontal scrollbars look broken

        Patch by Dan Bernstein, Reviewed by Beth Dakin.

        This code assumed that the current CTM wouldn't have extraneous operations built into it, 
        but this bug is evidence that that assumption was wrong. We should just get the base CTM instead 
        and apply the device scale factor to it.

        No tests added since the SnowLeopard-style scrollbars aren't testable in our regression tests right now.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
        (WebCore::GraphicsContext::applyDeviceScaleFactor):
        * platform/graphics/GraphicsContext.h: (GraphicsContext):
        * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):

2012-04-05  Yuta Kitamura  <yutak@chromium.org>

        Leak in WebSocketChannel with workers/worker-reload.html
        https://bugs.webkit.org/show_bug.cgi?id=83345

        Reviewed by David Levin.

        A speculative fix of memory leaks caused by worker-reload.html.

        No new tests, as this change imposes no functional change.

        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
        Receive the peer as PassOwnPtr<> so the destructor of the task object can
        delete the peer even if the task didn't run before main thread's cleanup period.
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
        (WorkerThreadableWebSocketChannel):

2012-04-05  Lu Guanqun  <guanqun.lu@intel.com>

        combine two arrays (coreExceptionNames and coreExceptionDescriptions) into one array
        https://bugs.webkit.org/show_bug.cgi?id=83141

        Reviewed by Adam Barth.

        No new tests required.

        * dom/DOMCoreException.cpp:
        (CoreException):
        (WebCore):
        (WebCore::DOMCoreException::initializeDescription):

2012-04-05  David Barton  <dbarton@mathscribe.com>

        Remove intrinsic padding from contentBoxRect(), etc.
        https://bugs.webkit.org/show_bug.cgi?id=83092

        Reviewed by Julien Chaffraix.

        "Intrinsic padding" does not count as CSS padding, but is treated as padding by basic
        layout and rendering code, e.g. RenderBlock::layout(). A lot of code relies on the
        equation border-box = content-box + padding + border (+ scrollbars). To keep this valid,
        change 5 functions in RenderBox.h to not include intrinsic padding in the content box,
        thus reverting to their behavior before the patch for bug 33593. Instead, have
        sizingBox(renderer) in CSSComputedStyleDeclaration.cpp explicitly put the intrinsic
        padding in computed CSS content-box values [for javascript getComputedStyle()], so the
        above equation still also holds for CSS computed values. This seems more consistent with
        how the padding...() functions behave since the patch for bug 23487, and will work
        better for MathML. For instance, a block's contentLogicalWidth() will be the
        availableLogicalWidth() for use by child elements.

        No new tests. The only real observable changes are illustrated in the bug 83092 attached
        test case and discussion. These are minor and hard to automate.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::sizingBox):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeNode):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::contentBoxRect):
        (WebCore::RenderBox::contentWidth):
        (WebCore::RenderBox::contentHeight):
        (WebCore::RenderBox::contentLogicalWidth):
        (WebCore::RenderBox::contentLogicalHeight):
            - Change these 5 functions to omit intrinsic padding from the content box.
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::cellBaselinePosition):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::firstLineBoxBaseline):

2012-04-05  Hironori Bono  <hbono@chromium.org>

        [Chromium] moving a cursor on a misspelled word should not remove a misspelled underline
        https://bugs.webkit.org/show_bug.cgi?id=83214

        Reviewed by Ryosuke Niwa.

        When Chrome enables asynchronous spellchecking, it adds Spelling markers in the
        background. For this case, moving a cursor should not remove these markers
        because it requires Chrome to spellcheck text again. This change prevents
        removing Spelling markers added by spellcheckers asynchronously.

        Test: platform/chromium/editing/spelling/move-cursor-to-misspelled-word.html

        * editing/Editor.cpp:
        (WebCore::Editor::respondToChangedSelection):

2012-04-05  Hans Muller  <hmuller@adobe.com>

        CSS Exclusions polygon shape arguments should be comma separated
        https://bugs.webkit.org/show_bug.cgi?id=82368

        Reviewed by Ryosuke Niwa.

        Changed the CSS Parser to accept a conventional comma separated argument list for the
        polygon exclusion shape. The syntax had used spaces to separate x,y coordinates, like:
        polygon(10px,20px 30px,40px).  Now commas separate points: polygon(10px 20px, 30px 40px).
        This change is per the draft exclusions spec, http://dev.w3.org/csswg/css3-exclusions.
        Additional relevant information about CSS argument list syntax can be found
        here: http://dev.w3.org/csswg/css3-values/#component-whitespace.

        Factored comma recognition idiom in CSSParser.cpp into isComma() utility function.

        The existing tests have been updated.

        * css/CSSParser.cpp:
        (WebCore::isComma)
        (WebCore::CSSParser::parseFillPosition)
        (WebCore::CSSParser::parseFillRepeat)
        (WebCore::CSSParser::parseFillProperty)
        (WebCore::CSSParser::parseCubicBezierTimingFunctionValue)
        (WebCore::CSSParser::parseAnimationTimingFunction)
        (WebCore::CSSParser::parseAnimationProperty)
        (WebCore::CSSParser::parseExclusionShapePolygon)
        (WebCore::CSSParser::parseDeprecatedGradient)
        (WebCore::CSSParser::parseRadialGradient)
        (WebCore::CSSParser::parseGradientColorStops)
        (WebCore::CSSParser::parseImageSet)
        (WebCore::filterInfoForName)
        (WebCore::CSSParser::parseCustomFilter)
        (WebCore::CSSParser::parseFontFeatureSettings)

        * css/CSSWrapShapes.cpp:
        (WebCore::CSSWrapShapePolygon::cssText):

2012-04-05  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Support string.length in keyPaths
        https://bugs.webkit.org/show_bug.cgi?id=83221

        Special case in the IDB spec - keyPaths can reference the |length| property
        of string values. Other instrinsic properties (|length| of Array, etc) are
        handled automagically. Relevant section of the updated spec is:
        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-path-construct

        Reviewed by Kentaro Hara.

        Test: storage/indexeddb/keypath-intrinsic-properties.html

        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore):

2012-04-05  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Update the InstrumentedPlatformCanvas after rebasing Skia
        https://bugs.webkit.org/show_bug.cgi?id=83314

        Reviewed by George Staikos.

        RIM PR: 143771
        One new virtual method was added to the SkCanvas, to draw a nine piece
        image. Override it and mark output as not being a solid color anymore.

        * platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
        (WebCore::InstrumentedPlatformCanvas::drawBitmapNine):
        (InstrumentedPlatformCanvas):

2012-04-05  Oliver Hunt  <oliver@apple.com>

        Make WebCore use jsCast rather than static_cast for casting JSC objects
        https://bugs.webkit.org/show_bug.cgi?id=83320

        Reviewed by Stephanie Lewis.

        Mechanically replace static_cast with jsCast where ever we can.

        * WebCore.exp.in:
        * bindings/js/DOMWrapperWorld.cpp:
        (WebCore::JSStringOwner::finalize):
        * bindings/js/DOMWrapperWorld.h:
        (WebCore::currentWorld):
        * bindings/js/JSArrayBufferCustom.cpp:
        (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
        * bindings/js/JSCSSRuleListCustom.cpp:
        (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
        (WebCore::cssPropertyGetterCallback):
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
        (WebCore::JSCSSValueOwner::finalize):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::reportException):
        * bindings/js/JSDOMBinding.h:
        (WebCore::deprecatedGlobalObjectForPrototype):
        (WebCore::getDOMPrototype):
        * bindings/js/JSDOMFormDataCustom.cpp:
        (WebCore::toHTMLFormElement):
        (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData):
        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
        (WebCore::JSDOMMimeTypeArray::nameGetter):
        * bindings/js/JSDOMPluginArrayCustom.cpp:
        (WebCore::JSDOMPluginArray::nameGetter):
        * bindings/js/JSDOMPluginCustom.cpp:
        (WebCore::JSDOMPlugin::nameGetter):
        * bindings/js/JSDOMStringMapCustom.cpp:
        (WebCore::JSDOMStringMap::nameGetter):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::toJSDOMWindow):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::childFrameGetter):
        (WebCore::indexGetter):
        (WebCore::namedItemGetter):
        (WebCore::toDOMWindow):
        * bindings/js/JSDOMWindowCustom.h:
        (WebCore::asJSDOMWindow):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::window):
        * bindings/js/JSDOMWrapper.h:
        (WebCore::JSDOMWrapper::globalObject):
        * bindings/js/JSDataViewCustom.cpp:
        (WebCore::JSDataViewConstructor::constructJSDataView):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSEventTarget.cpp:
        (WebCore):
        (WebCore::toEventTarget):
        * bindings/js/JSFloat32ArrayCustom.cpp:
        (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
        * bindings/js/JSFloat64ArrayCustom.cpp:
        (WebCore::JSFloat64ArrayConstructor::constructJSFloat64Array):
        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::JSGeolocation::getCurrentPosition):
        (WebCore::JSGeolocation::watchPosition):
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::callHTMLAllCollection):
        (WebCore::JSHTMLAllCollection::nameGetter):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::JSHTMLCollection::nameGetter):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::nameGetter):
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter):
        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
        (WebCore::JSHTMLFrameSetElement::nameGetter):
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::remove):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::constructImage):
        * bindings/js/JSInjectedScriptManager.cpp:
        (WebCore::InjectedScriptManager::createInjectedScript):
        (WebCore::InjectedScriptManager::discardInjectedScript):
        (WebCore::InjectedScriptManager::injectedScriptFor):
        * bindings/js/JSInt16ArrayCustom.cpp:
        (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
        * bindings/js/JSInt32ArrayCustom.cpp:
        (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
        * bindings/js/JSInt8ArrayCustom.cpp:
        (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
        * bindings/js/JSLazyEventListener.cpp:
        (WebCore::JSLazyEventListener::initializeJSFunction):
        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::nameGetter):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
        (WebCore::JSNodeOwner::finalize):
        * bindings/js/JSNodeCustom.h:
        (WebCore::toJS):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::toNodeFilter):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
        (WebCore::JSNodeList::nameGetter):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::runtimeObjectPropertyGetter):
        (WebCore::callPlugin):
        * bindings/js/JSPopStateEventCustom.cpp:
        (WebCore::JSPopStateEvent::state):
        * bindings/js/JSSQLTransactionCustom.cpp:
        (WebCore::JSSQLTransaction::executeSql):
        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::nameGetter):
        * bindings/js/JSStyleSheetListCustom.cpp:
        (WebCore::JSStyleSheetList::nameGetter):
        * bindings/js/JSTextTrackCueCustom.cpp:
        (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
        * bindings/js/JSTextTrackCustom.cpp:
        (WebCore::JSTextTrackOwner::isReachableFromOpaqueRoots):
        * bindings/js/JSTextTrackListCustom.cpp:
        (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
        * bindings/js/JSTrackCustom.cpp:
        (WebCore::toTrack):
        * bindings/js/JSUint16ArrayCustom.cpp:
        (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
        * bindings/js/JSUint32ArrayCustom.cpp:
        (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
        * bindings/js/JSUint8ArrayCustom.cpp:
        (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
        * bindings/js/JSUint8ClampedArrayCustom.cpp:
        (WebCore::JSUint8ClampedArrayConstructor::constructJSUint8ClampedArray):
        * bindings/js/JSWebKitMutationObserverCustom.cpp:
        (WebCore::JSWebKitMutationObserverConstructor::constructJSWebKitMutationObserver):
        * bindings/js/JSWebKitPointCustom.cpp:
        (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
        * bindings/js/JSWorkerContextBase.cpp:
        (WebCore::toJSDedicatedWorkerContext):
        (WebCore::toJSSharedWorkerContext):
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorkerConstructor::constructJSWorker):
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::importStylesheet):
        (WebCore::JSXSLTProcessor::transformToFragment):
        (WebCore::JSXSLTProcessor::transformToDocument):
        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStackForInspector):
        * bindings/js/ScriptControllerMac.mm:
        (WebCore::updateStyleIfNeededForBindings):
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidPause):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/js/ScriptState.cpp:
        (WebCore::domWindowFromScriptState):
        (WebCore::scriptExecutionContextFromScriptState):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::fillTransferMap):
        (WebCore::CloneSerializer::dumpArrayBufferView):
        (WebCore::CloneDeserializer::getJSValue):
        (WebCore::CloneDeserializer::readTerminal):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject _isSafeScript]):
        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateImplementation):
        (GenerateCallWith):
        (NativeToJSValue):
        (GenerateConstructorDefinition):
        * bridge/jni/jni_jsobject.h:
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::convertJObjectToValue):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        * bridge/objc/objc_utility.mm:
        (JSC::Bindings::convertValueToObjcValue):
        * bridge/runtime_method.cpp:
        (JSC::callRuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::callRuntimeConstructor):
        * testing/js/WebCoreTestSupport.cpp:
        (WebCoreTestSupport::injectInternalsObject):
        (WebCoreTestSupport::resetInternalsObject):

2012-04-05  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Scrolling some iframes that are partially out of the viewport leads to repaint errors
        https://bugs.webkit.org/show_bug.cgi?id=83309

        Reviewed by Gustavo Noronha Silva.

        Test: platform/gtk/fast/frames/scrolling-iframe-out-of-viewport.html

        The X11 backing store was not properly trimming the scroll region when it
        was only a portion of the screen. This was hidden by subsequent repaints.

        * platform/gtk/GtkWidgetBackingStoreX11.cpp:
        (WebCore::WidgetBackingStore::scroll): Fix the calculation of the scrolling region.

2012-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113299.
        http://trac.webkit.org/changeset/113299
        https://bugs.webkit.org/show_bug.cgi?id=83297

        The patch broke 11 tests on Lion. (Requested by jonlee on
        #webkit).

        * xml/parser/XMLDocumentParser.h:
        (XMLDocumentParser):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::getEntityHandler):
        (WebCore::XMLDocumentParser::initializeParserContext):

2012-04-05  Justin Novosad  <junov@chromium.org>

        [Chromium] Correct misleading trace event names in Canvas2DLayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=83310

        Reviewed by Adrienne Walker.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):

2012-04-05  Dean Jackson  <dino@apple.com>

        [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
        https://bugs.webkit.org/show_bug.cgi?id=76105

        Reviewed by Simon Fraser.

        Fix three issues with requestAnimationFrame:
        - It's possible for the call to rAF to come to the document before there
          is a page associated. Added a guard for this.
        - A page may try to suspend the scripted animations before the
          ScriptedAnimationController exists, in which case we need to
          suspend it immediately after it is created. Do this by keeping
          track of the state in Page. Otherwise rAF would be busy looping
          on hidden pages until they are brought to the front and hidden again.
        - A page created in the background (from WebKit1) does not get
          informed it is not visible. This can mean that resume() is called
          more times than suspend() and we get into a state where the number
          of suspensions becomes -1, and thus fails truthiness tests. Clamp it
          to values >= 0.

        No new tests, since this is not automatically testable. The most reliable test
        is to open a page with rAF in a background tab within Safari.

        * dom/Document.cpp:
        (WebCore::Document::webkitRequestAnimationFrame):
        * dom/ScriptedAnimationController.cpp:
        (WebCore::ScriptedAnimationController::resume):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::suspendScriptedAnimations):
        (WebCore::Page::resumeScriptedAnimations):
        * page/Page.h:
        (WebCore::Page::scriptedAnimationsSuspended):
        (Page):

2012-04-05  Brady Eidson  <beidson@apple.com>

        <rdar://problem/9359029> and https://bugs.webkit.org/show_bug.cgi?id=83311
        Crashes in WebProcess at WebCore::HistoryController::recursiveSetProvisionalItem when restoring previous session

        Reviewed by Sam Weinig.

        It's possible to hit a race condition between the UIProcess and the WebProcess where the UIProcess records for a 
        page have been cleared out but the WebProcess is still trying to perform a history navigation within that page.
        
        In this situation HistoryController code that expects there to always be a current history item in the back/forward
        controller is wrong.

        No new tests. (The race conditions involved have proven making a test impractical)

        * loader/HistoryController.cpp:
        (WebCore::HistoryController::recursiveSetProvisionalItem): Don't ASSERT the fromItem. We now know there might not be one.
        (WebCore::HistoryController::recursiveGoToItem): Ditto
        (WebCore::HistoryController::itemsAreClones): Always return false if either item is null, as a null item and a non-null
          item cannot possible be clones of each other.

2012-04-05  Adam Klein  <adamk@chromium.org>

        Crash in MutationObservers due to an invalid HashSet iterator
        https://bugs.webkit.org/show_bug.cgi?id=83304

        Reviewed by Ojan Vafai.

        If the observed node has been GCed when we clear transient observers
        from it, the HashSet iterator in WebKitMutationObserver::deliver would
        be invalidated. This patch fixes that behavior by copying the relevant
        registrations into a seperate vector first and operating on the copy.

        This patch also fixes a bug: transient observers should be cleared
        after every microtask, not just when delivering.

        Tests: fast/mutation/clear-transient-without-delivery.html
               fast/mutation/transient-gc-crash.html

        * dom/MutationObserverRegistration.cpp:
        (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
        Notify the observer that it has a transient registration so it can be properly cleared.
        * dom/MutationObserverRegistration.h:
        (WebCore::MutationObserverRegistration::hasTransientRegistrations):
        Add an accessor for use when deliver() creates its vector of registrations.
        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::setHasTransientRegistration): Add this to the active observer set
        to allow transient registrations to be cleared appropriately.
        (WebCore::WebKitMutationObserver::deliver): Avoid modifying m_registrations while iterating over it.
        Clear registrations before checking for a lack of records to deliver.
        * dom/WebKitMutationObserver.h:

2012-04-05  Adam Klein  <adamk@chromium.org>

        Rebaseline binding tests after r113272.

        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::constructorCallback):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::constructorCallback):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

2012-04-05  Stephen White  <senorblanco@chromium.org>

        [chromium] Drawing an accelerated canvas onto itself is slow.
        https://bugs.webkit.org/show_bug.cgi?id=83295

        Fixed by using a GPU-side deepCopy() in skia, so we don't trigger a
        readback and re-upload.

        Reviewed by James Robinson.

        Correctness is covered by existing tests. Performance is covered
        by the test case attached to the bug.

        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::BitmapImageSingleFrameSkia::create):

2012-04-05  Dana Jansens  <danakj@chromium.org>

        [chromium] Record the number of tiles paint-culled instead of the incorrect number of pixels
        https://bugs.webkit.org/show_bug.cgi?id=82423

        Reviewed by Adrienne Walker.

        We currently attempt to record the number of pixels we save from uploading,
        however the number is wrong in two ways.
        1) An early-out if everything is culled results in nothing being reported.
        2) With threaded-compositor, the number of pixels uploaded in one tile can be
        changed by culling in another tile, making the number far too difficult to
        compute to be worthwhile. If a tile was going to be partial-updated, but is
        culled, now a new tile gets to be partial-updated instead, which affects the
        numbers.

        This patch breaks up CCOverdrawMetrics to make the methods/variables less
        overloaded and more clear. This way they don't have to mirror each other
        so closely on paint/draw sides.

        Then we record the number of tiles for which we prevented upload via paint
        culling. This will still over-report (a dirty culled tile stays dirty and
        will be culled again each commit), but it seems more reasonable as it
        clearly does not try to mimic a performance metric in the way that a pixel
        count does, but still gives a rough estimation of the amount of paint
        culling going on in a page.

        Covered by existing tests, modified where needed.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
        (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
        (WebCore::CCOverdrawMetrics::didCullTileForUpload):
        (WebCore):
        (WebCore::CCOverdrawMetrics::didUpload):
        (WebCore::CCOverdrawMetrics::didCullForDrawing):
        (WebCore::CCOverdrawMetrics::recordMetrics):
        (WebCore::CCOverdrawMetrics::recordMetricsInternal):
        * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
        (CCOverdrawMetrics):
        (WebCore::CCOverdrawMetrics::pixelsCulledForDrawing):
        (WebCore::CCOverdrawMetrics::pixelsUploadedOpaque):
        (WebCore::CCOverdrawMetrics::pixelsUploadedTranslucent):
        (WebCore::CCOverdrawMetrics::tilesCulledForUpload):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::append):

2012-04-05  Enrica Casucci  <enrica@apple.com>

        Provide a separate editing command to cleanup of redundant markup.
        https://bugs.webkit.org/show_bug.cgi?id=83240

        Reviewed by Ryosuke Niwa.

        This patch moves the logic originally performed by the private
        method removeRedundantMarkup inside ReplaceSelectionCommand into
        a separate command. This way the markup cleanup can be exposed as
        a separate command, independent from ReplaceSelectionCommand.
        
        No new tests. No change in functionality.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Added new file to project files.
        * editing/EditorAllInOne.cpp: Added SimplifyMarkupCommand.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Now uses SimplifyMarkupCommand.
        * editing/ReplaceSelectionCommand.h:
        (ReplaceSelectionCommand): Removed removeRedundantMarkup.
        * editing/SimplifyMarkupCommand.cpp: Added.
        (WebCore::SimplifyMarkupCommand::SimplifyMarkupCommand):
        (WebCore::SimplifyMarkupCommand::doApply):
        * editing/SimplifyMarkupCommand.h: Added.
        (WebCore::SimplifyMarkupCommand::create):

2012-04-05  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Need to clip to homogeneous w=0 plane when applying transforms.
        https://bugs.webkit.org/show_bug.cgi?id=80806

        Reviewed by Adrienne Walker.

        Unit tests added to CCLayerTreeHostCommon. This change is also
        covered by other existing unit tests and layout tests.

        WebCore TransformationMatrix mapRect / mapQuad / projectQuad do
        not properly handle the case where a surface is oriented partially
        behind the camera, with a perspective projection. In this case,
        projected points may appear to be valid in cartesian coordinates,
        but they are indeed not valid, and this problem can only be
        detected in homogeneous coordinates after applying the transform,
        before the divide-by-w step.

        The correct solution is to clip geometry where w < 0. This patch
        makes this change local to chromium only, to fix rendering bugs
        that arise from this problem. The primary fix is to correct
        calculateVisibleLayerRect(), but other ancillary locations are
        also fixed, in particular, the antialiasing code path is simply
        skipped when this case arises.

        Eventually this math needs to be merged into TransformationMatrix,
        to fix hit-testing bugs that occur in both Chromium and Safari.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::findTileProgramUniforms):
        (WebCore::LayerRendererChromium::drawTileQuad):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
        (WebCore::isScaleOrTranslation):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        * platform/graphics/chromium/cc/CCMathUtil.cpp: Added.
        (WebCore):
        (WebCore::HomogeneousCoordinate::HomogeneousCoordinate):
        (HomogeneousCoordinate):
        (WebCore::HomogeneousCoordinate::shouldBeClipped):
        (WebCore::HomogeneousCoordinate::cartesianPoint2d):
        (WebCore::projectPoint):
        (WebCore::mapPoint):
        (WebCore::computeClippedPointForEdge):
        (WebCore::expandBoundsToIncludePoint):
        (WebCore::computeEnclosingRectOfClippedQuad):
        (WebCore::computeEnclosingRect):
        (WebCore::CCMathUtil::mapClippedRect):
        (WebCore::CCMathUtil::projectClippedRect):
        (WebCore::CCMathUtil::mapQuad):
        (WebCore::CCMathUtil::projectQuad):
        * platform/graphics/chromium/cc/CCMathUtil.h: Added.
        (WebCore):
        (CCMathUtil):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::computeUnoccludedContentRect):

2012-04-05  Patrick Gansterer  <paroga@webkit.org>

        [Qt] Correct <wtf/*.h> include paths.
        https://bugs.webkit.org/show_bug.cgi?id=83270

        Reviewed by Eric Seidel.

        Modify the #include declerations so that the
        wtf types are included using the full path.

        * platform/graphics/TiledBackingStoreBackend.h:

2012-04-05  Antonio Gomes  <agomes@rim.com>

        Unreviewed bit left over from rebasing the origin patch before landing it.

        Complementary to r113329.

        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::operator=):

2012-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113241.
        http://trac.webkit.org/changeset/113241
        https://bugs.webkit.org/show_bug.cgi?id=83293

        Requested by sievers@chromium.org (Requested by zhenyao on
        #webkit).

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::canDraw):
        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):

2012-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113341.
        http://trac.webkit.org/changeset/113341
        https://bugs.webkit.org/show_bug.cgi?id=83299

        bots caught some build errors (Requested by shawnsingh on
        #webkit).

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::findTileProgramUniforms):
        (WebCore::LayerRendererChromium::drawTileQuad):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
        (WebCore::isScaleOrTranslation):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        * platform/graphics/chromium/cc/CCMathUtil.cpp: Removed.
        * platform/graphics/chromium/cc/CCMathUtil.h: Removed.
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::projectQuad):
        (WebCore):
        (WebCore::computeUnoccludedContentRect):

2012-04-05  Justin Novosad  <junov@chromium.org>

        [Chromium] With the skia port, setting LCD text filtering is causing
        texture cache invalidations of gpu canvas backing store
        https://bugs.webkit.org/show_bug.cgi?id=74183

        Reviewed by Stephen White.

        Replacing unnecessary usage of SkCanvas::LayerIter with calls to
        SkCanvas::isDrawingToLayer(). Same results, lower overhead, and no
        GPU texture invalidation.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore):
        (WebCore::TransparencyAwareFontPainter::initializeForGDI):
        * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
        (WebCore):
        (WebCore::adjustTextRenderMode):
        * platform/graphics/skia/FontSkia.cpp:
        (WebCore):
        (WebCore::adjustTextRenderMode):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore):
        (WebCore::disableTextLCD):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore):

2012-04-05  Zan Dobersek  <zandobersek@gmail.com>

        media/track/track-webvtt-tc004-magic-header.html flakily times out
        https://bugs.webkit.org/show_bug.cgi?id=72279

        Reviewed by Eric Carlson.

        Move all the checking for the WebVTT file identifier from TextTrackLoader
        to WebVTTParser, notifying the parser clients of parsing failures through
        a new method. Remove the WebVTTParser::fileIdentifierMaximumLength method
        and make WebVTTParser::hasRequiredFileIdentifier private. The latter now
        operates on a vector holding the identifier data to which data is added
        until there's enough of it to possibly hold the optional BOM character
        and the required WEBVTT character sequence.

        No new tests. Fixes an existing test.

        * html/track/WebVTTParser.cpp: Fix a typo throughout the file:
        fileIdentiferLength -> fileIdentifierLength
        (WebCore):
        (WebCore::WebVTTParser::parseBytes): Only continue with searcing for
        the WEBVTT identifier if there's enough data to possibly contain the
        identifier. Report that the file failed to parse if the identifier
        was then not found.
        (WebCore::WebVTTParser::hasRequiredFileIdentifier): Refactor to operate
        on the vector containing identifier data and merge with the
        hasLongWebVTTIdentifier function.
        * html/track/WebVTTParser.h:
        (WebVTTParserClient): Add a new method.
        (WebVTTParser):
        * loader/TextTrackLoader.cpp:
        (WebCore::TextTrackLoader::processNewCueData): Parser is now created
        immediately regardless of the mime type the response holds.
        (WebCore::TextTrackLoader::fileFailedToParse): Log the error, set the
        state to failed, start the cue load timer and cancel the load if the file
        was not parsed successfully.
        (WebCore):
        * loader/TextTrackLoader.h:
        (TextTrackLoader):

2012-04-05  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Need to clip to homogeneous w=0 plane when applying transforms.
        https://bugs.webkit.org/show_bug.cgi?id=80806

        Reviewed by Adrienne Walker.

        Unit tests added to CCLayerTreeHostCommon. This change is also
        covered by other existing unit tests and layout tests.

        WebCore TransformationMatrix mapRect / mapQuad / projectQuad do
        not properly handle the case where a surface is oriented partially
        behind the camera, with a perspective projection. In this case,
        projected points may appear to be valid in cartesian coordinates,
        but they are indeed not valid, and this problem can only be
        detected in homogeneous coordinates after applying the transform,
        before the divide-by-w step.

        The correct solution is to clip geometry where w < 0. This patch
        makes this change local to chromium only, to fix rendering bugs
        that arise from this problem. The primary fix is to correct
        calculateVisibleLayerRect(), but other ancillary locations are
        also fixed, in particular, the antialiasing code path is simply
        skipped when this case arises.

        Eventually this math needs to be merged into TransformationMatrix,
        to fix hit-testing bugs that occur in both Chromium and Safari.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::findTileProgramUniforms):
        (WebCore::LayerRendererChromium::drawTileQuad):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
        (WebCore::isScaleOrTranslation):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        * platform/graphics/chromium/cc/CCMathUtil.cpp: Added.
        (WebCore):
        (WebCore::HomogeneousCoordinate::HomogeneousCoordinate):
        (HomogeneousCoordinate):
        (WebCore::HomogeneousCoordinate::shouldBeClipped):
        (WebCore::HomogeneousCoordinate::cartesianPoint2d):
        (WebCore::projectPoint):
        (WebCore::mapPoint):
        (WebCore::computeClippedPointForEdge):
        (WebCore::expandBoundsToIncludePoint):
        (WebCore::computeEnclosingRectOfClippedQuad):
        (WebCore::computeEnclosingRect):
        (WebCore::CCMathUtil::mapClippedRect):
        (WebCore::CCMathUtil::projectClippedRect):
        (WebCore::CCMathUtil::mapQuad):
        (WebCore::CCMathUtil::projectQuad):
        * platform/graphics/chromium/cc/CCMathUtil.h: Added.
        (WebCore):
        (CCMathUtil):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::computeUnoccludedContentRect):

2012-04-05  Jia Pu  <jpu@apple.com>

        Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
        https://bugs.webkit.org/show_bug.cgi?id=82970

        Reviewed by Enrica Casucci.

        No new tests, since there's no change of functionality.

        The existing correction panel related functions in EditorClient are currently used only by OS X.
        We'd like to move them into separate AlternativeTextClient class to avoid using #ifdef's. This
        new client class will also hold dictation alternative related interface that we will add soon for
        bug 82503.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/AlternativeTextController.cpp: Changes in this file are all for calling functions in
          AlternativeTextClient instead of those in EditoClient.
        (WebCore::AlternativeTextController::show):
        (WebCore::AlternativeTextController::dismiss):
        (WebCore::AlternativeTextController::dismissSoon):
        (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
        (WebCore::AlternativeTextController::timerFired):
        (WebCore::AlternativeTextController::isAutomaticSpellingCorrectionEnabled):
        (WebCore::AlternativeTextController::alternativeTextClient):
        (WebCore):
        (WebCore::AlternativeTextController::editorClient):
        (WebCore::AlternativeTextController::textChecker):
        (WebCore::AlternativeTextController::recordAutocorrectionResponseReversed):
        (WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
        * editing/AlternativeTextController.h:
        (WebCore):
        (AlternativeTextController):
        * editing/TextCheckingHelper.h:
        (WebCore):
        * loader/EmptyClients.h:
        (EmptyEditorClient):
        * page/AlternativeTextClient.h: Added.
        (WebCore):
        (AlternativeTextClient):
        (WebCore::AlternativeTextClient::~AlternativeTextClient):
        * page/EditorClient.h:
        (EditorClient):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        (WebCore):
        (PageClients):
        (Page):
        (WebCore::Page::alternativeTextClient):

2012-04-05  Min Qin  <qinmin@google.com>

        Fix fullscreen video button for android
        https://bugs.webkit.org/show_bug.cgi?id=83087

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=70437 changed css keyword for fullscreen video button.
        It is changed from media-fullscreen-button to media-enter-fullscreen-button.
        However, it does not change the value in mediaControlChromiumAndroid.css.
        No behavior change.

        * css/mediaControlsChromiumAndroid.css:
        (video::-webkit-media-controls-fullscreen-button):

2012-04-05  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: CSS file revisions are not restored upon front-end reopen.
        https://bugs.webkit.org/show_bug.cgi?id=83292

        Reviewed by Yury Semikhatsky.

        Populating suggestions before the panel creation now.

        * inspector/front-end/inspector.js:
        (WebInspector._doLoadedDoneWithCapabilities.get if):

2012-04-04  Simon Fraser  <simon.fraser@apple.com>

        Add assertions to check for mutation of RenderLayer z-order lists during enumeration
        https://bugs.webkit.org/show_bug.cgi?id=83242

        Reviewed by James Robinson.

        Add debug-only code that detects whether RenderLayer's z-order and
        normal flow lists are being cleared or otherwise mutated while we're
        enumerating over them.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::paintList):
        (WebCore::RenderLayer::calculateLayerBounds):
        (WebCore::RenderLayer::dirtyZOrderLists):
        (WebCore::RenderLayer::dirtyNormalFlowList):
        (WebCore::RenderLayer::updateZOrderListsSlowCase):
        (WebCore::RenderLayer::updateNormalFlowList):
        * rendering/RenderLayer.h:
        (RenderLayer):
        (WebCore::RenderLayer::layerListMutationAllowed):
        (WebCore::RenderLayer::setLayerListMutationAllowed):
        (WebCore):
        (LayerListMutationDetector):
        (WebCore::LayerListMutationDetector::LayerListMutationDetector):
        (WebCore::LayerListMutationDetector::~LayerListMutationDetector):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
        (WebCore::RenderLayerCompositor::layerHas3DContent):

2012-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113254.
        http://trac.webkit.org/changeset/113254
        https://bugs.webkit.org/show_bug.cgi?id=83291

        Requested by sievers@chromium.org (Requested by zhenyao on
        #webkit).

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::canDraw):

2012-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113307.
        http://trac.webkit.org/changeset/113307
        https://bugs.webkit.org/show_bug.cgi?id=83288

        Requested by sievers@chromium.org (Requested by zhenyao on
        #webkit).

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::canDraw):

2012-03-14  Antonio Gomes  <agomes@rim.com>

        Extend HitTestResult to support not "discarding" shadow content in favor of its DOM ancestor
        https://bugs.webkit.org/show_bug.cgi?id=80847

        Reviewed by David Hyatt.

        In order to improve touch precision on shadow tree content, patch
        extends the rect-hittest'ing system to allow shadow content
        to be stored as the rect-hittest result node list.

        Primary use cases are for this extension is making it easier to
        improve the clickability of default controls of <video> and <audio>
        elements.

        For the callee site, the use is simple: if shadow content in the rect-hittest
        result is desired, just add an extra 'AllowShadowContent' parameter at the creation
        of the HitTestResult object.

        Test: fast/dom/nodesFromRect-shadowContent.html

        * dom/Document.cpp:
        (WebCore::Document::nodesFromRect):
        * dom/Document.h:
        (Document):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::HitTestResult):
        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
        * rendering/HitTestResult.h:
        (HitTestResult):
        (WebCore::HitTestResult::shadowContentFilterPolicy):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::hitTestList):
        * testing/Internals.cpp:
        (WebCore::Internals::nodesFromRect):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-04-05  Hans Muller  <hmuller@adobe.com>

        Rename CSS Exclusions "rect" value to "rectangle"
        https://bugs.webkit.org/show_bug.cgi?id=82367

        Reviewed by Ryosuke Niwa.

        Changed the CSS exclusion shape called "rect" to "rectangle" to match
        the current draft spec - http://dev.w3.org/csswg/css3-exclusions.

        The meeting minutes where the decision to rename the exclusion "rect" function
        to "rectangle" are: http://lists.w3.org/Archives/Public/www-style/2012Feb/0325.html

        No new tests were created; just updated the existing ones.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseWrapShapeRectangle):
        (WebCore::CSSParser::parseWrapShape):
        * css/CSSParser.h:
        * css/CSSWrapShapes.cpp:
        (WebCore::CSSWrapShapeRectangle::cssText):
        * css/CSSWrapShapes.h:
        (WebCore::CSSWrapShapeRectangle::create):
        (WebCore::CSSWrapShapeRectangle::type):
        (WebCore::CSSWrapShapeRectangle::CSSWrapShapeRectangle):

2012-04-05  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Disable paintingGoesToWindow() for the root layer when forced compositing mode is active
        https://bugs.webkit.org/show_bug.cgi?id=83127

        Reviewed by Rob Buis.

        RIM PR: 136381
        The BlackBerry port will use accelerated compositing code path to
        render the root layer in some situations.

        The plan is to do this by activating the "force compositing mode"
        setting, but that in itself doesn't get us all the way, since painting
        will still go to window for the root layer.

        Fixed by adding a special clause in
        RenderLayerBacking::paintingGoesToWindow() for PLATFORM(BLACKBERRY).

        No new tests, this is currently not testable with the BlackBerry WebKit
        testing infrastructure.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintingGoesToWindow):
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::inForcedCompositingMode): Added.

2012-04-05  Stephen Chenney  <schenney@chromium.org>

        REGRESSION(99539): Infinite repaint loop with SVGImage and deferred repaint timers
        https://bugs.webkit.org/show_bug.cgi?id=78315

        Reviewed by Dimitri Glazkov.

        The existing fix for this issue was failing to check if the frameView object
        was currently _in_ layout, in addition to whether it needs layout. Calling the
        redraw method while in layout leads to a debug assertion and potential infinite
        layout loops. Now we check whether we need layout or are in layout. We also add
        a check when the repaint timer fires to ensure we do not call redraw during layout
        at that point.

        This patch was tested with tens of thousands of runs on layout test cases that
        previously crashed at a rate of about 1 in 25. Now we see no crashes and no test
        failures.

        No new tests, as this exists to fix flaky existing tests.

        * svg/graphics/SVGImageCache.cpp:
        (WebCore::SVGImageCache::imageContentChanged):
        (WebCore::SVGImageCache::redrawTimerFired):

2012-04-05  Keishi Hattori  <keishi@webkit.org>

        Hide datalist element
        https://bugs.webkit.org/show_bug.cgi?id=82874

        The datalist element should be hidden when ENABLE_DATALIST is on.

        Reviewed by Kent Tamura.

        Tests: fast/forms/datalist/datalist-fallback-content-expected.html
               fast/forms/datalist/datalist-fallback-content.html

        * css/html.css:
        (datalist): Added display:none.

2012-04-05  W. James MacLean  <wjmaclean@chromium.org>

        Adjust max bisection search iterations for TouchpadFlingGestureCurve.
        https://bugs.webkit.org/show_bug.cgi?id=83166

        Reviewed by James Robinson.

        Covered by existing tests.

        * platform/TouchpadFlingPlatformGestureCurve.cpp:
        (WebCore):

2012-04-05  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: switch FileSystem, Profiler and Worker domains to typed API
        https://bugs.webkit.org/show_bug.cgi?id=83069

        Reviewed by Yury Semikhatsky.

        Domains are switched to 'strict' mode. However, hardly any changes were needed in C++ code because
        only basic types are currently used in Inspector.json.

        * inspector/CodeGeneratorInspector.py:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::getProfileHeaders):
        (WebCore):
        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
        * inspector/InspectorProfilerAgent.h:
        (InspectorProfilerAgent):

2012-04-05  Levi Weintraub  <leviw@chromium.org>

        DOM measurement APIs should operate on pixel snapped values.
        https://bugs.webkit.org/show_bug.cgi?id=83138

        Reviewed by Julien Chaffraix.

        DOM measurement APIs return unscaled integers. In an effort to return the best possible values (and
        most consistent with current behavior) when we use sub-pixel values for Layout, we want to adjust
        the actual on-screen position and size values for scaling, not the sub-pixel values.

        No new tests. No change in behavior.

        * dom/Element.cpp:
        (WebCore::adjustForLocalZoom): Needs to return an integer, since this is what the DOM API calls for.
        (WebCore::Element::offsetWidth): Using pixel snapped values for all the following functions.
        (WebCore::Element::offsetHeight):
        (WebCore::Element::clientLeft):
        (WebCore::Element::clientTop):
        (WebCore::Element::clientWidth):
        (WebCore::Element::clientHeight):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::width):
        (WebCore::HTMLImageElement::height):

2012-04-05  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: add ability to copy resource URL from web inspector's resources page.
        https://bugs.webkit.org/show_bug.cgi?id=83175

        Reviewed by Yury Semikhatsky.

        Added requested context menu item.

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):

2012-04-04  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: display frame duration instead of time ruler in Timeline panel's frame mode
        https://bugs.webkit.org/show_bug.cgi?id=83184

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelineFrameController.js:
        (WebInspector.TimelineFrameController): Maintain reference to TimelinePresentationModel
        (WebInspector.TimelineFrameController.prototype._flushFrame): Report frames to TimelinePresentationModel (only real ones)
        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.removeDividers): remove time marks/labels from upper time ruler
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype._updateEventDividers): Updated call site of createEventDivider
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._updateEventDividers):
        (WebInspector.TimelinePanel.prototype._shouldShowFrames):
        (WebInspector.TimelinePanel.prototype._updateFrames): Frame bars rendering logic.
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords): Do not keep frames in the panel any more.
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.prototype._refresh): Moved updateDividers() call here...
        (WebInspector.TimelinePanel.prototype._refreshRecords):  ... from here.
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.createEventDivider): Use type & title, not entire record.
        (WebInspector.TimelinePresentationModel.prototype.frames): Maintain frames in the TimelinePresentationModel.
        (WebInspector.TimelinePresentationModel.prototype.reset): ditto.
        (WebInspector.TimelinePresentationModel.prototype.addFrame): ditto.
        (WebInspector.TimelinePresentationModel.Record): Fix title for timestamp events (drive by).
        * inspector/front-end/timelinePanel.css:
        (.timeline-frame-strip):

2012-04-05  MORITA Hajime  <morrita@google.com>

        IsCommentNode flags is a waste.
        https://bugs.webkit.org/show_bug.cgi?id=83251

        Reviewed by Ryosuke Niwa.

        Effectively nobody uses it. To save a precious NodeFlags bit, this
        change removes NodeFlags::IsCommentFlag and its companion mehtod
        Node::isCommentNode().

        No new tests. No behaviour change.

        * dom/CharacterData.h:
        (WebCore::CharacterData::CharacterData):
        * dom/Comment.cpp:
        (WebCore::Comment::Comment):
        * dom/Node.h:
        * rendering/RenderTreeAsText.cpp:
        (WebCore::getTagName):
        This was the only client of Node::isCommentNode(). Replaced it with nodeType() call.

2012-04-05  Hans Wennborg  <hans@chromium.org>

        webkit_unit_tests build fix.
        https://bugs.webkit.org/show_bug.cgi?id=83261

        Unreviewed, webkit_unit_tests buildfix.

        The CCLayerTreeHostTestEmptyContentsShouldNotDraw.runMultiThread test
        stopped working after r113254.

        Disable it for now.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::canDraw):

2012-04-05  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>

        [EFL] keycode translation is wrong for function keys
        https://bugs.webkit.org/show_bug.cgi?id=82738

        This patch fixes keycode translation for function keys.

        Reviewed by Philippe Normand.

        Test: fast/events/keydown-function-keys.html

        * platform/efl/EflKeyboardUtilities.cpp:
        (WebCore::createWindowsKeyMap):

2012-04-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Work around an entity parsing bug in libxml2 2.7.3 (supplied with Lion) and unskip tests
        https://bugs.webkit.org/show_bug.cgi?id=82577

        Reviewed by Filip Pizlo.

        Work-around entity expansion bug that affects several SVG tests on Lion.

        Sample test document which is currently broken:
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
        <!ENTITY Smile "<rect x='.5' y='.5' width='29' height='39' fill='black' stroke='red'/>">
        ]>

        <svg xmlns="http://www.w3.org/2000/svg">&Smile;</svg>

        The expanded rect carries no namespace, thus an Element will be created for it, instead of a SVGRectElement.
        libxml2 2.7.4 fixed this bug (https://bugzilla.gnome.org/show_bug.cgi?id=502960) in 2009 already, but Lion
        still ships with 2.7.3, so we need to find a work-around for the problem. It works like this:
        - When an entity is requested (getEntityHandler) determine whether the entity is being declared (while the <!ENTITY.. parses)
          or wheter its references (when the &Smile; is parsed). If its referenced, record the current depth of the libxml2 parser.
        - When startElementNs is called while we're expanding entities, be sure to transfer the namespace of the parent node
          to the new node, but only do this if the current depth() is greater than the depth() at the time where entity expansion started.
          This way we only apply our workaround for elements inside entities, that get expanded at the insertion point.
        - When endElementNs is called, and our current depth() is less than our equal to the depth() where entity expansion started,
          clear the recorded detph(), and stop executing the workaround.

        It requires storing an extra integer & boolean in XMLDocumentParser, which is only used for this work-around.

        * xml/parser/XMLDocumentParser.h:
        (XMLDocumentParser):
        (WebCore::XMLDocumentParser::isParsingEntityDeclaration):
        (WebCore::XMLDocumentParser::setIsParsingEntityDeclaration):
        (WebCore::XMLDocumentParser::depthTriggeringEntityExpansion):
        (WebCore::XMLDocumentParser::setDepthTriggeringEntityExpansion):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::hackAroundLibXMLEntityParsingBug):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::entityDeclarationHandler):
        (WebCore::getEntityHandler):
        (WebCore::XMLDocumentParser::initializeParserContext):

2012-04-04  Kent Tamura  <tkent@chromium.org>

        Add JavaScript and CSS code for the calendar picker implementation
        https://bugs.webkit.org/show_bug.cgi?id=83011

        Reviewed by Hajime Morita.

        Add calendarPicker.js and calendarPicker.css, and add a build rule to
        generate a C++ file. This change doesn't make any behavior change
        because the code is wrapped by ENABLE(CALENDAR_PICKER).

        Tests: ManualTests/forms/calendar-picker.html

        * Resources/calendarPicker.css: Added.
        * Resources/calendarPicker.js: Added.
        * WebCore.gyp/WebCore.gyp: Generate CalendarPicker.{cpp,h} from calendarPicker.{css,js}.

2012-04-05  Kinuko Yasuda  <kinuko@chromium.org>

        Expose DataTransferItem.getAsEntry() to allow users access dropped files as FileEntry
        https://bugs.webkit.org/show_bug.cgi?id=82592

        Reviewed by David Levin.

        For now the method is prefixed thus it is to be exposed as 'webkitGetAsEntry'.

        The API is proposed and discussed in the following whatwg thread:
        http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-November/033814.html

        Add DataTransferItemFilesystem under Modules/filesystem and implemented the bridging part for chromium.

        Test: editing/pasteboard/data-transfer-items-drag-drop-entry.html

        * Modules/filesystem/DataTransferItemFileSystem.h: Added.
        (DataTransferItemFileSystem):
        * Modules/filesystem/DataTransferItemFileSystem.idl: Added for DataTransferItem.getAsEntry which is only exposed if filesystem is enabled.
        * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp: Added for chromium implementation.
        * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.h: Added.
        * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp: Added.
        * Modules/filesystem/chromium/DraggedIsolatedFileSystem.h: Added.
        * WebCore.gypi:
        * platform/chromium/ChromiumDataObject.cpp:
        * platform/chromium/ChromiumDataObject.h:
        (WebCore::ChromiumDataObject::filesystemId): Added.
        (WebCore::ChromiumDataObject::setFilesystemId): Added.
        * platform/chromium/ClipboardChromium.cpp:

2012-04-04  Patrick Gansterer  <paroga@webkit.org>

        Add WTF::getCurrentLocalTime()
        https://bugs.webkit.org/show_bug.cgi?id=83164

        Reviewed by Alexey Proskuryakov.

        Replace the calls to WTF::getLocalTime() with time(0) with the new function.
        This allows us to use Win32 API on windows to get the same result in a next step.

        * html/FTPDirectoryDocument.cpp:
        (WebCore::processFileDateString):
        * loader/archive/mhtml/MHTMLArchive.cpp:
        (WebCore::MHTMLArchive::generateMHTMLData):

2012-04-04  Hayato Ito  <hayato@chromium.org>

        Remove ReifiedTreeTraversal.
        https://bugs.webkit.org/show_bug.cgi?id=83110

        Reviewed by Dimitri Glazkov.

        We can now remove ReifiedTreeTraversal. All clients have switched to use ComposedShadowTreeWalker.

        No new tests. No change in functionality.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ReifiedTreeTraversal.cpp: Removed.
        * dom/ReifiedTreeTraversal.h: Removed.
        * testing/Internals.cpp:
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-04-04  Dmitry Lomov  <dslomov@google.com>

        WorkerEventQueue::close might access deleted WorkerEventQueue::EventDispatcherTask.
        https://bugs.webkit.org/show_bug.cgi?id=83202

        On closing the event queue, WorkerEventQueue cancels all the tasks associated with events.
        The tasks in their turn delete themselves from the map whenever task gets executed.
        However if shutdown occurs when task is in queue but before task gets executed, the task will be deleted without execution.
        This patch makes sure that no deleted tasks stay in WorkerEventQueue, by task removing itself in destructor.

        Reviewed by David Levin.

        Covered by existing tests.

        * workers/WorkerEventQueue.cpp:
        (WebCore::WorkerEventQueue::EventDispatcherTask::~EventDispatcherTask):
        (WorkerEventQueue::EventDispatcherTask):
        (WebCore::WorkerEventQueue::EventDispatcherTask::performTask):

2012-04-04  Julien Chaffraix  <jchaffraix@webkit.org>

        RenderLayer scrollbars' updates should be split between layout induced and style change induced
        https://bugs.webkit.org/show_bug.cgi?id=83213

        Reviewed by Simon Fraser.

        Refactoring only, no change in behavior.

        This patches splits up the 2 reasons for modifying the scrollbars:
        - style updates, handled in updateScrollbarsAfterStyleChange.
        - layout time, handled in updateScrollbarsAfterLayout.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::contentsSize):
        Removed now unneeded const-casts.

        (WebCore::RenderLayer::setHasHorizontalScrollbar):
        (WebCore::RenderLayer::setHasVerticalScrollbar):
        Updated to use hasHorizontalScrollbar / hasVerticalScrollbar.

        (WebCore::RenderLayer::scrollWidth):
        (WebCore::RenderLayer::scrollHeight):
        Made those functions |const|.

        (WebCore::RenderLayer::computeScrollDimensions):
        Removed the unneeded booleans and move the do-we-have-overflow-logic
        into hasHorizontalOverflow and hasVerticalOverflow.

        (WebCore::RenderLayer::hasHorizontalOverflow):
        (WebCore::RenderLayer::hasVerticalOverflow):
        Added those new helper functions.

        (WebCore::RenderLayer::updateScrollbarsAfterLayout):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        Updated the latter to call the former.

        (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
        (WebCore::RenderLayer::styleChanged):
        Ditto.

        (WebCore::overflowCanHaveAScrollbar):
        Add this helper function for updateScrollbarsAfterStyleChange.

        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::hasHorizontalScrollbar):
        (WebCore::RenderLayer::hasVerticalScrollbar):
        Added those 2 new helper functions.

2012-04-04  Andrei Burago  <aburago@chromium.org>

        Auto-size may not work on first load
        https://bugs.webkit.org/show_bug.cgi?id=82989

        Reviewed by David Levin.

        No new tests. The only known repro scenario involves using chrome with a third-party extension,
        which makes making a test out of it problematic.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        * page/FrameView.cpp:
        (WebCore::FrameView::autoSizeIfEnabled):

2012-04-04  Adam Barth  <abarth@webkit.org>

        XSSAuditor doesn't catch injected srcdoc attributes
        https://bugs.webkit.org/show_bug.cgi?id=83238

        Reviewed by Daniel Bates.

        <iframe srcdoc> is an XSS injection vector because the srcdoc inherits
        the security origin of the parent page.  This patch updates the XSS
        auditor to check whether the attribute is injected using the same
        hueristics we use for inline event handlers.

        Test: http/tests/security/xssAuditor/iframe-srcdoc.html

        * html/parser/XSSAuditor.cpp:
        (WebCore::XSSAuditor::filterIframeToken):
        (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
        (WebCore::XSSAuditor::eraseAttributeIfInjected):
        (WebCore::XSSAuditor::decodedSnippetForAttribute):
        * html/parser/XSSAuditor.h:

2012-04-04  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Add local: protocol support in KURL for blackberry
        https://bugs.webkit.org/show_bug.cgi?id=82695

        Reviewed by Rob Buis.

        BlackBerry porting is using local: protocol just as file: protocol
        with the exception that it sandboxes the path to the application private space.

        * platform/KURL.cpp:
        (WebCore::KURL::parse):
        (WebCore::portAllowed):

2012-04-04  Simon Fraser  <simon.fraser@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=82994

        Reviewed by James Robinson.
        
        Fix an issue when removing elements with reflections from the document.

        Test: compositing/reflections/remove-reflection.html

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::willBeDestroyed):

2012-04-04  Charles Wei  <charles.wei@torchmobile.com.cn>

        Need using namespace std for system calls in MIMESniffing.cpp
        https://bugs.webkit.org/show_bug.cgi?id=82706

        Reviewed by Antonio Gomes.

        No new tests, just fix the compile error for BlackBerry porting.

        * platform/network/MIMESniffing.cpp:

2012-04-04  Greg Billock  <gbillock@google.com>

        Switch web intents API to be vendor-prefixed
        https://bugs.webkit.org/show_bug.cgi?id=83172

        Reviewed by Adam Barth.

        * Modules/intents/DOMWindowIntents.idl:
        * Modules/intents/NavigatorIntents.cpp:
        (WebCore::NavigatorIntents::webkitStartActivity):
        * Modules/intents/NavigatorIntents.h:
        (NavigatorIntents):
        * Modules/intents/NavigatorIntents.idl:

2012-04-04  Alexis Menard  <alexis.menard@openbossa.org>

        [Part 4] We should use CSSPropertyID rather than integers when manipulating CSS property ids.
        https://bugs.webkit.org/show_bug.cgi?id=83224

        Reviewed by Tony Chang.

        CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
        as integers. While it's not incorrect it is nicer to use the enum as a parameter of
        functions manipulating property ids, as we ensure that the value passed will be an
        existing value. This patch clean up some remaining part of code.

        No new tests : There should be no behavior change in this patch.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * page/animation/AnimationBase.h:
        (WebCore::AnimationBase::affectsProperty):
        (WebCore::AnimationBase::isAnimatingProperty):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::getAnimationForProperty):
        (WebCore::CompositeAnimation::overrideImplicitAnimations):
        (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
        (WebCore::CompositeAnimation::isAnimatingProperty):
        * page/animation/CompositeAnimation.h:
        (CompositeAnimation):
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::affectsProperty):
        * page/animation/ImplicitAnimation.h:
        (WebCore::ImplicitAnimation::transitionProperty):
        (WebCore::ImplicitAnimation::animatingProperty):
        (ImplicitAnimation):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
        (WebCore::KeyframeAnimation::hasAnimationForProperty):
        (WebCore::KeyframeAnimation::overrideAnimations):
        (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
        (WebCore::KeyframeAnimation::affectsProperty):
        * page/animation/KeyframeAnimation.h:
        (KeyframeAnimation):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::transitionPaused):
        (WebCore::RenderLayerBacking::transitionFinished):
        (WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
        (WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):
        * rendering/RenderLayerBacking.h:
        (RenderLayerBacking):

2012-04-04  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] implement takeRecords()
        https://bugs.webkit.org/show_bug.cgi?id=83218

        Reviewed by Ojan Vafai.

        This patch implements MutationObserver.takeRecords per the DOM4 spec.
        takeRecords retrieves and clears any pending mutation records for
        the observer.

        Test: fast/mutation/takeRecords.html

        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::takeRecords):
        (WebCore):
        (WebCore::WebKitMutationObserver::deliver):
        * dom/WebKitMutationObserver.h:
        * dom/WebKitMutationObserver.idl:

2012-04-04  Shinya Kawanaka  <shinyak@chromium.org>

        Shadow DOM is exposed in JS.
        https://bugs.webkit.org/show_bug.cgi?id=82607

        Reviewed by Hajime Morita.

        DOMSelection didn't consider nested shadow trees. This patch makes DOMSelection
        take nested shadow trees into account.

        To test that the element is not in a shadow tree, Internals has a treeScopeRootNode method
        which returns the root node of the belonging tree scope.

        Test: fast/dom/shadow/selection-shouldnt-expose-shadow-dom.html

        * WebCore.exp.in:
        * page/DOMSelection.cpp:
        (WebCore::selectionShadowAncestor):
        (WebCore):
        * testing/Internals.cpp:
        (WebCore::Internals::treeScopeRootNode):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-04-04  Luke Macpherson  <macpherson@chromium.org>

        Replace further usage of int with CSSPropertyID.
        https://bugs.webkit.org/show_bug.cgi?id=83119

        Reviewed by Simon Fraser.

        No new tests / no functionality changed.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::logUnimplementedPropertyID):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        * css/CSSParser.h:
        (CSSParser):
        (WebCore::ShorthandScope::~ShorthandScope):
        * css/CSSProperty.h:
        (WebCore::CSSProperty::CSSProperty):
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/StylePropertySet.h:
        (StylePropertySet):
        * css/makeprop.pl:
        * dom/StyledElement.h:
        (StyledElement):
        * editing/EditingStyle.h:
        (EditingStyle):
        * html/HTMLElement.h:
        (HTMLElement):

2012-04-04  Adam Klein  <adamk@chromium.org>

        Use PassRefPtr in V8DOMWrapper interface to avoid explicit ref() calls
        https://bugs.webkit.org/show_bug.cgi?id=82238

        Reviewed by Adam Barth.

        Relanding r112163 without modification, as it still seems valid.
        Will watch Chrome Canaries closely for any memory issues.

        The setJSWrapper* methods previously featured a comment that asked
        callers to ref the objects before passing them in. This change makes
        that contract explicit (and allows the removal of the comment).

        In addition, for ConstructorCallbacks, this change slightly reduces
        refcount churn by passing on the initial ref via RefPtr::release().

        No new tests, no change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref() call.
        (GenerateNamedConstructorCallback): ditto.
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::installDOMWindow): Cast to a PassRefPtr and remove explicit ref call.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Pass leaked refs into the DOMNodeMaps.
        * bindings/v8/V8DOMWrapper.h:
        (V8DOMWrapper): Make the setJSWrapperFor* methods take PassRefPtr<T>.
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Pass leaked ref into the DOMObjectMap.
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): Pass leaked ref into the ActiveDOMObjectMap.
        * bindings/v8/V8Proxy.h:
        (WebCore::toV8): Remove explicit ref.
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Cast to a PassRefPTr and remove explicit ref call.
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::v8HTMLImageElementConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref.
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::constructorCallback): ditto.
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8WebSocket::constructorCallback): ditto.
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback): ditto.

2012-04-04  Chris Rogers  <crogers@google.com>

        WaveTable::waveDataForFundamentalFrequency() should properly interpret negative frequency
        https://bugs.webkit.org/show_bug.cgi?id=83228

        Reviewed by Kenneth Russell.

        * Modules/webaudio/WaveTable.cpp:
        (WebCore::WaveTable::waveDataForFundamentalFrequency):

2012-04-04  Adam Klein  <adamk@chromium.org>

        Delay post-insertion notifications until new DOM tree is complete
        https://bugs.webkit.org/show_bug.cgi?id=82631

        Reviewed by Ojan Vafai.

        When inserting a DocumentFragment, WebKit previously would update both
        internal WebCore state and mutation event listeners after each node
        was inserted. This is inconsistent not only with DOM4, but also
        with (at least) Firefox and IE. Given the many bugs over the years in
        WebKit due to this behavior, it seems better to delay notification
        until the fragment is completely inserted.

        The changes to the three core mutation methods below are similar:
        the only logic remaining in the loop is checking that insertion is
        possible and taking care of that insertion. The entire loop is then
        wrapped in forbidEventDispatch/allowEventDispatch, effectively
        asserting that none of the code inside will have side effects.

        The one bit of logic added to the loop is resizing the targets
        vector down to the set of nodes actually inserted as part of the
        loop. This makes it possible to simply pass the vector on to
        notifyChildrenInserted without having to also pass along a count of
        actually-inserted nodes.

        As for the code that used to live inside the loop that could have
        side-effects, or depended on those side-effects, it has been moved
        out, either above (the check that the refChild is still valid in
        insertBefore) or after (the calls to notifyChildrenInserted).

        Finally, it was necessary to retrofit ChildListMutationScope to take a
        vector of added nodes instead of a single node at a time, due to the
        assertions in isAddedNodeInOrder (now renamed to be plural). Note that
        there is now a single call to ChildListMutationScope::childrenAdded,
        inside notifyChildrenInserted.

        Test: fast/events/domnodeinserted-entire-fragment.html

        * dom/ChildListMutationScope.cpp:
        (ChildListMutationScope::MutationAccumulator): Renamed method to be plural.
        (WebCore::ChildListMutationScope::MutationAccumulator::areAddedNodesInOrder): Handle a NodeVector instead of a Node.
        (WebCore::ChildListMutationScope::MutationAccumulator::childrenAdded): Handle adding a NodeVector instead of a Node.
        (WebCore::ChildListMutationScope::MutationAccumulationRouter::childrenAdded): Renamed to be plural, pass NodeVector through.
        * dom/ChildListMutationScope.h:
        (WebCore::ChildListMutationScope::childrenAdded): ditto.
        (MutationAccumulationRouter):
        * dom/ContainerNode.cpp:
        (WebCore): Renamed updateTreeAfterInsertion to notifyChildrenInserted.
        (WebCore::ContainerNode::insertBefore): See main ChangeLog explanation.
        (WebCore::ContainerNode::replaceChild): ditto.
        (WebCore::ContainerNode::appendChild): ditto.
        (WebCore::dispatchChildInsertionEvents): Remove MutationObserver handling.
        (WebCore::notifyChildrenInserted): Handle a NodeVector of all inserted children,
        and take on responsiblity for MutationObserver handling as well as dispatchSubtreeModifiedEvent.

2012-04-04  Chris Rogers  <crogers@google.com>

        RealtimeAnalyserNode should support smaller analysis sizes
        https://bugs.webkit.org/show_bug.cgi?id=83215

        Reviewed by Kenneth Russell.
        
        RealtimeAnalyserNode analysis size currently goes no lower than 128.
        It is useful to support lower power-of-two sizes.
        Decrease this limit to 32.

        Updated webaudio/realtimeanalyser-fft-sizing-expected.txt

        * Modules/webaudio/RealtimeAnalyser.cpp:
        (WebCore):

2012-04-04  Tony Chang  <tony@chromium.org>

        CSS transitions should work on the flex property
        https://bugs.webkit.org/show_bug.cgi?id=75915

        Reviewed by Dean Jackson.

        Test: transitions/flex-transitions.html

        * page/animation/AnimationBase.cpp:
        (WebCore::PropertyWrapperGetter::equals): Fix indention.
        (PropertyWrapperFlex): Add a wrapper for -webkit-flex which has 3 values (two floats and
        a length), but is not a shorthand.
        (WebCore::PropertyWrapperFlex::PropertyWrapperFlex):
        (WebCore::PropertyWrapperFlex::equals):
        (WebCore::PropertyWrapperFlex::blend):
        (WebCore):
        (WebCore::AnimationBase::ensurePropertyMap):

2012-04-04  Tom Sepez  <tsepez@chromium.org>

        XSSAuditor bypass through HTTP Parameter Pollution.
        https://bugs.webkit.org/show_bug.cgi?id=81283

        Reviewed by Adam Barth.

        Deal with concatenation of multiple parameters via comma-splicing that 
        is common to some webservers. We can no longer trust that all of the 
        attributes of a reflected script tag, nor the reflected script itself,
        came from the same single URL parameter. The fix is to take commas into
        account when trucating the snippet used for matching.
        
        Test: http/tests/security/xssAuditor/script-tag-with-comma.html

        * html/parser/XSSAuditor.cpp:
        (WebCore::XSSAuditor::filterScriptToken):
        (WebCore):
        (WebCore::XSSAuditor::decodedSnippetForName):
        (WebCore::XSSAuditor::decodedSnippetForJavaScript):

2012-04-04  Dan Bernstein  <mitz@apple.com>

        Paginated webviews render nothing in their gutters
        https://bugs.webkit.org/show_bug.cgi?id=83231

        Reviewed by Adele Peterson.

        When the RenderView has columns, nothing draws in the gutters.

        * page/FrameView.cpp:
        (WebCore::FrameView::paintContents): Paint the background color behind everything when
        paginated.

2012-04-04  Mark Pilgrim  <pilgrim@chromium.org>

        Call histogramEnumeration directly
        https://bugs.webkit.org/show_bug.cgi?id=83106

        Reviewed by Adam Barth.

        Part of a refactoring project to remove the PlatformSupport
        abstraction from some functions. See bug 82948.

        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        (WebCore::histogramEnumeration):
        * platform/chromium/HistogramSupportChromium.cpp:
        (WebCore::HistogramSupport::histogramEnumeration):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-04  Zhenyao Mo  <zmo@google.com>

        Unreviewed, GPU bots build fix.

        Commited on behalf of sievers@chromium.org.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::canDraw):

2012-04-04  Abhishek Arya  <inferno@chromium.org>

        Add helpers to create anonymous table parts.
        https://bugs.webkit.org/show_bug.cgi?id=83116

        Reviewed by Julien Chaffraix.

        The patch introduces helpers to create anonymous table parts by
        introducing a new static function createAnonymousWithParentRenderer.
        The function builds a new anonymous wrapper of the same type as the class,
        inheriting style properties from parent and sets a display based on
        argument/default values. Also we streamline the RenderBlock functions
        to match this naming convention.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::createAnonymousBlockWithSameTypeAs):
        (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
        (WebCore):
        (WebCore::RenderBlock::createAnonymousColumnsWithParentRendererAndDisplay):
        (WebCore::RenderBlock::createAnonymousColumnSpanWithParentRendererAndDisplay):
        * rendering/RenderBlock.h:
        (RenderBlock):
        (WebCore::RenderBlock::createAnonymousBlock):
        (WebCore::RenderBlock::createAnonymousColumnsBlock):
        (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::addChild):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild):
        (WebCore::RenderTable::createAnonymousWithParentRendererAndDisplay):
        (WebCore):
        * rendering/RenderTable.h:
        (RenderTable):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::createAnonymousWithParentRendererAndDisplay):
        (WebCore):
        * rendering/RenderTableCell.h:
        (RenderTableCell):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild):
        (WebCore::RenderTableRow::createAnonymousWithParentRendererAndDisplay):
        (WebCore):
        * rendering/RenderTableRow.h:
        (RenderTableRow):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild):
        (WebCore::RenderTableSection::createAnonymousWithParentRendererAndDisplay):
        (WebCore):
        * rendering/RenderTableSection.h:
        (RenderTableSection):

2012-04-04  Erik Arvidsson  <arv@chromium.org>

        [V8] Add a per context data store and use that for caching boiler plates as well as constructor functions
        https://bugs.webkit.org/show_bug.cgi?id=83093

        Reviewed by Adam Barth.

        This introduces a V8BindingPerContextData class. After creating a new v8::Context we also create a new
        per context data instance. This instance maintains the boiler plate and constructor caches. V8DOMWrapper
        now delegates the caching to this new class. Previously the caching was only done in V8DOMWindowShell which
        made workers and isolated worlds behave slightly different.

        Tests: fast/dom/constructor-proto.html
               fast/workers/constructor-proto.html

        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorGetter): Renamed getConstructor to constructorForType.
        * bindings/v8/V8BindingPerContextData.cpp: Added.
        (WebCore):
        (WebCore::V8BindingPerContextData::dispose): This clears the persistent handles stored in the maps.
        (WebCore::V8BindingPerContextData::init): This installs the hidden prototype which is used as the
        [[Prototype]] for the constructor functions (for HotMail compat).
        (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase): Instantiates a new object and
        stores it in the boilerplate map, and returns a clone.
        (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): Creates the function for the constructor
        and stores it in the constructor map.
        * bindings/v8/V8BindingPerContextData.h: Added.
        (WebCore):
        (V8BindingPerContextData):
        (WebCore::V8BindingPerContextData::create):
        (WebCore::V8BindingPerContextData::~V8BindingPerContextData):
        (WebCore::V8BindingPerContextData::createWrapperFromCache): Checks the cache and clones the wrapper in
        the cache. If no boiler plate exists one is created and cached.
        (WebCore::V8BindingPerContextData::constructorForType): If the constructor already exists the cached
        constructor function is returned, otherwise a new constructor function is created and cached.
        (WebCore::V8BindingPerContextData::V8BindingPerContextData):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::disposeContextHandles): Clear the per context data when disposing the handles.
        (WebCore::V8DOMWindowShell::initContextIfNeeded): Create and initialize the per context data.
        (WebCore::V8DOMWindowShell::installDOMWindow):
        * bindings/v8/V8DOMWindowShell.h:
        (V8DOMWindowShell):
        (WebCore::V8DOMWindowShell::perContextData):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::constructorForType): Static method to get the constructor. The per context data
        is determined based on the type of the parameters.
        (WebCore):
        (WebCore::V8DOMWrapper::perContextData):
        (WebCore::V8DOMWrapper::instantiateV8Object): Use the per context data to unify the code paths.
        * bindings/v8/V8DOMWrapper.h:
        (WebCore):
        (V8DOMWrapper):
        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::V8IsolatedContext): Create and initialize the per context data.
        (WebCore::V8IsolatedContext::destroy): Clear the per context data.
        * bindings/v8/V8IsolatedContext.h:
        (WebCore):
        (WebCore::V8IsolatedContext::perContextData):
        (V8IsolatedContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::retrievePerContextData):
        (WebCore):
        * bindings/v8/V8Proxy.h:
        (WebCore):
        (V8Proxy):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::dispose): Clear the per context data
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Create and initialize the per context data.
        * bindings/v8/WorkerContextExecutionProxy.h:
        (WebCore):
        (WebCore::WorkerContextExecutionProxy::perContextData):
        (WorkerContextExecutionProxy):

2012-04-04  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Move recursive renderSurface clearing to CCLayerTreeHostImpl
        https://bugs.webkit.org/show_bug.cgi?id=82091

        Reviewed by James Robinson.

        No new tests needed, minor refactoring covered by existing tests.

        This patch is just a minor cleanup, moving clearRenderSurfacesOnCCLayerImplRecursive()
        from LayerRendererChromium to CCLayerTreeHostImpl. It makes more sense to place the code
        there, so that LayerRendererChromium is more like a blind utility for drawing things
        while CCLayerTreeHostImpl actually manages the state of the resources.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::beginDrawingFrame):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
        (WebCore::CCLayerTreeHostImpl::sendDidLoseContextRecursive):
        (WebCore::CCLayerTreeHostImpl::clearRenderSurfacesOnCCLayerImplRecursive):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore::CCLayerTreeHostImpl::rootLayer):
        (CCLayerTreeHostImpl):

2012-04-04  Chris Rogers  <crogers@google.com>

        Web Audio should use MutexTryLocker class
        https://bugs.webkit.org/show_bug.cgi?id=83194

        Reviewed by Kenneth Russell.

        Switch existing Web Audio code from directly calling tryLock() on a Mutex to use a MutexTryLocker.
        No new tests since it is a low-level threading primitive and is difficult to test.
        Existing Web Audio tests continue to test the process() methods affected.

        * Modules/webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::process):
        * Modules/webaudio/AudioParamTimeline.cpp:
        (WebCore::AudioParamTimeline::valuesForTimeRange):
        * Modules/webaudio/ConvolverNode.cpp:
        (WebCore::ConvolverNode::process):
        * Modules/webaudio/MediaElementAudioSourceNode.cpp:
        (WebCore::MediaElementAudioSourceNode::process):
        * Modules/webaudio/Oscillator.cpp:
        (WebCore::Oscillator::process):
        * Modules/webaudio/WaveShaperProcessor.cpp:
        (WebCore::WaveShaperProcessor::process):

2012-04-04  Raphael Kubo da Costa  <rakuco@webkit.org>

        [CSS] Make makevalues.pl and makeprop.pl ignore '#'s.
        https://bugs.webkit.org/show_bug.cgi?id=83212

        Reviewed by Tony Chang.

        This patch is a side-effect of my intentions to make the
        CMake-based ports work with GCC 4.7 without changing the
        parameters currently passed to the preprocessor. "-P" is always
        being passed to the preprocessor, but this breaks
        dom/make_names.pl due to GCC not outputting empty lines with "-P"
        anymore; if I switch to never passing "-P" (my aim), the CSS
        scripts currently break because of the additional lines output by
        the preprocessor. InFilesParser.pm and make-css-file-array.pl
        already skip lines which start with '#', for example.

        No new tests, tools plumbing.

        * css/makeprop.pl:
        * css/makevalues.pl:

2012-04-04  Min Qin  <qinmin@google.com>

        Disable fancy upsampling and dithering for decoding jpeg on android
        https://bugs.webkit.org/show_bug.cgi?id=83196

        Reviewed by Kenneth Russell.

        Dithering and fancy upsampling are currently disabled for chrome on android.
        This gives us about 20% performance improvement.
        Since the screen of mobile devices is small, impact on image quality is limited.
        This change does not introduce any changes on other platforms.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (ditherMode):
        (doFancyUpsampling):
        (WebCore::JPEGImageReader::decode):

2012-04-04  Daniel Sievers  <sievers@chromium.org>

        [Chromium] Always skip draw and readback if there is nothing
        to draw.
        https://bugs.webkit.org/show_bug.cgi?id=82680

        This avoids corruption from pushing frames that have no valid
        content drawn into them.
        Also in addition to checking for non-existing root layers, check
        for root layers with no content bounds. It's possible to see those
        with kForceCompositing mode for empty documents.

        Reviewed by James Robinson.

        Added CCLayerTreeHostTestEmptyContentsShouldNotDraw.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::canDraw):
        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):

2012-03-15  Jer Noble  <jer.noble@apple.com>

        Full Screen mode should cancel before navigation.
        https://bugs.webkit.org/show_bug.cgi?id=81295

        Reviewed by Anders Carlsson.

        No new tests; protect against speculative crasher when a bad client calls the below
        functions at inopportune times.

        Check that the document is not either detached or in the page cache, and if so, bail out
        early:
        * dom/Document.cpp:
        (WebCore::Document::webkitWillEnterFullScreenForElement):
        (WebCore::Document::webkitDidEnterFullScreenForElement):
        (WebCore::Document::webkitWillExitFullScreenForElement):
        (WebCore::Document::webkitDidExitFullScreenForElement):

2012-04-04  Emil A Eklund  <eae@chromium.org>

        Fix getFilterOutsets parameter types in RenderLayer
        https://bugs.webkit.org/show_bug.cgi?id=83041

        Reviewed by Julien Chaffraix.

        The getFilterOutsets method was changed to take integers in r112475, update
        RenderLayer to use the right data type for the outset arguments.

        No new tests, no change in functionality.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
        (WebCore::RenderLayer::calculateLayerBounds):

2012-04-04  Erik Arvidsson  <arv@chromium.org>

        Rebaseline binding tests.

        Unreviewed.

        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::constructorCallback):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::constructorCallback):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

2012-04-04  Dmitry Lomov  <dslomov@google.com>

        [JSC] ArrayBufferView and its ArrayBuffer are appended to object pool in wrong order
        https://bugs.webkit.org/show_bug.cgi?id=82090
        The implementation of structured cloning algorithm (http://www.w3.org/TR/html5/common-dom-interfaces.html#internal-structured-cloning-algorithm)
        in SerializedScriptValue.cpp assigns numerical identifiers to encontered objects as it traverses
        the cloned object during serialization.
        When the cloning encounters an already seen object, it transfers the assigned numerical id
        instead of cloning the object again. Deserialization process then repeats the process in 
        the mirror fashion, i.e. on deserializing the object it assigns deserialized object a numeric id and if it
        deserializes the id it substitutes the perviously deserialized objects. It is critical that serialization and deserialization
        assigns numeric ids in the same order.

        The bug (discovered by Yong Li) is that when serializing ArrayBufferView, the ids were assigned first to 
        the ArrayBufferView and then to underlying ArrayBuffer; however on deserialization the ids were assigned another way round.

        This patch fixes that by assigning the id first to ArrayBuffer and then to ArrayBufferView, and adds corresponding test cases.

        Reviewed by Kenneth Russell.

        New test cases added to fast/canvas/web-gl/array-message-passing.html.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::checkForDuplicate):
        (CloneSerializer):
        (WebCore::CloneSerializer::recordObject):
        (WebCore::CloneSerializer::startObjectInternal):
        (WebCore::CloneSerializer::dumpIfTerminal):

2012-04-04  Ian Vollick  <vollick@chromium.org>

        [chromium] When setting animation started events, should check the root layer
        https://bugs.webkit.org/show_bug.cgi?id=83060

        Reviewed by Adrienne Walker.

        No new tests.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::animateLayers):
        (WebCore::CCLayerTreeHost::animateLayersRecursive):
        (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):

2012-04-04  Adam Klein  <adamk@chromium.org>

        Web Inspector: break on DOM node insertion only once per operation, not once per inserted node
        https://bugs.webkit.org/show_bug.cgi?id=82967

        Reviewed by Ojan Vafai.

        This change affects the case where a DocumentFragment is inserted,
        rather than a single node. This is most common when using innerHTML:
        the effect of the change is that inserting, e.g., '<input><input>',
        the SubtreeModified breakpoint will be hit once, rather than twice
        (once for each input element). Given that the particular node being
        inserted wasn't exposed as part of the breakpoint, this seems strictly
        better.

        Now that the call to willInsertDOMNode is outside the loop, there's
        not an obvious node to pass in as the new child. Luckily, InspectorDOMDebuggerAgent
        already ignored that argument, so it's simply been removed from the signature.

        This changes paves the way to do only tree-modification work, and no
        external notifications, inside the loops in appendChild/insertBefore/replaceChild.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore): Hoisted call to willInsertDOMNode out of loop.
        (WebCore::ContainerNode::replaceChild): ditto.
        (WebCore::ContainerNode::appendChild): ditto.
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode): Removed first argument (now takes only the parent).
        * inspector/InspectorDOMDebuggerAgent.h:
        (InspectorDOMDebuggerAgent):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): Removed second argument.
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::willInsertDOMNode): Removed second argument.

2012-04-04  Jeffrey Pfau  <jpfau@apple.com>

        Move pending sheet removal from ~HTMLLinkElement to removal from document.
        https://bugs.webkit.org/show_bug.cgi?id=69184

        Reviewed by Adam Barth.

        Test: fast/html/pending-stylesheet-crash.html

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::~HTMLLinkElement):
        (WebCore::HTMLLinkElement::removedFromDocument):

2012-04-04  Mark Pilgrim  <pilgrim@chromium.org>

        Call histogramCustomCounts directly
        https://bugs.webkit.org/show_bug.cgi?id=83112

        Reviewed by Adam Barth.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerPainter::paint):
        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
        (WebCore::CCOverdrawMetrics::recordMetricsInternal):

2012-04-04  Alexis Menard  <alexis.menard@openbossa.org>

        Animation related classes should use CSSPropertyID rather than integers when manipulating CSS property ids.
        https://bugs.webkit.org/show_bug.cgi?id=83050

        Reviewed by Simon Fraser.

        Split the concept of animate none and animate all into a separate function rather than using the property member
        with some magic value set on it. Make also sure that we use CSSPropertyID all over the place rather than integers.
        We still have some place where convert from int to CSSPropertyID (mostly due to the fact that we need to make Hash*
        related classes to handle CSSPropertyID). While refactoring I also removed some dead code.

        No new tests : not behaviour changes intented.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyAnimation::applyInheritValue):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * page/animation/AnimationBase.cpp:
        (WebCore):
        (WebCore::PropertyWrapperBase::PropertyWrapperBase):
        (WebCore::PropertyWrapperBase::property):
        (PropertyWrapperBase):
        (WebCore::PropertyWrapperGetter::PropertyWrapperGetter):
        (WebCore::PropertyWrapper::PropertyWrapper):
        (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper):
        (WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper):
        (WebCore::PropertyWrapperColor::PropertyWrapperColor):
        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
        (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
        (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
        (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper):
        (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
        (WebCore::wrapperForProperty):
        (WebCore::AnimationBase::propertiesEqual):
        The code removed here could never be reached. propertiesEqual is used only in CompositeAnimation::updateTransitions and through
        ImplicitAnimation::isTargetPropertyEqual which is also called in CompositeAnimation. Both calls are protected by an ASSERT in
        CompositeAnimation:116 where we make sure the property id we're dealing with is a valid property id, therefore prop can't be equal to
        the old value cAnimateAll or even the new mode concept introduced in that patch can't be AnimateAll.
        (WebCore::AnimationBase::getPropertyAtIndex):
        (WebCore::AnimationBase::blendProperties):
        (WebCore::AnimationBase::animationOfPropertyIsAccelerated):
        (WebCore::gatherEnclosingShorthandProperties):
        (WebCore::AnimationBase::animatableShorthandsAffectingProperty):
        * page/animation/AnimationBase.h:
        (AnimationBase):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):
        (WebCore::CompositeAnimation::pauseTransitionAtTime):
        * page/animation/CompositeAnimation.h:
        (CompositeAnimation):
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::ImplicitAnimation):
        (WebCore::ImplicitAnimation::sendTransitionEvent):
        The check removed is useless as ImplicitAnimation constructor ensure via an ASSERT that the animatingProperty value is a correct and valid
        property id. Even the old code was ensuring the value of animatingProperty was different from cAnimateAll at construction time. As stated also
        in CompositeAnimation::updateTransitions and cover by the same ASSERT explained earlier, ImplicitAnimation are constructed for valid property ids.
        (WebCore::ImplicitAnimation::isTargetPropertyEqual):
        (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
        * page/animation/ImplicitAnimation.h:
        (WebCore::ImplicitAnimation::create):
        (ImplicitAnimation):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::animate):
        (WebCore::KeyframeAnimation::getAnimatedStyle):
        (WebCore::KeyframeAnimation::timeToNextService):
        * platform/animation/Animation.cpp:
        (WebCore::Animation::Animation):
        (WebCore::Animation::operator=):
        (WebCore::Animation::animationsMatch):
        * platform/animation/Animation.h:
        (WebCore::Animation::property):
        (WebCore::Animation::animationMode):
        (WebCore::Animation::setProperty):
        (WebCore::Animation::setAnimationMode):
        (Animation):
        (WebCore::Animation::initialAnimationProperty):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::startTransition):
        * rendering/RenderLayerBacking.h:
        (RenderLayerBacking):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::transitionForProperty):
        * rendering/style/RenderStyle.h:

2012-04-04  Emil A Eklund  <eae@chromium.org>

        Fix usage of LayoutUnits and snapping for scrolling in RenderBox
        https://bugs.webkit.org/show_bug.cgi?id=83073

        Reviewed by Eric Seidel.

        Fix usage of LayoutUnits and snapping/rounding logic in RenderBox.

        No new tests, no change in functionality.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrollWidth):
        Change scrollWidth to properly pixel snap values.
        
        (WebCore::RenderBox::scrollHeight):
        Change scrollHeight to properly pixel snap values.
        
        (WebCore::RenderBox::scrolledContentOffset):
        Change to return IntSize to match function definition.
        
        (WebCore::RenderBox::cachedSizeForOverflowClip):
        Changed cachedSizeForOverflowClip to LayoutSize as the overflow and clip
        rects all have subpixel precision.

        * rendering/RenderBox.h:
        (WebCore::RenderBox::pixelSnappedWidth):
        (WebCore::RenderBox::pixelSnappedHeight):
        Removed FIXME comment as the implementation 
        
        (WebCore::RenderBox::minYLayoutOverflow):
        (WebCore::RenderBox::maxYLayoutOverflow):
        (WebCore::RenderBox::minXLayoutOverflow):
        (WebCore::RenderBox::maxXLayoutOverflow):
        Added static_cast for border values.
        
        (WebCore::RenderBox::hasVisualOverflow):
        Changed to compare two pixel snapped values as we don't want to indicate
        overflow in cases where the the size is rounded down resulting in no
        visual overflow.

2012-04-04  Emil A Eklund  <eae@chromium.org>

        Fix types for location, size and rect calculations for render objects
        https://bugs.webkit.org/show_bug.cgi?id=83089

        Reviewed by Eric Seidel.

        Fix usage of LayoutUnits and rounding for a couple of different render
        object classes.

        No new tests, no change in functionality.

        * rendering/RenderDetailsMarker.cpp:
        (WebCore::RenderDetailsMarker::getPath):
        Change getPath to take a LayoutPoint as the transform has subpixel
        precision already.
        
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::computeLogicalHeight):
        Change logicalHeight to LayoutUnit as it is computed from subpixel
        values.
        
        * rendering/RenderInputSpeech.cpp:
        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
        Change button rect computation to LayoutRect and pixel snap just before
        painting to preserve precision.
        
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::rangeIntersectsRect):
        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
        (WebCore::RenderLineBoxList::paint):
        Change range calculations to LayoutUnits to preserve precision.
        
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::computePosition):
        Change width calculations to LayoutUnits to preserve precision.
        
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layoutCaption):
        Change table captions to LayoutUnits as the values are computed from
        subpixel componenets.
        
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getRoundedBorderFor):
        Snap border rect as RoundedRects use ints for crisp rendering.
        
        * rendering/style/ShadowData.cpp:
        (WebCore::ShadowData::adjustRectForShadow):
        Change adjustRectForShadow to take a LayoutRect as it already uses
        LayoutUnits.
        
2012-04-04  Emil A Eklund  <eae@chromium.org>

        Convert RootInlineBox to LayoutUnits in preparation for turning on subpixel layout
        https://bugs.webkit.org/show_bug.cgi?id=83054

        Reviewed by Eric Seidel.

        Convert RootInlineBox over to LayoutUnits, this mostly involves updating
        the alignment and adjustment code to be subpixel aware. 

        No new tests, no change in functionality.

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        Change beforeAnnotationsAdjustment to LayoutUnit.
        
        (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
        Change method to return LayoutUnit as it is computed from values with
        subpixel precision.
        
        (WebCore::RootInlineBox::lineSnapAdjustment):
        Round values before computing remainder.

        (WebCore::RootInlineBox::ascentAndDescentForBox):
        Change ascent and decent calculation to use LayoutUnits as they are
        computed from values with subpixel precision.
        
        (WebCore::RootInlineBox::verticalPositionForBox):
        Change verticalPosition to LayoutUnit.
        
        * rendering/RootInlineBox.h:
        (RootInlineBox):

2012-04-05  Joseph Pecoraro  <pecoraro@apple.com>

        <http://webkit.org/b/83108> Web Inspector: JSC Crash inspecting node with object event listener

        Reviewed by Geoff Garen.

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerLocation):
        Use jsDynamicCast to bail when the JSObject is not a JSFunction.

2012-04-04  Mark Pilgrim  <pilgrim@chromium.org>

        Call suddenTerminationChanged directly
        https://bugs.webkit.org/show_bug.cgi?id=83114

        Reviewed by Adam Barth.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/chromium/SuddenTerminationChromium.cpp:
        (WebCore::disableSuddenTermination):
        (WebCore::enableSuddenTermination):

2012-04-04  Adam Barth  <abarth@webkit.org>

        figure out how to export webcore symbols from webkit.dll properly
        https://bugs.webkit.org/show_bug.cgi?id=83105

        Reviewed by Dimitri Glazkov.

        * WebCore.gypi:
            - Separate the platform support files into a new GYP variable so
              that they can be build as part of webkit.dll rather than in
              webcore_platform.lib. Building them as part of webkit.dll ensure
              that the symbols marked for export will actually be in webkit.dll
              (and hence exported), even if nothing else in webkit.dll
              references the obj file that contains the symbol.
        * platform/chromium/support/WebMediaStreamSourcesRequest.cpp:
            - Unwind our ugly, ugly hack to make the Windows component build
              work.

2012-04-04  Mark Pilgrim  <pilgrim@chromium.org>

        Call sandboxEnabled directly
        https://bugs.webkit.org/show_bug.cgi?id=83113

        Reviewed by Adam Barth.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-04  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: switch IndexedDB, DOMStorage, ApplicationCache domains to typed API
        https://bugs.webkit.org/show_bug.cgi?id=83039

        Reviewed by Pavel Feldman.

        Client code is switched to typed API (all InspectorObject and InspectorArray types are
        replaced with generated types from TypeBuilder according to Inspector.json).

        Missing array of array specialization is added. Inspector.json is fixed to comform
        with actual behavior of InspectorDOMStorageAgent.

        Output parameter initialization is assured.

        * inspector/CodeGeneratorInspector.py:
        * inspector/Inspector.json:
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
        (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
        * inspector/InspectorApplicationCacheAgent.h:
        (InspectorApplicationCacheAgent):
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
        * inspector/InspectorDOMStorageAgent.h:
        (InspectorDOMStorageAgent):
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::bind):

2012-04-04  Tony Chang  <tony@chromium.org>

        Remove flex function css parsing
        https://bugs.webkit.org/show_bug.cgi?id=83083

        Reviewed by Ojan Vafai.

        The flexbox spec switched from using a flex() function on the width
        and height to a css property. Now that the -webkit-flex: has been
        implemented, we can remove the flex() function code.

        No new tests. Removing an old test that used to test the flex() function.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSAllInOne.cpp:
        * css/CSSFlexValue.cpp: Removed.
        * css/CSSFlexValue.h: Removed.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFlex):
        * css/CSSParser.h:
        (WebCore):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        * css/CSSValue.h:
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleFlexibleBoxData.cpp:
        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
        (WebCore::StyleFlexibleBoxData::operator==):
        * rendering/style/StyleFlexibleBoxData.h:

2012-04-04  Kausalya Madhusudhanan  <kmadhusu@chromium.org>

        [Coverity] Address some uninit constructor values.
        https://bugs.webkit.org/show_bug.cgi?id=82424

        Reviewed by Stephen White.

        New tests are not required since I did not modify any code behavior. I just initialized the class member variables in the constructor.

        * Modules/gamepad/Gamepad.cpp:
        (WebCore::Gamepad::Gamepad):
        * accessibility/AccessibilitySpinButton.cpp:
        (WebCore::AccessibilitySpinButtonPart::AccessibilitySpinButtonPart):
        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):
        * html/canvas/WebGLContextObject.h:
        (WebGLContextObject):
        * platform/PlatformTouchPoint.h:
        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
        * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp:
        (WebCore::CCPageScaleAnimation::CCPageScaleAnimation):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::CCRenderSurface):
        * xml/parser/MarkupTokenBase.h:
        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):

2012-04-04  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: expose savedURL, setToolbarColors and toggleSearchingForNode in InspectorFrontendAPI
        https://bugs.webkit.org/show_bug.cgi?id=83170

        Reviewed by Yury Semikhatsky.

        Chromium port is calling these from the embedder layer and they all are perfect candidates
        for the InspectorFrontendAPI. Adding them there.

        * inspector/front-end/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.enterInspectElementMode):
        (InspectorFrontendAPI.savedURL):
        (InspectorFrontendAPI.setToolbarColors):

2012-04-04  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: linearise aggregate's retaining size calculation.
        https://bugs.webkit.org/show_bug.cgi?id=83125

        This version is twice as fast as the original and it is non-recursive.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._getDominatedIndex): was moved closer to it's usage
        (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize): it was _buildAggregates' inner function forDominatedNodes.
        it was:
        a) extracted from _buildAggregates;
        b) made non-recursive;
        c) many getters were inlined;
        d) subarray of dominating nodes were inlined too.
        (WebInspector.HeapSnapshot.prototype._buildAggregates): many getters were inlined.
        (WebInspector.HeapSnapshot.prototype.aggregates):

2012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Best clickable node might return non "clickable" node. 
        https://bugs.webkit.org/show_bug.cgi?id=83153

        Reviewed by Kenneth Rohde Christiansen.

        Do not return non-clickable nodes as a best clickable node.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::bestClickableNodeForTouchPoint):

2012-04-04  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: migrate from InspectorFrontendHost.saveAs to InspectorFrontendHost.save.
        https://bugs.webkit.org/show_bug.cgi?id=83162

        Reviewed by Yury Semikhatsky.

        This change adds Save item into the context menus for inspector. It also makes
        saveAs parameter optional in the InspectorFrontendHost.save so that we could
        skip the dialog for the paths that were already saved. Embedder tells the front-end
        what urls were successfully saved so that front-end could issue subsequent save commands
        for those files.

        * English.lproj/localizedStrings.js:
        * inspector/InspectorFrontendClient.h:
        (InspectorFrontendClient):
        * inspector/InspectorFrontendClientLocal.h:
        (WebCore::InspectorFrontendClientLocal::canSave):
        (WebCore::InspectorFrontendClientLocal::save):
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::canSave):
        (WebCore::InspectorFrontendHost::save):
        * inspector/InspectorFrontendHost.h:
        (InspectorFrontendHost):
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.canSave):
        * inspector/front-end/JavaScriptSourceFrame.js:
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._contextMenu):
        (WebInspector.NetworkLogView.prototype._exportAll):
        (WebInspector.NetworkLogView.prototype._exportResource):
        * inspector/front-end/ResourceView.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.save):
        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction):
        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):
        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.save):
        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
        * inspector/front-end/Settings.js:
        * inspector/front-end/SourceFrame.js:
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._contextMenu):
        (WebInspector.TextViewer.prototype._commitEditing):
        (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
        * inspector/front-end/TimelineModel.js:
        (WebInspector.TimelineModel.prototype.saveToFile):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._registerShortcuts):
        (WebInspector.TimelinePanel.prototype._contextMenu):
        * inspector/front-end/inspector.js:

2012-04-04  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: time dividers are incorrectly rendered on empty timeline grid
        https://bugs.webkit.org/show_bug.cgi?id=83165

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkBaseCalculator.prototype.setDisplayWindow):
        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):

2012-04-04  Sergio Villar Senin  <svillar@igalia.com>

        [GTK] ASSERT in SocketStreamHandleSoup.cpp
        https://bugs.webkit.org/show_bug.cgi?id=83123

        Reviewed by Martin Robinson.

        Do not try to reuse a GOwnPtr as calling outPtr() causes an
        assertion if the pointer is already valid. Also do not try to
        close the IOStream if it was not created.

        This patch fixes
        http/tests/websocket/tests/hybi/workers/worker-reload.html but I
        am leaving it skipped until webkit.org/b/83124 is fixed.

        * platform/network/soup/SocketStreamHandleSoup.cpp:
        (WebCore::connectedCallback):

2012-04-04  Alexis Menard  <alexis.menard@openbossa.org>

        Re-add variable names in CSS related headers to help understanding the meaning of them.
        https://bugs.webkit.org/show_bug.cgi?id=83151

        Reviewed by Andreas Kling.

        r112952, r113031, r113042 removed variable names in some places but at the end it
        was better before as it helps understanding what the variables represent. This patch
        address this issue and add back the names where it makes sense.

        No new tests : cosmetic changes, no behavior change here.

        * css/CSSParser.h:
        (CSSParser):
        * css/StylePropertySet.h:
        (StylePropertySet):
        * dom/StyledElement.h:
        (StyledElement):
        * editing/EditingStyle.h:
        (EditingStyle):
        * editing/Editor.h:
        (Editor):
        * html/HTMLElement.h:
        (HTMLElement):

2012-04-04  Nikolas Zimmermann  <nzimmermann@rim.com>

        Implement animatedPathSegList support for SVGPathElement
        https://bugs.webkit.org/show_bug.cgi?id=83140

        Reviewed by Zoltan Herczeg.

        Add the last missing piece of animVal support: animations of the SVGPathElement's 'd' attribute
        should be reflected in the 'animatedPathSegList' not the 'pathSegList'.

        The SVGAnimatedPathAnimator is special as it doesn't operate on the SVGPathSegList types
        directly, but on the SVGPathByteStreams for performance reasons. The SVGPathSegLists
        are refcounted and exposed to JS, thus require lots of memory, compared to a simple
        byte stream, which SVGPathByteStream is. Only build an 'animatedPathSegList' while
        animating if its actually observed by the bindings, as this operation is heavy.

        This marks the finish of the animVal patch series: no more string round trips during
        animation. Previously paths were animated as byte streams, then converted to a String
        passed to pathElement->setAttribute("d", "newString"), parsed again to a byte stream, etc.

        A follow-up patch will remove the last crufts of direct setAttribute() animation.

        Extend all existing animated SVGPathElement tests to cover animatedPathSegList.

        * svg/SVGAnimatedColor.h:
        (WebCore::SVGAnimatedColorAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedColorAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedColorAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedColorAnimator::animValWillChange):
        (WebCore::SVGAnimatedColorAnimator::animValDidChange):
        (SVGAnimatedColorAnimator):
        * svg/SVGAnimatedPath.cpp:
        (WebCore::SVGAnimatedPathAnimator::constructFromString):
        (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
        (WebCore):
        (WebCore::SVGAnimatedPathAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedPathAnimator::animValWillChange):
        (WebCore::SVGAnimatedPathAnimator::animValDidChange):
        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedPath.h:
        (SVGAnimatedPathAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        (WebCore::SVGAnimatedType::supportsAnimVal):
        * svg/SVGAnimatedTypeAnimator.h:
        (SVGAnimatedTypeAnimator):
        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        (WebCore::SVGPathElement::getTotalLength):
        (WebCore::SVGPathElement::getPointAtLength):
        (WebCore::SVGPathElement::getPathSegAtLength):
        (WebCore::SVGPathElement::parseAttribute):
        (WebCore::SVGPathElement::svgAttributeChanged):
        (WebCore::SVGPathElement::pathByteStream):
        (WebCore):
        (WebCore::SVGPathElement::lookupOrCreateDWrapper):
        (WebCore::SVGPathElement::pathSegList):
        (WebCore::SVGPathElement::animatedPathSegList):
        (WebCore::SVGPathElement::pathSegListChanged):
        * svg/SVGPathElement.h:
        (WebCore):
        (SVGPathElement):
        (WebCore::SVGPathElement::isAnimValObserved):
        * svg/SVGPathParserFactory.cpp:
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
        * svg/SVGPathParserFactory.h:
        (SVGPathParserFactory):
        * svg/SVGPathSegWithContext.h:
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (SVGAnimatedListPropertyTearOff):
        (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedListPropertyTearOff::animVal):
        (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
        (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
        (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
        (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
        (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
        (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
        (SVGAnimatedPathSegListPropertyTearOff):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animationStarted):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animationEnded):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animatedPathByteStream):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
        (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
        * svg/properties/SVGListProperty.h:
        (WebCore::SVGListProperty::setValuesAndWrappers):
        (WebCore::SVGListProperty::SVGListProperty):
        (WebCore::SVGListProperty::~SVGListProperty):
        (SVGListProperty):

2012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Best zoomable area does not balance intersection with target area.
        https://bugs.webkit.org/show_bug.cgi?id=83148

        Reviewed by Kenneth Rohde Christiansen.

        Change the two step sort to simply picking the best quotient of touch intersection with target area.

        Test: touchadjustment/zoom-fatfinger.html

        * page/TouchAdjustment.cpp:
        (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
        (TouchAdjustment):
        (WebCore::TouchAdjustment::zoomableIntersectionQuotient):
        (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
        (WebCore::findBestClickableCandidate):
        (WebCore::findBestZoomableArea):

2012-04-04  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: make padding and client window width part of timeline calculator's state
        https://bugs.webkit.org/show_bug.cgi?id=83122

        Reviewed by Pavel Feldman.

        - preserve window width and padding within TimelineCalculator
        - rely on calculator to add expansion arrow padding
        - add TimelineCalculator::computePosition() for computing single position (not entire bar dimensions)

        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.MemoryStatistics.prototype._refreshDividers):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
        (WebInspector.NetworkLogView.prototype._reset):
        (WebInspector.NetworkBaseCalculator.prototype.computePosition):
        (WebInspector.NetworkBaseCalculator.prototype.formatTime):
        (WebInspector.NetworkBaseCalculator.prototype.setDisplayWindow):
        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):
        (WebInspector.TimelineGrid.prototype.addEventDividers):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype._update):
        (WebInspector.TimelineOverviewPane.prototype._reset):
        (WebInspector.TimelineOverviewCalculator.prototype.computePosition):
        (WebInspector.TimelineOverviewCalculator.prototype.setDisplayWindow):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._updateEventDividers):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelineCalculator.prototype.computePosition):
        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
        (WebInspector.TimelineCalculator.prototype.setDisplayWindow):
        (WebInspector.TimelineRecordGraphRow.prototype.update):
        (WebInspector.TimelineExpandableElement.prototype._update):

2012-04-04  Noel Gordon  <noel.gordon@gmail.com>

        [FileSystem] Forward declare File in FileCallback.h
        https://bugs.webkit.org/show_bug.cgi?id=83128

        Reviewed by Kentaro Hara.

        No new tests. Covered by existing tests.

        * Modules/filesystem/FileCallback.h: forward declare File class to make
        #include of "File.h" redundant.
        (WebCore):

2012-04-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113156.
        http://trac.webkit.org/changeset/113156
        https://bugs.webkit.org/show_bug.cgi?id=83146

        Breaks inspector layout tests (Requested by pfeldman on
        #webkit).

        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.MemoryStatistics.prototype._refreshDividers):
        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):
        (WebInspector.TimelineGrid.prototype.addEventDividers):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype._update):
        (WebInspector.TimelineOverviewPane.prototype._reset):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._updateEventDividers):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelinePanel.prototype.get timelinePaddingLeft):
        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
        (WebInspector.TimelineRecordGraphRow.prototype.update):
        (WebInspector.TimelineExpandableElement.prototype._update):

2012-04-04  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: front-end should accept raw web socket address for the remote connection.
        https://bugs.webkit.org/show_bug.cgi?id=83134

        Reviewed by Yury Semikhatsky.

        Migrated from the /devtools/page web socket schema to the generic one where remote target address
        can be specified as index.html?ws=localhost:9222/page1. Left the old host/page way for backwards
        compatibility.

        * inspector/front-end/inspector.js:

2012-04-04  Kent Tamura  <tkent@chromium.org>

        Add localization functions for the calendar picker
        https://bugs.webkit.org/show_bug.cgi?id=83129

        Reviewed by Hajime Morita.

        No behavior changes yet.

        * WebCore.gypi: Add LocalizedCalendar.h and LocalizedCalendarICU.cpp.
        * platform/LocalizedStrings.h: Add calendarTodayText() and calendarClearText().
        * platform/text/LocalizedCalendar.h:
        Added. This provides monthLabels(), weekDayShortLabels(), and firstDayOfWeek().
        * platform/text/LocalizedCalendarICU.cpp: Added. ICU implementations of the above functions.
        (WebCore::ScopedDateFormat): A wrapper for UDateFormat*.
        (WebCore::ScopedDateFormat::ScopedDateFormat):
        (WebCore::ScopedDateFormat::~ScopedDateFormat):
        (WebCore::ScopedDateFormat::get):
        (createFallbackMonthLabels): Creates fallback month labels in English.
        (createLabelVector):
        A helper for createMonthLabels() and createWeekDayShortLabels().
        (createMonthLabels):
        Creates month labels using createLabelVector() or createFallbackMonthLabels().
        (WebCore::monthLabels):
        (createFallbackWeekDayShortLabels): Creates fallback week labels in English.
        (createWeekDayShortLabels):
        Creates month labels using createLabelVector() or createFallbackWeekDayShortLabels().
        (WebCore::weekDayShortLabels):
        (getFirstDayOfWeek):
        (WebCore::firstDayOfWeek):

2012-04-03  Hans Wennborg  <hans@chromium.org>

        Speech JavaScript API: Plumbing for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=81667

        Reviewed by Darin Fisher.

        SpeechGrammar::src() is called with a ScriptExecutionContext, because
        the attribute setter needs it. Provide a src() method that doesn't
        take a ScriptExecutionContext that can be used internally.

        Rename SpeechRecognition::audioStartCallback(), etc. to use event style
        names, i.e. didStartAudio(), etc.

        Remove SpeechRecognitionClient::notifyVisibilityHidden(). The embedder
        can keep track of the visibility.

        Remove SpeechRecognitionClient::unregisterSpeechRecognition,
        it is not needed.

        No new tests, just minor tweaks.

        * Modules/speech/SpeechGrammar.h:
        (WebCore::SpeechGrammar::src):
        * Modules/speech/SpeechRecognition.cpp:
        (WebCore::SpeechRecognition::didStartAudio):
        (WebCore::SpeechRecognition::didStartSound):
        (WebCore::SpeechRecognition::didStartSpeech):
        (WebCore::SpeechRecognition::didEndSpeech):
        (WebCore::SpeechRecognition::didEndSound):
        (WebCore):
        (WebCore::SpeechRecognition::didEndAudio):
        (WebCore::SpeechRecognition::didReceiveResult):
        (WebCore::SpeechRecognition::didReceiveNoMatch):
        (WebCore::SpeechRecognition::didDeleteResult):
        (WebCore::SpeechRecognition::didReceiveError):
        (WebCore::SpeechRecognition::didStart):
        (WebCore::SpeechRecognition::didEnd):
        * Modules/speech/SpeechRecognition.h:
        (SpeechRecognition):
        * Modules/speech/SpeechRecognitionClient.h:
        (SpeechRecognitionClient):
        * Modules/speech/SpeechRecognitionController.h:

2012-04-03  Levi Weintraub  <leviw@chromium.org>

        Switch baseline values to LayoutUnits in RenderTableSection.
        https://bugs.webkit.org/show_bug.cgi?id=83017

        Reviewed by Julien Chaffraix.

        We initially intend to keep table layout on integers post switching the render tree to primarily
        use sub-pixel precision. Baseline positions switch to sub-pixel units, and in table layout code are
        combined with padding (also sub-pixel), which means we ideally won't truncate their values until
        after they're added together. Converting baseline values in RenderTableSection to LayoutUnits.

        No new tests. No change in behavior.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderTableSection.h:
        (RowStruct):

2012-04-04  Zan Dobersek  <zandobersek@gmail.com>

        [GTK] Scrolling doesn't work in WebKit2 since r110185
        https://bugs.webkit.org/show_bug.cgi?id=81779

        Reviewed by James Robinson.

        Bring back functionality of the ScrollAnimatorNone for ports that
        use a fallback timer for animation frames.

        No new tests - only restoring previous functionality.

        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
        (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
        (WebCore):
        (WebCore::ScrollAnimatorNone::animationTimerFired):
        (WebCore::ScrollAnimatorNone::startNextTimer):
        (WebCore::ScrollAnimatorNone::animationTimerActive):
        (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
        * platform/ScrollAnimatorNone.h:
        (ScrollAnimatorNone):

2012-04-02  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: switch Inspector, Memory and Database domains to typed API
        https://bugs.webkit.org/show_bug.cgi?id=82958

        Reviewed by Yury Semikhatsky.

        Client code is switched to typed API (all InspectorObject and InspectorArray types are replaced with
        generated types from TypeBuilder according to Inspector.json).

        Missing array of InspectorValues specialization is added.

        * inspector/CodeGeneratorInspector.py:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::inspectImpl):
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::inspect):
        * inspector/InspectorAgent.h:
        (InspectorAgent):
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore):
        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
        * inspector/InspectorDatabaseAgent.h:
        (InspectorDatabaseAgent):
        * inspector/InspectorDatabaseResource.cpp:
        (WebCore::InspectorDatabaseResource::bind):
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
        * inspector/InspectorMemoryAgent.h:
        (InspectorMemoryAgent):

2012-04-04  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: make padding and client window width part of timeline calculator's state
        https://bugs.webkit.org/show_bug.cgi?id=83122

        Reviewed by Pavel Feldman.

        - preserve window width and padding within TimelineCalculator
        - rely on calculator to add expansion arrow padding
        - add TimelineCalculator::computePosition() for computing single position (not entire bar dimensions)

        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.MemoryStatistics.prototype._refreshDividers):
        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype._update):
        (WebInspector.TimelineOverviewPane.prototype._reset):
        (WebInspector.TimelineOverviewCalculator.prototype.computePosition):
        (WebInspector.TimelineOverviewCalculator.prototype.setDisplayWindow):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._updateEventDividers):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelineCalculator):
        (WebInspector.TimelineCalculator.prototype.computePosition):
        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
        (WebInspector.TimelineCalculator.prototype.setDisplayWindow):
        (WebInspector.TimelineRecordGraphRow.prototype.update):
        (WebInspector.TimelineExpandableElement.prototype._update):

2012-04-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r113149.
        http://trac.webkit.org/changeset/113149
        https://bugs.webkit.org/show_bug.cgi?id=83126

        for breaking Chromium builders (Requested by pfeldman on
        #webkit).

        * Modules/speech/SpeechGrammar.h:
        * Modules/speech/SpeechRecognition.cpp:
        (WebCore::SpeechRecognition::audioStartCallback):
        (WebCore::SpeechRecognition::soundStartCallback):
        (WebCore::SpeechRecognition::speechStartCallback):
        (WebCore::SpeechRecognition::speechEndCallback):
        (WebCore::SpeechRecognition::audioEndCallback):
        (WebCore::SpeechRecognition::resultCallback):
        (WebCore::SpeechRecognition::noMatchCallback):
        (WebCore::SpeechRecognition::resultDeletedCallback):
        (WebCore::SpeechRecognition::errorCallback):
        (WebCore::SpeechRecognition::startCallback):
        (WebCore::SpeechRecognition::endCallback):
        * Modules/speech/SpeechRecognition.h:
        (SpeechRecognition):
        * Modules/speech/SpeechRecognitionClient.h:
        (SpeechRecognitionClient):
        * Modules/speech/SpeechRecognitionController.h:
        (WebCore::SpeechRecognitionController::visibilityHidden):
        (WebCore::SpeechRecognitionController::unregisterSpeechRecognition):

2012-04-03  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: event marks are missing in the timeline overview
        https://bugs.webkit.org/show_bug.cgi?id=83043

        Reviewed by Pavel Feldman.

        - invoke overview event dividers update as part of overview update, not lower pane update;
        - store raw records for event dividers within overview;
        - moved createEventDividers to a class method of TimelinePresentationModel for reuse.
        - ditto for forAllRecords

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype._update):
        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
        (WebInspector.TimelineOverviewPane.prototype._updateEventDividers):
        (WebInspector.TimelineOverviewPane.prototype._onRecordAdded):
        (WebInspector.TimelineOverviewPane.prototype._reset):
        (WebInspector.HeapGraph.prototype.update):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._updateEventDividers):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.isEventDivider):
        (WebInspector.TimelinePresentationModel.forAllRecords):
        (WebInspector.TimelinePresentationModel.createEventDivider):

2012-04-03  Hans Wennborg  <hans@chromium.org>

        Speech JavaScript API: Plumbing for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=81667

        Reviewed by Darin Fisher.

        SpeechGrammar::src() is called with a ScriptExecutionContext, because
        the attribute setter needs it. Provide a src() method that doesn't
        take a ScriptExecutionContext that can be used internally.

        Rename SpeechRecognition::audioStartCallback(), etc. to use event style
        names, i.e. didStartAudio(), etc.

        Remove SpeechRecognitionClient::notifyVisibilityHidden(). The embedder
        can keep track of the visibility.

        Remove SpeechRecognitionClient::unregisterSpeechRecognition,
        it is not needed.

        No new tests, just minor tweaks.

        * Modules/speech/SpeechGrammar.h:
        (WebCore::SpeechGrammar::src):
        * Modules/speech/SpeechRecognition.cpp:
        (WebCore::SpeechRecognition::didStartAudio):
        (WebCore::SpeechRecognition::didStartSound):
        (WebCore::SpeechRecognition::didStartSpeech):
        (WebCore::SpeechRecognition::didEndSpeech):
        (WebCore::SpeechRecognition::didEndSound):
        (WebCore):
        (WebCore::SpeechRecognition::didEndAudio):
        (WebCore::SpeechRecognition::didReceiveResult):
        (WebCore::SpeechRecognition::didReceiveNoMatch):
        (WebCore::SpeechRecognition::didDeleteResult):
        (WebCore::SpeechRecognition::didReceiveError):
        (WebCore::SpeechRecognition::didStart):
        (WebCore::SpeechRecognition::didEnd):
        * Modules/speech/SpeechRecognition.h:
        (SpeechRecognition):
        * Modules/speech/SpeechRecognitionClient.h:
        (SpeechRecognitionClient):
        * Modules/speech/SpeechRecognitionController.h:

2012-04-04  Mariusz Grzegorczyk  <mariusz.g@samsung.com>

        Fix build break when CONTEXT_MENUS is disabled.
        https://bugs.webkit.org/show_bug.cgi?id=82342

        Reviewed by Andreas Kling.

        Fixes build break in WebKit-Gtk, and WebKit-EFL ports when CONTEXT_MENUS macro is disabled.

        * page/ContextMenuClient.h:
        * page/ContextMenuController.h:
        * page/Page.cpp:
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        (WebCore):
        (PageClients):
        * platform/ContextMenu.cpp:
        * platform/ContextMenu.h:
        * platform/ContextMenuItem.cpp:
        * platform/ContextMenuItem.h:
        * platform/efl/ContextMenuEfl.cpp:
        * platform/efl/ContextMenuItemEfl.cpp:
        * platform/gtk/ContextMenuGtk.cpp:
        * platform/gtk/ContextMenuItemGtk.cpp:

2012-04-03  Adam Barth  <abarth@webkit.org>

        Implement <iframe srcdoc>
        https://bugs.webkit.org/show_bug.cgi?id=82991

        Reviewed by Sam Weinig.

        This patch implements the <iframe srcdoc> feature. This feature allows
        authors to easily supply the contents of an iframe without needing to
        round-trip to the server. Using srcdoc is more convenient than using
        data URLs because we set a bunch of properties of the child document
        sensibly. For example, the child inherits the base URL of the parent
        and the child uses standards mode by default.

        This feature is specified in
        <http://www.whatwg.org/specs/web-apps/current-work/#attr-iframe-srcdoc>.
        Although the feature has been in the spec for a while, I'm not aware of
        any other implementations in major browsers. The srcdoc feature works
        especially well with the sandbox and seamless attributes. We already
        implement sandbox and will likely implement seamless soon.

        The srcdoc feature was announced on the webkit-dev mailing list on March 30:
        https://lists.webkit.org/pipermail/webkit-dev/2012-March/020161.html

        This patch approaches the implementation using SubstituteData, which is
        a mechanism previously used for error messages and the like. Using
        SubstituteData has the advantage of not needing to modify the loading
        or history pipelines at all, making the integration of srcdoc with the
        rest of WebCore quite smooth.

        This patch encodes the contents of the srcdoc attribute to and from
        UTF-8 when round-tripping the contents through the loader. In a future
        patch, I plan to experiment with whether using UTF-16 (or perhaps
        another encoding) can improve performance. There might also be a way to
        avoid the memcpy entirely, but these optimizations are best left to
        followup patches as this patch focuses on the observable behavior of
        the feature.

        Tests: fast/frames/srcdoc/reloading-a-srcdoc-document-loads-it-again.html
               fast/frames/srcdoc/setting-src-does-nothing.html
               fast/frames/srcdoc/setting-srcdoc-reloads-document.html
               fast/frames/srcdoc/srcdoc-beats-src-dom.html
               fast/frames/srcdoc/srcdoc-beats-src.html
               fast/frames/srcdoc/srcdoc-can-be-in-qurks-mode.html
               fast/frames/srcdoc/srcdoc-can-navigate.html
               fast/frames/srcdoc/srcdoc-defaults-to-standards-mode.html
               fast/frames/srcdoc/srcdoc-loads-content.html
               fast/frames/srcdoc/srcdoc-urls.html
               http/tests/security/srcdoc-can-access-parent.html
               http/tests/security/srcdoc-in-sandbox-cannot-access-parent.html
               http/tests/security/srcdoc-inherits-referrer-for-forms.html
               http/tests/security/srcdoc-inherits-referrer.html

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::initSecurityContext):
            - srcdoc documents need to inherit their security contexts from
              their parents. We pick this initialization point to inherit the
              base URL and to set the "srcdoc Document" bit so that everything
              gets initialized atomically and from precisely the same owner
              frame.
        * dom/Document.h:
        (Document):
        (WebCore::Document::isSrcdocDocument):
            - This bit of state is present in the HTML5 spec and is referred to
              by a number of different requirements in the spec.
        * html/HTMLAttributeNames.in:
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseAttribute):
        (WebCore::HTMLFrameElementBase::location):
            - These functions implement the requirement that the srcdoc
              attribute takes precedence over the src attribute and triggers a
              load of a document with the URL about:srcdoc.
        * html/HTMLIFrameElement.idl:
            - Expose the srcdoc property as a reflection of the DOM attribute.
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::defaultForInitial):
            - This tweak allows srcdoc documents to use standards mode by
              default, saving authors from having to include a doctype in each
              srcdoc document.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::defaultSubstituteDataForURL):
            - This function transfers the contents of the srcdoc attribute into
              the loading pipeline. If the client supplies other
              SubstituteData, that takes precendence over our "default"
              SubstituteData.
        (WebCore::FrameLoader::outgoingReferrer):
            - This function implements the requirement from the HTML5 spec that
              srcdoc documents inherit their referrer from their parent
              document. A recursive implementation might have been more
              aesthetic but the iterative implementation seemed like a better
              choice.
        (WebCore::FrameLoader::shouldTreatURLAsSrcdocDocument):
            - An about:srcdoc URL only has special meaning when loaded in an
              iframe with a srcdoc attribute. Otherwise, it's just a normal
              "about" URL, meaning a blank page.
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::loadFrameRequest):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::loadWithNavigationAction):
        (WebCore::FrameLoader::reloadWithOverrideEncoding):
        (WebCore::FrameLoader::reload):
        (WebCore::FrameLoader::loadResourceSynchronously):
            - Update these call sites to call defaultSubstituteDataForURL and
              outgoingReferrer consistently.
        * loader/FrameLoader.h:
        (FrameLoader):

2012-03-29  Geoffrey Garen  <ggaren@apple.com>

        First step toward incremental Weak<T> finalization
        https://bugs.webkit.org/show_bug.cgi?id=82670

        Reviewed by Filip Pizlo.

        Updated WebCore for Weak<T> API changes.

        * bindings/js/DOMWrapperWorld.cpp:
        (WebCore::JSStringOwner::finalize): We're not allowed to get() a dead Weak<T>
        anymore, so use the debug-only was() helper function instead.

        * bindings/js/JSDOMBinding.h:
        (WebCore::uncacheWrapper): Ditto.

        * bindings/js/JSNodeCustom.h:
        (WebCore::setInlineCachedWrapper):
        (WebCore::clearInlineCachedWrapper): We're not allowed to get() a dead
        Weak<T>, so I had to push down these ASSERTs into ScriptWrappable.

        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode): Updated for non-Handle-ness
        of Weak<T>.

        * bindings/js/ScriptWrappable.h:
        (WebCore::ScriptWrappable::setWrapper):
        (WebCore::ScriptWrappable::clearWrapper): Use was(), as above.

2012-04-03  Luke Macpherson  <macpherson@chromium.org>

        Don't parse "show" and "hide" as valid values for display property.
        https://bugs.webkit.org/show_bug.cgi?id=83115

        Reviewed by Adam Barth.

        No new tests.

        * css/CSSParser.cpp:
        (WebCore::isValidKeywordPropertyAndValue):

2012-04-03  Yuta Kitamura  <yutak@chromium.org>

        Crash in WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel
        https://bugs.webkit.org/show_bug.cgi?id=82873

        Reviewed by David Levin.

        WorkerThreadableWebSocketChannel::Bridge should properly handle the cases where inter-thread
        callback is not called due to the termination of the worker run loop. Specifically, the bridge
        should not send its "this" pointer to the main thread, because the bridge object may be freed
        in the worker thread before the main thread starts to process.

        Test: http/tests/websocket/tests/hybi/workers/worker-reload.html

        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
        (WebCore::ThreadableWebSocketChannelClientWrapper::peer):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didCreateWebSocketChannel):
        Renamed from setUseHixie76Protocol, as this funtion now also sets m_peer.
        Sets m_syncMethodDone to true, because this function is called in the end of
        synchronous wait of Bridge::initialize().
        (WebCore::ThreadableWebSocketChannelClientWrapper::clearPeer):
        (WebCore::ThreadableWebSocketChannelClientWrapper::useHixie76Protocol):
        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
        Add WorkerThreadableWebSocketChannel::Peer which is initialized after the creation of
        WebSocketChannel in the main thread.
        (ThreadableWebSocketChannelClientWrapper):
        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
        Don't do synchronous wait in the constructor, as a member function may be called
        during the wait before the constructor finishes. The meat of the constructor has
        moved to initialize() function.
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::~Bridge):
        (WorkerContextDidInitializeTask):
        (WebCore::WorkerContextDidInitializeTask::create):
        (WebCore::WorkerContextDidInitializeTask::~WorkerContextDidInitializeTask):
        (WebCore::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
        Don't pass "this" object to the main thread. Receive the pointer to the peer object
        via ThreadableWebSocketChannelClientWrapper which is ThreadSafeRefCounted<>.
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
        m_peer may be NULL, and we should not do anything in that case.
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
        (WebCore::WorkerThreadableWebSocketChannel::mainThreadClose):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
        (WorkerThreadableWebSocketChannel):
        (WebCore::WorkerThreadableWebSocketChannel::refThreadableWebSocketChannel):
        (WebCore::WorkerThreadableWebSocketChannel::derefThreadableWebSocketChannel):
        (Bridge):
        * workers/DefaultSharedWorkerRepository.cpp:
        (SharedWorkerProxy):
        (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
        * workers/WorkerLoaderProxy.h:
        (WorkerLoaderProxy::postTaskForModeToWorkerContext):
        Return bool to indicate whether postTask was successful or not. This is necessary
        to avoid memory leaks of Peer object in Bridge::initialize() function.
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
        * workers/WorkerMessagingProxy.h:
        (WorkerMessagingProxy):

2012-04-03  Keishi Hattori  <keishi@webkit.org>

        Disable ENABLE_DATALIST for now
        https://bugs.webkit.org/show_bug.cgi?id=82871

        Reviewed by Kent Tamura.

        * Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.

2012-04-03  Yael Aharon  <yael.aharon@nokia.com>

        [Qt][WK2] Assert on startup after r113090
        https://bugs.webkit.org/show_bug.cgi?id=83111

        Reviewed by Noam Rosenthal.

        Add willBeDestroyed to to GraphicsLayerTextureMapper.

        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::~GraphicsLayerTextureMapper):
        (WebCore):
        (WebCore::WebGraphicsLayer::willBeDestroyed):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        (GraphicsLayerTextureMapper):

2012-04-03  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Out-of-process font loading garbles text
        https://bugs.webkit.org/show_bug.cgi?id=83002

        Reviewed by Kent Tamura.

        Initialize m_CTFont by using m_cgFont in FontPlatformData when we use
        out-of-process font loading.

        No new tests. This problem only occurs when the user uses a third party
        font management software like Font Explorer so it is difficult to add
        tests.

        * platform/graphics/chromium/CrossProcessFontLoading.mm:
        (WebCore):
        (WebCore::FontPlatformData::loadFont): If font loading fails, set null to outNSFont so that the FontPlatformData won't be used.
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::ctFont): Modified to return the appropriate NSFont object when the font from the browser process.
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::createFontPlatformData): Returns null when the generated FontPlatformData object doesn't have NSFont object.

2012-04-03  Hironori Bono  <hbono@chromium.org>

        Prevent spellchecking text pasted to an element having spellchecking disabled
        https://bugs.webkit.org/show_bug.cgi?id=81323

        Reviewed by Hajime Morita.

        This change prevent calling SpellChecker::requestCheckingFor when pasting text
        to an element whose spellcheck attribute is false or a password input.

        Test: editing/spelling/spellcheck-paste-disabled.html

        * editing/Editor.cpp:
        (WebCore::Editor::replaceSelectionWithFragment): Disabled spellchecking on password inputs.
        * editing/SpellChecker.cpp:
        (WebCore::SpellChecker::isCheckable): Return false when spellchecking is disabled.

2012-04-03  Hayato Ito  <hayato@chromium.org>

        Make FocusController use a ComposedShadowTreeWalker, instead of ReifiedTreeTraversal APIs.
        https://bugs.webkit.org/show_bug.cgi?id=82694

        Reviewed by Dimitri Glazkov.

        Rewrite a focus controller so that it uses ComposedShadowTreeWalker
        since that is a preferred way to traverse composed shadow tree.
        I'll get rid of ReifiedTreeTraversal in follow-up patches, which is now deprecated.

        No new tests. No change in functionality.

        * page/FocusController.cpp:
        (WebCore::walkerFrom):
        (WebCore):
        (WebCore::walkerFromNext):
        (WebCore::walkerFromPrevious):
        (WebCore::nextNode):
        (WebCore::previousNode):
        (WebCore::FocusController::findNodeWithExactTabIndex):
        (WebCore::nextNodeWithGreaterTabIndex):
        (WebCore::previousNodeWithLowerTabIndex):
        (WebCore::FocusController::nextFocusableNode):
        (WebCore::FocusController::previousFocusableNode):

2012-04-03  Srikumar Bonda  <srikumar.b@gmail.com>

        [Qt] Crash in ~GraphicsContext3D() when init failed
        https://bugs.webkit.org/show_bug.cgi?id=82992

        Reviewed by Luiz Agostini.

        WebKit crashes in ~GraphicsContext3D() while freeing the variables which are
        not even allocated because of the init failure in GraphicsContext3D() for Qt.
        In addition, Added a safety check in makeContextCurrent() before accessing
        GraphicsContext3DPrivate object.

        No new tests because the change is about adding null check
        before accessing the variables.

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::~GraphicsContext3D):
        (WebCore::GraphicsContext3D::makeContextCurrent):

2012-04-03  Rafael Weinstein  <rafaelw@chromium.org>

        Use V8 completion callback API to assert that V8RecursionScope is on the stack whenever invoking script
        https://bugs.webkit.org/show_bug.cgi?id=79131

        Reviewed by Adam Barth.

        End-of-microtask work (cancelling outstanding IDB transactions,
        delivering DOM mutations) depend on V8RecursionScope being on the
        stack whenever a call is made into script. V8 provides a completion
        callback API that could be used to hook these "end-of-microtask"
        events, but it turns out that WebKit calls into script for various
        reasons besides running script from the page. For example, constructing
        wrapper objects from function templates counts as "running script",
        yet it's not appropriate to run this callback every time a JS wrapper
        is constructed.

        Instead, this patch makes use of the V8 completion callback mechanism
        only in debug mode, to assert that either a V8RecursionScope (when
        calling author script) or a V8RecursionScope::MicrotaskSuppression
        (when calling non-author script) is on the stack when V8 thinks it's
        finished executing script. This requires dropping MicrotaskSuppression
        objects in a bunch of places, most notably the Inspector.
        Note that in release mode, this class does nothing and thus should be
        optimized away.

        No new tests. Existing tests have appropriate coverage.

        * Target.pri:
        * WebCore.gypi:
        * bindings/v8/DateExtension.cpp:
        (WebCore::DateExtension::setAllowSleep):
        * bindings/v8/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::addListener):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::callFunctionEvenIfScriptDisabled):
        (WebCore):
        (WebCore::ScriptController::collectGarbage):
        * bindings/v8/ScriptController.h:
        (ScriptController):
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::callDebuggerMethod):
        (WebCore):
        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
        (WebCore::ScriptDebugServer::stepIntoStatement):
        (WebCore::ScriptDebugServer::stepOverStatement):
        (WebCore::ScriptDebugServer::stepOutOfFunction):
        (WebCore::ScriptDebugServer::setScriptSource):
        (WebCore::ScriptDebugServer::currentCallFrame):
        (WebCore::ScriptDebugServer::handleV8DebugEvent):
        (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
        * bindings/v8/ScriptDebugServer.h:
        (ScriptDebugServer):
        * bindings/v8/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::call):
        * bindings/v8/V8Binding.cpp:
        (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
        * bindings/v8/V8Binding.h:
        (V8BindingPerIsolateData):
        (WebCore::V8BindingPerIsolateData::internalScriptRecursionLevel):
        (WebCore::V8BindingPerIsolateData::incrementInternalScriptRecursionLevel):
        (WebCore::V8BindingPerIsolateData::decrementInternalScriptRecursionLevel):
        * bindings/v8/V8DOMWindowShell.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::prepareListenerObject):
        * bindings/v8/V8NPObject.cpp:
        * bindings/v8/V8RecursionScope.h:
        (WebCore):
        (WebCore::V8RecursionScope::recursionLevel):
        (V8RecursionScope):
        (WebCore::V8RecursionScope::properlyUsed):
        (MicrotaskSuppression):
        (WebCore::V8RecursionScope::MicrotaskSuppression::MicrotaskSuppression):
        (WebCore::V8RecursionScope::MicrotaskSuppression::~MicrotaskSuppression):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject):
        * bindings/v8/custom/V8InjectedScriptManager.cpp:
        (WebCore::InjectedScriptManager::createInjectedScript):
        * bindings/v8/custom/V8ScriptProfileCustom.cpp:
        * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:

2012-04-03  Anna Cavender  <annacc@chromium.org>

        Makes sure m_showingByDefault is set to false when TextTrack.mode is set from JS.
        https://bugs.webkit.org/show_bug.cgi?id=79791

        Reviewed by Eric Carlson.

        Test: media/track/track-mode.html

        * html/track/TextTrack.cpp:
        (WebCore::TextTrack::setMode): setMode should always setShowingByDefault to false.

2012-04-03  Jia Pu  <jpu@apple.com>

        Rename SpellingCorrectionController to AlternativeTextController.
        https://bugs.webkit.org/show_bug.cgi?id=82942

        Reviewed by Enrica Casucci.

        No new tests, since there's no change of funcationalities.

        This patch renames SpellingCorrectionController to AlternativeTextController, CorrectionPanelInfo to
        AlternativeTextInfo, CorrectionPanelInfo::CorretionPanelType to AlternativeTextType, and ReasonForDismissingCorrectionPanel
        to ReasonForDismissingAlternativeText. All these renaming reflects the fact that this class controls change
        of text caused by both spell checking and alternative dictation results. It also renames a couple of functions
        in the original SpellingCorrectionController class for the same reason.

        SpellingCorrectionPanel::replacementString has been replaced by AlternativeTextInfo::details which is an object
        that can be instantiated with different subclasses.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/AlternativeTextController.cpp: Copied from Source/WebCore/editing/SpellingCorrectionController.cpp.
        (AutocorrectionAlternativeDetails):
        (WebCore::AutocorrectionAlternativeDetails::create):
        (WebCore::AutocorrectionAlternativeDetails::replacementString):
        (WebCore::AutocorrectionAlternativeDetails::AutocorrectionAlternativeDetails):
        (WebCore):
        (WebCore::AlternativeTextController::AlternativeTextController):
        (WebCore::AlternativeTextController::~AlternativeTextController):
        (WebCore::AlternativeTextController::startAlternativeTextUITimer):
        (WebCore::AlternativeTextController::stopAlternativeTextUITimer):
        (WebCore::AlternativeTextController::stopPendingCorrection):
        (WebCore::AlternativeTextController::applyPendingCorrection):
        (WebCore::AlternativeTextController::hasPendingCorrection):
        (WebCore::AlternativeTextController::isSpellingMarkerAllowed):
        (WebCore::AlternativeTextController::show):
        (WebCore::AlternativeTextController::handleCancelOperation):
        (WebCore::AlternativeTextController::dismiss):
        (WebCore::AlternativeTextController::dismissSoon):
        (WebCore::AlternativeTextController::applyAlternativeText):
        (WebCore::AlternativeTextController::applyAutocorrectionBeforeTypingIfAppropriate):
        (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
        (WebCore::AlternativeTextController::timerFired):
        (WebCore::AlternativeTextController::handleAlternativeTextUIResult):
        (WebCore::AlternativeTextController::isAutomaticSpellingCorrectionEnabled):
        (WebCore::AlternativeTextController::rootViewRectForRange):
        (WebCore::AlternativeTextController::respondToChangedSelection):
        (WebCore::AlternativeTextController::respondToAppliedEditing):
        (WebCore::AlternativeTextController::respondToUnappliedEditing):
        (WebCore::AlternativeTextController::client):
        (WebCore::AlternativeTextController::textChecker):
        (WebCore::AlternativeTextController::recordAutocorrectionResponseReversed):
        (WebCore::AlternativeTextController::markReversed):
        (WebCore::AlternativeTextController::markCorrection):
        (WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
        (WebCore::AlternativeTextController::deletedAutocorrectionAtPosition):
        (WebCore::AlternativeTextController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand):
        (WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
        * editing/AlternativeTextController.h: Copied from Source/WebCore/editing/SpellingCorrectionController.h.
        (AlternativeTextDetails):
        (WebCore::AlternativeTextDetails::AlternativeTextDetails):
        (WebCore::AlternativeTextDetails::~AlternativeTextDetails):
        (WebCore):
        (AlternativeTextInfo):
        (AlternativeTextController):
        (WebCore::AlternativeTextController::shouldRemoveMarkersUponEditing):
        * editing/EditingAllInOne.cpp:
        * editing/Editor.cpp:
        (WebCore::Editor::respondToChangedSelection):
        (WebCore::Editor::appliedEditing):
        (WebCore::Editor::unappliedEditing):
        (WebCore::Editor::Editor):
        (WebCore::Editor::insertTextWithoutSendingTextEvent):
        (WebCore::Editor::insertLineBreak):
        (WebCore::Editor::insertParagraphSeparator):
        (WebCore::Editor::isAutomaticSpellingCorrectionEnabled):
        (WebCore::Editor::markMisspellingsAfterTypingToWord):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        (WebCore::Editor::markAndReplaceFor):
        (WebCore::Editor::changeBackToReplacedString):
        (WebCore::Editor::unappliedSpellCorrection):
        (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
        (WebCore::Editor::deletedAutocorrectionAtPosition):
        (WebCore::Editor::startAlternativeTextUITimer):
        (WebCore::Editor::handleAlternativeTextUIResult):
        (WebCore::Editor::dismissCorrectionPanelAsIgnored):
        * editing/Editor.h:
        (WebCore):
        (Editor):
        * editing/SpellingCorrectionCommand.cpp:
        * editing/SpellingCorrectionController.cpp: Removed.
        * editing/SpellingCorrectionController.h: Removed.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::markMisspellingsAfterTyping):
        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::showCorrectionPanel):
        (WebCore::EmptyEditorClient::dismissCorrectionPanel):
        (WebCore::EmptyEditorClient::dismissCorrectionPanelSoon):
        * page/EditorClient.h:

2012-04-03  Adam Barth  <abarth@webkit.org>

        Unreviewed. This patch adds an ugly, ugly hack to bandaid over the
        Windows component build. See comments in the code for details.

        * platform/chromium/support/WebMediaStreamSourcesRequest.cpp:
        (WebKit::WebMediaStreamSourcesRequest::dummy):
        (WebKit):

2012-04-03  Abhishek Arya  <inferno@chromium.org>

        Crash in SelectorChecker::checkOneSelector.
        https://bugs.webkit.org/show_bug.cgi?id=83040

        Reviewed by Antti Koivisto.

        Test: fast/css/css-set-selector-text-crash.html

        Removing the early bail when we detect that our selector text
        hasn't changed, and we don't notify the styleSelectorChanged.
        In fact, when we adopt the new selector list, the old one will
        get destroyed and the styleSelectorChanged call needs to be made.

        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):

2012-04-03  Julien Chaffraix  <jchaffraix@webkit.org>

        presentationAttributeCacheMaximumSize is set too low
        https://bugs.webkit.org/show_bug.cgi?id=82816

        Reviewed by Antti Koivisto.

        Performance change, no side effects anticipated.

        Prior to r106740, the presentation attribute style cache used to grow unbounded. As part of r110316,
        a different version of the cache was introduced with a maximum size of 128. This size gave a 75% hit rate.

        However this is bad as the previous cache had a 85% hit rate** and each miss propagate down to the matched
        properties cache as we use pointer comparisons.

        This change bumps the size to 4096. This size was chosen to bring us back to the previous hit rate while
        being a power of 2 (it is the HashMap maximum size). The steep increase is due to the combinational compexity
        of the new cache model: we need to match all our attributes' name, value and tag name to get a hit vs
        one attribute name, value and a category in the previous cache. To avoid blowing up the memory, we introduced
        a timer to clear the cache if the hit rate is too low.

        The measured hit rate is actually better now - in the 90% range on most page cyclers. This ups the matched
        properties hit rate by 1 percent point on presentation attributes.

        ** This is not a true apple-to-apple comparison as the cache model was changed.

        * dom/StyledElement.cpp:
        (PresentationAttributeCacheCleaner):
        (WebCore::PresentationAttributeCacheCleaner::PresentationAttributeCacheCleaner):
        (WebCore::PresentationAttributeCacheCleaner::didHitPresentationAttributeCache):
        (WebCore::PresentationAttributeCacheCleaner::cleanCache):
        (WebCore):
        (WebCore::presentationAttributeCacheCleaner):
        (WebCore::StyledElement::updateAttributeStyle):
        Added the logic to clean the presentation attribute cache if we drop below 100 hits per minutes.

2012-04-03  Tony Chang  <tony@chromium.org>

        Implement new flex property and deprecate flex function
        https://bugs.webkit.org/show_bug.cgi?id=82128

        Reviewed by Ojan Vafai.

        No new tests. Tests were updated to use the new syntax and they should
        all pass.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::preferredFlexLengthForChild): Grab the
        preferred size and if it's auto, fall back to width or height.
        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
        (WebCore::RenderFlexibleBox::positiveFlexForChild): Use the value from the flex property.
        (WebCore::RenderFlexibleBox::negativeFlexForChild): Use the value from the flex property.
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
        * rendering/RenderFlexibleBox.h:

2012-03-15  Anders Carlsson  <andersca@apple.com>

        Search result page scrolls up before the correct page opens from google search
        https://bugs.webkit.org/show_bug.cgi?id=81280
        <rdar://problem/10973263>

        Reviewed by Sam Weinig.

        Make the requested scroll position part of the ScrollingTreeState so any changes being made
        are in sync with other important changes such as the scroll layer or contents size.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
        Use coordinatesScrollingForFrameView instead of checking if the frame is the main frame.

        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
        Call ScrollingTreeState::setRequestedScrollPosition.

        (WebCore::ScrollingCoordinator::setScrollLayer):
        Reset the requested scroll position.

        * page/scrolling/ScrollingTreeState.cpp:
        (WebCore::ScrollingTreeState::setRequestedScrollPosition):
        Keep track of the scroll position.

        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::update):
        Update the scroll position if it's changed.

2012-04-03  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Switch touchpad fling curve physics to absolute (not scaled) curve.
        https://bugs.webkit.org/show_bug.cgi?id=83061

        Reviewed by James Robinson.

        Revised existing unit tests.

        Use an absolute curve for touchpad fling. Here we identify the location on the curve corresponding
        to the initial fling velocity, and "jump in" at that point. Avoids issues around time/magnitude
        scaling present in previous implementation, and gives better feel to fling animation.

        * platform/TouchpadFlingPlatformGestureCurve.cpp:
        (WebCore):
        (WebCore::TouchpadFlingPlatformGestureCurve::create):
        (WebCore::position):
        (WebCore::velocity):
        (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
        (WebCore::TouchpadFlingPlatformGestureCurve::apply):
        * platform/TouchpadFlingPlatformGestureCurve.h:
        (TouchpadFlingPlatformGestureCurve):

2012-04-02  Zhenyao Mo  <zmo@google.com>

        Implement WebGLShaderPrecisionFormat
        https://bugs.webkit.org/show_bug.cgi?id=75925

        Reviewed by Kenneth Russell.

        Test: fast/canvas/webgl/shader-precision-format.html

        * CMakeLists.txt: Add new source files webglshaderprecisionformat.h/idl
        * DerivedSources.make: Ditto.
        * DerivedSources.pri: Ditto.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * html/canvas/WebGLRenderingContext.cpp: Add getShaderPrecisionFormat.
        (WebCore):
        (WebCore::WebGLRenderingContext::getShaderPrecisionFormat):
        * html/canvas/WebGLRenderingContext.h: Ditto.
        (WebCore):
        (WebGLRenderingContext):
        * html/canvas/WebGLRenderingContext.idl: Ditto.
        * html/canvas/WebGLShaderPrecisionFormat.h: Added.
        (WebCore):
        (WebGLShaderPrecisionFormat):
        (WebCore::WebGLShaderPrecisionFormat::create):
        (WebCore::WebGLShaderPrecisionFormat::rangeMin):
        (WebCore::WebGLShaderPrecisionFormat::rangeMax):
        (WebCore::WebGLShaderPrecisionFormat::precision):
        (WebCore::WebGLShaderPrecisionFormat::WebGLShaderPrecisionFormat):
        * html/canvas/WebGLShaderPrecisionFormat.idl: Added.
        * page/DOMWindow.idl: Expose new type WebGLShaderPrecisionFormat for instanceof.
        * platform/graphics/GraphicsContext3D.h: Add getShaderPrecisionFormat().
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Ditto.
        (WebCore::GraphicsContext3D::getShaderPrecisionFormat):
        (WebCore):
        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: Ditto.
        (WebCore::GraphicsContext3D::getShaderPrecisionFormat):
        (WebCore):
        * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
        (WebCore::GraphicsContext3D::getShaderPrecisionFormat):
        (WebCore):

2012-04-03  Zalan Bujtas  <zbujtas@gmail.com>

        Frame flattening: Do not restart layout from parent frame, when the parent is clean.
        https://bugs.webkit.org/show_bug.cgi?id=81114

        Reviewed by Antti Koivisto.

        When frame flattening is on, child frames try to mark the ancestors dirty
        to be able to restart layout from the main frame. Child frames mark the
        anchestors in FrameView::scheduleRelayout(). Marking fails when scheduling is disabled,
        for example when the iframe's <head> has blocking resource and the <body> has not
        been injected into the document.
        When marking ancestor fails, child frame layout needs to continue normally.
        It is expected to have layouts, when scheduling is enabled.

        Test: http/tests/misc/iframe-flattening-3level-nesting-with-blocking-resource.html

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::isInChildFrameWithFrameFlattening):
        (WebCore):
        (WebCore::FrameView::doLayoutWithFrameFlattening):
        * page/FrameView.h:
        (FrameView):

2012-04-03  Simon Fraser  <simon.fraser@apple.com>

        Avoid virtual method calls in the GraphicsLayer destructor
        https://bugs.webkit.org/show_bug.cgi?id=83067

        Reviewed by James Robinson.

        Code cleanup to avoid calling virtual methods in the GraphicsLayer
        destructor. Factor teardown code into a willBeDestroyed() method
        that is called from the most dervied class. willBeDestroyed()
        calls have to be chained. Fix the various ports' GraphicsLayer
        implementations.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::~GraphicsLayer):
        (WebCore):
        (WebCore::GraphicsLayer::willBeDestroyed):
        * platform/graphics/GraphicsLayer.h:
        (GraphicsLayer):
        * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
        (WebCore::GraphicsLayerBlackBerry::~GraphicsLayerBlackBerry):
        (WebCore):
        (WebCore::GraphicsLayerBlackBerry::willBeDestroyed):
        * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
        (GraphicsLayerBlackBerry):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::~GraphicsLayerCA):
        (WebCore):
        (WebCore::GraphicsLayerCA::willBeDestroyed):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
        (WebCore):
        (WebCore::GraphicsLayerChromium::willBeDestroyed):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (GraphicsLayerChromium):
        * platform/graphics/clutter/GraphicsLayerClutter.cpp:
        (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
        * platform/graphics/efl/GraphicsLayerEfl.cpp:
        (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQt::~GraphicsLayerQt):
        (WebCore):
        (WebCore::GraphicsLayerQt::willBeDestroyed):
        * platform/graphics/qt/GraphicsLayerQt.h:
        (GraphicsLayerQt):

2012-04-03  Daniel Cheng  <dcheng@chromium.org>

        Having a drop handler prevents navigation on drop even if event is not cancelled
        https://bugs.webkit.org/show_bug.cgi?id=79172

        Reviewed by Ryosuke Niwa.

        Only early return if the drop handler prevents the default action.
        http://trac.webkit.org/changeset/105396 introduced this issue when fixing some other aspects
        of DnD handling.

        Test: fast/events/drop-handler-should-not-stop-navigate.html

        * page/DragController.cpp:
        (WebCore::DragController::performDrag):
        (WebCore::DragController::concludeEditDrag): Remove the assert. By definition, we want to
            allow default actions to run now if they weren't explicitly canceled.

2012-04-03  Erik Arvidsson  <arv@chromium.org>

        [v8] Fix memory leak in V8LazyEventListener
        https://bugs.webkit.org/show_bug.cgi?id=83057

        Reviewed by Ojan Vafai.

        This also brings the V8 and JSC implementation closer. The timing when we first lookup
        the form element is now same in JSC and V8 (but different from Mozilla).

        This also clears the strings once the code has been parsed and the function created.

        Tests: fast/dom/inline-event-attributes-moved.html
               fast/dom/inline-event-attributes-release.html

        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::V8LazyEventListener):
        (WebCore::V8LazyEventListener::prepareListenerObject):
        * bindings/v8/V8LazyEventListener.h:
        (WebCore::V8LazyEventListener::create):
        (V8LazyEventListener):

2012-04-03  Michael Saboff  <msaboff@apple.com>

        Frequent crashes in JSC::parse in a worker thread when running regression tests
        https://bugs.webkit.org/show_bug.cgi?id=82660

        Reviewed by Geoffrey Garen.

        Initialize m_script to empty string.  Therefore if there isn't any script payload,
        the worker thread will see an empty string, not a null string.

        Re-enabling fast/workers/empty-worker-nocrash.html and 
        fast/workers/shared-worker-constructor.html tests as part of this patch.

        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::WorkerScriptLoader):

2012-04-03  James Robinson  <jamesr@chromium.org>

        [chromium] Enable sparkline FPS counter in threaded compositing mode
        https://bugs.webkit.org/show_bug.cgi?id=82959

        Reviewed by Adrienne Walker.

        This enables rendering the FPS counter sparkline when in threaded compositing mode. We don't currently have a
        way to draw text from the thread (since we can't interact with WebCore::Font objects from a non-main thread),
        but having a sparkline is still useful for judging framerate stability.

        There are no tests for the HUD since it's a developer-facing feature and not user-facing.

        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
        (WebCore):
        (WebCore::CCHeadsUpDisplay::~CCHeadsUpDisplay):
        (WebCore::CCHeadsUpDisplay::initializeFonts):
        (WebCore::CCHeadsUpDisplay::enabled):
        (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
        (WebCore::CCHeadsUpDisplay::draw):
        (WebCore::CCHeadsUpDisplay::drawHudContents):
        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
        (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
        (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
        (CCHeadsUpDisplay):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):

2012-04-02  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: at-import-009.htm fails
        https://bugs.webkit.org/show_bug.cgi?id=82921

        Reviewed by Antti Koivisto.

        This fixes at-import-009.htm only, the other tests already passed.

        Tests: css2.1/20110323/at-import-001.htm
               css2.1/20110323/at-import-002.htm
               css2.1/20110323/at-import-003.htm
               css2.1/20110323/at-import-004.htm
               css2.1/20110323/at-import-005.htm
               css2.1/20110323/at-import-006.htm
               css2.1/20110323/at-import-007.htm
               css2.1/20110323/at-import-009.htm
               css2.1/20110323/at-import-010.htm
               css2.1/20110323/at-import-011.htm

        * css/CSSGrammar.y: ignore empty '@media;' and '@charset;' declarations

2012-04-03  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] remove dead function declarations in RenderSurfacechromium
        https://bugs.webkit.org/show_bug.cgi?id=82086

        Reviewed by James Robinson.

        No tests needed, no change in behavior.

        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (RenderSurfaceChromium):

2012-04-03  Jia Pu  <jpu@apple.com>

        Rename GraphicsContext::drawLineForTextChecking() to GraphicsContext::drawLineForDocumentMarker()
        https://bugs.webkit.org/show_bug.cgi?id=82946

        Reviewed by Enrica Casucci.

        On OS X, we draw similar underline on dictated text that has alternative text. We rename
        this function, so that we can reuse it for dictation underline.

        No new tests, since there's no change of functionality. 

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLineForDocumentMarker):
        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLineForDocumentMarker):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::drawLineForDocumentMarker):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawLineForDocumentMarker):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawLineForDocumentMarker):
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::drawLineForDocumentMarker):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::drawLineForDocumentMarker):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::drawLineForDocumentMarker):
        * rendering/InlineTextBox.cpp:
        (WebCore::lineStyleForMarkerType):
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):

2012-04-03  Jer Noble  <jer.noble@apple.com>

        ESC key in full screen does not result in webkitFullScreenChange event.
        https://bugs.webkit.org/show_bug.cgi?id=82755
        <rdar://problem/11093513>

        Reviewed by Eric Carlson.

        * WebCore.exp.in: Export the WebCore::Document::webkitCancelFullScreen() symbol.

2012-04-03  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r80439): Crash in StylePropertySet::borderSpacingValue
        https://bugs.webkit.org/show_bug.cgi?id=83000

        Reviewed by Andreas Kling.

        Fixed the crash by exiting early in StylePropertySet::borderSpacingValue when
        the vertical value is set.

        Test: fast/css/border-spacing-without-vertical-value.html

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::borderSpacingValue):

2012-04-03  Alexis Menard  <alexis.menard@openbossa.org>

        Unreviewed ASSERT fix on Chromium bots (in debug).

        It appears that http://trac.webkit.org/changeset/113031 caused ASSERT in CSSParser::parseFillProperty.
        I added the ASSERT to fix the compilation about values not handled in the switch. I supposed the callers
        were only property ids handled in the switch case. It wasn't the case, so I'm restoring the old behavior
        while keeping the code to compile (it still need a deeper investigation but let fix the bots quickly).

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFillProperty):

2012-04-03  Alexis Menard  <alexis.menard@openbossa.org>

        [Part 3] We should use CSSPropertyID rather than integers when manipulating CSS property ids.
        https://bugs.webkit.org/show_bug.cgi?id=83032

        Reviewed by Kentaro Hara.

        CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
        as integers. While it's not incorrect it is nicer to use the enum as a parameter of
        functions manipulating property ids, as we ensure that the value passed will be an
        existing value. This patch clean up some remaining part of code.

        No new tests : There should be no behavior change in this patch.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (CSSPropertyInfo):
        (WebCore::cssPropertyIDForJSCSSPropertyName):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (CSSPropertyInfo):
        (WebCore::cssPropertyInfo):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::getPositionOffsetValue):
        (WebCore::counterToCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValidPrimitive):
        Remove the parameter's name from the h file as it doesn't follow the style and also because the
        name was simply wrong we don't expect a propId here but an indentifier. Make it clear in the
        cpp file too.
        * css/CSSParser.h:
        (CSSParser):
        * page/animation/AnimationBase.cpp:
        (WebCore::addPropertyWrapper):

2012-04-03  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: remove unused references to TimelineCalculator
        https://bugs.webkit.org/show_bug.cgi?id=83025

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelinePanel.prototype._showPopover):
        (WebInspector.TimelineRecordListRow.prototype.update):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):

2012-04-03  Mark Pilgrim  <pilgrim@chromium.org>

        Call incrementStatsCounter directly
        https://bugs.webkit.org/show_bug.cgi?id=83023

        Reviewed by Kentaro Hara.

        * bindings/v8/V8Proxy.h:
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-03  Sami Kyostila  <skyostil@chromium.org>

        [chromium] Canvas2DLayerChromium::updateCompositorResources should flush after copying
        https://bugs.webkit.org/show_bug.cgi?id=83013

        Reviewed by Stephen White.

        We need to flush the GPU command queue after copying the canvas back
        buffer into the front buffer. Otherwise the copy might be delayed to a
        point where new contents have already been drawn into the back buffer,
        leading to flickering.

        Added test to Canvas2DLayerChromiumTest.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::updateCompositorResources):

2012-04-03  Alexis Menard  <alexis.menard@openbossa.org>

        [Part 2] We should use CSSPropertyID rather than integers when manipulating CSS property ids.
        https://bugs.webkit.org/show_bug.cgi?id=82977

        Reviewed by Andreas Kling.

        CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
        as integers. While it's not incorrect it is nicer to use the enum as a parameter of
        functions manipulating property ids, as we ensure that the value passed will be an
        existing value. Almost everything has been changed with the exception of the Animation related
        classes which can be done in a following patch.

        No new tests : There should be no behavior change in this patch.

        * WebCore.exp.in:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::cssText):
        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        (WebCore::logUnimplementedPropertyID):
        (WebCore::CSSComputedStyleDeclaration::getPropertyValue):
        (WebCore::CSSComputedStyleDeclaration::item):
        * css/CSSComputedStyleDeclaration.h:
        (CSSComputedStyleDeclaration):
        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::isColorPropertyID):
        (WebCore::parseColorValue):
        (WebCore::isSimpleLengthPropertyID):
        (WebCore::parseSimpleLengthValue):
        (WebCore::isValidKeywordPropertyAndValue):
        (WebCore::isKeywordPropertyID):
        (WebCore::parseKeywordValue):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::addProperty):
        (WebCore::CSSParser::parseFillShorthand):
        (WebCore::CSSParser::parseShorthand):
        (WebCore::CSSParser::parse4Values):
        (WebCore::CSSParser::parsePage):
        (WebCore::CSSParser::parseSize):
        (WebCore::CSSParser::parseQuotes):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseFillSize):
        (WebCore::CSSParser::parseFillProperty):
        (WebCore::CSSParser::parseAnimationProperty):
        (WebCore::CSSParser::parseGridTrackList):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseClipShape):
        (WebCore::CSSParser::parseShadow):
        (WebCore::CSSParser::parseReflect):
        (WebCore::BorderImageParseContext::commitBorderImageProperty):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore::CSSParser::parseBorderImageSlice):
        (WebCore::CSSParser::parseBorderRadius):
        (WebCore::CSSParser::parseCounter):
        (WebCore::CSSParser::parseFlowThread):
        (WebCore::CSSParser::parseRegionThread):
        (WebCore::CSSParser::parseTransformOrigin):
        (WebCore::CSSParser::parsePerspectiveOrigin):
        * css/CSSParser.h:
        (CSSParser):
        (WebCore::ShorthandScope::ShorthandScope):
        * css/CSSProperty.cpp:
        (WebCore::resolveToPhysicalProperty):
        (WebCore::CSSProperty::resolveDirectionAwareProperty):
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSProperty.h:
        (WebCore::CSSProperty::CSSProperty):
        (CSSProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::getPropertyCSSValue):
        (WebCore::StylePropertySet::removeShorthandProperty):
        (WebCore::StylePropertySet::removeProperty):
        (WebCore::StylePropertySet::setProperty):
        (WebCore::StylePropertySet::asText):
        (WebCore::StylePropertySet::findPropertyWithId):
        (WebCore::StylePropertySet::removeEquivalentProperties):
        * css/StylePropertySet.h:
        (StylePropertySet):
        * css/StylePropertyShorthand.cpp:
        (WebCore::shorthandForProperty):
        * css/StylePropertyShorthand.h:
        (WebCore):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::setInlineStyleProperty):
        (WebCore::StyledElement::removeInlineStyleProperty):
        (WebCore::StyledElement::addPropertyToAttributeStyle):
        * dom/StyledElement.h:
        (StyledElement):
        (WebCore::StyledElement::addPropertyToAttributeStyle):
        * editing/EditingStyle.cpp:
        (HTMLElementEquivalent):
        (WebCore::EditingStyle::EditingStyle):
        (WebCore::EditingStyle::setProperty):
        * editing/EditingStyle.h:
        (WebCore::EditingStyle::create):
        (EditingStyle):
        * editing/Editor.cpp:
        (WebCore::Editor::selectionStartHasStyle):
        (WebCore::Editor::selectionHasStyle):
        * editing/Editor.h:
        (Editor):
        * editing/EditorCommand.cpp:
        (WebCore::executeApplyStyle):
        (WebCore::executeToggleStyleInList):
        (WebCore::executeToggleStyle):
        (WebCore::executeApplyParagraphStyle):
        (WebCore::stateStyle):
        * editing/markup.cpp:
        (WebCore):
        (WebCore::propertyMissingOrEqualToNone):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::addHTMLLengthToStyle):
        (WebCore::HTMLElement::addHTMLColorToStyle):
        * html/HTMLElement.h:
        (HTMLElement):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::styleWithProperties):
        * page/animation/AnimationBase.cpp:
        (WebCore::addShorthandProperties):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::cssPropertyIdForSVGAttributeName):
        (WebCore::SVGFontFaceElement::parseAttribute):
        * svg/SVGStyledElement.cpp:
        (WebCore::mapAttributeToCSSProperty):
        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
        (WebCore::SVGStyledElement::collectStyleForAttribute):
        (WebCore::SVGStyledElement::svgAttributeChanged):
        (WebCore::SVGStyledElement::getPresentationAttribute):
        * svg/SVGStyledElement.h:
        (WebCore):
        (SVGStyledElement):

2012-04-03  Levi Weintraub  <leviw@chromium.org>

        Revert RenderTheme paint and layout functions to ints
        https://bugs.webkit.org/show_bug.cgi?id=82196

        Reviewed by Julien Chaffraix.

        When dealing with object that are rendered outside of WebCore, we do all necessary pixel snapping
        before passing coordinates to the external code. RenderTheme encompasses a set of objects whose
        rendering is influenced by the platform. This change reverts the interface between this platform
        code and WebCore to be integers.

        Some platforms, such as Mac, use sub-pixel units for layout and rendering, but it's still not
        desirable to pass sub-pixel values to these API's, because ultimately we'll render these objects
        at whole-pixel values to avoid anti-aliasing.

        Marking touched overridden virtual functions as OVERRIDE. There are many more to update.

        No new tests. No change in behavior.

        * platform/graphics/FractionalLayoutRect.h:
        (WebCore::FractionalLayoutRect::pixelSnappedLocation): Convenience function.
        (WebCore::FractionalLayoutRect::pixelSnappedSize): Ditto.
        (FractionalLayoutRect):
        * platform/graphics/IntRect.h:
        (WebCore::IntRect::pixelSnappedLocation): Temporary mirrors to the functions of the same name on
        FractionalLayoutRect.
        (WebCore::IntRect::pixelSnappedSize): Ditto.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations): Adding a local pixel snapped paint rect to avoid
        repeated pixel snapping.
        * rendering/RenderBox.h:
        (WebCore::RenderBox::absoluteContentBox): Reverting to integers since this represents on-screen
        coordinates
        (WebCore::RenderBox::pixelSnappedSize): Convenience method.
        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): This static function is only called
        from RenderTheme platform code. Changing it to operate on pixel snapped values since we don't want
        to pipe LayoutUnits through that code.
        * rendering/RenderMeter.cpp:
        (WebCore::RenderMeter::computeLogicalWidth): Changing to feed pixel snapped values into the platform
        code to properly determine the resulting meter size.
        (WebCore::RenderMeter::computeLogicalHeight): Ditto.
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
        (WebCore::RenderTheme::adjustRepaintRect):
        (WebCore::RenderTheme::meterSizeForBounds):
        * rendering/RenderTheme.h:
        (RenderTheme):
        (WebCore::RenderTheme::paintCapsLockIndicator):
        * rendering/RenderThemeChromiumMac.h:
        (RenderThemeChromiumMac):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeMac.h:
        (RenderThemeMac):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustRepaintRect):
        (WebCore::RenderThemeMac::inflateRect):
        (WebCore::RenderThemeMac::convertToPaintingRect):
        (WebCore::RenderThemeMac::setControlSize):
        (WebCore::RenderThemeMac::paintCapsLockIndicator):
        (WebCore::RenderThemeMac::paintMenuList):
        (WebCore::RenderThemeMac::meterSizeForBounds):
        (WebCore::RenderThemeMac::setPopupButtonCellState):
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
        * rendering/RenderThemeWin.h:
        (RenderThemeWin):

2012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Add a Generic WebSocket Server.
        https://bugs.webkit.org/show_bug.cgi?id=73093

        Reviewed by Simon Hausmann.

        Allow SocketStreamHandle for the Qt port to take an existing QTcpSocket in its constructor.

        * platform/network/qt/SocketStreamHandle.h:
        (WebCore::SocketStreamHandle::create):
        (SocketStreamHandle):
        * platform/network/qt/SocketStreamHandlePrivate.h:
        (SocketStreamHandlePrivate):
        * platform/network/qt/SocketStreamHandleQt.cpp:
        (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
        (WebCore):
        (WebCore::SocketStreamHandlePrivate::initConnections):
        (WebCore::SocketStreamHandlePrivate::close):
        (WebCore::SocketStreamHandle::SocketStreamHandle):

2012-04-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Expose reusable WebSocket code for WebSocketServer.
        https://bugs.webkit.org/show_bug.cgi?id=73852

        Reviewed by Kent Tamura.

        Keep the majority the web socket handshake HTTP request and response logic
        inside WebSocketHandshake and expose it through WebSocketFrame to make it
        available for the web socket server implementation.

        This also re-add the masking code that was removed in r111829 since it is
        needed for the server implementation.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore):
        (WebCore::WebSocketChannel::processFrame): now using WebSocketChannel::parseFrame. Extracted the !frame.masked check.
        (WebCore::WebSocketChannel::sendFrame):
        * Modules/websockets/WebSocketChannel.h:
        (WebSocketChannel):
        * Modules/websockets/WebSocketFrame.cpp: Added.
        (WebCore):
        (WebCore::WebSocketFrame::needsExtendedLengthField):
        (WebCore::WebSocketFrame::parseFrame): moved from WebSocketChannel::parseFrame.
        (WebCore::appendMaskedFramePayload):
        (WebCore::WebSocketFrame::makeFrameData): moved from makeFrameData in WebSocketChannel.cpp.
        (WebCore::WebSocketFrame::WebSocketFrame): moved from the header.
        * Modules/websockets/WebSocketFrame.h:
        (WebSocketFrame):
        * Modules/websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::getExpectedWebSocketAccept): expose this object-static function.
        * Modules/websockets/WebSocketHandshake.h:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

2012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Add Generic HTTP Request Class. Generalized HTTP Parsing.
        https://bugs.webkit.org/show_bug.cgi?id=73092

        Reviewed by Simon Hausmann.

        A WebSocket server will need to read HTTP Requests before upgrading
        to WebSocket framing. This patch creates a cross-platform HTTPRequest
        class. Since some of this was already done in WebSocket code:

          - the header parsing code was extracted and put into HTTPParsers.cpp
          - WebSocketHandshakeRequest subclasses HTTPRequest
          - WebSocket code was refactored for these changes

        Refactoring is covered by existing http/tests/websocket tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:

        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::didOpenSocketStream):

          Extract the HTTP Header parsing out of WebSocketHandshake and
          put it into HTTP Parsers. Now make use of the generic parsing.

        * Modules/websockets/WebSocketHandshake.cpp:
        (WebCore):
        (WebCore::trimInputSample):
        (WebCore::WebSocketHandshake::clientHandshakeRequest): switch to RefCounted HandshakeRequest.
        (WebCore::WebSocketHandshake::readStatusLine):
        (WebCore::WebSocketHandshake::readHTTPHeaders): use generic HTTPParsers parsing.
        * Modules/websockets/WebSocketHandshake.h: switch to RefCounted HandshakeRequest.

          WebSocketHandshakeRequest is a specialization of an HTTPRequest.
          Much of its original code was abstracted into HTTPRequest, and
          this is now a subclass with WebSocket key information.

        * Modules/websockets/WebSocketHandshakeRequest.cpp:
        (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest): initialize now calls super.
        * Modules/websockets/WebSocketHandshakeRequest.h:
        (WebCore::WebSocketHandshakeRequest::create): switch to being ref counted like HTTPRequest.
        (WebSocketHandshakeRequest):

        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

          Add generic HTTP Request parsing functions to HTTPParsers.cpp.
          Use out parameters to get values after parsing.

        * platform/network/HTTPParsers.cpp:
        (WebCore):
        (WebCore::trimInputSample): taken from WebSocket parsing.
        (WebCore::parseHTTPRequestLine): new code, parse a request line.
        (WebCore::parseHTTPHeaders): taken from previous WebSocket parsing. Algorithm unchanged.
        (WebCore::parseHTTPRequestBody): new code, just copy the date into the provided buffer.
        * platform/network/HTTPParsers.h:
        (WebCore):

          This adds a general HTTPRequest class. Accessors for the
          request method, url, httpVersion, headers, and data. You can
          create an HTTPRequest using the constructor, or parse one
          from a data buffer, such as one read from a socket.

        * platform/network/HTTPRequest.cpp: Added.
        (WebCore):
        (WebCore::HTTPRequest::parseHTTPRequestFromBuffer): create an HTTPRequest by parsing data in a buffer.
        (WebCore::HTTPRequest::parseRequestLine): helper to initialize members while parsing.
        (WebCore::HTTPRequest::parseHeaders): helper to initialize members while parsing.
        (WebCore::HTTPRequest::parseRequestBody): helper to initialize members while parsing.
        (WebCore::HTTPRequest::HTTPRequest):
        (WebCore::HTTPRequest::~HTTPRequest):
        * platform/network/HTTPRequest.h: Added.
        (WebCore):
        (HTTPRequest):
        (WebCore::HTTPRequest::create): create an empty request, or specify details.
        (WebCore::HTTPRequest::requestMethod):
        (WebCore::HTTPRequest::setRequestMethod):
        (WebCore::HTTPRequest::url):
        (WebCore::HTTPRequest::setURL):
        (WebCore::HTTPRequest::body):
        (WebCore::HTTPRequest::headerFields):
        (WebCore::HTTPRequest::addHeaderField):

2012-04-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [Qt] Add a missing inspector front-end image to resources.

        Reviewed by Simon Hausmann.

        * inspector/front-end/WebKit.qrc:

2012-04-03  Dominik Röttsches  <dominik.rottsches@linux.intel.com>

        Soup HTTP backend does not send Content-Length in certain cases
        https://bugs.webkit.org/show_bug.cgi?id=82036

        Reviewed by Gustavo Noronha Silva.

        Telling soup explicitly when to send content-length header
        in POST & PUT cases in order to align with e.g. Chromium and FF.

        No new tests, already covered by *methods*.html in
        http/tests/xmlhttprequest/.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHTTPRequest): Special handling for POST & PUT.

2012-04-03  Eric Seidel  <eric@webkit.org>

        Simplify CSSStyleSelector constructor through the use of a helper function
        https://bugs.webkit.org/show_bug.cgi?id=82940

        Reviewed by Andreas Kling.

        No behavior change, thus no tests.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore):
        (WebCore::CSSStyleSelector::addAuthorRulesAndCollectUserRulesFromSheets):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):

2012-04-03  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: Database::Database::id field in the protocol should have type integer not string
        https://bugs.webkit.org/show_bug.cgi?id=83003

        Reviewed by Pavel Feldman.

        Changed DOM storage and database identifier type from int to String. This
        is aligned with other domains and gives us more flexibility.

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::databaseId):
        (WebCore::JSInjectedScriptHost::storageId):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::databaseIdCallback):
        (WebCore::V8InjectedScriptHost::storageIdCallback):
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::databaseIdImpl):
        (WebCore::InjectedScriptHost::storageIdImpl):
        * inspector/InjectedScriptHost.h:
        (InjectedScriptHost):
        * inspector/InjectedScriptHost.idl:
        * inspector/Inspector.json:
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
        (WebCore::InspectorDOMStorageAgent::storageId):
        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
        * inspector/InspectorDOMStorageAgent.h:
        (InspectorDOMStorageAgent):
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
        (WebCore::InspectorDOMStorageResource::bind):
        * inspector/InspectorDOMStorageResource.h:
        (WebCore::InspectorDOMStorageResource::id):
        (InspectorDOMStorageResource):
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
        (WebCore::InspectorDatabaseAgent::executeSQL):
        (WebCore::InspectorDatabaseAgent::databaseId):
        (WebCore::InspectorDatabaseAgent::databaseForId):
        * inspector/InspectorDatabaseAgent.h:
        (InspectorDatabaseAgent):
        * inspector/InspectorDatabaseResource.cpp:
        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
        (WebCore::InspectorDatabaseResource::bind):
        * inspector/InspectorDatabaseResource.h:
        (WebCore::InspectorDatabaseResource::id):
        (InspectorDatabaseResource):

2012-04-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGAnimatedEnumeration
        https://bugs.webkit.org/show_bug.cgi?id=82459

        Rubber-stamped by Zoltan Herczeg.

        Make highestEnumValue() return an unsigned to avoid casting in SVGAnimatedEnumerationPropertyTearOff.
        Fixes the last chromium build failure on the debug carnary bots.

        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGGradientElement.h:
        * svg/SVGMarkerElement.h:
        * svg/SVGTextContentElement.h:
        * svg/SVGTextPathElement.h:
        * svg/SVGUnitTypes.h:
        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
        (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):

2012-04-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Animate animatedPoints instead of points for SVGPoly*Elements
        https://bugs.webkit.org/show_bug.cgi?id=82844

        Reviewed by Dirk Schulze.

        When the points attribute of a SVGPoly*Element is animated, we should animate
        the 'animatedPoints' SVG DOM property, not the 'points' property, which corresponds
        to the "baseVal". Fix that, now only the 'd' attribute for SVGPathElement is incorrect,
        everything else is moved to the new animVal concept!

        * svg/SVGAnimatedPointList.cpp:
        (WebCore::SVGAnimatedPointListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedPointListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedPointListAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedPointListAnimator::animValWillChange):
        (WebCore::SVGAnimatedPointListAnimator::animValDidChange):
        * svg/SVGAnimatedPointList.h:
        (SVGAnimatedPointListAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        (WebCore::SVGAnimatedType::supportsAnimVal):
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::parseAttribute):
        (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
        (WebCore::SVGPolyElement::points):
        (WebCore::SVGPolyElement::animatedPoints):

2012-04-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Next chromium build fix, this time for real :-)

        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
        (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal): Cast highestEnumValue to unsigned.

2012-04-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Attempt to fix chromium build.

        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Unsigned is always >= 0 - only check if its 0 here.
        (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):

2012-04-03  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, rolling out r112954 and r112969.
        http://trac.webkit.org/changeset/112954
        http://trac.webkit.org/changeset/112969
        https://bugs.webkit.org/show_bug.cgi?id=79172

        Hits "ASSERTION FAILED: !m_isHandlingDrag" in DnD-related
        tests on Debug bots

        * page/DragController.cpp:
        (WebCore::DragController::performDrag):

2012-04-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGAnimatedEnumeration
        https://bugs.webkit.org/show_bug.cgi?id=82459

        Reviewed by Dirk Schulze.

        Enable animVal support for the last missing SVG DOM primitive: SVGAnimatedEnumeration.
        It's a bit more involved than the others as we have to differentiate between the various
        enumerations to use the correct SVGPropertyTraits<MyEnum>::fromString() code-path.

        One SVGAnimatedEnumeration property in the SVG DOM is special: SVGAnimatedEnumeration orientType
        from SVGMarkerElement. SVGMarkerElement exposes both the orientType and SVGAnimatedAngle orientAngle
        SVG DOM properties and both get mapped to the same SVGNames::orientAttr ("orient" XML attribute).
        That means that any animation of the orientAttr has to update both orientType & orientAngle.

        This is a not a new requirement, we already support attributes like 'stdDeviation' from
        SVGFEGaussianBlurElement, which get mapped to multiple SVG DOM objects: SVGAnimatedInteger stdDeviationX/Y.
        The difference is that <integer-optional-integer> or <number-optional-number> animations use the
        same type in the pair<xxx, xxx> (eg. both int, or both float). The 'orient' attribute needs to be
        mapped to pair<xxx, yyy> types. Generalize the templates in SVGAnimatedTypeAnimator to support that.

        Example:
        <marker id="someMarkerElement" orient="45deg"/>
        <animate fill="remove" begin="1s" dur="2s" from="90deg" to="auto" attributeName="orient" xlink:href="#someMarkerElement"/>

        at 0s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.animVal.value = 45

               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.baseVal.value = 45

        at 1s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.animVal.value = 90

               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.baseVal.value = 45

        at 2s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO
               someMarkerElement.orientAngle.animVal.value = 0

               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.baseVal.value = 45

         > 3s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.animVal.value = 45

               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.baseVal.value = 45

        We need to map the 'orient' attribute to a pair<SVGAngle, unsigned short> type, in order
        to track both orientAngle & orientType at the same type. Fortunately SVGAnimatedAngle
        is only used in the SVG DOM for SVGMarkerElements orientAngle property. We can directly
        switch SVGAnimatedAngleAnimator to the new pair<SVGAngle, unsigned short> type instead
        of having to introduce a special SVGAnimatedAngleAndEnumerationAnimator.

        Added tests for all SVGAnimatedEnumeration properties in the SVG DOM, including an extensive set of tests
        for the synchronization of the orientType / orientAngle properties, when they get animated.

        Tests: svg/animations/animate-marker-orient-from-angle-to-angle.html
               svg/animations/animate-marker-orient-from-angle-to-auto.html
               svg/animations/animate-marker-orient-to-angle.html
               svg/animations/svgenum-animation-1.html
               svg/animations/svgenum-animation-10.html
               svg/animations/svgenum-animation-11.html
               svg/animations/svgenum-animation-12.html
               svg/animations/svgenum-animation-13.html
               svg/animations/svgenum-animation-2.html
               svg/animations/svgenum-animation-3.html
               svg/animations/svgenum-animation-4.html
               svg/animations/svgenum-animation-5.html
               svg/animations/svgenum-animation-6.html
               svg/animations/svgenum-animation-7.html
               svg/animations/svgenum-animation-8.html
               svg/animations/svgenum-animation-9.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/SVGAllInOne.cpp:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::propertyTypesAreConsistent):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        * svg/SVGAnimatedAngle.cpp:
        (WebCore::SVGAnimatedAngleAnimator::constructFromString):
        (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
        (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
        (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedAngle.h:
        (WebCore):
        * svg/SVGAnimatedBoolean.cpp:
        (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedEnumeration.cpp: Added.
        (WebCore):
        (WebCore::enumerationValueForTargetAttribute):
        (WebCore::SVGAnimatedEnumerationAnimator::SVGAnimatedEnumerationAnimator):
        (WebCore::SVGAnimatedEnumerationAnimator::constructFromString):
        (WebCore::SVGAnimatedEnumerationAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedEnumerationAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedEnumerationAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedEnumerationAnimator::animValWillChange):
        (WebCore::SVGAnimatedEnumerationAnimator::animValDidChange):
        (WebCore::SVGAnimatedEnumerationAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedEnumerationAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedEnumerationAnimator::calculateDistance):
        * svg/SVGAnimatedEnumeration.h:
        (SVGAnimatedEnumerationAnimator):
        (WebCore::SVGAnimatedEnumerationAnimator::~SVGAnimatedEnumerationAnimator):
        (WebCore):
        * svg/SVGAnimatedInteger.cpp:
        (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
        * svg/SVGAnimatedPreserveAspectRatio.cpp:
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedRect.cpp:
        (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedString.cpp:
        (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createAngleAndEnumeration):
        (WebCore::SVGAnimatedType::createEnumeration):
        (WebCore):
        (WebCore::SVGAnimatedType::angleAndEnumeration):
        (WebCore::SVGAnimatedType::enumeration):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        (WebCore::SVGAnimatedType::supportsAnimVal):
        * svg/SVGAnimatedType.h:
        (SVGAnimatedType):
        * svg/SVGAnimatedTypeAnimator.h:
        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
        (SVGAnimatedTypeAnimator):
        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForTypes):
        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForTypes):
        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForTypes):
        (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
        (WebCore::SVGAnimatedTypeAnimator::executeAction):
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGMarkerElement.cpp:
        (WebCore):
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (SVGAnimatedListPropertyTearOff):
        * svg/properties/SVGAnimatedPropertyTearOff.h:
        (SVGAnimatedPropertyTearOff):
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
        (SVGAnimatedStaticPropertyTearOff):

2012-04-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112987 and r112993.
        http://trac.webkit.org/changeset/112987
        http://trac.webkit.org/changeset/112993
        https://bugs.webkit.org/show_bug.cgi?id=83010

        hits ASSERTs in Debug builds (Requested by philn-tp on
        #webkit).

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::initSecurityContext):
        * dom/Document.h:
        (Document):
        * html/HTMLAttributeNames.in:
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseAttribute):
        (WebCore::HTMLFrameElementBase::location):
        * html/HTMLIFrameElement.idl:
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::defaultForInitial):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::outgoingReferrer):
        (WebCore::FrameLoader::loadFrameRequest):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::loadWithNavigationAction):
        (WebCore::FrameLoader::reloadWithOverrideEncoding):
        (WebCore::FrameLoader::reload):
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/FrameLoader.h:
        (FrameLoader):

2012-04-03  Bill Budge  <bbudge@chromium.org>

        REGRESSION (r112217): H&R Block tax site won't load
        https://bugs.webkit.org/show_bug.cgi?id=82964

        Modifies the redirect checking code to first check if the security origin can
        request the redirect URL before invoking the CORS check.

        Reviewed by Adam Barth.

        http/tests/xmlhttprequest/access-control-and-redirects-async.html

        * loader/DocumentThreadableLoader.cpp:
        * loader/DocumentThreadableLoader.h:

2012-04-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112994.
        http://trac.webkit.org/changeset/112994
        https://bugs.webkit.org/show_bug.cgi?id=83008

        This patch has to wait until v8 roll. (Requested by loislo on
        #webkit).

        * bindings/js/ScriptHeapSnapshot.h:
        * bindings/v8/ScriptHeapSnapshot.cpp:
        (WebCore):
        * bindings/v8/ScriptHeapSnapshot.h:
        (WebCore):
        (ScriptHeapSnapshot):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotConstructorsDataGrid):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged.firstSnapshotLoaded):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged.secondSnapshotLoaded):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
        (WebInspector.DetailedHeapshotView.prototype._changeFilter):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.get maxNodeId):
        (WebInspector.HeapSnapshot.prototype.updateStaticData):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotProxy.prototype.get maxNodeId):

2012-03-28  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: use maxJSObjectId that is provided by back-end.
        https://bugs.webkit.org/show_bug.cgi?id=82451

        Summary view can filter objects in snapshot. It uses maxJSObjectId for this.
        There was no such field in the profile header at the
        moment but I've landed a patch in downstream.

        Reviewed by Yury Semikhatsky.

        * bindings/v8/ScriptHeapSnapshot.cpp:
        (WebCore::ScriptHeapSnapshot::maxSnapshotJSObjectId):
        (WebCore):
        * bindings/v8/ScriptHeapSnapshot.h:
        (WebCore):
        (ScriptHeapSnapshot):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
        (WebInspector.DetailedHeapshotView.prototype._changeFilter):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.updateStaticData):
        * inspector/front-end/HeapSnapshotProxy.js:

2012-04-02  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: "Pause on start" doesn't change checked state in workers panel
        https://bugs.webkit.org/show_bug.cgi?id=82908

        Reviewed by Yury Semikhatsky.

        This change partially reverts logic that was introduced with r111551:
        preventDefault was called beside each stopPropagation. As a result, default checkbox handler was not working.
        Event.prototype.consume now receives preventDefault parameter that controls whether default action
        should be prevented.

        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.SearchView.prototype._onKeyDown):
        * inspector/front-end/CSSSelectorProfileView.js:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._enterKeyPressed):
        (WebInspector.ConsoleGroup.prototype._titleClicked):
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid.prototype._keyDown):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
        (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
        * inspector/front-end/Dialog.js:
        (WebInspector.Dialog.prototype._onKeyDown):
        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype._statusBarDragging):
        * inspector/front-end/Object.js:
        (WebInspector.Event.prototype.consume):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
        * inspector/front-end/ProfileView.js:
        * inspector/front-end/SearchController.js:
        (WebInspector.SearchController.prototype._onKeyDown):
        * inspector/front-end/SoftContextMenu.js:
        (.WebInspector.SoftContextMenu.prototype.show):
        (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
        (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
        (.WebInspector.SoftContextMenu.prototype._discardMenu):
        * inspector/front-end/Spectrum.js:
        (WebInspector.Spectrum.draggable.consume):
        (WebInspector.Spectrum.prototype._onKeyDown):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.muteEventListener):
        (WebInspector.StylesSidebarPane):
        (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.onKeyDown):
        (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
        (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._handleKeyDown):
        * inspector/front-end/UIUtils.js:
        (WebInspector.startEditing):
        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):
        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype._treeKeyPress):
        (TreeOutline.prototype._treeKeyDown):
        (TreeOutline.prototype._searchInputKeyDown):
        (TreeElement.prototype.selectOnMouseDown):
        * inspector/front-end/utilities.js:
        (Event.prototype.consume):

2012-04-02  Chris Fleizach  <cfleizach@apple.com>

        AX: search field on Google.com does not have the AXSearchField subrole
        https://bugs.webkit.org/show_bug.cgi?id=82819

        Reviewed by Darin Adler.

        Detect search fields when possible for accessibility.

        Test: platform/mac/accessibility/search-subrole.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isSearchField):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isSearchField):
        (WebCore):
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper subrole]):

2012-04-02  Kent Tamura  <tkent@chromium.org>

        Introduce another file-to-array script
        https://bugs.webkit.org/show_bug.cgi?id=83001

        Reviewed by Kentaro Hara.

        make-file-arrays.py is a script to convert a binary file to a C++
        char array. The differences from css/make-css-file-arrays.pl and
        inspector/xxd.pl are:

        - No whitespace stripping for CSS files
        - We can make conditional arrays.
        e.g. An array enclosed with #if ENABLE(...) - #endif.

        This script will be used to implement a calendar picker for <input
        type=date>.

        * make-file-arrays.py: Added.

2012-04-02  Adam Barth  <abarth@webkit.org>

        Implement <iframe srcdoc>
        https://bugs.webkit.org/show_bug.cgi?id=82991

        Reviewed by Sam Weinig.

        This patch implements the <iframe srcdoc> feature. This feature allows
        authors to easily supply the contents of an iframe without needing to
        round-trip to the server. Using srcdoc is more convenient than using
        data URLs because we set a bunch of properties of the child document
        sensibly. For example, the child inherits the base URL of the parent
        and the child uses standards mode by default.

        This feature is specified in
        <http://www.whatwg.org/specs/web-apps/current-work/#attr-iframe-srcdoc>.
        Although the feature has been in the spec for a while, I'm not aware of
        any other implementations in major browsers. The srcdoc feature works
        especially well with the sandbox and seamless attributes. We already
        implement sandbox and will likely implement seamless soon.

        The srcdoc feature was announced on the webkit-dev mailing list on March 30:
        https://lists.webkit.org/pipermail/webkit-dev/2012-March/020161.html

        This patch approaches the implementation using SubstituteData, which is
        a mechanism previously used for error messages and the like. Using
        SubstituteData has the advantage of not needing to modify the loading
        or history pipelines at all, making the integration of srcdoc with the
        rest of WebCore quite smooth.

        This patch encodes the contents of the srcdoc attribute to and from
        UTF-8 when round-tripping the contents through the loader. In a future
        patch, I plan to experiment with whether using UTF-16 (or perhaps
        another encoding) can improve performance. There might also be a way to
        avoid the memcpy entirely, but these optimizations are best left to
        followup patches as this patch focuses on the observable behavior of
        the feature.

        Tests: fast/frames/srcdoc/reloading-a-srcdoc-document-loads-it-again.html
               fast/frames/srcdoc/setting-src-does-nothing.html
               fast/frames/srcdoc/setting-srcdoc-reloads-document.html
               fast/frames/srcdoc/srcdoc-beats-src-dom.html
               fast/frames/srcdoc/srcdoc-beats-src.html
               fast/frames/srcdoc/srcdoc-can-be-in-qurks-mode.html
               fast/frames/srcdoc/srcdoc-can-navigate.html
               fast/frames/srcdoc/srcdoc-defaults-to-standards-mode.html
               fast/frames/srcdoc/srcdoc-loads-content.html
               fast/frames/srcdoc/srcdoc-urls.html
               http/tests/security/srcdoc-can-access-parent.html
               http/tests/security/srcdoc-in-sandbox-cannot-access-parent.html
               http/tests/security/srcdoc-inherits-referrer-for-forms.html
               http/tests/security/srcdoc-inherits-referrer.html

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::initSecurityContext):
            - srcdoc documents need to inherit their security contexts from
              their parents. We pick this initialization point to inherit the
              base URL and to set the "srcdoc Document" bit so that everything
              gets initialized atomically and from precisely the same owner
              frame.
        * dom/Document.h:
        (Document):
        (WebCore::Document::isSrcdocDocument):
            - This bit of state is present in the HTML5 spec and is referred to
              by a number of different requirements in the spec.
        * html/HTMLAttributeNames.in:
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseAttribute):
        (WebCore::HTMLFrameElementBase::location):
            - These functions implement the requirement that the srcdoc
              attribute takes precedence over the src attribute and triggers a
              load of a document with the URL about:srcdoc.
        * html/HTMLIFrameElement.idl:
            - Expose the srcdoc property as a reflection of the DOM attribute.
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::defaultForInitial):
            - This tweak allows srcdoc documents to use standards mode by
              default, saving authors from having to include a doctype in each
              srcdoc document.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::defaultSubstituteDataForURL):
            - This function transfers the contents of the srcdoc attribute into
              the loading pipeline. If the client supplies other
              SubstituteData, that takes precendence over our "default"
              SubstituteData.
        (WebCore::FrameLoader::outgoingReferrer):
            - This function implements the requirement from the HTML5 spec that
              srcdoc documents inherit their referrer from their parent
              document. A recursive implementation might have been more
              aesthetic but the iterative implementation seemed like a better
              choice.
        (WebCore::FrameLoader::shouldTreatURLAsSrcdocDocument):
            - An about:srcdoc URL only has special meaning when loaded in an
              iframe with a srcdoc attribute. Otherwise, it's just a normal
              "about" URL, meaning a blank page.
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::loadFrameRequest):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::loadWithNavigationAction):
        (WebCore::FrameLoader::reloadWithOverrideEncoding):
        (WebCore::FrameLoader::reload):
        (WebCore::FrameLoader::loadResourceSynchronously):
            - Update these call sites to call defaultSubstituteDataForURL and
              outgoingReferrer consistently.
        * loader/FrameLoader.h:
        (FrameLoader):

2012-04-02  Dana Jansens  <danakj@chromium.org>

        [chromium] Remove SkCanvas::LayerIter use from OpaqueRegionSkia
        https://bugs.webkit.org/show_bug.cgi?id=82564

        Reviewed by Stephen White.

        Per-tile-painting uses an SkPictureRecord in place of an SkCanvas
        as the painting target for the GraphicsContext. This class only does
        a simple recording and does not create layers in the canvas during
        record, only playback. This is preventing us from correctly tracking
        opaque regions under per-tile-painting.

        We currently use the SkCanvas LayerIter to look at the layers in the
        canvas backing the GraphicsContext, and check the SkPaints, clips,
        and transforms to see how they impact the current draw once it reaches
        the final device.

        The clips and transforms can be retreived without using the LayerIter
        through the "getTotal*" methods. A cumulative SkPaint is not available
        so we store this ourselves.

        PlatformContextSkia becomes aware of when saveLayer() is being called
        on the underlying canvas, and passes this information to the
        OpaqueRegionSkia class. Since we no longer watch layers in the canvas,
        we must explicitly handle image clipping for the opaque tracker, as
        it is implemented in the PlatformContextSkia, not via constructs in
        the SkCanvas/SkPaint. We save the opaque area of the image mask for
        the canvas layer in the stack along with the SkPaint for the layer.

        Unit test: PlatformContextSkiaTest.PreserveOpaqueOnlyMattersForFirstLayer

        * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp:
        (WebCore::FEGaussianBlur::platformApplySkia):
        * platform/graphics/filters/skia/FEMorphologySkia.cpp:
        (WebCore::FEMorphology::platformApplySkia):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
        (WebCore::GraphicsContext::endPlatformTransparencyLayer):
        * platform/graphics/skia/OpaqueRegionSkia.cpp:
        (WebCore::OpaqueRegionSkia::pushCanvasLayer):
        (WebCore):
        (WebCore::OpaqueRegionSkia::popCanvasLayer):
        (WebCore::OpaqueRegionSkia::setImageMask):
        (WebCore::OpaqueRegionSkia::didDrawRect):
        (WebCore::OpaqueRegionSkia::didDrawPath):
        (WebCore::OpaqueRegionSkia::didDrawPoints):
        (WebCore::OpaqueRegionSkia::didDrawBounded):
        (WebCore::OpaqueRegionSkia::didDraw):
        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
        * platform/graphics/skia/OpaqueRegionSkia.h:
        (OpaqueRegionSkia):
        (WebCore::OpaqueRegionSkia::CanvasLayerState::CanvasLayerState):
        (CanvasLayerState):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::saveLayer):
        (WebCore):
        (WebCore::PlatformContextSkia::restoreLayer):
        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
        * platform/graphics/skia/PlatformContextSkia.h:
        (PlatformContextSkia):

2012-04-02  Shinya Kawanaka  <shinyak@chromium.org>

        Remove TreeScope::isShadowRoot.
        https://bugs.webkit.org/show_bug.cgi?id=82879

        Reviewed by Dimitri Glazkov.

        This patch removes TreeScope::isShadowRoot(). To make code fast, TreeScope::isShadowRoot
        is implemented in ShadowRoot.h. So when using TreeScope::isShadowRoot(), ShadowRoot.h is
        always required. In some case,  this might bring unnecessary dependency.

        Since TreeScope::rootNode() is inlined, the overall performance won't change.

        No new tests, simple refactoring.

        * dom/ShadowRoot.h:
        * dom/TreeScope.h:
        * html/shadow/HTMLShadowElement.cpp:
        (WebCore::HTMLShadowElement::doesSelectFromHostChildren):
        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::attach):
        (WebCore::InsertionPoint::assignedFrom):
        (WebCore::InsertionPoint::isShadowBoundary):

2012-04-02  Emil A Eklund  <eae@chromium.org>

        Fix usage of LayoutUnits and pixel snapping in RenderLayer
        https://bugs.webkit.org/show_bug.cgi?id=82498

        Reviewed by Julien Chaffraix.

        Fix usage of subpixel types and snapping/rounding in RenderLayer in
        preparation for turning on subpixel layout.

        No new tests, no change in functionality.

        * rendering/LayoutTypes.h:
        (WebCore::pixelSnappedIntSize):
        Add no-op implementation of pixelSnappedIntSize, will be replaced with a
        real implementation once we make the switch.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        Snap RenderBox size when updating the size of the layer.
        
        (WebCore::RenderLayer::resize):
        Round position when setting the inline style during resize operation.

        (WebCore::RenderLayer::scrollCornerRect):
        Remove unnecessary pixelSnappedIntRect call.
        
        (WebCore::RenderLayer::positionOverflowControls):
        Remove unnecessary pixelSnappedIntRect call.
        
        (WebCore::RenderLayer::scrollWidth):
        (WebCore::RenderLayer::scrollHeight):
        Fix implementation of scrollWidth and Height to pixel snap the values.
         
        (WebCore::RenderLayer::computeScrollDimensions):
        (WebCore::RenderLayer::paintResizer):
        (WebCore::RenderLayer::hitTestOverflowControls):
        Remove unnecessary pixelSnappedIntRect calls.
        
        (WebCore::RenderLayer::paintLayerContents):
        Pixel snap values just before painting (instead of earlier on).

        (WebCore::RenderLayer::hitTest):
        (WebCore::RenderLayer::hitTestContents):
        Change to use subpixel types.

2012-04-02  Abhishek Arya  <inferno@chromium.org>

        <select> shouldn't intrude as a run-in.
        https://bugs.webkit.org/show_bug.cgi?id=82829

        Reviewed by Tony Chang.

        Matches Opera's behavior which also does not allow <select>
        to intrude as a run-in into the neighbouring block.
        IE and Firefox doesn't support run-ins, so can't compare behavior
        with them.

        Test: fast/runin/select-runin.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::handleRunInChild):

2012-04-02  Mark Pilgrim  <pilgrim@chromium.org>

        Call decrementStatsCounter directly
        https://bugs.webkit.org/show_bug.cgi?id=82950

        Reviewed by Adam Barth.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-04-02  Tony Chang  <tony@chromium.org>

        add css parsing of -webkit-flex
        https://bugs.webkit.org/show_bug.cgi?id=82927

        Reviewed by Ojan Vafai.

        This is the new syntax for CSS3 flexbox:
        http://dev.w3.org/csswg/css3-flexbox/#flexibility

        Not hooked up to anything in the render tree yet so the old syntax is
        still valid.

        Test: css3/flexbox/flex-property-parsing.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFlex):
        * css/CSSParser.h:
        (WebCore):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (ApplyPropertyFlex):
        (WebCore::ApplyPropertyFlex::applyInheritValue):
        (WebCore::ApplyPropertyFlex::applyInitialValue):
        (WebCore::ApplyPropertyFlex::applyValue):
        (WebCore::ApplyPropertyFlex::createHandler):
        (WebCore::ApplyPropertyFlex::getFlexValue):
        (WebCore):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleFlexibleBoxData.cpp:
        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
        (WebCore::StyleFlexibleBoxData::operator==):
        * rendering/style/StyleFlexibleBoxData.h:
        (StyleFlexibleBoxData):

2012-04-02  Daniel Cheng  <dcheng@chromium.org>

        Having a drop handler prevents navigation on drop even if event is not cancelled
        https://bugs.webkit.org/show_bug.cgi?id=79172

        Reviewed by Ryosuke Niwa.

        Only early return if the drop handler prevents the default action.

        Test: fast/events/drop-handler-should-not-stop-navigate.html

        * page/DragController.cpp:
        (WebCore::DragController::performDrag):

2012-04-02  Alexis Menard  <alexis.menard@openbossa.org>

        We should use CSSPropertyID rather than integers when manipulating CSS property ids.
        https://bugs.webkit.org/show_bug.cgi?id=82941

        Reviewed by Andreas Kling.

        CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
        as integers. While it's not incorrect it is nicer to use the enum as a parameter of
        functions manipulating property ids, as we ensure that the value passed will be an
        existing value. It will also feel more correct after this patch that CSSProperty::id()
        return a value of the enum rather than an integer. As this modification is quite big this
        is the first part only so it will be easier to review.

        No new tests : There should be no behavior change in this patch.

        * css/CSSParser.cpp:
        (WebCore::cssPropertyID):
        * css/CSSParser.h:
        (WebCore):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::cssText):
        * css/CSSProperty.h:
        (WebCore::CSSProperty::id):
        (WebCore::CSSProperty::shorthandID):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::item):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
        (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::getPropertyValue):
        (WebCore::StylePropertySet::appendFontLonghandValueIfExplicit):
        (WebCore::StylePropertySet::propertyIsImportant):
        (WebCore::StylePropertySet::getPropertyShorthand):
        (WebCore::StylePropertySet::isPropertyImplicit):
        (WebCore::StylePropertySet::asText):
        * css/StylePropertySet.h:
        (StylePropertySet):
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
        (WebCore::removePropertiesInStyle):
        (WebCore::setTextDecorationProperty):
        (WebCore::diffTextDecorations):
        * editing/Editor.cpp:
        (WebCore::Editor::selectionStartCSSPropertyValue):
        * editing/Editor.h:
        (Editor):
        * editing/EditorCommand.cpp:
        (WebCore::valueStyle):

2012-04-02  Nate Chapin  <japhet@chromium.org>

        Simplify main resource load start/end in FrameLoader
        and DocumentLoader.
        https://bugs.webkit.org/show_bug.cgi?id=82935

        1. Have FrameLoader call prepareForLoadStart() on itself directly, rather
            than through DocumentLoader.
        2. Remove DocumentLoader::m_primaryLoadComplete, since this is basically equivalent
            to m_mainResourceLoader.
        3. Rename setPrimaryLoadComplete() to clearMainResourceLoader(), and only call it at
            the end of the main resource load.
        4. Move clearing DocumentLoader::m_mainResourceError into startLoadingMainResource(),
            which leaves DocumentLoader::prepareForLoadStart() empty.

        Reviewed by Adam Barth.

        No new tests, refactor only.

        * WebCore.exp.in:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore):
        (WebCore::DocumentLoader::mainReceivedError):
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::clearMainResourceLoader):
        (WebCore::DocumentLoader::isLoadingInAPISense):
        (WebCore::DocumentLoader::startLoadingMainResource):
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        * loader/FrameLoader.h: prepareForLoadStart() is now called directly,
            so make it private.

2012-04-02  Tim Horton  <timothy_horton@apple.com>

        ASSERTION FAILED: m_purgePreventCount in FontCache::getCachedFontData running svg/custom/animate-disallowed-use-element.svg
        https://bugs.webkit.org/show_bug.cgi?id=81002
        <rdar://problem/11168969>

        Reviewed by Simon Fraser.

        Don't spend time rebuilding SVG text layout attributes if the document is being torn down, as
        they won't be used, and can cause assertion failures in the font cache.

        No new tests, as it fixes an intermittent assertion failure during document destruction.

        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::willBeDestroyed):

2012-04-02  Lianghui Chen  <liachen@rim.com>

        [BlackBerry] Set ResourceRequest TargetType in WebPagePrivate::load()
        https://bugs.webkit.org/show_bug.cgi?id=80519

        Stop asserting in platformCachePolicyForRequest() as now it is expected
        that the ResourceRequest might not have the right TargetType setup at
        this time for main loads.

        Reviewed by Rob Buis.

        No new tests as no change in behaviour.

        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::platformCachePolicyForRequest):

2012-04-02  Simon Fraser  <simon.fraser@apple.com>

        Fix issue with reflections and composited layers
        https://bugs.webkit.org/show_bug.cgi?id=82636

        Reviewed by Alexey Proskuryakov
        
        When tearing down GraphicsLayers which referene eachother via m_replicatedLayer/m_replicaLayer,
        we need to clean up the replica layer pointers.

        No new tests; tested by existing compositing and repaint tests.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::~GraphicsLayer):
        (WebCore::GraphicsLayer::setReplicatedByLayer):

2012-04-02  Chris Rogers  <crogers@google.com>

        Add Oscillator/WaveTable implementation and tests
        https://bugs.webkit.org/show_bug.cgi?id=82414
        
        Oscillator represents an audio source generating a periodic waveform.  It can be set to
        a few commonly used waveforms.  Additionally, it can be set to an arbitrary periodic
        waveform through the use of a WaveTable object.

        Reviewed by Kenneth Russell.

        Tests: webaudio/oscillator-custom.html
               webaudio/oscillator-sawtooth.html
               webaudio/oscillator-sine.html
               webaudio/oscillator-square.html
               webaudio/oscillator-triangle.html

        * DerivedSources.make:
        * GNUmakefile.list.am:
        Add Oscillator and WaveTable to build files.
        * Modules/webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createOscillator):
        (WebCore):
        (WebCore::AudioContext::createWaveTable):
        * Modules/webaudio/AudioContext.h:
        Add create methods for Oscillator and WaveTable.
        (WebCore):
        (AudioContext):
        * Modules/webaudio/AudioContext.idl:
        * Modules/webaudio/AudioNode.h:
        * Modules/webaudio/Oscillator.cpp: Added.
        (WebCore):
        (WebCore::Oscillator::create):
        (WebCore::Oscillator::Oscillator):
        (WebCore::Oscillator::~Oscillator):
        (WebCore::Oscillator::setType):
        (WebCore::Oscillator::calculateSampleAccuratePhaseIncrements):
        (WebCore::Oscillator::process):
        (WebCore::Oscillator::reset):
        (WebCore::Oscillator::setWaveTable):
        * Modules/webaudio/Oscillator.h: Added.
        (WebCore):
        (Oscillator):
        (WebCore::Oscillator::type):
        (WebCore::Oscillator::frequency):
        (WebCore::Oscillator::detune):
        Implement Oscillator as AudioSourceNode.
        * Modules/webaudio/Oscillator.idl: Added.
        * Modules/webaudio/WaveTable.cpp: Added.
        (WebCore):
        (WebCore::WaveTable::create):
        (WebCore::WaveTable::createSine):
        (WebCore::WaveTable::createSquare):
        (WebCore::WaveTable::createSawtooth):
        (WebCore::WaveTable::createTriangle):
        (WebCore::WaveTable::WaveTable):
        (WebCore::WaveTable::waveDataForFundamentalFrequency):
        (WebCore::WaveTable::maxNumberOfPartials):
        (WebCore::WaveTable::numberOfPartialsForRange):
        (WebCore::WaveTable::createBandLimitedTables):
        (WebCore::WaveTable::generateBasicWaveform):
        * Modules/webaudio/WaveTable.h: Added.
        (WebCore):
        (WaveTable):
        (WebCore::WaveTable::rateScale):
        (WebCore::WaveTable::waveTableSize):
        (WebCore::WaveTable::sampleRate):
        (WebCore::WaveTable::numberOfRanges):
        Implement WaveTable which is constructed given a set of Fourier coefficients.
        * Modules/webaudio/WaveTable.idl: Added.
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        Add Oscillator and WaveTable files to build files.

2012-04-02  Levi Weintraub  <leviw@chromium.org>

        Correct remaining LayoutUnit misuse in RenderReplaced and RenderFlexibleBox
        https://bugs.webkit.org/show_bug.cgi?id=82899

        Reviewed by Darin Adler.

        Removing remaining LayoutUnit misuse and compiler errors that exist in RenderReplaced
        and RenderFlexibleBox once LayoutUnit becomes sub-pixel.

        No new tests. No change in behavior.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Switching
        a raw zero in a ternary operation to zeroLayoutUnit.
        (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Ditto for std::max.
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint): Adding missing pixel snapping before painting.
        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Like above, switching
        a raw zero to zeroLayoutUnit.
        (WebCore::RenderReplaced::computePreferredLogicalWidths): Ditto.

2012-04-02  Ken Buchanan  <kenrb@chromium.org>

        Crash due to floating object lists not properly being cleared
        https://bugs.webkit.org/show_bug.cgi?id=74056

        Reviewed by David Hyatt.

        Add a check to clearFloats() that determines when intruding floats
        are being cleared and not re-added. In this condition, ensure
        children with floats are also getting layout because they might
        need to have the same intruding floats cleared from their floating
        object lists also.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clearFloats):

2012-04-02  Seo Sanghyeon  <sh4.seo@samsung.com>

        Align IDL to Typed Array Specification
        https://bugs.webkit.org/show_bug.cgi?id=82919

        Reviewed by Darin Adler.

        No tests. No change in behavior.

        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:

2012-04-02  Michael Saboff  <msaboff@apple.com>

        WebKit should throttle memory pressure notifications in proportion to handler time
        https://bugs.webkit.org/show_bug.cgi?id=82674

        Rubber-stamped by Darin Adler.

        Updated r112910: <http://trac.webkit.org/changeset/112910> to address
        post checkin concerns raised in original bug.

        No additional tests. This passes existing test and was verified using
        manual tests on a small memory system with many websites open.

        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore):
        (WebCore::MemoryPressureHandler::respondToMemoryPressure):

2012-04-02  Darin Fisher  <darin@chromium.org>

        HistoryItem not updated properly when a form submission begins before a
        previous form submission has finished.
        https://bugs.webkit.org/show_bug.cgi?id=76686

        Reviewed by Nate Chapin.

        Test: LayoutTests/fast/loader/form-submission-before-load-{get,post}.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadPostRequest):

2012-04-02  Antti Koivisto  <antti@apple.com>

        Split remaining CSSRules into internal and CSSOM types
        https://bugs.webkit.org/show_bug.cgi?id=82728

        Reviewed by Andreas Kling.

        This will complete the move to internal types for CSS rules. The only remaining unsplit type is
        the CSSStyleSheet itself.
        
        By separating internal types from the CSSOM we save memory immediately and enable future performance
        optimizations as we are no longer tied to the structure of the API.
        
        CSSOM type              Internal type
        
        CSSStyleRule            StyleRule -> StyleRuleBase
        CSSPageRule             StyleRulePage -> StyleRuleBase
        CSSFontFaceRule         StyleRuleFontFace -> StyleRuleBase
        CSSMediaRule            StyleRuleMedia -> StyleRuleBlock -> StyleRuleBase
        CSSImportRule           StyleRuleImport -> StyleRuleBase
        CSSCharsetRule          String (owned by CSSStyleSheet)
        CSSUnknownRule          Never instantiated
        WebKitCSSRegionRule     StyleRuleRegion -> StyleRuleBlock -> StyleRuleBase
        WebKitKeyframesRule     StyleRuleKeyframes -> StyleRuleBase
        WebKitKeyframeRule      StyleKeyframe (owned by StyleRuleKeyframes)
        
        StyleRuleBase is refcounted. 
        
        The CSSOM objects contain the public API functions and their implementations (almost) nothing else. Unlike the 
        CSSOM types they don't have parent pointers, saving memory.  
        
        The CSSOM tree is constructed on demand only. The CSSOM wrapper instances are constructed and owned by 
        the parent wrapper in the tree. Wrappers ref the corresponding internal type. The trees are kept in sync
        when mutating.
        
        All rules shrink by a pointer (from the parent pointer removal). The immediate memory savings from this patch are
        larger as some earlier patches temporarily increased the memory use to allow incremental refactoring. 

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.h:
        (WebCore):
        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::CSSFontFaceRule):
        (WebCore::CSSFontFaceRule::style):
        (WebCore::CSSFontFaceRule::cssText):
        (WebCore):
        * css/CSSFontFaceRule.h:
        (WebCore):
        (WebCore::CSSFontFaceRule::create):
        (CSSFontFaceRule):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSFontSelector.h:
        (WebCore):
        * css/CSSGrammar.y:
        * css/CSSImportRule.cpp:
        (WebCore::StyleRuleImport::create):
        (WebCore::StyleRuleImport::StyleRuleImport):
        (WebCore::StyleRuleImport::~StyleRuleImport):
        (WebCore::StyleRuleImport::setCSSStyleSheet):
        (WebCore::StyleRuleImport::isLoading):
        (WebCore::StyleRuleImport::requestStyleSheet):
        (WebCore::CSSImportRule::CSSImportRule):
        (WebCore):
        (WebCore::CSSImportRule::media):
        (WebCore::CSSImportRule::cssText):
        * css/CSSImportRule.h:
        (StyleRuleImport):
        (WebCore::StyleRuleImport::parentStyleSheet):
        (WebCore::StyleRuleImport::clearParentStyleSheet):
        (WebCore::StyleRuleImport::href):
        (WebCore::StyleRuleImport::ImportedStyleSheetClient::ImportedStyleSheetClient):
        (ImportedStyleSheetClient):
        (CSSImportRule):
        (WebCore::CSSImportRule::create):
        (WebCore::CSSImportRule::href):
        (WebCore::CSSImportRule::styleSheet):
        (WebCore):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::CSSMediaRule):
        (WebCore::CSSMediaRule::~CSSMediaRule):
        (WebCore::CSSMediaRule::insertRule):
        (WebCore::CSSMediaRule::deleteRule):
        (WebCore::CSSMediaRule::cssText):
        (WebCore::CSSMediaRule::media):
        (WebCore):
        (WebCore::CSSMediaRule::length):
        (WebCore::CSSMediaRule::item):
        (WebCore::CSSMediaRule::cssRules):
        * css/CSSMediaRule.h:
        (WebCore):
        (WebCore::CSSMediaRule::create):
        (CSSMediaRule):
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::CSSPageRule):
        (WebCore::CSSPageRule::style):
        (WebCore::CSSPageRule::selectorText):
        (WebCore::CSSPageRule::setSelectorText):
        (WebCore::CSSPageRule::cssText):
        * css/CSSPageRule.h:
        (WebCore):
        (WebCore::CSSPageRule::create):
        (CSSPageRule):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseRule):
        (WebCore::CSSParser::createImportRule):
        (WebCore::CSSParser::createMediaRule):
        (WebCore::CSSParser::createKeyframesRule):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        (WebCore::CSSParser::createPageRule):
        (WebCore::CSSParser::createRegionRule):
        (WebCore::CSSParser::createMarginAtRule):
        * css/CSSParser.h:
        (WebCore):
        (CSSParser):
        * css/CSSPropertySourceData.h:
        (WebCore):
        * css/CSSStyleRule.cpp:
        (WebCore):
        (WebCore::selectorTextCache):
        (WebCore::CSSStyleRule::CSSStyleRule):
        (WebCore::CSSStyleRule::~CSSStyleRule):
        (WebCore::CSSStyleRule::setSelectorText):
        * css/CSSStyleRule.h:
        (WebCore):
        (WebCore::CSSStyleRule::create):
        (CSSStyleRule):
        * css/CSSStyleSelector.cpp:
        (RuleSet):
        (WebCore::RuleSet::pageRules):
        (WebCore::CSSStyleSelector::addKeyframeStyle):
        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        (WebCore::CSSStyleSheet::parserAppendRule):
        (WebCore::CSSStyleSheet::createChildRuleCSSOMWrapper):
        (WebCore::CSSStyleSheet::item):
        (WebCore::CSSStyleSheet::clearCharsetRule):
        (WebCore::CSSStyleSheet::clearRules):
        (WebCore::CSSStyleSheet::rules):
        (WebCore::CSSStyleSheet::insertRule):
        (WebCore::CSSStyleSheet::deleteRule):
        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
        (WebCore::CSSStyleSheet::ensureCSSOMWrapper):
        (WebCore):
        (WebCore::CSSStyleSheet::ownerRule):
        (WebCore::CSSStyleSheet::parentStyleSheet):
        * css/CSSStyleSheet.h:
        (WebCore):
        (WebCore::CSSStyleSheet::create):
        (CSSStyleSheet):
        (WebCore::CSSStyleSheet::childRules):
        (WebCore::CSSStyleSheet::importRules):
        (WebCore::CSSStyleSheet::clearOwnerRule):
        (WebCore::CSSStyleSheet::hasCharsetRule):
        * css/StyleRule.cpp:
        (WebCore::StyleRuleBase::createCSSOMWrapper):
        (WebCore):
        (WebCore::StyleRuleBase::destroy):
        (WebCore::StyleRule::StyleRule):
        (WebCore::StyleRule::setProperties):
        (WebCore::StyleRulePage::StyleRulePage):
        (WebCore::StyleRulePage::~StyleRulePage):
        (WebCore::StyleRulePage::setProperties):
        (WebCore::StyleRuleFontFace::StyleRuleFontFace):
        (WebCore::StyleRuleFontFace::~StyleRuleFontFace):
        (WebCore::StyleRuleFontFace::setProperties):
        (WebCore::StyleRuleBlock::StyleRuleBlock):
        (WebCore::StyleRuleBlock::wrapperInsertRule):
        (WebCore::StyleRuleBlock::wrapperRemoveRule):
        (WebCore::StyleRuleMedia::StyleRuleMedia):
        (WebCore::StyleRuleRegion::StyleRuleRegion):
        * css/StyleRule.h:
        (WebCore):
        (WebCore::StyleRuleBase::type):
        (StyleRuleBase):
        (WebCore::StyleRuleBase::isCharsetRule):
        (WebCore::StyleRuleBase::isFontFaceRule):
        (WebCore::StyleRuleBase::isKeyframesRule):
        (WebCore::StyleRuleBase::isMediaRule):
        (WebCore::StyleRuleBase::isPageRule):
        (WebCore::StyleRuleBase::isStyleRule):
        (WebCore::StyleRuleBase::isRegionRule):
        (WebCore::StyleRuleBase::isImportRule):
        (WebCore::StyleRuleBase::sourceLine):
        (WebCore::StyleRuleBase::deref):
        (WebCore::StyleRuleBase::StyleRuleBase):
        (WebCore::StyleRuleBase::~StyleRuleBase):
        (StyleRule):
        (WebCore::StyleRule::create):
        (WebCore::StyleRule::parserAdoptSelectorVector):
        (WebCore::StyleRule::wrapperAdoptSelectorList):
        (StyleRuleFontFace):
        (WebCore::StyleRuleFontFace::create):
        (WebCore::StyleRuleFontFace::properties):
        (StyleRulePage):
        (WebCore::StyleRulePage::create):
        (WebCore::StyleRulePage::selector):
        (WebCore::StyleRulePage::properties):
        (WebCore::StyleRulePage::parserAdoptSelectorVector):
        (WebCore::StyleRulePage::wrapperAdoptSelectorList):
        (StyleRuleBlock):
        (WebCore::StyleRuleBlock::childRules):
        (StyleRuleMedia):
        (WebCore::StyleRuleMedia::create):
        (WebCore::StyleRuleMedia::mediaQueries):
        (StyleRuleRegion):
        (WebCore::StyleRuleRegion::create):
        (WebCore::StyleRuleRegion::selectorList):
        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::StyleSheet):
        (WebCore):
        * css/StyleSheet.h:
        (WebCore):
        (WebCore::StyleSheet::ownerRule):
        (WebCore::StyleSheet::parentStyleSheet):
        (StyleSheet):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::StyleRuleKeyframes::StyleRuleKeyframes):
        (WebCore):
        (WebCore::StyleRuleKeyframes::~StyleRuleKeyframes):
        (WebCore::StyleRuleKeyframes::parserAppendKeyframe):
        (WebCore::StyleRuleKeyframes::wrapperAppendKeyframe):
        (WebCore::StyleRuleKeyframes::wrapperRemoveKeyframe):
        (WebCore::StyleRuleKeyframes::findKeyframeIndex):
        (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
        (WebCore::WebKitCSSKeyframesRule::setName):
        (WebCore::WebKitCSSKeyframesRule::insertRule):
        (WebCore::WebKitCSSKeyframesRule::deleteRule):
        (WebCore::WebKitCSSKeyframesRule::findRule):
        (WebCore::WebKitCSSKeyframesRule::cssText):
        (WebCore::WebKitCSSKeyframesRule::length):
        (WebCore::WebKitCSSKeyframesRule::item):
        * css/WebKitCSSKeyframesRule.h:
        (WebCore):
        (StyleRuleKeyframes):
        (WebCore::StyleRuleKeyframes::create):
        (WebCore::StyleRuleKeyframes::keyframes):
        (WebCore::StyleRuleKeyframes::name):
        (WebCore::StyleRuleKeyframes::setName):
        (WebCore::WebKitCSSKeyframesRule::create):
        (WebCore::WebKitCSSKeyframesRule::name):
        (WebKitCSSKeyframesRule):
        * css/WebKitCSSRegionRule.cpp:
        (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
        (WebCore::WebKitCSSRegionRule::~WebKitCSSRegionRule):
        (WebCore::WebKitCSSRegionRule::cssText):
        (WebCore::WebKitCSSRegionRule::length):
        (WebCore):
        (WebCore::WebKitCSSRegionRule::item):
        (WebCore::WebKitCSSRegionRule::cssRules):
        * css/WebKitCSSRegionRule.h:
        (WebCore):
        (WebCore::WebKitCSSRegionRule::create):
        (WebKitCSSRegionRule):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willMatchRuleImpl):
        (WebCore::InspectorInstrumentation::willProcessRuleImpl):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::ensureSourceData):
        * inspector/InspectorStyleSheet.h:
        (WebCore):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
        (WebCore::SVGFontFaceElement::parseAttribute):
        (WebCore::SVGFontFaceElement::fontFamily):
        (WebCore::SVGFontFaceElement::rebuildFontFace):
        (WebCore::SVGFontFaceElement::insertedIntoDocument):
        (WebCore::SVGFontFaceElement::removedFromDocument):
        * svg/SVGFontFaceElement.h:
        (WebCore):
        (WebCore::SVGFontFaceElement::fontFaceRule):
        (SVGFontFaceElement):

2012-04-02  Rakesh KN  <rakesh.kn@motorola.com>

        Scroll position is lost after hide/show element
        https://bugs.webkit.org/show_bug.cgi?id=72852

        Maintain the scroll position of an overflowing element in the ElementRareData when the scrollable 
        RenderLayer is destroyed, which can be used to restore the scroll position if the same element gets
        back a RenderLayer.

        WebKit behaviour will be the same as Firefox and IE. It differs from Opera as it does not reset the
        scroll position when an element is moved to another location in the same document. However Opera resets
        the scroll position for elements moved to another document, which matches other browsers.

        Reviewed by Julien Chaffraix.

        Test: fast/overflow/scroll-div-hide-show.html

        * dom/Element.cpp:
        (WebCore::Element::removedFromDocument):
        Reset the saved scroll offset if the node is moved to another location in the same document or another one.

        (WebCore::Element::savedLayerScrollOffset):
        (WebCore::Element::setSavedLayerScrollOffset):
        * dom/Element.h:
        Add helper functions to access the layer scroll offset from the element's rare data.

        * dom/ElementRareData.h:
        (ElementRareData):
        Add the scroll offset book-keeping.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        Restore the scroll offset.
        (WebCore::RenderLayer::~RenderLayer):
        Store the scroll offset if document is not being destroyed.

2012-04-02  Alexis Menard  <alexis.menard@openbossa.org>

        Rename CSSPropertyLonghand files to StylePropertyShorthand.
        https://bugs.webkit.org/show_bug.cgi?id=82905

        Reviewed by Antti Koivisto.

        r112880 renamed CSSPropertyLonghand class to StylePropertyShorthand, so the
        files need to reflect this new name now.

        No new tests : Just a renaming, No behaviour change intended.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSAllInOne.cpp:
        * css/CSSComputedStyleDeclaration.cpp:
        * css/CSSParser.cpp:
        * css/CSSProperty.cpp:
        * css/StylePropertySet.cpp:
        * css/StylePropertyShorthand.cpp: Renamed from Source/WebCore/css/CSSPropertyLonghand.cpp.
        (WebCore):
        (WebCore::backgroundShorthand):
        (WebCore::backgroundPositionShorthand):
        (WebCore::backgroundRepeatShorthand):
        (WebCore::borderShorthand):
        (WebCore::borderAbridgedShorthand):
        (WebCore::borderBottomShorthand):
        (WebCore::borderColorShorthand):
        (WebCore::borderImageShorthand):
        (WebCore::borderLeftShorthand):
        (WebCore::borderRadiusShorthand):
        (WebCore::borderRightShorthand):
        (WebCore::borderSpacingShorthand):
        (WebCore::borderStyleShorthand):
        (WebCore::borderTopShorthand):
        (WebCore::borderWidthShorthand):
        (WebCore::listStyleShorthand):
        (WebCore::fontShorthand):
        (WebCore::marginShorthand):
        (WebCore::outlineShorthand):
        (WebCore::overflowShorthand):
        (WebCore::paddingShorthand):
        (WebCore::webkitAnimationShorthand):
        (WebCore::webkitBorderAfterShorthand):
        (WebCore::webkitBorderBeforeShorthand):
        (WebCore::webkitBorderEndShorthand):
        (WebCore::webkitBorderStartShorthand):
        (WebCore::webkitColumnsShorthand):
        (WebCore::webkitColumnRuleShorthand):
        (WebCore::webkitFlexFlowShorthand):
        (WebCore::webkitMarginCollapseShorthand):
        (WebCore::webkitMarqueeShorthand):
        (WebCore::webkitMaskShorthand):
        (WebCore::webkitMaskPositionShorthand):
        (WebCore::webkitMaskRepeatShorthand):
        (WebCore::webkitTextEmphasisShorthand):
        (WebCore::webkitTextStrokeShorthand):
        (WebCore::webkitTransitionShorthand):
        (WebCore::webkitTransformOriginShorthand):
        (WebCore::webkitWrapShorthand):
        (WebCore::shorthandForProperty):
        * css/StylePropertyShorthand.h: Renamed from Source/WebCore/css/CSSPropertyLonghand.h.
        (WebCore):
        (StylePropertyShorthand):
        (WebCore::StylePropertyShorthand::StylePropertyShorthand):
        (WebCore::StylePropertyShorthand::properties):
        (WebCore::StylePropertyShorthand::propertiesForInitialization):
        (WebCore::StylePropertyShorthand::length):
        * page/animation/AnimationBase.cpp:

2012-04-02  Brady Eidson  <beidson@apple.com>

        <rdar://problem/11020155> and https://bugs.webkit.org/show_bug.cgi?id=82910
        REGRESSION (98963 and 109091):  Crash when creating a WebArchive of a page with @page style rules

        Reviewed by Antti Koivisto.

        Test: webarchive/css-page-rule-crash.html

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Page rules do not (currently) have subresource urls to get,
          and are not CSSStyleRules.

2012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112851.
        http://trac.webkit.org/changeset/112851
        https://bugs.webkit.org/show_bug.cgi?id=82915

        Broke 3 Mac accessibility tests (Requested by enrica on
        #webkit).

        * accessibility/AXObjectCache.cpp:
        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::handleScrolledToAnchor):
        (WebCore):
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::handleScrolledToAnchor):
        (WebCore):

2012-04-02  Michael Saboff  <msaboff@apple.com>

        WebKit should throttle memory pressure notifications in proportion to handler time
        https://bugs.webkit.org/show_bug.cgi?id=82674

        Reviewed by Geoffrey Garen.

        Changed the MemoryPressureHandler hold off timer to start timing after 
        respondToMemoryPressure runs.  The delay time is now 20 times longer than the
        time it took for respondToMemoryPressure to run with a minimum of 5 seconds.
        This throttles the response to low memory events in the extreme case where
        we are spending most of our time paging / swapping.
        This is a Mac only change.

        No additional tests. This passes existing test and was verified using
        manual tests on a small memory system with many websites open.

        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore):
        (WebCore::MemoryPressureHandler::holdOff):
        (WebCore::MemoryPressureHandler::respondToMemoryPressure):

2012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112163.
        http://trac.webkit.org/changeset/112163
        https://bugs.webkit.org/show_bug.cgi?id=82914

        Possible OOM issues (Requested by aklein on #webkit).

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorCallback):
        (GenerateNamedConstructorCallback):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::installDOMWindow):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
        * bindings/v8/V8DOMWrapper.h:
        (V8DOMWrapper):
        * bindings/v8/V8Proxy.h:
        (WebCore::toV8):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::v8HTMLImageElementConstructorCallback):
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::constructorCallback):
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8WebSocket::constructorCallback):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback):

2012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112318.
        http://trac.webkit.org/changeset/112318
        https://bugs.webkit.org/show_bug.cgi?id=82912

        Possible OOM issues (Requested by aklein on #webkit).

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorCallback):
        (GenerateNamedConstructorCallback):
        (GenerateToV8Converters):
        (GetDomMapFunction):
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore::V8Float64Array::wrapSlow):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::V8TestActiveDOMObject::wrapSlow):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::V8TestCustomNamedGetter::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::V8TestEventTarget::wrapSlow):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::V8TestMediaQueryListListener::wrapSlow):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::wrapSlow):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
        * bindings/v8/V8DOMWrapper.h:
        (V8DOMWrapper):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):

2012-04-02  Srikumar Bonda  <srikumar.b@gmail.com>

        Missing NULL check for vendor string from glGetString()
        https://bugs.webkit.org/show_bug.cgi?id=82859

        Reviewed by Kentaro Hara.

        glGetString() possible to return NULL value.
        Refer to http://www.opengl.org/sdk/docs/man/xhtml/glGetString.xml
        for more information. The missing null check crashes webkit when
        vendor name is not set (null) by glGetString().

        No new tests because this is missing NULL check for
        for openGL API response.

        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::validateAttributes):

2012-04-02  Ami Fischman  <fischman@chromium.org>

        Suppress HTMLMediaElement's text track code when !webkitVideoTrackEnabled()
        https://bugs.webkit.org/show_bug.cgi?id=82906

        Reviewed by Eric Carlson.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::scheduleLoad):
        (WebCore::HTMLMediaElement::loadTimerFired):
        (WebCore::HTMLMediaElement::prepareForLoad):
        (WebCore::HTMLMediaElement::loadInternal):
        (WebCore::HTMLMediaElement::setReadyState):
        (WebCore::HTMLMediaElement::playbackProgressTimerFired):
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
        (WebCore::HTMLMediaElement::userCancelledLoad):

2012-04-02  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: CPU time bar missing on top-level events in timeline panel
        https://bugs.webkit.org/show_bug.cgi?id=82909

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.prototype.addRecord):

2012-04-02  Eric Carlson  <eric.carlson@apple.com>

        Renaming parameters for positioning a track cue
        https://bugs.webkit.org/show_bug.cgi?id=78706

        Change WebVTT settings identifiers for spec change: D: -> vertical:, L: -> line:, 
        T: -> position:, S: -> size:, A: -> align:

        Reviewed by Sam Weinig.

        No new tests, existing tests updated for spec changes.

        * html/track/TextTrackCue.cpp:
        (WebCore::verticalGrowingLeftKeyword): Drive-by change to improve readability.
        (WebCore::TextTrackCue::settingName): New, parse the settings keyword.
        (WebCore::TextTrackCue::parseSettings): Update to match the current spec.
        * html/track/TextTrackCue.h:

        * html/track/WebVTTParser.h:
        (WebCore::WebVTTParser::isValidSettingDelimiter): New.

2012-03-29  Sam Weinig  <sam@webkit.org>

        Add setting to disable Java for local files even if it is otherwise enabled
        https://bugs.webkit.org/show_bug.cgi?id=82685

        Reviewed by Anders Carlsson.

        * WebCore.exp.in:
        Export setting setter.

        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::canEmbedJava):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::requestPlugin):
        * page/Navigator.cpp:
        (WebCore::Navigator::javaEnabled):
        Check for both isJavaEnabled and isJavaEnabledForLocalFiles.

        * page/Settings.cpp:
        (WebCore::Settings::setJavaEnabledForLocalFiles):
        * page/Settings.h:
        (WebCore::Settings::isJavaEnabledForLocalFiles):
        Add new setting.

2012-04-02  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Implement frontend for device metrics emulation
        https://bugs.webkit.org/show_bug.cgi?id=82891

        This change implements the backend-based device metrics emulation capability discovery,
        UI (enablement checkbox + input controls), and a persistence setting
        for the user-specified device metrics (screen width/height and an auxiliary font scale factor).

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/Settings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
        (WebInspector.SettingsScreen.prototype._showPaintRectsChanged):
        (WebInspector.SettingsScreen.prototype.set _applyDeviceMetricsUserInput):
        (WebInspector.SettingsScreen.prototype._setDeviceMetricsOverride):
        (WebInspector.SettingsScreen.prototype._setDeviceMetricsOverride.set if):
        (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement.createInput):
        (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement):
        * inspector/front-end/UserAgentSupport.js: Added.
        (WebInspector.UserAgentSupport.DeviceMetrics):
        (WebInspector.UserAgentSupport.DeviceMetrics.parseSetting):
        (WebInspector.UserAgentSupport.DeviceMetrics.parseUserInput):
        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.isValid):
        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.isWidthValid):
        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.isHeightValid):
        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.isFontScaleFactorValid):
        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.toSetting):
        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.widthToInput):
        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.heightToInput):
        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.fontScaleFactorToInput):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/helpScreen.css:
        (.help-table > tr > th):
        (.help-table > tr > td):
        (#resolution-override-section):
        * inspector/front-end/inspector.css:
        (.hidden):
        (.error-input):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.doLoadedDone):

2012-04-02  Alexis Menard  <alexis.menard@openbossa.org>

        Rename CSSPropertyLonghand class to StylePropertyShorthand.
        https://bugs.webkit.org/show_bug.cgi?id=82624

        Reviewed by Antti Koivisto.

        Rename CSSPropertyLonghand to StylePropertyShorthand as what CSSPropertyLonghand
        is representing is not a longhand but the list of longhands for a given shorthand.
        Also in the same time switch all shorthand declarations to use CSSPropertyID enum
        rather than a int so it is clear on what kind of data we are dealing with.

        In a following patch I will rename CSSPropertyLonghand file.

        No new tests : This is a refactoring, no behaviour change intended

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForShorthandProperties):
        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
        (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
        * css/CSSComputedStyleDeclaration.h:
        (WebCore):
        (CSSComputedStyleDeclaration):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillShorthand):
        (WebCore::CSSParser::parseAnimationShorthand):
        (WebCore::CSSParser::parseTransitionShorthand):
        (WebCore::CSSParser::parseShorthand):
        (WebCore::CSSParser::parse4Values):
        * css/CSSParser.h:
        (WebCore):
        (CSSParser):
        * css/CSSProperty.cpp:
        (WebCore::resolveToPhysicalProperty):
        (WebCore::borderDirections):
        (WebCore::CSSProperty::resolveDirectionAwareProperty):
        * css/CSSPropertyLonghand.cpp:
        (WebCore::backgroundShorthand):
        (WebCore::backgroundPositionShorthand):
        (WebCore::backgroundRepeatShorthand):
        (WebCore::borderShorthand):
        (WebCore::borderAbridgedShorthand):
        (WebCore::borderBottomShorthand):
        (WebCore::borderColorShorthand):
        (WebCore::borderImageShorthand):
        (WebCore::borderLeftShorthand):
        (WebCore::borderRadiusShorthand):
        (WebCore::borderRightShorthand):
        (WebCore::borderSpacingShorthand):
        (WebCore::borderStyleShorthand):
        (WebCore::borderTopShorthand):
        (WebCore::borderWidthShorthand):
        (WebCore::listStyleShorthand):
        (WebCore::fontShorthand):
        (WebCore::marginShorthand):
        (WebCore::outlineShorthand):
        (WebCore::overflowShorthand):
        (WebCore::paddingShorthand):
        (WebCore::webkitAnimationShorthand):
        (WebCore::webkitBorderAfterShorthand):
        (WebCore::webkitBorderBeforeShorthand):
        (WebCore::webkitBorderEndShorthand):
        (WebCore::webkitBorderStartShorthand):
        (WebCore::webkitColumnsShorthand):
        (WebCore::webkitColumnRuleShorthand):
        (WebCore::webkitFlexFlowShorthand):
        (WebCore::webkitMarginCollapseShorthand):
        (WebCore::webkitMarqueeShorthand):
        (WebCore::webkitMaskShorthand):
        (WebCore::webkitMaskPositionShorthand):
        (WebCore::webkitMaskRepeatShorthand):
        (WebCore::webkitTextEmphasisShorthand):
        (WebCore::webkitTextStrokeShorthand):
        (WebCore::webkitTransitionShorthand):
        (WebCore::webkitTransformOriginShorthand):
        (WebCore::webkitWrapShorthand):
        (WebCore::shorthandForProperty):
        * css/CSSPropertyLonghand.h:
        (WebCore::StylePropertyShorthand::StylePropertyShorthand):
        (WebCore::StylePropertyShorthand::properties):
        (WebCore::StylePropertyShorthand::propertiesForInitialization):
        (StylePropertyShorthand):
        (WebCore):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::getPropertyValue):
        (WebCore::StylePropertySet::borderSpacingValue):
        (WebCore::StylePropertySet::get4Values):
        (WebCore::StylePropertySet::getLayeredShorthandValue):
        (WebCore::StylePropertySet::getShorthandValue):
        (WebCore::StylePropertySet::getCommonValue):
        (WebCore::StylePropertySet::removeShorthandProperty):
        (WebCore::StylePropertySet::propertyIsImportant):
        (WebCore::StylePropertySet::setProperty):
        (WebCore::StylePropertySet::asText):
        (WebCore):
        (WebCore::StylePropertySet::removePropertiesInSet):
        (WebCore::StylePropertySet::copyPropertiesInSet):
        * css/StylePropertySet.h:
        (WebCore):
        (StylePropertySet):
        * editing/EditingStyle.cpp:
        (WebCore):
        (WebCore::removePropertiesInStyle):
        * page/animation/AnimationBase.cpp:
        (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper):
        (WebCore::addShorthandProperties):
        * page/animation/CompositeAnimation.cpp:

2012-03-28  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: refactor UI breakpoint listeners.
        https://bugs.webkit.org/show_bug.cgi?id=82481

        Reviewed by Vsevolod Vlasov.

        Breakpoint-added and breakpoint-removed events are currently dispatched on UISourceCode.
        That allows us to move handlers that manage SourceFrame's breakpoint decorations from ScriptsPanel to SourceFrame.
        SourceFrame's "Loaded" event is removed as it was only used by ScriptsPanel to restore SourceFrame's breakpoints.

        * inspector/front-end/DebuggerPresentationModel.js:
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
        (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
        (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
        (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
        (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
        (WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
        (WebInspector.ScriptsPanel.prototype._uiBreakpointAdded):
        (WebInspector.ScriptsPanel.prototype._uiBreakpointRemoved):
        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.setContent):
        (WebInspector.SourceFrame.prototype.onTextViewerContentLoaded):

2012-04-02  Rob Buis  <rbuis@rim.com>

        [BlackBerry] Take into account policy checks in ClipboardBlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=82651

        Reviewed by George Staikos.

        Add policy checks in the methods we implemented.

        Covered by existing tests.

        * platform/blackberry/ClipboardBlackBerry.cpp:
        (WebCore::ClipboardBlackBerry::clearData):
        (WebCore::ClipboardBlackBerry::clearAllData):
        (WebCore::ClipboardBlackBerry::getData):
        (WebCore::ClipboardBlackBerry::setData):
        (WebCore::ClipboardBlackBerry::types):
        * platform/blackberry/ClipboardBlackBerry.h:
        (WebCore::ClipboardBlackBerry::create):

2012-04-02  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] factor our frame aggregation logic to TimelineFrameController
        https://bugs.webkit.org/show_bug.cgi?id=82735

        Reviewed by Pavel Feldman.

        - factor out frame aggregation logic from TimelineVerticalOverview into TimelineFrameController;
        - if we don't have frames, pretend each top-level event is a frame (this preserves behavior of vertical overview);
        - factor out time-by-category stats aggregation into class methods of TimelineModel for reuse accross timeline modules;
        - do not filter top-level events by type in vertical overview mode;

        * WebCore.gypi: Added TimelineFrameController.js
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * inspector/compile-front-end.py: ditto.
        * inspector/front-end/TimelineFrameController.js: Added.
        (WebInspector.TimelineFrameController):
        (WebInspector.TimelineFrameController.prototype._onRecordAdded):
        (WebInspector.TimelineFrameController.prototype._onRecordsCleared):
        (WebInspector.TimelineFrameController.prototype._addRecord):
        (WebInspector.TimelineFrameController.prototype._flushFrame):
        (WebInspector.TimelineFrameController.prototype._createSyntheticFrame): create a "frame" based on a single top-level record.
        (WebInspector.TimelineFrameController.prototype.dispose): Remove listeners that we added in constructor.
        (WebInspector.TimelineFrame):
        * inspector/front-end/TimelineModel.js: Added utilities for aggregating times by categories.
        (WebInspector.TimelineModel.aggregateTimeByCategories):
        (WebInspector.TimelineModel.aggregateTimeForRecord):
        * inspector/front-end/TimelineOverviewPane.js: Use frame information supplied by TimelineFrameController.
        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
        (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
        (WebInspector.TimelineOverviewPane.prototype.addFrame):
        (WebInspector.TimelineVerticalOverview.prototype.reset): Clear stored frames upon reset()
        (WebInspector.TimelineVerticalOverview.prototype.update):
        (WebInspector.TimelineVerticalOverview.prototype.addFrame):
        (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
        * inspector/front-end/TimelinePanel.js: Create/dispose TimelineFrameController when switching to/from vertical overview mode.
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.Record.prototype.calculateAggregatedStats): Factored out statistics aggregation to utilities method in the model.
        * inspector/front-end/WebKit.qrc: Added TimelineFrameController.js
        * inspector/front-end/inspector.html: ditto.

2012-03-31  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Implement backend for device metrics emulation
        https://bugs.webkit.org/show_bug.cgi?id=82827

        This change implements the inspector backend for the device metrics override feature,
        as well as the respective InspectorClient capability detection.
        When a navigation occurs in the override mode, the page auto-zooming ("fit width")
        is initiated upon the first layout after the DOMContentLoaded event.

        Reviewed by Pavel Feldman.

        * inspector/Inspector.json:
        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::canOverrideDeviceMetrics):
        (WebCore::InspectorClient::overrideDeviceMetrics):
        (WebCore::InspectorClient::autoZoomPageToFitWidth):
        (InspectorClient):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didLayoutImpl):
        * inspector/InspectorPageAgent.cpp:
        (PageAgentState):
        (WebCore::InspectorPageAgent::InspectorPageAgent):
        (WebCore::InspectorPageAgent::restore):
        (WebCore::InspectorPageAgent::disable):
        (WebCore::InspectorPageAgent::canOverrideDeviceMetrics):
        (WebCore):
        (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
        (WebCore::InspectorPageAgent::domContentEventFired):
        (WebCore::InspectorPageAgent::loadEventFired):
        (WebCore::InspectorPageAgent::didLayout):
        (WebCore::InspectorPageAgent::updateViewMetrics):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::getDouble):
        (WebCore):
        * inspector/InspectorState.h:
        (InspectorState):
        (WebCore::InspectorState::setDouble):

2012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112813 and r112837.
        http://trac.webkit.org/changeset/112813
        http://trac.webkit.org/changeset/112837
        https://bugs.webkit.org/show_bug.cgi?id=82885

        It made two tests crash on WK2 (Requested by Ossy on #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/SVGAllInOne.cpp:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::propertyTypesAreConsistent):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        * svg/SVGAnimatedAngle.cpp:
        (WebCore::SVGAnimatedAngleAnimator::constructFromString):
        (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
        (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
        (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedAngle.h:
        (WebCore):
        * svg/SVGAnimatedBoolean.cpp:
        (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedEnumeration.cpp: Removed.
        * svg/SVGAnimatedEnumeration.h:
        (WebCore):
        * svg/SVGAnimatedInteger.cpp:
        (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
        * svg/SVGAnimatedPreserveAspectRatio.cpp:
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedRect.cpp:
        (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedString.cpp:
        (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createAngle):
        (WebCore::SVGAnimatedType::angle):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        (WebCore::SVGAnimatedType::setPreserveAspectRatioBaseValue):
        (WebCore):
        (WebCore::SVGAnimatedType::supportsAnimVal):
        * svg/SVGAnimatedType.h:
        (SVGAnimatedType):
        * svg/SVGAnimatedTypeAnimator.h:
        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
        (SVGAnimatedTypeAnimator):
        (WebCore::SVGAnimatedTypeAnimator::startAnimation):
        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
        (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::resetFromOneBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
        (WebCore::SVGAnimatedTypeAnimator::resetFromTwoBaseValues):
        (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
        (WebCore::SVGAnimatedTypeAnimator::collectAnimatedPropertiesFromInstances):
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGMarkerElement.cpp:
        (WebCore):
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (SVGAnimatedListPropertyTearOff):
        * svg/properties/SVGAnimatedPropertyTearOff.h:
        (SVGAnimatedPropertyTearOff):
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:

2012-04-02  Yury Semikhatsky  <yurys@chromium.org>

        [V8] Web Inspector: don't crash when resolving DOM wrapper heap snapshot node to JS object
        https://bugs.webkit.org/show_bug.cgi?id=82872

        Reviewed by Pavel Feldman.

        Don't resolve heap object to a JS object if it is a wrapper boilerplate.

        Test: inspector/profiler/heap-snapshot-inspect-dom-wrapper.html

        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::objectByHeapObjectId):
        (WebCore):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):

2012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112659.
        http://trac.webkit.org/changeset/112659
        https://bugs.webkit.org/show_bug.cgi?id=82884

        Undo the rollout of 112489 since this was not the cause of
        failures (Requested by apavlov on #webkit).

        * css/CSSSegmentedFontFace.cpp:
        (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
        (WebCore):
        (WebCore::CSSSegmentedFontFace::getFontData):

2012-04-01  Antti Koivisto  <antti@apple.com>

        Add mechanism for mapping from StyleRules back to fully constructed CSSStyleRules 
        https://bugs.webkit.org/show_bug.cgi?id=82847

        Reviewed by Andreas Kling.

        Inspector is using CSSStyleSelector to calculate the CSS rules matched by a given element and
        expects to be able to walk the parent chain. After 82728 the stylesheet object tree won't have
        parent pointers and we are going to need another mechanism to support this.
        
        The new code does not actually run without 82728.
        
        * css/CSSStyleSelector.cpp:
        (WebCore):
        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
        (WebCore::loadFullDefaultStyle):
        (WebCore::ensureDefaultStyleSheetsForElement):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
    
        Add ensureFullCSSOMWrapperForStyleRule() method which traverses through all style
        sheets that apply to the document and constucts wrappers for the rules. These wrappers
        are cached to a map. The map can then be used for StyleRule -> CSSStyleRule lookups.
        
        This uses quite a bit of memory so should not be used for any normal engine functions.
    
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
    
        Use the new mechanism to get fully functional wrappers for rule objects without parent pointer.
    
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):

2012-04-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck issues.

        * GNUmakefile.list.am: Remove duplicated files and add missing
        header.

2012-04-02  Levi Weintraub  <leviw@chromium.org>

        Add rounding to Plugin creation in SubframeLoader
        https://bugs.webkit.org/show_bug.cgi?id=82221

        Reviewed by Eric Seidel.

        Adding rounding to the LayoutSize used to construct Plugins in SubframeLoader. Plugins, which
        are widgets, are always placed on integer boundaries, which means their sizes can be rounded
        without considering their location. See https://trac.webkit.org/wiki/LayoutUnit for details.

        No new tests. No change in behavior.

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
        (WebCore::SubframeLoader::createJavaAppletWidget):
        (WebCore::SubframeLoader::loadPlugin):

2012-04-02  Mario Sanchez Prada  <msanchez@igalia.com>

        in page anchor and keyboard navigation
        https://bugs.webkit.org/show_bug.cgi?id=17450

        Reviewed by Chris Fleizach.

        Ensure that the position of the caret and the focused element
        get updated when following an anchor link.

        The implementation is moved from platform specific files out to
        AXObjectCache.cpp since it should be a cross-platform valid
        solution. However, the new code is currently activated for the Mac
        and GTK ports only, since the windows and chromium ports provide
        their own specific code, and removing it now might break things.

        Test: accessibility/anchor-link-selection-and-focus.html

        * accessibility/AXObjectCache.cpp:
        (WebCore):
        (WebCore::AXObjectCache::handleScrolledToAnchor): Cross-platform
        implementation of the fix, only activated for Mac and GTK for now.
        * accessibility/gtk/AXObjectCacheAtk.cpp: Removed the GTK-specific
        implementation of WebCore::AXObjectCache::handleScrolledToAnchor.
        * accessibility/mac/AXObjectCacheMac.mm: Removed the Mac-specific
        implementation of WebCore::AXObjectCache::handleScrolledToAnchor.

2012-04-02  Hayato Ito  <hayato@chromium.org>

        [Shadow DOM] Introduce ComposedShadowTreeWalker as a successor of ReifiedTreeTraversal APIs
        https://bugs.webkit.org/show_bug.cgi?id=82009

        Reviewed by Dimitri Glazkov.

        ComposedShadowTreeWalker is intended to be a successor of current ReifiedTreeTraversal APIs.
        ComposedShadowTreeWalker uses a cursor pattern and takes a starting node in its constructor.

        A typical usage is:

          for (ComposedShadowTreeWalker walker(node); walker.get(); walker.next()) {
                ...
          }

        Follow-up patches will update clients which use current ReifiedTreeTraversal APIs so that they use the Walker.
        More tests will come along with these actual use cases in follow-up patches.
        After that, I'll get rid of ReifiedTreeTraversal APIs in favor of the Walker.

        Note that 'ComposedShadowTree' and 'ReifiedTree' has the same meaning.
        Because ReifiedTree is not intuitive name, we are starting to use 'ComposedShadowTree' from now.

        Test: fast/dom/shadow/composed-shadow-tree-walker.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ComposedShadowTreeWalker.cpp: Added.
        (WebCore):
        (WebCore::isShadowHost):
        (WebCore::shadowTreeFor):
        (WebCore::shadowTreeOfParent):
        (WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):
        (WebCore::ComposedShadowTreeWalker::fromFirstChild):
        (WebCore::ComposedShadowTreeWalker::firstChild):
        (WebCore::ComposedShadowTreeWalker::traverseFirstChild):
        (WebCore::ComposedShadowTreeWalker::lastChild):
        (WebCore::ComposedShadowTreeWalker::traverseLastChild):
        (WebCore::ComposedShadowTreeWalker::traverseChild):
        (WebCore::ComposedShadowTreeWalker::traverseLightChildren):
        (WebCore::ComposedShadowTreeWalker::traverseNode):
        (WebCore::ComposedShadowTreeWalker::nextSibling):
        (WebCore::ComposedShadowTreeWalker::previousSibling):
        (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
        (WebCore::ComposedShadowTreeWalker::traverseSiblingInCurrentTree):
        (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToYoungerShadowRoot):
        (WebCore::ComposedShadowTreeWalker::escapeFallbackContentElement):
        (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
        (WebCore::ComposedShadowTreeWalker::parent):
        (WebCore::ComposedShadowTreeWalker::traverseParent):
        (WebCore::ComposedShadowTreeWalker::traverseParentInCurrentTree):
        (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
        (WebCore::ComposedShadowTreeWalker::traverseNextSibling):
        (WebCore::ComposedShadowTreeWalker::traversePreviousSibling):
        (WebCore::ComposedShadowTreeWalker::next):
        (WebCore::ComposedShadowTreeWalker::previous):
        * dom/ComposedShadowTreeWalker.h: Added.
        (WebCore):
        (ComposedShadowTreeWalker):
        (WebCore::ComposedShadowTreeWalker::get):
        (WebCore::ComposedShadowTreeWalker::canCrossUpperBoundary):
        (WebCore::ComposedShadowTreeWalker::assertPrecondition):
        (WebCore::ComposedShadowTreeWalker::assertPostcondition):
        * testing/Internals.cpp:
        (WebCore::Internals::nextSiblingByWalker):
        (WebCore):
        (WebCore::Internals::firstChildByWalker):
        (WebCore::Internals::lastChildByWalker):
        (WebCore::Internals::nextNodeByWalker):
        (WebCore::Internals::previousNodeByWalker):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-04-02  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: breakpoints are not shown in sidebar pane after switching pretty-print mode.
        https://bugs.webkit.org/show_bug.cgi?id=82768

        Reviewed by Yury Semikhatsky.

        When UISourceCode is replaced with another in ScriptsPanel, newly added
        UISourceCode could already have breakpoints. We should iterate over existing
        breakpoints and add them to sidebar pane.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):

2012-04-02  Eric Seidel  <eric@webkit.org>

        Teach RuleSet about modern memory management
        https://bugs.webkit.org/show_bug.cgi?id=82856

        Reviewed by Adam Barth.

        No change in behavior, thus no tests.

        * css/CSSStyleSelector.cpp:
        (WebCore::RuleSet::create):
        (RuleSet):
        (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::makeRuleSet):
        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
        (WebCore::loadFullDefaultStyle):
        (WebCore::loadSimpleDefaultStyle):
        (WebCore::loadViewSourceStyle):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-04-02  Kent Tamura  <tkent@chromium.org>

        Add a calendar picker indicator to date-type input fields
        https://bugs.webkit.org/show_bug.cgi?id=80478

        Reviewed by Hajime Morita.

        Add an indicator to date-type controls. The bahevior change is enclosed
        with ENABLE_CALENDAR_PICKER.

        - Remove spin buttons from date-type controls.
        It's not so helpful if we have a calendar picker. We introduce
        TextFieldInputType::shouldHaveSpinButton().

        - Add CalendarPickerElement.
        This is added into a shadow tree of a date-type control. It uses
        RenderDetailsMarker.

        We're going to add click handler and so on to CalendarPickerElement.

        Test: fast/forms/date/date-appearance.html

        * WebCore.gypi: Add CalendarPickerElement.{cpp,h}
        * css/html.css:
        (input::-webkit-calendar-picker-indicator):
        * html/DateInputType.cpp:
        (WebCore::DateInputType::createShadowSubtree): Insert CalendarPickerElement.
        (WebCore::DateInputType::needsContainer):
        Alwyas return true because we have an extra decoration element.
        (WebCore::DateInputType::shouldHaveSpinButton):
        Always return false to disable spin button.
        * html/DateInputType.h:
        (DateInputType): Add declarations.
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::shouldHaveSpinButton):
        (WebCore::TextFieldInputType::createShadowSubtree): Move some code to shouldHaveSpinButton().
        * html/TextFieldInputType.h:
        (TextFieldInputType): Add a declartion.
        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::CalendarPickerElement::CalendarPickerElement):
        (WebCore::CalendarPickerElement::create):
        (WebCore::CalendarPickerElement::createRenderer): Creates RenderDetailsMarker.
        * html/shadow/CalendarPickerElement.h: Added.
        * rendering/RenderDetailsMarker.cpp:
        (WebCore::RenderDetailsMarker::isOpen): Always show a down arrow if this is in <input>.
        * rendering/RenderDetailsMarker.h:

2012-04-02  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: make timeline overview a view
        https://bugs.webkit.org/show_bug.cgi?id=82861

        Reviewed by Yury Semikhatsky.

        - make TimelineOverviewPane a view;
        - only update it if it's visible or upon wasShown().

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.wasShown): forced update.
        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
        (WebInspector.TimelineOverviewPane.prototype._scheduleRefresh): skip refresh if not showing;
        * inspector/front-end/TimelinePanel.js: timelineOverviewPane.show() instead of appendChild();
        (WebInspector.TimelinePanel):

2012-04-02  Patrick Gansterer  <paroga@webkit.org>

        Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r112813.

        * svg/SVGAnimatedEnumeration.cpp:
        (WebCore::enumerationValueForTargetAttribute):

2012-04-02  Adam Barth  <abarth@webkit.org>

        [Chromium] Move another block of headers from WebKit/chromium/public/platform to Platform/chromium/public
        https://bugs.webkit.org/show_bug.cgi?id=82862

        Rubber-stamped by Eric Seidel.

        This is part of the change discussed in
        https://lists.webkit.org/pipermail/webkit-dev/2012-March/020166.html

        * WebCore.gypi:
        * platform/chromium/support/WebAudioBus.cpp: Copied from Source/WebKit/chromium/src/WebAudioBus.cpp.

2012-04-01  Adam Barth  <abarth@webkit.org>

        [Chromium] Move thread-related APIs from WebKit into Platform
        https://bugs.webkit.org/show_bug.cgi?id=82858

        Reviewed by Eric Seidel.

        This is part of the change discussed in
        https://lists.webkit.org/pipermail/webkit-dev/2012-March/020166.html

        * WebCore.gypi:
        * platform/chromium/support/WebThreadSafeData.cpp: Copied from Source/WebKit/chromium/src/WebThreadSafeData.cpp.

2012-03-29  Kent Tamura  <tkent@chromium.org>

        Fix some problems of text field decoration
        https://bugs.webkit.org/show_bug.cgi?id=82693

        Reviewed by Dimitri Glazkov.

        - Fix a problem that decorations are not removed when the input type is
        changed.
        - Add a comment to the 'willDetach' callback.

        No new tests because the behavior changes are not visible yet.

        * GNUMakefile.list.am: Add HTMLShadowElement.*.
        * html/InputType.cpp:
        (WebCore::InputType::destroyShadowSubtree):
        Remove all of ShadowRoot contents, and add a <shadow> element to each of
        them. We don't remove ShadowRoots from the tree because it's not
        supported well.
        * html/shadow/TextFieldDecorationElement.cpp:
        (getDecorationRootAndDecoratedRoot): A helper function for decorate().
        If the input element has a ShadowRoot with single <shadow> child, we
        don't create new ShadowRoot and reuse it.
        (WebCore::TextFieldDecorationElement::decorate):
        Use getDecorationRootAndDecoratedRoot().
        * html/shadow/TextFieldDecorationElement.h:
        (TextFieldDecorator): Add a comment to willDetach().

2012-04-01  Li Yin  <li.yin@intel.com>

        [WebSocket]Reserved bits test case should cover both extension and no-extension scenarios
        https://bugs.webkit.org/show_bug.cgi?id=82100

        Reviewed by Kent Tamura.

        When it had no negotiated deflate-frame extension, if browser received the frame with
        setting compressed bit, it should fail the connection, and it should cover both
        enabling ZLIB port and disabling ZLIB port.

        Test:  http/tests/websocket/tests/hybi/reserved-bits.html 

        * Modules/websockets/WebSocketDeflateFramer.cpp:
        (WebCore::WebSocketDeflateFramer::inflate):

2012-04-01  Adam Barth  <abarth@webkit.org>

        Clean up Document::canNavigate
        https://bugs.webkit.org/show_bug.cgi?id=82282

        Reviewed by Eric Seidel.

        This patch is just a minor clean up to Document::canNavigate. Eric
        asked me to clean up the function when I moved it from FrameLoader. I'm
        not sure this patch is much of a win, but at least the comments say
        things that are more sensible now.

        * dom/Document.cpp:
        (WebCore::printNavigationErrorMessage):
        (WebCore):
        (WebCore::Document::canNavigate):

2012-04-01  Jon Lee  <jonlee@apple.com>

        Rename notification properties and functions
        https://bugs.webkit.org/show_bug.cgi?id=80482
        <rdar://problem/10912432>

        Reviewed by Kentaro Hara.

        Change method name to close(), and set tag property on Notifications, based on discussions in WG:
        http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0024.html
        http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0013.html

        * notifications/Notification.cpp:
        (WebCore::Notification::~Notification): Use close().
        (WebCore::Notification::close):
        * notifications/Notification.h:
        (Notification):
        (WebCore::Notification::cancel): Wrap in ENABLE(LEGACY_NOTIFICATIONS), and use close().
        (WebCore::Notification::replaceId): Wrap in ENABLE(LEGACY_NOTIFICATIONS), and use tag().
        (WebCore::Notification::setReplaceId): Wrap in ENABLE(LEGACY_NOTIFICATIONS), and use setTag().
        (WebCore::Notification::tag):
        (WebCore::Notification::setTag):
        * notifications/Notification.idl: Preserve cancel() and replaceID in ENABLE(LEGACY_NOTIFICATIONS), and
        close() and tag in ENABLE(NOTIFICATIONS).

2012-04-01  Eric Seidel  <eric@webkit.org>

        Unreviewed, rolling out r112760.
        http://trac.webkit.org/changeset/112760
        https://bugs.webkit.org/show_bug.cgi?id=82795

        Revert addition of webkitseamless.  I'll do this work on
        GitHub instead to avoid any half-implemented feature concerns.

        * html/HTMLAttributeNames.in:
        * html/HTMLIFrameElement.idl:

2012-04-01  Timothy Hatcher  <timothy@apple.com>

        Fix a crash when closing a tab/window while the Web Inspector is stopped in the debugger.

        https://webkit.org/b/82846
        rdar://problem/8133494

        Reviewed by Yury Semikhatsky.

        * bindings/js/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::didPause): Added assert for page and early return. Also assert that
        m_pausedPage is null.
        (WebCore::PageScriptDebugServer::didContinue): Page can be null if we are continuing because the Page closed.
        So add a null check before using it. Added an assert that the page is null or m_pausedPage. 
        (WebCore::PageScriptDebugServer::didRemoveLastListener): Added assert for page.

2012-04-01  Tony Tseung  <tseung@apple.com>

        Composite Font References is a new established standard (ISO/IEC 14496-28:2012) for specifying
        composite fonts from existing physical fonts.
        <rdar://problem/10717370>
        https://bugs.webkit.org/show_bug.cgi?id=82810
        
        CoreText have already the features enabled, here we added this to WebKit text layout and rendering.
        A member function getCompositeFontReferenceFontData is added to the SimpleFontData class for the component font
        correspond to the platformData, in this case, a NSFont. This is used when CoreText layout had resulted
        a component of the Composite Font Reference and its corresponding SimpleFontData object is then cached
        in the SimpleFontData object of the posting font (Composite Font Reference).
        
        When glyphs are encoded to form the GlyphPage for rendering, the Composite Font Reference is handled throught
        the CoreText layout path (using CTLine), here the resulting glyph is associated with a font which could
        be not the original font request. In this case, these are the component fonts of the Composite Font
        Reference. This is then identified and then added to the GlyphPage appropriately.
        
        To support this feature, a member function isCompositeFontReference is added to FontPlatformData to
        indicate a font is a Composite Font Reference. Also in order to pass the component font correctly a boolean
        isPrinterFont is added to one the FontPlatformData constructors to describe the NSFont.

        Reviewed by Dan Bernstein.

        Added test LayoutTests/fast/text/international/text-spliced-font.html

        * WebCore.exp.in:
        Replaced obsolete FontPlatformData constructor entry.

        * platform/graphics/FontPlatformData.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        Copy of the additional m_isCompositeFontReference and m_isPrinterFont data members.
        
        (WebCore::FontPlatformData::operator=):
        Assignment of the additional m_isCompositeFontReference and m_isPrinterFont data members.
        
        * platform/graphics/FontPlatformData.h:
        (WebCore::FontPlatformData::FontPlatformData):
        (FontPlatformData):
        Default value of m_isCompositeFontReference and m_isPrinterFont data members are set to false in various constructors.
        
        (WebCore::FontPlatformData::isCompositeFontReference):
        Newly added for Composite Font Reference type font.

        (WebCore::FontPlatformData::isPrinterFont):
        Newly added for describing the NSFont parameter if is applicable.

        (WebCore::FontPlatformData::operator==):
        Comparison of the additional m_isCompositeFontReference and m_isPrinterFont data members.

        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
        Clean up the cache for component fonts of the Composite Font References.

        * platform/graphics/SimpleFontData.h:
        (SimpleFontData):
        Added member function const SimpleFontData* getCompositeFontReferenceFontData(NSFont *key) const.
        
        (DerivedFontData):
        Added CFDictionary for caching the component font of Composite Font Reference.

        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::FontPlatformData):
        Data members m_isCompositeFontReference and m_isPrinterFont are initialised and their values are determined in the body of the contructor.

        (WebCore::FontPlatformData::setFont):
        Data members m_isCompositeFontReference and m_isPrinterFont are determined and set.
        
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::createFontPlatformData):
        Boolean value isUsingPrinterFont is passed in the new FontPlatformData constructor.
        
        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
        (WebCore::shouldUseCoreText):
        Added the condition for Composite Font Reference type font.
        
        (WebCore::GlyphPage::fill):
        In the case of Composite Font Reference, when iterate the runs, component font of Composite Font
        Reference is used to fill the glyph index in the GlyphPage.
        
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
        Newly added method for the component fonts correspond to the platformData, in this case, a NSFont. 
        This SimpleFontData is created and cached in this object and will only be deleted when the destructor
        if this is called.
        
2012-04-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Support the Network Information API
        https://bugs.webkit.org/show_bug.cgi?id=73528

        Reviewed by Adam Barth.

        Network Information APIs is to provide an interface for Web Applications to access
        the underlying network information of device. In Web Application case, they need to know
        what current network interface it uses. Because, it is important to know current network
        information(bandwidth, metered) in mobile domain. Thus, Web Application can let user know
        whether current network information via this new functionality. In addition, in streaming
        service case, Web Application can control content resolution according to kind of network.

        http://dvcs.w3.org/hg/dap/raw-file/tip/network-api/index.html

        Tests: networkinformation/add-listener-from-callback.html
               networkinformation/basic-all-types-of-events.html
               networkinformation/basic-operation.html
               networkinformation/event-after-navigation.html
               networkinformation/multiple-frames.html
               networkinformation/updates.html
               networkinformation/window-property.html

        * CMakeLists.txt:
        * Modules/networkinfo/NavigatorNetworkInfoConnection.cpp: Added.
        (WebCore):
        (WebCore::NavigatorNetworkInfoConnection::NavigatorNetworkInfoConnection):
        (WebCore::NavigatorNetworkInfoConnection::~NavigatorNetworkInfoConnection):
        (WebCore::NavigatorNetworkInfoConnection::from):
        (WebCore::NavigatorNetworkInfoConnection::webkitConnection):
        * Modules/networkinfo/NavigatorNetworkInfoConnection.h: Added.
        (WebCore):
        (NavigatorNetworkInfoConnection):
        * Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Added.
        * Modules/networkinfo/NetworkInfo.cpp: Added.
        (WebCore):
        (WebCore::NetworkInfo::NetworkInfo):
        * Modules/networkinfo/NetworkInfo.h: Added.
        (WebCore):
        (NetworkInfo):
        (WebCore::NetworkInfo::create):
        (WebCore::NetworkInfo::bandwidth):
        (WebCore::NetworkInfo::metered):
        * Modules/networkinfo/NetworkInfoClient.h: Added.
        (WebCore):
        (NetworkInfoClient):
        (WebCore::NetworkInfoClient::~NetworkInfoClient):
        * Modules/networkinfo/NetworkInfoConnection.cpp: Added.
        (WebCore):
        (WebCore::NetworkInfoConnection::create):
        (WebCore::NetworkInfoConnection::NetworkInfoConnection):
        (WebCore::NetworkInfoConnection::~NetworkInfoConnection):
        (WebCore::NetworkInfoConnection::bandwidth):
        (WebCore::NetworkInfoConnection::metered):
        (WebCore::NetworkInfoConnection::didChangeNetworkInformation):
        (WebCore::NetworkInfoConnection::addEventListener):
        (WebCore::NetworkInfoConnection::removeEventListener):
        (WebCore::NetworkInfoConnection::eventTargetData):
        (WebCore::NetworkInfoConnection::ensureEventTargetData):
        (WebCore::NetworkInfoConnection::interfaceName):
        (WebCore::NetworkInfoConnection::suspend):
        (WebCore::NetworkInfoConnection::resume):
        (WebCore::NetworkInfoConnection::stop):
        * Modules/networkinfo/NetworkInfoConnection.h: Added.
        (WebCore):
        (NetworkInfoConnection):
        (WebCore::NetworkInfoConnection::scriptExecutionContext):
        (WebCore::NetworkInfoConnection::canSuspend):
        (WebCore::NetworkInfoConnection::refEventTarget):
        (WebCore::NetworkInfoConnection::derefEventTarget):
        * Modules/networkinfo/NetworkInfoConnection.idl: Added.
        * Modules/networkinfo/NetworkInfoController.cpp: Added.
        (WebCore):
        (WebCore::NetworkInfoController::NetworkInfoController):
        (WebCore::NetworkInfoController::~NetworkInfoController):
        (WebCore::NetworkInfoController::create):
        (WebCore::NetworkInfoController::addListener):
        (WebCore::NetworkInfoController::removeListener):
        (WebCore::NetworkInfoController::didChangeNetworkInformation):
        (WebCore::NetworkInfoController::isActive):
        (WebCore::NetworkInfoController::supplementName):
        (WebCore::provideNetworkInfoTo):
        * Modules/networkinfo/NetworkInfoController.h: Added.
        (WebCore):
        (NetworkInfoController):
        (WebCore::NetworkInfoController::client):
        (WebCore::NetworkInfoController::from):
        * dom/EventNames.h:
        (WebCore):
        * dom/EventTargetFactory.in:
        * testing/Internals.cpp:
        (WebCore::Internals::setNetworkInformation):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-04-01  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Use GraphicsContext::fillPath() and strokePath instead of drawPath() in RenderThemeBlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=81486

        Reviewed by Rob Buis.

        RenderThemeBlackBerry was using GraphicsContext::drawPath() that's added for BlackBerry internally.
        But we already have fillPath() and strokePath() in GraphicsContext. So just substitute drawPath()
        by them. Also fix a build issue by adding a #include line.

        No functionalities changed, no new tests.

        * platform/blackberry/RenderThemeBlackBerry.cpp:
        (WebCore::RenderThemeBlackBerry::paintTextFieldOrTextAreaOrSearchField):
        (WebCore::RenderThemeBlackBerry::paintButton):

2012-04-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGAnimatedEnumeration
        https://bugs.webkit.org/show_bug.cgi?id=82459

        Reviewed by Dirk Schulze.

        Enable animVal support for the last missing SVG DOM primitive: SVGAnimatedEnumeration.
        It's a bit more involved than the others as we have to differentiate between the various
        enumerations to use the correct SVGPropertyTraits<MyEnum>::fromString() code-path.

        One SVGAnimatedEnumeration property in the SVG DOM is special: SVGAnimatedEnumeration orientType
        from SVGMarkerElement. SVGMarkerElement exposes both the orientType and SVGAnimatedAngle orientAngle
        SVG DOM properties and both get mapped to the same SVGNames::orientAttr ("orient" XML attribute).
        That means that any animation of the orientAttr has to update both orientType & orientAngle.

        This is a not a new requirement, we already support attributes like 'stdDeviation' from
        SVGFEGaussianBlurElement, which get mapped to multiple SVG DOM objects: SVGAnimatedInteger stdDeviationX/Y.
        The difference is that <integer-optional-integer> or <number-optional-number> animations use the
        same type in the pair<xxx, xxx> (eg. both int, or both float). The 'orient' attribute needs to be
        mapped to pair<xxx, yyy> types. Generalize the templates in SVGAnimatedTypeAnimator to support that.

        Example:
        <marker id="someMarkerElement" orient="45deg"/>
        <animate fill="remove" begin="1s" dur="2s" from="90deg" to="auto" attributeName="orient" xlink:href="#someMarkerElement"/>

        at 0s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.animVal.value = 45

               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.baseVal.value = 45

        at 1s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.animVal.value = 90

               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.baseVal.value = 45

        at 2s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO
               someMarkerElement.orientAngle.animVal.value = 0

               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.baseVal.value = 45

         > 3s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.animVal.value = 45

               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
               someMarkerElement.orientAngle.baseVal.value = 45

        We need to map the 'orient' attribute to a pair<SVGAngle, unsigned short> type, in order
        to track both orientAngle & orientType at the same type. Fortunately SVGAnimatedAngle
        is only used in the SVG DOM for SVGMarkerElements orientAngle property. We can directly
        switch SVGAnimatedAngleAnimator to the new pair<SVGAngle, unsigned short> type instead
        of having to introduce a special SVGAnimatedAngleAndEnumerationAnimator.

        Added tests for all SVGAnimatedEnumeration properties in the SVG DOM, including an extensive set of tests
        for the synchronization of the orientType / orientAngle properties, when they get animated.

        Tests: svg/animations/animate-marker-orient-from-angle-to-angle.html
               svg/animations/animate-marker-orient-from-angle-to-auto.html
               svg/animations/animate-marker-orient-to-angle.html
               svg/animations/svgenum-animation-1.html
               svg/animations/svgenum-animation-10.html
               svg/animations/svgenum-animation-11.html
               svg/animations/svgenum-animation-12.html
               svg/animations/svgenum-animation-13.html
               svg/animations/svgenum-animation-2.html
               svg/animations/svgenum-animation-3.html
               svg/animations/svgenum-animation-4.html
               svg/animations/svgenum-animation-5.html
               svg/animations/svgenum-animation-6.html
               svg/animations/svgenum-animation-7.html
               svg/animations/svgenum-animation-8.html
               svg/animations/svgenum-animation-9.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/SVGAllInOne.cpp:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::propertyTypesAreConsistent):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        * svg/SVGAnimatedAngle.cpp:
        (WebCore::SVGAnimatedAngleAnimator::constructFromString):
        (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
        (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
        (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedAngle.h:
        (WebCore):
        * svg/SVGAnimatedBoolean.cpp:
        (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedEnumeration.cpp: Added.
        (WebCore):
        (WebCore::enumerationValueForTargetAttribute):
        (WebCore::SVGAnimatedEnumerationAnimator::SVGAnimatedEnumerationAnimator):
        (WebCore::SVGAnimatedEnumerationAnimator::constructFromString):
        (WebCore::SVGAnimatedEnumerationAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedEnumerationAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedEnumerationAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedEnumerationAnimator::animValWillChange):
        (WebCore::SVGAnimatedEnumerationAnimator::animValDidChange):
        (WebCore::SVGAnimatedEnumerationAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedEnumerationAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedEnumerationAnimator::calculateDistance):
        * svg/SVGAnimatedEnumeration.h:
        (SVGAnimatedEnumerationAnimator):
        (WebCore::SVGAnimatedEnumerationAnimator::~SVGAnimatedEnumerationAnimator):
        (WebCore):
        * svg/SVGAnimatedInteger.cpp:
        (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
        * svg/SVGAnimatedPreserveAspectRatio.cpp:
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedRect.cpp:
        (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedString.cpp:
        (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createAngleAndEnumeration):
        (WebCore::SVGAnimatedType::createEnumeration):
        (WebCore):
        (WebCore::SVGAnimatedType::angleAndEnumeration):
        (WebCore::SVGAnimatedType::enumeration):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        (WebCore::SVGAnimatedType::supportsAnimVal):
        * svg/SVGAnimatedType.h:
        (SVGAnimatedType):
        * svg/SVGAnimatedTypeAnimator.h:
        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
        (SVGAnimatedTypeAnimator):
        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForTypes):
        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForTypes):
        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForTypes):
        (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
        (WebCore::SVGAnimatedTypeAnimator::executeAction):
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGMarkerElement.cpp:
        (WebCore):
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (SVGAnimatedListPropertyTearOff):
        * svg/properties/SVGAnimatedPropertyTearOff.h:
        (SVGAnimatedPropertyTearOff):
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
        (SVGAnimatedStaticPropertyTearOff):

2012-04-01  Hao Zheng  <zhenghao@chromium.org>

        [chromium] Do not generate custom signature for static methods.
        https://bugs.webkit.org/show_bug.cgi?id=79222

        Reviewed by Kentaro Hara.

        No new tests. Covered by existing tests when MEDIA_STREAM is disabled.

        * bindings/scripts/CodeGeneratorV8.pm:
        (RequiresCustomSignature):

2012-03-31  Steve Falkenburg  <sfalken@apple.com>

        Windows build fix.

        * WebCore.vcproj/WebCore.make:

2012-03-31  Philip Rogers  <pdr@google.com>

        Fix complex strokes on CG platform
        https://bugs.webkit.org/show_bug.cgi?id=80423

        Reviewed by Eric Seidel.

        This change fixes a mistake in r112667 where the CG platform did not properly handle
        complex strokes. The mistake was to check for complex fills instead of complex strokes,
        which resulted in all complex strokes rendering as black.

        No new tests, this change is covered by the following existing tests that were regressed:
        1) svg/custom/gradient-stroke-width.svg
        2) svg/custom/transform-with-shadow-and-gradient.svg

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformStrokeEllipse):

2012-03-31  Jochen Eisinger  <jochen@chromium.org>

        Don't insert linebreaks into text input fields.
        https://bugs.webkit.org/show_bug.cgi?id=81660

        Reviewed by Ryosuke Niwa.

        Test: fast/forms/textfield-no-linebreak.html

        * editing/TypingCommand.cpp:
        (canAppendNewLineFeed): Only assume that a linefeed can be appended, if
        after the BeforeTextInserted event the event text is still a newline.

2012-03-31  Nikolas Zimmermann  <nzimmermann@rim.com>

        LayoutTests: [r112391] Pixel test failure of svg/custom/preserve-aspect-ratio-syntax.svg
        https://bugs.webkit.org/show_bug.cgi?id=82469

        Fix regression from r112391. The test excerising this code path is skipped on Lion, due to a libxml2 bug.
        I didn't notice I broke preserveAspectRatio parsing for many corner cases, revert to old logic.

        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::parse):

2012-03-31  Antti Koivisto  <antti@apple.com>

        CSSStyleRules should own their CSSStyleDeclarations 
        https://bugs.webkit.org/show_bug.cgi?id=82832

        Reviewed by Andreas Kling.

        Move the rule properties CSSOM wrapper ownership from the StylePropertySet to the rule itself.
        This is preparation for bug 82728 (Split remaining CSSRules into internal and CSSOM types). This
        temporarily grows the size of CSSStyleRule by a pointer (82728 will give the memory back and more)

        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
        (WebCore):
        (WebCore::CSSFontFaceRule::style):
        * css/CSSFontFaceRule.h:
        (WebCore):
        (CSSFontFaceRule):
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::~CSSPageRule):
        (WebCore):
        (WebCore::CSSPageRule::style):
        * css/CSSPageRule.h:
        (WebCore):
        (CSSPageRule):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::~CSSStyleRule):
        (WebCore::CSSStyleRule::style):
        * css/CSSStyleRule.h:
        (WebCore):
        (CSSStyleRule):
        
            Make the rules own the property CSSOM wrapper.
        
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::StyleRuleCSSStyleDeclaration::ref):
        (WebCore):
        (WebCore::StyleRuleCSSStyleDeclaration::deref):
        (WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
        (WebCore::StyleRuleCSSStyleDeclaration::contextStyleSheet):
        (WebCore::InlineCSSStyleDeclaration::ref):
        (WebCore::InlineCSSStyleDeclaration::deref):
        * css/PropertySetCSSStyleDeclaration.h:
        (WebCore::PropertySetCSSStyleDeclaration::parentElement):
        (PropertySetCSSStyleDeclaration):
        (WebCore::StyleRuleCSSStyleDeclaration::create):
        (StyleRuleCSSStyleDeclaration):
        (WebCore::StyleRuleCSSStyleDeclaration::clearParentRule):
        (WebCore::StyleRuleCSSStyleDeclaration::StyleRuleCSSStyleDeclaration):
        (WebCore::StyleRuleCSSStyleDeclaration::parentRule):
        
            - Rename RuleCSSStyleDeclaration -> StyleRuleCSSStyleDeclaration
            - Make StyleRuleCSSStyleDeclaration use regular refcounting since
              it is no longer owned by the wrapped object.
            - Rename hasCSSOMWrapper() -> isMutable(), m_hasCSSOMWrapper -> m_ownsCSSOMWrapper
              to match the purpose.
        
        (InlineCSSStyleDeclaration):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::StylePropertySet):
        (WebCore::StylePropertySet::~StylePropertySet):
        (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
        (WebCore):
        (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
        (WebCore::StylePropertySet::clearParentElement):
        * css/StylePropertySet.h:
        (StylePropertySet):
        (WebCore::StylePropertySet::isMutable):
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::ensureMutableInlineStyle):
        (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):

2012-03-31  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
        https://bugs.webkit.org/show_bug.cgi?id=80135

        Reviewed by Rob Buis.

        RIM PR: 145660
        Fixed a regression introduced by r111810, we should cancel the new
        request when user press cancel button in http authentication challenge
        dialog, and we should also allow sending empty username and password
        with the request.
        Also removed redundant codes which checked the existence of the
        FrameLoaderClient pointer, as we've already moved authenticationChallenge()
        out of class FrameLoaderClient, it is not needed.

        Manual test added. Testing http authentication dialog relies on user interaction.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::sendRequestWithCredentials):

2012-03-31  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Upstream BlackBerry change to PlatformTouchEvent and PlatformTouchPoint
        https://bugs.webkit.org/show_bug.cgi?id=82828

        Reviewed by Rob Buis.

        No new tests, just upstream BlackBerry-specific change to
        PlatformTouchEvent and PlatformTouchPoint, to make it build
        for BlackBerry.

        * platform/PlatformTouchEvent.h:
        (Platform):
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        (PlatformTouchEvent):
        (WebCore::PlatformTouchEvent::rotation):
        (WebCore::PlatformTouchEvent::scale):
        (WebCore::PlatformTouchEvent::doubleTap):
        (WebCore::PlatformTouchEvent::touchHold):
        * platform/PlatformTouchPoint.h:
        (Platform):
        (PlatformTouchPoint):
        * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):

2012-03-31  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Refactor : NetworkJob::handleNotifyHeaderReceived.
        https://bugs.webkit.org/show_bug.cgi?id=82825

        We should use "else if" to decrease string's compare.

        Reviewed by Rob Buis.

        No new tests. Refactor.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleNotifyHeaderReceived):

2012-03-31  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Upstream local change of PlatformKeyboardEventBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=82721

        Reviewed by Rob Buis.

        No new tests, just upstreaming the local change to make the upstreaming
        build for BlackBerry.

        * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2012-03-31  Abhishek Arya  <inferno@chromium.org>

        Crash in HTMLFieldSetElement::disabledAttributeChanged.
        https://bugs.webkit.org/show_bug.cgi?id=82814

        Reviewed by Kent Tamura.

        Test: fast/forms/fieldset/fieldset-crash.html

        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::disabledAttributeChanged):

2012-03-29  Adam Barth  <abarth@webkit.org>

        [Chromium] Delete WebKit/chromium/bridge
        https://bugs.webkit.org/show_bug.cgi?id=82677

        Reviewed by James Robinson.

        These files are just moved from the WebKit layer with their include
        directives adjusted.

        * WebCore.gypi:
        * platform/chromium/support/WebICECandidateDescriptor.cpp: Copied from Source/WebKit/chromium/src/WebICECandidateDescriptor.cpp.
        * platform/chromium/support/WebICEOptions.cpp: Copied from Source/WebKit/chromium/src/WebICEOptions.cpp.
        * platform/chromium/support/WebMediaHints.cpp: Copied from Source/WebKit/chromium/src/WebMediaHints.cpp.
        * platform/chromium/support/WebMediaStreamComponent.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamComponent.cpp.
        * platform/chromium/support/WebMediaStreamDescriptor.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp.
        * platform/chromium/support/WebMediaStreamSource.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamSource.cpp.
        * platform/chromium/support/WebMediaStreamSourcesRequest.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamSourcesRequest.cpp.
        * platform/mediastream/chromium/DeprecatedPeerConnectionHandler.cpp: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandler.cpp.
        * platform/mediastream/chromium/DeprecatedPeerConnectionHandlerInternal.cpp: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandlerInternal.cpp.
        (WebCore::DeprecatedPeerConnectionHandlerInternal::DeprecatedPeerConnectionHandlerInternal):
        * platform/mediastream/chromium/DeprecatedPeerConnectionHandlerInternal.h: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandlerInternal.h.
        * platform/mediastream/chromium/MediaStreamCenterChromium.cpp: Copied from Source/WebKit/chromium/bridge/MediaStreamCenter.cpp.
        * platform/mediastream/chromium/MediaStreamCenterInternal.cpp: Copied from Source/WebKit/chromium/bridge/MediaStreamCenterInternal.cpp.
        (WebCore::MediaStreamCenterInternal::MediaStreamCenterInternal):
        * platform/mediastream/chromium/MediaStreamCenterInternal.h: Copied from Source/WebKit/chromium/bridge/MediaStreamCenterInternal.h.
        * platform/mediastream/chromium/PeerConnection00Handler.cpp: Copied from Source/WebKit/chromium/bridge/PeerConnection00Handler.cpp.
        * platform/mediastream/chromium/PeerConnection00HandlerInternal.cpp: Copied from Source/WebKit/chromium/bridge/PeerConnection00HandlerInternal.cpp.
        (WebCore::PeerConnection00HandlerInternal::PeerConnection00HandlerInternal):
        * platform/mediastream/chromium/PeerConnection00HandlerInternal.h: Copied from Source/WebKit/chromium/bridge/PeerConnection00HandlerInternal.h.

2012-03-30  Adam Barth  <abarth@webkit.org>

        [Chromium] Move ResourceHandle to WebCore/platform/network/chromium
        https://bugs.webkit.org/show_bug.cgi?id=82657

        Reviewed by James Robinson.

        We finally arive at our destination. This patch actually moves
        WebCore::ResourceHandle from Source/WebKit/chromium/src to
        Source/WebCore/network/chromium, matching its location in other ports.
        To make this happen, we also need to move WrappedResourceRequest and
        WrappedResourceResponse.

        This patch is the last patch from
        https://github.com/abarth/webkit/compare/master...webcore-platform

        * WebCore.gypi:
        * platform/chromium/support/WrappedResourceRequest.h: Copied from Source/WebCore/platform/chromium/support/WrappedResourceRequest.h.
        * platform/chromium/support/WrappedResourceResponse.h: Copied from Source/WebCore/platform/chromium/support/WrappedResourceResponse.h.
        * platform/network/chromium/ResourceHandle.cpp: Copied from Source/WebCore/platform/network/chromium/ResourceHandle.cpp.
        * platform/network/chromium/ResourceHandleInternal.h: Copied from Source/WebCore/platform/network/chromium/ResourceHandleInternal.h.

2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>

        Add a compile assert for the size of RenderText
        https://bugs.webkit.org/show_bug.cgi?id=82780

        Reviewed by Dirk Pranke.

        Added an assertion. Also moved m_maxWidth, m_beginMinWidth, and m_endMinWidth
        to right beneath m_minWidth so that gcc on GTK+ can pack floats properly.

        * rendering/RenderText.cpp:
        (SameSizeAsRenderText):
        (WebCore):
        * rendering/RenderText.h:
        (RenderText):

2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>

        Add a compile assert for the size of ScrollableArea
        https://bugs.webkit.org/show_bug.cgi?id=82822

        Reviewed by Dirk Pranke.

        Added the assertion. Also made m_scrollOriginChanged a bitfield so that it can be packed nicely.

        * platform/ScrollableArea.cpp:
        (SameSizeAsScrollableArea):
        (WebCore):
        * platform/ScrollableArea.h:
        (ScrollableArea):

2012-03-30  Dan Bernstein  <mitz@apple.com>

        Reverted r112767, because it caused many vertical text tests to fail.

        * WebCore.exp.in:
        * platform/graphics/FontPlatformData.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        * platform/graphics/FontPlatformData.h:
        (WebCore::FontPlatformData::FontPlatformData):
        (FontPlatformData):
        (WebCore::FontPlatformData::isColorBitmapFont):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::operator==):
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
        * platform/graphics/SimpleFontData.h:
        (SimpleFontData):
        (DerivedFontData):
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::setFont):
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
        (WebCore::shouldUseCoreText):
        (WebCore::GlyphPage::fill):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore):

2012-03-30  Dan Bernstein  <mitz@apple.com>

        Tried to fix the Chromium Mac build after r112767.

        * platform/graphics/SimpleFontData.h:
        (SimpleFontData):
        (DerivedFontData):

2012-03-30  Dirk Schulze  <krit@webkit.org>

        Colors seem to be parsed using HTML quirks in SVG attributes
        https://bugs.webkit.org/show_bug.cgi?id=46112

        Reviewed by Eric Seidel.
        
        Finally move to SVGAttributeMode on parsing SVG presentation attributes. SVG attributes are
        mainly parsed in the strict mode, which affects strict parsing of colors and no spaces between
        values and units. Unit less values are still allowed.

        Tests: svg/css/svg-attribute-length-parsing.html
               svg/css/svg-attribute-parser-mode.html

        * css/CSSGrammar.y: No quirks mode for SVG.
        * css/CSSParser.h:
        (WebCore::CSSParser::inStrictMode): SVGAttributeMode also implies strict parsing.
        (WebCore::CSSParser::inQuirksMode): Remove SVGAttributeMode from quirks mode.
        * css/CSSParserMode.h:
        (isStrictParserMode): Ditto.
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateAttributeStyle):
        * svg/SVGElementRareData.h:
        (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
        * svg/SVGStyledElement.cpp: Switch to SVGAttributeMode if we parse a SVG presentation attribute.
        (WebCore::SVGStyledElement::getPresentationAttribute):

2012-03-30  Tony Tseung  <tseung@apple.com>

        Composite Font References is a new established standard (ISO/IEC 14496-28:2012) for specifying
        composite fonts from existing physical fonts.
        <rdar://problem/10717370>
        https://bugs.webkit.org/show_bug.cgi?id=82810
        
        CoreText have already the features enabled, here we added this to WebKit text layout and rendering.
        A member function getCompositeFontReferenceFontData is added to the SimpleFontData class for the component font
        correspond to the platformData, in this case, a NSFont. This is used when CoreText layout had resulted
        a component of the Composite Font Reference and its corresponding SimpleFontData object is then cached
        in the SimpleFontData object of the posting font (Composite Font Reference).
        
        When glyphs are encoded to form the GlyphPage for rendering, the Composite Font Reference is handled throught
        the CoreText layout path (using CTLine), here the resulting glyph is associated with a font which could
        be not the original font request. In this case, these are the component fonts of the Composite Font
        Reference. This is then identified and then added to the GlyphPage appropriately.
        
        To support this feature, a member function isCompositeFontReference is added to FontPlatformData to
        indicate a font is a Composite Font Reference. Also in order to pass the component font correctly a boolean
        isPrinterFont is added to one the FontPlatformData constructors to describe the NSFont.

        Reviewed by Dan Bernstein.

        Added test LayoutTests/fast/text/international/text-spliced-font.html

        * WebCore.exp.in:
        Replaced obsolete FontPlatformData constructor entry.

        * platform/graphics/FontPlatformData.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        Copy of the additional m_isCompositeFontReference and m_isPrinterFont data members.
        
        (WebCore::FontPlatformData::operator=):
        Assignment of the additional m_isCompositeFontReference and m_isPrinterFont data members.
        
        * platform/graphics/FontPlatformData.h:
        (WebCore::FontPlatformData::FontPlatformData):
        (FontPlatformData):
        Default value of m_isCompositeFontReference and m_isPrinterFont data members are set to false in various constructors.
        
        (WebCore::FontPlatformData::isCompositeFontReference):
        Newly added for Composite Font Reference type font.

        (WebCore::FontPlatformData::isPrinterFont):
        Newly added for describing the NSFont parameter if is applicable.

        (WebCore::FontPlatformData::operator==):
        Comparison of the additional m_isCompositeFontReference and m_isPrinterFont data members.

        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
        Clean up the cache for component fonts of the Composite Font References.

        * platform/graphics/SimpleFontData.h:
        (SimpleFontData):
        Added member function const SimpleFontData* getCompositeFontReferenceFontData(NSFont *key) const.
        
        (DerivedFontData):
        Added CFDictionary for caching the component font of Composite Font Reference.

        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::FontPlatformData):
        Data members m_isCompositeFontReference and m_isPrinterFont are initialised and their values are determined in the body of the contructor.

        (WebCore::FontPlatformData::setFont):
        Data members m_isCompositeFontReference and m_isPrinterFont are determined and set.
        
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::createFontPlatformData):
        Boolean value isUsingPrinterFont is passed in the new FontPlatformData constructor.
        
        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
        (WebCore::shouldUseCoreText):
        Added the condition for Composite Font Reference type font.
        
        (WebCore::GlyphPage::fill):
        In the case of Composite Font Reference, when iterate the runs, component font of Composite Font
        Reference is used to fill the glyph index in the GlyphPage.
        
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
        Newly added method for the component fonts correspond to the platformData, in this case, a NSFont. 
        This SimpleFontData is created and cached in this object and will only be deleted when the destructor
        if this is called.
        
2012-03-30  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Use KURL::protocolIsInHTTPFamily() instead KURL::protocolInHTTPFamily()
        https://bugs.webkit.org/show_bug.cgi?id=82707

        Reviewed by Rob Buis.

        No new tests, just BlackBerry build fix.

        * platform/network/blackberry/NetworkManager.cpp:
        (WebCore::NetworkManager::startJob):

2012-03-30  Eric Seidel  <eric@webkit.org>
        styleForElement() should use enums instead of bools so we can all understand what it's doing
        https://bugs.webkit.org/show_bug.cgi?id=82807

        Reviewed by Adam Barth.

        No change in behavior, thus no tests.

        Mostly this is just replacing true/false with the correct new enum value
        or removing true/false from the callsites when they would have been default anyway.
        I think this makes the code *way* more clear.

        The old code was extra confusing because the defaults were "true, false". :)
        The new defaults are AllowStyleSharing, MatchAllRules.
        It's very uncommon for callers to want to override either of these behaviors.
        I think most callers which specify DisallowStyleSharing likely don't actually need to
        (our style-sharing code should be smart enough to only share when safe anyway).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
         - Use enums and remove bogus comment (m_rootDefaultStyle is a RefPtr!)
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        * css/MediaQueryMatcher.cpp:
        (WebCore::MediaQueryMatcher::prepareEvaluator):
        * css/StyleMedia.cpp:
        (WebCore::StyleMedia::matchMedium):
        * dom/Element.cpp:
        (WebCore::Element::styleForRenderer):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::getUncachedPseudoStyle):
         - Updated to use enums
         - Also fixed this to use toElement and modern early-return styles.
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::computeStyleInRegion):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::customStyleForRenderer):

2012-03-30  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Headers with no content shouldn't be dropped by platform's request.
        https://bugs.webkit.org/show_bug.cgi?id=82691

        Reviewed by Rob Buis.

        Test : http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html

        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::initializePlatformRequest):

2012-03-30  Eric Seidel  <eric@webkit.org>

        Add tests for iframe seamless and support for parsing webkitseamless attribute
        https://bugs.webkit.org/show_bug.cgi?id=82795

        Reviewed by Adam Barth.

        This just adds support for parsing/reflecting the "webkitseamess" attribute.
        I'll add the actual CSS, navigation, security, and layout changes in
        separate follow-up patches.

        Tests: fast/frames/seamless/seamless-basic.html
               fast/frames/seamless/seamless-css-cascade.html
               fast/frames/seamless/seamless-nested.html
               fast/frames/seamless/seamless-sandbox-flag.html

        * html/HTMLAttributeNames.in:
        * html/HTMLIFrameElement.idl:

2012-03-30  Emil A Eklund  <eae@chromium.org>

        Change WebKit/WebKit2 platform code to use pixel snapped values
        https://bugs.webkit.org/show_bug.cgi?id=82549

        Reviewed by Eric Seidel.

        Change WebKit and WebKit2 platform code to use rounded locations and
        pixel snapped rects and sizes. This largely avoids having to expose the
        fractional layout types to the platform code.

        No new tests. No change in functionality.

        * dom/Node.h:
        (WebCore::Node::pixelSnappedRenderRect):
        Add pixel snapped version of renderRect
        
        * rendering/RenderBox.h:
        (WebCore::RenderBox::pixelSnappedFrameRect):
        Add pixel snapped version of frameRect

2012-03-30  Simon Fraser  <simon.fraser@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=82761
        
        Try to narrow down the cause of this assertion by adding
        an assertion about m_frame.
        
        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):

2012-03-30  Emil A Eklund  <eae@chromium.org>

        Fix return type for virtual borderBoundingBox method
        https://bugs.webkit.org/show_bug.cgi?id=82561

        Reviewed by Eric Seidel.

        No new tests, no change in functionality.

        * editing/DeleteButtonController.cpp:
        (WebCore::isDeletableElement):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::borderBoxRect):
        Rename pixelSnappedBorderBoxRect to borderBoxRect and remove LayoutRect
        version of same as we always want to use the pixel snapped version to
        ensure proper rounding and alignment to device pixels.
        (The way this rect is pixel snapped, using the m_frameRect location,
        makes it hard for calling code to take the subpixel rect and correctly
        snap it).

        (WebCore::RenderBox::borderBoundingBox):
        * rendering/RenderBoxModelObject.h:
        Change pure virtual definition of borderBoundingBox to return an IntRect
        to match implementation in RenderBox.
        
        (RenderBoxModelObject):
        * rendering/RenderInline.h:
        (WebCore::RenderInline::borderBoundingBox):
        Change overloaded method to IntRect to match RenderBox implementation.

2012-03-30  Bear Travis  <betravis@adobe.com>

        shape-inside and shape-outside are not in the list of computed style properties
        https://bugs.webkit.org/show_bug.cgi?id=82667

        Reviewed by Ryosuke Niwa.

        Adding prefixed shape-inside and shape-outside to the list of computed style properties.
        Added properties to existing tests for computed style results

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore): added -webkit-shape-inside and -webkit-shape-outside to computedProperties

2012-03-30  Adam Barth  <abarth@webkit.org>

        https://bugs.webkit.org/show_bug.cgi?id=82582
        Move CPP files related to ResourceHandle to WebCore/platform

        Reviewed by James Robinson.

        This patch moves a number of files that implement parts of the platform
        portion of the Chromium WebKit API from the WebKit layer to
        WebCore/platform. These files are in the dependency cone of
        ResourceHandle and have no dependencies on anything outside
        WebCore/platform.

        * WebCore.gypi:
        * platform/chromium/support/WebHTTPBody.cpp: Copied from Source/WebKit/chromium/src/WebHTTPBody.cpp.
        * platform/chromium/support/WebHTTPLoadInfo.cpp: Copied from Source/WebKit/chromium/src/WebHTTPLoadInfo.cpp.
        * platform/chromium/support/WebURL.cpp: Copied from Source/WebKit/chromium/src/WebURL.cpp.
        * platform/chromium/support/WebURLError.cpp: Copied from Source/WebKit/chromium/src/WebURLError.cpp.
        * platform/chromium/support/WebURLRequest.cpp: Copied from Source/WebKit/chromium/src/WebURLRequest.cpp.
        * platform/chromium/support/WebURLRequestPrivate.h: Copied from Source/WebKit/chromium/src/WebURLRequestPrivate.h.
        * platform/chromium/support/WebURLResponse.cpp: Copied from Source/WebKit/chromium/src/WebURLResponse.cpp.
        * platform/chromium/support/WebURLResponsePrivate.h: Copied from Source/WebKit/chromium/src/WebURLResponsePrivate.h.

2012-03-30  Emil A Eklund  <eae@chromium.org>

        Fix usage of LayoutUnits in table code.
        https://bugs.webkit.org/show_bug.cgi?id=82765

        Reviewed by Eric Seidel.

        Clean up usage of ints and LayoutUnits in table code in preparation for
        turning on subpixel layout.

        No new tests, no change in functionality.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
        Cast maxWidth to int as all table layout is done on int bounds.
        
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
        Change borders to LayoutUnit as paddings can have subpixel precision.
        
        * rendering/RenderTable.h:
        (WebCore::RenderTable::getColumnPos):
        (WebCore::RenderTable::columnPositions):
        Change getColumnPos and columnPositions to ints as the values are always
        on pixel bounds.
        
        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::styleOrColLogicalWidth):
        Remove unnecessary cast.
        
        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
        Use LayoutPoint instead of left/top.
        
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderTableSection.h:
        Change baseline and baselineDescent to int to avoid unnecessary type
        conversion.

2012-03-30  Joe Thomas  <joethomas@motorola.com>

        Spec renamed Viewport-relative lengths to Viewport-percentage lengths
        https://bugs.webkit.org/show_bug.cgi?id=82773

        Reviewed by Antti Koivisto.

        As per the latest version of CSS Values and Units Module Level 3 specification released on 29 March 2012
        (http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths) Viewport-relative lengths is renamed to Viewport-percentage lengths.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::getPositionOffsetValue):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::unitCategory):
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
        (WebCore::CSSPrimitiveValue::viewportPercentageLength):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::isViewportPercentageLength):
        (CSSPrimitiveValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::convertToLength):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        (WebCore::ApplyPropertyFontSize::applyValue):
        (WebCore::ApplyPropertyLineHeight::applyValue):
        (WebCore::ApplyPropertyVerticalAlign::applyValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/LengthFunctions.cpp:
        (WebCore::minimumValueForLength):
        (WebCore::valueForLength):
        (WebCore::floatValueForLength):
        * platform/Length.h:
        (WebCore::Length::isViewportPercentage):
        (WebCore::Length::viewportPercentageLength):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::textIndentOffset):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeContentLogicalHeightUsing):
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paddingTop):
        (WebCore::RenderBoxModelObject::paddingBottom):
        (WebCore::RenderBoxModelObject::paddingLeft):
        (WebCore::RenderBoxModelObject::paddingRight):
        (WebCore::RenderBoxModelObject::paddingBefore):
        (WebCore::RenderBoxModelObject::paddingAfter):
        (WebCore::RenderBoxModelObject::paddingStart):
        (WebCore::RenderBoxModelObject::paddingEnd):
        (WebCore::RenderBoxModelObject::calculateFillTileSize):
        * rendering/RenderInline.cpp:
        (WebCore::computeMargin):
        * rendering/style/RenderStyle.h:

2012-03-30  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Filters] Drop Shadow is not repainting correctly when repaint area is smaller than the filtered element
        https://bugs.webkit.org/show_bug.cgi?id=80323

        Reviewed by Dean Jackson.
        
        The problem is that shadow and blur (and custom filters - although not treated in this patch) need the full source image of
        the surface that needs to be filtered. Until now the filter was computed only using the area defined by the dirty repaint rectangle.
        Those filters need full image source because they displace pixel positions, meaning that pixels in the current dirty rectangle
        have a dependency on pixels from the RenderLayer outside the dirty rect. See the bug pictures for an example of how that could go wrong.
        
        The fix is to always keep a copy of the RenderLayer representation in memory. When repaint is needed we still invalidate
        only the parts that changed, but the filter is computed using the full source image and not only the dirty rectangle.
        
        In order to make that work, we needed the full repaint rectangle of the current RenderLayer and not just the clipped version that
        we get through the ::paint methods. Also, because filters sometime need to repaint more than just the dirty area (because of the 
        outsets of the filters - ie blur, drop-shadow), it makes it easier to just capture all the repaints in the RenderLayer itself in a
        similar way WebKit does now for composited layers. As a result the repaint container can also be a filtered layer (not just composited ones), so 
        that we can catch all the filter repaints in one place in the RenderLayer. Also with this change I removed the need to add visual overflow to 
        the RenderBox and also there's no need to patch the repaintUsingContainer. By the way, repaintUsingContainer did not always work because of the 
        LayoutState optimizations, so repaints during layout would fail (I know that that could be fixed by disabling the LayoutState for filtered areas).
        
        Also part of this patch I extracted a function from RenderLayerCompositor::calculateCompositedBounds, so that we can also use it from RenderLayer.
        I called it RenderLayer::calculateLayerBounds and there should be no change in functionality. It now also includes the outsets of the filter. I've
        added a different bug to avoid adding the outsets when the filter is computed in hardware. That's because some platforms do not support that yet:
        https://bugs.webkit.org/show_bug.cgi?id=81239 
        
        Also the visual overflow doesn't include the child RenderLayers, meaning that the outsets would have been applied to the border and not to the bounding box
        of the RenderLayer. The end result was that some child RenderLayers could be clipped out of the filtered area.
        
        Tests: css3/filters/filter-repaint-blur.html
               css3/filters/filter-repaint-child-layers.html
               css3/filters/filter-repaint-composited-fallback-crash.html
               css3/filters/filter-repaint-composited-fallback.html
               css3/filters/filter-repaint-sepia.html
               css3/filters/filter-repaint-shadow-clipped.html
               css3/filters/filter-repaint-shadow-rotated.html
               css3/filters/filter-repaint-shadow.html

        * platform/graphics/filters/FilterOperations.cpp:
        (WebCore::FilterOperations::getOutsets): Drop shadow should only enlarge the outsets and never make them smaller.
        
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::build): Caching the operations.hasFilterThatMovesPixels() in the FilterEffectRenderer.
        (WebCore::FilterEffectRenderer::updateBackingStore): It now returns true when the backing store was recreated, so that we can repaint it all.
        (WebCore):
        (WebCore::FilterEffectRendererHelper::prepareFilterEffect): Separated beginFilterEffect into two methods. One that computed the rects 
        and one that prepares the draw context.
        (WebCore::FilterEffectRendererHelper::beginFilterEffect):
        (WebCore::FilterEffectRendererHelper::applyFilterEffect):
        
        * rendering/FilterEffectRenderer.h:
        (FilterEffectRendererHelper):
        (FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::hasFilterThatMovesPixels):
        
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeRectForRepaint): No need to include the outsets in the repaint rect here, we will do it later in RenderLayer.
        (WebCore::RenderBox::addVisualEffectOverflow): Removed outsets from the overflow.
        
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::computeRectForRepaint): Removed the outsets from this method. We now compute that in
        RenderLayer::setFilterBackendNeedsRepaintingInRect.
        
        * rendering/RenderLayer.cpp:
        (WebCore):
        In this change I introduce a new dirty rectangle used by filters. It accumulates all the repaint requests inside the filtered layer,
        so that we can invalidate the areas that are outside the clipping rectangle. Such cases include "overflow:scroll" and "overflow:hidden", when
        we still want to blur or drop shadow based on content that is not actually displayed on screen (but the shadow for that content is visible). That rectangle
        is called m_filterRepaintRect and resets back to zero when the next repaint is finished. All the filtered layers that apply blur and drop-shadow
        will have an extra backing surface and only the invalidated areas are repainted in that surface. This is very similar to how composited layers work.
        
        (WebCore::RenderLayer::requiresFullLayerImageForFilters): Returns true in CPU mode and only if the layer needs the full source image of 
        the layer to compute the filter. Otherwise GPU layers already have access to the full bakcing image.
        (WebCore::RenderLayer::enclosingFilterLayer): Returns the enclosing layer that returns true on requiresFullLayerImageForFilters.
        (WebCore::RenderLayer::enclosingFilterRepaintLayer): Returns the enclosing layer that can be used to repaint the current layer. Usually that 
        is the RenderView layer or the parent RenderLayer that is composited.
        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect): Intercepts all the repaint queries for the filtered layers and uses
        enclosingFilterRepaintLayer to enforce the repaint using the parent container.
        
        (WebCore::RenderLayer::paintLayerContents): Consolidated the filters code in one single place. Also, it is now sending the bounding box and the 
        dirty rect to the FilterEffectRendererHelper::prepareFilterEffect to make sure the backing store is repainted accordingly. In some cases it might 
        rewrite the dirty rectangle used to paint the current layer, so that all the dirty areas in the backing store are covered.
        (WebCore::RenderLayer::calculateLayerBounds): Extracted from RenderLayerCompositor::calculateCompositedBounds.
        (WebCore::RenderLayer::updateOrRemoveFilterEffect): We should not create the filter builder when there's no filter specified.
        
        * rendering/RenderLayer.h:
        (RenderLayer):
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds): Now using the code from RenderLayer::calculateLayerBounds
        
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containerForRepaint): Using RenderLayer::enclosingFilterLayer to also find the parent filtered area.
        (WebCore::RenderObject::repaintUsingContainer): Removed the need to add filter outsets in this method. We now compute that in
        RenderLayer::setFilterBackendNeedsRepaintingInRect.

2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>

        Add a compile assert for the size of BidiContext
        https://bugs.webkit.org/show_bug.cgi?id=82793

        Reviewed by Eric Seidel.

        Added the assertion. Also reduced the number of bits used for bidi levels from
        8 to 6 as done in InlineBox since bidi levels require exactly 6 bits.

        * rendering/InlineBox.h: Added a comment about why bidi level needs exactly 6 bits.
        * platform/text/BidiContext.cpp:
        (SameSizeAsBidiContext):
        (WebCore):
        * platform/text/BidiContext.h:
        (BidiContext):

2012-03-30  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Race condition causes version change transaction to commit after onblocked
        https://bugs.webkit.org/show_bug.cgi?id=82678

        For a version change event, the blocked and success events could both be queued
        before either is dispatched. The transaction would erroneously be allowed to commit
        after the blocked event was dispatched; it should not be, as the request was not
        finished.

        Reviewed by Tony Chang.

        Test: storage/indexeddb/dont-commit-on-blocked.html

        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::dispatchEvent):

2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>

        Add a compile assert for the size of FontDescription
        https://bugs.webkit.org/show_bug.cgi?id=82786

        Reviewed by Eric Seidel.

        Added the assertion. Also converted a couple of boolean bitfields to unsinged.
        I've verified that the conversions are safe (they're only used in FontDescription.h/cpp).

        * platform/graphics/FontDescription.cpp:
        (SameSizeAsFontDescription):
        (WebCore):
        * platform/graphics/FontDescription.h:
        (FontDescription):

2012-03-30  Adam Barth  <abarth@webkit.org>

        Move CPP files related to ResourceHandle to WebCore/platform
        https://bugs.webkit.org/show_bug.cgi?id=82582

        Reviewed by James Robinson.

        Re-land a tiny piece of http://trac.webkit.org/changeset/112572 in the
        hopes of not breaking the component build this time.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/chromium/support/WebData.cpp: Copied from Source/WebKit/chromium/src/WebData.cpp.

2012-03-30  Andreas Kling  <kling@webkit.org>

        Kill CSSTimingFunctionValue.
        <http://webkit.org/b/82787>

        Reviewed by Antti Koivisto.

        Remove CSSTimingFunctionValue and let the 3 subclasses inherit directly from CSSValue.
        CSSTimingFunctionValue is a pointless middle-man class that adds nothing.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSTimingFunctionValue.h:
        (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
        (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
        (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
        * css/CSSValue.h:
        (WebCore::CSSValue::isCubicBezierTimingFunctionValue):
        (WebCore::CSSValue::isLinearTimingFunctionValue):
        (WebCore::CSSValue::isStepsTimingFunctionValue):

2012-03-30  Nat Duca  <nduca@chromium.org>

        [chromium] Bump max texture updates per frame to 48
        https://bugs.webkit.org/show_bug.cgi?id=82779

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WTF):

2012-03-30  Nate Chapin  <japhet@chromium.org>

        Merge FrameLoader::finishedLoading() into DocumentLoader::finishedLoading().
        https://bugs.webkit.org/show_bug.cgi?id=82653

        Reviewed by Adam Barth.

        No new tests, no functionality change intended.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::finishedLoading):
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didFinishLoading):

2012-03-30  Antti Koivisto  <antti@apple.com>

        Cache origin check result to RuleData
        https://bugs.webkit.org/show_bug.cgi?id=82774

        Reviewed by Andreas Kling.

        You wan't be able to get back to the stylesheet from a css style rule soon. 
        We need to do the origin check when we know the sheet it came from.

        * css/CSSStyleSelector.cpp:
        (RuleData):
        (WebCore::RuleData::hasDocumentSecurityOrigin):
        (RuleSet):
        (WebCore::makeRuleSet):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::RuleFeature::RuleFeature):
        (RuleFeature):
        (Features):

2012-03-30  Mike Reed  <reed@google.com>

        Remove deadcode behind "SafeSkia" flag
        https://bugs.webkit.org/show_bug.cgi?id=82771

        Reviewed by Stephen White.

        Just removing dead code (behind obsolete build flag), existing webkit tests apply

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::canvasClip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::clipConvexPolygon):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::platformFillEllipse):
        (WebCore::GraphicsContext::platformStrokeEllipse):

2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>

        Add a compile assert for the size of InlineFlowBox
        https://bugs.webkit.org/show_bug.cgi?id=82767

        Reviewed by Tony Chang.

        Add a compile assert to ensure InlineFlowBox stays small.
        Also make some of the member variables not used in RootInlineBox private.

        Changing these booleans to unsigned is safe as I've audited all code that
        uses these member variables (they're all in InlineFlowBox or RootInlineBox).

        * rendering/InlineFlowBox.cpp:
        (SameSizeAsInlineFlowBox):
        (WebCore):
        * rendering/InlineFlowBox.h:
        (InlineFlowBox):

2012-03-30  Zalan Bujtas  <zbujtas@gmail.com>

        Fix defective size_t overflow in GestureTapHighlighter.
        https://bugs.webkit.org/show_bug.cgi?id=82605

        Reviewed by Kenneth Rohde Christiansen.

        In pathForRenderer, the for loop has 'i < rects().size() - 1' as test expression,
        where rects().size() returns with size_t.
        In case of empty rect, it leads to unsigned int overflow. Overflow value makes
        the associated for loop run with invalid values.
        Fix it by making loop variable int and stop using size_t type in the test expression.
        Also, return early, if no focus ring found.

        Manual test added. Tap gesture highlighter is getting triggered by UI process.

        * page/GestureTapHighlighter.cpp:

2012-03-30  Mark Pilgrim  <pilgrim@chromium.org>

        GEOLOCATION should be implemented as Page Supplement
        https://bugs.webkit.org/show_bug.cgi?id=82228

        Reviewed by Adam Barth.

        Geolocation now uses the Supplement interface instead of
        keeping an instance variable on Page. This allows us to
        remove all geolocation-related functions, variables, and
        ifdefs out of Page and into Modules/geolocation/.

        * Modules/geolocation/Geolocation.cpp:
        (WebCore::Geolocation::stop):
        (WebCore::Geolocation::lastPosition):
        (WebCore::Geolocation::requestPermission):
        (WebCore::Geolocation::startUpdating):
        (WebCore::Geolocation::stopUpdating):
        * Modules/geolocation/Geolocation.h:
        (WebCore):
        * Modules/geolocation/GeolocationController.cpp:
        (WebCore::GeolocationController::supplementName):
        (WebCore):
        (WebCore::provideGeolocationTo):
        * Modules/geolocation/GeolocationController.h:
        (GeolocationController):
        (WebCore::GeolocationController::from):
        * WebCore.exp.in:
        * page/GeolocationClient.h:
        (WebCore):
        (GeolocationClient):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        (WebCore):
        (PageClients):
        (Page):

2012-03-30  Anders Carlsson  <andersca@apple.com>

        This is fun.

        * WebCore.xcodeproj/project.pbxproj:

2012-03-30  Anders Carlsson  <andersca@apple.com>

        Yet another build fix attempt.

        * WebCore.xcodeproj/project.pbxproj:

2012-03-30  Joe Mason  <jmason@rim.com>

        [BlackBerry] Make sure strings do not leak in PluginViewBlackberry.
        https://bugs.webkit.org/show_bug.cgi?id=82764

        Update PluginViewBlackBerry to follow the changes in
        BlackBerry::Platform::Window which now returns std::string instead of char* for
        strings. Also copy the windowGroup and rootGroup strings in PluginViewPrivate
        instead of just saving a pointer to the returned memory, which could become
        invalid at any time.

        Reviewed by Rob Buis.

        * plugins/blackberry/PluginViewBlackBerry.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::platformGetValue):
        (WebCore::PluginView::platformDestroy):
        * plugins/blackberry/PluginViewPrivateBlackBerry.h:
        (PluginViewPrivate):

2012-03-30  Anders Carlsson  <andersca@apple.com>

        Another build fix.

        * WebCore.xcodeproj/project.pbxproj:

2012-03-30  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * page/scrolling/mac/ScrollingTreeMac.mm:

2012-03-30  Anders Carlsson  <andersca@apple.com>

        Show a scrolling indicator light when compositing borders are turned on
        https://bugs.webkit.org/show_bug.cgi?id=82758
        <rdar://problem/11143892>

        Reviewed by Andreas Kling.

        With this change, turning on compositing borders also turn on a tiny indicator in the top left corner.
        This indicator uses color coding to show where wheel events are handled and where the scroll layer position is updated:

          - Green means that both wheel events and scroll layer position updates are handled on the scrolling thread.
          - Yellow means that wheel events need to be dispatched to the main thread (due to wheel event handlers), but that scroll layer position
            updates still happen on the scrolling thread.
          - Red means that scroll layer position updates happen on the main thread (due to background-attachment: fixed or fixed position objects).

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::commitNewTreeState):
        Call updateDebugRootLayer().

        * page/scrolling/ScrollingTreeNode.h:
        (WebCore::ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread):
        Make this public.

        (ScrollingTreeNode):
        * page/scrolling/mac/ScrollingTreeMac.mm: Added.
        (WebCore::ScrollingTree::setDebugRootLayer):
        Set up a new debug info sublayer.

        (WebCore::ScrollingTree::updateDebugRootLayer):
        Update the debug root layer background color based on the scrolling tree state.

2012-03-30  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: add missing runtime assert method for InspectorObject
        https://bugs.webkit.org/show_bug.cgi?id=82753

        Reviewed by Vsevolod Vlasov.

        Type validator generator is extended to support missing InspectorObject type and
        made more accurate for "int" type.

        Strict types are enabled for 2 more domains.

        * inspector/CodeGeneratorInspector.py:
        (RawTypes.BaseType.generate_validate_method):
        (RawTypes.String.get_validate_method_params.ValidateMethodParams):
        (RawTypes.Int):
        (RawTypes.Int.generate_validate_method):
        (RawTypes.Int.get_raw_validator_call_text):
        (RawTypes.Number.get_validate_method_params.ValidateMethodParams):
        (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
        (RawTypes.Object.get_validate_method_params.ValidateMethodParams):
        (RawTypes.Object.get_validate_method_params):
        (TypeBindings.create_type_declaration_.ClassBinding.request_internal_runtime_cast):
        (PlainObjectBinding.request_internal_runtime_cast):
        (PlainObjectBinding.get_validator_call_text):
        (ArrayBinding.request_internal_runtime_cast):

2012-03-30  Ian Vollick  <vollick@chromium.org>

        [chromium] assertion being hit in CCLayerAnimationController
        https://bugs.webkit.org/show_bug.cgi?id=82237

        Reviewed by James Robinson.

        Animations are no longer pushed to the impl thread if they have already completed.

        Tested in CCLayerAnimationControllerTest.doNotSyncFinishedAnimation

        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):

2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>

        Build fix after r112699.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::findPropertyWithId):

2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>

        Add a compile assert for the size of CSSProperty
        https://bugs.webkit.org/show_bug.cgi?id=82756

        Reviewed by Andreas Kling.

        Add a compile assert to ensure CSSProperty instances stay small.

        Also make member variables of CSSProperty private as they should have been,
        and extract wrapValueInCommaSeparatedList from createFontFaceRule.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::createFontFaceRule):
        * css/CSSProperty.cpp:
        (SameSizeAsCSSProperty):
        (WebCore):
        (WebCore::CSSProperty::wrapValueInCommaSeparatedList):
        * css/CSSProperty.h:
        (CSSProperty):

2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>

        Let there be a clean xcodeproj.

        * WebCore.xcodeproj/project.pbxproj:

2012-03-30  Chris Fleizach  <cfleizach@apple.com>

        AX: Crash at WebCore::renderObjectContainsPosition(WebCore::RenderObject*, WebCore::Position const&)
        https://bugs.webkit.org/show_bug.cgi?id=82745

        Reviewed by Simon Fraser.

        Test: platform/mac/accessibility/range-for-position.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::index):

2012-03-30  John Sullivan  <sullivan@apple.com>

        Certain emoji characters should not be displayed in user-visible URL strings.
        <https://bugs.webkit.org/show_bug.cgi?id=82739>
        <rdar://problem/9205643>

        Reviewed by Alexey Proskuryakov

        * platform/mac/WebCoreNSURLExtras.mm:
        (WebCore::isLookalikeCharacter):
        Added five emoji characters to the list.

2012-03-30  David Barr  <davidbarr@chromium.org>

        Split up top-level .gitignore and .gitattributes
        https://bugs.webkit.org/show_bug.cgi?id=82687

        Reviewed by Tor Arne Vestbø.

        No new tests, source control administrivia.

        * .gitattributes: Added.
        * WebCore.gyp/.gitignore: Added.

2012-03-30  Patrick Gansterer  <paroga@webkit.org>

        [WinCE] Correct <wtf/*.h> include paths.
        https://bugs.webkit.org/show_bug.cgi?id=82713

        Reviewed by Eric Seidel.

        Modify the #include declarations for several WinCE-related files
        so that the wtf types are included using the full path.

        * platform/graphics/wince/ImageBufferWinCE.cpp:

2012-03-30  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: ScriptsNavigator scripts selection/focus polish.
        https://bugs.webkit.org/show_bug.cgi?id=82732

        Reviewed by Pavel Feldman.

        Script could be selected by space in ScriptsNavigator now.
        This patch also polishes focus behavior when using ScriptsNavigator.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype._scriptSelected): Added focusSource param to give clients possibility to release focus.
        (WebInspector.NavigatorScriptTreeElement.prototype.onspace): Added script selection on space pressed.
        (WebInspector.NavigatorScriptTreeElement.prototype._onclick):
        (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
        * inspector/front-end/ScriptsPanel.js: _hideNavigatorOverlay moved to the end of events processing to set focus correctly.
        (WebInspector.ScriptsPanel.prototype._editorSelected):
        (WebInspector.ScriptsPanel.prototype._fileSelected):
        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype._treeKeyDown): onspace event added.

2012-03-30  Mike Reed  <reed@google.com>

        remove unneeded copies of SkPaths, remove unneeded save/restore
        https://bugs.webkit.org/show_bug.cgi?id=82641

        Reviewed by Stephen White.

        Performance change, existing webkit tests apply.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::strokePath):

2012-03-30  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: undo-ing edit that consists of a Tab does not work.
        https://bugs.webkit.org/show_bug.cgi?id=82733

        Reviewed by Vsevolod Vlasov.

        We should never modify the range returned by the edit operation manually.
        And we should clone ranges that get into the model so that subsequent edits
        don't mutate them.

        Drive-by: restore selection after undo via selecting all the text that undo
        operation produced.

        Test: inspector/editor/text-editor-undo-redo.html

        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel.endsWithBracketRegex.):
        * inspector/front-end/TextViewer.js:

2012-03-30  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>

        [wx] Implement Gradient and ImageBuffer support.
        https://bugs.webkit.org/show_bug.cgi?id=82710

        Reviewed by Kevin Ollivier.

        * platform/graphics/BitmapImage.h:
        (BitmapImage):
        (WebCore::BitmapImage::create):
        * platform/graphics/Gradient.h:
        * platform/graphics/wx/GradientWx.cpp:
        (WebCore::Gradient::platformDestroy):
        (WebCore::Gradient::platformGradient):
        (WebCore::Gradient::fill):
        * platform/graphics/wx/ImageBufferDataWx.h:
        (ImageBufferData):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore):
        (WebCore::ImageBufferData::ImageBufferData):
        (WebCore::ImageBufferData::~ImageBufferData):
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::~ImageBuffer):
        (WebCore::ImageBuffer::context):
        (WebCore::ImageBuffer::toDataURL):
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::clip):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        * platform/graphics/wx/ImageWx.cpp:
        (WebCore::BitmapImage::BitmapImage):
        (WebCore):
        (WebCore::BitmapImage::draw):
        * platform/wx/LocalDC.h:
        (WebCore):

2012-03-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [Qt] Find zoomable area using area-based hit-testing
        https://bugs.webkit.org/show_bug.cgi?id=82609

        Reviewed by Kenneth Rohde Christiansen.

        Implement API for calculating the best zoomable area for a
        tap-to-zoom gesture.
        It picks the area with the largest intersection with the touch. In most
        cases this will be all areas fully containing the area, and returns the
        smallest inner-most of these.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
        * page/EventHandler.h:
        * page/TouchAdjustment.cpp:
        (WebCore::TouchAdjustment::nodeIsZoomTarget):
        (WebCore::TouchAdjustment::appendZoomableSubtargets):
        (WebCore::TouchAdjustment::compileZoomableSubtargets):
        (WebCore::TouchAdjustment::areaOfIntersection):
        (WebCore::TouchAdjustment::findAreaWithLargestIntersection):
        (WebCore::findBestZoomableArea):
        * page/TouchAdjustment.h:
        * platform/graphics/IntSize.h:
        (WebCore::IntSize::area):

2012-03-30  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: do not issue attributes modified event if actual values were not changed.
        https://bugs.webkit.org/show_bug.cgi?id=82726

        Reviewed by Yury Semikhatsky.

        When style attribute is invalidated, we re-fetch the attributes values. There is no
        point in further dispatching attrs modified event if model stays the same.

        Test: inspector/elements/edit-style-attribute.html

        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype._setAttributesPayload):
        (WebInspector.DOMAgent.prototype._loadNodeAttributes):

2012-03-30  Philip Rogers  <pdr@google.com>

        Add new renderer for circles and ellipses
        https://bugs.webkit.org/show_bug.cgi?id=80423

        Reviewed by Eric Seidel.

        This patch introduces a special renderer for SVGCircleElements
        and SVGEllipseElements to avoid having to use the slower path
        rendering code. This patch includes optimized circle code for
        the CG platform, and hooks (GC::fillEllipse, GC::strokeEllipse)
        are available for other platforms as well.

        Tests: svg/hittest/svg-ellipse-non-scale-stroke.xhtml
               svg/hittest/svg-ellipse.xhtml

        Added a test to exercise hit testing on an ellipse, and on
        an ellipse's stroke, to make sure the formulae in this patch
        are correct.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::fillEllipse):
        (WebCore):
        (WebCore::GraphicsContext::strokeEllipse):
        (WebCore::GraphicsContext::fillEllipseAsPath):
        (WebCore::GraphicsContext::strokeEllipseAsPath):
        (WebCore::GraphicsContext::platformFillEllipse):
        (WebCore::GraphicsContext::platformStrokeEllipse):
        * platform/graphics/GraphicsContext.h:
        (GraphicsContext):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformFillEllipse):
        (WebCore):
        (WebCore::GraphicsContext::platformStrokeEllipse):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::platformFillEllipse):
        (WebCore):
        (WebCore::GraphicsContext::platformStrokeEllipse):
        * rendering/svg/RenderSVGAllInOne.cpp:
        * rendering/svg/RenderSVGEllipse.cpp: Added.
        (WebCore):
        (WebCore::RenderSVGEllipse::RenderSVGEllipse):
        (WebCore::RenderSVGEllipse::~RenderSVGEllipse):
        (WebCore::RenderSVGEllipse::createShape):
        (WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
        (WebCore::RenderSVGEllipse::objectBoundingBox):
        (WebCore::RenderSVGEllipse::strokeBoundingBox):
        (WebCore::RenderSVGEllipse::fillShape):
        (WebCore::RenderSVGEllipse::strokeShape):
        (WebCore::RenderSVGEllipse::shapeDependentStrokeContains):
        (WebCore::RenderSVGEllipse::shapeDependentFillContains):
        * rendering/svg/RenderSVGEllipse.h: Added.
        (WebCore):
        (RenderSVGEllipse):
        (WebCore::RenderSVGEllipse::isSVGEllipse):
        (WebCore::RenderSVGEllipse::renderName):
        (WebCore::RenderSVGEllipse::isEmpty):
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::svgAttributeChanged):
        (WebCore):
        (WebCore::SVGCircleElement::createRenderer):
        * svg/SVGCircleElement.h:
        (SVGCircleElement):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::svgAttributeChanged):
        (WebCore::SVGEllipseElement::createRenderer):
        (WebCore):
        * svg/SVGEllipseElement.h:
        (SVGEllipseElement):

2012-03-30  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Add a "preview" state to Page Visibility API implementation
        https://bugs.webkit.org/show_bug.cgi?id=81355

        Reviewed by Adam Barth.

        Updating the Page Visibility API implementation to the current spec version.

        This change is covered by fast/events/page-visibility-transition-test.html,
        so no new tests needed.

        * page/PageVisibilityState.cpp:
        (WebCore::pageVisibilityStateString):
        * page/PageVisibilityState.h:

2012-03-30  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] Execution line is not revealed after pretty print.
        https://bugs.webkit.org/show_bug.cgi?id=82727

        Reviewed by Pavel Feldman.

        This patch makes JavaScriptSourceFrame reveal execution line after pretty print.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):

2012-03-30  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: preload field values into local variables for better heap profiler performance
        https://bugs.webkit.org/show_bug.cgi?id=82703

        Reading from object fields takes a noticable time when the only other thing you do
        is just manipulating on big(several million elements) Uint32Array array cells.

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
        (WebInspector.HeapSnapshot.prototype._buildRetainers):
        (WebInspector.HeapSnapshot.prototype._bfs):

2012-03-30  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112489.
        http://trac.webkit.org/changeset/112489
        https://bugs.webkit.org/show_bug.cgi?id=82725

        Tentatively introduces a lot of webfont-related test flakiness
        on Snow Leopard (Requested by apavlov on #webkit).

        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::getFontData):

2012-03-30  Keishi Hattori  <keishi@webkit.org>

        Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
        https://bugs.webkit.org/show_bug.cgi?id=80972

        Reviewed by Kent Tamura.

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * css/html.css:
        * html/ColorInputType.cpp:
        * html/ColorInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore):
        * html/HTMLInputElement.h:
        (HTMLInputElement):
        * html/InputType.cpp:
        (WebCore::createInputTypeFactoryMap):
        (WebCore):
        (InputTypeNames):
        * html/InputType.h:
        (InputType):
        (InputTypeNames):
        * loader/EmptyClients.h:
        (EmptyChromeClient):
        * page/Chrome.cpp:
        (WebCore):
        * page/Chrome.h:
        (WebCore):
        (Chrome):
        * page/ChromeClient.h:
        (WebCore):
        (ChromeClient):
        * platform/ColorChooser.h:
        * platform/ColorChooserClient.h:
        * testing/InternalSettings.cpp:
        * testing/Internals.cpp:
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-30  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] EventLoop::platformInit() obsolete.
        https://bugs.webkit.org/show_bug.cgi?id=82709

        Reviewed by Rob Buis.

        No new tests, build fix for BlackBerry porting.

        * platform/blackberry/EventLoopBlackBerry.cpp:

2012-03-30  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: ScriptsNavigator should open scripts with single click (not double click).
        https://bugs.webkit.org/show_bug.cgi?id=82723

        Reviewed by Pavel Feldman.

        This patch makes ScriptsNavigator open scripts with single click.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
        (WebInspector.NavigatorScriptTreeElement.prototype._onclick):

2012-03-30  Vineet Chaudhary  <rgf748@motorola.com>

        IDLParser.pm should be able to parse sequence<T> as method argument.
        https://bugs.webkit.org/show_bug.cgi?id=82599

        Reviewed by Kentaro Hara.

        With this patch IDL parser should support sequence<T> as method argument.
        Current behaviour is argument name is not parsed hence shows empty spaces instead.

        Tests: bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGeneratorCPP.pm:
        (SkipFunction): Skip functions for specific type.
        (SkipAttribute): Skip functions for specific type.
        (AddIncludesForType): Skip header for sequence<T> type.
        (GenerateHeader): Skip header and declaration for sequence<T> type.
        (GenerateImplementation): Skip header and implementation for sequence<T> type.
        * bindings/scripts/CodeGeneratorGObject.pm:
        (SkipFunction): Skip functions for sequence<T> type.
        * bindings/scripts/CodeGeneratorObjC.pm:
        (SkipFunction): Skip functions for specific type.
        (SkipAttribute): Skip functions for specific type.
        (AddForwardDeclarationsForType): Skip header for sequence<T> type.
        (AddIncludesForType): Skip header for sequence<T> type.
        (GenerateHeader):Skip header and declaration for sequence<T> type.
        (GenerateImplementation): Skip header and implementation for sequence<T> type.
        * bindings/scripts/CodeGeneratorV8.pm:
        (CreateCustomSignature): Add appropriate headers.
        * bindings/scripts/IDLStructure.pm: Add support to parse sequence<T>.
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Modified results from run-binding-tests.
        (WebDOMTestObj::objMethodWithArgs):
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        (webkit_dom_test_obj_obj_method_with_args):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
        (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
        (WebCore::TestObjInternal::methodWithSequenceArgCallback):
        (WebCore::ConfigureV8TestObjTemplate):

2012-03-30  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: editing resets line-ending of the whole file
        https://bugs.webkit.org/show_bug.cgi?id=82708

        Reviewed by Yury Semikhatsky.

        This change splits TextEditorModel's setText into setText (for initialization) and
        editRange (for editing). Distinguishing between the two allowed properly detecting
        the preferred line endings.

        Test: inspector/editor/text-editor-line-breaks.html

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.setContent):
        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorCommand):
        (WebInspector.TextEditorModel):
        (WebInspector.TextEditorModel.endsWithBracketRegex.):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._textChanged):
        (WebInspector.TextEditorMainPanel.prototype._unindentLines.get var):
        (WebInspector.TextEditorMainPanel.prototype._unindentLines):
        (WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
        (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
        (WebInspector.TextEditorMainPanel.prototype._editRange):

2012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Take IndexedDB support out of experiments.
        https://bugs.webkit.org/show_bug.cgi?id=82635

        Reviewed by Pavel Feldman.

        This patch takes inspector IndexedDB support out of experiments and enables tests.

        Test: http/tests/inspector/indexeddb/resources-panel.html

        * inspector/front-end/ResourcesPanel.js:
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):

2012-03-30  Patrick Gansterer  <paroga@webkit.org>

        Build fix after r112482.

        * platform/network/cf/FormDataStreamCFNet.h: Added missing forward decleration.

2012-03-30  Philippe Normand  <pnormand@igalia.com>

        [GTK] WebAudio channelSize issue
        https://bugs.webkit.org/show_bug.cgi?id=81905

        Reviewed by Martin Robinson.

        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
        (WebCore::AudioFileReader::handleBuffer): Calculate the audio
        buffer duration and frames number from the buffer and caps instead
        of relying on the buffer offets that are not always correctly set
        depending on the audio file format.

2012-03-29  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Filters] Trigger a repaint on elements with changed filter
        https://bugs.webkit.org/show_bug.cgi?id=82521

        Reviewed by Dean Jackson.

        I've added ContextSensitivePropertyFilter and changed RenderStyle::diff to use it when
        the filter property is changed. In RenderObject::adjustStyleDifference the appropriate StyleDifferenceRepaintLayer
        or StyleDifferenceRecompositeLayer is used depending on whether the layer is painting filters in software or in hardware
        (composited).

        Tests: css3/filters/filter-change-repaint-composited.html
               css3/filters/filter-change-repaint.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createFilterOperations): None was treated as an invalid value.
        * platform/graphics/ca/mac/PlatformCALayerMac.mm: Shadows were remaining behind. Fixed that.
        (PlatformCALayer::setFilters):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::styleWillChange): Repaint the layer when there is a layout change and a filter change.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::styleChanged): Making sure that the backing store is repainted when filters fallback to hardware.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::adjustStyleDifference):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyleConstants.h:

2012-03-29  Koji Ishii  <kojiishi@gmail.com>


        Vertical flow support for OpenType fonts with the least platform dependencies
        https://bugs.webkit.org/show_bug.cgi?id=81326

        Reviewed by Dan Bernstein.

        This patch introduces a new class OpenTypeVerticalData to read
        vertical font metrics from OpenType fonts.

        Currently, WebKit relies on platform APIs to do the work. However,
        some platforms such as Windows lack support for all the capabilities
        WebKit requires for vertical flow and the text-orientation property
        to work correctly. Reading OpenType tables directly also gives
        benefits in consistent behavior among the WebKit platforms.

        This patch is for any platforms that want to parse OpenType tables
        directly, but it's currently included only in CGWin and isn't on any
        code path even on CGWin yet. Caller's side change for CGWin and
        support for other platforms will be in separate bugs.

        No new tests are required. No behavior changes.

        * WebCore.vcproj/WebCore.vcproj: Added OpenTypeTypes.h and OpenTypeVerticalData.h/cpp.
        * platform/SharedBuffer.cpp: Add create(size_t)
        (WebCore::SharedBuffer::SharedBuffer):
        (WebCore):
        * platform/SharedBuffer.h: Add create(size_t)
        (WebCore::SharedBuffer::create):
        (SharedBuffer):
        * platform/graphics/FontPlatformData.h: Added openTypeTable().
        (WebCore):
        (FontPlatformData):
        * platform/graphics/SimpleFontData.h: Added sizePerUnit().
        (WebCore::SimpleFontData::sizePerUnit): size() / unitsPerEm() for less multiplication.
        * platform/graphics/opentype/OpenTypeTypes.h: Added OpenType basic type definitions.
        (OpenType):
        (WebCore::OpenType::BigEndianShort::operator short):
        (WebCore::OpenType::BigEndianShort::BigEndianShort):
        (BigEndianShort):
        (WebCore::OpenType::BigEndianUShort::operator unsigned short):
        (WebCore::OpenType::BigEndianUShort::BigEndianUShort):
        (BigEndianUShort):
        (WebCore::OpenType::BigEndianLong::operator int):
        (WebCore::OpenType::BigEndianLong::BigEndianLong):
        (BigEndianLong):
        (WebCore::OpenType::BigEndianULong::operator unsigned):
        (WebCore::OpenType::BigEndianULong::BigEndianULong):
        (BigEndianULong):
        * platform/graphics/opentype/OpenTypeVerticalData.cpp: Added.
        (OpenType):
        (HheaTable):
        (VheaTable):
        (Entry):
        (VORGTable):
        (VertOriginYMetrics):
        (WebCore::OpenType::VORGTable::requiredSize):
        (WebCore):
        (WebCore::validatedPtr):
        (WebCore::OpenTypeVerticalData::OpenTypeVerticalData):
        (WebCore::OpenTypeVerticalData::advanceHeight): Advance height for a glyph.
        (WebCore::OpenTypeVerticalData::getVerticalTranslationsForGlyphs): Vertical origin.
        * platform/graphics/opentype/OpenTypeVerticalData.h: Added.
        (WebCore):
        (OpenTypeVerticalData): A new class to handle vertical flow data in OpenType.
        (WebCore::OpenTypeVerticalData::isOpenType):
        (WebCore::OpenTypeVerticalData::hasVerticalMetrics):
        (WebCore::OpenTypeVerticalData::hasVORG):
        * platform/graphics/win/FontPlatformDataWin.cpp:
        (WebCore):
        (WebCore::FontPlatformData::openTypeTable): Implemented openTypeTable() for Win32.

2012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Sync up PlatformMouseEvent
        https://bugs.webkit.org/show_bug.cgi?id=82567

        Reviewed by Rob Buis.

        This patch is adding blackberry specific members to PlatformMouseEvent.
        Also re-base PlatformMouseEventBlackBerry to adapt to the re-factor
        of PlatformMouseEvent.

        * platform/PlatformMouseEvent.h:
        (PlatformMouseEvent): BlackBerry specific constructor.
        (WebCore::PlatformMouseEvent::inputMethod): Input source of mouse event
        for blackberry platform.
        * platform/blackberry/PlatformMouseEventBlackBerry.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent): Re-base the constructor
        to adapt the re-factor of PlatformMouseEvent.

2012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Turn on STORE_FONT_CUSTOM_PLATFORM_DATA in CachedFont.cpp
        https://bugs.webkit.org/show_bug.cgi?id=82573

        Reviewed by Rob Buis.

        Tests: covered by existing tests.

        * loader/cache/CachedFont.cpp:

2012-03-29  Adam Barth  <abarth@webkit.org>

        [Chromium] Attempt to fix the component build
        https://bugs.webkit.org/show_bug.cgi?id=82676

        Reviewed by Dirk Pranke.

        Now that we're implementing some of the WEBKIT_EXPORT symbols in
        WebCore/platform/chromium/support, we need to tell the build system
        that we want to actually export these symbols.

        * WebCore.gyp/WebCore.gyp:

2012-03-29  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r112572.
        http://trac.webkit.org/changeset/112572
        https://bugs.webkit.org/show_bug.cgi?id=82582

        Does not compile in Windows component build

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2012-03-29  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r112579.
        http://trac.webkit.org/changeset/112579
        https://bugs.webkit.org/show_bug.cgi?id=82657

        Does not compile in Windows component build

        * WebCore.gypi:

2012-03-29  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r112611.
        http://trac.webkit.org/changeset/112611
        https://bugs.webkit.org/show_bug.cgi?id=82676

        Does not compile in Windows component build

        * WebCore.gyp/WebCore.gyp:

2012-03-29  Bear Travis  <betravis@adobe.com>

        Update shape-inside/shape-outside CSS Exclusion properties
        https://bugs.webkit.org/show_bug.cgi?id=82365

        Reviewed by Ryosuke Niwa.

        Updating CSS property names for wrap-shape-inside and wrap-shape-outside
        to shape-inside and shape-outside, per the current exclusions spec.
        Renaming some parsing functions in CSSParser for clarity.
        No new functionality.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseClipShape):
        (WebCore::CSSParser::parseExclusionShapeRect):
        (WebCore::CSSParser::parseExclusionShapeCircle):
        (WebCore::CSSParser::parseExclusionShapeEllipse):
        (WebCore::CSSParser::parseExclusionShapePolygon):
        (WebCore::CSSParser::parseExclusionShape):
        * css/CSSParser.h:
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-29  Ryan Sleevi  <rsleevi@chromium.org>

        [chromium] Update paths in GYP files
        https://bugs.webkit.org/show_bug.cgi?id=82663

        Reviewed by Adam Barth.

        * WebCore.gypi:
        Remove PluginDataGtk.cpp following r112401

2012-03-29  Abhishek Arya  <inferno@chromium.org>

        Crash in GenericEventQueue::~GenericEventQueue.
        https://bugs.webkit.org/show_bug.cgi?id=81976

        Reviewed by Eric Carlson.

        * dom/GenericEventQueue.cpp:
        (WebCore::GenericEventQueue::create):
        (WebCore):
        (WebCore::GenericEventQueue::GenericEventQueue):
        (WebCore::GenericEventQueue::enqueueEvent):
        (WebCore::GenericEventQueue::timerFired):
        * dom/GenericEventQueue.h:
        (GenericEventQueue):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        (WebCore::HTMLMediaElement::scheduleEvent):
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
        (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
        (WebCore::HTMLMediaElement::hasPendingActivity):
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):

2012-03-29  Adam Barth  <abarth@webkit.org>

        [Chromium] Attempt to fix the component build
        https://bugs.webkit.org/show_bug.cgi?id=82676

        Unreviewed.

        Now that we're implementing some of the WEBKIT_EXPORT symbols in
        WebCore/platform/chromium/support, we need to tell the build system
        that we want to actually export these symbols.

        * WebCore.gyp/WebCore.gyp:

2012-03-29  Nate Chapin  <japhet@chromium.org>

        Simplify reporting a main resource error to DocumentLoader and
        FrameLoader.
        https://bugs.webkit.org/show_bug.cgi?id=82649

        Reviewed by Adam Barth.

        No new tests, no functionality change intended.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::mainReceivedError): Remove isComplete parameter,
            since it was always true. Call FrameLoader::receivedMainResourceError,
            instead of the other way around.
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::receivedMainResourceError): Remove isComplete parameter,
            since it was always true. Merge in most of mainReceivedCompleteError().
        * loader/FrameLoader.h:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::receivedError):
        (WebCore::MainResourceLoader::didCancel):

2012-03-28  Jer Noble  <jer.noble@apple.com>

        Heap-use-after-free in WebCore::InlineFlowBox::deleteLine due to fullscreen issues.
        https://bugs.webkit.org/show_bug.cgi?id=82055

        Reviewed by David Hyatt.

        No new tests; fixes fuzz test crasher which is not reproducible in DRT or WKTR.

        When a RenderFullScreen object is inserted between a child and parent renderer, make sure the
        parent renderer deletes its line boxes by calling setNeedsLayoutAndPrefWidthsRecalc().  This
        forces its InlineBox renderers to be removed from the line boxes and their parents in the correct
        order, fixing a double-delete crash.

        The same is true when unwrapping the RenderFullScreen object, and when creating and inserting
        the full screen placeholder.

        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::wrapRenderer):
        (RenderFullScreen::unwrapRenderer):
        (RenderFullScreen::createPlaceholder):

2012-03-29  Benjamin Poulain  <bpoulain@apple.com>

        Get rid of Geolocation::positionChangedInternal(), use positionChanged() directly
        https://bugs.webkit.org/show_bug.cgi?id=82543

        Reviewed by Andreas Kling.

        After the change to client based geolocation, the method positionChangedInternal()
        is called only by positionChanged(). This patch remove this extra indirection.

        * Modules/geolocation/Geolocation.cpp:
        (WebCore::Geolocation::positionChanged):
        * Modules/geolocation/Geolocation.h:
        (Geolocation):
        * WebCore.order:

2012-03-29  Joseph Pecoraro  <pecoraro@apple.com>

        InputType attribute changed functions should happen after the attribute change
        https://bugs.webkit.org/show_bug.cgi?id=82644

        Reviewed by Benjamin Poulain.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseAttribute):

2012-03-29  Bear Travis  <betravis@adobe.com>

        Update CSS Exclusion wrap-flow values left & right to start & end
        https://bugs.webkit.org/show_bug.cgi?id=82366

        http://dev.w3.org/csswg/css3-exclusions/
        -webkit-wrap-flow now takes the values start and end rather than
        left and right. Updating the code to reflect this. Functionality
        is covered by existing tests.
        
        Reviewed by Andreas Kling.

        * css/CSSParser.cpp:
        (WebCore::isValidKeywordPropertyAndValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator WrapFlow):
        * rendering/style/RenderStyleConstants.h:

2012-03-29  Dirk Pranke  <dpranke@chromium.org>

        rollout r112484, r112545, r112574
        https://bugs.webkit.org/show_bug.cgi?id=82662

        Unreviewed, build fix.

        this appears to be producing some questionable differences on
        the apple mac bots, and possibly one test on chromium linux.

        * css/mediaControls.css:
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
        * css/mediaControlsChromium.css:
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        * html/shadow/MediaControlElements.cpp:
        (RenderMediaVolumeSliderContainer):
        (WebCore):
        (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
        (WebCore::RenderMediaVolumeSliderContainer::layout):
        (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
        * html/shadow/MediaControlElements.h:
        (MediaControlVolumeSliderContainerElement):
        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::create):

2012-03-29  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il
        https://bugs.webkit.org/show_bug.cgi?id=82129

        Reviewed by Ojan Vafai.

        Tests: fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html
               fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html
               fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html
               fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html
               fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html
               fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html
               fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html
               fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html

        This is a regression from r110072. I wrongly thought we should call ensureLayer if we create our RenderOverflow.
        However the current overflow code removes the before and start overflows (like in horizontal writing mode with ltr direction,
        we never have a top or a left overflow). Because of that we would not get a RenderLayer as expected and the overflow clip rects
        would be wrong on our RenderLayer children.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::addLayoutOverflow):
        Moved the ensureLayer() call after the check that we do have some overflow but before we remove the overflow in some directions.

2012-03-29  Adam Barth  <abarth@webkit.org>

        [Chromium] Move ResourceHandle to WebCore/platform/network/chromium
        https://bugs.webkit.org/show_bug.cgi?id=82657

        Reviewed by James Robinson.

        We finally arive at our destination. This patch actually moves
        WebCore::ResourceHandle from Source/WebKit/chromium/src to
        Source/WebCore/network/chromium, matching its location in other ports.
        To make this happen, we also need to move WrappedResourceRequest and
        WrappedResourceResponse.

        This patch is the last patch from
        https://github.com/abarth/webkit/compare/master...webcore-platform

        * WebCore.gypi:
        * platform/chromium/support/WrappedResourceRequest.h: Copied from Source/WebKit/chromium/src/WrappedResourceRequest.h.
        * platform/chromium/support/WrappedResourceResponse.h: Copied from Source/WebKit/chromium/src/WrappedResourceResponse.h.
        * platform/network/chromium/ResourceHandle.cpp: Copied from Source/WebKit/chromium/src/ResourceHandle.cpp.
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        (WebCore::ResourceHandleInternal::start):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        (WebCore::ResourceHandle::cacheMetadata):
        * platform/network/chromium/ResourceHandleInternal.h: Copied from Source/WebKit/chromium/src/ResourceHandleInternal.h.

2012-03-29  Patrick Gansterer  <paroga@webkit.org>

        Build fix for WinCE after r112555.

        * platform/text/wince/TextCodecWinCE.cpp:
        (WebCore::LanguageManager::LanguageManager):

2012-03-29  Anders Carlsson  <andersca@apple.com>

        Images that reload via media queries don't paint when device scale factor changes
        https://bugs.webkit.org/show_bug.cgi?id=82648
        <rdar://problem/11143637>

        Reviewed by Beth Dakin.

        Commit scale factor changes before dirty rect changes, since setting the scale factor
        can lead to more rects being dirtied when using the tile cache.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):

2012-03-29  Adam Barth  <abarth@webkit.org>

        Move CPP files related to ResourceHandle to WebCore/platform
        https://bugs.webkit.org/show_bug.cgi?id=82582

        Reviewed by James Robinson.

        This patch moves a number of files that implement parts of the platform
        portion of the Chromium WebKit API from the WebKit layer to
        WebCore/platform. These files are in the dependency cone of
        ResourceHandle and have no dependencies on anything outside
        WebCore/platform.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/chromium/support: Added.
        * platform/chromium/support/WebData.cpp: Copied from Source/WebKit/chromium/src/WebData.cpp.
        * platform/chromium/support/WebHTTPBody.cpp: Copied from Source/WebKit/chromium/src/WebHTTPBody.cpp.
        * platform/chromium/support/WebHTTPLoadInfo.cpp: Copied from Source/WebKit/chromium/src/WebHTTPLoadInfo.cpp.
        * platform/chromium/support/WebURL.cpp: Copied from Source/WebKit/chromium/src/WebURL.cpp.
        * platform/chromium/support/WebURLError.cpp: Copied from Source/WebKit/chromium/src/WebURLError.cpp.
        * platform/chromium/support/WebURLRequest.cpp: Copied from Source/WebKit/chromium/src/WebURLRequest.cpp.
        * platform/chromium/support/WebURLRequestPrivate.h: Copied from Source/WebKit/chromium/src/WebURLRequestPrivate.h.
        * platform/chromium/support/WebURLResponse.cpp: Copied from Source/WebKit/chromium/src/WebURLResponse.cpp.
        * platform/chromium/support/WebURLResponsePrivate.h: Copied from Source/WebKit/chromium/src/WebURLResponsePrivate.h.

2012-03-29  Michal Mocny  <mmocny@google.com>

        [chromium] Ensure framebuffer exists at the start of beginDrawingFrame.
        https://bugs.webkit.org/show_bug.cgi?id=82569

        Reviewed by James Robinson.

        Updated LayerRendererChromiumTest unittests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::setVisible):
        (WebCore::LayerRendererChromium::beginDrawingFrame):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::compositeAndReadback):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::compositeAndReadback):
        (WebCore::CCThreadProxy::requestReadbackOnImplThread):

2012-03-29  Ryosuke Niwa  <rniwa@webkit.org>

        Add a compile assert for the size of RenderBlock
        https://bugs.webkit.org/show_bug.cgi?id=82586

        Reviewed by Tony Chang.
        
        Add compile asserts for the size of RenderBlock and RenderBlock::MarginValues.
        We can't add asserts for FloatingObject and MarginInfo because they're private to RenderBlock.

        * rendering/RenderBlock.cpp:
        (SameSizeAsRenderBlock):
        (WebCore):
        (WebCore::RenderBlock::addOverflowFromFloats):
        (WebCore::RenderBlock::repaintOverhangingFloats):
        (WebCore::RenderBlock::paintFloats):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::clearFloats):
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::addIntrudingFloats):
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::adjustForBorderFit):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatingObject::shouldPaint):
        (WebCore::RenderBlock::FloatingObject::setShouldPaint):
        (WebCore::RenderBlock::FloatingObject::isDescendant):
        (WebCore::RenderBlock::FloatingObject::setIsDescendant):
        (FloatingObject):
        (RenderBlock):

2012-03-29  Gavin Barraclough  <barraclough@apple.com>

        Template the Yarr::Interpreter on the character type
        https://bugs.webkit.org/show_bug.cgi?id=82637

        Reviewed by Sam Weinig.

        We should be able to call to the interpreter after having already checked the character type,
        without having to re-package the character pointer back up into a string!

        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::findMagicComment):
        * platform/text/RegularExpression.cpp:
        (WebCore::RegularExpression::match):
            - Don't pass length.

2012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112553.
        http://trac.webkit.org/changeset/112553
        https://bugs.webkit.org/show_bug.cgi?id=82638

        It made all tests crash on Qt WK2 (Requested by Ossy_away on
        #webkit).

        * Modules/geolocation/Geolocation.cpp:
        (WebCore::Geolocation::stop):
        (WebCore::Geolocation::lastPosition):
        (WebCore::Geolocation::requestPermission):
        (WebCore::Geolocation::startUpdating):
        (WebCore::Geolocation::stopUpdating):
        * Modules/geolocation/Geolocation.h:
        (WebCore):
        * Modules/geolocation/GeolocationController.cpp:
        * Modules/geolocation/GeolocationController.h:
        * WebCore.exp.in:
        * page/GeolocationClient.h:
        (WebCore):
        (GeolocationClient):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        (WebCore):
        (PageClients):
        (Page):
        (WebCore::Page::geolocationController):

2012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        HashMap<>::add should return a more descriptive object
        https://bugs.webkit.org/show_bug.cgi?id=71063

        Reviewed by Ryosuke Niwa.

        Update code to use AddResult instead of a pair. No new tests, just a refactoring.

        * Modules/webdatabase/SQLTransactionCoordinator.cpp:
        (WebCore::SQLTransactionCoordinator::acquireLock):
        * Modules/webdatabase/chromium/QuotaTracker.cpp:
        (WebCore::QuotaTracker::updateDatabaseSize):
        * bindings/js/DOMObjectHashTableMap.h:
        (WebCore::DOMObjectHashTableMap::get):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::cacheDOMStructure):
        * bindings/js/JSDOMBinding.h:
        (WebCore::cacheWrapper):
        * bindings/js/JSDOMGlobalObject.h:
        (WebCore::getDOMConstructor):
        * bindings/js/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::addListener):
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::startObjectInternal):
        (WebCore::CloneSerializer::write):
        * bindings/v8/NPV8Object.cpp:
        (WebCore::npCreateV8ScriptObject):
        * bridge/IdentifierRep.cpp:
        (WebCore::IdentifierRep::get):
        * bridge/NP_jsobject.cpp:
        (ObjectMap::add):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::logUnimplementedPropertyID):
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        (WebCore::CSSFontSelector::getFontData):
        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::getFontData):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyCounter::applyInheritValue):
        (WebCore::ApplyPropertyCounter::applyValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSValuePool.cpp:
        (WebCore::CSSValuePool::createIdentifierValue):
        (WebCore::CSSValuePool::createColorValue):
        (WebCore::CSSValuePool::createValue):
        (WebCore::CSSValuePool::createFontFamilyValue):
        (WebCore::CSSValuePool::createFontFaceValue):
        * dom/CheckedRadioButtons.cpp:
        (WebCore::RadioButtonGroup::add):
        (WebCore::CheckedRadioButtons::addButton):
        * dom/ChildListMutationScope.cpp:
        (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
        * dom/Document.cpp:
        (WebCore::Document::windowNamedItems):
        (WebCore::Document::documentNamedItems):
        (WebCore::Document::getCSSCanvasElement):
        (WebCore::Document::getItems):
        * dom/DocumentEventQueue.cpp:
        (WebCore::DocumentEventQueue::enqueueEvent):
        (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
        (WebCore::DocumentEventQueue::pendingEventTimerFired):
        * dom/DocumentOrderedMap.cpp:
        (WebCore::DocumentOrderedMap::add):
        * dom/EventListenerMap.cpp:
        (WebCore::EventListenerMap::add):
        * dom/Node.cpp:
        (WebCore::Node::dumpStatistics):
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        (WebCore::Node::getElementsByName):
        (WebCore::Node::getElementsByClassName):
        (WebCore::Node::collectMatchingObserversForMutation):
        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::init):
        * dom/SpaceSplitString.cpp:
        (WebCore::SpaceSplitStringData::create):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateAttributeStyle):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::append):
        * inspector/DOMPatchSupport.cpp:
        (WebCore::DOMPatchSupport::diff):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::SelectorProfile::commitSelector):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::performSearch):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::setValue):
        (WebCore::InspectorObject::setObject):
        (WebCore::InspectorObject::setArray):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::addEntry):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::pageGroup):
        (WebCore::PageGroup::addVisitedLink):
        (WebCore::PageGroup::addUserScriptToWorld):
        (WebCore::PageGroup::addUserStyleSheetToWorld):
        * page/SecurityPolicy.cpp:
        (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
        * page/TouchAdjustment.cpp:
        (WebCore::TouchAdjustment::compileSubtargetList):
        * platform/cf/BinaryPropertyList.cpp:
        (WebCore::BinaryPropertyListPlan::writeInteger):
        (WebCore::BinaryPropertyListPlan::writeString):
        (WebCore::BinaryPropertyListPlan::writeIntegerArray):
        * platform/graphics/blackberry/LayerTiler.cpp:
        (WebCore::LayerTiler::addTileJob):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::findOrMakeClone):
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::revalidateTiles):
        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
        (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
        (WebCore::getDerivedFontData):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
        (WebCore::initializeATSUStyle):
        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
        (WebCore::SimpleFontData::getCFStringAttributes):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
        * platform/graphics/wince/FontPlatformData.cpp:
        (WebCore::FixedSizeFontData::create):
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::getStyleContext):
        * platform/mac/ThreadCheck.mm:
        (WebCoreReportThreadViolation):
        * platform/network/HTTPHeaderMap.cpp:
        (WebCore::HTTPHeaderMap::add):
        * platform/network/HTTPHeaderMap.h:
        (HTTPHeaderMap):
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::addHTTPHeaderField):
        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::add):
        (WebCore::PluginDatabase::loadPersistentMetadataCache):
        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::PluginDatabase::getPluginPathsInDirectories):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addPercentHeightDescendant):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::setLogicalWidthForTextRun):
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::setRenderBoxRegionInfo):
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource):
        * storage/StorageMap.cpp:
        (WebCore::StorageMap::setItem):
        (WebCore::StorageMap::importItem):
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::addPendingResource):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::setRequestHeaderInternal):
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunId::evaluate):
        * xml/XPathPath.cpp:
        (WebCore::XPath::LocationPath::evaluate):
        * xml/XPathPredicate.cpp:
        (WebCore::XPath::Union::evaluate):

2012-03-29  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: improve window selection accuracy in vertical overview of timeline panel
        https://bugs.webkit.org/show_bug.cgi?id=82625

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineVerticalOverview):
        (WebInspector.TimelineVerticalOverview.prototype._renderBars): preserve actual padding used while rendering bars.
        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): account for outer and inter-bars padding when calculating bar offsets.

2012-03-29  Mark Pilgrim  <pilgrim@chromium.org>

        GEOLOCATION should be implemented as Page Supplement
        https://bugs.webkit.org/show_bug.cgi?id=82228

        Reviewed by Adam Barth.

        Geolocation now uses the Supplement interface instead of
        keeping an instance variable on Page. This allows us to
        remove all geolocation-related functions, variables, and
        ifdefs out of Page and into Modules/geolocation/.

        * Modules/geolocation/Geolocation.cpp:
        (WebCore::Geolocation::stop):
        (WebCore::Geolocation::lastPosition):
        (WebCore::Geolocation::requestPermission):
        (WebCore::Geolocation::startUpdating):
        (WebCore::Geolocation::stopUpdating):
        * Modules/geolocation/Geolocation.h:
        (WebCore):
        * Modules/geolocation/GeolocationController.cpp:
        (WebCore::GeolocationController::supplementName):
        (WebCore):
        (WebCore::provideGeolocationTo):
        * Modules/geolocation/GeolocationController.h:
        (GeolocationController):
        (WebCore::GeolocationController::from):
        * WebCore.exp.in:
        * page/GeolocationClient.h:
        (WebCore):
        (GeolocationClient):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        (WebCore):
        (PageClients):
        (Page):

2012-03-29  John Bates  <jbates@google.com>

        Sync up WebKit TraceEvent.h with chromium trace_event.h
        https://bugs.webkit.org/show_bug.cgi?id=82527

        Reviewed by James Robinson.

        * platform/chromium/TraceEvent.h:

2012-03-29  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: subtree disapears from <iframe> after loading
        https://bugs.webkit.org/show_bug.cgi?id=76552

        Reviewed by Yury Semikhatsky.

        The problem was that content document subtree was not unbound upon iframe re-push.
        Upon owner element refresh content document was not sent to the frontend
        since backend assumed that front-end has already had the up-to-date version.

        Test: inspector/elements/iframe-load-event.html

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::loadEventFired):

2012-03-29  Dana Jansens  <danakj@chromium.org>

        [chromium] Remove unneeded code+fixmes from CCOcclusionTracker
        https://bugs.webkit.org/show_bug.cgi?id=82380

        Reviewed by Adrienne Walker.

        The current occlusion was exposed on the occlusion tracker for the
        transition over to culling 2.0 which has landed, so we can remove
        it now. It still had one use in unit tests which is moved to a
        test subclass.

        Above test subclass already existed in the occlusion tracker tests,
        so pulled it out to a common file CCOcclusionTrackerTestCommon.h
        so that other unit tests can use it to get at occlusion internals.

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:

2012-03-29  Joseph Pecoraro  <pecoraro@apple.com>

        <http://webkit.org/b/82558> Toggling <input type="range"> readonly or disabled state while active breaks all click events

        Test: fast/forms/range/range-drag-when-toggled-disabled.html

        Reviewed by Kent Tamura.

        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::defaultEventHandler):
        A slider can toggle its readonly or disabled state while in the middle
        of dragging, in those cases we should cancel the drag and perform cleanup.

2012-03-29  Adam Klein  <adamk@chromium.org>

        Factor out common post-insertion logic in ContainerNode
        https://bugs.webkit.org/show_bug.cgi?id=82544

        Reviewed by Ryosuke Niwa.

        appendChild, insertBefore, and replaceChild all share a great deal of logic.
        This patch factors out the "post-insertion" logic that deals with
        notifying parents that their children changed and notifying children
        that they've been added to the tree.

        Besides reducing code duplication, this is in preparation for moving
        this post-insertion notification later in the insertion process.

        No new tests, no change in behavior.

        * dom/ContainerNode.cpp:
        (WebCore):
        (WebCore::ContainerNode::insertBefore): Factor out shared logic, remove unnecessary "prev" variable.
        (WebCore::ContainerNode::replaceChild): ditto.
        (WebCore::ContainerNode::appendChild): ditto.
        (WebCore::updateTreeAfterInsertion): New helper method encapsulating shared logic.

2012-03-29  Tony Chang  <tony@chromium.org>

        Need to implement flex-line-pack
        https://bugs.webkit.org/show_bug.cgi?id=70794

        Reviewed by Ojan Vafai.

        Tests: css3/flexbox/multiline-line-pack-horizontal-column.html
               css3/flexbox/multiline-line-pack.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
        (WebCore::initialLinePackingOffset): Similar to initialPackingOffset.
        (WebCore):
        (WebCore::linePackingSpaceBetweenChildren): Similar to packingSpaceBetweenChildren.
        (WebCore::RenderFlexibleBox::packFlexLines): Move lines based on flex-line-pack.
            Note that we don't need to relayout on stretch because
            alignChildren will do that for us (only auto size needs stretching).
        (WebCore::RenderFlexibleBox::flipForWrapReverse): Pull out the initial
            cross axis offset before calling packFlexLines because we can
            move the the line contexts.
        * rendering/RenderFlexibleBox.h:

2012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: SnippetsScriptMapping should process existing snippets on load.
        https://bugs.webkit.org/show_bug.cgi?id=82619

        Reviewed by Pavel Feldman.

        SnippetsScriptMapping now loads existing snippets on creation.
        Otherwise scripts panel shows snippets created during current session only.
        Drive-by ScriptsNavigator closure compilation fix.

        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsModel.prototype.set get snippets):
        (WebInspector.SnippetsScriptMapping):
        (WebInspector.SnippetsScriptMapping.prototype._handleSnippetAdded):
        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):

2012-03-29  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: check more likely condition first in HeapSnapshot._buildAggregates
        https://bugs.webkit.org/show_bug.cgi?id=82621

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js: selfSize === 0 is quite rare, moving this condition
        to the first place saves 1 of 6 secs on the heap profiler perf test.
        (WebInspector.HeapSnapshot.prototype._buildAggregates):
        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes): root node is always the first
        one and is the only one that doesn't have dominator, so we may start iterating nodes from
        the second node and avoid additional check in the loop.

2012-03-29  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: "go to the previous panel" shortcut is painful to maintain
        https://bugs.webkit.org/show_bug.cgi?id=82602

        Reviewed by Vsevolod Vlasov.

        Present go to previous panel shortcut "Cmd - Left" is painful to support since we have
        more and more free flow editing capabilities (where Cmd - Left is handled by the editor).
        Remaping it to Cmd - Option - [ (]) /  (Ctrl - Alt - [ (]) ).

        Drive-by: de-capitalize captions from the settings panel.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._registerShortcuts):
        * inspector/front-end/InspectorView.js:
        (WebInspector.InspectorView.prototype._keyDown):
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._registerShortcuts):
        (WebInspector.TimelinePanel.prototype._contextMenu):
        * inspector/front-end/inspector.js:
        (WebInspector._registerShortcuts):

2012-03-29  Andrey Kosyakov  <caseq@chromium.org>

        Unreviewed, rolling out r112531.
        http://trac.webkit.org/changeset/112531
        https://bugs.webkit.org/show_bug.cgi?id=82616

        Broke timeline overview selection

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewWindow):

2012-03-28  Dirk Schulze  <krit@webkit.org>

        Introduce CSSParserMode in all classes
        https://bugs.webkit.org/show_bug.cgi?id=82335

        Reviewed by Ryosuke Niwa.

        Introduce the new CSSParserMode enum to more classes. SVG classes make use of SVGAttributeMode for CSS parsing already.
        But SVGAttributeMode does not differ from CSSQuirksMode at the moment. This will change with a followup patch on bug 46112.

        No new tests. No change of functionality. Everything gets covered by existing tests.

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::setCSSStyleSheet):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::insertRule):
        * css/CSSParser.cpp: Move private functions away from strict boolean and make use of CSSParserMode instead.
        (WebCore):
        (WebCore::parseColorValue):
        (WebCore::parseSimpleLengthValue):
        (WebCore::CSSParser::parseFontFaceValue):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        (WebCore::CSSParser::createPageRule):
        (WebCore::CSSParser::createKeyframeRule):
        * css/CSSParser.h: Removed constructor with boolean argument. We just use the CSSParserMode enum now.
        (CSSParser):
        * css/CSSParserMode.h:
        (strictToCSSParserMode): New helper function to convert boolean to CSSParserMode.
        (isStrictParserMode): Helper function that returns true if argument is CSSStrictMode.
        * css/CSSRule.h:
        (WebCore::CSSRule::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        (WebCore::CSSStyleSheet::insertRule):
        (WebCore::CSSStyleSheet::parseString):
        (WebCore::CSSStyleSheet::parseStringAtLine):
        * css/CSSStyleSheet.h:
        (CSSStyleSheet):
        (WebCore::CSSStyleSheet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we set an enum now.
        (WebCore::CSSStyleSheet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
        * css/MediaList.cpp:
        (WebCore::MediaQuerySet::parse):
        (WebCore::MediaQuerySet::add):
        (WebCore::MediaQuerySet::remove):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::StylePropertySet):
        (WebCore::StylePropertySet::setProperty):
        (WebCore::StylePropertySet::parseDeclaration):
        * css/StylePropertySet.h: Use unsigned member variables to store the parser mode.  
        (WebCore::StylePropertySet::create):
        (WebCore::StylePropertySet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we get an enum now. This gets converted to unsigned internally.
        (WebCore::StylePropertySet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
        (StylePropertySet):
        * css/StyleSheet.h:
        (StyleSheet):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::insertRule):
        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::setMatrixValue):
        * dom/Document.cpp:
        (WebCore::Document::webkitGetFlowByName):
        (WebCore::Document::pageUserSheet):
        (WebCore::Document::pageGroupUserSheets):
        * dom/Element.cpp:
        (WebCore::Element::webkitMatchesSelector):
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::ensureInlineStyle):
        (WebCore::ElementAttributeData::ensureMutableInlineStyle):
        (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
        * dom/Node.cpp:
        (WebCore::Node::querySelector):
        (WebCore::Node::querySelectorAll):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::parseStyleSheet):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::createSheet):
        * html/HTMLElement.cpp:
        (WebCore::StyledElement::copyNonAttributeProperties):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setFont):
        * html/shadow/ContentSelectorQuery.cpp:
        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        * svg/SVGElementRareData.h:
        (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::getPresentationAttribute):
        * xml/XSLStyleSheet.h:
        (XSLStyleSheet):
        * xml/XSLStyleSheetLibxslt.cpp:
        (WebCore::XSLStyleSheet::parseString):
        * xml/XSLStyleSheetQt.cpp:
        (WebCore::XSLStyleSheet::parseString):

2012-03-29  Sanghyun Park  <sh919.park@samsung.com>

        Fix the error type in JSAudioBufferSourceNodeCustom to pass layout test.
        https://bugs.webkit.org/show_bug.cgi?id=81639

        Reviewed by Eric Carlson.

        Test : LayoutTest/webaudio/audiobuffersource-channels.html

        * bindings/js/JSAudioBufferSourceNodeCustom.cpp:

2012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Existing UISourceCode should be loaded on scripts panel creation/reset.
        https://bugs.webkit.org/show_bug.cgi?id=82614

        Reviewed by Pavel Feldman.

        UISourceCode are now loaded from DebuggerPresentationModel on scripts panel creation/reset.
        This is needed to show snippets that are loaded before scripts panel creation and are not removed on navigation.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
        (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
        (WebInspector.ScriptsPanel.prototype._reset):
        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):

2012-03-29  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
        https://bugs.webkit.org/show_bug.cgi?id=82616

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewWindow): Explicitly handle single click on overview by creating a minimal window around cursor.
        (WebInspector.TimelineOverviewWindow.prototype._resizeWindowMinimum):

2012-03-29  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

        Unavailable pre-processor macro in non-Qt environments
        https://bugs.webkit.org/show_bug.cgi?id=82042

        Reviewed by Simon Hausmann.

        This patch removes the use of the macro QT_VERSION_CHECK() because, in
        non-Qt environments, the pre-processors raises an error. Instead of
        calling the macro to generate the version number, the version is
        expressed directly.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (SharedGLData): remove pre-processor macro for Qt version check.

2012-03-29  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: event details popover in Timeline panel displays invalid time offset
        https://bugs.webkit.org/show_bug.cgi?id=82611

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.prototype.addRecord): use time in seconds, not raw model time for minimumRecordTime.

2012-03-29  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: use canvas to render bars in "vertical overview" mode
        https://bugs.webkit.org/show_bug.cgi?id=82606

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelineOverviewPane.js: Use canvas instead of DOM for rendering vertical overview bars.
        (WebInspector.TimelineVerticalOverview):
        (WebInspector.TimelineVerticalOverview.prototype.update):
        (WebInspector.TimelineVerticalOverview.prototype._renderBars):
        (WebInspector.TimelineVerticalOverview.prototype._renderBar):
        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
        * inspector/front-end/timelinePanel.css: Drop styles previously used for DOM-based vertical overview rendering.
        (.timeline-vertical-overview-bars):

2012-03-29  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: timeline overview window selection is not reset upon clear/record
        https://bugs.webkit.org/show_bug.cgi?id=82603

        Reviewed by Pavel Feldman.

        - TimelineOverviewPane.reset() -> _reset();
        - perform update() from reset();
        - perform reset() upon RecordsCleared event from the model.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype._reset):
        (WebInspector.TimelineVerticalOverview):
        (WebInspector.TimelineVerticalOverview.prototype.update):
        (WebInspector.TimelineVerticalOverview.prototype._renderBars):
        (WebInspector.TimelineVerticalOverview.prototype._renderBar):
        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
        * inspector/front-end/timelinePanel.css:
        (.timeline-vertical-overview-bars):

2012-03-29  Zalan Bujtas  <zbujtas@gmail.com>

        Remove redundant updateViewportArguments() call when page is restored from page cache.
        https://bugs.webkit.org/show_bug.cgi?id=82500

        Reviewed by Kenneth Rohde Christiansen.

        Document::updateViewportArguments() is called twice, while restoring a page from page cache.
        First, it is called when the document is set on the mainframe and later, it is called
        when page cache finished the restoration. Since viewport arguments don't change between
        the 2 calls, it's safe to remove the second.

        Manual test added. Viewport value updates heavily depend on UI process code.

        * dom/Document.cpp:
        (WebCore::Document::documentDidResumeFromPageCache):

2012-03-29  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Add Internal test support for blackberry porting.
        https://bugs.webkit.org/show_bug.cgi?id=82597

        Reviewed by Rob Buis.

        No new tests, just the build system enhancement for BlackBerry porting.

        * UseJSC.cmake:

2012-03-28  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
        https://bugs.webkit.org/show_bug.cgi?id=82453

        When heap snapshot is completely loaded move nodes and containment edges
        into two separate arrays. This way we don't need _nodeIndex and _nodePosition
        maps to go from node offset inside the raw snapshot to its index and back, instead
        we may just divide node offset by the number of node fields to get node index. After
        the nodes and containment edges are separated original array (_nodes) is dropped.
        All front-end code was switched to the new representation.

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotRetainerEdge):
        (WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
        (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
        (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
        (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
        (WebInspector.HeapSnapshotNode.prototype.get edgesCount):
        (WebInspector.HeapSnapshotNode.prototype.get rawEdges):
        (WebInspector.HeapSnapshotNode.prototype.get retainers):
        (WebInspector.HeapSnapshotNode.prototype.get _nodes):
        (WebInspector.HeapSnapshotNode.prototype._firstEdgeIndex):
        (WebInspector.HeapSnapshotNode.prototype._afterLastEdgeIndex):
        (WebInspector.HeapSnapshotNode.prototype.get _nextNodeIndex):
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype._splitNodesAndContainmentEdges):
        (WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
        (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
        (WebInspector.HeapSnapshot.prototype._buildRetainers):
        (WebInspector.HeapSnapshot.prototype.dispose):
        (WebInspector.HeapSnapshot.prototype.get maxNodeId):
        (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
        (WebInspector.HeapSnapshot.prototype._bfs):
        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
        (WebInspector.HeapSnapshot.prototype._getDominatedIndex):
        (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):

2012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Add m_targetType to WorkerScriptLoader
        https://bugs.webkit.org/show_bug.cgi?id=82574

        Reviewed by Rob Buis.

        Just as Chromium porting blackberry porting is using m_targetType also.

        * workers/WorkerScriptLoader.h:
        (WorkerScriptLoader):

2012-03-29  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
        https://bugs.webkit.org/show_bug.cgi?id=82570

        Reviewed by Rob Buis.

        No new tests, no change in functionality.

        * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
        (WebCore::GraphicsContext3D::setErrorMessageCallback): Add an empty implementation.
        (WebCore):

2012-03-29  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Clean up ImageBufferData
        https://bugs.webkit.org/show_bug.cgi?id=82444

        Reviewed by Rob Buis.

        No behavior changes, no new tests.

        * platform/graphics/blackberry/skia/ImageBufferDataSkia.h:
        (ImageBufferData): Remove unused member variable m_buffer and change the type
        of m_platformLayer from LayerWebKitThread to CanvasLayerWebKitThread.

2012-03-28  Antti Koivisto  <antti@apple.com>

        Split WebKitCSSKeyframeRule into internal and CSSOM types 
        https://bugs.webkit.org/show_bug.cgi?id=82490 

        Reviewed by Andreas Kling.

        WebKitCSSKeyframeRule is a CSSOM type and should not be used internally.
        
        - Add StyleKeyframe as the internal data structure for keyframes.
        - WebKitCSSKeyframeRule becomes a wrapper for StyleKeyframe.
        - Use StyleKeyframe internally so WebKitCSSKeyframeRules are created on CSSOM access only.

        * css/CSSGrammar.y:
        
            Use StyleKeyframes instead of WebKitCSSKeyframeRules.
        
        * css/CSSMediaRule.h:
        (CSSMediaRule):
        (WebCore::CSSMediaRule::length):
        (WebCore::CSSMediaRule::item):
        
            Adapt to LiveCSSRuleList changes.
        
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseKeyframeRule):
        (WebCore::CSSParser::createKeyframe):
        * css/CSSParser.h:        
        (WebCore):
        (CSSParser):
        
            Construct StyleKeyframes.
        
        * css/CSSRuleList.h:
        (WebCore::LiveCSSRuleList::length):
        (WebCore::LiveCSSRuleList::item):

            Make LiveCSSRuleList call rule item()/length() to avoid accessor duplication.
    
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        * css/WebKitCSSKeyframeRule.cpp:
        
            Use StyleKeyframe.
            Make 0% and 100% keyframes static.
        
        (WebCore):
        (WebCore::StyleKeyframe::setProperties):
        (WebCore::StyleKeyframe::parseKeyString):
        (WebCore::StyleKeyframe::cssText):
        (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
        (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
        (WebCore::WebKitCSSKeyframeRule::style):
        * css/WebKitCSSKeyframeRule.h:
        (WebCore):
        (WebCore::StyleKeyframe::create):
        (WebCore::StyleKeyframe::keyText):
        (WebCore::StyleKeyframe::setKeyText):
        (StyleKeyframe):
        (WebCore::StyleKeyframe::properties):
        (WebCore::StyleKeyframe::StyleKeyframe):
        (WebKitCSSKeyframeRule):
        (WebCore::WebKitCSSKeyframeRule::keyText):
        (WebCore::WebKitCSSKeyframeRule::setKeyText):
        (WebCore::WebKitCSSKeyframeRule::cssText):
        
            Split to internal and CSSOM wrapper type. The wrapper refs StyleKeyframe. 
        
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
        (WebCore::WebKitCSSKeyframesRule::parserAppendKeyframe):
        (WebCore::WebKitCSSKeyframesRule::insertRule):
        (WebCore::WebKitCSSKeyframesRule::deleteRule):
        (WebCore::WebKitCSSKeyframesRule::findRule):
        (WebCore::WebKitCSSKeyframesRule::findKeyframeIndex):
        (WebCore::WebKitCSSKeyframesRule::cssText):
        (WebCore):
        (WebCore::WebKitCSSKeyframesRule::item):
        * css/WebKitCSSKeyframesRule.h:
        (WebCore):
        (WebCore::WebKitCSSKeyframesRule::keyframes):
        (WebKitCSSKeyframesRule):
        (WebCore::WebKitCSSKeyframesRule::length):
        
            Keep StyleKeyframes and the wrappers (WebKitCSSKeyframeRules) in separate vectors.
            Construct the wrapper vector and wrappers themselves on demand.
            Keep the vectors in sync during mutations.
        
        * css/WebKitCSSRegionRule.h:
        
            Adapt to LiveCSSRuleList changes.

2012-03-29  Zeno Albisser  <zeno@webkit.org>

        Fieldset disabled attribute does not work.
        https://bugs.webkit.org/show_bug.cgi?id=58837

        Make HTMLFormControlElements inherit the disabled state
        from HTMLFieldSetElement ancestors. Subordinates of the
        first HTMLLegendElement in a fieldset will never be disabled.

        Patch by Zeno Albisser <zeno@webkit.org>

        Test: fast/forms/fieldset-disabled.html

        Reviewed by Kent Tamura.

        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
        (WebCore):
        (WebCore::HTMLFieldSetElement::legend):
        * html/HTMLFieldSetElement.h:
        (HTMLFieldSetElement):
        * html/HTMLFieldSetElement.idl:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
        (WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
        (WebCore):
        (WebCore::HTMLFormControlElement::parseAttribute):
        (WebCore::HTMLFormControlElement::disabledAttributeChanged):
        (WebCore::HTMLFormControlElement::removedFromTree):
        (WebCore::HTMLFormControlElement::disabled):
        * html/HTMLFormControlElement.h:
        (WebCore):
        (HTMLFormControlElement):

2012-03-29  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Adding two missing release() calls to PeerConnection00.cpp
        https://bugs.webkit.org/show_bug.cgi?id=82584

        Reviewed by Adam Barth.

        No changes that affects functionality.

        * Modules/mediastream/PeerConnection00.cpp:
        (WebCore::PeerConnection00::createOffer):
        (WebCore::PeerConnection00::createAnswer):

2012-03-29  Ryosuke Niwa  <rniwa@webkit.org>

        Pack bitfields in InlineBox for Windows
        https://bugs.webkit.org/show_bug.cgi?id=82578

        Reviewed by Kent Tamura.

        Unlike gcc and clang, MSVC pads each consecutive member variables of the same type in bitfields. e.g. if you have:
        sturct AB {
        unsigned m_1 : 31;
        bool m_2 : 1;
        }
        then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang only allocate
        sizeof(unsigned) * 1 for AB.

        Fixed the bug by packing all bitfields in InlineBox into InlineBoxBitfields and always using either unsigned or int.

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        (WebCore::EllipsisBox::selectionRect):
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/InlineBox.cpp:
        (WebCore):
        (SameSizeAsInlineBox):
        (WebCore::InlineBox::logicalHeight):
        (WebCore::InlineBox::baselinePosition): Moved from the header file since it's a virtual function.
        (WebCore::InlineBox::lineHeight): Ditto.
        (WebCore::InlineBox::deleteLine):
        (WebCore::InlineBox::extractLine):
        (WebCore::InlineBox::attachLine):
        (WebCore::InlineBox::nextOnLineExists):
        (WebCore::InlineBox::clearKnownToHaveNoOverflow):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox):
        (WebCore::InlineBox::isText):
        (WebCore::InlineBox::setIsText):
        (WebCore::InlineBox::hasVirtualLogicalHeight):
        (WebCore::InlineBox::setHasVirtualLogicalHeight):
        (WebCore::InlineBox::isHorizontal):
        (WebCore::InlineBox::setIsHorizontal):
        (WebCore::InlineBox::isConstructed):
        (WebCore::InlineBox::setConstructed):
        (WebCore::InlineBox::setExtracted):
        (WebCore::InlineBox::setFirstLineStyleBit):
        (WebCore::InlineBox::isFirstLineStyle):
        (InlineBox):
        (WebCore::InlineBox::bidiLevel):
        (WebCore::InlineBox::setBidiLevel):
        (WebCore::InlineBox::direction):
        (WebCore::InlineBox::isDirty):
        (WebCore::InlineBox::markDirty):
        (WebCore::InlineBox::expansion):
        (WebCore::InlineBox::verticalAlign):
        (WebCore::InlineBox::knownToHaveNoOverflow):
        (WebCore::InlineBox::dirOverride):
        (WebCore::InlineBox::setDirOverride):
        (InlineBoxBitfields):
        (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
        (WebCore::InlineBox::InlineBoxBitfields::bidiEmbeddingLevel):
        (WebCore::InlineBox::InlineBoxBitfields::setBidiEmbeddingLevel):
        (WebCore::InlineBox::InlineBoxBitfields::determinedIfNextOnLineExists):
        (WebCore::InlineBox::InlineBoxBitfields::setDeterminedIfNextOnLineExists):
        (WebCore::InlineBox::InlineBoxBitfields::nextOnLineExists):
        (WebCore::InlineBox::InlineBoxBitfields::setNextOnLineExists):
        (WebCore::InlineBox::InlineBoxBitfields::expansion):
        (WebCore::InlineBox::InlineBoxBitfields::setExpansion):
        (WebCore::InlineBox::endsWithBreak):
        (WebCore::InlineBox::setEndsWithBreak):
        (WebCore::InlineBox::hasEllipsisBox):
        (WebCore::InlineBox::hasSelectedChildren):
        (WebCore::InlineBox::setHasSelectedChildren):
        (WebCore::InlineBox::setHasEllipsisBox):
        (WebCore::InlineBox::hasHyphen):
        (WebCore::InlineBox::setHasHyphen):
        (WebCore::InlineBox::canHaveLeadingExpansion):
        (WebCore::InlineBox::setCanHaveLeadingExpansion):
        (WebCore::InlineBox::setExpansion):
        (WebCore::InlineBox::extracted):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addToLine):
        (WebCore::InlineFlowBox::removeChild):
        (WebCore::InlineFlowBox::extractLine):
        (WebCore::InlineFlowBox::attachLine):
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
        (WebCore::InlineFlowBox::requiresIdeographicBaseline):
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
        (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
        (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::destroy):
        (WebCore::InlineTextBox::logicalOverflowRect):
        (WebCore::InlineTextBox::setLogicalOverflowRect):
        (WebCore::InlineTextBox::baselinePosition):
        (WebCore::InlineTextBox::lineHeight):
        (WebCore::InlineTextBox::localSelectionRect):
        (WebCore::InlineTextBox::extractLine):
        (WebCore::InlineTextBox::attachLine):
        (WebCore::InlineTextBox::placeEllipsisBox):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintDecoration):
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        (WebCore::InlineTextBox::paintCompositionUnderline):
        (WebCore::InlineTextBox::offsetForPosition):
        (WebCore::InlineTextBox::positionForOffset):
        (WebCore::InlineTextBox::constructTextRun):
        * rendering/InlineTextBox.h:
        (InlineTextBox):
        (WebCore::InlineTextBox::setExpansion):
        (WebCore::InlineTextBox::expansionBehavior):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::constructLine):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeTextRun):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::baselinePosition): Moved from the header file since it's a virtual function.
        (WebCore::RootInlineBox::lineHeight): Ditto.
        (WebCore::RootInlineBox::paint):
        (WebCore::RootInlineBox::ascentAndDescentForBox):
        (WebCore::RootInlineBox::verticalPositionForBox):
        * rendering/RootInlineBox.h:
        (RootInlineBox):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::constructTextRun):
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGInlineTextBox):

2012-03-29  hayato@chromium.org  <hayato@chromium.org>

        Let focus navigation be compliant with Shadow DOM spec.
        https://bugs.webkit.org/show_bug.cgi?id=78588

        Reviewed by Dimitri Glazkov.

        Re-landing r112500. Fixed an assertion failure on ReifiedTreeTraversal.

        Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.

        According to the Shadow DOM spec:
        The shadow DOM navigation order sequence is inserted into the document navigation order:
        1. immediately after the shadow host, if the shadow host is focusable; or
        2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.

        Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
        since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
        Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.

        Implementation notes:
        Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
        Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
        To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
        it does not skip a non-focusable shadow host in current focus scope.
        After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
        considering a nested focus scope inside of a shadow host or iframe.
        To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.

        This change does not affect an existing behavior if a shadow dom is not involved.

        Test: fast/dom/shadow/focus-navigation.html

        * dom/Element.cpp:
        (WebCore::Element::focus):
        * dom/ReifiedTreeTraversal.cpp:
        (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
        * page/FocusController.cpp:
        (WebCore::isShadowHost):
        (WebCore):
        (WebCore::FocusScope::FocusScope):
        (WebCore::FocusScope::rootNode):
        (WebCore::FocusScope::owner):
        (WebCore::FocusScope::focusScopeOf):
        (WebCore::FocusScope::focusScopeOwnedByShadowHost):
        (WebCore::FocusScope::focusScopeOwnedByIFrame):
        (WebCore::hasCustomFocusLogic):
        (WebCore::isNonFocusableShadowHost):
        (WebCore::isFocusableShadowHost):
        (WebCore::adjustedTabIndex):
        (WebCore::shouldVisit):
        (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
        (WebCore::FocusController::advanceFocusInDocumentOrder):
        (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
        (WebCore::FocusController::findFocusableNodeRecursively):
        (WebCore::FocusController::findFocusableNode):
        (WebCore::FocusController::findNodeWithExactTabIndex):
        (WebCore::nextNodeWithGreaterTabIndex):
        (WebCore::previousNodeWithLowerTabIndex):
        (WebCore::FocusController::nextFocusableNode):
        (WebCore::FocusController::previousFocusableNode):
        * page/FocusController.h:
        (WebCore):
        (FocusScope):
        (FocusController):

2012-03-28  Kinuko Yasuda  <kinuko@chromium.org>

        [chromium] Add isolated filesystem type and WebDragData::filesystem_id for drag-and-drop using File/DirectoryEntry.
        https://bugs.webkit.org/show_bug.cgi?id=76826

        Add two helper methods for creating isolated filesystem to the
        PlatformSupport interface.

        Reviewed by David Levin.

        No new tests: tests will be added when app-facing code is added.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-03-29  Vineet Chaudhary  <rgf748@motorola.com>

        Remove custom bindings form Internals.idl of attribute type Array.
        https://bugs.webkit.org/show_bug.cgi?id=82319

        Reviewed by Kentaro Hara.

        Remove custom bindings for Array type and replace Array type with sequence<String>.

        No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
        even after these changes.

        * Target.pri: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
        * UseJSC.cmake: Remove JSInternalsCustom.cpp.
        * UseV8.cmake: Remove V8InternalsCustom.cpp.
        * WebCore.gypi: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
        * WebCore.vcproj/WebCoreTestSupport.vcproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
        * WebCore.xcodeproj/project.pbxproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
        * bindings/js/JSDOMBinding.h:
        (WebCore):
        (WebCore::jsArray): Added new specialize function template for Strings.
        * bindings/scripts/CodeGeneratorJS.pm:
        (JSValueToNative): Add jsArray<String>() to deduce return type.
        (NativeToJSValue): Added check for type String.
        * bindings/scripts/CodeGeneratorV8.pm:
        (JSValueToNative): Add v8Array<String>() to deduce return type.
        (NativeToJSValue): Added check for type String.
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::setJSTestObjSequenceAttr): Modified results from run-binding-tests.
        * bindings/scripts/test/V8/V8TestObj.cpp: Modified results from run-binding-tests.
        (WebCore::TestObjInternal::sequenceAttrAttrSetter):
        * bindings/v8/V8Binding.h: Added new specialize function template for Strings.
        (WebCore):
        (WebCore::v8Array):
        (WebCore::toNativeArray):
        * testing/Internals.idl: Replace Array type with sequence<String>
        * testing/js/JSInternalsCustom.cpp: Removed.
        * testing/v8/V8InternalsCustom.cpp: Removed.

2012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112500.
        http://trac.webkit.org/changeset/112500
        https://bugs.webkit.org/show_bug.cgi?id=82576

        assertion failed on fast/events/tab-test-not-visible-
        imagemap.html on gtk/qt (Requested by hayato on #webkit).

        * dom/Element.cpp:
        (WebCore::Element::focus):
        * page/FocusController.cpp:
        (WebCore):
        (WebCore::shadowRoot):
        (WebCore::isTreeScopeOwner):
        (WebCore::FocusController::transferFocusToElementInShadowRoot):
        (WebCore::hasCustomFocusLogic):
        (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
        (WebCore::FocusController::advanceFocusInDocumentOrder):
        (WebCore::ownerOfTreeScope):
        (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
        (WebCore::FocusController::findFocusableNode):
        (WebCore::nextNodeWithExactTabIndex):
        (WebCore::previousNodeWithExactTabIndex):
        (WebCore::nextNodeWithGreaterTabIndex):
        (WebCore::previousNodeWithLowerTabIndex):
        (WebCore::FocusController::nextFocusableNode):
        (WebCore::FocusController::previousFocusableNode):
        * page/FocusController.h:
        (WebCore):
        (FocusController):

2012-03-28  Kent Tamura  <tkent@chromium.org>

        Add TextFieldDecorationElement::decorate()
        https://bugs.webkit.org/show_bug.cgi?id=82572

        Reviewed by Hajime Morita.

        This change will be needed for Bug 82143.
        No new tests because of no behavior changes yet. This code change
        doesn't affect non-Chromium ports for now.

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
        Remove unnecessary assertion. We should allow multiple UA shadow roots.
        * html/shadow/TextFieldDecorationElement.cpp:
        (WebCore::TextFieldDecorationElement::decorate):
        Added.
        This function adds another ShadowRoot, and it contains one flexible box container.
        The container contains existin ShadowRoot content and the decoration element.
        * html/shadow/TextFieldDecorationElement.h:
        (TextFieldDecorationElement): Add the declaration of decorate().

2012-03-28  Vineet Chaudhary  <rgf748@motorola.com>

        Consider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8InternalsCustom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=82442

        Reviewed by Kentaro Hara.

        No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
        even after these changes.

        * testing/js/JSInternalsCustom.cpp: Remove jsNull() if Vector is empty.
        (WebCore::JSInternals::userPreferredLanguages):
        * testing/v8/V8InternalsCustom.cpp: Remove v8::Null() if Vector is empty.
        (WebCore::V8Internals::userPreferredLanguagesAccessorGetter):

2012-03-28  Hayato Ito  <hayato@chromium.org>

        Let focus navigation be compliant with Shadow DOM spec.
        https://bugs.webkit.org/show_bug.cgi?id=78588

        Reviewed by Dimitri Glazkov.

        Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.

        According to the Shadow DOM spec:
        The shadow DOM navigation order sequence is inserted into the document navigation order:
        1. immediately after the shadow host, if the shadow host is focusable; or
        2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.

        Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
        since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
        Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.

        Implementation notes:
        Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
        Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
        To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
        it does not skip a non-focusable shadow host in current focus scope.
        After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
        considering a nested focus scope inside of a shadow host or iframe.
        To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.

        This change does not affect an existing behavior if a shadow dom is not involved.

        Test: fast/dom/shadow/focus-navigation.html

        * dom/Element.cpp:
        (WebCore::Element::focus):
        * page/FocusController.cpp:
        (WebCore::isShadowHost):
        (WebCore):
        (WebCore::FocusScope::FocusScope):
        (WebCore::FocusScope::rootNode):
        (WebCore::FocusScope::owner):
        (WebCore::FocusScope::focusScopeOf):
        (WebCore::FocusScope::focusScopeOwnedByShadowHost):
        (WebCore::FocusScope::focusScopeOwnedByIFrame):
        (WebCore::hasCustomFocusLogic):
        (WebCore::isNonFocusableShadowHost):
        (WebCore::isFocusableShadowHost):
        (WebCore::adjustedTabIndex):
        (WebCore::shouldVisit):
        (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
        (WebCore::FocusController::advanceFocusInDocumentOrder):
        (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
        (WebCore::FocusController::findFocusableNodeRecursively):
        (WebCore::FocusController::findFocusableNode):
        (WebCore::FocusController::findNodeWithExactTabIndex):
        (WebCore::nextNodeWithGreaterTabIndex):
        (WebCore::previousNodeWithLowerTabIndex):
        (WebCore::FocusController::nextFocusableNode):
        (WebCore::FocusController::previousFocusableNode):
        * page/FocusController.h:
        (WebCore):
        (FocusScope):
        (FocusController):

2012-03-28  Li Yin  <li.yin@intel.com>

        [WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
        https://bugs.webkit.org/show_bug.cgi?id=82307

        Reviewed by Kent Tamura.

        From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
        If the WebSocket openhanding respond included the mismatched
        Sec-WebSocket-Protocol header field, the client must fail the WebSocket Connection.

        Test: http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html

        * Modules/websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::checkResponseHeaders):

2012-03-28  Jessie Berlin  <jberlin@apple.com>

        Fix Windows build after r112482.

        * platform/network/cf/FormDataStreamCFNet.cpp:
        (WebCore::formOpen):
        Do not attempt to use an OS X error code on Windows. Use the POSIX errno instead.

2012-03-28  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
        https://bugs.webkit.org/show_bug.cgi?id=82524

        Reviewed by Dean Jackson.

        RenderLayer::~RenderLayer is calling clearBacking which updated the m_filter with new filters,
        even though they were to be deleted a couple of lines below. This change avoids updating the filters,
        if we are in the "destroyed" state.

        No new tests. This change has no visible results to HTML or JavaScript, so it cannot be tested without a debugger.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::clearBacking):
        * rendering/RenderLayer.h:
        (RenderLayer):

2012-03-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Remove ScriptExecutionContext from NavigatorBattery.idl
        https://bugs.webkit.org/show_bug.cgi?id=82556

        Reviewed by Adam Barth.

        As Bug 73528 comment #71, NavigatorBattery.idl doesn't need to have ScriptExecutionContext.
        Document can be used instead of ScriptExecutionContext.

        Tests: batterystatus/add-listener-from-callback.html
               batterystatus/basic-all-types-of-events.html
               batterystatus/basic-operation.html
               batterystatus/event-after-navigation.html
               batterystatus/multiple-frames.html
               batterystatus/updates.html
               batterystatus/window-property.html

        * Modules/battery/BatteryManager.cpp:
        (WebCore::BatteryManager::create):
        (WebCore::BatteryManager::BatteryManager):
        * Modules/battery/BatteryManager.h:
        (BatteryManager):
        * Modules/battery/NavigatorBattery.cpp:
        (WebCore::NavigatorBattery::webkitBattery):
        * Modules/battery/NavigatorBattery.h:
        (NavigatorBattery):
        * Modules/battery/NavigatorBattery.idl:

2012-03-28  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry]Missing cookies from HTTP response header in Network tab of Web Inspector.
        https://bugs.webkit.org/show_bug.cgi?id=82041

        We shouldn't overwrite cookies of response if there are more than one
        header of Set-Cookie.

        Reviewed by Rob Buis.

        Test: http/tests/cookies/resources/setArraycookies.php

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleNotifyHeaderReceived):

2012-03-28  Noel Gordon  <noel.gordon@gmail.com>

        JPEGImageDecoder: Set frame alpha state before marking a frame complete
        https://bugs.webkit.org/show_bug.cgi?id=82428

        Reviewed by Kenneth Russell.

        r109779 changed JPEG alpha channel handling by marking a JPEG image frame
        as having no alpha _after_ setting the image status frame-complete, which
        prevents the application of image color profiles in some WebGL cases.

        No new tests. The application of the color profile is not guaranteed for
        images used as textures in WebGL. Refer to http://wkb.ug/76498.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::jpegComplete): Set the image frame alpha state
        before marking the image frame status as frame-complete.

2012-03-28  Emil A Eklund  <eae@chromium.org>

        Fix rounding in RenderInline::paintOutlineForLine
        https://bugs.webkit.org/show_bug.cgi?id=82540

        Reviewed by Eric Seidel.

        No new tests, no change in functionality.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutlineForLine):
        Change paintOutlineForLine to pixel snap the left and right edges of the
        lines instead of adding the offset to an already rounded number.

2012-03-28  David Grogan  <dgrogan@chromium.org>

        IndexedDB: don't expose IDBDatabaseError to script
        https://bugs.webkit.org/show_bug.cgi?id=82280

        It's not used anywhere and firefox doesn't expose it.

        Reviewed by Tony Chang.

        Test: storage/indexeddb/removed.html

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
        * Modules/indexeddb/IDBDatabaseError.idl: Removed.
        * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

2012-03-28  Kenichi Ishibashi  <bashi@chromium.org>

        Respects font fallback list during webfonts are loading
        https://bugs.webkit.org/show_bug.cgi?id=76684

        Reviewed by Dimitri Glazkov.

        For layout, use the rest of the fallback list while webfonts are loading.
        If the webfont is loading, it will be given an invalid Unicode Range so that
        font selection mechansim doesn't use the webfont for layout.

        Test: http/tests/webfont/fallback-font-while-loading.html

        * css/CSSSegmentedFontFace.cpp:
        (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading): Added.
        (WebCore):
        (WebCore::CSSSegmentedFontFace::getFontData):

2012-03-28  Mark Rowe  <mrowe@apple.com>

        Update Localizable.strings.

        * English.lproj/Localizable.strings:

2012-03-28  Victor Carbune  <vcarbune@adobe.com>

        Removed particular rendering for the volume slider and used
        css positioning instead (simpler and less prone to errors when
        changes occur).
        https://bugs.webkit.org/show_bug.cgi?id=82150

        Reviewed by Eric Carlson.

        Test: media/video-controls-rendering-toggle-display-none.html

        * css/mediaControls.css: Updated css to correctly render controls.
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
        * css/mediaControlsChromium.css: Updated css to correctly render controls.
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): 
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        * html/shadow/MediaControlElements.cpp: Removed particular renderer.
        (WebCore):
        * html/shadow/MediaControlElements.h: Removed particular renderer.
        (MediaControlVolumeSliderContainerElement):
        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::create): Added an anonymous div container
        for the mute button and volume slider (to be displayed on top of each other)

2012-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110064.
        http://trac.webkit.org/changeset/110064
        https://bugs.webkit.org/show_bug.cgi?id=82537

        The patch leaks the DOM when audio elements are used
        (Requested by sundiamonde on #webkit).

        * bindings/js/JSNodeCustom.cpp:
        (WebCore::isReachableFromDOM):

2012-03-28  Alexey Proskuryakov  <ap@apple.com>

        [Win] Some Blob tests crash in CFNetwork in advanceCurrentStream(FormStreamFields*)
        https://bugs.webkit.org/show_bug.cgi?id=82386
        <rdar://problem/11121501>

        Reviewed by Brady Eidson.

        Covered by existing tests.

        * platform/network/cf/FormDataStreamCFNet.cpp:
        * platform/network/cf/FormDataStreamCFNet.h:
        Moved low level implementation from FormDataStreamMac, and exposed an additional function
        to implement Foundation-based API on top of this.

        * platform/network/mac/FormDataStreamMac.h:
        * platform/network/mac/FormDataStreamMac.mm:
        Rely on toll-free bridging and implementation details to make this work without duplicating
        code.
        Note that httpBodyFromStream is confusing - I don't see how it can work when sending serialized
        requests across process boundary. We probably only get away with this because we don't attempt
        to send requests to UI process once they already have streams associated with them.

        * WebCore.vcproj/WebCore.vcproj: Added missing platform/cf files.

        * platform/cf/FileSystemCF.cpp: Fixed include style.

        * platform/win/FileSystemWin.cpp: (WebCore::fileSystemRepresentation): Ifdef out a broken
        implementation.

2012-03-28  Adrienne Walker  <enne@google.com>

        [chromium] Fix tiled layer assert for huge layers
        https://bugs.webkit.org/show_bug.cgi?id=82486

        Reviewed by James Robinson.

        Test: TiledLayerChromiumTest.hugeLayerUpdateCrash

        TilingData::numTiles() is calculated as the product of two ints and so
        can potentially overflow, causing numTiles() to be incorrect. To avoid
        calling code accidentally falling into this trap, remove this function
        and all code that uses tile index from TilingData.  This requires
        fixing up a bunch of callers of TilingData and CCLayerTilingData.

        Additionally, TilingData::numTiles() has long been a confusing
        function name in some contexts, so rename to bool hasEmptyBounds().

        Also, remove TilingData::intersectDrawQuad because there are no
        clients of that function.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::drawsContent):
        (WebCore::TiledLayerChromium::reserveTextures):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
        (WebCore::TiledLayerChromium::needsIdlePaint):
        (WebCore::TiledLayerChromium::idlePaintRect):
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::tileRect):
        * platform/graphics/chromium/cc/CCLayerTilingData.h:
        (WebCore::CCLayerTilingData::hasEmptyBounds):
        (WebCore::CCLayerTilingData::tileBounds):
        (WebCore::CCLayerTilingData::isEmpty):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::bindContentsTexture):
        (WebCore::CCTiledLayerImpl::appendQuads):
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::create):
        (WebCore::Texture::updateSubRect):
        * platform/graphics/gpu/TilingData.cpp:
        (WebCore::TilingData::tileBounds):
        (WebCore::TilingData::tileBoundsWithBorder):
        (WebCore::TilingData::tileBoundsNormalized):
        * platform/graphics/gpu/TilingData.h:
        (WebCore::TilingData::hasEmptyBounds):
        (TilingData):
        (WebCore::TilingData::assertTile):

2012-03-28  Emil A Eklund  <eae@chromium.org>

        Change FilterOperations::getOutsets to use integers
        https://bugs.webkit.org/show_bug.cgi?id=82535

        Reviewed by Eric Seidel.

        FilterOperations::getOutsets calculates the outsets using integers and
        the values are guranteed to be set to full-pixel values. By changing the
        function signature we communicate this fact better and avoid unnecessary
        type conversions in some cases.

        No new tests.

        * platform/graphics/filters/FilterOperations.cpp:
        (WebCore::FilterOperations::getOutsets):
        * platform/graphics/filters/FilterOperations.h:
        (FilterOperations):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::addVisualEffectOverflow):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::computeRectForRepaint):
        * rendering/style/RenderStyle.h:

2012-03-28  Nate Chapin  <japhet@chromium.org>

        Remove dispatchDidLoadMainResource callback, since no
        port implements it.
        https://bugs.webkit.org/show_bug.cgi?id=82539

        Reviewed by Alexey Proskuryakov.

        No new tests, just deleting dead code.

        * loader/EmptyClients.h:
        (EmptyFrameLoaderClient):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedLoading):
        (WebCore::FrameLoader::mainReceivedCompleteError):
        * loader/FrameLoaderClient.h:
        (FrameLoaderClient):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::receivedError):
        (WebCore::MainResourceLoader::didCancel):

2012-03-28  Enrica Casucci  <enrica@apple.com>

        REGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac platforms.
        https://bugs.webkit.org/show_bug.cgi?id=82497
        <rdar://problem/11140334>

        Reviewed by Brady Eidson.
        
        The revision causing this regression fixed the way data is written to the pasteboard for NSURLPboardType.
        This change fixes the way data is read from the pasteboard for the same pasteboard type.

        No new tests. Fixes the existing one that fails.

        * platform/mac/ClipboardMac.mm:
        (WebCore::absoluteURLsFromPasteboard):
        * platform/mac/PlatformPasteboardMac.mm:
        (WebCore::PlatformPasteboard::stringForType):

2012-03-28  Joe Thomas  <joethomas@motorola.com>

        SL bot is hitting SHOULD NEVER BE REACHED in WebCore::valueForLength() on many tests
        https://bugs.webkit.org/show_bug.cgi?id=82390

        Reviewed by Simon Fraser.

        This is an attempt to fix the MAC SL/Lion Bot issue as this issue is not reproducible locally.
        The assertion happened when length type is Undefined in valueForLength() function but the assertion for Undefined length type
        in RenderBox::computeLogicalWidthInRegionUsing which calls the above said function did not get hit.

        This patch passes Length structure as const reference to Length calculation functions which avoids the call to the copy-constructor.
        And it ensures that the Length structure is not getting modified during copy-construction. 

        * css/LengthFunctions.cpp:
        (WebCore::minimumValueForLength):
        (WebCore::valueForLength):
        (WebCore::floatValueForLength):
        * css/LengthFunctions.h:
        (WebCore):

2012-03-28  Gavin Barraclough  <barraclough@apple.com>

        Yarr: if we're not using the output array, don't populate it!
        https://bugs.webkit.org/show_bug.cgi?id=82519

        Reviewed by Sam Weinig.

        * ForwardingHeaders/runtime/MatchResult.h: Added.
        * ForwardingHeaders/yarr/YarrJIT.h: Added.
            - Added forwarding headers.

2012-03-23  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=81685
        
        [New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
        It derives from RenderFlowThread.
        
        Refactor RenderFlowThread to split out the stuff related to explicit naming into a subclass, RenderNamedFlowThread.
        This allows RenderFlowThread to be a simple base class that involves maintaining the regions themselves.
    
        Reviewed by Julien Chaffraix.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        * dom/NodeRenderingContext.cpp:
        * dom/NodeRenderingContext.h:
        (WebCore):
        (WebCore::NodeRenderingContext::parentFlowRenderer):
        * dom/WebKitNamedFlow.cpp:
        (WebCore::WebKitNamedFlow::WebKitNamedFlow):
        * dom/WebKitNamedFlow.h:
        (WebCore):
        (WebCore::WebKitNamedFlow::create):
        (WebKitNamedFlow):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::collapseAnonymousBoxChild):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::RenderFlowThread):
        (WebCore):
        (WebCore::RenderFlowThread::addRegionToThread):
        (WebCore::RenderFlowThread::removeRegionFromThread):
        (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
        * rendering/RenderFlowThread.h:
        (WebCore):
        * rendering/RenderMultiColumnFlowThread.cpp: Added.
        (WebCore):
        (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
        (WebCore::RenderMultiColumnFlowThread::renderName):
        * rendering/RenderMultiColumnFlowThread.h: Added.
        (WebCore):
        (RenderMultiColumnFlowThread):
        * rendering/RenderNamedFlowThread.cpp: Added.
        (WebCore):
        (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
        (WebCore::RenderNamedFlowThread::renderName):
        (WebCore::RenderNamedFlowThread::nextRendererForNode):
        (WebCore::RenderNamedFlowThread::previousRendererForNode):
        (WebCore::RenderNamedFlowThread::addFlowChild):
        (WebCore::RenderNamedFlowThread::removeFlowChild):
        (WebCore::RenderNamedFlowThread::dependsOn):
        (WebCore::compareRenderRegions):
        (WebCore::RenderNamedFlowThread::addRegionToThread):
        (WebCore::RenderNamedFlowThread::removeRegionFromThread):
        (WebCore::RenderNamedFlowThread::checkInvalidRegions):
        (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
        (WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
        (WebCore::RenderNamedFlowThread::pushDependencies):
        (WebCore::RenderNamedFlowThread::ensureNamedFlow):
        * rendering/RenderNamedFlowThread.h: Added.
        (WebCore):
        (RenderNamedFlowThread):
        (WebCore::RenderNamedFlowThread::name):
        (WebCore::RenderNamedFlowThread::hasChildren):
        (WebCore::RenderNamedFlowThread::hasChild):
        (WebCore::RenderNamedFlowThread::isRenderNamedFlowThread):
        (WebCore::toRenderNamedFlowThread):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::willBeDestroyed):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isRenderNamedFlowThread):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::renderNamedFlowThreadContainer):
        (WebCore::RenderObjectChildList::removeChildNode):
        (WebCore::RenderObjectChildList::appendChildNode):
        (WebCore::RenderObjectChildList::insertChildNode):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::RenderRegion):
        (WebCore::RenderRegion::attachRegion):
        * rendering/RenderRegion.h:
        (WebCore):
        (WebCore::RenderRegion::parentNamedFlowThread):
        (RenderRegion):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeRenderNamedFlowThreads):
        (WebCore::writeLayers):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        (WebCore::RenderView::layout):
        (WebCore::RenderView::styleDidChange):
        (WebCore::RenderView::ensureRenderFlowThreadWithName):
        (WebCore::RenderView::layoutRenderNamedFlowThreads):
        * rendering/RenderView.h:
        (WebCore):
        (RenderView):
        (WebCore::RenderView::hasRenderNamedFlowThreads):
        (WebCore::RenderView::isRenderNamedFlowThreadOrderDirty):
        (WebCore::RenderView::setIsRenderNamedFlowThreadOrderDirty):
        (WebCore::RenderView::renderNamedFlowThreadList):

2012-03-28  Emil A Eklund  <eae@chromium.org>

        Remove unnecessary rounding in RenderLayerBacking
        https://bugs.webkit.org/show_bug.cgi?id=82529

        Reviewed by Eric Seidel.

        Remove rounding that is no longer required now that borderBoxRect returns
        an IntRect.
        
        No new tests.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::startAnimation):
        (WebCore::RenderLayerBacking::startTransition):

2012-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112432.
        http://trac.webkit.org/changeset/112432
        https://bugs.webkit.org/show_bug.cgi?id=82536

        Causes ccs3 layout test asserts (Requested by enne on
        #webkit).

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::drawsContent):
        (WebCore::TiledLayerChromium::reserveTextures):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
        (WebCore::TiledLayerChromium::needsIdlePaint):
        (WebCore::TiledLayerChromium::idlePaintRect):
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::tileRect):
        * platform/graphics/chromium/cc/CCLayerTilingData.h:
        (WebCore::CCLayerTilingData::numTiles):
        (WebCore::CCLayerTilingData::tileBounds):
        (WebCore::CCLayerTilingData::isEmpty):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::bindContentsTexture):
        (WebCore::CCTiledLayerImpl::appendQuads):
        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::platformApplySoftware):
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::create):
        (WebCore::Texture::updateSubRect):
        * platform/graphics/gpu/TilingData.cpp:
        (WebCore::TilingData::tileBounds):
        (WebCore::TilingData::tileBoundsWithBorder):
        (WebCore::TilingData::tileBoundsNormalized):
        (WebCore::TilingData::intersectDrawQuad):
        (WebCore):
        * platform/graphics/gpu/TilingData.h:
        (WebCore::TilingData::numTiles):
        (WebCore::TilingData::tileIndex):
        (WebCore::TilingData::tileXIndex):
        (WebCore::TilingData::tileYIndex):
        (TilingData):
        (WebCore::TilingData::assertTile):

2012-03-27  Daniel Cheng  <dcheng@chromium.org>

        [chromium] Merge ChromiumDataObject and DataTransferItemListChromium.
        https://bugs.webkit.org/show_bug.cgi?id=82407

        Reviewed by Tony Chang.

        Since ChromiumDataObject is just a very thin wrapper for DataTransferItemListChromium now,
        combine the two and remove a layer of indirection.

        No functionality change, should be covered by existing tests.

        * WebCore.gypi:
        * platform/chromium/ChromiumDataObject.cpp: Replacing DataTransferItemListChromium.
        (WebCore::ChromiumDataObject::createFromPasteboard):
        (WebCore::ChromiumDataObject::create):
        (WebCore::ChromiumDataObject::length):
        (WebCore):
        (WebCore::ChromiumDataObject::item):
        (WebCore::ChromiumDataObject::deleteItem):
        (WebCore::ChromiumDataObject::clearAll):
        (WebCore::ChromiumDataObject::add):
        (WebCore::ChromiumDataObject::clearData):
        (WebCore::ChromiumDataObject::clearAllExceptFiles):
        (WebCore::ChromiumDataObject::types):
        (WebCore::ChromiumDataObject::getData):
        (WebCore::ChromiumDataObject::setData):
        (WebCore::ChromiumDataObject::urlAndTitle):
        (WebCore::ChromiumDataObject::setURLAndTitle):
        (WebCore::ChromiumDataObject::htmlAndBaseURL):
        (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
        (WebCore::ChromiumDataObject::containsFilenames):
        (WebCore::ChromiumDataObject::filenames):
        (WebCore::ChromiumDataObject::addFilename):
        (WebCore::ChromiumDataObject::addSharedBuffer):
        (WebCore::ChromiumDataObject::ChromiumDataObject):
        (WebCore::ChromiumDataObject::findStringItem):
        (WebCore::ChromiumDataObject::internalAddStringItem):
        (WebCore::ChromiumDataObject::internalAddFileItem):
        * platform/chromium/ChromiumDataObject.h:
        (WebCore):
        (ChromiumDataObject):
        * platform/chromium/ChromiumDataObjectItem.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.cpp.
        (WebCore):
        (WebCore::ChromiumDataObjectItem::createFromString):
        (WebCore::ChromiumDataObjectItem::createFromFile):
        (WebCore::ChromiumDataObjectItem::createFromURL):
        (WebCore::ChromiumDataObjectItem::createFromHTML):
        (WebCore::ChromiumDataObjectItem::createFromSharedBuffer):
        (WebCore::ChromiumDataObjectItem::createFromPasteboard):
        (WebCore::ChromiumDataObjectItem::ChromiumDataObjectItem):
        (WebCore::ChromiumDataObjectItem::getAsString):
        (WebCore::ChromiumDataObjectItem::getAsFile):
        (WebCore::ChromiumDataObjectItem::internalGetAsString):
        (WebCore::ChromiumDataObjectItem::isFilename):
        * platform/chromium/ChromiumDataObjectItem.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.h.
        (WebCore):
        (ChromiumDataObjectItem):
        (WebCore::ChromiumDataObjectItem::kind):
        (WebCore::ChromiumDataObjectItem::type):
        (WebCore::ChromiumDataObjectItem::sharedBuffer):
        (WebCore::ChromiumDataObjectItem::title):
        (WebCore::ChromiumDataObjectItem::baseURL):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::files):
        (WebCore::ClipboardChromium::hasData):
        (WebCore::ClipboardChromium::items):
        * platform/chromium/DataTransferItemListChromium.cpp: Removed.
        * platform/chromium/DataTransferItemListChromium.h: Removed.

2012-03-28  Nat Duca  <nduca@chromium.org>

        [chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap
        https://bugs.webkit.org/show_bug.cgi?id=82516

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::swapBuffers):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::swapBuffers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::processScheduledActions):
        * platform/graphics/chromium/cc/CCScheduler.h:
        (WebCore::CCScheduledActionDrawAndSwapResult::CCScheduledActionDrawAndSwapResult):
        (CCScheduledActionDrawAndSwapResult):
        (WebCore):
        (CCSchedulerClient):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-03-26  Eric Uhrhane  <ericu@chromium.org>

        FileWriter has two race conditions
        https://bugs.webkit.org/show_bug.cgi?id=81861

        Reviewed by David Levin.

        Should make current tests less flaky.

        * Modules/filesystem/FileWriter.h:
        * Modules/filesystem/FileWriter.cpp:
        Track the in-flight operation, whether it be an abort/write/truncate.
        Whether an abort comes back as didWrite, didTruncate, or didFail, handle
        it appropriately.  Before this fix, the Chromium implementation would
        assert in two cases:

        If the user calls abort, then write, then abort before the backend
        catches up, we'd send both aborts to the backend, even though it hadn't
        received the write yet.  Chromium's backend asserts if there's an abort
        with no write in progress.  We now record that we've sent an abort and
        are waiting for the response.

        If the user calls abort while a write/truncate is just finishing, on the
        Chromium worker implementation, the completion message could be
        thread-hopping back to WebCore at the
        WorkerAsyncFileWriterCallbacksBridge while the abort is thread-hopping
        in the other direction.  Again, this leads to an abort call to the
        backend with no write in progress, and an assert.  We're now robust to
        completions coming back when we're expecting an abort, and
        https://chromiumcodereview.appspot.com/9764018/ will make the backend
        robust to extra abort calls.

2012-03-27  Ryosuke Niwa  <rniwa@webkit.org>

        Deleting a paragraph of text should not add elements for typing style
        https://bugs.webkit.org/show_bug.cgi?id=82401

        Reviewed by Enrica Casucci.

        This behavior was explicitly supported by DeleteSelectionCommand but it doesn't match TextEdit or Firefox.
        We're changing our behavior to match TextEdit and Firefox in this patch.

        The behavior is tested by an existing test, which was renamed to deleting-text-rests-typing-style.html in this patch.

        Test: editing/execCommand/deleting-text-rests-typing-style.html

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):

2012-03-28  Michal Mocny  <mmocny@google.com>

        [chromium] Add tracing events around CCLayerTreeHostImpl visibility.
        https://bugs.webkit.org/show_bug.cgi?id=82501

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::setVisible):

2012-03-28  Florin Malita  <fmalita@google.com>

        Incorrect foreignObject hit test results when overlapping other SVG elements
        https://bugs.webkit.org/show_bug.cgi?id=82059

        Reviewed by Nikolas Zimmermann.

        Test: svg/hittest/foreign-object-background.svg

        Foreign content needs to be hit-tested atomically due to the (pseudo)
        stacking context established by FOs.

        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
        Hit test all phases on FO HitTestForeground.

2012-03-26  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] layer->clipRect() is not initialized for layers that create a renderSurface.
        https://bugs.webkit.org/show_bug.cgi?id=74147

        Reviewed by Adrienne Walker.

        Added 3 additional unit tests; Modified existing unit tests and layout tests.

        The layer's clipRect and usesLayerClipping information was not
        being initialized for layers that created a renderSurface. (It
        was, however, being initialized for the renderSurface itself.)
        This patch adds a unit test that reproduces that this is an error,
        other unit tests to tightly test the value of clipRect being
        initialized, and adds the logic to properly initialize the
        clipRect.

        Before this patch, this bug was causing flashing on tab-switch on
        the apple iphone page. Even worse, with partial swap enabled, the
        layers would simply disappear, because the first frame the
        clipRect is uninitialized and the layer is not drawn, and the
        second frame onwards, the damage tracker correctly things nothing
        is damaged, so it doesn't draw that layer again until other damage
        causes it to be redrawn.

        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):

2012-03-28  Anders Carlsson  <andersca@apple.com>

        "Sticky" or slow scrolling on some sites
        https://bugs.webkit.org/show_bug.cgi?id=82512
        <rdar://problem/11000372>

        Reviewed by Andreas Kling.

        When we're in the slow mode and have to update the scroll layer position on the main thread,
        get it from the scrolling thread so we'll be in sync with the scrolling tree when the main thread is busy.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::mainFrameScrollPosition):
        (WebCore):
        (WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition):
        * page/scrolling/ScrollingTree.h:

2012-03-28  Adrienne Walker  <enne@google.com>

        [chromium] Fix tiled layer assert for huge layers
        https://bugs.webkit.org/show_bug.cgi?id=82486

        Reviewed by James Robinson.

        Test: TiledLayerChromiumTest.hugeLayerUpdateCrash

        TilingData::numTiles() is calculated as the product of two ints and so
        can potentially overflow, causing numTiles() to be incorrect. To avoid
        calling code accidentally falling into this trap, remove this function
        and all code that uses tile index from TilingData.  This requires
        fixing up a bunch of callers of TilingData and CCLayerTilingData.

        Additionally, TilingData::numTiles() has long been a confusing
        function name in some contexts, so rename to bool hasEmptyBounds().

        Also, remove TilingData::intersectDrawQuad because there are no
        clients of that function.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::drawsContent):
        (WebCore::TiledLayerChromium::reserveTextures):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
        (WebCore::TiledLayerChromium::needsIdlePaint):
        (WebCore::TiledLayerChromium::idlePaintRect):
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::tileRect):
        * platform/graphics/chromium/cc/CCLayerTilingData.h:
        (WebCore::CCLayerTilingData::hasEmptyBounds):
        (WebCore::CCLayerTilingData::tileBounds):
        (WebCore::CCLayerTilingData::isEmpty):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::bindContentsTexture):
        (WebCore::CCTiledLayerImpl::appendQuads):
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::create):
        (WebCore::Texture::updateSubRect):
        * platform/graphics/gpu/TilingData.cpp:
        (WebCore::TilingData::tileBounds):
        (WebCore::TilingData::tileBoundsWithBorder):
        (WebCore::TilingData::tileBoundsNormalized):
        * platform/graphics/gpu/TilingData.h:
        (WebCore::TilingData::hasEmptyBounds):
        (TilingData):
        (WebCore::TilingData::assertTile):

2012-03-28  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: switch Runtime, Network and DOM domains to typed API
        https://bugs.webkit.org/show_bug.cgi?id=81558

        Reviewed by Pavel Feldman.

        Client code is switched to typed API (all InspectorObject and InspectorArray types are
        replaced with generated types from TypeBuilder according to Inspector.json).

        Missing array of int specialization is added. Code generator now has a check against
        misspelled (non-existing) domain names.

        * inspector/CodeGeneratorInspector.py:
        (Generator.go): check against misspelled domain names added.
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluate):
        (WebCore::InjectedScript::callFunctionOn):
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::getProperties):
        (WebCore::InjectedScript::wrapObject):
        (WebCore::InjectedScript::wrapNode):
        (WebCore::InjectedScript::wrapSerializedObject):
        (WebCore::InjectedScript::makeEvalCall):
        * inspector/InjectedScript.h:
        (InjectedScript):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getDocument):
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::querySelectorAll):
        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::getSearchResults):
        (WebCore::InspectorDOMAgent::resolveNode):
        (WebCore::InspectorDOMAgent::getAttributes):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
        (WebCore::InspectorDOMAgent::loadEventFired):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::resourceTypeJson):
        (WebCore::InspectorPageAgent::cachedResourceTypeJson):
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForResourceRequest):
        (WebCore::buildObjectForResourceResponse):
        (WebCore::buildObjectForCachedResource):
        (WebCore::InspectorResourceAgent::willSendRequest):
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
        (WebCore::InspectorResourceAgent::buildInitiatorObject):
        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
        * inspector/InspectorResourceAgent.h:
        (InspectorResourceAgent):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::callFunctionOn):
        (WebCore::InspectorRuntimeAgent::getProperties):
        * inspector/InspectorRuntimeAgent.h:
        (InspectorRuntimeAgent):
        * inspector/InspectorValues.h:
        (InspectorArray):
        (WebCore::InspectorArray::pushInt):
        (WebCore):
        * inspector/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::buildInspectorObject):
        * inspector/ScriptCallFrame.h:
        (ScriptCallFrame):
        * inspector/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::buildInspectorArray):
        * inspector/ScriptCallStack.h:
        (ScriptCallStack):

2012-03-28  Eric Seidel  <eric@webkit.org>

        setNeedsLayout(true, false) is super confusing to read and should use an enum instead
        https://bugs.webkit.org/show_bug.cgi?id=82369

        Reviewed by Julien Chaffraix.

        I replaced all uses of the markParents bool with a MarkingBehavior
        enum (which has two values: MarkContainingBlockChain and MarkOnlyThis).
        I'm not sure the naming is perfect (as it's not clear to me if markParents is
        used to mean the same thing in these 3 functions), but hopefully this code is more
        clear.  I welcome further suggested adjustment from layout experts.

        * page/FrameView.cpp:
        (WebCore::FrameView::scheduleRelayout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::adjustPositionedBlock):
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::layoutPositionedObjects):
        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
        (WebCore::RenderBlock::removePositionedObjects):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
        (WebCore::RenderBlock::adjustBlockChildForPagination):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutRunsAndFloats):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::positionNewFloatOnLine):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::positionLineBox):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        (WebCore::gatherFlexChildrenInfo):
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::layout):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
        * rendering/RenderObject.h:
        (RenderObject):
        (WebCore::RenderObject::setNeedsLayout):
        (WebCore::RenderObject::setChildNeedsLayout):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::layoutSpecialExcludedChild):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        (WebCore::RenderView::layout):
        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::layout):
        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::layout):
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::layout):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::layoutChildren):

2012-03-28  Joseph Pecoraro  <pecoraro@apple.com>

        <http://webkit.org/b/82419> Web Inspector: Create -[DOMNode inspect] from IDL

        Instead of manually creating the method in DOM.mm we can specify it in
        Node.idl and autogenerate part of the interface.

        Reviewed by Timothy Hatcher.

        * bindings/objc/DOM.mm:
        * bindings/objc/DOMPrivate.h:
        Move the call to InspectorController::inspect from here ...

        * dom/Node.h:
        * dom/Node.idl: IDL only in an ObjC block.
        * dom/Node.cpp:
        (WebCore::Node::inspect):
        ... to here.

        * WebCore.xcodeproj/project.pbxproj:
        Add the new generated file so we can Copy it in the build phase.

2012-03-28  Tommy Widenflycht  <tommyw@google.com>

        [chromium] MediaStream API (JSEP): Introducing WebPeerConnection00Handler
        https://bugs.webkit.org/show_bug.cgi?id=82450

        Reviewed by Adam Barth.

        This change removes the default PeerConnection00Handler.cpp from the Chromium build.

        A major overhaul of the existing layout tests is forthcoming.

        * WebCore.gypi:
        * platform/mediastream/PeerConnection00Handler.h:
        (WebCore):
        (PeerConnection00Handler):

2012-03-28  Robert Hogan  <robert@webkit.org>

        [REGRESSION] Web Inspector: column caption delimiters are misaligned in DataGrid
        https://bugs.webkit.org/show_bug.cgi?id=82193

        Reviewed by Yury Semikhatsky.

        Since r111742 column width in fixed layout tables is set to the width of the cell plus its left padding plus its right padding 
        plus half its left border plus half its right border in the collapsing border model. The layout of the panel
        headers in the inspector depended on pre-r111742 behaviour, so ended up misaligned with the content below. To cater for the 
        new method of calculating column width enforce a fixed width for the corner column by removing padding and borders (except collapsed
        borders from adjacent cells) and specify the expected width (15px) minus the expected width of the collapsed borders (1px).

        * inspector/front-end/dataGrid.css:
        (.data-grid th.corner):

2012-03-28  Alexis Menard  <alexis.menard@openbossa.org>

        Increase code sharing between CSSProperty and CSSPropertyLonghand.
        https://bugs.webkit.org/show_bug.cgi?id=82479

        Reviewed by Antti Koivisto.

        Use longhands declarations from CSSPropertyLonghand in CSSProperty to avoid
        code duplication.

        No new tests : refactoring only, we shouldn't have any behavior difference.

        * css/CSSProperty.cpp:
        (WebCore::resolveToPhysicalProperty):
        (WebCore::borderDirections):
        (WebCore):
        (WebCore::CSSProperty::resolveDirectionAwareProperty):

2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Implement snippets renaming in scripts navigator.
        https://bugs.webkit.org/show_bug.cgi?id=82477

        Reviewed by Pavel Feldman.

        Snippets renaming is implemented as editing of snippet name in scripts navigator.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
        (WebInspector.ScriptsNavigator.prototype._fileRenamed):
        (WebInspector.ScriptsNavigator.prototype.rename.commitHandler):
        (WebInspector.ScriptsNavigator.prototype.rename.cancelHandler):
        (WebInspector.ScriptsNavigator.prototype.rename.afterEditing):
        (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
        * inspector/front-end/scriptsPanel.css:
        (#scripts-navigator-tabbed-pane .navigator .base-navigator-tree-element-title.editing):

2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add context menu for snippets control.
        https://bugs.webkit.org/show_bug.cgi?id=82475

        Reviewed by Pavel Feldman.

        This is a preliminary implementation of snippets control using context menu.
        We might want to add a more discoverable one before taking snippets out of experiments.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
        (WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
        (WebInspector.ScriptsNavigator.prototype._handleSnippetContextMenuEvent):
        (WebInspector.ScriptsNavigator.prototype._showSnippetContextMenu):
        (WebInspector.ScriptsNavigator.prototype._handleEvaluateSnippet):
        (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
        (WebInspector.ScriptsNavigator.prototype._handleRemoveSnippet):
        (WebInspector.ScriptsNavigator.prototype._handleCreateSnippet):
        (WebInspector.NavigatorScriptTreeElement.prototype.get navigator):
        (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
        (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
        (WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent):

2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: ScriptsNavigator should save scroll position when switching tabs.
        https://bugs.webkit.org/show_bug.cgi?id=82472

        Reviewed by Pavel Feldman.

        WebInspector.View provides save/restore scroll position capabilities.
        This patch makes them used in ScriptsNavigator.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        (WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
        * inspector/front-end/scriptsPanel.css:
        (#scripts-navigator-tabbed-pane .tabbed-pane-content):
        (#scripts-navigator-tabbed-pane .navigator-container):

2012-03-28  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: only update Timeline overview when really needed
        https://bugs.webkit.org/show_bug.cgi?id=81909

        Reviewed by Pavel Feldman.

        Switch timeline overview to using raw records, thus removing dependency on instance members of
        TimelinePresentationModel. This requires moving record styles/categories to static getters.

        * inspector/front-end/TimelineModel.js:
        (WebInspector.TimelineModel):
        (WebInspector.TimelineModel.startTime):
        (WebInspector.TimelineModel.endTime):
        (WebInspector.TimelineModel.duration):
        (WebInspector.TimelineModel.prototype._addRecord):
        (WebInspector.TimelineModel.prototype.reset):
        (WebInspector.TimelineModel.prototype.minimumRecordTime):
        (WebInspector.TimelineModel.prototype.maximumRecordTime):
        (WebInspector.TimelineModel.prototype._updateBoundaries):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
        (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
        (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
        (WebInspector.TimelineOverviewPane.prototype._update):
        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips.markPercentagesForRecord):
        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
        (WebInspector.TimelineOverviewPane.prototype.windowStartTime):
        (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
        (WebInspector.TimelineOverviewPane.prototype.setShowShortEvents):
        (WebInspector.TimelineOverviewPane.prototype._scheduleRefresh):
        (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
        (WebInspector.TimelineOverviewCalculator.prototype.setWindow):
        (WebInspector.TimelineOverviewCalculator.prototype.reset):
        (WebInspector.HeapGraph):
        (WebInspector.HeapGraph.prototype.update):
        (WebInspector.TimelineVerticalOverview):
        (WebInspector.TimelineVerticalOverview.prototype.reset):
        (WebInspector.TimelineVerticalOverview.prototype.update):
        (WebInspector.TimelineVerticalOverview.prototype.wasShown):
        (WebInspector.TimelineVerticalOverview.prototype.willHide):
        (WebInspector.TimelineVerticalOverview.prototype._aggregateFrameStatistics):
        (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
        (WebInspector.TimelineVerticalOverview.prototype._onRecordAdded):
        (WebInspector.TimelineAggregatedRecord):
        (WebInspector.TimelineAggregatedRecord.prototype._aggregateStatistics):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
        (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
        (WebInspector.TimelinePanel.prototype._resetPanel):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelineCalculator):
        (WebInspector.TimelineCalculator.prototype.formatTime):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel):
        (WebInspector.TimelinePresentationModel.categories):
        (WebInspector.TimelinePresentationModel.recordStyle):
        (WebInspector.TimelinePresentationModel.categoryForRecord):
        (WebInspector.TimelinePresentationModel.prototype.reset):
        (WebInspector.TimelinePresentationModel.prototype.addRecord):
        (WebInspector.TimelinePresentationModel.Record):
        (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):

2012-03-28  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Plumb through GraphicsLayer::contentsOpaque() to LayerTiler
        https://bugs.webkit.org/show_bug.cgi?id=82457

        Reviewed by Rob Buis.

        The LayerTiler already knows not to turn on GL_BLEND for opaque layers.
        However, it only ever sets the opaque flag for image layers and color
        layers, never for content layers.

        This was no big deal, because contentsOpaque() is currently false for
        all layers except the root layer, which we always drew using the
        BlackBerry::WebKit::BackingStore anyway.

        When we start using RenderLayerBacking::m_usingTiledCacheLayer=true on
        the root layer in situations where the BackingStore is unavailable, we
        can speed up rendering of the root layer by honouring the opaque flag.

        Fixed by plumbing through the GraphicsLayer::contentsOpaque() flag all
        the way to LayerTiler and on to Texture.

        * platform/graphics/blackberry/LayerData.h:
        (WebCore::LayerData::LayerData):
        (WebCore::LayerData::isOpaque):
        (LayerData):
        * platform/graphics/blackberry/LayerTile.cpp:
        (WebCore::LayerTile::updateContents):
        * platform/graphics/blackberry/LayerTile.h:
        (LayerTile):
        * platform/graphics/blackberry/LayerTiler.cpp:
        (WebCore::LayerTiler::updateTextureContentsIfNeeded):
        (WebCore::LayerTiler::performTileJob):
        * platform/graphics/blackberry/LayerTiler.h:
        (WebCore::LayerTiler::TextureJob::TextureJob):
        (WebCore::LayerTiler::TextureJob::updateContents):
        * platform/graphics/blackberry/LayerWebKitThread.h:
        (WebCore::LayerWebKitThread::setOpaque):
        * platform/graphics/blackberry/Texture.h:
        (Texture):
        * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
        (WebCore::TextureCacheCompositingThread::updateContents):
        * platform/graphics/blackberry/TextureCacheCompositingThread.h:
        (TextureCacheCompositingThread):

2012-03-28  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: nuke HeapGraph.setSize(), do it automagically on update
        https://bugs.webkit.org/show_bug.cgi?id=82471

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype.update):
        (WebInspector.HeapGraph.prototype.update):

2012-03-28  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: dispatch console-message-added and console-messages-cleared events on UISourceCode.
        https://bugs.webkit.org/show_bug.cgi?id=82463

        Reviewed by Vsevolod Vlasov.

        Those events are related to specific UISourceCode. See bug 82224 for more details.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        (WebInspector.UISourceCodeImpl):
        (WebInspector.UISourceCodeImpl.prototype.consoleMessages):
        (WebInspector.UISourceCodeImpl.prototype.consoleMessageAdded):
        (WebInspector.UISourceCodeImpl.prototype.consoleMessagesCleared):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._consoleMessageAdded):
        (WebInspector.JavaScriptSourceFrame.prototype._consoleMessagesCleared):
        (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.breakpoints):
        (WebInspector.UISourceCode.prototype.consoleMessages):

2012-03-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Implement PlatformStrategies
        https://bugs.webkit.org/show_bug.cgi?id=82454

        Reviewed by Xan Lopez.

        * GNUmakefile.list.am: Remove PluginDataGtk.cpp. The same
        functionality is now implemented using platform strategies.
        * plugins/gtk/PluginDataGtk.cpp: Removed.

2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] TabIndex is not correctly restored after editing.
        https://bugs.webkit.org/show_bug.cgi?id=82464

        Reviewed by Pavel Feldman.

        This fixes incorrect usage of isNaN that returns false for null value.
        Drive-by javascript compilation fix.

        * inspector/front-end/CompilerScriptMapping.js:
        (WebInspector.CompilerScriptMapping.prototype.addScript): compilation fix.
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged): compilation fix.
        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript): compilation fix.
        * inspector/front-end/UIUtils.js:
        (WebInspector.startEditing.cleanUpAfterEditing): incorrect usage of isNaN fix.

2012-03-28  Yi Shen  <yi.4.shen@nokia.com>

        An extra line break is inserted when pasting into a font element.
        https://bugs.webkit.org/show_bug.cgi?id=71207

        Reviewed by Ryosuke Niwa.

        Fix an editing bug where inserting text into a font element would
        create an extra div element in the dom tree. The
        WebCore::positionAvoidingPrecedingNodes() tries to set the correct
        destination position by checking the next visible position, however,
        it causes the position moves into the child element in somecase.
        Instead, we should only check the position in parent after node.

        Test: editing/inserting/insert-text-into-font.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::positionAvoidingPrecedingNodes):

2012-03-28  Sergio Villar Senin  <svillar@igalia.com>

        [Soup] DNS prefetching spams resolver, shoots self in the foot
        https://bugs.webkit.org/show_bug.cgi?id=41630

        Reviewed by Martin Robinson.

        Added generic DNSResolveQueue class to throttle DNS
        prefetches. It's an abstract refactoring of CFNET's
        DNSResolveQueue. Platform specific methods implemented for soup
        and CFNET backends.

        No new tests required as we're just refactoring existing code to
        be used by two different ports.

        * CMakeLists.txt: added new file.
        * GNUmakefile.list.am: ditto.
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * WebCore.xcodeproj/project.pbxproj: ditto.
        * platform/network/DNSResolveQueue.cpp: Added.
        (WebCore):
        (WebCore::DNSResolveQueue::add): adds a new host to be prefetched.
        (WebCore::DNSResolveQueue::fired): by using a delay we coalesce
        several prefetch requests and try to resolve them all here.
        * platform/network/DNSResolveQueue.h: Added.
        (WebCore):
        (DNSResolveQueue): class that implements DNS prefetch
        throttling using a template pattern.
        (WebCore::DNSResolveQueue::shared):
        (WebCore::DNSResolveQueue::decrementRequestCount):
        * platform/network/cf/DNSCFNet.cpp:
        (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
        (WebCore::DNSResolveQueue::platformResolve):
        * platform/network/soup/DNSSoup.cpp:
        (WebCore):
        (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
        (WebCore::resolvedCallback):
        (WebCore::DNSResolveQueue::platformResolve):
        (WebCore::prefetchDNS):

2012-03-28  Eugene Girard  <girard@chromium.org>

        window.scrollBy() scrolls incorrectly when zoomed in/out
        https://bugs.webkit.org/show_bug.cgi?id=45228

        Reviewed by Simon Fraser.

        scrollBy now uses layout (not CSS) units. (As scrollTo does.)

        Test: fast/dom/zoom-scroll-page-test.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::scrollBy):

2012-03-28  Stephen Chenney  <schenney@chromium.org>

        Null dereference in SVGTextElement::animatedLocalTransform()
        https://bugs.webkit.org/show_bug.cgi?id=82375

        Reviewed by Nikolas Zimmermann.

        A poorly structured SVG file with a text element inside an
        animatedTransform element leaves the text element placed outside of
        the SVG root and it has no renderer(). Later attempts to use the
        renderer in animatedLocalTransform fail.

        Test: svg/custom/get-text-element-transform-crash.html

        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::animatedLocalTransform): Added a check for null renderer, and do not check
        for style transform if there is no renderer.

2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGAnimatedPreserveAspectRatio
        https://bugs.webkit.org/show_bug.cgi?id=82326

        Reviewed by Zoltan Herczeg.

        Enable animVal support for SVGAnimatedPreserveAspectRatio. Very simple now that everything is prepared.
        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedPreserveAspectRatioAnimator.

        Modernize SVGPreserveAspectRatio, align parsing this object from String, with the other SVG DOM primitives,
        who supply a "void parse(const String&)" method, for this task.

        Extended existing tests to cover this.

        * svg/SVGAnimatedPreserveAspectRatio.cpp:
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValWillChange):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValDidChange):
        * svg/SVGAnimatedPreserveAspectRatio.h:
        (SVGAnimatedPreserveAspectRatioAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        (WebCore::SVGAnimatedType::supportsAnimVal):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::parseAttribute):
        * svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseAttribute):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::parseAttribute):
        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::parse):
        (WebCore):
        * svg/SVGPreserveAspectRatio.h:
        (SVGPreserveAspectRatio):
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::setPreserveAspectRatioString):
        (WebCore::SVGViewSpec::parseViewSpec):

2012-03-28  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: [v8] inspection of CanvasPixelArray is slow.
        https://bugs.webkit.org/show_bug.cgi?id=82455

        Reviewed by Vsevolod Vlasov.

        Added CanvasPixelArray to the list of classes that we consider
        arrays.

        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::typeCallback):

2012-03-28  Leandro Gracia Gil  <leandrogracia@chromium.org>

        Selectively retrieve text content around a given position.
        https://bugs.webkit.org/show_bug.cgi?id=78361

        Reviewed by Ryosuke Niwa.

        Tests: a new layout test will be introduced once the required WebKit API code is ready.

        Introduce the DOMTextContentWalker class to selectively retrieve content
        around a given VisiblePosition into a string in such a way that a text
        Range can be extracted later from a pair of the string's positions.

        A new boolean called m_shouldStop is also introduced in the TextIterator to force
        it advancing under certain conditions. Although this is usually done by setting
        m_positionNode to zero, it can't be applied in this case since by doing so the
        iterator's range is lost.

        * WebCore.gypi:
        * editing/SurroundingText.cpp: Added.
        (WebCore):
        (WebCore::SurroundingText::SurroundingText):
        (WebCore::SurroundingText::rangeFromContentOffsets):
        (WebCore::SurroundingText::content):
        (WebCore::SurroundingText::positionOffsetInContent):
        * editing/SurroundingText.h: Added.
        (WebCore):
        (SurroundingText):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator):
        (WebCore::TextIterator::advance):
        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
        (WebCore::SimplifiedBackwardsTextIterator::advance):
        * editing/TextIterator.h:
        (WebCore::TextIterator::atEnd):
        (TextIterator):
        (WebCore::SimplifiedBackwardsTextIterator::atEnd):
        (SimplifiedBackwardsTextIterator):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::enclosingFormControlElement):
        (WebCore):
        * html/HTMLFormControlElement.h:
        (HTMLFormControlElement):

2012-03-28  Alexis Menard  <alexis.menard@openbossa.org>

        Speed up updates of existing CSS properties from JS.
        https://bugs.webkit.org/show_bug.cgi?id=82235

        Reviewed by Andreas Kling.

        Improve the way we handle updating an existing CSS property by replacing its value
        by the new one rather than removing the old value and then adding the new one. This
        speed up by 35% PerformanceTests/CSS/CSSPropertyUpdateValue.html.

        No new tests : Updating existing tests that were relying on the order of the properties
        after modification. Each updated property is not appended to the list of properties of the
        style therefore the cssText value is slightly different. It matches Firefox behavior but not
        Opera.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::addParsedProperty):

2012-03-28  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Remove PlatformMouseEvent::setClickCount for BlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=82422

        Reviewed by Rob Buis.

        PlatformMouseEvent::setClickCount() is never used by BlackBerry.
        The declaration was added in PlatformMouseEvent.h internally for
        BlackBerry porting, but it has not been upstreamed yet.

        * platform/blackberry/PlatformMouseEventBlackBerry.cpp:

2012-03-27  Antti Koivisto  <antti@apple.com>

        Separate @import rules from other rules in CSSStyleSheet
        https://bugs.webkit.org/show_bug.cgi?id=82384 

        Reviewed by Andreas Kling.

        Import rules always come before all other rules (except @charset). They currently live 
        in the generic child rule vector. They can be moved to a vector of their own for stronger
        typing and more focused traversal. This will also make future refactoring easier.
        
        - @import rules go to m_importRules
        - the rest go to m_childRules
        
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::parserAppendRule):
        (WebCore::CSSStyleSheet::length):
        (WebCore::CSSStyleSheet::item):
        (WebCore::CSSStyleSheet::clearRules):
        (WebCore::CSSStyleSheet::rules):
        (WebCore::CSSStyleSheet::insertRule):
        (WebCore::CSSStyleSheet::deleteRule):
        (WebCore::CSSStyleSheet::isLoading):
        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
        * css/CSSStyleSheet.h:
        (WebCore):
        (CSSStyleSheet):
        (WebCore::CSSStyleSheet::childRules):
        (WebCore::CSSStyleSheet::importRules):

2012-03-28  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: REGRESSION: Stack overflow on the page with > 100kloc
        https://bugs.webkit.org/show_bug.cgi?id=82436

        Reviewed by Yury Semikhatsky.

        This change migrates to manual splice implementation that uses additional
        information about the range being inserted to make it work faster / allocate
        less memory.

        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel.endsWithBracketRegex.):

2012-03-28  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: breakpoints are not shown in sidebar pane after reload.
        https://bugs.webkit.org/show_bug.cgi?id=82351

        Reviewed by Pavel Feldman.

        When UISourceCode is added to ScriptsPanel, it could already have breakpoints.
        We should iterate over existing breakpoints and add them to sidebar pane.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):

2012-03-28  Li Yin  <li.yin@intel.com>

        [WebSocket]The Sec-WebSocket-Protocol must not appear more than once in an HTTP response
        https://bugs.webkit.org/show_bug.cgi?id=82432

        Reviewed by Kent Tamura.

        From RFC6455: http://tools.ietf.org/html/rfc6455#section-11.3.4
        The |Sec-WebSocket-Protocol| header field must not appear 
        more than once in an HTTP response.

        Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header.html

        * Modules/websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::readHTTPHeaders):

2012-03-27  James Robinson  <jamesr@chromium.org>

        [chromium] Transfer wheel fling via WebCompositorInputHandlerClient
        https://bugs.webkit.org/show_bug.cgi?id=81740

        Reviewed by Adrienne Walker.

        Adds the ability to construct an in-progress PlatformGestureAnimation.

        * platform/ActivePlatformGestureAnimation.cpp:
        (WebCore::ActivePlatformGestureAnimation::create):
        (WebCore):
        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
        * platform/ActivePlatformGestureAnimation.h:
        (ActivePlatformGestureAnimation):
        * platform/TouchpadFlingPlatformGestureCurve.cpp:
        (WebCore::TouchpadFlingPlatformGestureCurve::create):
        (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
        * platform/TouchpadFlingPlatformGestureCurve.h:
        (TouchpadFlingPlatformGestureCurve):

2012-03-27  Nat Duca  <nduca@chromium.org>

        [chromium] Route monotonic clock up from compositor
        https://bugs.webkit.org/show_bug.cgi?id=82154

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::updateAnimations):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionBeginFrame):
        (WebCore::CCThreadProxy::beginFrame):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
        (BeginFrameAndCommitState):

2012-03-27  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream LayerAnimation.{cpp, h}
        https://bugs.webkit.org/show_bug.cgi?id=80123

        Reviewed by Rob Buis.

        Initial upstream, no new tests.

        * platform/graphics/blackberry/LayerAnimation.cpp: Added.
        (WebCore):
        (WebCore::solveEpsilon):
        (WebCore::solveCubicBezierFunction):
        (WebCore::solveStepsFunction):
        (WebCore::timingFunctionForAnimationValue):
        (WebCore::progress):
        (WebCore::fetchIntervalEndpoints):
        (WebCore::LayerAnimation::apply):
        (WebCore::LayerAnimation::blendTransform):
        (WebCore::LayerAnimation::blendOpacity):
        (WebCore::LayerAnimation::validateTransformLists):
        * platform/graphics/blackberry/LayerAnimation.h: Added.
        (WebCore):
        (LayerAnimation):
        (WebCore::LayerAnimation::create):
        (WebCore::LayerAnimation::clone):
        (WebCore::LayerAnimation::~LayerAnimation):
        (WebCore::LayerAnimation::name):
        (WebCore::LayerAnimation::setStartTime):
        (WebCore::LayerAnimation::idFromAnimation):
        (WebCore::LayerAnimation::isEqualToAnimation):
        (WebCore::LayerAnimation::id):
        (WebCore::LayerAnimation::property):
        (WebCore::LayerAnimation::boxSize):
        (WebCore::LayerAnimation::timeOffset):
        (WebCore::LayerAnimation::startTime):
        (WebCore::LayerAnimation::valueCount):
        (WebCore::LayerAnimation::timingFunction):
        (WebCore::LayerAnimation::duration):
        (WebCore::LayerAnimation::iterationCount):
        (WebCore::LayerAnimation::direction):
        (WebCore::LayerAnimation::valueAt):
        (WebCore::LayerAnimation::LayerAnimation):

2012-03-27  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Uninitialized access in SimpleFontDataSkia::platformInit
        https://bugs.webkit.org/show_bug.cgi?id=82411

        Reviewed by Kent Tamura.

        SimpleFontDataSkia::platformInit() could call widthForGlyph(), which
        accesses m_zeroWidthSpaceGlyph. This causes a valgrind memcheck error
        because m_zeroWidthSpaceGlyph isn't initialized at this point.
        Initialize m_zeroWidthSpaceGlyph with zero so that widthForGlyph() can
        return appropriate value(The value zero here means "unknown glyph").

        No new tests. I manually confirmed this change fixes the valgrind
        memcheck error.

        * platform/graphics/skia/SimpleFontDataSkia.cpp:
        (WebCore::SimpleFontData::platformInit):

2012-03-27  YoungTaeck Song  <youngtaeck.song@samsung.com>

        [EFL][WK2] Add RunLoopEfl and WorkQueueEfl
        https://bugs.webkit.org/show_bug.cgi?id=62777

        Reviewed by Hajime Morita.

        Add initial version RunLoopEfl for WebKit2 Efl.

        * platform/RunLoop.h:
        (TimerBase):
        (RunLoop):
        * platform/efl/RunLoopEfl.cpp:
        (WebCore::RunLoop::RunLoop):
        (WebCore::RunLoop::~RunLoop):
        (WebCore):
        (WebCore::RunLoop::run):
        (WebCore::RunLoop::stop):
        (WebCore::RunLoop::wakeUpEvent):
        (WebCore::RunLoop::wakeUp):
        (WebCore::RunLoop::TimerBase::TimerBase):
        (WebCore::RunLoop::TimerBase::~TimerBase):
        (WebCore::RunLoop::TimerBase::timerFired):
        (WebCore::RunLoop::TimerBase::start):
        (WebCore::RunLoop::TimerBase::stop):
        (WebCore::RunLoop::TimerBase::isActive):

2012-03-27  Benjamin Poulain  <bpoulain@apple.com>

        Reinforce Geolocation to prevent accidental leak of the user position
        https://bugs.webkit.org/show_bug.cgi?id=82396

        Reviewed by Adam Barth.

        It is very important not to provide the position of the user to a page
        unless the user authorize it.

        The code used to make it easy to cause such problems, because any part
        of the Geolocation object could invoke the success callback directly.

        This patch add encapsulation for all the attributes of GeoNotifier,
        and add extra guards for the two callbacks.

        In the case of the success callback, we do one extra check before sending
        the value to the bindings.

        * Modules/geolocation/Geolocation.cpp:
        (WebCore::Geolocation::GeoNotifier::runSuccessCallback):
        (WebCore::Geolocation::GeoNotifier::runErrorCallback):
        (WebCore):
        (WebCore::Geolocation::GeoNotifier::stopTimer):
        (WebCore::Geolocation::GeoNotifier::timerFired):
        (WebCore::Geolocation::startRequest):
        (WebCore::Geolocation::sendError):
        (WebCore::Geolocation::sendPosition):
        (WebCore::Geolocation::stopTimer):
        (WebCore::Geolocation::extractNotifiersWithCachedPosition):
        (WebCore::Geolocation::startUpdating):
        * Modules/geolocation/Geolocation.h:
        (WebCore::Geolocation::isAllowed):
        (Geolocation):
        (GeoNotifier):
        (WebCore::Geolocation::GeoNotifier::options):
        (WebCore::Geolocation::GeoNotifier::useCachedPosition):

2012-03-27  Kausalya Madhusudhanan  <kmadhusu@chromium.org>

        [Coverity] Address some uninitialized constructor values.
        https://bugs.webkit.org/show_bug.cgi?id=82376

        Reviewed by James Robinson.

        New tests are not required since I did not modify any code behavior.

        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
        * inspector/InspectorIndexedDBAgent.h:
        (InspectorIndexedDBAgent):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
        * platform/chromium/DataTransferItemChromium.cpp:
        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * storage/StorageTask.cpp:
        (WebCore::StorageTask::StorageTask):

2012-03-27  Alexis Menard  <alexis.menard@openbossa.org>

        Simplify CSSPropertyBorderSpacing parsing.
        https://bugs.webkit.org/show_bug.cgi?id=82397

        Reviewed by Benjamin Poulain.

        Remove the local array of longhand properties as it doesn't really
        bring much in this simple parsing algorithm.

        No new tests, no functionality change intended.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):

2012-03-27  Anders Carlsson  <andersca@apple.com>

        Fix race condition when initializing the scrolling thread
        https://bugs.webkit.org/show_bug.cgi?id=82398
        <rdar://problem/11002166>

        Reviewed by Sam Weinig.

        Lock m_initializeRunLoopConditionMutex when assigning m_threadIdentifier since we're
        asserting that it's not null in the scrolling thread.

        * page/scrolling/ScrollingThread.cpp:
        (WebCore::ScrollingThread::createThreadIfNeeded):

2012-03-27  Luke Macpherson  <macpherson@chromium.org>

        Add assertions to valueForLength() and RenderBox::computeLogicalWidthInRegionUsing() to help with debugging.
        https://bugs.webkit.org/show_bug.cgi?id=82393

        Reviewed by Eric Seidel.

        No new tests / adding assetions only.

        * css/LengthFunctions.cpp:
        (WebCore::valueForLength):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):

2012-03-27  Tony Chang  <tony@chromium.org>

        use the correct size when computing flex-pack space
        https://bugs.webkit.org/show_bug.cgi?id=82378

        Reviewed by Ojan Vafai.

        Fix 2 bugs:
        - We weren't properly updating available space before computing
          packing space. If a min/max is not hit, we still need to adjust
          the available free space.
        - For flex-pack:end, we need to put the overflow in the start edge.

        New test cases in css3/flexbox/flex-pack.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
        (WebCore::initialPackingOffset):

2012-03-27  Dana Jansens  <danakj@chromium.org>

        [chromium] Unknown transforms should be treated as non-axis aligned on main thread
        https://bugs.webkit.org/show_bug.cgi?id=82370

        Reviewed by Adrienne Walker.

        On main thread, animating transforms have "unknown" values as they are changing
        out of sync on the impl thread. So treat them as non-axis-aligned since they
        may be, when deciding to create a render surface.

        In addition, since surfaces are cheap on main thread, create one for all layers
        with animating transforms and a drawing descendant, as this allows paint culling
        within the layer's subtree (the animated transform won't affect drawTransforms
        inside the subtree).

        Also renamed the layerIsInAnimatingSubtreeFor* to animatingTransformTo*.
        The old name made me pause and think what it meant and I'm the one who
        created it. Hopefully this is more clear.

        Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy

        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::transformToParentIsKnown):
        (WebCore):
        (WebCore::subtreeShouldRenderToSeparateSurface):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):

2012-03-27  Dirk Pranke  <dpranke@chromium.org>

        Re-land r112277; reverting it doesn't seem to have fixed anything.

        Unreviewed, build fix.

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::insertedIntoDocument):
        (WebCore::SVGUseElement::svgAttributeChanged):
        (WebCore::SVGUseElement::willRecalcStyle):
        (WebCore::SVGUseElement::finishParsingChildren):
        * xml/XMLErrors.cpp:
        (WebCore::XMLErrors::insertErrorMessageBlock):

2012-03-27  Dana Jansens  <danakj@chromium.org>

        [chromium] Rename opaqueContentsRegion() to visibleContentOpaqueRegion()
        https://bugs.webkit.org/show_bug.cgi?id=81689

        Reviewed by Adrienne Walker.

        The return value from this function is a region of opaque pixels in the
        layer's content space that intersect with its visible rect. Rather than
        adding a comment to this effect, renaming the method to make it clear.

        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::visibleContentOpaqueRegion):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::visibleContentOpaqueRegion):
        * platform/graphics/chromium/TiledLayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::visibleContentOpaqueRegion):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::computeOcclusionBehindLayer):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::visibleContentOpaqueRegion):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):

2012-03-27  James Robinson  <jamesr@chromium.org>

        Scrollable plugins not registered properly in ScrollingCoordinator
        https://bugs.webkit.org/show_bug.cgi?id=82163

        Reviewed by Anders Carlsson.

        Whenever a ScrollableArea is added or removed from a FrameView's ScrollableAreaSet, we have to recalculate the
        nonFastScrollableRegion. This can happen for certain types of plugins that are scrollable.

        This also reverts 112142 which was a not quite right way to handle these plugins.

        * page/FrameView.cpp:
        (WebCore::FrameView::addScrollableArea):
        (WebCore::FrameView::removeScrollableArea):
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::computeNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::frameViewScrollableAreasDidChange):
        (WebCore):
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):
        * plugins/PluginViewBase.h:

2012-03-27  Adam Klein  <adamk@chromium.org>

        Hold a reference to refChild in insertBefore before calling collectChildrenAndRemoveFromOldParent
        https://bugs.webkit.org/show_bug.cgi?id=82377

        Reviewed by Ryosuke Niwa.

        This fixes a regression from r111925.

        Test: fast/dom/insertBefore-refChild-crash.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore): Move the 'next' RefPtr above the call to
        collectChildrenAndRemoveFromOldParent and rename refChildPreviousSibling
        to 'prev' (matching appendChild and replaceChild).

2012-03-27  Ryosuke Niwa  <rniwa@webkit.org>

        cssText should not generate literal 'initial' in shorthand properties
        https://bugs.webkit.org/show_bug.cgi?id=82364

        Reviewed by Antti Koivisto.

        Fixed the bug by treating initial value as if the value is not set.
        While this is incorrect for properties that inherits by default,
        it's strictly better than generating unparsable value as we do today.

        The proper fix is for CSSInitialValue::cssText to fetch the respective
        default value from what's currently in CSSStyleSelector code but that requires
        a considerable amount of refactoring and work.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::getShorthandValue):
        (WebCore::StylePropertySet::getCommonValue):

2012-03-26  Adam Klein  <adamk@chromium.org>

        Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
        https://bugs.webkit.org/show_bug.cgi?id=82256

        Reviewed by Adam Barth.

        This moves leakRef() calls out of generated code, centralizing them in
        V8DOMWrapper implementation. Ideally, WeakReferenceMap::set would take
        PassRefPtrs, but that's tricky given that some WeakReferenceMap's KeyType is 'void'
        (which clearly can't be wrapped in a PassRefPtr).

        Updated binding tests to reflect changes in CodeGeneratorV8.pm, no change in behavior.

        Relanding r112207 with setJSWrapperForDOMSVGElementInstance defined
        out-of-line to avoid SVG header dependencies.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorCallback): Use GetDomMapFunction instead of custom logic.
        (GenerateNamedConstructorCallback): ditto.
        (GenerateToV8Converters): Call V8DOMWrapper::setJSWrapper* method
        instead of directly accessing the wrapper maps and calling set.
        (GetDomMapFunction): Refactored to call new GetDomWrapperMapName function.
        (GetDomWrapperMapName): Helper pulled out of GetDomMapFunction.
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore::V8Float64Array::wrapSlow):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::V8TestActiveDOMObject::wrapSlow):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::V8TestCustomNamedGetter::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::V8TestEventTarget::wrapSlow):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::V8TestMediaQueryListListener::wrapSlow):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::wrapSlow):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
        * bindings/v8/V8DOMWrapper.cpp: Moved setJSWrapperForDOMNode method to header to inline it.
        (WebCore::V8DOMWrapper::setJSWrapperForDOMSVGElementInstance): New helper method for SVGElementInstances.
        Not inline to avoid header dependency on SVGElementInstance.h.
        * bindings/v8/V8DOMWrapper.h:
        (V8DOMWrapper):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Made inline.
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): ditto.
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Refactored into two methods;
        this one handles non-active Nodes.
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): Pulled out of previouse
        DOMNode method, now handles only active Nodes.

2012-03-27  Levi Weintraub  <leviw@chromium.org>

        Correct LayoutUnit usage in virtual function layoutBlock in RenderFlexibleBox
        https://bugs.webkit.org/show_bug.cgi?id=82344

        Reviewed by Eric Seidel.

        Correcting the signature of RenderFlexibleBox::layoutBlock to use a LayoutUnit
        for the page height, and avoiding assigning the renderer's size to an IntSize.

        No new tests. No change in behavior.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-03-27  Timothy Hatcher  <timothy@apple.com>

        Make WebKit properly load a staged framework when soft linking.

        https://webkit.org/b/82371
        rdar://problem/11125989

        Reviewed by Dan Bernstein.

        * platform/mac/SoftLinking.h: Replaced SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL with
        SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL and made it use the StagedFrameworks path
        if the first dlopen failed.

2012-03-26  Dirk Schulze  <krit@webkit.org>

        Use enumeration for CSS parser mode
        https://bugs.webkit.org/show_bug.cgi?id=82056

        Reviewed by Antti Koivisto.

        Introduce a new CSSParserMode enum to differ between strict / quirks and SVG presentation
        attribute parsing modes.
        The followup patch will make use of the enum in all other classes.
        After that it will be easier possible to reuse the CSS parser in SVG as much as possible and
        introduce SVG specific functionality.

        No new tests. No change on functionality yet. This is just a refactoring to use the enumeration.

        * GNUmakefile.list.am: Added new file CSSParserMode.h with the new enum, which can be used by any caller of CSSParser, CSSStyleSheet and others.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * css/CSSGrammar.y: Make use of the new enumeration.
        * css/CSSParser.cpp: Replaced boolean by enumeration. No change of functionality at this point of time.
        (WebCore::CSSParser::inStrictMode): Helper function.
        (WebCore):
        (WebCore::CSSParser::inQuirksMode): Helper function.
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::validUnit):
        (WebCore::CSSParser::checkForOrphanedUnits):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseSizeParameter):
        (WebCore::CSSParser::parseBackgroundColor):
        (WebCore::CSSParser::parseFillPositionX):
        (WebCore::CSSParser::parseFillPositionY):
        (WebCore::CSSParser::parseFillPositionComponent):
        (WebCore::CSSParser::parseFillSize):
        (WebCore::CSSParser::parseAnimationDelay):
        (WebCore::CSSParser::parseAnimationDuration):
        (WebCore::CSSParser::parseAnimationIterationCount):
        (WebCore::CSSParser::parseTransformOriginShorthand):
        (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
        (WebCore::CSSParser::parseAnimationTimingFunction):
        (WebCore::CSSParser::parseGridTrackList):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseShape):
        (WebCore::CSSParser::parseWrapShapeRect):
        (WebCore::CSSParser::parseWrapShapeCircle):
        (WebCore::CSSParser::parseWrapShapeEllipse):
        (WebCore::CSSParser::parseWrapShapePolygon):
        (WebCore::CSSParser::parseFont):
        (WebCore::CSSParser::parseFontWeight):
        (WebCore::CSSParser::parseColorParameters):
        (WebCore::CSSParser::parseHSLParameters):
        (WebCore::CSSParser::parseColorFromValue):
        (WebCore::CSSParser::parseShadow):
        (WebCore::CSSParser::parseReflect):
        (WebCore::CSSParser::parseFlex):
        (WebCore::CSSParser::parseBorderImageSlice):
        (WebCore::CSSParser::parseBorderImageQuad):
        (WebCore::CSSParser::parseBorderRadius):
        (WebCore::CSSParser::parseAspectRatio):
        (WebCore::CSSParser::parseLinearGradient):
        (WebCore::CSSParser::parseRadialGradient):
        (WebCore::CSSParser::parseGradientColorStops):
        (WebCore::CSSParser::parseTransform):
        (WebCore::CSSParser::parseCustomFilter):
        (WebCore::CSSParser::parseBuiltinFilterArguments):
        (WebCore::CSSParser::parseTransformOrigin):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        (WebCore::CSSParser::createPageRule):
        (WebCore::CSSParser::createKeyframeRule):
        * css/CSSParser.h:
        (CSSParser):
        * css/CSSParserMode.h: Added. New enumeration CSSParserMode.
        * css/SVGCSSParser.cpp: Use new SVGAttributeMode CSS parsing mode.
        (WebCore::CSSParser::parseSVGValue):
        (WebCore::CSSParser::parseSVGStrokeDasharray):

2012-03-27  Nate Chapin  <japhet@chromium.org>

        Don't manually set an identifier for main resource
        loads in FrameLoader. ResourceLoader::willSendRequest()
        will set an identifier for the request if one isn't found,
        so this code appears to be unnecessary duplication.
        https://bugs.webkit.org/show_bug.cgi?id=82248

        Reviewed by Adam Barth.

        No new tests, no functionality change intended.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::startLoadingMainResource): Mark navigation start
            here, since it's conceptually part of starting the main resource load.
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Remove duplicate identifier
            logic, and move navigation timing call to startLoadingMainResource, since
            it fits better logically there.
        * loader/ResourceLoader.h: No callers of setIdentifier() remain, so delete it.

2012-03-27  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, rolling out r112277.
        http://trac.webkit.org/changeset/112277
        https://bugs.webkit.org/show_bug.cgi?id=81985

        possibly causing crashes?

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::insertedIntoDocument):
        (WebCore::SVGUseElement::svgAttributeChanged):
        (WebCore::SVGUseElement::willRecalcStyle):
        (WebCore::SVGUseElement::finishParsingChildren):
        * xml/XMLErrors.cpp:
        (WebCore::XMLErrors::insertErrorMessageBlock):

2012-03-27  Joseph Pecoraro  <pecoraro@apple.com>

        <http://webkit.org/b/82362> Web Inspector: Provide private -[DOMNode inspect]

        Reviewed by Timothy Hatcher.

        No new tests, this is only an ObjC SPI.

        * bindings/objc/DOM.mm:
        * bindings/objc/DOMPrivate.h:
        (-[DOMNode inspect]):
        Call through to InspectorController inspect for the node.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::handleMousePress):
        (WebCore::InspectorDOMAgent::inspect):
        Whenever we inspect an element, clear the node search.
        The frontend already takes this approach.

2012-03-27  Joe Mason  <jmason@rim.com>

        [BlackBerry] fix confusing destruction sequence in LayerCompositingThread
        https://bugs.webkit.org/show_bug.cgi?id=81706

        Reviewed by Rob Buis.

        LayerCompositingThread has a destructor that does a synchronous
        dispatch to the compositing thread and then does the actual cleanup
        from a helper function. This is confusing.It should be the
        opposite: the helper function dispatches to the compositing thread,
        which calls delete.

        No new tests since the existing animation tests will exercise this
        code.

        * platform/graphics/blackberry/LayerCompositingThread.cpp:
        (WebCore::LayerCompositingThread::destroyOnCompositingThread):
        (WebCore):
        (WebCore::LayerCompositingThread::~LayerCompositingThread):
        * platform/graphics/blackberry/LayerCompositingThread.h:
        (LayerCompositingThread):
        (WTF):
        (WTF::::deref):

2012-03-27  Alexey Proskuryakov  <ap@apple.com>

        [Mac] Stop using NSMapTable in FormDataStreamMac.mm
        https://bugs.webkit.org/show_bug.cgi?id=82358

        Reviewed by Darin Adler.

        * platform/network/mac/FormDataStreamMac.mm: Use WTF::HashMap, as we always do. All accesses
        are protected with a mutex anyway.

2012-03-27  Joe Thomas  <joethomas@motorola.com>

        Implement vw/vh/vmin (viewport sizes) from CSS3 Values and Units
        https://bugs.webkit.org/show_bug.cgi?id=27160

        Reviewed by Antti Koivisto.

        vw/vh/vmin are implemented as primitive length units. Added the parsing logic for these new units.
        New Length types such as ViewportRelativeWidth, ViewportRelativeHeight and ViewportRelativeMin are added for these length units
        and included the support for fetching the value of these relative units based on the current viewport size.

        The specification related to this implementation is http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths.

        Tests: css3/viewport-relative-lengths/css3-viewport-relative-lengths-getStyle.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-absolute.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-absolute.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-absolute.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw.html

        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: Modified to support viewport relative Length types.
        (getAttributeSetForAccessibilityObject):
        * css/CSSComputedStyleDeclaration.cpp: Ditto.
        (WebCore::getPositionOffsetValue):
        (WebCore::getBorderRadiusCornerValues):
        (WebCore::getBorderRadiusCornerValue):
        (WebCore::getBorderRadiusShorthandValue):
        (WebCore::lineHeightFromStyle):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSGrammar.y: Added vw/vh/vmin support.
        * css/CSSParser.cpp: Parsing of relative units and creation of CSSPrimitiveValue.
        (WebCore::CSSParser::validUnit): Added vw/vh/vmin to the valid units.
        (WebCore::CSSParser::createPrimitiveNumericValue): Added vw/vh/vmin as valid primitive units.
        (WebCore::unitFromString):
        (WebCore::CSSParser::parseValidPrimitive): Creation of CSSPrimitiveValue for vw/vh/vmin.
        (WebCore::CSSParser::detectNumberToken): Parsing the vw/vh/vmin tokens.
        * css/CSSPrimitiveValue.cpp:
        (WebCore::isValidCSSUnitTypeForDoubleConversion): Added support for vw/vh/vmin.
        (WebCore::unitCategory): Ditto.
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): Added support for vw/vh/vmin.
        (WebCore::CSSPrimitiveValue::customCssText): Ditto.
        (WebCore::CSSPrimitiveValue::viewportRelativeLength): Function to create the Length structure for the viewport-relative unit types.
        (WebCore):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::isViewportRelativeLength): Checks whether the primitive value is ViewportRelative Lengths.
        (CSSPrimitiveValue):
        * css/CSSPrimitiveValue.idl: Added support for vw/vh/vmin.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::convertToLength): Ditto.
        * css/CSSStyleApplyProperty.cpp: Applying relative viewport length units to the specific CSS property.
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        (WebCore::ApplyPropertyFontSize::applyValue):
        (WebCore::ApplyPropertyLineHeight::applyValue):
        (WebCore::ApplyPropertyVerticalAlign::applyValue):
        * css/CSSStyleSelector.cpp: Added support for viewport relative units.
        * css/LengthFunctions.cpp: Calcuation of length value based on the current viewport size.
        (WebCore::miminumValueForLength):
        (WebCore::valueForLength):
        (WebCore::floatValueForLength):
        * css/LengthFunctions.h: Added new RenderView argument.
        (WebCore):
        * dom/Document.cpp:
        (WebCore::Document::pageSizeAndMarginsInPixels): Modified to support viewport relative Length types.
        (WebCore::Document::viewportSize): New function to fetch the current viewport size.
        (WebCore):
        * dom/Document.h: Ditto.
        (Document):
        * html/HTMLAreaElement.cpp: Modified to support viewport relative Length types.
        (WebCore::HTMLAreaElement::getRegion):
        * platform/Length.h:
        (WebCore::Length::isViewportRelative): To check the Length is of type ViewportRelative.
        (WebCore::Length::viewportRelativeLength): To get the relative value.
        * rendering/RenderBR.cpp: Modified to support viewport relative Length types.
        (WebCore::RenderBR::lineHeight):
        * rendering/RenderBlock.cpp: Ditto.
        (WebCore::RenderBlock::textIndentOffset):
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        (WebCore::RenderBlock::lineHeight):
        * rendering/RenderBox.cpp: Ditto.
        (WebCore::RenderBox::reflectionOffset):
        (WebCore::RenderBox::paintBoxDecorations):
        (WebCore::RenderBox::clipRect):
        (WebCore::RenderBox::computeLogicalWidthInRegion):
        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
        (WebCore::RenderBox::computeInlineDirectionMargins):
        (WebCore::RenderBox::computeContentLogicalHeightUsing):
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
        (WebCore::RenderBox::computeBlockDirectionMargins):
        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
        * rendering/RenderBoxModelObject.cpp: Ditto.
        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
        (WebCore::RenderBoxModelObject::relativePositionOffsetY):
        (WebCore::RenderBoxModelObject::paddingTop):
        (WebCore::RenderBoxModelObject::paddingBottom):
        (WebCore::RenderBoxModelObject::paddingLeft):
        (WebCore::RenderBoxModelObject::paddingRight):
        (WebCore::RenderBoxModelObject::paddingBefore):
        (WebCore::RenderBoxModelObject::paddingAfter):
        (WebCore::RenderBoxModelObject::paddingStart):
        (WebCore::RenderBoxModelObject::paddingEnd):
        (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
        (WebCore::RenderBoxModelObject::calculateFillTileSize):
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        (WebCore::computeBorderImageSide):
        (WebCore::RenderBoxModelObject::paintNinePieceImage):
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderFlexibleBox.cpp: Ditto.
        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
        (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
        * rendering/RenderInline.cpp: Ditto.
        (WebCore::computeMargin):
        (WebCore::RenderInline::lineHeight):
        * rendering/RenderMenuList.cpp: Ditto.
        (WebCore::RenderMenuList::updateOptionsWidth):
        * rendering/RenderObject.cpp: Ditto.
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        * rendering/RenderReplaced.cpp: Ditto.
        (WebCore::RenderReplaced::paint):
        * rendering/RenderScrollbarPart.cpp: Ditto.
        (WebCore::calcScrollbarThicknessUsing):
        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
        * rendering/RenderTable.cpp: Ditto.
        (WebCore::RenderTable::computeLogicalWidth):
        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
        * rendering/RenderTableCell.cpp: Ditto.
        (WebCore::RenderTableCell::logicalHeightForRowSizing):
        * rendering/RenderTableSection.cpp: Ditto.
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        * rendering/RenderText.h: Ditto.
        (WebCore::RenderText::marginLeft):
        (WebCore::RenderText::marginRight):
        * rendering/RenderThemeMac.mm: Ditto.
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        * rendering/RenderView.h:
        (WebCore::RenderView::viewportSize):
        * rendering/RenderWidget.cpp: Ditto.
        (WebCore::RenderWidget::paint):
        * rendering/RootInlineBox.cpp: Ditto.
        (WebCore::RootInlineBox::verticalPositionForBox):
        * rendering/style/RenderStyle.cpp: Ditto.
        (WebCore::calcRadiiFor):
        (WebCore::RenderStyle::getRoundedBorderFor):
        * rendering/style/RenderStyle.h: Ditto.
        * rendering/svg/RenderSVGRoot.cpp: Ditto.
        (WebCore::resolveLengthAttributeForSVG):
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):

2012-03-27  Gao Chun  <chun.gao@intel.com>

        Remove deprecated LowPass2FilterNode and HighPass2FilterNode
        https://bugs.webkit.org/show_bug.cgi?id=82296

        Reviewed by Chris Rogers.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Modules/webaudio/AudioContext.cpp:
        * Modules/webaudio/AudioContext.h:
        (WebCore):
        (AudioContext):
        * Modules/webaudio/AudioContext.idl:
        * Modules/webaudio/AudioNode.h:
        * Modules/webaudio/BiquadFilterNode.cpp:
        (WebCore::BiquadFilterNode::BiquadFilterNode):
        * Modules/webaudio/BiquadProcessor.cpp:
        * Modules/webaudio/BiquadProcessor.h:
        * Modules/webaudio/HighPass2FilterNode.cpp: Removed.
        * Modules/webaudio/HighPass2FilterNode.h: Removed.
        * Modules/webaudio/HighPass2FilterNode.idl: Removed.
        * Modules/webaudio/LowPass2FilterNode.cpp: Removed.
        * Modules/webaudio/LowPass2FilterNode.h: Removed.
        * Modules/webaudio/LowPass2FilterNode.idl: Removed.
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:

2012-03-27  Sami Kyostila  <skyostil@chromium.org>

        [chromium] Add TextureCopier for copying texture contents
        https://bugs.webkit.org/show_bug.cgi?id=80870

        Reviewed by Stephen White.

        This patch introduces a TextureCopier class whose job is to copy the
        contents from one GL texture to another using the most efficient means
        for the current GPU. This version uses render-to-texture to do the copy,
        but a path based on EXT_framebuffer_blit can be added later.

        The class is intended to replace the use of image path operations such
        as glCopyTex{Sub}Image2D for duplicating texture contents. The reason is
        that such functions may not be very well optimized in some -- mainly
        mobile -- GPU drivers.

        With this patch the new copier is used just for Canvas2D layer
        presentation, but another potential use is for WebGL layer presentation.

        Test: webkit_unit_tests: TextureCopierTest

        * WebCore.gypi:
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore):
        (WebCore::LayerRendererChromium::textureCopier):
        (LayerRendererChromium):
        * platform/graphics/chromium/ShaderChromium.cpp:
        (WebCore::VertexShaderPosTexIdentity::getShaderString):
        (WebCore):
        (WebCore::FragmentShaderRGBATexCopy::getShaderString):
        * platform/graphics/chromium/ShaderChromium.h:
        (VertexShaderPosTexIdentity):
        (WebCore::VertexShaderPosTexIdentity::init):
        (WebCore):
        (FragmentShaderRGBATexCopy):
        * platform/graphics/chromium/TextureCopier.cpp: Added.
        (WebCore):
        (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
        (WebCore::AcceleratedTextureCopier::~AcceleratedTextureCopier):
        (WebCore::AcceleratedTextureCopier::copyTexture):
        * platform/graphics/chromium/TextureCopier.h: Added.
        (WebCore):
        (TextureCopier):
        (WebCore::TextureCopier::~TextureCopier):
        (AcceleratedTextureCopier):
        (WebCore::AcceleratedTextureCopier::create):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doCommit):
        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
        (WebCore::CCTextureUpdater::CCTextureUpdater):
        * platform/graphics/chromium/cc/CCTextureUpdater.h:
        (WebCore):
        (CCTextureUpdater):
        (WebCore::CCTextureUpdater::copier):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):

2012-03-27  Levi Weintraub  <leviw@chromium.org>

        Correct SVG paint functions that are still using IntPoints
        https://bugs.webkit.org/show_bug.cgi?id=82343

        Reviewed by Eric Seidel.

        Two small corrections to SVG paint functions that should use LayoutPoint instead
        of IntPoint.

        No new tests. No change in behavior.

        * rendering/svg/RenderSVGShape.cpp:
        (WebCore::RenderSVGShape::paint):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint):

2012-03-27  Zalan Bujtas  <zbujtas@gmail.com>

        Frame flattening: childframe in FrameView::layout() needs protector.
        https://bugs.webkit.org/show_bug.cgi?id=82345

        Reviewed by Kenneth Rohde Christiansen.

        RefPtr<FrameView> protector(this) is supposed to protect the current frameview in
        FrameView::layout() from being destroyed by recalcStyle().
        However, when frame flattening is on and a child frame is re-starting layout from
        the topmost parent, the protection is missing and parent's recalcStyle()
        can destroy the child frame.
        Moving the protector before the layout re-starting is initiated makes the child frame
        safe.

        No new tests. Unable to create a test case, where this scenario is reproducible.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):

2012-03-27  Antti Koivisto  <antti@apple.com>

        Construct CSSCharsetRule on CSSOM API access only 
        https://bugs.webkit.org/show_bug.cgi?id=82332

        Reviewed by Andreas Kling.

        Charset is just a string. There is usually no need to construct CSSCharsetRule at all.
        
        - Make CSS parser to return encoding string instead of CSSCharsetRule object. This
          string is used for constructing CSSCharsetRule if it is needed (and nothing else,
          @charset has no effect after string decoding).
        - Remove internal interface for adding and removing rules. It has no clients.
        
        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore):
        * css/CSSParser.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::~CSSStyleSheet):
        (WebCore::CSSStyleSheet::parserAppendRule):
        (WebCore::CSSStyleSheet::ensureCharsetRule):
        (WebCore):
        (WebCore::CSSStyleSheet::length):
        (WebCore::CSSStyleSheet::item):
        (WebCore::CSSStyleSheet::clearCharsetRule):
        (WebCore::CSSStyleSheet::clearRules):
        (WebCore::CSSStyleSheet::parserSetEncodingFromCharsetRule):
        (WebCore::CSSStyleSheet::rules):
        (WebCore::CSSStyleSheet::insertRule):
        (WebCore::CSSStyleSheet::addRule):
        (WebCore::CSSStyleSheet::deleteRule):
        * css/CSSStyleSheet.h:
        (WebCore):
        (CSSStyleSheet):
        (WebCore::CSSStyleSheet::ruleVector):
        (WebCore::CSSStyleSheet::hasCharsetRule):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::reparseStyleSheet):

2012-03-27  Stephen White  <senorblanco@chromium.org>

        [chromium] Fix filter context creation to be more conservative.
        https://bugs.webkit.org/show_bug.cgi?id=82349

        Reviewed by James Robinson.

        Covered by webkit_unit_tests, and css3/filters layout tests.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setFilters):
        Only request a filter context if the filter lists is non-empty.
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCLayerTreeHost::setNeedsFilterContext):
        Add a bool param, so tests can cancel a request for filter contexts.

2012-03-27  Stephen Chenney  <schenney@chromium.org>

        <svg:use> elements in the parser can create elements not marked as created by the parser
        https://bugs.webkit.org/show_bug.cgi?id=81985

        Reviewed by Adam Barth.

        The SVGUseElement was creating its shadow tree immediately upon
        demand. This resulted in nodes being created that were not marked as
        "createdByParser", even during parsing. As it happens, there is
        already code in there to track "createdByParser" in the SVGUseElement,
        it was just being ignored all the time. This may even have been
        inefficient. Now we delay creating the shadow dom tree until children
        are finished, which is the standard time to handle the createdByParser
        flag.

        I also verified that other SVG classes that derived from core DOM
        classes that use the createdByParser flag do correctly pass this flag
        on.

        No new tests as this is covered by existing tests and does not have new behavior.

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::insertedIntoDocument):
        (WebCore::SVGUseElement::svgAttributeChanged):
        (WebCore::SVGUseElement::willRecalcStyle):
        (WebCore::SVGUseElement::finishParsingChildren):
        * xml/XMLErrors.cpp:
        (WebCore::XMLErrors::insertErrorMessageBlock):

2012-03-27  Ming Xie  <mxie@rim.com>

        [BlackBerry] Disable DisallowCType.h usage
        https://bugs.webkit.org/show_bug.cgi?id=82211

        Reviewed by Rob Buis.

        Build fix: QNX port does use ctype.h, so we should not
        include <wtf/DisallowCType.h> in WebCore/config.h

        No new tests - Build Fix

        * config.h:

2012-03-27  Hao Zheng  <zhenghao@chromium.org>

        Change default position attribute of media control panel to relative for Android.
        https://bugs.webkit.org/show_bug.cgi?id=82303

        Reviewed by Eric Carlson.

        Follow up https://bugs.webkit.org/show_bug.cgi?id=79746 .

        * css/mediaControlsChromiumAndroid.css:
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):

2012-03-27  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Speed up snapshot parsing.
        https://bugs.webkit.org/show_bug.cgi?id=82325

        Replacing the iterators with raw nodes/edges access speeds up
        some phases phasses up to 10 times, taking down the whole init
        time to less than 6 sec.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):

2012-03-27  Antti Koivisto  <antti@apple.com>

        Assertion failure in acid2.

        Rubber-stamped by Andreas Kling.

        Remove assert added in http://trac.webkit.org/changeset/112258. It seems insertedInto/removedFromDocument
        don't always pair.

        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):

2012-03-27  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: simplify heap profiler front-end
        https://bugs.webkit.org/show_bug.cgi?id=82338

        Simplify constructors of WebInspector.HeapSnapshotArraySlice and
        WebInspector.HeapSnapshotEdgesProvider.

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotArraySlice):
        (WebInspector.HeapSnapshotArraySlice.prototype.item):
        (WebInspector.HeapSnapshotArraySlice.prototype.slice):
        (WebInspector.HeapSnapshotNode.prototype.get rawEdges):
        (WebInspector.HeapSnapshot.prototype._retainersForNode):
        (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
        (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
        (WebInspector.HeapSnapshotEdgesProvider):

2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Tabbed pane should set focus on its contents on tab click.
        https://bugs.webkit.org/show_bug.cgi?id=82323

        Reviewed by Pavel Feldman.

        Otherwise selected tab does not have focus.
        Also added tabIndex on tabElements to prevent pasting on closing middle click.

        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane):
        (WebInspector.TabbedPane.prototype.focus):
        (WebInspector.TabbedPane.prototype.selectTab):
        (WebInspector.TabbedPaneTab.prototype._createTabElement):
        (WebInspector.TabbedPaneTab.prototype._tabClicked):

2012-03-27  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: dispatch breakpoint-added and breakpoint-removed events on UISourceCode.
        https://bugs.webkit.org/show_bug.cgi?id=82318

        Reviewed by Vsevolod Vlasov.

        Breakpoint-added and breakpoint-removed events are always related to specific UISourceCode.
        See bug 82224 for more details.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
        (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.UISourceCodeImpl.prototype.breakpointAdded):
        (WebInspector.UISourceCodeImpl.prototype.breakpointRemoved):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
        (WebInspector.ScriptsPanel.prototype._addBreakpointListeners):
        (WebInspector.ScriptsPanel.prototype._removeBreakpointListeners):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
        * inspector/front-end/UISourceCode.js:

2012-03-27  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry]Cleanup WTF string in platform/network/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=82005

        Reviewed by Rob Buis.

        No new tests. Just replace WTF::String with String.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleNotifyDataReceived):

2012-03-27  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Enable "number" parameters in the web inspector protocol methods
        https://bugs.webkit.org/show_bug.cgi?id=82334

        The generated protocol dispatcher does not understand protocol method parameters of type "number"
        (mapped to "double" in the native code.)

        Reviewed by Vsevolod Vlasov.

        * inspector/CodeGeneratorInspector.py:
        (RawTypes.Number.get_getter_name):
        (RawTypes.Number.get_c_initializer):
        (RawTypes.Number.get_js_bind_type):
        (RawTypes.Number.get_validate_method_params.ValidateMethodParams):
        (RawTypes.Number.get_validate_method_params):

2012-03-27  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Fix missing objects in the dominators view.
        https://bugs.webkit.org/show_bug.cgi?id=82194

        Due to the nature of dominators tree it is not possible to hide internal
        objects there because they may happen to contain user objects that can't
        be hidden.
        Besides that it fixes a small bug in HeapSnapshotArraySlice.slice
        function.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotArraySlice.prototype.slice):

2012-03-27  Antti Koivisto  <antti@apple.com>

        Remove Document::mappedElementSheet() 
        https://bugs.webkit.org/show_bug.cgi?id=82242

        Reviewed by Andreas Kling and Nikolas Zimmermann.

        The only thing this is used for anymore is SVGFontFaceElement. That can be handled without
        the confusing extra stylesheet.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        
            - Add font face rules from registered SVGFontFaceElements.
            - Simplify the constructor signature. Stylesheets are part of the document.
            
        * dom/Document.cpp:
        (WebCore::Document::~Document):
        (WebCore::Document::createStyleSelector):
        (WebCore):
        (WebCore::Document::updateBaseURL):
        * dom/Document.h:
        (WebCore):
        (WebCore::Document::documentUserSheets):
        (Document):

            - Remove mappedElementSheet        
            - Adapt to the CSSStyleSelector constructor signature changes.

        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::svgFontFaceElements):
        (WebCore):
        (WebCore::SVGDocumentExtensions::registerSVGFontFaceElement):
        (WebCore::SVGDocumentExtensions::unregisterSVGFontFaceElement):
        * svg/SVGDocumentExtensions.h:
        (WebCore):
        (SVGDocumentExtensions):
        
            - Add map for SVGFontFaceElements

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::insertedIntoDocument):
        (WebCore::SVGFontFaceElement::removedFromDocument):
        (WebCore):
        * svg/SVGFontFaceElement.h:
        (SVGFontFaceElement):
        (WebCore::SVGFontFaceElement::fontFaceRule):
        
            - Switch to updating svgFontFaceElements map.
            - Use elementSheet as the parent sheet (nothing is ever added to the elementSheet, it is used for
              resolving relative URLs only).

2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: startEditing should remove tabIndex attribute from the element if it was not set before.
        https://bugs.webkit.org/show_bug.cgi?id=82322

        Reviewed by Pavel Feldman.

        This patch removes tabIndex attribute from the element after editing if it was not present before.
        Otherwise tabIndex becomes set unexpectedly after exiting edit mode.

        * inspector/front-end/UIUtils.js:
        (WebInspector.startEditing.cleanUpAfterEditing):

2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Tree outline should not start search on key press if it is being edited.
        https://bugs.webkit.org/show_bug.cgi?id=82327

        Reviewed by Pavel Feldman.

        This is needed for snippet renaming support.

        * inspector/front-end/treeoutline.js:
        (TreeOutline):
        (TreeOutline.prototype._treeKeyPress):

2012-03-27  Levi Weintraub  <leviw@chromium.org>

        Revert RenderApplet::intrinsicSize to integers
        https://bugs.webkit.org/show_bug.cgi?id=82206

        Reviewed by Eric Seidel.

        Intrinsic sizes originate either outside of WebCore, or from their initial values,
        which are always integers. Reverting RenderApplet::intrinsicSize to integers, the
        last spot improperly using LayoutUnits

        No new tests. No change in behavior.

        * rendering/RenderApplet.cpp:
        (WebCore::RenderApplet::intrinsicSize):
        * rendering/RenderApplet.h:
        (RenderApplet):


2012-03-27  Alexis Menard  <alexis.menard@openbossa.org>

        Increase code sharing between CSSComputedStyleDeclaration and CSSPropertyLonghand.
        https://bugs.webkit.org/show_bug.cgi?id=82261

        Reviewed by Ryosuke Niwa.

        Use longhands declaration from CSSPropertyLonghand in CSSComputedStyleDeclaration to avoid
        code duplication.

        No new tests : refactoring only, we shouldn't have any behavior difference.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForShorthandProperties):
        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
        * css/CSSComputedStyleDeclaration.h:
        (WebCore):
        (CSSComputedStyleDeclaration):
        * css/CSSPropertyLonghand.cpp:
        (WebCore::outlineLonghand):
        Re-order to match the spec default order and also remove outline-offset as it is not part
        of the shorthand (http://www.w3.org/TR/css3-ui/#outline). Luckily this was cover by a layout test.

2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Editable TextViewer should show cursor when it is focused.
        https://bugs.webkit.org/show_bug.cgi?id=82320

        Reviewed by Pavel Feldman.

        TextViewer now focuses editable inner container unless read-only flag is set.

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype.focus):
        (WebInspector.TextEditorMainPanel):
        (WebInspector.TextEditorMainPanel.prototype._handleElementFocus):
        (WebInspector.TextEditorMainPanel.prototype.focus):

2012-03-26  Levi Weintraub  <leviw@chromium.org>

        Unreviewed. Removing change markers from ChangeLog.

2012-03-26  Levi Weintraub  <leviw@chromium.org>

        Convert RenderSelectionInfo::rect to LayoutUnits
        https://bugs.webkit.org/show_bug.cgi?id=82213

        Reviewed by Eric Seidel.

        RenderSelectionInfoBase stores a cached repaint rect in local coordinates. Coordinates local to
        renderers should be stored in LayoutUnits.

        No new tests. No change in behavior.

        * rendering/RenderSelectionInfo.h:
        (WebCore::RenderSelectionInfo::rect):
        (RenderSelectionInfo):

2012-03-26  Levi Weintraub  <leviw@chromium.org>

        Convert RenderSelectionInfo::rect to LayoutUnits
        https://bugs.webkit.org/show_bug.cgi?id=82213

        Reviewed by Eric Seidel.

        RenderSelectionInfoBase stores a cached repaint rect in local coordinates. Coordinates
        local to renderers should be stored in LayoutUnits as described in
        http://trac.webkit.org/wiki/LayoutUnit

        No new tests. No change in behavior.

        * rendering/RenderSelectionInfo.h:
        (WebCore::RenderSelectionInfo::rect):
        (RenderSelectionInfo):

2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGAnimatedRect
        https://bugs.webkit.org/show_bug.cgi?id=82317

        Reviewed by Zoltan Herczeg.

        Enable animVal support for SVGAnimatedRect. Very simple now that everything is prepared.
        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedRectAnimator.

        Extended existing tests to cover this.

        * svg/SVGAnimatedRect.cpp:
        (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedRectAnimator::animValWillChange):
        (WebCore::SVGAnimatedRectAnimator::animValDidChange):
        * svg/SVGAnimatedRect.h:
        (SVGAnimatedRectAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::supportsAnimVal):

2012-03-27  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112201.
        http://trac.webkit.org/changeset/112201
        https://bugs.webkit.org/show_bug.cgi?id=82302

        Breaks chromium's WebPageSerializerTest.HTMLNodes test
        (Requested by pfeldman on #webkit).

        * loader/cache/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::error):
        (WebCore):
        * loader/cache/CachedCSSStyleSheet.h:
        (CachedCSSStyleSheet):
        * loader/cache/CachedFont.cpp:
        (WebCore):
        (WebCore::CachedFont::error):
        * loader/cache/CachedFont.h:
        (CachedFont):
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::error):
        * loader/cache/CachedResource.h:
        (CachedResource):
        * loader/cache/CachedScript.cpp:
        (WebCore::CachedScript::error):
        (WebCore):
        * loader/cache/CachedScript.h:
        (CachedScript):
        * loader/cache/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::error):
        (WebCore):
        * loader/cache/CachedXSLStyleSheet.h:
        (CachedXSLStyleSheet):

2012-03-27  Levi Weintraub  <leviw@chromium.org>

        LayoutRepainter: Remove unused constructor parameter and update to LayoutUnits
        https://bugs.webkit.org/show_bug.cgi?id=82185

        Reviewed by Eric Seidel.

        Removing an optional parameter for old bounds in LayoutRepainter's constructor that
        is no longer used. The old bounds are instead always gleaned from the renderer's
        clippedOverflowRectForRepaint.

        The renderer's bounds and outline rect also are stored in LayoutUnits to properly
        detect sub-pixel changes during layout. Eventually, we'll pixel snap these values
        when telling the embedder to invalidate. Adding a comment to that effect.

        No new tests. No change in behavior.

        * rendering/LayoutRepainter.cpp:
        (WebCore::LayoutRepainter::LayoutRepainter):
        * rendering/LayoutRepainter.h:
        (LayoutRepainter):

2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGAnimatedString
        https://bugs.webkit.org/show_bug.cgi?id=82316

        Reviewed by Zoltan Herczeg.

        Enable animVal support for SVGAnimatedString. Very simple now that everything is prepared.
        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedStringAnimator.

        Test: svg/animations/svgstring-animation-1.html

        * svg/SVGAnimatedString.cpp:
        (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedStringAnimator::animValWillChange):
        (WebCore::SVGAnimatedStringAnimator::animValDidChange):
        * svg/SVGAnimatedString.h:
        (SVGAnimatedStringAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::supportsAnimVal):

2012-03-27  Levi Weintraub  <leviw@chromium.org>

        Update usage of LayoutUnits in RenderListMarker
        https://bugs.webkit.org/show_bug.cgi?id=81921

        Reviewed by Eric Seidel.

        Implementing proper pixel snapping in list marker painting, and correcting usage of integers
        for local coordinates/margins that should be sub-pixel.

        No new tests. No change in behavior.

        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::localSelectionRect): Changed to LayoutUnits since this represents
        a rect in local coordinates.
        (WebCore::RenderListMarker::paint): Doing proper pixel snapping, and using integers for
        results from text measurement.
        (WebCore::RenderListMarker::computePreferredLogicalWidths): Using integers for results
        from text measurement.
        (WebCore::RenderListMarker::updateMargins): Fixing to be LayoutUnits.
        * rendering/RenderListMarker.h:
        (RenderListMarker):

2012-03-27  Levi Weintraub  <leviw@chromium.org>

        Revert linesBoundingBox to integers
        https://bugs.webkit.org/show_bug.cgi?id=82182

        Reviewed by Eric Seidel.

        LayoutRects are intended to be pixel snapped to determine the ultimate screen
        coordinates, but the Inline Box tree is laid out using floats, and pixel snapping
        the resulting box from linesBoundingBox would produce a potentially incorrect
        rectangle. Keeping this using enclosingIntRect retains the previous accuracy and
        prevents misuse.

        No new tests. No change in behavior.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::linesBoundingBox):
        * rendering/RenderInline.h:
        (RenderInline):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::linesBoundingBox):
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::linesBoundingBox):
        * rendering/svg/RenderSVGInlineText.h:
        (RenderSVGInlineText):

2012-03-26  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: store UIBreakpoints on UISourceCode.
        https://bugs.webkit.org/show_bug.cgi?id=82214

        This change will allow us to make breakpoint-added and breakpoint-removed events a part of UISourceCode interface.
        See bug 82224 for more details.

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
        (WebInspector.BreakpointManager.prototype.setBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
        (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
        (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
        (WebInspector.BreakpointManager.prototype.debuggerReset):
        * inspector/front-end/CompilerScriptMapping.js:
        (WebInspector.CompilerScriptMapping.prototype.addScript):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForUISourceCode):
        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
        (WebInspector.UISourceCodeImpl):
        (WebInspector.UISourceCodeImpl.prototype.breakpoints):
        (WebInspector.UISourceCodeImpl.prototype.breakpointAdded):
        (WebInspector.UISourceCodeImpl.prototype.breakpointRemoved):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createUISourceCode):
        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.get domain):
        (WebInspector.UISourceCode.prototype.get folderName):
        (WebInspector.UISourceCode.prototype.get fileName):
        (WebInspector.UISourceCode.prototype.get displayName):
        (WebInspector.UISourceCode.prototype._parseURL):
        (WebInspector.UISourceCode.prototype._didRequestContent):
        (WebInspector.UISourceCode.prototype.breakpoints):
        * inspector/front-end/inspector.html:

2012-03-27  Nat Duca  <nduca@chromium.org>

        [chromium] Fix crash with fling with tracing enabled
        https://bugs.webkit.org/show_bug.cgi?id=82306

        The TRACE_EVENT_START instrumentation was deferencing a PassOwnPtr
        after it had been passed into another OwnPtr. This caused frequent
        crashes when tracing was enabled.

        Reviewed by Adam Barth.

        * platform/ActivePlatformGestureAnimation.cpp:
        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
        * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
        (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):

2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] Implement missing methods in CookieJarSoup
        https://bugs.webkit.org/show_bug.cgi?id=82082

        Reviewed by Martin Robinson.

        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::defaultCookieJar): Return a global GRefPtr to store the
        default cookie jar.
        (WebCore::soupCookieJar): Return the current cookie jar or create
        a new one.
        (WebCore::setSoupCookieJar): Set the current cookie jar.
        (WebCore::setCookies): Fix coding style.
        (WebCore::cookiesForDocument): Helper function to get the list of
        cookies as a string.
        (WebCore::cookies): Use cookiesForDocument().
        (WebCore::cookieRequestHeaderFieldValue): Ditto.
        (WebCore::getRawCookies): Get the list of cookies for the given
        document and url.
        (WebCore::deleteCookie): Delete the given cookie.
        (WebCore::getHostnamesWithCookies): Use GOwnPtr.
        (WebCore::deleteCookiesForHostname): Use GOwnPtr and
        soup_cookie_domain_matches() instead of comparing the domain
        directly with the given hostname.
        (WebCore::deleteAllCookies): Use GOwnPtr.
        * platform/network/soup/CookieJarSoup.h:
        * platform/network/soup/GOwnPtrSoup.cpp:
        (WTF::SoupCookie): Add GOwnPtr template for SoupCookie.
        * platform/network/soup/GOwnPtrSoup.h:
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ensureSessionIsInitialized): Use soupCookieJar() instead
        of defaultCookieJar().

2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGAnimatedBoolean
        https://bugs.webkit.org/show_bug.cgi?id=82311

        Reviewed by Antti Koivisto.

        Enable animVal support for SVGAnimatedBoolean. Very simple now that everything is prepared.
        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedBooleanAnimator.

        Extended existing tests to cover this.

        * svg/SVGAnimatedBoolean.cpp:
        (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedBooleanAnimator::animValWillChange):
        (WebCore::SVGAnimatedBooleanAnimator::animValDidChange):
        * svg/SVGAnimatedBoolean.h:
        (SVGAnimatedBooleanAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::setValueAsString):
        (WebCore::SVGAnimatedType::supportsAnimVal):

2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        <img style='width: 100%' src='foo.svg'> gets pixellated when stretched
        https://bugs.webkit.org/show_bug.cgi?id=81631

        Reviewed by Antti Koivisto.

        Final cleanup of RenderReplaced after the intrinsic size negotiation patch series from some weeks/months ago.
        Stop tracking whether a RenderReplaced has an intrinsic size or not with an extra-bool, instead assume each
        RenderReplaced derived class has an intrinsic size. If not, the class should override
        computeIntrinsicRatioInformation() for any custom logic - currently only done by RenderImage.

        Remove all logic depending on m_hasIntrinsicSize from computeReplacedLogicalWidth/Height, which was used
        to support different sizing models depending on if the replaced element is a RenderImage or a RenderPart.
        Unify all of this in computeIntrinsicRatioInformation right in RenderReplaced. This allows to remove
        a hack from RenderImage::computeReplacedLogicalWidth(), which forced the synchroniziation of the intrinsicSize()
        before calling the base classes RenderReplaced::computeReplacedLogicalWidth().
        Now RenderImage just overrides the layout() method, calls RenderReplaced::layout() and then sets the container
        size of the image resources to [contentWidth(), contentHeight()] - reflecting the actual result of the layout.
        Furthermore this now allows us to unify CachedImage::imageSizeForRenderer() again for both SVG and non-SVG images.

        Propagating the right container size to the image resource fixes the actual bug, that the SVGImage got pixellated.
        Adding new tests covering percentage width or height set on an <img> embedding an external SVG, no more pixelation.

        Tests: svg/as-image/img-relative-height-expected.html
               svg/as-image/img-relative-height.html
               svg/as-image/img-relative-width-expected.html
               svg/as-image/img-relative-width.html

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::imageSizeForRenderer):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::layout):
        (WebCore::RenderImage::computeIntrinsicRatioInformation):
        * rendering/RenderImage.h:
        (RenderImage):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::RenderReplaced):
        (WebCore::rendererHasAspectRatio):
        (WebCore):
        (WebCore::RenderReplaced::computeIntrinsicRatioInformationForRenderBox):
        (WebCore::RenderReplaced::computeIntrinsicRatioInformation):
        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
        * rendering/RenderReplaced.h:
        (WebCore::RenderReplaced::intrinsicSize):
        (RenderReplaced):
        (WebCore::RenderReplaced::setIntrinsicSize):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::setContainerSize):
        * svg/graphics/SVGImage.h:
        (WebCore::SVGImage::usesContainerSize):

2012-03-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapSnapshot: speed-up distanceToWindow calculation.
        https://bugs.webkit.org/show_bug.cgi?id=82305

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._bfs):

2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVGAnimatedType should support SVGAnimatedIntegerOptionalInteger animation
        https://bugs.webkit.org/show_bug.cgi?id=67563

        Reviewed by Dirk Schulze.

        Add SVGAnimatedIntegerOptionalInteger type handling animation of pair<int, int> objects
        as used for the SVG properties 'filterRes' and 'order'. They're currently animated as
        SVGAnimatedNumberOptionalNumber - but that won't work for animVal support. Fix that
        and enable animVal support for SVGAnimatedInteger(OptionalInteger).

        Use 'int' as datatype for SVGAnimatedInteger instead of 'long' for consistency, and
        move SVGAnimatedEnumeration from 'int' to 'unsigned short', to make them distinguishable.

        Test: svg/animations/svginteger-animation-2.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/SVGAllInOne.cpp:
        * svg/SVGAnimatedEnumeration.h:
        (WebCore):
        * svg/SVGAnimatedInteger.cpp:
        (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
        (WebCore):
        (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedIntegerAnimator::animValWillChange):
        (WebCore::SVGAnimatedIntegerAnimator::animValDidChange):
        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedInteger.h:
        (WebCore):
        (SVGAnimatedIntegerAnimator):
        * svg/SVGAnimatedIntegerOptionalInteger.cpp: Added.
        (WebCore):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::SVGAnimatedIntegerOptionalIntegerAnimator):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateDistance):
        * svg/SVGAnimatedIntegerOptionalInteger.h: Copied from Source/WebCore/svg/SVGAnimatedInteger.h.
        (WebCore):
        (SVGAnimatedIntegerOptionalIntegerAnimator):
        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::~SVGAnimatedIntegerOptionalIntegerAnimator):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createIntegerOptionalInteger):
        (WebCore):
        (WebCore::SVGAnimatedType::integerOptionalInteger):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        (WebCore::SVGAnimatedType::supportsAnimVal):
        * svg/SVGAnimatedType.h:
        (SVGAnimatedType):
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::setFilterRes):
        * svg/SVGFilterElement.h:
        (SVGFilterElement):
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::getPathSegAtLength):
        * svg/SVGPathElement.h:
        (SVGPathElement):
        * svg/SVGPathParserFactory.cpp:
        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
        * svg/SVGPathParserFactory.h:
        (SVGPathParserFactory):
        * svg/SVGPathTraversalStateBuilder.cpp:
        (WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex):
        * svg/SVGPathTraversalStateBuilder.h:
        (SVGPathTraversalStateBuilder):
        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
        (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):
        (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
        (WebCore::SVGAnimatedEnumerationPropertyTearOff::currentAnimatedValue):
        (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
        * svg/properties/SVGPropertyInfo.h:
        * svg/properties/SVGPropertyTraits.h:

2012-03-25  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGAngle
        https://bugs.webkit.org/show_bug.cgi?id=82144

        Reviewed by Rob Buis.

        Enable animVal support for SVGAnimatedAngle. Very simple now that everything is prepared.
        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedAngleAnimator.

        Extended existing tests to cover this.

        * svg/SVGAnimatedAngle.cpp:
        (WebCore::sharedSVGAngle):
        (WebCore::SVGAnimatedAngleAnimator::constructFromString):
        (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
        (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
        (WebCore::SVGAnimatedAngleAnimator::calculateDistance):
        * svg/SVGAnimatedAngle.h:
        (SVGAnimatedAngleAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::supportsAnimVal):

2012-03-27  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: remove remains of path finder in heap profiler front-end
        https://bugs.webkit.org/show_bug.cgi?id=82304

        Removed remainders of heap path finder as this code is not used anymore.

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        * inspector/front-end/HeapSnapshotProxy.js:

2012-03-27  Dan Bernstein  <mitz@apple.com>

        Reverted r112214, since it was not the right fix for the build.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::asText):

2012-03-27  Kentaro Hara  <haraken@chromium.org>

        [V8][Performance] Optimize createTextNode(), createElement(), cloneNode(), etc
        https://bugs.webkit.org/show_bug.cgi?id=82201

        Reviewed by Adam Barth.

        This patch improves performance of createTextNode() by 13%, createElement() by 14%,
        and cloneNode() by 16%. Similar performance improvement will be observed in
        DOM methods that create a new object every time.

        Performance test: https://bugs.webkit.org/attachment.cgi?id=133799

        The performance test results are as follows. Since the performance of V8's GC is
        really unstable, the average of measured times makes no sense in Chromium.
        Instead, let us focus on the median. I believe that this performance
        improvement has impact on Dromaeo, but we cannot observe the improvement
        due to the unsteadiness of V8's GC, as shown below.

        Chromium/V8/Linux (without the patch):
        createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms)
        createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms)
        cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms)
        Dromaeo/dom-modify/createElement: 439.17runs/s +-31.60% (<--- pretty noisy)
        Dromaeo/dom-modify/createTextNode: 287.71runs/s +-28.39% (<--- pretty noisy)
        Dromaeo/dom-modify/cloneNode: 174.62runs/s +-25.68% (<--- pretty noisy)

        Chromium/V8/Linux (with the patch):
        createTextNode : median=240ms (mean=411.12ms, min=237ms, max=2965ms)
        createElement : median=325ms (mean=585.30ms, min=317ms, max=2984ms)
        cloneNode : median=310ms (mean=522.48ms, min=302ms, max=2988ms)
        Dromaeo/dom-modify/createElement: 507.15runs/s +-36.00% (<--- pretty noisy)
        Dromaeo/dom-modify/createTextNode: 251.01runs/s +-6.57%
        Dromaeo/dom-modify/cloneNode: 177.85runs/s +-28.74% (<--- pretty noisy)

        Chromium/V8/Mac (without the patch):
        createTextNode : median=317ms (mean=439.08ms, min=303ms, max=3126ms)
        createElement : median=403ms (mean=695.70ms, min=398ms, max=5615ms)
        cloneNode : median=384ms (mean=577.96ms, min=372ms, max=5313ms)
        Dromaeo/dom-modify/createElement: 493.89runs/s +-28.32% (<--- pretty noisy)
        Dromaeo/dom-modify/createTextNode: 279.66runs/s +-1.91%
        Dromaeo/dom-modify/cloneNode: 173.06runs/s +-24.41% (<--- pretty noisy)

        Chromium/V8/Mac (with the patch):
        createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms)
        createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms)
        cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms)
        Dromaeo/dom-modify/createElement: 510.47runs/s +-28.13% (<--- pretty noisy)
        Dromaeo/dom-modify/createTextNode: 215.80runs/s +-20.99% (<--- pretty noisy)
        Dromaeo/dom-modify/cloneNode: 174.41runs/s +-24.85% (<--- pretty noisy)

        Safari/JavaScriptCore/Mac:
        createTextNode : median=142ms (mean=141.04ms, min=110ms, max=168ms)
        createElement : median=234ms (mean=245.74ms, min=219ms, max=305ms)
        cloneNode : median=210ms (mean=213.36ms, min=204ms, max=284ms)
        Dromaeo/dom-modify/createElement: 822.49runs/s +-1.69%
        Dromaeo/dom-modify/createTextNode: 735.57runs/s +-0.91%
        Dromaeo/dom-modify/cloneNode: 135.20runs/s +-4.13%

        This patch makes the following two optimizations:

        [1] If the currently running context is equal to the context that we are about to enter,
        we do not call context->Enter().
        [2] We do not create a Local handle of the context until we really need to enter the context.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateToV8Converters):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::persistentContext):
        (WebCore):
        * bindings/v8/V8Proxy.h:
        (V8Proxy):

        * WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Updated run-bindings-tests results.

2012-03-27  Bill Budge  <bbudge@chromium.org>

        cross-origin XMLHttpRequest doesn't work with redirect
        https://bugs.webkit.org/show_bug.cgi?id=57600

        Reviewed by Adam Barth.

        Changes DocumentThreadableLoader to follow the CORS redirect steps when
        asynchronously loading a cross origin request with access control. Synchronous
        loads should not be affected. Also adds methods to ResourceRequestBase to
        clear special request headers that aren't allowed when using access control.
        Follows the CORS spec as described in the Latest Editor Draft at:
        http://www.w3.org/TR/cors/

        Test: http/tests/xmlhttprequest/access-control-and-redirects-async.html

        * loader/DocumentThreadableLoader.cpp:
        * loader/DocumentThreadableLoader.h:
        * platform/network/ResourceRequestBase.cpp:
        * platform/network/ResourceRequestBase.h:

2012-03-27  Adam Barth  <abarth@webkit.org>

        ImageLoader::m_firedLoadEvent is a confusing name
        https://bugs.webkit.org/show_bug.cgi?id=82283

        Reviewed by Kentaro Hara.

        This patch renames m_firedLoadEvent (and friends) to
        m_hasPendingLoadEvent (and negates the value).  That name more
        accurately reflects the semantics of this piece of state.  For example,
        we now initialize m_hasPendingLoadEvent to false, which makes sense as
        there is no pending load event, whereas before we initialized
        m_firedLoadEvent to true, which made less sense since we hadn't yet
        actually fired the load event.

        * bindings/v8/V8GCController.cpp:
        (WebCore::calculateGroupId):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::attach):
        * html/HTMLImageElement.h:
        (HTMLImageElement):
        (WebCore::HTMLImageElement::hasPendingLoadEvent):
        (WebCore::HTMLImageElement::hasPendingActivity):
        * html/ImageInputType.cpp:
        (WebCore::ImageInputType::attach):
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::ImageLoader):
        (WebCore::ImageLoader::~ImageLoader):
        (WebCore::ImageLoader::setImage):
        (WebCore::ImageLoader::updateFromElement):
        (WebCore::ImageLoader::notifyFinished):
        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
        (WebCore::ImageLoader::dispatchPendingLoadEvent):
        (WebCore::ImageLoader::dispatchPendingErrorEvent):
        * loader/ImageLoader.h:
        (WebCore::ImageLoader::hasPendingBeforeLoadEvent):
        (WebCore::ImageLoader::hasPendingLoadEvent):
        (ImageLoader):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::haveLoadedRequiredResources):

2012-03-27  Dan Bernstein  <mitz@apple.com>

        Tried to fix 32-bit builds.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::asText):

2012-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r112199.
        http://trac.webkit.org/changeset/112199
        https://bugs.webkit.org/show_bug.cgi?id=82295

        Breaks Chromium Win compilation (Requested by pfeldman on
        #webkit).

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorCallback):
        (GenerateNamedConstructorCallback):
        (GenerateToV8Converters):
        (GetDomMapFunction):
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore::V8Float64Array::wrapSlow):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::V8TestActiveDOMObject::wrapSlow):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::V8TestCustomNamedGetter::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::V8TestEventTarget::wrapSlow):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::V8TestMediaQueryListListener::wrapSlow):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::wrapSlow):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
        (WebCore):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore):
        (V8DOMWrapper):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):

2012-03-26  David Kilzer  <ddkilzer@apple.com>

        Build system prep work for upstreaming iOS changes
        <http://webkit.org/b/82267>

        Reviewed by Mark Rowe.

        * DerivedSources.make: Move 'bison' into a variable and use
        xcrun to find it on Mac OS X.
        * bindings/scripts/preprocessor.pm:
        (applyPreprocessor): Add local @args variable.  On iOS, the
        compiler needs additional "-isysroot $(SDKROOT)" arguments when
        invoked, so it's easier to add them to an array, especially if
        $SDKROOT contains a space in the path.  Remove now-redundant
        $gccLocation variable.

2012-03-26  Nate Chapin  <japhet@chromium.org>

        Remove duplicate error() impls in CachedResource subclasses
        https://bugs.webkit.org/show_bug.cgi?id=81161

        Reviewed by Alexey Proskuryakov.

        No new tests, refactor only.

        * loader/cache/CachedCSSStyleSheet.cpp:
        * loader/cache/CachedCSSStyleSheet.h:
        * loader/cache/CachedFont.cpp:
        * loader/cache/CachedFont.h:
        * loader/cache/CachedImage.cpp:
        * loader/cache/CachedResource.h: Make checkNotify()
             virtual, so the right checkNotify() gets called in error().
        * loader/cache/CachedScript.cpp:
        * loader/cache/CachedScript.h:
        * loader/cache/CachedXSLStyleSheet.cpp:
        * loader/cache/CachedXSLStyleSheet.h:

2012-03-26  Ken Buchanan  <kenrb@chromium.org>

        Assert failure from capitalized RenderTextFragment
        https://bugs.webkit.org/show_bug.cgi?id=82096

        Reviewed by Ryosuke Niwa.

        The cause of this bug was the call to RenderTextFragment::setTextInternal
        resulting from a style change from RenderObject::addChild. The idea here
        is to better separate the code path for transforming existing text from
        the code path for replacing the underlying text of a node. For
        RenderTextFragment this has to be clear because only in the latter case
        does the first-letter get reset.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild): Added call to transformText
        * rendering/RenderText.cpp:
        (WebCore::RenderText::styleDidChange): Added call to transformText
        (WebCore::RenderText::transformText): Added
        * rendering/RenderText.h:
        (WebCore::RenderText::setText): Changed to virtual so RenderTextFragment can override
        (WebCore::RenderText::transformText): Added
        * rendering/RenderTextFragment.cpp:
        (WebCore::RenderTextFragment::styleDidChange): Removed references to
        m_allowFragmentReset which was the previous approach to separating the
        code paths
        (WebCore::RenderTextFragment::setTextInternal): Deleted
        (WebCore::RenderTextFragment::setText): Added with most of logic that was
        previously in setTextInternal
        (WebCore::RenderTextFragment::transformText): Added
        * rendering/RenderTextFragment.h:
        (WebCore::RenderTextFragment::setText): Added
        (WebCore::RenderTextFragment::transformText): Added
        (WebCore::RenderTextFragment::setTextInternal): Deleted

2012-03-26  Adam Klein  <adamk@chromium.org>

        Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
        https://bugs.webkit.org/show_bug.cgi?id=82256

        Reviewed by Adam Barth.

        This moves leakRef() calls out of generated code, centralizing them in
        V8DOMWrapper implementation. Ideally, WeakReferenceMap::set would take
        PassRefPtrs, but that's tricky given that some WeakReferenceMap's KeyType is 'void'
        (which clearly can't be wrapped in a PassRefPtr).

        Updated binding tests to reflect changes in CodeGeneratorV8.pm, no change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorCallback): Use GetDomMapFunction instead of custom logic.
        (GenerateNamedConstructorCallback): ditto.
        (GenerateToV8Converters): Call V8DOMWrapper::setJSWrapper* method
        instead of directly accessing the wrapper maps and calling set.
        (GetDomMapFunction): Refactored to call new GetDomWrapperMapName function.
        (GetDomWrapperMapName): Helper pulled out of GetDomMapFunction.
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore::V8Float64Array::wrapSlow):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::V8TestActiveDOMObject::wrapSlow):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::V8TestCustomNamedGetter::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::V8TestEventTarget::wrapSlow):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::V8TestMediaQueryListListener::wrapSlow):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::wrapSlow):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
        * bindings/v8/V8DOMWrapper.cpp: Moved setJSWrapperForDOMNode method to header to inline it.
        * bindings/v8/V8DOMWrapper.h:
        (WebCore): Forward decls.
        (V8DOMWrapper):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Made inline.
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): ditto.
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Refactored into two methods;
        this one handles non-active Nodes.
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): Pulled out of previouse
        DOMNode method, now handles only active Nodes.
        (WebCore::V8DOMWrapper::setJSWrapperForDOMSVGElementInstance): New helper method for SVGElementInstances.

2012-03-26  Pratik Solanki  <psolanki@apple.com>

        Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength
        https://bugs.webkit.org/show_bug.cgi?id=82254

        Reviewed by Benjamin Poulain.

        No new tests because no functional changes.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/LengthFunctions.cpp:
        (WebCore::minimumValueForLength):
        (WebCore::valueForLength):
        * css/LengthFunctions.h:
        (WebCore):
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::getRegion):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::paint):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::layout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::textIndentOffset):
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalWidthInRegion):
        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
        (WebCore::RenderBox::computeInlineDirectionMargins):
        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
        (WebCore::RenderBox::computeBlockDirectionMargins):
        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paddingTop):
        (WebCore::RenderBoxModelObject::paddingBottom):
        (WebCore::RenderBoxModelObject::paddingLeft):
        (WebCore::RenderBoxModelObject::paddingRight):
        (WebCore::RenderBoxModelObject::paddingBefore):
        (WebCore::RenderBoxModelObject::paddingAfter):
        (WebCore::RenderBoxModelObject::paddingStart):
        (WebCore::RenderBoxModelObject::paddingEnd):
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
        * rendering/RenderInline.cpp:
        (WebCore::computeMargin):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateOptionsWidth):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::calcScrollbarThicknessUsing):
        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        * rendering/RenderText.h:
        (WebCore::RenderText::marginLeft):
        (WebCore::RenderText::marginRight):
        * rendering/style/RenderStyle.h:

2012-03-26  Shinya Kawanaka  <shinyak@chromium.org>

        Triggers assertion if dragging from outside of <meter> in a shadow tree to inside of it.
        https://bugs.webkit.org/show_bug.cgi?id=82177

        Reviewed by Dimitri Glazkov.

        VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries has moved the start position or
        the end position to the invalid position, i.e. position after (before) the non-existing node.

        This patch fixes the problem, and adds assertion that the selection does not cross shadow boundaries.

        Test: fast/dom/shadow/drag-to-meter-in-shadow-crash.html

        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):

2012-03-26  Scott Byer  <scottbyer@chromium.org>

        Enable layout testing of the scroll animator.
        https://bugs.webkit.org/show_bug.cgi?id=81858
        Add a call to the InternalSettings that layout tests can use to
        turn on scroll animation. Enable animation updates for the
        Chromium platform DRT when scroll animation has been turned on in
        a test. This should be a no-op for all current layout tests.

        Reviewed by James Robinson.

        No new tests. Layout test results should be unchanged.

        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::setEnableScrollAnimator):
        (WebCore):
        (WebCore::InternalSettings::scrollAnimatorEnabled):
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-03-26  Charles Wei  <charles.wei@torchmobile.com.cn>

        Fix minor spell error in DocumentLoader.h
        https://bugs.webkit.org/show_bug.cgi?id=82141

        Reviewed by Nate Chapin.

        Just fix spell error, no new tests.

        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::setClientRedirectSourceForHistory):

2012-03-26  Brian Salomon  <bsalomon@google.com>

        [Skia] Remove use of deprecated Skia constant and struct field names
        https://bugs.webkit.org/show_bug.cgi?id=81034

        Reviewed by James Robinson.

        No behavior change, so no tests. The modified code is executed by many existing tests.

        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::createAcceleratedCanvas):
        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
        (WebCore::CCRenderSurfaceFilters::apply):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::createAcceleratedCanvas):

2012-03-26  Nat Duca  <nduca@chromium.org>

        [chromium] Add isInputThrottled/didBecomeReadyForAdditionalInput to WebWidget
        https://bugs.webkit.org/show_bug.cgi?id=82265

        In threaded compositing mode, the WebWidget is self-scheduled,
        receiving damage and processing it without forwarding that damage
        up to the embedding WebWidgetClient. In Chromium's case, the
        client uses the presence of damage to perform input flow
        control. This patch exposes the need for input flow control to the
        embedder, while keeping the actual logic about what exactly
        warrants input flow control inside the implementation.

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::commitComplete):
        (WebCore::CCLayerTreeHost::commitRequested):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHostClient):
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::commitRequested):
        (WebCore):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::commitRequested):
        (WebCore):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-03-26  Adam Barth  <abarth@webkit.org>

        When <img crossorigin> fails the CORS check, we should fire the error event
        https://bugs.webkit.org/show_bug.cgi?id=81998

        Reviewed by Nate Chapin.

        The spec says we're supposed to fire the error event when the CORS
        check fails, but we haven't been.  This patch is larger than it might
        otherwise be because we're firing the event asynchronously, but that
        seems like the right thing to do.

        Tests: http/tests/security/img-with-failed-cors-check-fails-to-load.html

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        * loader/ImageLoader.cpp:
        (WebCore::errorEventSender):
        (WebCore):
        (WebCore::ImageLoader::ImageLoader):
        (WebCore::ImageLoader::~ImageLoader):
        (WebCore::ImageLoader::setImage):
        (WebCore::ImageLoader::updateFromElement):
        (WebCore::ImageLoader::notifyFinished):
        (WebCore::ImageLoader::dispatchPendingEvent):
        (WebCore::ImageLoader::dispatchPendingErrorEvent):
        (WebCore::ImageLoader::dispatchPendingErrorEvents):
        * loader/ImageLoader.h:
        (ImageLoader):

2012-03-26  Stephen White  <senorblanco@chromium.org>

        Make filters and the threaded compositor play well together.
        https://bugs.webkit.org/show_bug.cgi?id=78139
        
        Use a dedicated GraphicsContext3D instance for all filters calls in
        the threaded case.  Clone all FilterOperations for thread safety
        in the threaded case.

        Reviewed by James Robinson.
        
        Covered by tests in LayoutTests/css3/filters.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setFilters):
        Set a global flag if we've seen content with filters, so we know
        we need to create the filter context.
        (WebCore::LayerChromium::pushPropertiesTo):
        Clone all filter operations if we're in the threaded case.
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCLayerTreeHost::needsFilterContext):
        (WebCore::CCLayerTreeHost::setNeedsFilterContext):
        (CCLayerTreeHost):
        Add flag and accessors for needsFilterContext.
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::applyFilters):
        Pick up the appropriate context from SharedGraphicsContext3D,
        depending if we're in the threaded case or not.
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::recreateContext):
        For the threaded compositor re-create the filter context
        alongside the main compositor context on lost context, if requested.
        (WebCore::CCThreadProxy::beginFrame):
        Create the filter context in beginFrame, if it was resquested and is
        NULL.  This handles the first-use case.
        * platform/graphics/filters/CustomFilterOperation.h:
        (WebCore::CustomFilterOperation::clone):
        Assert if trying to clone the custom filter operation (it has
        non-threadsafe members).
        * platform/graphics/filters/FilterOperation.h:
        (WebCore::DefaultFilterOperation::clone):
        (WebCore::PassthroughFilterOperation::clone):
        (WebCore::ReferenceFilterOperation::clone):
        (WebCore::BasicColorMatrixFilterOperation::clone):
        (WebCore::BasicComponentTransferFilterOperation::clone):
        (WebCore::GammaFilterOperation::clone):
        (WebCore::BlurFilterOperation::clone):
        (WebCore::DropShadowFilterOperation::clone):
        Add clone methods for all FilterOperations.
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):
        (WebCore::SharedGraphicsContext3DImpl::getContext):
        (WebCore::SharedGraphicsContext3DImpl::createContext):
        (WebCore::SharedGraphicsContext3D::get):
        (WebCore::getOrCreateContextForImplThread):
        (WebCore::SharedGraphicsContext3D::getForImplThread):
        (WebCore::SharedGraphicsContext3D::haveForImplThread):
        (WebCore::SharedGraphicsContext3D::createForImplThread):
        Split out context creation, lost context recovery, and retrieval
        into separate functions, so the impl thread can use only the parts
        it wants on the threads it wants (create and have on main, get on impl).
        Add asserts to ensure that's how they're called.
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        (SharedGraphicsContext3D):
        Reuse the SharedGraphicsContext infrastructure to create a new
        context singleton for filter use in the threaded compositor.

2012-03-26  Adam Barth  <abarth@webkit.org>

        FrameLoader::shouldAllowNavigation uses Frame for context rather than Document
        https://bugs.webkit.org/show_bug.cgi?id=81020

        Reviewed by Eric Seidel.

        The vast majority of security checks in the browser should use a
        ScriptExecutionContext (aka a Document) to designate "who" is
        attempting to perform a given action.  Unfortunately,
        shouldAllowNavigation was using a Frame to designate "who" is
        attempting the navigation.

        In cases when the executing script is "inactive" (i.e., belongs to a
        document that is not currently displayed in a Frame), using the Frame
        can cause us to grant the script the privileges of the document that's
        currently displayed in the Frame rather than the one that contains the
        script.

        This patch moves shouldAllowNavigation from FrameLoader to Document
        (and renames it to canNavigate), effectively change the context object
        from a Frame to a Document.

        Test: http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html

        * bindings/generic/BindingSecurity.h:
        (BindingSecurity):
        (WebCore):
        * bindings/v8/V8Utilities.cpp:
        (WebCore):
        * bindings/v8/V8Utilities.h:
        (WebCore):
            - Deletes unused code.
        * dom/Document.cpp:
        (WebCore::canAccessAncestor):
        (WebCore):
        (WebCore::Document::canNavigate):
            - canNavigate is copied from FrameLoader::shouldAllowNavigation.
              I've added a null-check bailout if the document is inactive.
        * dom/Document.h:
        (Document):
        * loader/FormState.cpp:
        (WebCore::FormState::FormState):
        (WebCore::FormState::create):
        * loader/FormState.h:
        (WebCore):
        (FormState):
        (WebCore::FormState::sourceDocument):
        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::create):
            - Changes the context object from Frame to Document.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::loadFrameRequest):
        (WebCore):
        (WebCore::FrameLoader::findFrameForNavigation):
            - FrameLoader::findFrameForNavigation still incorrectly uses Frame
              as the context object, but that's a bug for another patch.
        (WebCore::createWindow):
        * loader/FrameLoader.h:
        (FrameLoader):
        * loader/NavigationScheduler.cpp:
        (WebCore::ScheduledFormSubmission::fire):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::close):
        (WebCore::DOMWindow::setLocation):
        (WebCore::DOMWindow::open):
        * page/History.cpp:
        (WebCore::History::go):

2012-03-26  Vangelis Kokkevis  <vangelis@chromium.org>

        [chromium] Simplify and fix CCLayerSorter
        https://bugs.webkit.org/show_bug.cgi?id=82114

        A significant cleanup, simplification and improvement of the CCLayerSorter code.
        Simplified the LayerShape structure to use WebCore's FloatQuad for all overlap tests.
        By treating every layer as two triangles, the old overlap code did a lot of redundant work
        including testing two of the vertices of the layer and its diagonal twice. The new overlap
        tests check:
        1. The four corners of each of the two layers against the other layer.
        2. The four edges of each layer against the edges of the other layer.
        Unlike the old code, the new code has no early-outs in the overlap tests as those where causing
        us to miss legitimate overlaps.
        A new technique for breaking dependency cycles introduced by intersecting layers is implemented.
        Instead of arbitrarily breaking cycles by choosing the node in the graph with the smallest number of
        incoming edges (i.e. layers that need to be drawn before it) we chose the one with the smallest sum
        of graph edge weights (defined as the max depth difference between two layers). Layers that intersect
        have their respective graph edge weight set to zero, making them more likely to be picked for breaking
        the cycles (it's not a perfect solution but it seems to perform much better than the previous one).

        In addition to being overly complex and doing reduntant work, the old code was missing a
        perspective divide when computing the coordinates of the layer's corners in the projected plane
        which was the source of a lot of mis-sorted results.

        In all, these improvements, fix a lot of outstanding issues with layer sorting, on pages such as:
        http://www.keithclark.co.uk/labs/3dcss/demo/
        http://2012.beercamp.com
        https://developer.mozilla.org/fr/demos/detail/the-box/launch

        Tests: CCLayerSorter unit tests.

        Reviewed by Kenneth Russell.

        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
        (WebCore):
        (WebCore::perpProduct):
        (WebCore::edgeEdgeTest):
        (WebCore::CCLayerSorter::checkOverlap):
        (WebCore::CCLayerSorter::LayerShape::LayerShape):
        (WebCore::CCLayerSorter::LayerShape::layerZFromProjectedPoint):
        (WebCore::CCLayerSorter::createGraphNodes):
        (WebCore::CCLayerSorter::createGraphEdges):
        (WebCore::CCLayerSorter::sort):
        * platform/graphics/chromium/cc/CCLayerSorter.h:
        (WebCore::CCLayerSorter::CCLayerSorter):
        (CCLayerSorter):
        (LayerShape):
        (WebCore::CCLayerSorter::GraphNode::GraphNode):
        (GraphNode):
        (WebCore::CCLayerSorter::GraphEdge::GraphEdge):
        (GraphEdge):

2012-03-26  Fady Samuel  <fsamuel@chromium.org>

        [Chromium] Using WebViewPlugins with --force-compositing-mode causes an ASSERT to fail
        https://bugs.webkit.org/show_bug.cgi?id=81954

        Reviewed by James Robinson.

        A static variable s_inPaintContents is set when painting, and it ensures
        that we don't delete GraphicsLayers or create GraphicsLayers while painting.

        However, because this variable is static, it does not permit the existence
        of multiple WebViews in different stages (one laying out and one painting).

        This manifests itself if one attempts to use the --force-compositing-mode
        in Chromium and attempts to navigate to a page with a missing or old plugin
        or a browser plugin (which uses a WebViewPlugin as a placeholder until it's
        done loading).

        The solution to simplify debugging is to make this flag per-Page.
        We can access Page from RenderLayerBacking which is a GraphicsLayerClient.
        We add a new method GraphicsLayerClient::verifyNotPainting with a default
        (do nothing) implementation and override it in RenderLayerBacking to
        test the flag set in Page.

        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        (Page):
        (WebCore::Page::setIsPainting):
        (WebCore::Page::isPainting):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::GraphicsLayer):
        (WebCore::GraphicsLayer::~GraphicsLayer):
        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
        * platform/graphics/GraphicsLayerClient.h:
        (GraphicsLayerClient):
        (WebCore::GraphicsLayerClient::verifyNotPainting):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintContents):
        (WebCore):
        (WebCore::RenderLayerBacking::verifyNotPainting):
        * rendering/RenderLayerBacking.h:
        (RenderLayerBacking):

2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>

        cssText should use shorthand notations
        https://bugs.webkit.org/show_bug.cgi?id=81737

        Reviewed by Enrica Casucci.

        Use shorthand properties to serialize style properties for cssText.

        The overall algorithm is to look for any property that has a shorthand, and then check if
        the shorthand value could be obtained (the condition is quite complicated for border properties).
        If it could, then append that value to the string builder, and set the corresponding entries in
        shorthandPropertyAppeared and shorthandPropertyUsed. If not, only turn on the bit in
        shorthandPropertyAppeared on to avoid calling getPropertyValue again for longhand properties
        that use the same shorthand property when we cannot use the shorthand.

        Test: fast/css/cssText-shorthand.html

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::asText):

2012-03-26  Bolin Hsu  <bhsu@google.com>

        [Chromium] Add Android keycodes
        https://bugs.webkit.org/show_bug.cgi?id=81950

        Add the missing Android keycodes listed in the bug.

        Reviewed by Adam Barth.

        * platform/chromium/KeyCodeConversionAndroid.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):
        * platform/chromium/KeyboardCodes.h:

2012-03-26  Levi Weintraub  <leviw@chromium.org>

        Switch ColumnInfo::addForcedBreak to LayoutUnits
        https://bugs.webkit.org/show_bug.cgi?id=82210

        Reviewed by Eric Seidel.

        Forced breaks are added by local offsets, which should be in LayoutUnits.

        No new tests. No change in behavior.

        * rendering/ColumnInfo.h:
        (WebCore::ColumnInfo::addForcedBreak):

2012-03-26  Levi Weintraub  <leviw@chromium.org>

        Update LayoutUnit usage in ContainerNode, Element, and ElementRareData
        https://bugs.webkit.org/show_bug.cgi?id=82219

        Reviewed by Eric Seidel.

        No new tests. No change in behavior.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::getLowerRightCorner): linesBoundingBox returns the enclosing IntRect
        of the contained lines. Inline's aren't bounded in LayoutUnits nor pixel snapped.
        * dom/Element.cpp:
        (WebCore::Element::boundsInRootViewSpace): Coordinates in root view space are akin to absolute
        coordinates, which are always expressed in integers.
        * dom/Element.h:
        (Element):
        * dom/ElementRareData.h:
        (WebCore::defaultMinimumSizeForResizing): Using numeric_limits<LayoutUnit>::max instead of
        INT_MAX to avoid overflowing when LayoutUnits are sub-pixel.

2012-03-26  Adam Klein  <adamk@chromium.org>

        Update binding test output for V8 after r112163.

        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::constructorCallback):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::constructorCallback):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

2012-03-26  Levi Weintraub  <leviw@chromium.org>

        Update localSelectionRect to return a LayoutRect
        https://bugs.webkit.org/show_bug.cgi?id=82183

        Reviewed by Eric Seidel.

        localSelectionRect returns a rectangle in the coordinate space of its renderer,
        and therefor should remain LayoutUnits until being promoted to absolute
        coordinates or painted. Also fixing an incorrect conversion of startPos and
        endPos in selectionRectForRepaint.

        No new tests. No change in behavior.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::localSelectionRect): Continuing to use enclosingIntRect
        for the value being returned from the font engine since these floating point
        values should not be pixel snapped.
        * rendering/InlineTextBox.h:
        (InlineTextBox):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::localSelectionRect):
        * rendering/RenderReplaced.h:
        (RenderReplaced):
        * rendering/RenderText.cpp:
        (WebCore::localQuadForTextBox):
        (WebCore::RenderText::absoluteRectsForRange):
        (WebCore::RenderText::absoluteQuadsForRange):
        (WebCore::RenderText::selectionRectForRepaint): Fixing an incorrect conversion of
        start/endPos to LayoutUnits. These values represent a range of selected characters,
        not layout values!
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::localCaretRect):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::localSelectionRect):
        * rendering/svg/SVGInlineTextBox.h:
        (SVGInlineTextBox):

2012-03-26  Justin Novosad  <junov@chromium.org>

        [Chromium] Crash in Canvas2DLayerChromium::pushPropertiesTo
        https://bugs.webkit.org/show_bug.cgi?id=82243

        Reviewed by James Robinson.

        Adding null pointer check to prevent crash and texture object
        validity check to prevent potential graphics glitch

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):

2012-03-26  Adam Klein  <adamk@chromium.org>

        Use PassRefPtr in V8DOMWrapper interface to avoid explicit ref() calls
        https://bugs.webkit.org/show_bug.cgi?id=82238

        Reviewed by Adam Barth.

        The setJSWrapper* methods previously featured a comment that asked
        callers to ref the objects before passing them in. This change makes
        that contract explicit (and allows the removal of the comment).

        In addition, for ConstructorCallbacks, this change slightly reduces
        refcount churn by passing on the initial ref via RefPtr::release().

        No new tests, no change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref() call.
        (GenerateNamedConstructorCallback): ditto.
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::installDOMWindow): Cast to a PassRefPtr and remove explicit ref call.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Pass leaked refs into the DOMNodeMaps.
        * bindings/v8/V8DOMWrapper.h:
        (V8DOMWrapper): Make the setJSWrapperFor* methods take PassRefPtr<T>.
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Pass leaked ref into the DOMObjectMap.
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): Pass leaked ref into the ActiveDOMObjectMap.
        * bindings/v8/V8Proxy.h:
        (WebCore::toV8): Remove explicit ref.
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Cast to a PassRefPTr and remove explicit ref call.
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::v8HTMLImageElementConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref.
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::constructorCallback): ditto.
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8WebSocket::constructorCallback): ditto.
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback): ditto.

2012-03-26  Alexey Proskuryakov  <ap@apple.com>

        Remove obsolete FormDataStreamMac code
        https://bugs.webkit.org/show_bug.cgi?id=82244

        Reviewed by Brady Eidson.

        * platform/network/ResourceHandle.h:
        Removed ResourceHandle::didSendBodyDataDelegateExists().

        * platform/network/mac/FormDataStreamMac.h:
        * platform/network/mac/FormDataStreamMac.mm:
        Removed code that was needed to call ResourceLoaderClient::didSendData() before Foundation
        added support for it.

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::cancel):
        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
        We no longer need to associate streams with ResourceHandles!

2012-03-26  Adam Klein  <adamk@chromium.org>

        V8RecursionScope should not hold a raw pointer to ScriptExecutionContext
        https://bugs.webkit.org/show_bug.cgi?id=82222

        Reviewed by Eric Seidel.

        Instead of holding onto ScriptExecutionContext, cache the boolean value we
        care about (context->isDocument()). This avoids problems if the
        context goes away as a result of the script we just ran.

        Test: fast/frames/subframe-load-js-url-crash.html

        * bindings/v8/V8RecursionScope.cpp:
        (WebCore::V8RecursionScope::didLeaveScriptContext): Check the cached
        bool instead of calling into the context.
        * bindings/v8/V8RecursionScope.h:
        (WebCore::V8RecursionScope::V8RecursionScope): Call isDocument from
        the constructor and cache the result.
        (WebCore::V8RecursionScope::~V8RecursionScope): No longer need to pass
        anything to didLeaveScriptContext since it's now a member.
        (V8RecursionScope): Make didLeaveScriptContext a member function and
        remove its argument. Add member bool to hold the value of isDocument.

2012-03-26  Dana Jansens  <danakj@chromium.org>

        [chromium] assertion being hit in CCLayerTreeHost::updateCompositorResources
        https://bugs.webkit.org/show_bug.cgi?id=82239

        Reviewed by Adrienne Walker.

        The assert is incorrect and should check the animation state on
        the surface, not the owning layer.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::updateCompositorResources):

2012-03-26  Levi Weintraub  <leviw@chromium.org>

        Correct LayoutUnit usage in RenderFieldSet and RenderMenuItem
        https://bugs.webkit.org/show_bug.cgi?id=82179

        Reviewed by Julien Chaffraix.

        Correcting small misuses of ints vs LayoutUnits in RenderFieldSet and RenderMenuItem. Also
        adding zeroLayoutUnit where necessary to fix the sub-pixel build. See below for details.

        No new tests. No change in behavior.

        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations): Clip rects need to be pixel snapped to mirror
        the actual coordinates we paint.
        (WebCore::RenderFieldset::paintMask): Using zeroLayoutUnit for ternary operation to fix the
        sub-pixel build.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::showPopup): Correctly using an IntRect for absoluteBoundingBoxRect.
        (WebCore::RenderMenuList::clientPaddingLeft): Correcting mismatched return type with header.
        (WebCore::RenderMenuList::clientPaddingRight): Ditto.

2012-03-26  Dan Bernstein  <mitz@apple.com>

        Tried to fix an unused parameter warning after r112154.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): Changed to not pass relayoutChildren to
        layoutFlexItems.
        (WebCore::RenderFlexibleBox::layoutFlexItems): Removed the unused relayoutChildren parameter.
        * rendering/RenderFlexibleBox.h:

2012-03-26  Rob Arnold  <robarnold@fb.com>

        SyntheticStyleCalc on an element should not force recalculation on its children
        https://bugs.webkit.org/show_bug.cgi?id=79389

        Reviewed by Simon Fraser.

        No new tests. Existing tests cover correctness, not sure how to test for performance.

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):

2012-03-26  Tony Chang  <tony@chromium.org>

        apply cross axis constraints before aligning children in flexbox
        https://bugs.webkit.org/show_bug.cgi?id=82240

        Reviewed by Ojan Vafai.

        We weren't applying max-height constraints before aligning children.
        This would cause center, end, stretch alignment to be wrong if we hit
        a max-height on a flexbox.

        This patch also moves the repositioning logic to happen after
        computeLogicalHeight, which will be useful for flex-line-pack.

        New test case in css3/flexbox/flex-align.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        (WebCore::RenderFlexibleBox::layoutFlexItems):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
        * rendering/RenderFlexibleBox.h:

2012-03-26  Anders Carlsson  <andersca@apple.com>

        Find in page overlay and bouncy are not always positioned correctly
        https://bugs.webkit.org/show_bug.cgi?id=82247
        <rdar://problem/10866139>

        Reviewed by Sam Weinig.

        In WebCore, a lot of code depends on scroll position updates to happen synchronously, so
        update the frame view scroll position before asking the scrolling thread to scroll.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):

2012-03-26  Nate Chapin  <japhet@chromium.org>

        Simplify setting loading state in DocumentLoader
        https://bugs.webkit.org/show_bug.cgi?id=82099

        Reviewed by Adam Barth.

        The logic for deciding what to return for DocumentLoader::isLoading()
        is crazy. It's indirectly based on the ResourceLoaders that have
        registered themselves with the DocumentLoader, but we can make that
        relationship more direct.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::checkLoadComplete): Renamed from updateLoading, since it's not actually
            updating anything anymore. It now calls DOMWindow::finishedLoading() if loading is in fact done.
        (WebCore::DocumentLoader::startLoadingMainResource): The only reason this had a return value was to call
            updateLoading() if loading failed. Just call checkLoadComplete() directly (this allows it to
            be private, whereas updateLoading() was public).
        (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::isLoading): Rather than holding a separate bool, return based on the presence
            of non-multipart ResourceLoaders directly.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::isLoading): Depend on DocumentLoader::isLoading() for the activeDocumentLoader(),
            rather than indirectly the other way around.
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Remove several assertions that should now be
            absolutely identical to the remaining !pdl->isLoading().
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):

2012-03-26  James Robinson  <jamesr@chromium.org>

        Scrollable plugins not registered properly in ScrollingCoordinator
        https://bugs.webkit.org/show_bug.cgi?id=82163

        Reviewed by Anders Carlsson.

        Plugins may be scrollable, so we have to add them in the non-fast scrollable region. Tested manually.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::computeNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::nonFastScrollableRegion):
        (WebCore):
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):
        * plugins/PluginViewBase.h:
        (WebCore::PluginViewBase::scrollable):
        (PluginViewBase):

2012-03-26  Joone Hur  <joone.hur@collabora.co.uk>

        [GTK] Build fix for Accelerated Compositing with Clutter
        https://bugs.webkit.org/show_bug.cgi?id=81785

        Reviewed by Martin Robinson.

        AcceleratedCompositingContext was introduced to isolate different accelerated 
        compositing implementations(r104194), but the Clutter implementation doesn't 
        build with it. This includes an initial implementation of GraphicsContext3D 
        and fixes the build error.

        * GNUmakefile.list.am:
        * platform/graphics/clutter/DrawingBufferClutter.cpp: Added.
        (WebCore):
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (WebCore::DrawingBuffer::platformColorBuffer):
        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
        * platform/graphics/clutter/GraphicsContext3DClutter.cpp: Added.
        (WebCore):
        (WebCore::GraphicsContext3D::create):
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        (WebCore::GraphicsContext3D::~GraphicsContext3D):
        (WebCore::GraphicsContext3D::getImageData):
        (WebCore::GraphicsContext3D::paintToCanvas):
        (WebCore::GraphicsContext3D::setContextLostCallback):
        (WebCore::GraphicsContext3D::setErrorMessageCallback):
        (WebCore::GraphicsContext3D::makeContextCurrent):
        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
        (WebCore::GraphicsContext3D::isGLES2Compliant):
        (WebCore::GraphicsContext3D::platformLayer):
        * platform/graphics/clutter/GraphicsContext3DPrivate.cpp: Added.
        (WebCore):
        (WebCore::GraphicsContext3DPrivate::create):
        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
        (WebCore::GraphicsContext3DPrivate::platformContext):
        (WebCore::GraphicsContext3DPrivate::paintToGraphicsLayerActor):
        * platform/graphics/clutter/GraphicsContext3DPrivate.h: Added.
        (WebCore):
        (GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::platformLayer):

2012-03-26  Peter Rybin  <prybin@chromium.org>

        Web Inspector: Expose InspectorTypeBuilder.h to other components
        https://bugs.webkit.org/show_bug.cgi?id=82226

        Reviewed by Vsevolod Vlasov.

        This is a provisional commit that simplifies passing ealy warning system
        for the main patch https://bugs.webkit.org/show_bug.cgi?id=81558

        * WebCore.xcodeproj/project.pbxproj: config file is changed in Xcode UI.

2012-03-26  Antaryami Pandia  <antaryami.pandia@motorola.com>

        An <area> element remains focusable even though its associated <img> is not rendered.
        https://bugs.webkit.org/show_bug.cgi?id=71788

        Reviewed by Andy Estes.

        HTMLAreaElement::isFocusable() needs to consider the display and
        visibility state.

        Test: fast/events/tab-test-not-visible-imagemap.html

        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::imageElement):
        (WebCore::HTMLAreaElement::isFocusable):
        * html/HTMLAreaElement.h: Make imageElement() const.
        (HTMLAreaElement):

2012-03-26  Anton Muhin  <antonm@chromium.org>

        Fix a typo in IDL
        https://bugs.webkit.org/show_bug.cgi?id=82215

        Reviewed by Adam Barth.

        No new tests, just a typo fix.

        * notifications/WorkerContextNotifications.idl:

2012-03-26  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Change handleGestureFling() to use CCInputHandlerClient::Wheel.
        https://bugs.webkit.org/show_bug.cgi?id=82133

        Reviewed by James Robinson.

        Covered by existing unit tests.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::scrollBegin):

2012-03-26  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc: mixed percent/absolute for box-reflect
        https://bugs.webkit.org/show_bug.cgi?id=82161

        Reviewed by Ojan Vafai.

        Tests: css3/calc/box-reflect-expected.html
               css3/calc/box-reflect.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-26  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc: mixed percent/absolute support for vertical-align
        https://bugs.webkit.org/show_bug.cgi?id=82152

        Reviewed by Ojan Vafai.

        Tests: css3/calc/vertical-align-expected.html
               css3/calc/vertical-align.html

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyVerticalAlign::applyValue):

2012-03-26  Filip Spacek  <fspacek@rim.com>

        [BlackBerry] Accelerated compositing updates
        https://bugs.webkit.org/show_bug.cgi?id=82058

        Reviewed by Rob Buis.

        * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
        (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
        (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
        (WebCore::CanvasLayerWebKitThread::setDevice):
        (WebCore::CanvasLayerWebKitThread::updateTextureContentsIfNeeded):
        * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
        (WebCore::CanvasLayerWebKitThread::create):
        (CanvasLayerWebKitThread):
        * platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
        (WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
        (WebCore::InstrumentedPlatformCanvas::save):
        (WebCore::InstrumentedPlatformCanvas::saveLayer):
        (WebCore::InstrumentedPlatformCanvas::restore):
        (WebCore::InstrumentedPlatformCanvas::translate):
        (WebCore::InstrumentedPlatformCanvas::scale):
        (WebCore::InstrumentedPlatformCanvas::rotate):
        (WebCore::InstrumentedPlatformCanvas::skew):
        (WebCore::InstrumentedPlatformCanvas::concat):
        (WebCore::InstrumentedPlatformCanvas::setMatrix):
        (WebCore::InstrumentedPlatformCanvas::clipRect):
        (WebCore::InstrumentedPlatformCanvas::clipPath):
        (WebCore::InstrumentedPlatformCanvas::clipRegion):
        (WebCore::InstrumentedPlatformCanvas::clear):
        (WebCore::InstrumentedPlatformCanvas::drawPaint):
        (WebCore::InstrumentedPlatformCanvas::drawPoints):
        (WebCore::InstrumentedPlatformCanvas::drawRect):
        (WebCore::InstrumentedPlatformCanvas::drawPath):
        (WebCore::InstrumentedPlatformCanvas::drawBitmap):
        (WebCore::InstrumentedPlatformCanvas::drawBitmapRect):
        (WebCore::InstrumentedPlatformCanvas::drawBitmapMatrix):
        (WebCore::InstrumentedPlatformCanvas::drawSprite):
        (WebCore::InstrumentedPlatformCanvas::drawText):
        (WebCore::InstrumentedPlatformCanvas::drawPosText):
        (WebCore::InstrumentedPlatformCanvas::drawPosTextH):
        (WebCore::InstrumentedPlatformCanvas::drawTextOnPath):
        (WebCore::InstrumentedPlatformCanvas::drawPicture):
        (WebCore::InstrumentedPlatformCanvas::drawVertices):
        (WebCore::InstrumentedPlatformCanvas::drawData):
        * platform/graphics/blackberry/LayerData.h:
        (WebCore::LayerData::LayerData):
        (WebCore::LayerData::needsTexture):
        (LayerData):
        * platform/graphics/blackberry/LayerTiler.cpp:
        (WebCore::LayerTiler::updateTextureContentsIfNeeded):
        * platform/graphics/blackberry/LayerWebKitThread.cpp:
        (WebCore::LayerWebKitThread::paintContents):
        (WebCore::LayerWebKitThread::setDrawable):
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::loadBufferingImageData):
        * platform/graphics/blackberry/skia/ImageBufferDataSkia.h: Renamed from Source/WebCore/platform/graphics/blackberry/skia/ImageBufferData.h.
        (WebCore):
        (ImageBufferData):

2012-03-26  Stephen Chenney  <schenney@chromium.org>

        Failure to invalidate text position attributes when DOM changes
        https://bugs.webkit.org/show_bug.cgi?id=81464

        Reviewed by Nikolas Zimmermann.

        The text positioning elements data structure in RenderSVGText must be
        updated when either the children of the corresponding element are
        modified, or the length of the text inside the elements changes.
        Previously, the call to clear the text positioning elements (to force
        recomputation) was guarded by a flag. If code tried to invalidate when
        the flag was not set, then something set the flag, the elements would
        be invalid at use time.

        This patch modifies the method that invalidates the positining
        attributes so that the action always happens. It also renames the
        method to more accurately reflect its function.

        Test: svg/custom/delete-modified-text-in-defs-crash.svg

        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::setTextInternal): Rename textDOMChanged to invalidateTextPositioningElements
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::invalidateTextPositioningElements): Rename
        textDOMChanged to invalidateTextPositioningElements and remove the check against the needsPosition... flag.
        * rendering/svg/RenderSVGText.h:
        (RenderSVGText): Rename textDOMChanged to invalidateTextPositioningElements
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::childrenChanged): Rename textDOMChanged to invalidateTextPositioningElements
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::childrenChanged): Rename textDOMChanged to invalidateTextPositioningElements

2012-03-26  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION (r110065-r110080): fast/forms/placeholder-set-attribute.html is failing intermittently because WebKit fails to repaint after setting the placeholder attribute
        https://bugs.webkit.org/show_bug.cgi?id=81802

        Reviewed by Dan Bernstein.

        Covered by fast/forms/placeholder-set-attribute.html which should be less flaky.

        Unfortunately no new test case as this bug requires a very specific set of conditions that I couldn't reproduce deterministically.

        This is a regression from r110072: RenderTextControlSingleLine would rely on the placeholder's RenderLayer to properly repaint during
        the first layout as the placeholder has overflow: hidden set. r110072 removed the layer in this case and thus we miss a repaint.

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        For our first layout, we need to make sure our placeholder is painted. layoutBlockChild has a very similar logic to force repaint
        on a first layout. We don't hit this logic as the placeholder is explicitly skipped in RenderTextControl::layoutSpecialExcludedChild.

2012-03-26  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION(r110072): fast/forms/textfield-overflow.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=80531

        Reviewed by Ojan Vafai.

        Tested by fast/forms/textfield-overflow.html (re-enabled after this change).

        The existing code would happily query layout information before calling layout (FTW!).
        The solution is to properly layout our object, then modify some dimensions as needed while
        marking ourself as needing layout and then layouting again.

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        Implemented a proper 2 pass layout algorithm. Removed the |relayoutChildren| logic as:
        - layoutBlock handles automatically logical height changes.
        - we were not modifying the logical width between layouts so we don't need to force a
        child relayout in this case.

2012-03-26  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream LayerCompositingThread.{h, cpp}
        https://bugs.webkit.org/show_bug.cgi?id=79873

        Reviewed by Rob Buis.

        Initial upstream, no new tests.

        * platform/graphics/blackberry/LayerCompositingThread.cpp: Added.
        (WebCore):
        (WebCore::LayerCompositingThread::create):
        (WebCore::LayerCompositingThread::LayerCompositingThread):
        (WebCore::LayerCompositingThread::~LayerCompositingThread):
        (WebCore::LayerCompositingThread::destroyOnCompositingThread):
        (WebCore::LayerCompositingThread::setLayerRenderer):
        (WebCore::LayerCompositingThread::deleteTextures):
        (WebCore::LayerCompositingThread::setDrawTransform):
        (WebCore::getTransformedRect):
        (WebCore::LayerCompositingThread::getTransformedHolePunchRect):
        (WebCore::LayerCompositingThread::drawTextures):
        (WebCore::LayerCompositingThread::drawSurface):
        (WebCore::LayerCompositingThread::drawMissingTextures):
        (WebCore::LayerCompositingThread::releaseTextureResources):
        (WebCore::LayerCompositingThread::setPluginView):
        (WebCore::LayerCompositingThread::setMediaPlayer):
        (WebCore::LayerCompositingThread::clearAnimations):
        (WebCore::LayerCompositingThread::removeSublayer):
        (WebCore::LayerCompositingThread::indexOfSublayer):
        (WebCore::LayerCompositingThread::rootLayer):
        (WebCore::LayerCompositingThread::removeFromSuperlayer):
        (WebCore::LayerCompositingThread::setSublayers):
        (WebCore::LayerCompositingThread::updateTextureContentsIfNeeded):
        (WebCore::LayerCompositingThread::setVisible):
        (WebCore::LayerCompositingThread::setNeedsCommit):
        (WebCore::LayerCompositingThread::scheduleCommit):
        (WebCore::LayerCompositingThread::updateAnimations):
        (WebCore::LayerCompositingThread::hasVisibleHolePunchRect):
        (WebCore::LayerCompositingThread::createLayerRendererSurface):
        * platform/graphics/blackberry/LayerCompositingThread.h: Added.
        (Graphics):
        (WebCore):
        (LayerCompositingThread):
        (WebCore::LayerCompositingThread::bindContentsTexture):
        (WebCore::LayerCompositingThread::getSublayers):
        (WebCore::LayerCompositingThread::setSuperlayer):
        (WebCore::LayerCompositingThread::superlayer):
        (WebCore::LayerCompositingThread::drawTransform):
        (WebCore::LayerCompositingThread::setDrawOpacity):
        (WebCore::LayerCompositingThread::drawOpacity):
        (WebCore::LayerCompositingThread::layerRendererSurface):
        (WebCore::LayerCompositingThread::clearLayerRendererSurface):
        (WebCore::LayerCompositingThread::setMaskLayer):
        (WebCore::LayerCompositingThread::maskLayer):
        (WebCore::LayerCompositingThread::setReplicaLayer):
        (WebCore::LayerCompositingThread::replicaLayer):
        (WebCore::LayerCompositingThread::getDrawRect):
        (WebCore::LayerCompositingThread::getTransformedBounds):
        (WebCore::LayerCompositingThread::hasMissingTextures):
        (WebCore::LayerCompositingThread::isDirty):
        (WebCore::LayerCompositingThread::isVisible):
        (WebCore::LayerCompositingThread::setOpacity):
        (WebCore::LayerCompositingThread::setTransform):
        (WebCore::LayerCompositingThread::hasRunningAnimations):
        (WebCore::LayerCompositingThread::numSublayers):

2012-03-26  Kent Tamura  <tkent@chromium.org>

        Add a notification function for detaching to TextFieldDecorator
        https://bugs.webkit.org/show_bug.cgi?id=82142

        Reviewed by Dimitri Glazkov.

        Add willDetach() functio to TextFieldDecorator. This will be
        needed if a decorator opens a popup UI on handleClick(), and the
        popup UI should be closed when the attaching text field is
        detached.

        No new tests because of no behavior changes in any platforms.

        * html/shadow/TextFieldDecorationElement.cpp:
        (WebCore::TextFieldDecorationElement::hostInput):
        Added. A utilify function to get an HTMLInputElement*.
        (WebCore::TextFieldDecorationElement::updateImage): Use hostInput().
        (WebCore::TextFieldDecorationElement::customStyleForRenderer): ditto.
        (WebCore::TextFieldDecorationElement::detach): Added. Calls TextFieldDecorator::willDetach().
        (WebCore::TextFieldDecorationElement::defaultEventHandler): Use hostInput().
        * html/shadow/TextFieldDecorationElement.h:
        (TextFieldDecorator):
        (TextFieldDecorationElement):

2012-03-26  Dan Bernstein  <mitz@apple.com>

        Tried to fix the 32-bit build after r112021.

        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper _convertToNSRange:]):

2012-03-26  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Skeleton code of AsyncFileSystemBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=82157

        Reviewed by Rob Buis.

        AsyncFileSystemBlackBerry is responsible for asynchronous operating
        on file system for the blackberry porting. It's just skeleton code
        containing no implementation yet.

        No new tests because of skeleton code.

        * PlatformBlackBerry.cmake: Add AsyncFileSystemBlackBerry.cpp if ENABLE_FILE_SYSTEM is on.
        * platform/AsyncFileSystem.cpp:
        (WebCore):
        * platform/blackberry/AsyncFileSystemBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::AsyncFileSystem::isAvailable):
        (WebCore::AsyncFileSystem::isValidType):
        (WebCore::AsyncFileSystem::create):
        (WebCore::AsyncFileSystem::openFileSystem):
        (WebCore::AsyncFileSystem::crackFileSystemURL):
        (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
        (WebCore::AsyncFileSystemBlackBerry::~AsyncFileSystemBlackBerry):
        (WebCore::AsyncFileSystemBlackBerry::toURL):
        (WebCore::AsyncFileSystemBlackBerry::move):
        (WebCore::AsyncFileSystemBlackBerry::copy):
        (WebCore::AsyncFileSystemBlackBerry::remove):
        (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
        (WebCore::AsyncFileSystemBlackBerry::readMetadata):
        (WebCore::AsyncFileSystemBlackBerry::createFile):
        (WebCore::AsyncFileSystemBlackBerry::createDirectory):
        (WebCore::AsyncFileSystemBlackBerry::fileExists):
        (WebCore::AsyncFileSystemBlackBerry::directoryExists):
        (WebCore::AsyncFileSystemBlackBerry::readDirectory):
        (WebCore::AsyncFileSystemBlackBerry::createWriter):
        (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
        * platform/blackberry/AsyncFileSystemBlackBerry.h: Added.
        (WebCore):
        (AsyncFileSystemBlackBerry):

2012-03-26  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] CredentialBackingStore implement encryptString() and decryptString()
        https://bugs.webkit.org/show_bug.cgi?id=82204

        Reviewed by Rob Buis.

        Implemented encryptedString() and decryptedString() in class CredentialBackingStore
        by calling BlackBerry::Platform::Encryptor::encryptString() and
        BlackBerry::Platform::Encryptor::encryptString() respectively.

        No new tests.

        * platform/network/blackberry/CredentialBackingStore.cpp:
        (WebCore::CredentialBackingStore::encryptedString):
        (WebCore::CredentialBackingStore::decryptedString):

2012-03-26  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: 'use strict' exceptions stop in inspector code
        https://bugs.webkit.org/show_bug.cgi?id=82199

        Reviewed by Yury Semikhatsky.

        Accessing callee from within InjectedScript made inspector stop on handled exceptions.
        I replaced it with Object.prototype.toString.call(obj) === "[object Arguments]".

        * inspector/InjectedScriptSource.js:

2012-03-26  Mihai Balan  <mibalan@adobe.com>

        [CSS Regions] In region styling (@-webkit-region) the position for CSS rules is incorrectly computed
        https://bugs.webkit.org/show_bug.cgi?id=81901

        Reviewed by Antti Koivisto.

        Right now CSS rules position does not take into account rules that are inside a @-webkit-region
        declaration, leading to buggy behavior where rules that appear later in the document are superseded
        by rules that appear earlier in the document (opposite as how things should be). The fix updates
        the "global" rules counter once the rules in a @-webkit-region declaration have been added.

        Tests: fast/regions/region-style-rule-position-expected.html
               fast/regions/region-style-rule-position.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-26  Pierre Rossi  <pierre.rossi@nokia.com>

        [Qt] Disable focus ring in the mobile theme.
        https://bugs.webkit.org/show_bug.cgi?id=81934

        For mobile devices intended to be used only through
        touch, the focus rings makes little sense and feels
        awkward.

        Reviewed by Kenneth Rohde Christiansen.

        No new tests. This is merely a cosmetic touch.

        * platform/qt/RenderThemeQtMobile.h:
        (RenderThemeQtMobile):
        (WebCore::RenderThemeQtMobile::platformFocusRingColor):

2012-03-26  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Clean up networking code and remove WML support.
        https://bugs.webkit.org/show_bug.cgi?id=82170

        Reviewed by Rob Buis.

        This just removes the WML support of BlackBerry porting, which is already 
        removed from WebCore. No new tests needed.

        * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
        (WebCore):
        * platform/network/blackberry/DeferredData.cpp:
        (WebCore::DeferredData::DeferredData):
        (WebCore::DeferredData::processDeferredData):
        * platform/network/blackberry/DeferredData.h:
        (DeferredData):
        (WebCore::DeferredData::hasDeferredData):
        * platform/network/blackberry/NetworkJob.cpp:
        * platform/network/blackberry/NetworkJob.h:
        (NetworkJob):
        * platform/network/blackberry/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):
        (ResourceResponse):
        * platform/network/blackberry/ResourceResponseBlackBerry.cpp:
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):

2012-03-26  Philip Rogers  <pdr@google.com>

        Add invalid bounding box concept to SVG containers
        https://bugs.webkit.org/show_bug.cgi?id=81104

        Reviewed by Nikolas Zimmermann.

        An empty <g> element needs to use an invalid bounding box because
        an empty bounding box isn't the default state. This change
        introduces the concept of an invalid object bounding box for
        both RenderSVGContainer and RenderSVGRoot. Code that
        does not explicitly check that the bounding box is valid
        should be unaffected by this change. We use this new invalid
        flag in computeContainerBoundingBoxes so that we do not
        include invalid bounding boxes.

        This change also contains a small fix in
        RenderSVGContainer::toRenderSVGContainer which depended on
        RenderSVGViewportContainer not inheriting from RenderSVGContainer,
        which it now does.

        Test: svg/custom/getBBox-empty-container.html

        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::RenderSVGContainer):
        (WebCore::RenderSVGContainer::updateCachedBoundaries):
        * rendering/svg/RenderSVGContainer.h:
        (WebCore::RenderSVGContainer::isObjectBoundingBoxValid):
        (RenderSVGContainer):
        (WebCore::toRenderSVGContainer):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::RenderSVGRoot):
        (WebCore::RenderSVGRoot::updateCachedBoundaries):
        * rendering/svg/RenderSVGRoot.h:
        (RenderSVGRoot):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore):
        (WebCore::updateObjectBoundingBox):
        (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
        * rendering/svg/SVGRenderSupport.h:
        (SVGRenderSupport):

2012-03-26  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Speed up the retainers build phase.
        https://bugs.webkit.org/show_bug.cgi?id=81763

        Replacing the edge iterator in retainers building phase
        makes it run 10 times faster (400 ms vs. 4 sec).

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._buildRetainers):

2012-03-22  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Migrate InspectorCSSAgent to strict protocol types
        https://bugs.webkit.org/show_bug.cgi?id=81923

        Reviewed by Pavel Feldman.

        No new tests, as this is a refactoring.

        * inspector/CodeGeneratorInspector.py:
        * inspector/InspectorCSSAgent.cpp:
        (SelectorProfile):
        (WebCore::SelectorProfile::toInspectorObject):
        (WebCore::InspectorCSSAgent::clearFrontend):
        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
        (WebCore::InspectorCSSAgent::getAllStyleSheets):
        (WebCore::InspectorCSSAgent::getStyleSheet):
        (WebCore::InspectorCSSAgent::setPropertyText):
        (WebCore::InspectorCSSAgent::toggleProperty):
        (WebCore::InspectorCSSAgent::setRuleSelector):
        (WebCore::InspectorCSSAgent::addRule):
        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
        (WebCore::InspectorCSSAgent::stopSelectorProfiler):
        (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
        (WebCore::InspectorCSSAgent::collectStyleSheets):
        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
        (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::buildSourceRangeObject):
        (WebCore::buildMediaObject):
        (WebCore::fillMediaListChain):
        (WebCore::InspectorStyle::buildObjectForStyle):
        (WebCore::InspectorStyle::buildArrayForComputedStyle):
        (WebCore::InspectorStyle::styleWithProperties):
        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        (WebCore::InspectorStyleSheet::buildObjectForStyle):
        * inspector/InspectorStyleSheet.h:
        (WebCore::InspectorCSSId::asProtocolValue):
        (InspectorStyle):
        (InspectorStyleSheet):

2012-03-26  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [REGRESSION] Workarounds for security checks when retrieving stylesheet rule lists are broken
        https://bugs.webkit.org/show_bug.cgi?id=82191

        Reviewed by Vsevolod Vlasov.

        Test: http/tests/inspector/modify-cross-domain-rule.html

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::asCSSRuleList):
        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):

2012-03-26  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.list.am: Add missing files.

2012-03-26  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Cookies mismatch when login to gmail.
        https://bugs.webkit.org/show_bug.cgi?id=82165

        Redirection's response can add or update cookies. The cookies of ResourceRequest is dirty
        in this case. We shouldn't copy the dirty cookie header from ResourceRequest to PlatformRequest
        for redirection loading.

        This issue didn't happen before because we used m_cookieData not the cookie header.
        Now we use the cookie header to avoid storing double cookie's data, and m_cookieData is removed.

        Reviewed by George Staikos.

        No new tests. It is a refactoring issue.

        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::initializePlatformRequest):

2012-03-26  Alexis Menard  <alexis.menard@openbossa.org>

        Increase code sharing between StylePropertySet and CSSPropertyLonghand.
        https://bugs.webkit.org/show_bug.cgi?id=81960

        Reviewed by Antti Koivisto.

        Use longhands declaration from CSSPropertyLonghand in StylePropertySet in order
        to avoid code duplication.

        No new tests : refactoring only, we shouldn't have any behavior difference.

        * css/CSSPropertyLonghand.cpp:
        (WebCore::backgroundLonghand):
        Re-order the array to match the spec default order.
        (WebCore::webkitMaskLonghand):
        Re-order to match the original order.
        (WebCore::webkitTransformOriginLonghand):
        A LayoutTest shows that a property was missing.
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::getPropertyValue):
        (WebCore::StylePropertySet::borderSpacingValue):
        (WebCore::StylePropertySet::get4Values):
        (WebCore::StylePropertySet::getLayeredShorthandValue):
        (WebCore::StylePropertySet::getShorthandValue):
        (WebCore::StylePropertySet::getCommonValue):
        (WebCore::StylePropertySet::asText):
        * css/StylePropertySet.h:
        (WebCore):
        (StylePropertySet):

2012-03-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [Qt] Assert in GestureTapHighlighter.
        https://bugs.webkit.org/show_bug.cgi?id=82187

        Reviewed by Kenneth Rohde Christiansen.

        Adjust the boundaries of the center-rect before performing the intersection test,
        since adjusting the boundary may cause a new intersection.

        * page/GestureTapHighlighter.cpp:

2012-03-26  Antti Koivisto  <antti@apple.com>

        Split MediaList into internal and CSSOM types
        https://bugs.webkit.org/show_bug.cgi?id=82149

        Reviewed by Andread Kling.

        MediaList is a CSSOM type and should not be used internally.
        
        - Use new type MediaQuerySet internally to represent a collection of media queries.
        - Create MediaList wrapper on-demand for CSSOM purposes only.
        
        This moves us forward in separating CSSOM from the internal stylesheet implementation.
        
        MediaQuerySet really belongs to a file of its own but that is not part of this patch.
        
        * css/CSSGrammar.y:
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::create):
        (WebCore):
        (WebCore::CSSImportRule::CSSImportRule):
        (WebCore::CSSImportRule::~CSSImportRule):
        (WebCore::CSSImportRule::media):
        (WebCore::CSSImportRule::cssText):
        * css/CSSImportRule.h:
        (WebCore):
        (CSSImportRule):
        (WebCore::CSSImportRule::mediaQueries):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::CSSMediaRule):
        (WebCore::CSSMediaRule::~CSSMediaRule):
        (WebCore::CSSMediaRule::cssText):
        * css/CSSMediaRule.h:
        (WebCore::CSSMediaRule::create):
        (WebCore::CSSMediaRule::media):
        (WebCore::CSSMediaRule::mediaQueries):
        (CSSMediaRule):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseMediaQuery):
        (WebCore::CSSParser::createMediaQuerySet):
        (WebCore::CSSParser::createImportRule):
        (WebCore::CSSParser::createMediaRule):
        (WebCore::CSSParser::updateLastMediaLine):
        * css/CSSParser.h:
        (WebCore):
        (CSSParser):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSheet.cpp:
        (WebCore):
        (WebCore::CSSStyleSheet::media):
        (WebCore::CSSStyleSheet::setMediaQueries):
        * css/CSSStyleSheet.h:
        (WebCore):
        (CSSStyleSheet):
        (WebCore::CSSStyleSheet::mediaQueries):
        * css/MediaList.cpp:
        (WebCore):
        (WebCore::MediaQuerySet::MediaQuerySet):
        (WebCore::MediaQuerySet::~MediaQuerySet):
        (WebCore::parseMediaDescriptor):
        (WebCore::MediaQuerySet::parse):
        (WebCore::MediaQuerySet::add):
        (WebCore::MediaQuerySet::remove):
        (WebCore::MediaQuerySet::addMediaQuery):
        (WebCore::MediaQuerySet::mediaText):
        (WebCore::MediaQuerySet::ensureMediaList):
        
            - Use OwnPtr<> for MediaQuery ownership.
            - Move the appropriate functions to MediaQuerySet.
            - Clean up a bit to make this more readable and better aligned to WebKit style.
        
        (WebCore::MediaList::MediaList):
        (WebCore::MediaList::~MediaList):
        (WebCore::MediaList::setMediaText):
        (WebCore::MediaList::item):
        (WebCore::MediaList::deleteMedium):
        (WebCore::MediaList::appendMedium):
        * css/MediaList.h:
        (WebCore):
        (WebCore::MediaQuerySet::create):
        (WebCore::MediaQuerySet::createAllowingDescriptionSyntax):
        (MediaQuerySet):
        (WebCore::MediaQuerySet::queryVector):
        (WebCore::MediaQuerySet::lastLine):
        (WebCore::MediaQuerySet::setLastLine):
        (MediaList):
        (WebCore::MediaList::ref):
        (WebCore::MediaList::deref):
        (WebCore::MediaList::length):
        (WebCore::MediaList::mediaText):
        (WebCore::MediaList::queries):
        * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::eval):
        * css/MediaQueryEvaluator.h:
        (WebCore):
        (MediaQueryEvaluator):
        * css/MediaQueryList.cpp:
        (WebCore::MediaQueryList::create):
        (WebCore::MediaQueryList::MediaQueryList):
        * css/MediaQueryList.h:
        (WebCore):
        (MediaQueryList):
        * css/MediaQueryMatcher.cpp:
        (WebCore::MediaQueryMatcher::evaluate):
        (WebCore::MediaQueryMatcher::matchMedia):
        * css/MediaQueryMatcher.h:
        (WebCore):
        (MediaQueryMatcher):
        * css/StyleMedia.cpp:
        (WebCore::StyleMedia::matchMedium):
        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::~StyleSheet):
        
            Move the media query ownership to CSSStyleSheet where it belongs.
        
        (WebCore):
        * css/StyleSheet.h:
        (WebCore::StyleSheet::media):
        (StyleSheet):
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createCSSStyleSheet):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::setCSSStyleSheet):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::createSheet):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::selectNextSourceChild):
        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::buildMediaObject):

2012-03-26  Zeno Albisser  <zeno@webkit.org>

        [Qt]WK2] TextureMapperShaderManager should query the program map before creating new shader program instances.
        https://bugs.webkit.org/show_bug.cgi?id=82178

        If TextureMapperShaderManager already has a reference to an instance of the
        requested shader program type, this instance should be reused instead of
        creating a new one.

        Reviewed by Noam Rosenthal.

        * platform/graphics/texmap/TextureMapperShaderManager.h:
        (WebCore::TextureMapperShaderManager::getShaderProgram):

2012-03-26  Yury Semikhatsky  <yurys@chromium.org>

        [Chromium] Web Inspector: dedicated worker inspector is empty
        https://bugs.webkit.org/show_bug.cgi?id=82181

        "beforeunload" event for worker inspector front-end is ingnored if the
        window url is "about:blank" as it is just unload of the default content
        before the front-end page load.

        Reviewed by Pavel Feldman.

        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager.prototype._workerInspectorClosing):

2012-03-22  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: split nodes and containment edges into two different arrays
        https://bugs.webkit.org/show_bug.cgi?id=81930

        Extract heap profile nodes and edges into two separate arrays. This
        way we will have a continuous array of the heap graph nodes and can
        aviod additional mapping between node index and its position in the
        heap snapshot.

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype._buildContinuousNodeArray):
        (WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
        (WebInspector.HeapSnapshot.prototype._restoreNodeTypes):
        (WebInspector.HeapSnapshot.prototype._createRetainmentEdgesArray):
        (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotWorker):

2012-03-22  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: move resource loading logic from SourceMapParser to CompilerScriptMapping.
        https://bugs.webkit.org/show_bug.cgi?id=81897

        Reviewed by Vsevolod Vlasov.

        SourceMapParser should only deal with payload parsing.

        * inspector/front-end/CompilerScriptMapping.js:
        (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
        (WebInspector.CompilerScriptMapping.prototype.addScript):
        (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
        (WebInspector.SourceMapPayload):
        (WebInspector.SourceMapParser):
        (WebInspector.SourceMapParser.prototype.sourceContent):
        (WebInspector.SourceMapParser.prototype.findEntry):
        (WebInspector.SourceMapParser.prototype.findEntryReversed):
        * inspector/front-end/ContentProviders.js:
        (WebInspector.CompilerSourceMappingContentProvider):
        (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):

2012-03-26  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: replace indexOf('a text') === 0 with RegExp because it is much faster.
        https://bugs.webkit.org/show_bug.cgi?id=82175

        We were using aString.indexOf("Window") but it is not effective from performance point of view.
        I'm replaced it with RegExp.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get isWindow):
        (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):

2012-03-26  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: breakpoints should be disabled while live editing JavaScript.
        https://bugs.webkit.org/show_bug.cgi?id=81947

        Reviewed by Yury Semikhatsky.

        This change disables (removes from the backend) the breakpoints while editing script.
        Undoing or committing the change restores the breakpoints. Main logic is implemented within
        JavaScriptSourceFrame, but it required minor tweaking of the text editor: more correct
        undo/redo wrapper and better detection of the noop opterations.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
        (WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
        (WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel.endsWithBracketRegex.):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.before):
        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.after):
        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):

2012-03-25  Nat Duca  <nduca@chromium.org>

        [chromium] Route willBeginFrame from compositor to WebWidget
        https://bugs.webkit.org/show_bug.cgi?id=82171

        Reviewed by Darin Fisher.

        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHostClient):
        (WebCore::CCLayerTreeHost::willBeginFrame):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::beginFrame):

2012-03-25  Hayato Ito  <hayato@chromium.org>

        [Shadow DOM] Add Reified DOM Tree traversal internal APIs.
        https://bugs.webkit.org/show_bug.cgi?id=79197

        Reviewed by Dimitri Glazkov.

        Add internal APIs which can be used to traverse Reified DOM tree, which is
        a result of node distribution algorithm explained in Shadow DOM spec.
        https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html

        Every public functions defined in ReifiedTreeTraversal are static
        functions and are named in a similar way to ones defined in WebCore::Node class.
        The only difference is that ReifiedTreeTraversal APIs consider shadow
        hosts and also traverse nodes is Shadow DOM subtrees, crossing shadow's upper and lower boundary
        transparently.

        There is no actual client which uses these APIs. Follow-up patches for FocusNavigation
        and EventDispatcher will use the APIs so that they can traverse node in reified tree order.

        Test: fast/dom/shadow/reified-tree-traversal.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ReifiedTreeTraversal.cpp: Added.
        (WebCore):
        (WebCore::isShadowHost):
        (WebCore::shadowTreeFor):
        (WebCore::shadowTreeOfParent):
        (WebCore::ReifiedTreeTraversal::firstChild):
        (WebCore::ReifiedTreeTraversal::lastChild):
        (WebCore::ReifiedTreeTraversal::lastChildWithoutCrossingUpperBoundary):
        (WebCore::ReifiedTreeTraversal::traverseChild):
        (WebCore::ReifiedTreeTraversal::traverseLightChildren):
        (WebCore::ReifiedTreeTraversal::traverseNode):
        (WebCore::ReifiedTreeTraversal::nextSibling):
        (WebCore::ReifiedTreeTraversal::previousSibling):
        (WebCore::ReifiedTreeTraversal::traverseSiblingOrBackToInsertionPoint):
        (WebCore::ReifiedTreeTraversal::traverseSiblingInCurrentTree):
        (WebCore::ReifiedTreeTraversal::traverseSiblingOrBackToYoungerShadowRoot):
        (WebCore::ReifiedTreeTraversal::escapeFallbackContentElement):
        (WebCore::ReifiedTreeTraversal::traverseNodeEscapingFallbackContents):
        (WebCore::ReifiedTreeTraversal::parentNode):
        (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
        (WebCore::ReifiedTreeTraversal::parentNodeOrBackToInsertionPoint):
        (WebCore::ReifiedTreeTraversal::parentNodeInCurrentTree):
        (WebCore::ReifiedTreeTraversal::parentNodeBackToYoungerShadowRootOrHost):
        (WebCore::ReifiedTreeTraversal::adjustedParentNode):
        (WebCore::ReifiedTreeTraversal::traverseNextNode):
        (WebCore::ReifiedTreeTraversal::traverseNextNodeWithoutCrossingUpperBoundary):
        (WebCore::ReifiedTreeTraversal::traversePreviousNode):
        (WebCore::ReifiedTreeTraversal::traversePreviousNodeWithoutCrossingUpperBoundary):
        * dom/ReifiedTreeTraversal.h: Added.
        (WebCore):
        (ReifiedTreeTraversal):
        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::insertionPointFor):
        (WebCore::ShadowTree::selectionFor):
        (WebCore):
        * dom/ShadowTree.h:
        (WebCore):
        (ShadowTree):
        * html/shadow/HTMLContentSelector.cpp:
        (WebCore::HTMLContentSelector::findFor):
        * html/shadow/HTMLContentSelector.h:
        (HTMLContentSelectionSet):
        (WebCore::HTMLContentSelectionSet::find):
        (HTMLContentSelector):
        * html/shadow/InsertionPoint.h:
        (WebCore::isInsertionPoint):
        (WebCore::toInsertionPoint):
        (WebCore):
        * testing/Internals.cpp:
        (WebCore::Internals::nextSiblingInReifiedTree):
        (WebCore):
        (WebCore::Internals::firstChildInReifiedTree):
        (WebCore::Internals::lastChildInReifiedTree):
        (WebCore::Internals::traverseNextNodeInReifiedTree):
        (WebCore::Internals::traversePreviousNodeInReifiedTree):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-25  Nikita Vasilyev  <me@elv1s.ru>

        Web Inspector: Indenting fully selected line should not indent the line next to it
        https://bugs.webkit.org/show_bug.cgi?id=81758

        In the editor, you can select a whole line by moving caret at 0 column
        position and pressing Shift + Arrow Down/Up. After that, pressing Tab
        indents 2 lines: fully selected one and the line next to it. The patch
        changes this behaviour to indent only fully selected line since that is
        what pretty-match all the other code editors do.

        Reviewed by Pavel Feldman.

        Test: inspector/editor/indentation.html

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextEditorMainPanel.prototype._indentLines):
            Do not insert indent at the begging of the last line if a selection
            ends on its 0 column.
        (WebInspector.TextEditorMainPanel.prototype._unindentLines):
            Do not remove indent at the begging of the last line if a selection
            ends on its 0 column.

2012-03-25  Abhishek Arya  <inferno@chromium.org>

        Crash in ContainerNode::resumePostAttachCallbacks.
        https://bugs.webkit.org/show_bug.cgi?id=82159

        Reviewed by Hajime Morita.

        Test: plugins/object-onfocus-mutation-crash.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::resumePostAttachCallbacks): dispatching post attach
        callbacks when our attach depth is 1 can fire mutation events such as onfocus
        which can blow away |this|. Need to protect it with a RefPtr.
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::attach): add calls to suspend attach callbacks
        until the function completes.

2012-03-25  Dana Jansens  <danakj@chromium.org>

        [chromium] Layers with animating transforms should prepaint even if they are not visible yet
        https://bugs.webkit.org/show_bug.cgi?id=82117

        Reviewed by Adrienne Walker.

        For animating transforms, instead of early-outing when the layer's
        visible rect is empty, let it prepaint regardless.

        For now, we just only paint the outermost tiles, and only for small
        layers, with at most 9 tiles.

        This changes the behaviour of ContentLayerChromium's
        idlePaintContentsIfDirty() so I've guarded the behaviour of the two
        prepainting functions that it calls to ensure the old behaviour holds
        without animations, and the new behaviour works with them.

        Unit test: TiledLayerChromiumTest.idlePaintZeroSizedLayer
                   TiledLayerChromiumTest.idlePaintZeroSizedAnimatingLayer
                   TiledLayerChromiumTest.idlePaintNonVisibleLayers
                   TiledLayerChromiumTest.idlePaintNonVisibleAnimatingLayers

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
        (WebCore::TiledLayerChromium::needsIdlePaint):
        (WebCore::TiledLayerChromium::idlePaintRect):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (WebCore::TiledLayerChromium::numPaintedTiles):
        (TiledLayerChromium):

2012-03-25  Antti Koivisto  <antti@apple.com>

        Don't use CSSRuleList for child rule ownership
        https://bugs.webkit.org/show_bug.cgi?id=82127

        Reviewed by Andreas Kling.

        CSSMediaRule, WebKitCSSKeyframesRule and WebKitRegionRule use CSSRuleList for storing children. 
        They should use a simple rule vector instead. CSSRuleList is a CSSOM type that should be 
        instantiated on-demand for API purposes only.
        
        - Use Vector<RefPtr<CSSRule>> for storing the rule children of CSSMediaRule, WebKitCSSKeyframesRule 
          and WebKitRegionRule.
        - Add direct accessors, use internally instead of CSSRuleList.
        - Make CSSRuleList an abstract base. Add concrete subclasses for dealing with the underlying storage.
        - Instantiate CSSRuleLists on-demand.
        - Make CSSStyleSheet.cssRules always return the same object instance. This matches Firefox and the rest
          of our CSSOM implementation. Tested by fast/dom/gc-9.html.
          
        The patch decouples internals from the external API. It simplifies the child rule ownership and reduces 
        indirection. Memory use of css rules with children is reduced (by a ptr, refcount and heap allocation overhead).

        * css/CSSGrammar.y:
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::CSSMediaRule):
        (WebCore::CSSMediaRule::~CSSMediaRule):
        (WebCore::CSSMediaRule::append):
        (WebCore::CSSMediaRule::insertRule):
        (WebCore::CSSMediaRule::deleteRule):
        (WebCore::CSSMediaRule::cssText):
        (WebCore::CSSMediaRule::cssRules):
        * css/CSSMediaRule.h:
        (WebCore::CSSMediaRule::create):
        (CSSMediaRule):
        (WebCore::CSSMediaRule::ruleCount):
        (WebCore::CSSMediaRule::ruleAt):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::createMediaRule):
        (WebCore::CSSParser::createRuleList):
        (WebCore::CSSParser::createRegionRule):
        * css/CSSParser.h:
        (WebCore):
        * css/CSSRuleList.cpp:
        (WebCore):
        (WebCore::StaticCSSRuleList::StaticCSSRuleList):
        (WebCore::StaticCSSRuleList::~StaticCSSRuleList):
        (WebCore::StaticCSSRuleList::deref):
        (WebCore::StaticCSSRuleList::item):        
        * css/CSSRuleList.h:
        (CSSRuleList):

            Turn CSSRuleList into abstract interface.
                    
        (StaticCSSRuleList):
        (WebCore::StaticCSSRuleList::create):
        (WebCore::StaticCSSRuleList::ref):
        (WebCore::StaticCSSRuleList::rules):
        (WebCore::StaticCSSRuleList::styleSheet):
        (WebCore::StaticCSSRuleList::length):
        
            Concrete implementation for fixed list of rules.
    
        (WebCore):
        (LiveCSSRuleList):
        (WebCore::LiveCSSRuleList::LiveCSSRuleList):
        (WebCore::LiveCSSRuleList::ref):
        (WebCore::LiveCSSRuleList::deref):
        (WebCore::LiveCSSRuleList::length):
        (WebCore::LiveCSSRuleList::item):
        (WebCore::LiveCSSRuleList::styleSheet):
        
            Concrete implemenation for live list backed by the underlying container rule.
            LiveCSSRuleList is owned by the underlying rule. Refcount is forwarded. 
        
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        * css/CSSStyleSheet.cpp:
        
            The same scheme for CSSStyleSheet.cssRule as with container rules.
        
        (StyleSheetCSSRuleList):
        (WebCore::StyleSheetCSSRuleList::StyleSheetCSSRuleList):
        (WebCore::StyleSheetCSSRuleList::ref):
        (WebCore::StyleSheetCSSRuleList::deref):
        (WebCore::StyleSheetCSSRuleList::length):
        (WebCore::StyleSheetCSSRuleList::item):
        (WebCore::StyleSheetCSSRuleList::styleSheet):
        (WebCore):
        (WebCore::CSSStyleSheet::rules):
        (WebCore::CSSStyleSheet::cssRules):
        * css/CSSStyleSheet.h:
        (CSSStyleSheet):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
        (WebCore):
        (WebCore::WebKitCSSKeyframesRule::append):
        (WebCore::WebKitCSSKeyframesRule::deleteRule):
        (WebCore::WebKitCSSKeyframesRule::findRule):
        (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
        (WebCore::WebKitCSSKeyframesRule::cssText):
        (WebCore::WebKitCSSKeyframesRule::cssRules):
        * css/WebKitCSSKeyframesRule.h:
        (WebKitCSSKeyframesRule):
        (WebCore::WebKitCSSKeyframesRule::ruleCount):
        (WebCore::WebKitCSSKeyframesRule::ruleAt):
        (WebCore::WebKitCSSKeyframesRule::length):
        (WebCore::WebKitCSSKeyframesRule::item):
        * css/WebKitCSSRegionRule.cpp:
        (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
        (WebCore::WebKitCSSRegionRule::~WebKitCSSRegionRule):
        (WebCore::WebKitCSSRegionRule::cssText):
        (WebCore::WebKitCSSRegionRule::cssRules):
        * css/WebKitCSSRegionRule.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::asCSSRuleList):
        (WebCore::InspectorStyleSheet::addRule):
        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):

2012-03-25  Kentaro Hara  <haraken@chromium.org>

        Remove duplicated GenerateConditionalString() from code generators
        https://bugs.webkit.org/show_bug.cgi?id=82148

        Reviewed by Adam Barth.

        Previously GenerateConditionalString()s were defined in each code generator,
        and they were doing the same thing. This patch puts GenerateConditionalString()
        in CodeGenerator.pm and removes duplicated GenerateConditionalString()s.

        No tests. No change in the generated code.

        * bindings/scripts/CodeGenerator.pm:
        (GenerateConditionalString):
        * bindings/scripts/CodeGeneratorCPP.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorGObject.pm:
        (GenerateProperty):
        (GenerateProperties):
        (GenerateFunction):
        (WriteData):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeaderContentHeader):
        (GenerateImplementationContentHeader):
        (GenerateHeader):
        (GenerateImplementation):
        (GenerateCallbackHeader):
        (GenerateCallbackImplementation):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (GenerateNormalAttrGetter):
        (GenerateNormalAttrSetter):
        (GenerateOverloadedFunctionCallback):
        (GenerateFunctionCallback):
        (GenerateBatchedAttributeData):
        (GenerateImplementation):
        (GenerateHeaderContentHeader):
        (GenerateImplementationContentHeader):
        (GenerateCallbackHeader):
        (GenerateCallbackImplementation):

2012-03-25  Kentaro Hara  <haraken@chromium.org>

        Move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*, and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*
        https://bugs.webkit.org/show_bug.cgi?id=82146

        Reviewed by Adam Barth.

        Now SQLDatabase is renamed to WebDatabase (See Modules/webdatabase/).
        We should move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*,
        and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*.
        We'll rename the SQL_DATABASE flag to the WEB_DATABASE flag in a follow-up patch.

        No tests. No change in behavior.

        * Modules/webdatabase/DOMWindowWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.cpp.
        (WebCore):
        (WebCore::DOMWindowWebDatabase::openDatabase):
        * Modules/webdatabase/DOMWindowWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.h.
        (WebCore):
        (DOMWindowWebDatabase):
        (WebCore::DOMWindowWebDatabase::DOMWindowWebDatabase):
        (WebCore::DOMWindowWebDatabase::~DOMWindowWebDatabase):
        * Modules/webdatabase/DOMWindowWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.idl.
        * Modules/webdatabase/WorkerContextWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.cpp.
        (WebCore):
        (WebCore::WorkerContextWebDatabase::openDatabase):
        (WebCore::WorkerContextWebDatabase::openDatabaseSync):
        * Modules/webdatabase/WorkerContextWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.h.
        (WebCore):
        (WorkerContextWebDatabase):
        (WebCore::WorkerContextWebDatabase::WorkerContextWebDatabase):
        (WebCore::WorkerContextWebDatabase::~WorkerContextWebDatabase):
        * Modules/webdatabase/WorkerContextWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.idl.

        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

2012-03-25  Philip Rogers  <pdr@google.com>

        Avoid race condition when iterating over pending resources
        https://bugs.webkit.org/show_bug.cgi?id=82115

        Reviewed by Nikolas Zimmermann.

        We can hit a race condition in SVGStyledElement::buildPendingResourcesIfNeeded
        where pending elements can become non-pending while we iterate over them.

        This patch cleans up buildPendingResourcesIfNeeded and re-works how pending
        resources are removed. Because pending resources can be modified while
        iterating over them, we introduce m_pendingResourcesForRemoval that
        holds pending resources that are marked for removal. Instead of iterating
        over this list we simply remove each pending resource from
        m_pendingResourcesForRemoval; if a pending resource is modified or removed
        during the processing of another pending resource this list is updated before
        the next element can be accessed.

        This change also removes removePendingResourceForElement which is no longer
        referenced.

        Test: http/tests/svg/change-id-with-pending-resources.html

        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
        (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
        (WebCore):
        (WebCore::SVGDocumentExtensions::markPendingResourcesForRemoval):
        (WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
        * svg/SVGDocumentExtensions.h:
        (SVGDocumentExtensions):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):

2012-03-25  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Accelerated compositing layers fail to render when using WebPageCompositor
        https://bugs.webkit.org/show_bug.cgi?id=82104
        RIM PR: 145963

        Reviewed by Rob Buis.

        The embedder may use vertex buffers, which affected the interpretation
        our vertex array pointers from memory pointers to offsets into a vertex
        buffer. The resulting geometry often resulted in no visible layers on
        screen.

        Fixed by getting rid of any bound buffer when we enter
        LayerRenderer::drawLayers().

        * platform/graphics/blackberry/LayerRenderer.cpp:
        (WebCore::LayerRenderer::drawLayers):

2012-03-24  Nat Duca  <nduca@chromium.org>

        [chromium] Instrument gesture animations with async traces
        https://bugs.webkit.org/show_bug.cgi?id=82076

        Reviewed by Adrienne Walker.

        * platform/ActivePlatformGestureAnimation.cpp:
        (WebCore::ActivePlatformGestureAnimation::~ActivePlatformGestureAnimation):
        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
        * platform/PlatformGestureCurve.h:
        (PlatformGestureCurve):
        * platform/TouchpadFlingPlatformGestureCurve.h:
        (WebCore::TouchpadFlingPlatformGestureCurve::debugName):
        * platform/WheelFlingPlatformGestureCurve.h:
        (WebCore::WheelFlingPlatformGestureCurve::debugName):
        * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
        (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
        (WebCore::CCActiveGestureAnimation::~CCActiveGestureAnimation):
        * platform/graphics/chromium/cc/CCGestureCurve.h:
        (CCGestureCurve):

2012-03-24  Jeffrey Pfau  <jpfau@apple.com>

        XML error document creation should not fire mutation events
        https://bugs.webkit.org/show_bug.cgi?id=80765

        Reviewed by Adam Barth.

        Broke two tests that expected the old behavior, which have now been updated.

        * xml/XMLErrors.cpp:
        (WebCore::createXHTMLParserErrorHeader):
        (WebCore::XMLErrors::insertErrorMessageBlock):

2012-03-24  Florin Malita  <fmalita@google.com>

        ForeignObject content is zoomed two times
        https://bugs.webkit.org/show_bug.cgi?id=76282

        Reviewed by Nikolas Zimmermann.

        Test: svg/zoom/page/zoom-foreign-content.svg

        Reset the effective zoom property for FO-nested content to avoid
        having the zoom factor applied multiple times (zooming is handled by
        the top level SVG root element).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):

2012-03-24  Chris Fleizach  <cfleizach@apple.com>

        AX: Support solution to handle invalid ax text marker
        https://bugs.webkit.org/show_bug.cgi?id=82023

        Reviewed by Oliver Hunt.

        This provides methods to better use text markers so that assistive technologies
        can know when they are valid, and can convert them to and from absolute positions.

        Test: platform/mac/accessibility/textmarker-routines.html

        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
        (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
        (-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
        (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2012-03-24  Victor Carbune  <vcarbune@adobe.com>

        Quick fix for rendering controls regression.
        https://bugs.webkit.org/show_bug.cgi?id=82125

        Reviewed by Eric Carlson.

        Only temporary fix. Tests to cover the problem should be added

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::makeOpaque): The display:none
        property should be toggled only by the media element now.
        (WebCore::MediaControlPanelElement::makeTransparent): The timer
        that toggles the dispalay:none shouldn't be used now.

2012-03-24  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed. Add header needed for compilation.

        * html/shadow/TextFieldDecorationElement.cpp:

2012-03-24  Abhishek Arya  <inferno@chromium.org>

        Crash in ApplyStyleCommand::applyInlineStyleToNodeRange.
        https://bugs.webkit.org/show_bug.cgi?id=81959

        Reviewed by Ryosuke Niwa.

        Test: editing/execCommand/apply-style-command-crash.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): RefPtr the weak
        node iterator |node|.
        * editing/ApplyStyleCommand.h:
        (ApplyStyleCommand): convert |startNode| and |pastEndNode| into PassRefPtr.

2012-03-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Unreviewed, build fix since we use "-Werror=unused-but-set-variable".

        The variable 'it' was set at TextureMapperShaderManager.h:110 but never used.

        * platform/graphics/texmap/TextureMapperShaderManager.h:
        (WebCore::TextureMapperShaderManager::getShaderProgram):

2012-03-24  Zeno Albisser  <zeno@webkit.org>

        [Qt][WK2] Make TextureMapperShaderManager::getShaderProgram() not be a template.
        https://bugs.webkit.org/show_bug.cgi?id=82049

        Change the getShaderProgram() function to not be a template.
        This is a workaround for a compiler bug that leads to an assert
        when compiling in debug mode on mac.

        Reviewed by Noam Rosenthal.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::TextureMapperGL::beginClip):
        * platform/graphics/texmap/TextureMapperShaderManager.h:
        (TextureMapperShaderProgram):
        (WebCore::TextureMapperShaderManager::getShaderProgram):
        (TextureMapperShaderManager):

2012-03-23  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Incorrect replica originTransform used in CCDamageTracker
        https://bugs.webkit.org/show_bug.cgi?id=82118

        Reviewed by Adrienne Walker.

        Unit test added to CCDamageTrackerTest.cpp

        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::CCDamageTracker::extendDamageForRenderSurface):

2012-03-23  Dana Jansens  <danakj@chromium.org>

        [chromium] When prepainting fails, tiles dirty rects may be cleared
        https://bugs.webkit.org/show_bug.cgi?id=82107

        Reviewed by Adrienne Walker.

        When prepainting, if a tile is unable to be reserved due to memory
        limits, we bail out of prepareToUpdateTiles. But we would have
        cleared the dirty rect of any previous tiles. This leaves them
        in a bad state where their textures are reserved, but their textureIds
        are set to 0, and they are not marked dirty. This means that they will
        not be updated and displayed if they become visible, since it is
        assumed that valid textures with zero textureId must have a dirty
        region.

        We fix this by not clearing the dirty rects until we know we are
        going to update the layer.

        Unit test: TiledLayerChromiumTest.pushTilesAfterIdlePaintFailed

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::hasTextureIdForTileAt):
        (WebCore):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):

2012-03-23  Stephanie Lewis  <slewis@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=81963 WebProcess can get stuck in GC during many low memory signals.
        <rdar://problem/11094830> WebProcess appears to get stuck in its GC handler (81963).
        Remove the call to garbage collect  in low memory signal handler.  Did some testing with hitting the low memory handler
        during Membuster and we would get back at most 100k - 200k.  That isn't enough to help the system, and in 
        that state the GC collection can take a substantial amount of time.

        Reviewed by Geoff Garen.

        Performance Change, no change in behavior.

        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore::MemoryPressureHandler::releaseMemory):

2012-03-23  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] CCLayerTreeHostImpl::scrollBegin() should return ScrollFailed for CCInputHandlerClient::Gesture type when wheel handlers found.
        https://bugs.webkit.org/show_bug.cgi?id=82106

        Reviewed by Adrienne Walker.

        Existing unit tests updated.

        With gesture scroll events now being handled as mouse wheel events, we should not start a gesture scroll when
        wheel handlers are present.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::scrollBegin):

2012-03-23  Adam Barth  <abarth@webkit.org>

        Move Notifications APIs from WorkerContext.idl to WorkerContextNotifications.idl
        https://bugs.webkit.org/show_bug.cgi?id=79635

        Reviewed by Kentaro Hara.

        This patch moves the NotificationCenter from WorkerContext to
        WorkerContextNotificiations, reducing clutter in WorkerContext.  After
        this patch, Notifications are almost entirely contained in the
        notifications directory.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::~WorkerContext):
        * workers/WorkerContext.h:
        (WebCore):
        (WorkerContext):
        * workers/WorkerContext.idl:

2012-03-23  Michal Mocny  <mmocny@google.com>

        [chromium] RootLayer was not being checked for null causing segfaults very rarely.
        https://bugs.webkit.org/show_bug.cgi?id=82111

        Reviewed by Adrienne Walker.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::beginDrawingFrame):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::drawLayers):

2012-03-23  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Fix race bug that clobbers CCLayerImpl updateRect
        https://bugs.webkit.org/show_bug.cgi?id=82109

        Reviewed by Dirk Pranke.

        If the main thread commits twice before the impl thread actually
        draws, then the updateRect of the first frame gets lost forever,
        and not propagated to the damage tracker.

        The solution is to accumulate the updateRect. The CCLayerImpl
        updateRect is already being correctly cleared at the appropriate
        time after drawing.

        Unit test added to LayerChromiumTest.cpp.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::pushPropertiesTo):

2012-03-23  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] attributeFilter should be case sensitive at all times
        https://bugs.webkit.org/show_bug.cgi?id=81822

        Reviewed by Ryosuke Niwa.

        This removes the behavior in MutationObserverRegistration which treats
        attributeFilter as case insensitive for HTML elements in HTML documents.

        Relevant tests have been updated.

        * dom/MutationObserverRegistration.cpp:
        (WebCore::MutationObserverRegistration::resetObservation):
        (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
        * dom/MutationObserverRegistration.h:
        (MutationObserverRegistration):

2012-03-23  Kentaro Hara  <haraken@chromium.org>

        Move WebSocket APIs from WorkerContext.idl to WorkerContextWebSocket.idl
        https://bugs.webkit.org/show_bug.cgi?id=79663

        Reviewed by Adam Barth.

        For WebKit modularization, this patch moves WebSocket APIs from WorkerContext.idl
        to WorkerContextWebSocket.idl.

        Tests: http/tests/websocket/tests/hybi/workers/* (No change in test results)

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Modules/websockets/WorkerContextWebSocket.idl: Added.
        * WebCore.gypi:
        * WebCore.xcodeproj/project.xcodeproj:
        * workers/WorkerContext.idl:

2012-03-23  Parag Radke  <parag@motorola.com>

        REGRESSION: can select text of an input button
        https://bugs.webkit.org/show_bug.cgi?id=13624

        Reviewed by Ryosuke Niwa.

        Text in a button should never have a selection background of its own painted
        but if the button is inside an editable area, then the whole button should
        have it's selection background painted.

        Test: editing/selection/selection-button-text.html

        * rendering/RenderButton.h:
        Added implementation for the virtual function canBeSelectionLeaf()
        which returns true if the button renderer is editable, false other wise.
        * rendering/RenderTextFragment.h:
        Added implementation for the virtual function canBeSelectionLeaf()
        which returns true if the text fragment renderer is editable, false other wise.

2012-03-23  Eric Carlson  <eric.carlson@apple.com>

        Remove unnecessary ASSERT from LoadableTextTrack::trackElementIndex
        https://bugs.webkit.org/show_bug.cgi?id=82095

        Reviewed by Dan Bernstein.

        No new tests, removed a bogus ASSERT that was sometimes triggered by tests.

        * html/track/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::trackElementIndex): Remove ASSERT.

2012-03-23  Eric Carlson  <eric.carlson@apple.com>

        Layout Test media/video-source-load.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=82094

        Reviewed by Alexey Proskuryakov.

        No new tests, tested by media/video-source-load.html.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::sourceWasAdded): Set m_nextChildNodeToConsider when called 
            with networkState == NETWORK_EMPTY because the resource selection algorithm has
            not started yet.

2012-03-23  Alexey Proskuryakov  <ap@apple.com>

        [Mac] No need for platform-specific ENABLE_BLOB values
        https://bugs.webkit.org/show_bug.cgi?id=82102

        Reviewed by David Kilzer.

        * Configurations/FeatureDefines.xcconfig:

2012-03-23  Kent Tamura  <tkent@chromium.org>

        Add TextFieldDecorator and TextFieldDecorationElement
        https://bugs.webkit.org/show_bug.cgi?id=80580

        Reviewed by Dimitri Glazkov.

        These classes will be used to add a decoration icon to a text field
        <input> from outside of WebCore. We have a plan to use them in Chromium
        port. So this patch doesn't add TextFieldDecorationElement.{cpp,h} to
        non-Chromium build files.

        How it works:
        When a shadow subtree for a text field is created, we ask ChromeClient
        to decorate it. ChromeClient appends a TextFieldDecorationElement to the
        existing shadow subtree or another shadow tree. A TextFieldDecorator is
        associated to a TextFieldDecorationElement, and it provides decoration
        icon images and a click handler.

        No new tests. This patch won't make any behavior change for now.

        * WebCore.gypi: Add TextFieldDecorationElement.cpp and TextFieldDecorationElement.h
        * dom/Element.h:
        (WebCore::Element::isTextFieldDecoration):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::createShadowSubtree):
        Calls ChromeClient::willAddTextFieldDecorationsTo() and addTextFieldDecorationsTo().
        * html/shadow/TextFieldDecorationElement.cpp: Added.
        (WebCore::TextFieldDecorator::~TextFieldDecorator):
        (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
        (WebCore::TextFieldDecorationElement::create):
        (WebCore::TextFieldDecorationElement::isTextFieldDecoration):
        (WebCore::TextFieldDecorationElement::updateImage):
        (WebCore::TextFieldDecorationElement::customStyleForRenderer):
        Sets the size to a square of the font-size.
        (WebCore::TextFieldDecorationElement::createRenderer):
        Always creates a RenderImage.
        (WebCore::TextFieldDecorationElement::attach):
        Sets an image for appropriate state.
        (WebCore::TextFieldDecorationElement::isMouseFocusable):
        (WebCore::TextFieldDecorationElement::defaultEventHandler):
        Delegate a click event to the corresponding function of TextFieldDecorator.
        * html/shadow/TextFieldDecorationElement.h: Added.
        (TextFieldDecorator): Added.
        (TextFieldDecorationElement): Added.
        (WebCore::toTextFieldDecorationElement): Added.
        * page/ChromeClient.h:
        (WebCore::ChromeClient::willAddTextFieldDecorationsTo): Add an empty implementation.
        (WebCore::ChromeClient::addTextFieldDecorationsTo): ditto.

2012-03-23  Adam Klein  <adamk@chromium.org>

        Match DOM4 spec with respect to DocumentFragment insertion
        https://bugs.webkit.org/show_bug.cgi?id=82089

        Reviewed by Ryosuke Niwa.

        DOM4 specifies the behavior of appendChild, insertBefore, and replaceChild
        in terms of "mutation algorithms":

        http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#mutation-algorithms

        This change updates WebKit to match, in particular with regard to DocumentFragments.
        Previously, ContainerNode would remove nodes one at a time, then add them to the new parent.
        When combined with MutationObservers, this results in overly-verbose mutation records.
        Now we create as few records as possible, matching the spec as well as Gecko's implementation
        of MutationObservers.

        Note that we still need to check validity each time through the loop,
        since inserting a node may dispatch events. In a future change, I hope
        to move these events so that they fire only after all nodes are inserted,
        but that's too much to tackle all in one.

        Tests: fast/mutation/document-fragment-insertion.html

        * dom/ContainerNode.cpp:
        (WebCore::collectChildrenAndRemoveFromOldParent): New helper method
        combining collectTargetNodes() with the removal of the collected nodes from
        their old parent, if any.
        (WebCore::ContainerNode::insertBefore): Use new helper method instead
        of removing nodes one at a time from the fragment.
        (WebCore::ContainerNode::replaceChild): ditto. Also removed some redundant asserts
        and moved the "do nothing" check out of the loop.
        (WebCore::ContainerNode::appendChild): Use new helper method.

2012-03-23  Stephen White  <senorblanco@chromium.org>

        [skia] Switch to Skia's implementation of the feMorphology filter.
        https://bugs.webkit.org/show_bug.cgi?id=82085

        Reviewed by Dirk Schulze.

        Covered by existing tests in svg/filters/.

        * WebCore.gypi:
        * platform/graphics/filters/FEMorphology.h:
        (FEMorphology):
        * platform/graphics/filters/skia/FEMorphologySkia.cpp: Added.
        (WebCore):
        (WebCore::FEMorphology::platformApplySkia):

2012-03-23  Adam Barth  <abarth@webkit.org>

        Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 3)
        https://bugs.webkit.org/show_bug.cgi?id=82027

        Reviewed by Kentaro Hara.

        Rather than watching for willDetachPage, NotificationCenter can just
        override ActiveDOMObject::stop directly to be notified when it needs to
        stop.

        Switching NotificationCenter over to using ActiveDOMObject callbacks
        frees DOMWindowNotification to implement reconnectFrame.  However, this
        is only really a victory in princple because NotificationCenter always
        returns false for canSuspend(), which means we'll never actually use
        the reconnectFrame functionality.  However, this patch does move us
        closer to the time when NotificationCenter can implement
        ActiveDOMObject::suspend/resume to play nice with the PageCache.

        * notifications/DOMWindowNotifications.cpp:
        (WebCore::DOMWindowNotifications::disconnectFrame):
        (WebCore::DOMWindowNotifications::reconnectFrame):
        * notifications/DOMWindowNotifications.h:
        (DOMWindowNotifications):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::NotificationCenter):
        (WebCore::NotificationCenter::stop):
        * notifications/NotificationCenter.h:
        (NotificationCenter):

2012-03-23  Daniel Cheng  <dcheng@chromium.org>

        [chromium] Support file drag out using DataTransferItemList::add(File)
        https://bugs.webkit.org/show_bug.cgi?id=81261

        Reviewed by Tony Chang.

        Original patch by Varun Jain <varunjain@chromium.org>.
        I've updated the original patch to remove 'downloadurl' handling since it's not tested, nor
        is it necessary for File objects, since File objects correspond to a native filesystem path.

        Test: fast/events/drag-dataTransferItemList-file-handling.html

        * platform/chromium/DataTransferItemListChromium.cpp:
        (WebCore::DataTransferItemListChromium::add):

2012-03-23  Zan Dobersek  <zandobersek@gmail.com>

        [GObject bindings] Supplemental interfaces are not disabled with the "Conditional" attribute
        https://bugs.webkit.org/show_bug.cgi?id=80030

        Reviewed by Martin Robinson.

        Changes in CodeGeneratorGObject.pm:
        - group implementation of private helpers and guard them inside
        an ifdef if a root conditional attribute is present.
        - always define the type of a GObject binding, even if the root
        conditional feature is not enabled
        - the methods are generated as well, but are simply stubs if the
        feature is not enabled, throwing a warning upon interaction.
        - if the method itself is guarded by a conditional attribute,
        the stub implementation gains one more level of depth, throwing
        a warning if the method's conditional feature is not enabled
        but the root conditional feature is.
        - small style fixes in random places.

        Also changed are GObject baselines for binding tests.

        No new tests - no new testable functionality.

        * bindings/gobject/GNUmakefile.am:
        * bindings/scripts/CodeGeneratorGObject.pm:
        (HumanReadableConditional):
        (GenerateConditionalWarn):
        (GenerateProperty):
        (GenerateProperties):
        (GenerateFunction):
        (GenerateFunctions):
        (GenerateCFile):
        (GenerateEventTargetIface):
        (Generate):
        (WriteData):
        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
        (WebKit):
        (WebKit::kit):
        (WebKit::wrapFloat64Array):
        (webkit_dom_float64array_finalize):
        (webkit_dom_float64array_foo):
        * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
        (WebKit):
        (WebKit::kit):
        (WebKit::wrapTestActiveDOMObject):
        (webkit_dom_test_active_dom_object_finalize):
        (webkit_dom_test_active_dom_object_exciting_function):
        (webkit_dom_test_active_dom_object_post_message):
        (webkit_dom_test_active_dom_object_get_exciting_attr):
        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (WebKit):
        (WebKit::kit):
        (WebKit::core):
        (WebKit::wrapTestCallback):
        (webkit_dom_test_callback_finalize):
        (webkit_dom_test_callback_callback_with_no_param):
        (webkit_dom_test_callback_callback_with_class1param):
        (webkit_dom_test_callback_callback_with_class2param):
        (webkit_dom_test_callback_callback_with_non_bool_return_type):
        (webkit_dom_test_callback_callback_with_string_list):
        * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
        (WebKit):
        (WebKit::kit):
        (WebKit::wrapTestCustomNamedGetter):
        (webkit_dom_test_custom_named_getter_finalize):
        (webkit_dom_test_custom_named_getter_another_function):
        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
        (WebKit):
        (WebKit::kit):
        (WebKit::wrapTestEventConstructor):
        (webkit_dom_test_event_constructor_finalize):
        (webkit_dom_test_event_constructor_get_attr1):
        (webkit_dom_test_event_constructor_get_attr2):
        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
        (WebKit):
        (WebKit::core):
        (WebKit::wrapTestEventTarget):
        (webkit_dom_test_event_target_finalize):
        (webkit_dom_test_event_target_item):
        (webkit_dom_test_event_target_dispatch_event):
        * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        (WebKit):
        (WebKit::kit):
        (WebKit::core):
        (WebKit::wrapTestInterface):
        (webkit_dom_test_interface_finalize):
        (webkit_dom_test_interface_supplemental_method1):
        (webkit_dom_test_interface_supplemental_method2):
        (webkit_dom_test_interface_supplemental_method4):
        (webkit_dom_test_interface_get_supplemental_str1):
        (webkit_dom_test_interface_get_supplemental_str2):
        (webkit_dom_test_interface_set_supplemental_str2):
        (webkit_dom_test_interface_get_supplemental_node):
        (webkit_dom_test_interface_set_supplemental_node):
        * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
        (WebKit):
        (WebKit::kit):
        (WebKit::wrapTestMediaQueryListListener):
        (webkit_dom_test_media_query_list_listener_finalize):
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
        (WebKit):
        (WebKit::kit):
        (WebKit::wrapTestNamedConstructor):
        (webkit_dom_test_named_constructor_finalize):
        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (WebKit):
        (WebKit::kit):
        (WebKit::core):
        (WebKit::wrapTestObj):
        (webkit_dom_test_obj_finalize):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_constructed):
        (webkit_dom_test_obj_class_init):
        (webkit_dom_test_obj_init):
        (webkit_dom_test_obj_void_method):
        (webkit_dom_test_obj_void_method_with_args):
        (webkit_dom_test_obj_int_method):
        (webkit_dom_test_obj_int_method_with_args):
        (webkit_dom_test_obj_obj_method):
        (webkit_dom_test_obj_obj_method_with_args):
        (webkit_dom_test_obj_method_with_sequence_arg):
        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
        (webkit_dom_test_obj_serialized_value):
        (webkit_dom_test_obj_idb_key):
        (webkit_dom_test_obj_options_object):
        (webkit_dom_test_obj_method_with_exception):
        (webkit_dom_test_obj_with_script_state_void):
        (webkit_dom_test_obj_with_script_state_obj):
        (webkit_dom_test_obj_with_script_state_void_exception):
        (webkit_dom_test_obj_with_script_state_obj_exception):
        (webkit_dom_test_obj_with_script_execution_context):
        (webkit_dom_test_obj_with_script_execution_context_and_script_state):
        (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception):
        (webkit_dom_test_obj_with_script_execution_context_and_script_state_with_spaces):
        (webkit_dom_test_obj_method_with_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
        (webkit_dom_test_obj_method_with_optional_string):
        (webkit_dom_test_obj_method_with_optional_string_is_undefined):
        (webkit_dom_test_obj_method_with_optional_string_is_null_string):
        (webkit_dom_test_obj_conditional_method1):
        (webkit_dom_test_obj_conditional_method2):
        (webkit_dom_test_obj_conditional_method3):
        (webkit_dom_test_obj_class_method):
        (webkit_dom_test_obj_class_method_with_optional):
        (webkit_dom_test_obj_overloaded_method1):
        (webkit_dom_test_obj_convert1):
        (webkit_dom_test_obj_convert2):
        (webkit_dom_test_obj_convert3):
        (webkit_dom_test_obj_convert4):
        (webkit_dom_test_obj_convert5):
        (webkit_dom_test_obj_mutable_point_function):
        (webkit_dom_test_obj_immutable_point_function):
        (webkit_dom_test_obj_orange):
        (webkit_dom_test_obj_strict_function):
        (webkit_dom_test_obj_get_read_only_int_attr):
        (webkit_dom_test_obj_get_read_only_string_attr):
        (webkit_dom_test_obj_get_read_only_test_obj_attr):
        (webkit_dom_test_obj_get_short_attr):
        (webkit_dom_test_obj_set_short_attr):
        (webkit_dom_test_obj_get_unsigned_short_attr):
        (webkit_dom_test_obj_set_unsigned_short_attr):
        (webkit_dom_test_obj_get_int_attr):
        (webkit_dom_test_obj_set_int_attr):
        (webkit_dom_test_obj_get_long_long_attr):
        (webkit_dom_test_obj_set_long_long_attr):
        (webkit_dom_test_obj_get_unsigned_long_long_attr):
        (webkit_dom_test_obj_set_unsigned_long_long_attr):
        (webkit_dom_test_obj_get_string_attr):
        (webkit_dom_test_obj_set_string_attr):
        (webkit_dom_test_obj_get_test_obj_attr):
        (webkit_dom_test_obj_set_test_obj_attr):
        (webkit_dom_test_obj_get_xml_obj_attr):
        (webkit_dom_test_obj_set_xml_obj_attr):
        (webkit_dom_test_obj_get_create):
        (webkit_dom_test_obj_set_create):
        (webkit_dom_test_obj_get_reflected_string_attr):
        (webkit_dom_test_obj_set_reflected_string_attr):
        (webkit_dom_test_obj_get_reflected_integral_attr):
        (webkit_dom_test_obj_set_reflected_integral_attr):
        (webkit_dom_test_obj_get_reflected_unsigned_integral_attr):
        (webkit_dom_test_obj_set_reflected_unsigned_integral_attr):
        (webkit_dom_test_obj_get_reflected_boolean_attr):
        (webkit_dom_test_obj_set_reflected_boolean_attr):
        (webkit_dom_test_obj_get_reflected_url_attr):
        (webkit_dom_test_obj_set_reflected_url_attr):
        (webkit_dom_test_obj_get_reflected_custom_integral_attr):
        (webkit_dom_test_obj_set_reflected_custom_integral_attr):
        (webkit_dom_test_obj_get_reflected_custom_boolean_attr):
        (webkit_dom_test_obj_set_reflected_custom_boolean_attr):
        (webkit_dom_test_obj_get_reflected_custom_url_attr):
        (webkit_dom_test_obj_set_reflected_custom_url_attr):
        (webkit_dom_test_obj_get_attr_with_getter_exception):
        (webkit_dom_test_obj_set_attr_with_getter_exception):
        (webkit_dom_test_obj_get_attr_with_setter_exception):
        (webkit_dom_test_obj_set_attr_with_setter_exception):
        (webkit_dom_test_obj_get_string_attr_with_getter_exception):
        (webkit_dom_test_obj_set_string_attr_with_getter_exception):
        (webkit_dom_test_obj_get_string_attr_with_setter_exception):
        (webkit_dom_test_obj_set_string_attr_with_setter_exception):
        (webkit_dom_test_obj_get_with_script_state_attribute):
        (webkit_dom_test_obj_set_with_script_state_attribute):
        (webkit_dom_test_obj_get_with_script_execution_context_attribute):
        (webkit_dom_test_obj_set_with_script_execution_context_attribute):
        (webkit_dom_test_obj_get_with_script_state_attribute_raises):
        (webkit_dom_test_obj_set_with_script_state_attribute_raises):
        (webkit_dom_test_obj_get_with_script_execution_context_attribute_raises):
        (webkit_dom_test_obj_set_with_script_execution_context_attribute_raises):
        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute):
        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute):
        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises):
        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute_raises):
        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_with_spaces_attribute):
        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_with_spaces_attribute):
        (webkit_dom_test_obj_get_conditional_attr1):
        (webkit_dom_test_obj_set_conditional_attr1):
        (webkit_dom_test_obj_get_conditional_attr2):
        (webkit_dom_test_obj_set_conditional_attr2):
        (webkit_dom_test_obj_get_conditional_attr3):
        (webkit_dom_test_obj_set_conditional_attr3):
        (webkit_dom_test_obj_get_content_document):
        (webkit_dom_test_obj_get_mutable_point):
        (webkit_dom_test_obj_set_mutable_point):
        (webkit_dom_test_obj_get_immutable_point):
        (webkit_dom_test_obj_set_immutable_point):
        (webkit_dom_test_obj_get_strict_float):
        (webkit_dom_test_obj_set_strict_float):
        (webkit_dom_test_obj_get_description):
        (webkit_dom_test_obj_get_id):
        (webkit_dom_test_obj_set_id):
        (webkit_dom_test_obj_get_hash):
        * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
        (WebKit):
        (WebKit::kit):
        (WebKit::core):
        (WebKit::wrapTestSerializedScriptValueInterface):
        (webkit_dom_test_serialized_script_value_interface_finalize):
        (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
        (webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
        (webkit_dom_test_serialized_script_value_interface_get_value):
        (webkit_dom_test_serialized_script_value_interface_set_value):
        (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
        (webkit_dom_test_serialized_script_value_interface_get_cached_value):
        (webkit_dom_test_serialized_script_value_interface_set_cached_value):
        (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:

2012-03-23  Dana Jansens  <danakj@chromium.org>

        [chromium] Record painted pixel counts for measuring effectiveness of per-tile painting
        https://bugs.webkit.org/show_bug.cgi?id=82057

        Reviewed by Adrienne Walker.

        Adds painted pixel metrics to CCOverdrawMetrics class, and calls in
        to report painted areas when updating tiles in the TiledLayerChromium
        class.

        Unit test: TiledLayerChromiumTest.opaqueContentsRegion
                   TiledLayerChromiumTest.pixelsPaintedMetrics

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
        (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
        (WebCore::CCOverdrawMetrics::didPaint):
        (WebCore):
        (WebCore::CCOverdrawMetrics::recordMetricsInternal):
        * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
        (CCOverdrawMetrics):
        (WebCore::CCOverdrawMetrics::pixelsPainted):

2012-03-23  Abhishek Arya  <inferno@chromium.org>

        Crash in RenderBlock::splitBlocks.
        https://bugs.webkit.org/show_bug.cgi?id=81926

        Reviewed by Julien Chaffraix.

        We are updating the :after content before calling splitFlow. The :after content
        gets blown away since it will go to the continuation. beforeChild was earlier
        set to the first child. Being the last anonymous block, its children gets pulled
        up in collapseAnonymousBoxChild and it gets destroyed. So, we need to update
        beforeChild value. 

        Test: fast/multicol/span/update-after-content-before-child-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):

2012-03-23  Dana Jansens  <danakj@chromium.org>

        [chromium] Improved composited debug borders
        https://bugs.webkit.org/show_bug.cgi?id=82071

        Reviewed by Adrienne Walker.

        Fix the problem with missing debug borders. Since we append quads
        to the list front to back now, we draw the quads in the list from
        back to front of the list. Which means if the debug quad is added
        after the layer it is drawing around, the layer can draw over top
        of its debug quad. Reverse the ordering when appending to fix it.

        Make the border red around tiles that are checkerboarded. Missing
        tiles in non-root layers are drawn clear, so this makes them more
        visible.

        Put a blue border around each render surface, and a purple border
        on their replicas.

        No new tests.

        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore):
        (WebCore::CCRenderPass::appendQuadsForLayer):
        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::hasReplica):
        (WebCore):
        (WebCore::CCRenderSurface::createReplicaSharedQuadState):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (CCRenderSurface):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore):
        (WebCore::CCTiledLayerImpl::appendQuads):

2012-03-23  Simon Fraser  <simon.fraser@apple.com>

        Move code that calls setAcceleratesDrawing() on GraphicsLayers into RenderLayerBacking
        https://bugs.webkit.org/show_bug.cgi?id=82092

        Reviewed by Dean Jackson.

        A RenderLayerBacking manages several GraphicsLayers, but RenderLayerCompositor
        was only calling setAcceleratesDrawing() on the one it knows about. Fix by moving
        this setting code down into RenderLayerBacking.
        
        RenderLayerCompositor now caches the setAcceleratesDrawing setting, as it does
        for other compositing-related settings, so that RenderLayerBacking doesn't have
        to grovel for Settings every time.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::createGraphicsLayer):
        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
        (WebCore::RenderLayerCompositor::updateBacking):
        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::acceleratedDrawingEnabled):
        (RenderLayerCompositor):

2012-03-23  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=82083

        Rubber-stamped by Simon Fraser.

        This patch is just a name change. getExistingScrollAnimator() (which was 
        added earlier today) is now existingScrollAnimator().
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::transitionToCommitted):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureTapDown):
        * page/FrameView.cpp:
        (WebCore::FrameView::setAnimatorsAreActive):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::willStartLiveResize):
        (WebCore::ScrollableArea::willEndLiveResize):
        (WebCore::ScrollableArea::contentAreaWillPaint):
        (WebCore::ScrollableArea::mouseEnteredContentArea):
        (WebCore::ScrollableArea::mouseExitedContentArea):
        (WebCore::ScrollableArea::mouseMovedInContentArea):
        (WebCore::ScrollableArea::contentAreaDidShow):
        (WebCore::ScrollableArea::contentAreaDidHide):
        (WebCore::ScrollableArea::contentsResized):
        (WebCore::ScrollableArea::serviceScrollAnimations):
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::existingScrollAnimator):

2012-03-23  Abhishek Arya  <inferno@chromium.org>

        Crash due to accessing removed parent lineboxes when clearing selection.
        https://bugs.webkit.org/show_bug.cgi?id=81359

        Reviewed by Eric Seidel.

        Similar to r110323, adds the canUpdateSelectionOnRootLineBoxes
        check to more places.

        Test: editing/selection/clear-selection-crash.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):
        * rendering/RenderSelectionInfo.h:
        (WebCore::RenderSelectionInfo::RenderSelectionInfo):
        (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):

2012-03-23  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=82083
        Too many ScrollAnimators are allocated on pages with frames

        Reviewed by Geoffrey Garen.

        This patch adds a new getter to ScrollableArea called 
        getExistingScrollAnimator() unlike scrollAnimator() this new function will 
        just return null if there is not already a ScrollAnimator. Callers should use 
        this new function when they have business with ScrollAnimator that does not 
        need to do anything when there are no scrollbars.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::transitionToCommitted):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureTapDown):
        * page/FrameView.cpp:
        (WebCore::FrameView::setAnimatorsAreActive):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::willStartLiveResize):
        (WebCore::ScrollableArea::willEndLiveResize):
        (WebCore::ScrollableArea::contentAreaWillPaint):
        (WebCore::ScrollableArea::mouseEnteredContentArea):
        (WebCore::ScrollableArea::mouseExitedContentArea):
        (WebCore::ScrollableArea::mouseMovedInContentArea):
        (WebCore::ScrollableArea::contentAreaDidShow):
        (WebCore::ScrollableArea::contentAreaDidHide):
        (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
        (WebCore::ScrollableArea::contentsResized):
        (WebCore::ScrollableArea::serviceScrollAnimations):
        * platform/ScrollableArea.h:
        (ScrollableArea):
        (WebCore::ScrollableArea::getExistingScrollAnimator):

2012-03-23  Eric Carlson  <eric.carlson@apple.com>

        Deal with DOM modifications when evaluating source elements.
        https://bugs.webkit.org/show_bug.cgi?id=81163

        Reviewed by Alexey Proskuryakov.

        Test: media/video-beforeload-remove-source.html

        * dom/ContainerNode.cpp: Make NodeVector and collectNodes public, renamed as getChildNodes.
        (WebCore::ContainerNode::takeAllChildrenFrom): collectNodes -> getChildNodes.
        (WebCore::ContainerNode::willRemove): collectNodes -> getChildNodes.
        (WebCore::ContainerNode::willRemoveChildren): collectNodes -> getChildNodes.
        (WebCore::ContainerNode::insertedIntoDocument): collectNodes -> getChildNodes.
        (WebCore::ContainerNode::removedFromDocument): collectNodes -> getChildNodes.
        * dom/ContainerNode.h:
        (WebCore::getChildNodes):

        * editing/ReplaceSelectionCommand.cpp: Remove unused NodeVector declaration.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): m_nextChildNodeToConsider and m_currentSourceNode
            are now RefPtrs.
        (WebCore::HTMLMediaElement::loadTimerFired): Protect HTMLMediaElement from being deleted during
            a DOM modification during an event callback.
        (WebCore::HTMLMediaElement::load): Ditto.
        (WebCore::HTMLMediaElement::selectMediaResource): Set m_nextChildNodeToConsider to the first
            child node, it will be the first node considered.
        (WebCore::HTMLMediaElement::havePotentialSourceChild): m_nextChildNodeToConsider and m_currentSourceNode
            are now RefPtrs.
        (WebCore::HTMLMediaElement::selectNextSourceChild): Collect all child nodes in a vector before
            looking for <source> nodes because 'beforeload' event handlers can mutate the DOM. Don't
            use a <source> that is no longer a child node after 'beforeload'. Use 0 to represent the end
            of the child node list because m_nextChildNodeToConsider is now a RefPtr so using the previous 
            sentinel, "this", would cause a retain cycle.
        (WebCore::HTMLMediaElement::sourceWasAdded):  m_nextChildNodeToConsider and m_currentSourceNode
            are now RefPtrs.
        (WebCore::HTMLMediaElement::sourceWillBeRemoved): Ditto.
        (WebCore::HTMLMediaElement::getPluginProxyParams): Protect HTMLMediaElement from being deleted during
            a DOM modification during an event callback.
        * html/HTMLMediaElement.h:

2012-03-23  Dean Jackson  <dino@apple.com>

        Disable CSS_SHADERS in Apple builds
        https://bugs.webkit.org/show_bug.cgi?id=81996

        Reviewed by Simon Fraser.

        Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.

        * Configurations/FeatureDefines.xcconfig:

2012-03-23  Dave Michael  <dmichael@chromium.org>

        Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
        https://bugs.webkit.org/show_bug.cgi?id=80428

        Reviewed by Eric Seidel and Ryosuke Niwa.

        Make HTMLPluginElement release its m_NPObject in detach() to break a
        reference-counting cycle that happens on reload or navigation. With this
        change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
        was removed. Note that Releasing m_NPObject does not result in a call to
        the plugin; it simply releases a reference count on the wrapper object
        for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
        when the render tree is destroyed, when PluginView calls
        PluginPackage::unload.) Thus, it is safe to release m_NPObject in
        detach, because it can not result in layout or style changes.

        Also added numberOfLiveNodes() and numberOfLiveDocuments() to
        window.internals to enable testing.

        Test: plugins/netscape-dom-access-and-reload.html

        * WebCore.exp.in:
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::detach):
        * html/HTMLPlugInElement.h:
        (HTMLPlugInElement):
        * testing/Internals.cpp:
        (WebCore):
        (WebCore::Internals::numberOfLiveNodes):
        (WebCore::Internals::numberOfLiveDocuments):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>

        CSSParser doesn't set border-*-width/style/color to initial by border shorthand property
        https://bugs.webkit.org/show_bug.cgi?id=82040

        Reviewed by Antti Koivisto.

        The border shorthand property sets values for border-width, border-style, and border-color shorthand properties.
        While CSSParser::parseValue can process these shorthand properties properly and set the longhand properties
        such as border-top-width, border-right-width, ... border-left-color, CSSParser::addProperty can't and the
        initialization in parseShorthand fails for the border property.

        Fixed the bug by explicitly initializing longhand properties.

        Changing the behavior here is unlikely to break the Web since our behavior already differs from that of Firefox
        and Internet Explorer. Both of those browsers return the actual initial values such as "medium" and "currentColor".
        This discrepancy is tracked by https://bugs.webkit.org/show_bug.cgi?id=82078.

        Test: fast/css/border-shorthand-initialize-longhands.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Uses borderAbridgedLonghand.
        (WebCore::CSSParser::parseShorthand): Uses longhand properties for initialization if one is available.
        This allows us to initialize multiple properties (e.g. border-*-color) for a single property missing in the set.
        * css/CSSPropertyLonghand.cpp:
        (WebCore::borderAbridgedLonghand): Added. The longhand here (border-width, border-style, border-color) is
        "abridged" in the sense that they're still shorthands.
        * css/CSSPropertyLonghand.h:
        (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
        (CSSPropertyLonghand): Added the version that takes longhand instances for initialization purposes.
        (WebCore::CSSPropertyLonghand::longhandsForInitialization):

2012-03-23  Tony Chang  <tony@chromium.org>

        [chromium] rename newwtf target back to wtf
        https://bugs.webkit.org/show_bug.cgi?id=82064

        Reviewed by Adam Barth.

        No new tests, only renaming a build target.

        * WebCore.gyp/WebCore.gyp:

2012-03-23  Adrienne Walker  <enne@google.com>

        [chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
        https://bugs.webkit.org/show_bug.cgi?id=82066

        Reviewed by James Robinson.

        With threaded compositing, OSX will crash and Windows will have black
        scrollbars. Fix that by reverting to the previosu behavior of updating
        scrollbars on the main thread instead.

        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
        (WebCore::scrollbarLayerDidChange):

2012-03-23  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/7883987> ASSERTION FAILED: ASSERT(input == AnimationStateInputEndTimerFired || input == AnimationStateInputPlayStatePaused) in AnimationBase::updateStateMachine causing multiple "crashes" on Lion Intel Debug WebKit testers
        https://bugs.webkit.org/show_bug.cgi?id=81351

        Rubber-stamped by Jessie Berlin.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::updateStateMachine): Replaced the assertion with a LOG_ERROR so that
        the issue is still noticeable, but it does not automatically make the debug bots red.

2012-03-23  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc: image sizing works with mixed percentage/absolute
        https://bugs.webkit.org/show_bug.cgi?id=82017

        Reviewed by Ojan Vafai.

        Test: css3/calc/img-size-expected.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):

2012-03-23  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION(107971): Google Voice contact list is broken in WebKit due to badly allocating the extra height
        https://bugs.webkit.org/show_bug.cgi?id=81826

        Reviewed by Tony Chang.

        Covered by tables/mozilla/bugs/bug27038-{1|2}.html.

        This partly reverts r107971: the extra logical height distribution change was not needed
        to fix the bug (it is needed by the test though). We revert to giving all the extra height
        to the first tbody and not the first section.

        This is broken but unfortunately some websites are relying on that. Getting a real
        distribution algorithm is covered by bug 81824. However this is super tricky to get
        right and I did not want to add more compatibility risks until I have something solid.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::distributeExtraLogicalHeight):

2012-03-23  Xingnan Wang  <xingnan.wang@intel.com>

        Optimize for IPP in DirectConvolver::process()
        https://bugs.webkit.org/show_bug.cgi?id=80255

        Reviewed by Chris Rogers.

        Increase ~2X performance by conv() in IPP.

        * platform/audio/DirectConvolver.cpp:
        (WebCore::DirectConvolver::DirectConvolver):
        (WebCore::DirectConvolver::process):
        * platform/audio/DirectConvolver.h:
        (DirectConvolver):

2012-03-23  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API (JSEP): Introducing PeerConnection00 and IceCallback
        https://bugs.webkit.org/show_bug.cgi?id=81657

        Reviewed by Adam Barth.

        Last major WebCore patch for the JSEP PeerConnection, together with the associated
        IceCallback (they both depend on each other and IceCallback has very few lines of real code).

        My next patch after this one will do a major overhaul of the existing layout tests
        and add a few new ones.

        * GNUmakefile.list.am:
        * Modules/mediastream/DOMWindowMediaStream.idl:
        * Modules/mediastream/IceCallback.h: Added.
        (WebCore):
        (IceCallback):
        (WebCore::IceCallback::~IceCallback):
        * Modules/mediastream/IceCallback.idl: Added.
        * Modules/mediastream/PeerConnection00.cpp: Added.
        (WebCore):
        (WebCore::PeerConnection00::create):
        (WebCore::PeerConnection00::PeerConnection00):
        (WebCore::PeerConnection00::~PeerConnection00):
        (WebCore::PeerConnection00::hasLocalAudioTrack):
        (WebCore::PeerConnection00::hasLocalVideoTrack):
        (WebCore::PeerConnection00::parseMediaHints):
        (WebCore::PeerConnection00::createOffer):
        (WebCore::PeerConnection00::createAnswer):
        (WebCore::PeerConnection00::setLocalDescription):
        (WebCore::PeerConnection00::setRemoteDescription):
        (WebCore::PeerConnection00::localDescription):
        (WebCore::PeerConnection00::remoteDescription):
        (WebCore::PeerConnection00::startIce):
        (WebCore::PeerConnection00::processIceMessage):
        (WebCore::PeerConnection00::readyState):
        (WebCore::PeerConnection00::iceState):
        (WebCore::PeerConnection00::addStream):
        (WebCore::PeerConnection00::removeStream):
        (WebCore::PeerConnection00::localStreams):
        (WebCore::PeerConnection00::remoteStreams):
        (WebCore::PeerConnection00::close):
        (WebCore::PeerConnection00::didGenerateIceCandidate):
        (WebCore::PeerConnection00::didChangeReadyState):
        (WebCore::PeerConnection00::didChangeIceState):
        (WebCore::PeerConnection00::didAddRemoteStream):
        (WebCore::PeerConnection00::didRemoveRemoteStream):
        (WebCore::PeerConnection00::interfaceName):
        (WebCore::PeerConnection00::scriptExecutionContext):
        (WebCore::PeerConnection00::stop):
        (WebCore::PeerConnection00::eventTargetData):
        (WebCore::PeerConnection00::ensureEventTargetData):
        (WebCore::PeerConnection00::changeReadyState):
        (WebCore::PeerConnection00::changeIceState):
        * Modules/mediastream/PeerConnection00.h: Added.
        (WebCore):
        (PeerConnection00):
        (WebCore::PeerConnection00::refEventTarget):
        (WebCore::PeerConnection00::derefEventTarget):
        * Modules/mediastream/PeerConnection00.idl: Added.
        * WebCore.gypi:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
        * bindings/js/JSPeerConnection00Custom.cpp: Added.
        (WebCore):
        (WebCore::JSPeerConnection00Constructor::constructJSPeerConnection00):
        * dom/EventTargetFactory.in:

2012-03-23  Adrienne Walker  <enne@google.com>

        [chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
        https://bugs.webkit.org/show_bug.cgi?id=82062

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
        (CCScrollbarLayerImpl):

2012-03-23  Tommy Widenflycht  <tommyw@google.com>

        [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter
        https://bugs.webkit.org/show_bug.cgi?id=81924

        Reviewed by Adam Barth.

        Nothing to test, just moving methods.

        * platform/mediastream/MediaStreamCenter.cpp:
        (WebCore::MediaStreamCenter::constructSDP):
        (WebCore):

2012-03-23  Sami Kyostila  <skyostil@chromium.org>

        Reuse buffer allocation if canvas size does not change
        https://bugs.webkit.org/show_bug.cgi?id=80871

        Reviewed by Stephen White.

        If the user changes the width or height attributes of a canvas element,
        the contents of the canvas should be cleared and the context state
        should be reset. This has become a common idiom to clear the canvas
        "efficiently" at the start of a frame.

        Previously, this code path triggered a full reallocation of the image
        buffer backing the canvas, leading to reduced performance. This patch
        implements an optimization where we reuse the previous image buffer
        allocation if the size of the canvas did not change. Also, instead of
        clearing the canvas every time its dimensions are touched, we only clear
        if anything has been drawn into the canvas since it was previously
        cleared.

        Note that for now this optimization only applies for 2D canvases,
        since it is not entirely clear how touching the dimensions of a WebGL
        canvas should work.

        Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
              existing layout tests for canvas resetting.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
        (WebCore::HTMLCanvasElement::reset):
        (WebCore::HTMLCanvasElement::createImageBuffer): Save the initial
        graphics context state so we can restore it without creating a new
        context.
        (WebCore::HTMLCanvasElement::clearImageBuffer):
        (WebCore):
        (WebCore::HTMLCanvasElement::clearCopiedImage):
        * html/HTMLCanvasElement.h:
        (HTMLCanvasElement):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::reset): No need to notify the
        compositor when the context is reset, because clearing the image buffer
        does the same thing. We can also skip the notification if we did not
        have an image buffer at the time of the reset, because the reset will
        not have any visual impact in this case. Finally, if the canvas size
        did change, the notification is also unnecessary because of the call
        to RenderObject::repaint() from HTMLCanvasElement::reset().

2012-03-22  Martin Robinson  <mrobinson@igalia.com>

        Fix some code generation warnings on GTK+.

        Reviewed by Gustavo Noronha Silva.

        No new tests. This just fixes warnings.

        * GNUmakefile.am: Remove nonexistent directories from the list IDL directories.

2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r111751.
        http://trac.webkit.org/changeset/111751
        https://bugs.webkit.org/show_bug.cgi?id=82060

        caused 15% page cycler regression for chromium-linux
        (Requested by eae on #webkit).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-23  Kentaro Hara  <haraken@chromium.org>

        Support [ImplementedAs] for attributes
        https://bugs.webkit.org/show_bug.cgi?id=81605

        Reviewed by Adam Barth.

        [ImplementedAs] just supports methods. [ImplementedAs] should support
        attributes too.

        Explained here: https://trac.webkit.org/wiki/WebKitIDL#ImplementedAs

        Test: bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGenerator.pm: Modified to support [ImplementedAs] for attributes.
        (AttributeNameForGetterAndSetter):

        * bindings/scripts/test/TestObj.idl: Added a test case.

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
        (WebDOMTestObj::strawberry):
        (WebDOMTestObj::setStrawberry):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_get_strawberry):
        (webkit_dom_test_obj_set_strawberry):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjStrawberry):
        (WebCore::setJSTestObjStrawberry):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj strawberry]):
        (-[DOMTestObj setStrawberry:]):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::strawberryAttrGetter):
        (TestObjInternal):
        (WebCore::TestObjInternal::strawberryAttrSetter):
        (WebCore):

2012-03-23  Tommy Widenflycht  <tommyw@google.com>

        The JSC code generator doesn't generate correct code for Constructors
        https://bugs.webkit.org/show_bug.cgi?id=82046

        Reviewed by Kentaro Hara.

        The main bulk of generated code for constructors uses the name jsConstructor
        for the created object, and then calls GenerateParametersCheck which generates
        code that uses the name castedThis.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateConstructorDefinition):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjConstructor::finishCreation):
        (WebCore::JSTestObjConstructor::constructJSTestObj):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::constructorCallback):

2012-03-23  Tommy Widenflycht  <tommyw@google.com>

        The JSC code generator can't handle boolean arguments for Callbacks
        https://bugs.webkit.org/show_bug.cgi?id=82045

        Reviewed by Kentaro Hara.

        CodeGeneratorJS.pm only handles DOMStrings and objects as arguments
        for a Callback, so I added support for boolean values as well.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateCallbackImplementation):
        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
        (WebDOMTestCallback::callbackWithBoolean):
        * bindings/scripts/test/CPP/WebDOMTestCallback.h:
        (WebDOMTestCallback):
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (webkit_dom_test_callback_callback_with_boolean):
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
        * bindings/scripts/test/JS/JSTestCallback.cpp:
        (WebCore::JSTestCallback::callbackWithBoolean):
        (WebCore):
        * bindings/scripts/test/JS/JSTestCallback.h:
        (JSTestCallback):
        * bindings/scripts/test/ObjC/DOMTestCallback.h:
        * bindings/scripts/test/ObjC/DOMTestCallback.mm:
        (-[DOMTestCallback callbackWithBoolean:]):
        * bindings/scripts/test/TestCallback.idl:
        * bindings/scripts/test/V8/V8TestCallback.cpp:
        (WebCore::V8TestCallback::callbackWithBoolean):
        (WebCore):
        * bindings/scripts/test/V8/V8TestCallback.h:
        (V8TestCallback):

2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Touch adjustment forgets some subtarget quads.
        https://bugs.webkit.org/show_bug.cgi?id=82044

        Reviewed by Kenneth Rohde Christiansen.

        Do not uncritically skip all nodes that are ancestors to other test results.
        Instead return the inner-most element if multiple nodes have the same distance.

        Test: touchadjustment/block-testing.html

        * page/TouchAdjustment.cpp:
        (WebCore::TouchAdjustment::compileSubtargetList):
        (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):

2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        TouchAdjustment does not correct for frame position
        https://bugs.webkit.org/show_bug.cgi?id=82043

        Reviewed by Kenneth Rohde Christiansen.

        Convert geometry to window coordinates before calculating distance.

        Test: touchadjustment/iframe.html

        * page/TouchAdjustment.cpp:
        (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):

2012-03-23  Vlad Voicu  <vladv@rosedu.org>

        Fixed minor WebInspector display issue
        Clicking on disabled sections in Styles Sidebar Pane creates new elements.
        https://bugs.webkit.org/show_bug.cgi?id=81925

        Reviewed by Timothy Hatcher

        No new tests should be required.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
        (WebInspector.StylePropertyTreeElement.prototype):

2012-03-23  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rebaselined run-bindings-tests results.

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::methodWithCallbackArgCallback):
        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
        (WebCore::TestObjInternal::overloadedMethod5Callback):
        (WebCore::TestObjInternal::overloadedMethodCallback):

2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>

        cssText should use StringBuilder
        https://bugs.webkit.org/show_bug.cgi?id=82028

        Reviewed by Hajime Morita.

        Make StylePropertySet::asText more efficient by deploying StringBuilder;
        avoids heap churn by String::operator+ and String::operator+=.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::asText):

2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
        https://bugs.webkit.org/show_bug.cgi?id=82035

        Rollout r111754 since it caused a test to fail and the test added by the patch
        is failing on Mac WebKit 2.

        * WebCore.exp.in:
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::detach):
        (WebCore):
        (WebCore::HTMLPlugInElement::removedFromDocument):
        * html/HTMLPlugInElement.h:
        (HTMLPlugInElement):
        * testing/Internals.cpp:
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-23  Adam Barth  <abarth@webkit.org>

        Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 2)
        https://bugs.webkit.org/show_bug.cgi?id=82026

        Reviewed by Kentaro Hara.

        This patch removes DOMWindow::resetNotifications, which was unneeded
        special-case logic for clearing the notifications center.  The previous
        patch that tried to accomplish the same thing did not override
        willDetachPage, which is why it caused crashes.

        There's actually a cleaner way to handle these cases, which will let us
        implement reconnectFrame, but that will need to wait for the next
        patch.

        * notifications/DOMWindowNotifications.cpp:
        (WebCore::DOMWindowNotifications::DOMWindowNotifications):
        (WebCore::DOMWindowNotifications::from):
        (WebCore::DOMWindowNotifications::webkitNotifications):
        (WebCore):
        (WebCore::DOMWindowNotifications::disconnectFrame):
        (WebCore::DOMWindowNotifications::willDetachPage):
        (WebCore::DOMWindowNotifications::reset):
        * notifications/DOMWindowNotifications.h:
        (DOMWindowNotifications):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::willDetachPage):
        (WebCore::DOMWindow::disconnectDOMWindowProperties):
        (WebCore::DOMWindow::clearDOMWindowProperties):
        * page/DOMWindow.h:
        (DOMWindow):
        * page/Frame.cpp:
        (WebCore::Frame::willDetachPage):

2012-03-22  Adam Barth  <abarth@webkit.org>

        Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 1)
        https://bugs.webkit.org/show_bug.cgi?id=82015

        Reviewed by Kentaro Hara.

        This patch moves DOMWindow.webkitNotifications from DOMWindow.idl to
        DOMWindowNotificiations.idl in preparation for moving notificiations
        into Modules.

        A future patch will remove DOMWindow::resetNotificaitions in favor of
        more general mechanisms.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * notifications/DOMWindowNotifications.cpp: Added.
        (WebCore):
        (WebCore::DOMWindowNotifications::DOMWindowNotifications):
        (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
        (WebCore::DOMWindowNotifications::from):
        (WebCore::DOMWindowNotifications::webkitNotifications):
        (WebCore::DOMWindowNotifications::reset):
        (WebCore::DOMWindowNotifications::supplementName):
        * notifications/DOMWindowNotifications.h: Added.
        (WebCore):
        (DOMWindowNotifications):
        * notifications/DOMWindowNotifications.idl: Added.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore):
        (WebCore::DOMWindow::resetNotifications):
        * page/DOMWindow.h:
        (WebCore):
        (DOMWindow):
        * page/DOMWindow.idl:

2012-03-22  Li Yin  <li.yin@intel.com>

        A client MUST close a connection if it detects a masked frame
        https://bugs.webkit.org/show_bug.cgi?id=81361

        Reviewed by Kent Tamura.

        A server must not mask any frames that it sends to the client.
        Change the test case, not mask the frames from server to client.
        
        Test: http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html

        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::processFrame):

2012-03-22  Li Yin  <li.yin@intel.com>

        [WebSocket]The minimal number of bytes MUST be used to encode the length
        https://bugs.webkit.org/show_bug.cgi?id=81443

        Reviewed by Kent Tamura.

        From RFC 6455 http://tools.ietf.org/html/rfc6455#section-5.2
        the minimal number of bytes MUST be used to encode the length
        
        New test case : http/tests/websocket/tests/hybi/invalid-encode-length.html

        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::parseFrame):

2012-03-22  Adam Barth  <abarth@webkit.org>

        Unreviewed.  Sort xcodeproj file.

        * WebCore.xcodeproj/project.pbxproj:

2012-03-22  Mao Yujie  <yujie.mao@intel.com>

        Implement strict testing criterion for callback function definition
        https://bugs.webkit.org/show_bug.cgi?id=80005

        Reviewed by Adam Barth.

        Callback function should be defined as the function type instead of
        the object type.

        LayoutTest: fast/dom/MediaStream/argument-types.html

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateParametersCheckExpression):
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateParametersCheckExpression):
        (GenerateParametersCheck):

2012-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Convert hasGrammarMarker to use Internals interface
        https://bugs.webkit.org/show_bug.cgi?id=82004

        Reviewed by Ryosuke Niwa.

        Remove hasGrammarMarker functions, because it is able to work in the
        cross-port way through the Internals interface.

        No new tests, since we are improving here the infra-structure
        for testing a specific method.

        * testing/Internals.cpp:
        (WebCore::Internals::hasGrammarMarker):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>

        Add exception for the setter of "fftSize" in RealtimeAnalyserNode
        https://bugs.webkit.org/show_bug.cgi?id=81748

        Reviewed by Chris Rogers.

        * Modules/webaudio/RealtimeAnalyser.cpp:
        (WebCore::RealtimeAnalyser::setFftSize):
        * Modules/webaudio/RealtimeAnalyser.h:
        (RealtimeAnalyser):
        * Modules/webaudio/RealtimeAnalyserNode.cpp:
        (WebCore::RealtimeAnalyserNode::setFftSize):
        (WebCore):
        * Modules/webaudio/RealtimeAnalyserNode.h:
        (RealtimeAnalyserNode):
        * Modules/webaudio/RealtimeAnalyserNode.idl:

2012-03-22  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Add HistoryItemViewState for BlackBerry port
        https://bugs.webkit.org/show_bug.cgi?id=81867

        Reviewed by Rob Buis.

        HistoryItemViewState is the blackberry specific field of HistoryItem.
        It's used to maintain the porting specific view state.

        No new test because the port can't be built yet.

        * history/HistoryItem.h:
        (HistoryItem):
        (WebCore::HistoryItem::viewState):

2012-03-22  SravanKumar Sandela  <ssandela@innominds.com>

        Fieldset unexpectedly stretches to minimum intrinsic width
        https://bugs.webkit.org/show_bug.cgi?id=79128

        Reviewed by Julien Chaffraix.

        Fieldset element width will now check if css width is specified explicitly
        before stretching to minimum intrinsic width. The reference
        can be taken from IE9, instead of FF(FF acknowledged the broken behavior). 

        Tests: fast/forms/fieldset-width-nostretch-ifspecified-expected.html
               fast/forms/fieldset-width-nostretch-ifspecified.html

        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
        (WebCore):
        * rendering/RenderFieldset.h:
        (RenderFieldset):

2012-03-22  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Target surface should be damaged for a new layers even when layer had no changes
        https://bugs.webkit.org/show_bug.cgi?id=81879

        Reviewed by Adrienne Walker.

        Unit test added to CCDamageTrackerTest.

        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::CCDamageTracker::removeRectFromCurrentFrame): added a
        boolean arg to detect if the layer is new on this update.

        (WebCore::CCDamageTracker::extendDamageForLayer): added logic that
        damages the target surface if the layer is new.

        (WebCore::CCDamageTracker::extendDamageForRenderSurface): added
        logic that damages the target surface if the descendant surface is
        new; similar logic for the surface's replica if the replica is new.

        * platform/graphics/chromium/cc/CCDamageTracker.h:
        (CCDamageTracker):

2012-03-22  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Need to store the meta info of a page in the ViewState of the history
        https://bugs.webkit.org/show_bug.cgi?id=82000

        Reviewed by Rob Buis.

        Internally reviewed by George Staikos.

        No new tests, BlackBerry porting doesn't build yet upstreaming.

        * history/blackberry/HistoryItemViewState.h:
        (WebCore::HistoryItemViewState::HistoryItemViewState):
        (HistoryItemViewState):

2012-03-22  Adam Klein  <adamk@chromium.org>

        [v8] wrapSlow methods should ref underlying object before creating wrapper
        https://bugs.webkit.org/show_bug.cgi?id=81919

        Reviewed by Adam Barth.

        Because instatiating the wrapper can trigger GC, it's important that
        wrapSlow() hold a reference to an object when creating a wrapper for
        that object. Once the V8 wrapper exists and is associated with the object,
        the reference can be handed off (via leakRef) to be handled by the normal
        binding code logic (where derefObject is called if the handle is GCed).

        Binding tests have been updated to reflect this change.

        Testing the change directly is hard. Any test landed today would only
        be a valid test until V8's logic about when to GC changes, at which point
        it would become dead weight. So I don't think it's worth landing a
        layout test along with this.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader): Make wrapSlow take a PassRefPtr for RefCounted objects.
        (GenerateToV8Converters): Get rid of the explicit call to ref() and
        instead call leakRef() when adding a RefCounted object to the DOM map.
        (GetPassRefPtrType): Helper to generate "PassRefPtr<T>", or "PassRefPtr<T<U> >" as appropriate.
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore::V8Float64Array::wrapSlow):
        * bindings/scripts/test/V8/V8Float64Array.h:
        (V8Float64Array):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::V8TestActiveDOMObject::wrapSlow):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (V8TestActiveDOMObject):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::V8TestCustomNamedGetter::wrapSlow):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (V8TestCustomNamedGetter):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (V8TestEventConstructor):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::V8TestEventTarget::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (V8TestEventTarget):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (V8TestInterface):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::V8TestMediaQueryListListener::wrapSlow):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (V8TestMediaQueryListListener):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (V8TestNamedConstructor):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::wrapSlow):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (V8TestSerializedScriptValueInterface):

2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] add interface clearCredentials() and clearNeverRememberSites()
        https://bugs.webkit.org/show_bug.cgi?id=81887

        Reviewed by Rob Buis.

        Fixed SQL issue when clearing table logins and table never_remember.

        No new tests.

        * platform/network/blackberry/CredentialBackingStore.cpp:
        (WebCore::CredentialBackingStore::clearLogins):
        (WebCore::CredentialBackingStore::clearNeverRemember):

2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
        https://bugs.webkit.org/show_bug.cgi?id=80135

        Reviewed by Rob Buis.

        Modified the interface function authenticationChallenge() in class
        PageClientBlackBerry, moved Credential from return value to the
        function's reference parameter, and returned a bool to indicate if
        user pressed Ok button or not.
        Removed the logic which checks m_currentWebChallenge not null,
        because we should challenge user again if the last provided credential
        is not valid; also added the logic that will popup challenge
        dialog again immediately if user press Ok buttton directly without
        inputting anything.

        No new tests.

        * platform/blackberry/PageClientBlackBerry.h:
        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleAuthHeader):
        (WebCore::NetworkJob::sendRequestWithCredentials):

2012-03-22  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Synchronize platform/network/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=81874

        We changed a lot in these files locally. But the changes are not upstreamed.
        It is not convenient to do the other upstreaming work based on these differences.
        So upstream these changes.

        Reviewed by Rob Buis.

        No new tests. Just synchronize codes.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::NetworkJob):
        (WebCore::NetworkJob::initialize):
        (WebCore::NetworkJob::handleNotifyHeaderReceived):
        (WebCore::NetworkJob::handleNotifyDataReceived):
        (WebCore::NetworkJob::sendResponseIfNeeded):
        (WebCore::NetworkJob::sendRequestWithCredentials):
        (WebCore::NetworkJob::handleAbout):
        * platform/network/blackberry/NetworkJob.h:
        (WebCore::NetworkJob::isError):
        (NetworkJob):
        * platform/network/blackberry/NetworkManager.cpp:
        (WebCore::NetworkManager::startJob):
        * platform/network/blackberry/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::platformTargetTypeForRequest):

2012-03-22  Tom Sepez  <tsepez@chromium.org>

        XSS Auditor bypass via script tag src=data:, URLS.
        https://bugs.webkit.org/show_bug.cgi?id=81948

        Reviewed by Adam Barth.

        This change fixes an XSSAuditor bypass wherby a script with a data: URL src
        attribute could evade detection by using characters from the page to create
        a snippet for matching not found in the URL's reflected vector.  This change 
        terminates the snippet for matching earlier in these cases.
        
        Test: http/tests/security/xssAuditor/script-tag-with-source-data-url2.html

        * html/parser/XSSAuditor.cpp:
        (WebCore::XSSAuditor::decodedSnippetForAttribute):

2012-03-22  Dana Jansens  <danakj@chromium.org>

        [chromium] Incorrect assert on animating opacity for a surface
        https://bugs.webkit.org/show_bug.cgi?id=81994

        Reviewed by Adrienne Walker.

        Draw opacity and animation state match on the surface itself. A
        surface with animating opacity always has an owning layer without
        animation, as the surface does the animation for it.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):

2012-03-22  Dana Jansens  <danakj@chromium.org>

        [chromium] Skip frames when checkerboarding an animation
        https://bugs.webkit.org/show_bug.cgi?id=81716

        Reviewed by Adrienne Walker.

        This will stop drawing frames when prepareToDraw fails, if the draw is
        not forced. The expected behaviour is outlined below by the unit tests.

        When a draw fails, we:
        1. Set m_needsRedraw to try again next vsync
        2. Set m_needsCommit because we need more data from webkit to succeed
        3. Set m_drawIfPossibleFailed. This allows us to try draw again within
        the same vsync *if* a commit finishes during this time.

        Unit test: CCSchedulerTest.RequestRedrawInsideFailedDraw
                   CCSchedulerTest.RequestCommitInsideFailedDraw
                   CCSchedulerTest.NoBeginFrameWhenDrawFails
                   CCSchedulerStateMachineTest.TestFailedDrawSetsNeedsCommitAndDoesNotDrawAgain
                   CCSchedulerStateMachineTest.TestSetNeedsRedrawDuringFailedDrawDoesNotRemoveNeedsRedraw
                   CCSchedulerStateMachineTest.TestCommitAfterFailedDrawAllowsDrawInSameFrame
                   CCSchedulerStateMachineTest.TestCommitAfterFailedAndSuccessfulDrawDoesNotAllowDrawInSameFrame
                   CCSchedulerStateMachineTest.TestFailedDrawIsRetriedNextVSync

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::processScheduledActions):
        * platform/graphics/chromium/cc/CCScheduler.h:
        (CCSchedulerClient):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
        (WebCore::CCSchedulerStateMachine::nextAction):
        (WebCore::CCSchedulerStateMachine::updateState):
        (WebCore::CCSchedulerStateMachine::didDrawIfPossibleCompleted):
        (WebCore):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
        (CCSchedulerStateMachine):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
        (WebCore):
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-03-22  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Force update of nonFastScrollableRegion if target CCLayerImpl has been freshly created.
        https://bugs.webkit.org/show_bug.cgi?id=81968

        Reviewed by Adrienne Walker.

        Added unit test to existing tests for TreeSynchronizer.

        When creating a new CCLayerImpl during tree synchronization, make sure we transfer the nonFastScrollableRegion as
        the new CCLayerImpl will default to an empty region.

        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::nonFastScrollableRegion):
        (WebCore::LayerChromium::setNonFastScrollableRegionChanged):
        * platform/graphics/chromium/TreeSynchronizer.cpp:
        (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):

2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>

        [CMake] Unreviewed build fix after r111778.

        * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
        ${WTF_DIR}/wtf ones.

2012-03-22  Tony Chang  <tony@chromium.org>

        Unreviewed, fix chromium build after wtf move.

        Only use newwtf, remove references to wtf.

        * WebCore.gyp/WebCore.gyp:

2012-03-22  Benjamin Poulain  <bpoulain@apple.com>

        Remove an obsolete comment regarding magic frames from Geolocation
        https://bugs.webkit.org/show_bug.cgi?id=81871

        Reviewed by Alexey Proskuryakov.

        Moving a frame into another document is no longer possible after r111361. The comment
        is now irrelevant.

        * Modules/geolocation/Geolocation.cpp:
        (WebCore::Geolocation::stop):

2012-03-22  Csaba Osztrogonác  <ossy@webkit.org>

        Actually move WTF files to their new home
        https://bugs.webkit.org/show_bug.cgi?id=81844

        [Qt] Unreviewed buildfix after r111778.

        * Target.pri:

2012-03-22  Kentaro Hara  <haraken@chromium.org>

        run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl
        https://bugs.webkit.org/show_bug.cgi?id=81852

        Reviewed by Adam Barth.

        run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl:

        Use of uninitialized value in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2743.
        Use of uninitialized value $name in substitution (s///) at WebCore/bindings/scripts/CodeGenerator.pm line 119.
        Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2969.
        Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2972.
        Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 367.
        Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 368.
        ...

        This is because [Constructor(...)] does not yet support [Optional] arguments.
        It just supports [Optional=DefaultIsUndefined] and [Optional=DefaultIsNullString] arguments:
        https://trac.webkit.org/wiki/WebKitIDL#Constructor

        This patch replaces [Optional] with [Optional=DefaultIsUndefined]
        in TestSerializedScriptValueInterface.idl.

        Test: bindings/scripts/test/TestSerializedScriptValueInterface.idl

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateConstructorDefinition):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorCallback):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

2012-03-22  Michal Mocny  <mmocny@google.com>

        [chromium] LayerRendererChromium should use GpuMemoryAllocationChanged callback to explicitly manage framebuffer.
        https://bugs.webkit.org/show_bug.cgi?id=81823

        Reviewed by Adrienne Walker.

        New UnitTests: LayerRendererChromiumTest

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
        (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::create):
        (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::~LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
        (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
        (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
        (WebCore):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::initialize):
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::setVisible):
        (WebCore::LayerRendererChromium::swapBuffers):
        (WebCore::LayerRendererChromium::discardFramebuffer):
        (WebCore::LayerRendererChromium::ensureFramebuffer):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore):
        (LayerRendererChromiumClient):
        (LayerRendererChromium):
        (WebCore::LayerRendererChromium::isFramebufferDiscarded):
        (ScopedEnsureFramebufferAllocation):
        (WebCore::ScopedEnsureFramebufferAllocation::ScopedEnsureFramebufferAllocation):
        (WebCore::ScopedEnsureFramebufferAllocation::~ScopedEnsureFramebufferAllocation):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
        (LayerRendererCapabilities):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::setVisible):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::compositeAndReadback):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::compositeAndReadback):

2012-03-22  Adam Barth  <abarth@webkit.org>

        ContainerNode::insertedIntoTree and removedFromTree use weak iteration patterns
        https://bugs.webkit.org/show_bug.cgi?id=80570

        Reviewed by Ryosuke Niwa.

        These functions use weak iteration patterns, but as far as I can tell,
        we never execute script below these functions.  This patch adds ASSERTs
        to help us avoid adding events in the future.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertedIntoTree):
        (WebCore::ContainerNode::removedFromTree):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadInternal):
            - There's a somewhat complex call chain from insertedIntoTree into
              HTMLMediaElement, and somewhat complex control flow below
              loadInternal that eventually leads to the BeforeLoad event being
              fired.  In studying this code, I don't see a way for the
              BeforeLoad event to be fired during insertedIntoTree, but I've
              added this assert here to make sure we don't call loadInternal
              when we're not supposed to dispatch events.  This ASSERT should
              help us catch these BeforeLoad errors more quickly.

2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>

        Crash in fast/dom/navigator-detached-nocrash.html
        https://bugs.webkit.org/show_bug.cgi?id=81773

        Reviewed by Adam Barth.

        BatteryManager::create() blindly assumes the Navigator* it
        receives has a valid Frame, which is not always the case, as made
        evident by the crashing test.

        Follow abarth's suggestion and just stop
        NavigatorBattery::webkitBattery() before it reaches the call to
        BatteryManager::create() if that's the case.

        No new tests, covered by fast/dom/navigator-detached-nocrash.html.

        * Modules/battery/NavigatorBattery.cpp:
        (WebCore::NavigatorBattery::webkitBattery):

2012-03-22  Emil A Eklund  <eae@chromium.org>

        Unreviewed, add missing include statement for CSSValueList.h.

        * css/CSSStyleSelector.h:

2012-03-22  Tony Chang  <tony@chromium.org>

        flexbox flexing implementation should match the spec
        https://bugs.webkit.org/show_bug.cgi?id=70796

        Reviewed by Ojan Vafai.

        Match the algorithm in the spec. Handling min/max constraints are slightly improved.
        http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths

        New test cases in css3/flexbox/flex-algorithm-min-max.html.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::adjustFlexSizeForMinAndMax): Step 5 of resolving flexible lengths.
        (WebCore):
        (WebCore::RenderFlexibleBox::Violation::Violation):
        (RenderFlexibleBox::Violation):
        (WebCore::RenderFlexibleBox::freezeViolations): Used by step 6.
        (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
        * rendering/RenderFlexibleBox.h:

2012-03-22  Emil A Eklund  <eae@chromium.org>

        Unreviewed, add missing import.

        * rendering/RenderThemeMac.mm:

2012-03-22  Anders Carlsson  <andersca@apple.com>

        ASSERT(!needsLayout) in RenderView.cpp when visiting http://www.panic.com/blog/
        https://bugs.webkit.org/show_bug.cgi?id=81953
        <rdar://problem/11086998>

        Reviewed by Sam Weinig.

        If a page ends up creating CATiledLayers, CA transactions can be committed outside of the normal
        CA run loop observer, so we can't call setNeedsDisplay on tile cache layers directly because then
        we'll end up calling into painting code before all the layers have been flushed.

        Fix this by adding a list of dirty rects to platformCALayerDidCreateTiles and change GraphicsLayerCA to
        mark them as dirty. This ensures that any CA transaction commits won't cause newly added layers to be painted.

        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
        (WebCore::LayerClient::platformCALayerDidCreateTiles):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):
        * platform/graphics/ca/PlatformCALayerClient.h:
        (PlatformCALayerClient):
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::setScale):
        (WebCore::TileCache::revalidateTiles):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):

2012-03-19  Robert Hogan  <robert@webkit.org>

        Text should overflow when list item height set to 0
        https://bugs.webkit.org/show_bug.cgi?id=78726

        Reviewed by Julien Chaffraix.

        Tests: css2.1/20110323/height-applies-to-010a-expected.html
               fast/css/heightless-list-item-expected.html
               fast/css/heightless-list-item.html

        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::paint):
           If the list item has height:0, only paint it if the list item allows any block or inline content 
           to overflow unclipped. The zero-height check is a shortcut to avoid unnecessary painting and 
           this seems to be the only case where there's something to do.

2012-03-22  Dave Michael  <dmichael@chromium.org>

        HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
        https://bugs.webkit.org/show_bug.cgi?id=80428

        Reviewed by Eric Seidel.

        Make HTMLPluginElement release its m_NPObject in detach() to break a
        reference-counting cycle that happens on reload or navigation. With this
        change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
        was removed. Note that Releasing m_NPObject does not result in a call to
        the plugin; it simply releases a reference count on the wrapper object
        for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
        when the render tree is destroyed, when PluginView calls
        PluginPackage::unload.) Thus, it is safe to release m_NPObject in
        detach, because it can not result in layout or style changes.

        Also added numberOfLiveNodes() and numberOfLiveDocuments() to
        window.internals to enable testing.

        Test: plugins/netscape-dom-access-and-reload.html

        * WebCore.exp.in:
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::detach):
        * html/HTMLPlugInElement.h:
        (HTMLPlugInElement):
        * testing/Internals.cpp:
        (WebCore::Internals::numberOfLiveDocuments):
        (WebCore::Internals::numberOfLiveNodes):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-22  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Make CCDamageTracker robust to empty layer lists
        https://bugs.webkit.org/show_bug.cgi?id=81831

        Reviewed by Adrienne Walker.

        Added a unit test in CCDamageTrackerTest that causes a crash in
        the old code. With this patch applied, the crash will not occur.
        In theory, that crash should never occur anyway, unless there is a
        bug outside the damage tracker, but for robustness it's
        appropriate to handle it properly.

        In addition to this fix, performed some trivial maintenance on the
        damage tracker code.

        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::CCDamageTracker::updateDamageTrackingState): removed
        unclean code that accessed the targetSurface to get necessary
        information. Instead, we now pass those args through the damage
        tracker's API.

        * platform/graphics/chromium/cc/CCDamageTracker.h:
        (CCDamageTracker): modified args passed to damage tracker on update.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
        modified args passed to damage tracker on update.

2012-03-22  Julien Chaffraix  <jchaffraix@webkit.org>

        Enable style sharing for elements with a style attribute
        https://bugs.webkit.org/show_bug.cgi?id=81523

        Reviewed by Antti Koivisto.

        Memory improvement change only.

        Overall, this is a performance wash (some benchmarks may regress a bit due to the increase in time taken
        by CSSStyleSelector::locateSharedStyle as we try more nodes, others increase their performance due to style sharing).

        Instrumenting our style sharing, this should give us some nice memory shavings on some benchmarks:
        - HTML5 isn't impacted as it doesn't use much inline style
        - page cyclers' intl1 showed a 6% increase in style sharing.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        This method now handles inline style like presentation attributes on the element.

        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        (WebCore::CSSStyleSelector::locateSharedStyle):
        Don't bail out for an element with an inline style declaration.

        (WebCore::CSSStyleSelector::stylesEqual):
        Generalized attributeStylesEqual to share the logic between attribute and
        inline style property set. This means that attribute checks are actually
        doing a little extra more work but that didn't impact our benchmarks.

2012-03-22  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed. WebDOM build fix after array type changes.

        * bindings/scripts/CodeGeneratorCPP.pm:
        (ShouldSkipType):

2012-03-22  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: text gutter decorations should move upon edits.
        https://bugs.webkit.org/show_bug.cgi?id=81932

        Reviewed by Vsevolod Vlasov.

        Decorations set by the line number now shift as editing inserts / removes lines.

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._syncLineHeight):
        (WebInspector.TextEditorGutterPanel):
        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
        (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
        (WebInspector.TextEditorGutterPanel.prototype.addDecoration):
        (WebInspector.TextEditorGutterPanel.prototype.removeDecoration):

2012-03-21  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: fixed-table-layout-006 fails
        https://bugs.webkit.org/show_bug.cgi?id=78412

        Reviewed by Julien Chaffraix.

        Tests: css2.1/20110323/fixed-table-layout-006.htm
               fast/css/fixed-table-layout-cell-padding.htm

        In fixed tables, positive width specified on a column should include borders and padding.
        See the thread at http://lists.w3.org/Archives/Public/www-style/2011Oct/0502.html. The discussion
        there resulted in a whole new set of tests for section 17.5.2.1 in the CSS 2.1 spec. See 
        http://test.csswg.org/harness/test/CSS21_DEV/section/17.5.2.1/. This patch allows WebKit
        to pass all of them, and all tests for the 17.5.2.1 section as a whole. I'll land them all separately.
    
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray): Include border width and cell padding in the width of the column.
         Note that borderAndPaddingLogicalWidth() returns the border width for separate and collapsed borders as appropriate.

2012-03-22  Simon Fraser  <simon.fraser@apple.com>

        Factor compositing layer updates after scroll into a new method
        https://bugs.webkit.org/show_bug.cgi?id=81943

        Reviewed by Dean Jackson.

        Move some code that updates compositing layers after scrolling
        into its own method, for cleanliness.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollTo):
        (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
        (WebCore):
        * rendering/RenderLayer.h:
        (RenderLayer):

2012-03-22  Gavin Barraclough  <barraclough@apple.com>

        Add JSValue::isFunction
        https://bugs.webkit.org/show_bug.cgi?id=81935

        Reviewed by Geoff Garen.

        This would be useful in the WebCore bindings code.
        Also, remove asFunction, replace with jsCast<JSFunction*>.

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::functionDetails):
        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):

2012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        TiledBackingStore: Fix test regressions that appeared with r111560.
        https://bugs.webkit.org/show_bug.cgi?id=81519

        Reviewed by Kenneth Rohde Christiansen.

        The visible rect wasn't intersected with the contents rect anymore which
        could lead to an astronomical layer size to check for intersecting tiles.

        Add a visibleContentsRect that doesn't do the conversion and use it
        in visibleAreaIsCovered.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::visibleContentsRect):
        (WebCore):
        (WebCore::TiledBackingStore::visibleRect):
        (WebCore::TiledBackingStore::visibleAreaIsCovered):
        * platform/graphics/TiledBackingStore.h:
        (TiledBackingStore):

2012-03-22  Joe Thomas  <joethomas@motorola.com>

        Make Length Calculation functions non-inline
        https://bugs.webkit.org/show_bug.cgi?id=81733

        Currently length calculation functions in LengthFunctions.h are inline. These functions are pretty big to be inline.
        And these functions are expected to grow again when new length units will be introduced in bug 27160.

        A decent rule of thumb is to not inline a function if it is more than 10 lines long. Also it's typically not cost effective to inline
        functions with loops or switch statements. (Reference: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Inline_Functions).

        Ran PerformanceTests/Parser/html5-full-render.html on Mac Snow-Leopard with and without the patch and did not see much performance difference.

        Reviewed by Antti Koivisto.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/LengthFunctions.cpp: Added.
        (WebCore):
        (WebCore::miminumValueForLength):
        (WebCore::valueForLength):
        (WebCore::floatValueForLength):
        * css/LengthFunctions.h:
        (WebCore):

2012-03-22  Alexis Menard  <alexis.menard@openbossa.org>

        Increase code sharing between CSSParser and CSSPropertyLonghand.
        https://bugs.webkit.org/show_bug.cgi?id=81587

        Reviewed by Antti Koivisto.

        Expose the longhands declaration for a given shorthand in CSSPropertyLonghand and
        make CSSParser use them. It will make the declaration of longhands in one place only.
        Remove the map of CSSPropertyLonghand and replace it by a regular switch/case.
        The map doesn't bring much here and it's cleaner and faster to use the switch.
        It also shows a little performance improvement in CSS/CSSPropertySetterGetter.html.

        No new tests : no behavior change.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseAnimationShorthand):
        (WebCore::CSSParser::parseTransitionShorthand):
        (WebCore::CSSParser::parseShorthand):
        Modify the prototype of this function to directly use the CSSPropertyLonghand.
        * css/CSSParser.h:
        (WebCore):
        (CSSParser):
        * css/CSSPropertyLonghand.cpp:
        (WebCore):
        (WebCore::backgroundLonghand):
        (WebCore::backgroundPositionLonghand):
        (WebCore::backgroundRepeatLonghand):
        (WebCore::borderLonghand):
        (WebCore::borderBottomLonghand):
        (WebCore::borderColorLonghand):
        (WebCore::borderImageLonghand):
        (WebCore::borderLeftLonghand):
        (WebCore::borderRadiusLonghand):
        (WebCore::borderRightLonghand):
        (WebCore::borderSpacingLonghand):
        (WebCore::borderStyleLonghand):
        (WebCore::borderTopLonghand):
        (WebCore::borderWidthLonghand):
        (WebCore::listStyleLonghand):
        (WebCore::fontLonghand):
        (WebCore::marginLonghand):
        (WebCore::outlineLonghand):
        (WebCore::overflowLonghand):
        (WebCore::paddingLonghand):
        (WebCore::webkitAnimationLonghand):
        (WebCore::webkitBorderAfterLonghand):
        (WebCore::webkitBorderBeforeLonghand):
        (WebCore::webkitBorderEndLonghand):
        (WebCore::webkitBorderStartLonghand):
        (WebCore::webkitColumnsLonghand):
        (WebCore::webkitColumnRuleLonghand):
        (WebCore::webkitFlexFlowLonghand):
        (WebCore::webkitMarginCollapseLonghand):
        (WebCore::webkitMarqueeLonghand):
        (WebCore::webkitMaskLonghand):
        (WebCore::webkitMaskPositionLonghand):
        (WebCore::webkitMaskRepeatLonghand):
        (WebCore::webkitTextEmphasisLonghand):
        (WebCore::webkitTextStrokeLonghand):
        (WebCore::webkitTransitionLonghand):
        (WebCore::webkitTransformOriginLonghand):
        (WebCore::webkitWrapLonghand):
        (WebCore::longhandForProperty):
        * css/CSSPropertyLonghand.h:
        (WebCore):

2012-03-22  Emil A Eklund  <eae@chromium.org>

        Unreviewed, touching file to force bots to pick up CSS_SHADERS flag change. 

        * css/CSSStyleSelector.h:
        (CSSStyleSelector):

2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>

        ReverbConvolver::latencyFrames() should return 0.
        https://bugs.webkit.org/show_bug.cgi?id=81806

        Reviewed by Chris Rogers.

        * platform/audio/ReverbConvolver.cpp:
        (WebCore::ReverbConvolver::latencyFrames):

2012-03-22  Tony Chang  <tony@chromium.org>

        refactor flexbox in preparation for flex-line-pack
        https://bugs.webkit.org/show_bug.cgi?id=81843

        Reviewed by Ojan Vafai.

        Replace WrapReverseContext with a vector of LineContexts that contain
        the same information, plus values needed for flex-align.

        alignChildren has been moved to after all the lines have been
        positioned. We want to align children after flex-line-pack has changed
        the size of each line to avoid unnecessary layouts.

        Take 2: Remove the assert. If there are no children, then there are no
        flex lines. Instead, assert that child is not null.

        No new tests, just refactoring.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
        holds information needed for wrap-reverse and aligning children.
        (RenderFlexibleBox::LineContext):
        (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
        (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
        (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
        * rendering/RenderFlexibleBox.h:

2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Event dispatching in XMLHttpRequestProgressEventThrottle should go through XMLHttpRequestProgressEventThrottle::dispatchEvent
        https://bugs.webkit.org/show_bug.cgi?id=46743

        Reviewed by Julien Chaffraix
        Based on original patch by Anton D'Auria

        In preparation for platform-specific queuing of XMLHttpRequest events,
        this patch changes all calls to m_target->dispatchEvent to
        XMLHttpRequestProgressEventThrottle::dispatchEvent.
        Currently, we queue only one progress event on suspend() if we have
        throttled progress events. We should be able to queue all XHR events
        that can be generated after suspend(), if the platform network layer
        continues to receive data.
        XMLHttpRequest uses XMLHttpRequestProgressEventThrottle to dispatch only
        download events, so this doesn't change behavior of upload events, which
        aren't throttled or queued.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
        * xml/XMLHttpRequestProgressEventThrottle.cpp:
        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent):
        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
        (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent):
        (WebCore::XMLHttpRequestProgressEventThrottle::fired):
        * xml/XMLHttpRequestProgressEventThrottle.h:
        (XMLHttpRequestProgressEventThrottle):

2012-03-22  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>

        [EFL] Map BackSpace key code to Unicode value
        https://bugs.webkit.org/show_bug.cgi?id=81130

        Reviewed by Gustavo Noronha Silva.

        Test: fast/events/backspace-navigates-back.html

        * platform/efl/EflKeyboardUtilities.cpp:
        (WebCore::createKeyMap): Map BackSpace to Unicode value

2012-03-22  Abhishek Arya  <inferno@chromium.org>

        Incorrect beforeChild parent calculation in RenderRubyBase::moveChildren.
        https://bugs.webkit.org/show_bug.cgi?id=80297

        Reviewed by Julien Chaffraix.

        beforeChild might share the same anonymous block parent with other previous
        siblings. Before moving the children across ruby bases, we need to make sure
        to split the tree across the beforeChild correctly.

        Test: fast/ruby/ruby-text-before-child-split.html

        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveChildren):

2012-03-22  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>

        [Qt] Fix Qt minimal build after r111692

        Reviewed by Csaba Osztrogonác.

        * bindings/js/JSScriptProfileNodeCustom.cpp:

2012-03-22  Adrienne Walker  <enne@google.com>

        [chromium] Fix scrollbar layers holding onto invalid textures after lost context
        https://bugs.webkit.org/show_bug.cgi?id=81841

        Reviewed by James Robinson.

        Unit test: CCLayerTreeHostImplTest.scrollbarLayerLostContext

        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
        (WebCore::CCScrollbarLayerImpl::willDraw):

2012-03-22  Philippe Normand  <pnormand@igalia.com>

        [GTK] ASSERT bug in WebAudio (AudioFileReader)
        https://bugs.webkit.org/show_bug.cgi?id=81777

        Reviewed by Martin Robinson.

        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
        (WebCore::AudioFileReader::decodeAudioForBusCreation): Don't steal
        the GstBus floating reference.
        (WebCore::AudioFileReader::createBus): Ditto.

2012-03-22  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed: Web Inspector: fix syntax error in text.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotWorker.prototype._messageReceived):

2012-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r111688.
        http://trac.webkit.org/changeset/111688
        https://bugs.webkit.org/show_bug.cgi?id=81912

        "Heap profiler test fails" (Requested by yurys on #webkit).

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._buildRetainers):

2012-03-22  Dana Jansens  <danakj@chromium.org>

        [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
        https://bugs.webkit.org/show_bug.cgi?id=81437

        Reviewed by Adrienne Walker.

        Split CCLayerTreeHostImpl::drawLayers() into two phases:
        prepareToDraw() and drawLayers().

        When calculating a RenderPass, and we checkerboard a quad on a
        layer, bubble this info back up to CCLayerTreeHostImpl. If the
        layer is transforming in an animation, then abort the prepareToDraw()
        phase and cause it to return false back to the thread proxy.

        Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard

        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        (FrameData):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::append):
        * platform/graphics/chromium/cc/CCQuadCuller.h:
        (CCQuadCuller):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsForLayer):
        * platform/graphics/chromium/cc/CCRenderPass.h:
        (CCRenderPass):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
        (WebCore::CCScrollbarLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
        (CCScrollbarLayerImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
        (WebCore::CCSolidColorLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
        (CCSolidColorLayerImpl):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
        (WebCore::CCTextureLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
        (CCTextureLayerImpl):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (CCVideoLayerImpl):

2012-03-22  Levi Weintraub  <leviw@chromium.org>

        Correct LayoutUnit usage in Accessibility code
        https://bugs.webkit.org/show_bug.cgi?id=81789

        Reviewed by Eric Seidel.

        Reverting Accessibility hit testing code back to integers. Accessibility hit tests originate from
        the embedder and don't accumulate offsets, so we get nothing from using LayoutUnits, and needlessly
        expose them to the embedder.

        No new tests. No change in behavior.

        * accessibility/AccessibilityListBox.cpp:
        (WebCore::AccessibilityListBox::elementAccessibilityHitTest): See above.
        * accessibility/AccessibilityListBox.h:
        (AccessibilityListBox):
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::clickPoint): This value is only ever used to display a context menu,
        which is always done with integer coordinates.
        (WebCore::AccessibilityObject::boundingBoxForQuads): This is a bounding box built from floats. We
        don't pixel snap floats, so we return an integer bounding box.
        (WebCore::AccessibilityObject::elementAccessibilityHitTest): See above.
        (WebCore::AccessibilityObject::scrollToMakeVisible): Pixel snapping the bounding box and simplifying
        up the code to position it at (0,0).
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::accessibilityHitTest): See above.
        (AccessibilityObject):
        (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect): Convenience method for embedder callers.
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint): The point passed in here is comes from
        screen coordinates and originates in embedder code. Reverting it to take an integer.
        (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): See above.
        (WebCore::AccessibilityRenderObject::accessibilityHitTest): See above.
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):
        * accessibility/AccessibilityScrollView.cpp:
        (WebCore::AccessibilityScrollView::accessibilityHitTest): See above.
        * accessibility/AccessibilityScrollView.h:
        (AccessibilityScrollView):
        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySlider::elementAccessibilityHitTest): See above.
        * accessibility/AccessibilitySlider.h:
        (AccessibilitySlider):

2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapProfiler: Heap snapshot worker has to report the errors to the front-end
        https://bugs.webkit.org/show_bug.cgi?id=81804

        Sometimes the worker process of HeapSnapshot does some wrong thing and throw an Exception.
        At this momemnt we have no way to see the error in the front-end.

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/HeapSnapshotProxy.js: check the exception field and dump it into front-end's console.
        (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
        * inspector/front-end/HeapSnapshotWorkerDispatcher.js: catch the exception and transfer it's text to requester's side.
        (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):

2012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>

        [GTK] Use the angle-bracket form to include wtf headers
        https://bugs.webkit.org/show_bug.cgi?id=81884

        Reviewed by Eric Seidel.

        Use #include <wtf/foo> instead of #include "foo".

        * platform/graphics/freetype/FontPlatformData.h:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        * platform/gtk/DataObjectGtk.h:
        * platform/network/ResourceHandleInternal.h:
        * platform/network/soup/SocketStreamHandleSoup.cpp:

2012-03-22  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Case of the elements of the xml document should be shown as it is in the console
        https://bugs.webkit.org/show_bug.cgi?id=81902

        When registering a detached root, DOMAgent always presumes it is a node,
        while it can also be a document.

        Reviewed by Vsevolod Vlasov.

        Test: inspector/console/console-xml-document.html

        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._setDetachedRoot):

2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Introduce ScriptBound/ScriptUnbound events in ScriptMapping.
        https://bugs.webkit.org/show_bug.cgi?id=81904

        Reviewed by Pavel Feldman.

        This is another step on the way to cleaner BreakpointManager logic.
        Here we extract ScriptBound/ScriptUnbound events from UISourceCodeListChanged event.
        This allows us to handle script-uiSourceCode binding separately from
        uiSourceCode creation/deletion and to handle unbinding that was not
        possible at all before.

        * inspector/front-end/CompilerScriptMapping.js:
        (WebInspector.CompilerScriptMapping.prototype._uiSourceCodesForSourceMap):
        (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
        (WebInspector.CompilerScriptMapping.prototype.addScript):
        (WebInspector.CompilerScriptMapping.prototype.reset):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
        * inspector/front-end/ScriptMapping.js:
        (WebInspector.MainScriptMapping):
        (WebInspector.MainScriptMapping.prototype._updateLiveLocation):
        (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
        (WebInspector.MainScriptMapping.prototype._handleScriptBound):
        (WebInspector.MainScriptMapping.prototype._handleScriptUnbound):
        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsScriptMapping.prototype.addScript.get this):
        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
        (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
        (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
        (WebInspector.SnippetsScriptMapping.prototype.reset):

2012-03-22  Vineet Chaudhary  <rgf748@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=81893
        Remove custom bindings form ScriptProfileNode.idl of attribute type Array.

        Reviewed by Kentaro Hara.

        Replace [CustomGetter] Array with sequence<ScriptProfileNode>.
        To remove the custom bindings code.

        Test: No new tests. LayoutTests/fast/profiler/* test are enough for this.

        * bindings/js/JSScriptProfileNodeCustom.cpp: Removed custom function.
        (WebCore::JSScriptProfileNode::callUID):
        * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Removed custom function.
        (WebCore):
        * inspector/ScriptProfileNode.idl: Replaced Array with sequence<ScriptProfileNode>.

2012-03-22  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: only update timeline overview categories strips when these are visible
        https://bugs.webkit.org/show_bug.cgi?id=81903

        Reviewed by Pavel Feldman.

        - factor out category strips update into a separate method;
        - only invoke it when "Timeline" overview mode is selected.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
        (WebInspector.TimelineOverviewPane.prototype.update):
        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):

2012-03-22  Levi Weintraub  <leviw@chromium.org>

        Update LayoutUnit usage in FrameSelection
        https://bugs.webkit.org/show_bug.cgi?id=81754

        Reviewed by Eric Seidel.

        FrameSelection stores its caret and repaint bounds in absolute coordinates. Absolute coordinates
        we treat as pixel values, so this patch changes these values to integers. Sub-pixel precision
        will still be used when these coordinates are passed down and used locally.

        No new tests. No change in behavior.

        * editing/FrameSelection.cpp:
        (WebCore::absoluteCaretY): Uses absolute coordinates, which are ints.
        (WebCore::FrameSelection::modify): Uses absolute coordinates to handle vertical selection
        modification. Sub-pixel precision will be used when these values are converted to local ones.
        (WebCore::CaretBase::absoluteBoundsForLocalRect): Absolute coordinates -> ints.
        (WebCore::FrameSelection::absoluteCaretBounds): Ditto.
        (WebCore::CaretBase::caretRepaintRect): The caret repaint rect is stored in absolute coordinates.
        Reverting the values to ints.
        (WebCore::FrameSelection::recomputeCaretRect): Ditto.
        * editing/FrameSelection.h:
        (FrameSelection):
        * editing/mac/FrameSelectionMac.mm:
        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Switching to store absolute
        coordinates as integers.

2012-03-22  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Speed up the build retainers phase.
        https://bugs.webkit.org/show_bug.cgi?id=81763

        Replacing the edge iterator with a raw loop makes it
        faster by more than 10 times.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._buildRetainers):

2012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][WK2] The background appears to have one extra pixel from the contents
        https://bugs.webkit.org/show_bug.cgi?id=81830

        Reviewed by Kenneth Rohde Christiansen.

        TextureMapperGL applied a 1-offset that was covering for another bug,
        which was already fixed.

        No new tests, this would be tested once we test GL rendering results.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGLData::SharedGLData::scissorClip):

2012-03-22  W. James MacLean  <wjmaclean@chromium.org>

        Rename touchpad fling curve, add curve parameters to constructor.
        https://bugs.webkit.org/show_bug.cgi?id=81820

        Reviewed by Adrienne Walker.

        Covered by existing unit tests.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
        * platform/TouchpadFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp.
        (WebCore):
        (WebCore::TouchpadFlingPlatformGestureCurve::create):
        (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
        (WebCore::TouchpadFlingPlatformGestureCurve::~TouchpadFlingPlatformGestureCurve):
        (WebCore::TouchpadFlingPlatformGestureCurve::apply):
        * platform/TouchpadFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.h.
        (WebCore):
        (TouchpadFlingPlatformGestureCurve):

2012-03-22  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make CSS and JavaScript files editable by default.
        https://bugs.webkit.org/show_bug.cgi?id=81787

        Reviewed by Vsevolod Vlasov.

        This change removes cancelEditing and setReadOnly capabilities from source frame.
        It removes dblclick handler as well since one does not need to enter editing mode.
        It also establishes proper content dispatching so that views are updated with the
        resource content. All these are inter-dependent, need to be landed simultaneously.
        Drive-by follow up to the r111675 where range is modified prior to the exiting
        edit mode.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
        (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceSourceFrame):
        (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
        (WebInspector.ResourceSourceFrame.prototype._contentChanged):
        (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
        (WebInspector.EditableResourceSourceFrame.prototype.editContent.callbackWrapper):
        (WebInspector.EditableResourceSourceFrame.prototype.editContent):
        (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._innerShowView):
        (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype.wasShown):
        (WebInspector.SourceFrame.prototype.willHide):
        (WebInspector.SourceFrame.prototype.beforeTextChanged):
        (WebInspector.SourceFrame.prototype.setContent):
        (WebInspector.SourceFrame.prototype.commitEditing):
        (WebInspector.SourceFrame.prototype.didEditContent):
        (WebInspector.SourceFrame.prototype.editContent):
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._startEditing):
        (WebInspector.TextPrompt.prototype._stopEditing):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer):
        (WebInspector.TextViewer.prototype._registerShortcuts):
        (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):

2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [Qt] Enable FAST_MOBILE_SCROLLING when scrolling is delegated.
        https://bugs.webkit.org/show_bug.cgi?id=81889

        Reviewed by Kenneth Rohde Christiansen.

        On the Qt platform only enable the fast mobile scroll feature when scrolling is delegated.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleWillChange):

2012-03-22  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: dispatch styleSheetChanged event synchronously.
        https://bugs.webkit.org/show_bug.cgi?id=81892

        Reviewed by Vsevolod Vlasov.

        Today, backend generates stylesheet change event synchronously from within set* command.
        But CSSStyleModel defers its dispatching until the stylesheet content is available. This
        prevents us from ignoring update events from within commands that initiated those updates.

        This change makes stylesheet change event dispatch synchronously and delegates stylesheet
        content fetching to the event client.

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
        (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.callback):
        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
        (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):

2012-03-21  Ian Vollick  <vollick@chromium.org>

        [chromium] timing functions are getting incorrectly applied for accelerated css transitions
        https://bugs.webkit.org/show_bug.cgi?id=81692

        Reviewed by Adrienne Walker.

        Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction

        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:

2012-03-22  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: allow on-hover popover while in edit mode.
        https://bugs.webkit.org/show_bug.cgi?id=81898

        Reviewed by Vsevolod Vlasov.

        This change allows popover while in-edit mode, hides it upon Esc. It also introduces anchorOverride
        concept in ObjectPopoverHelper that allows dynamically switching the anchor (say if we want to highlight anchor itself).

        * inspector/front-end/DetailedHeapshotView.js:
        * inspector/front-end/ElementsPanel.js:
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
        (WebInspector.JavaScriptSourceFrame.prototype._onKeyDown):
        * inspector/front-end/NetworkPanel.js:
        * inspector/front-end/ObjectPopoverHelper.js:
        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
        * inspector/front-end/Popover.js:
        (WebInspector.PopoverHelper.prototype.isPopoverVisible):
        * inspector/front-end/TimelinePanel.js:

2012-03-22  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: breakpoints should shift when line break is inserted in the middle of the line.
        https://bugs.webkit.org/show_bug.cgi?id=81896

        Reviewed by Vsevolod Vlasov.

        There is a bug that collapses selection prior to exiting change mode, we should never
        collapse edit area prior committing.

        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel.endsWithBracketRegex.):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer):
        (WebInspector.TextEditorMainPanel.prototype.highlightLine):
        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):

2012-03-22  Zoltan Herczeg  <zherczeg@webkit.org>

        Merge SVGImageBufferTools to SVGRenderingContext
        https://bugs.webkit.org/show_bug.cgi?id=81890

        Reviewed by Nikolas Zimmermann.

        Copy the code to SVGRenderingContext and delete
        SVGImageBufferTools[.cpp.h]. Update build systems,
        no functionality change. This is the first step
        towards making SVGImageBufferTools stageful.

        Existing tests cover this issue.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/filters/FETile.cpp:
        (WebCore::FETile::platformApplySoftware):
        * rendering/svg/RenderSVGAllInOne.cpp:
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
        * rendering/svg/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource):
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient):
        (WebCore::clipToTextMask):
        * rendering/svg/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource):
        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource):
        (WebCore::RenderSVGResourcePattern::createTileImage):
        * rendering/svg/SVGImageBufferTools.cpp: Removed.
        * rendering/svg/SVGImageBufferTools.h: Removed.
        * rendering/svg/SVGInlineTextBox.cpp:
        * rendering/svg/SVGRenderingContext.cpp:
        (WebCore::currentContentTransformation):
        (WebCore):
        (WebCore::SVGRenderingContext::calculateTransformationToOutermostSVGCoordinateSystem):
        (WebCore::SVGRenderingContext::createImageBuffer):
        (WebCore::SVGRenderingContext::createImageBufferForPattern):
        (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
        (WebCore::SVGRenderingContext::clipToImageBuffer):
        (WebCore::SVGRenderingContext::clampedAbsoluteTargetRect):
        (WebCore::SVGRenderingContext::clampedAbsoluteSize):
        (WebCore::SVGRenderingContext::clear2DRotation):
        * rendering/svg/SVGRenderingContext.h:
        (SVGRenderingContext):
        (WebCore::SVGRenderingContext::calculateImageBufferRect):
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::platformApplySoftware):

2012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>

        [EFL] Add PageClientEfl to WebCoreSupport.
        https://bugs.webkit.org/show_bug.cgi?id=80748

        Reviewed by Noam Rosenthal.

        * platform/Widget.h: Use PageClientEfl as type for PlatformPageClient.
        (WebCore):
        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
        (WebCore::GraphicsContext3DPrivate::createSurface): Change the argument type.
        * plugins/efl/PluginViewEfl.cpp:
        (WebCore::PluginView::platformGetValue): Use PageClientEfl.

2012-03-22  Kaustubh Atrawalkar  <kaustubh@motorola.com>

        blur() on shadow host should work when a shadow host contains a focused element in its shadow DOM subtrees
        https://bugs.webkit.org/show_bug.cgi?id=81102

        Reviewed by Hajime Morita.

        This implementation will support blur for a focused element when its shadowHost's blur() is called.
        To achieve this Element::blur() function is modified to blur the focused node in it's treeScope.

        Test: fast/dom/shadow/shadow-root-blur.html

        * dom/Element.cpp:
        (WebCore::Element::blur): Modified to blur current treeScope's focused node.
        * dom/ShadowRoot.h:
        (WebCore::ShadowRoot::activeElement): Rework for code sharing.
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::focusedNode): Added new function to share code for getting focused node.
        * dom/TreeScope.h:
        (TreeScope): New function declartion.
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::activeElement): Rework for code sharing.

2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: RawSourceCode does not need uiSourceCode lists because it never has more than one.
        https://bugs.webkit.org/show_bug.cgi?id=81894

        RawSourceCode never has more than one uiSourceCode, uiSourceCodeList
        are just remains of older implementation. This patch switches RawSourceCode
        and SourceMappings from uiSourceCodeList to uiSourceCode.

        Reviewed by Pavel Feldman.

        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype.uiSourceCode):
        (WebInspector.RawSourceCode.prototype._saveSourceMapping):
        (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
        (WebInspector.RawSourceCode.SourceMapping.prototype.uiSourceCode):
        (WebInspector.RawSourceCode.PlainSourceMapping):
        (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
        (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
        (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiSourceCode):
        (WebInspector.RawSourceCode.FormattedSourceMapping):
        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiSourceCode):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
        (WebInspector.ResourceScriptMapping.prototype.addScript):
        (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
        (WebInspector.ResourceScriptMapping.prototype.reset):

2012-03-22  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Fix the only remaining coding style issue in GTK accessibility code
        https://bugs.webkit.org/show_bug.cgi?id=81885

        Reviewed by Xan Lopez.

        Add needed extra line and remove an unneeded one.

        * accessibility/gtk/AccessibilityObjectAtk.cpp:

2012-03-22  Kent Tamura  <tkent@chromium.org>

        Expand RenderTextControlSingleLine::controlClipRect() to contain contentRect().
        https://bugs.webkit.org/show_bug.cgi?id=81866

        Reviewed by Hajime Morita.

        We need to expand the controlClipRect because the existing shadow
        tree of a text field can be wrapped by another shadow tree. e.g.

        A current situation:

        <input>
          ┗ ShadowRoot
             ┗ container element
        ┌────────────┐<input>'s border box
        │┌──────────┐│
        ││container box       ││
        │└──────────┘│
        └────────────┘

        Wrapped by another ShadowRoot:

        <input>
          ┗ New ShadowRoot
             ┣ <shadow> represents the existing shadow tree
             ┃  ┗ container element
             ┗ D: an additional decoration element
        ┌────────────┐<input>'s border box
        │┌───────┬──┐│
        ││container box │ D  ││
        │└───────┴──┘│
        └────────────┘
        In this case, if we clip child renderers by container box, D is not
        drawn. We should clip by the content box of the <input>.

        A search field has an exceptional behavior. It can have the container
        box of which height is taller than the content box height. The
        controlClipRect should contain both of the container box and the content
        box in this case. In other cases, the container box is equivalent to the
        content box. So the code always unites them.

        No new tests. This won't make any behavior change for now.

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::controlClipRect):

2012-03-22  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] The option element should not be form associated element.
        https://bugs.webkit.org/show_bug.cgi?id=79764

        Reviewed by Kent Tamura.

        This patch changes base class of HTMLOptionELement to HTMLElement
        from HTMLFormControlElement for saving memory space and iteration
        time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
        and matching the HTML5 specification for ease of maintenance.

        This patch changes behavior of handling of CSS pseudo classes "invalid"
        and "valid". The "option" elements no longer use these CSS pseudo classes
        as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088

        Changes of TextIterator is lead by usage of isFormControlElement. This
        changes will be replaced with more meaningful predicate as part of
        https://bugs.webkit.org/show_bug.cgi?id=80381

        No new tests but updated select-live-pseudo-selectors.html test.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
        (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
        (WebCore::HTMLOptionElement::attach): Changeid base class.
        (WebCore::HTMLOptionElement::detach): Changed base class.
        (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
        (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
        (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
        * html/HTMLOptionElement.h:
        (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
        (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
        * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.

2012-03-21  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: rename ClosureCompilerSourceMapping to SourceMapParser and move it to CompilerScriptMapping.js.
        https://bugs.webkit.org/show_bug.cgi?id=81780

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/CompilerScriptMapping.js:
        (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
        (WebInspector.SourceMapParserPayload):
        (WebInspector.SourceMapParser):
        (WebInspector.SourceMapParser.prototype.load):
        (WebInspector.SourceMapParser.prototype.compiledLocationToSourceLocation):
        (WebInspector.SourceMapParser.prototype.sourceLocationToCompiledLocation):
        (WebInspector.SourceMapParser.prototype.sources):
        (WebInspector.SourceMapParser.prototype.loadSourceCode):
        (WebInspector.SourceMapParser.prototype._findMapping):
        (WebInspector.SourceMapParser.prototype._parseMappingPayload):
        (WebInspector.SourceMapParser.prototype._parseSections):
        (WebInspector.SourceMapParser.prototype._parseMap):
        (WebInspector.SourceMapParser.prototype._isSeparator):
        (WebInspector.SourceMapParser.prototype._decodeVLQ):
        (WebInspector.SourceMapParser.prototype._canonicalizeURL):
        (WebInspector.SourceMapParser.StringCharIterator):
        (WebInspector.SourceMapParser.StringCharIterator.prototype.next):
        (WebInspector.SourceMapParser.StringCharIterator.prototype.peek):
        (WebInspector.SourceMapParser.StringCharIterator.prototype.hasNext):
        * inspector/front-end/CompilerSourceMapping.js: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: IndexedDB transaction is not closed when requesting data.
        https://bugs.webkit.org/show_bug.cgi?id=81837

        Reviewed by Pavel Feldman.

        * inspector/InspectorIndexedDBAgent.cpp: Added missing IDBCursorBackendInterface::postSuccessHandlerCallback() call.
        (WebCore):

2012-03-21  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: event listeners section is broken for about:blank page
        https://bugs.webkit.org/show_bug.cgi?id=81795

        Parse about:blank as a valid URL.

        Reviewed by Pavel Feldman.

        Test: inspector/elements/event-listeners-about-blank.html

        * inspector/front-end/utilities.js:
        (String.prototype.asParsedURL):

2012-03-21  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r111635): Assertion failure in RenderFlexibleBox::layoutFlexItems() (!lineContexts.size()) in many flexbox tests
        https://bugs.webkit.org/show_bug.cgi?id=81870

        Reverted r111635, the fix for bug 81843.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext):
        (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
        (RenderFlexibleBox::WrapReverseContext):
        (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
        (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta):
        (WebCore::RenderFlexibleBox::layoutFlexItems):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
        (WebCore::RenderFlexibleBox::alignChildren):
        (WebCore::RenderFlexibleBox::flipForWrapReverse):
        * rendering/RenderFlexibleBox.h:

2012-03-21  Emil A Eklund  <eae@chromium.org>

        Unreviewed change touching CustomFilterProgram.h to try
        to force the chromium-win bots to rebuilt it and pick up
        on the fact that CSS_SHADERS is not set (since r111610). 

        * platform/graphics/filters/CustomFilterProgram.h:

2012-03-21  Vangelis Kokkevis  <vangelis@chromium.org>

        [chromium] FPS counter causes garbage to be displayed at top left corner
        https://bugs.webkit.org/show_bug.cgi?id=81851

        The HUD expects the PlatformCanvas it paints on to be cleared on creation which is
        no longer true after http://src.chromium.org/viewvc/chrome?view=rev&revision=127196 .
        This patch does an explicit clearRect before the HUD contents are painted.

        Reviewed by Adrienne Walker.

        TEST=Manually verified that --show-fps-counter and --show-composited-layer-tree work correctly.

        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::draw):

2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>

        Touch a file to make Chromium Windows bots happy.

        * css/CSSValueKeywords.in:

2012-03-19  Igor Oliveira  <igor.o@sisa.samsung.com>

        Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2)
        https://bugs.webkit.org/show_bug.cgi?id=38025

        Implement updateAnimationTimerForRender. This reduces unnecessary animation
        steps on the current RenderObject by checking the value of timeToNextService
        before starting a new timer.

        Reviewed by Dean Jackson.

        Test: animations/animation-welcome-safari.html

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
        (WebCore):
        (WebCore::AnimationController::updateAnimations):
        * page/animation/AnimationControllerPrivate.h:
        (AnimationControllerPrivate):

2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r111616.
        http://trac.webkit.org/changeset/111616
        https://bugs.webkit.org/show_bug.cgi?id=81862

        broke chromium mac (Requested by eae on #webkit).

        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::append):
        * platform/graphics/chromium/cc/CCQuadCuller.h:
        (CCQuadCuller):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsForLayer):
        * platform/graphics/chromium/cc/CCRenderPass.h:
        (CCRenderPass):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
        (WebCore::CCScrollbarLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
        (CCScrollbarLayerImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
        (WebCore::CCSolidColorLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
        (CCSolidColorLayerImpl):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
        (WebCore::CCTextureLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
        (CCTextureLayerImpl):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (CCVideoLayerImpl):

2012-03-21  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=80322
        Implement image-set

        Reviewed by Dean Jackson.

        This initial implementation of -webkit-image-set. 
        http://lists.w3.org/Archives/Public/www-style/2012Feb/1103.html
        The idea behind the feature is to allow authors to provide multiple variants 
        of the same image at differing resolutions, and to allow the User Agent to 
        choose the resource that is most appropriate at the time. This patch will 
        choose the most appropriate image based on device scale factor.

        CSSImageSetValue inherits from CSSValueList and behaves a lot like 
        CSSImageValue.
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSImageSetValue.h: Added.
        (WebCore):
        (CSSImageSetValue):
        (WebCore::CSSImageSetValue::create):
        (WebCore::CSSImageSetValue::isPending):
        (ImageWithScale):
        (WebCore::CSSImageSetValue::compareByScaleFactor):
        * css/CSSImageSetValue.cpp: Added.
        (WebCore):
        (WebCore::CSSImageSetValue::CSSImageSetValue):
        (WebCore::CSSImageSetValue::~CSSImageSetValue):
        (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
        (WebCore::CSSImageSetValue::customCssText):

        fillImageSet() iterates through the value list and turns the information into 
        a sorted Vector of ImageWithScales (which is a struct containing image URLs 
        and scale factors).
        (WebCore::CSSImageSetValue::fillImageSet):

        cachedImageSet() finds which image is most appropriate based on the device 
        scale factor, and it loads only that image. In the future, additional scale 
        factors will be taken into account.
        (WebCore::CSSImageSetValue::bestImageForScaleFactor):
        (WebCore::CSSImageSetValue::cachedImageSet):

        parseImageSet() is called everywhere in the CSSParser that a regular image or 
        generated image can be found.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseFillImage):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore):
        (WebCore::CSSParser::parseImageSet):
        * css/CSSParser.h:

        Since CSSImageSetValue is implemented as a value list, 
        ApplyPropertyFillLayer::applyValue() needs to be more specific when it's 
        looking for a list of multiple URLs.
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyFillLayer::applyValue):

        Handle image-set as a valid image value.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        * css/CSSValue.h:
        (CSSValue):
        (WebCore::CSSValue::isImageSetValue):

        computeIntrinsicDimensions() now takes an optional scaleFactor parameter that represents the author-enforced "intrinsic" scale factor of the image.
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::computeIntrinsicDimensions):
        * loader/cache/CachedImage.h:
        (CachedImage):
        * platform/graphics/GeneratedImage.h:
        (GeneratedImage):
        * platform/graphics/GeneratorGeneratedImage.cpp:
        (WebCore::GeneratedImage::computeIntrinsicDimensions):
        * platform/graphics/Image.cpp:
        (WebCore::Image::computeIntrinsicDimensions):
        * platform/graphics/Image.h:
        (Image):
        * platform/graphics/cg/PDFDocumentImage.cpp:
        (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
        * platform/graphics/cg/PDFDocumentImage.h:
        (PDFDocumentImage):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::computeIntrinsicDimensions):
        * svg/graphics/SVGImage.h:
        (SVGImage):

        Inherits from StyleImage and returns a scaled size for imageSize() and 
        computeIntrinsicDimensions().
        * rendering/style/StyleCachedImageSet.cpp: Added.
        (WebCore):
        (WebCore::StyleCachedImageSet::StyleCachedImageSet):
        (WebCore::StyleCachedImageSet::cssValue):
        (WebCore::StyleCachedImageSet::canRender):
        (WebCore::StyleCachedImageSet::isLoaded):
        (WebCore::StyleCachedImageSet::errorOccurred):
        (WebCore::StyleCachedImageSet::imageSize):
        (WebCore::StyleCachedImageSet::imageHasRelativeWidth):
        (WebCore::StyleCachedImageSet::imageHasRelativeHeight):
        (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
        (WebCore::StyleCachedImageSet::usesImageContainerSize):
        (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
        (WebCore::StyleCachedImageSet::addClient):
        (WebCore::StyleCachedImageSet::removeClient):
        (WebCore::StyleCachedImageSet::image):
        * rendering/style/StyleCachedImageSet.h: Added.
        (WebCore):
        (StyleCachedImageSet):
        (WebCore::StyleCachedImageSet::create):
        (WebCore::StyleCachedImageSet::data):
        (WebCore::StyleCachedImageSet::cachedImage):

        Handle image-set.
        * rendering/style/StyleImage.h:
        (WebCore::StyleImage::isCachedImageSet):
        (WebCore::StyleImage::StyleImage):
        (StyleImage):
        * rendering/style/StylePendingImage.h:
        (StylePendingImage):
        (WebCore::StylePendingImage::cssImageSetValue):

2012-03-21  David Barton  <dbarton@mathscribe.com>

        MathML internals - improve naming in RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
        https://bugs.webkit.org/show_bug.cgi?id=81850

        Reviewed by Eric Seidel.

        This prepares these files for bug fixes, and eventually combining their common code. To
        understand this patch, I suggest you start with RenderMathMLSquareRoot.cpp, as it's
        simpler than RenderMathMLRoot.cpp.

        No new tests. LayoutTests/mathml/presentation/roots.xhtml is thorough enough for this.

        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore):
        (WebCore::RenderMathMLRoot::addChild):
        (WebCore::RenderMathMLRoot::paint):
        (WebCore::RenderMathMLRoot::layout):
        * rendering/mathml/RenderMathMLRoot.h:
        (WebCore):
        (RenderMathMLRoot):
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore):
        (WebCore::RenderMathMLSquareRoot::paint):
        (WebCore::RenderMathMLSquareRoot::layout):
        * rendering/mathml/RenderMathMLSquareRoot.h:
        (WebCore):
        (RenderMathMLSquareRoot):
        * rendering/mathml/RenderMathMLSubSup.h:
        (WebCore):

2012-03-21  Tony Chang  <tony@chromium.org>

        refactor flexbox in preparation for flex-line-pack
        https://bugs.webkit.org/show_bug.cgi?id=81843

        Reviewed by Ojan Vafai.

        Replace WrapReverseContext with a vector of LineContexts that contain
        the same information, plus values needed for flex-align.

        alignChildren has been moved to after all the lines have been
        positioned. We want to align children after flex-line-pack has changed
        the size of each line to avoid unnecessary layouts.

        No new tests, just refactoring.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
        holds information needed for wrap-reverse and aligning children.
        (RenderFlexibleBox::LineContext):
        (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
        (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
        (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
        * rendering/RenderFlexibleBox.h:

2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>

        BDI element should have dir=auto by default
        https://bugs.webkit.org/show_bug.cgi?id=68773

        Reviewed by Daniel Bates.

        Treat bdi elements without dir content attribute as if they have dir=auto per spec:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-bdi-element

        The patch tries to encapsulate the logic to look for dir content attribute and dir=auto.

        It also adds HTMLBDIElement interface (binding remains to use HTMLElement) to set
        selfOrAncestorHasDirAutoAttribute flag true by default, which is used by functions like
        directionalityIfhasDirAutoAttribute to look for elements with dir=auto. Since dir=auto-ness of bdi
        elements can be overridden by dir content attribute, we must change and only change the default value.

        Tests: fast/text/international/bdi-dir-default-to-auto-expected.html
               fast/text/international/bdi-dir-default-to-auto.html

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * html/HTMLBDIElement.h: Added.
        (WebCore):
        (HTMLBDIElement):
        (WebCore::HTMLBDIElement::create):
        (WebCore::HTMLBDIElement::HTMLBDIElement): Sets selfOrAncestorHasDirAutoAttribute to true because
        bdi elements are treated as if it has dir=auto by default.
        * html/HTMLElement.cpp:
        (WebCore::elementAffectsDirectionality): Added. Checks if the specified element is bdi or
        has dir content attribute.
        (WebCore):
        (WebCore::setHasDirAutoFlagRecursively):
        (WebCore::HTMLElement::hasDirectionAuto): Added. Checks if the specified element should be treated
        as if it has dir=auto (bdi or element with dir=auto).
        (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
        (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
        (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
        * html/HTMLElement.h:
        (HTMLElement):
        * html/HTMLTagNames.in: Use HTMLBDIElement instead of HTMLElement for constructing bdi element
        to set selfOrAncestorHasDirAutoAttribute true but still use HTMLElement for binding.

2012-03-21  Luke Macpherson  <macpherson@chromium.org>

        Use CSSPrimitiveValue::convertToLength() in a few places.
        https://bugs.webkit.org/show_bug.cgi?id=81492

        Reviewed by Eric Seidel.

        No new tests - refactoring only.

        CSSPrimitiveValue::convertToLength() provides the same functionality that is duplicated
        in many places in CSSStyleSelector. This patch removes some of that code duplication.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyVerticalAlign::applyValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-21  Patrick Gansterer  <paroga@webkit.org>

        Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r111601.

        * rendering/svg/RenderSVGRoot.cpp:

2012-03-21  Patrick Gansterer  <paroga@webkit.org>

        Build fix for !ENABLE(INSPECTOR) after r104831.

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):

2012-03-21  Xiaomei Ji  <xji@chromium.org>

        visual word movement: using cache to decrease the number of collectLeafBoxesInLogicalOrder on RootInlineBox
        https://bugs.webkit.org/show_bug.cgi?id=81408

        Reviewed by Ryosuke Niwa.

        Cache logically ordered leaf boxes under a particular root box.
        Also, move 'Vector<UChar, 1024> string' declared in visualWordPosition() to outside of loop (it is always
        clear-ed before use).

        * editing/visible_units.cpp:
        (CachedLogicallyOrderedLeafBoxes): Add class to cache logically ordered leaf boxes under a particular root box.
        (WebCore::CachedLogicallyOrderedLeafBoxes::size):
        (WebCore::CachedLogicallyOrderedLeafBoxes::firstBox):
        (WebCore):
        (WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes):
        (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextBox):
        (WebCore::CachedLogicallyOrderedLeafBoxes::nextTextBox):
        (WebCore::CachedLogicallyOrderedLeafBoxes::collectBoxes):
        (WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves):
        (WebCore::logicallyPreviousBox): Pass CachedLogicallyOrderedLeafBoxes object around.
        (WebCore::logicallyNextBox):
        (WebCore::wordBreakIteratorForMinOffsetBoundary):
        (WebCore::wordBreakIteratorForMaxOffsetBoundary):
        (WebCore::visualWordPosition):

2012-03-21  Dana Jansens  <danakj@chromium.org>

        [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
        https://bugs.webkit.org/show_bug.cgi?id=81437

        Reviewed by Adrienne Walker.

        Split CCLayerTreeHostImpl::drawLayers() into two phases:
        prepareToDraw() and drawLayers().

        When calculating a RenderPass, and we checkerboard a quad on a
        layer, bubble this info back up to CCLayerTreeHostImpl. If the
        layer is transforming in an animation, then abort the prepareToDraw()
        phase and cause it to return false back to the thread proxy.

        Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard

        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        (FrameData):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::append):
        * platform/graphics/chromium/cc/CCQuadCuller.h:
        (CCQuadCuller):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsForLayer):
        * platform/graphics/chromium/cc/CCRenderPass.h:
        (CCRenderPass):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
        (WebCore::CCScrollbarLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
        (CCScrollbarLayerImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
        (WebCore::CCSolidColorLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
        (CCSolidColorLayerImpl):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
        (WebCore::CCTextureLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
        (CCTextureLayerImpl):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (CCVideoLayerImpl):

2012-03-21  Enrica Casucci  <enrica@apple.com>

        WebKitURLWithTitles pasteboard format should support URLs containing Emoji characters.
        https://bugs.webkit.org/show_bug.cgi?id=81835
        <rdar://problem/11082749>

        Reviewed by Brady Eidson.

        When writing the URL in the pasteboard for the WebURLWithTitles format,
        we use the user visible string instead of the original URL.
        In case of URL with Unicode characters, we lose the encoding.
        
        Added TestWebKitAPI test.

        * platform/mac/PasteboardMac.mm:
        (WebCore::writeURLForTypes): Writes to the pasteboard the original URL.

2012-03-21  Levi Weintraub  <leviw@chromium.org>

        Correct LayoutUnit usage in VisiblePosition.cpp
        https://bugs.webkit.org/show_bug.cgi?id=81775

        Reviewed by Eric Seidel.

        Correcting a mismatch between the .h and .cpp for the definition of localCaretRect,
        and properly using LayoutUnits for local coordinates.

        No new tests. No change in behavior.

        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::localCaretRect): Switching to return a LayoutRect, as in the
        header. Local coordinates are in LayoutUnits.
        (WebCore::VisiblePosition::absoluteCaretBounds): Using LayoutRect for the localCaretRect.
        (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Ditto.

2012-03-21  Adam Klein  <adamk@chromium.org>

        "this" argument for MutationCallbacks should be the MutationObserver
        https://bugs.webkit.org/show_bug.cgi?id=81712

        Reviewed by Adam Barth.

        Test: fast/mutation/callback-arguments.html

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback): Add an overload that takes
        an explicit this argument and have the old method call the new one.
        * bindings/js/JSCallbackData.h:
        (JSCallbackData):
        * bindings/js/JSMutationCallbackCustom.cpp:
        (WebCore::JSMutationCallback::handleEvent): Call the new overload.
        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::invokeCallback): Add an overload that takes an explicit this
        argument and have the old method call the new one.
        * bindings/v8/custom/V8CustomVoidCallback.h:
        (WebCore):
        * bindings/v8/custom/V8MutationCallbackCustom.cpp:
        (WebCore::V8MutationCallback::handleEvent): Call the new overload.

2012-03-21  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Shaders] Make CSS Shaders compile on Chromium
        https://bugs.webkit.org/show_bug.cgi?id=81435

        Reviewed by Stephen White.

        This patch enables the CSS Shaders compile time flag, but keeps the runtime flag disabled.
        The only way to test the functionality now is to use the overridePreference from dump render tree.

        Also part of this patch I fix a layering violation: I removed the "Document" reference from the FECustomFilter.cpp and passed the
        HostWindow directly. There should be no problem when the HostWindow changes, because the RenderLayer and the FECustomFilter
        get recreated anyway.

        No new tests. I've updated the existing custom filter tests to run under Chromium and added the expected results.
        I've just added window.layoutTestController.overridePreference("WebKitCSSCustomFilterEnabled", "1") to force 
        enable the feature at runtime. 

        * loader/cache/CachedResource.cpp: Made CachedResource::ShaderResource report as ResourceRequest::TargetIsSubresource for Chromium.
        (WebCore::cachedResourceTypeToTargetType):

        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::FECustomFilter): Removed Document and just used the HostWindow directly.
        (WebCore::FECustomFilter::create):
        (WebCore::FECustomFilter::initializeContext):
        (WebCore::FECustomFilter::bindVertexAttribute): There was a typo and instead of using the "size" parameter it always used 4 component attribute.
        Other drivers didn't complain about it, but it was clearly a bug.
        (WebCore::FECustomFilter::bindProgramAndBuffers): Reading the image back from GPU will flip vertically the framebuffer in Chromium. I've flipped the
        projection matrix only on Chromium, so that we get the correct result.

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::build): Passing the HostWindow instead of the Document.

2012-03-21  Mark Pilgrim  <pilgrim@chromium.org>

        Realphabetize about webaudio move
        https://bugs.webkit.org/show_bug.cgi?id=81825

        Reviewed by Adam Barth.

        No new tests, all existing tests pass.

        * CMakeLists.txt:

2012-03-21  Anders Carlsson  <andersca@apple.com>

        Evict tiles from pages in background tabs
        https://bugs.webkit.org/show_bug.cgi?id=81829
        <rdar://problem/10866152>

        Reviewed by Andreas Kling.

        When the tile cache for a page is no longer in a window (which happens when it's moved to 
        a background tab), schedule a tile revalidation after 4 seconds. This tile revalidation 
        will ensure that tiles outside of the visible rect will be dropped.

        * platform/graphics/ca/mac/TileCache.h:
        (TileCache):
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::tileCacheLayerBoundsChanged):
        (WebCore::TileCache::setIsInWindow):
        (WebCore::TileCache::tileCoverageRect):
        (WebCore):
        (WebCore::TileCache::scheduleTileRevalidation):
        (WebCore::TileCache::revalidateTiles):

2012-03-21  Stephen Chenney  <schenney@chromium.org>

        SVG layout leaves objects still needing layout
        https://bugs.webkit.org/show_bug.cgi?id=81006

        Reviewed by Nikolas Zimmermann.

        Change the layout of SVG objects such that resources that trigger
        layout of other objects are handled in a distinct pass, and then
        objects still requiring layout are laid out again.

        Test: svg/custom/delete-text-innerText-crash.html

        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::layout):
        * rendering/svg/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::layout):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout):
        (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
        (WebCore):
        * rendering/svg/RenderSVGRoot.h:
        (RenderSVGRoot):

2012-03-21  Tim Horton  <timothy_horton@apple.com>

        Make use of CG rounded-rect primitives
        https://bugs.webkit.org/show_bug.cgi?id=79932
        <rdar://problem/9274953>

        Reviewed by Simon Fraser.

        Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.

        Dispatch to potentially platform-specific rounded rectangle path
        construction from addPathForRoundedRect. Make use of this to call
        wkCGPathAddRoundedRect on Lion and above, as long as the rounded
        corners are all equivalent.

        The origin of the stroke dash differs between the bezier approach
        and the path added by wkCGPathAddRoundedRect, so Path::addRoundedRect()
        takes a new parameter allowing code which is sensitive to stroke dash
        origin (i.e. SVG) to fall back to the old behavior if need be.

        Make use of the new Path::addRoundedRect() parameter to fall back to
        the old (bezier) rounded-rect behavior when constructing a dashed SVG path,
        in order to continue complying with the spec.

        No new tests, as this is covered by many that use rounded corners,
        and is only a performance improvement.

        * WebCore.exp.in:
        * platform/graphics/Path.cpp:
        (WebCore::Path::addRoundedRect):
        (WebCore):
        (WebCore::Path::addPathForRoundedRect):
        * platform/graphics/Path.h:
        (Path):
        * platform/graphics/cg/PathCG.cpp:
        (WebCore::Path::platformAddPathForRoundedRect):
        (WebCore):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        * rendering/svg/SVGPathData.cpp:
        (WebCore::updatePathFromRectElement):

2012-03-21  David Reveman  <reveman@chromium.org>

        [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
        https://bugs.webkit.org/show_bug.cgi?id=80988

        Reviewed by Adrienne Walker.

        Expose EXT_occlusion_query API to WebKit compositor. Add
        GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
        enums.

        * platform/graphics/chromium/Extensions3DChromium.h:
        (Extensions3DChromium):

2012-03-21  Tony Chang  <tony@chromium.org>

        compute the sign of flexibility for new flexbox
        https://bugs.webkit.org/show_bug.cgi?id=81722

        Reviewed by Ojan Vafai.

        This implements the computation of the sign of flexibility used by the
        new flexing algorithm.
        http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths

        No new tests, we don't use the sign of flexibility yet.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutFlexItems):
        (WebCore::RenderFlexibleBox::computeNextFlexLine): Compute the size
        adjusted for min/max as well as not adjusted.
        (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Renamed to match
        spec text better.
        * rendering/RenderFlexibleBox.h: Added enum for flex sign.

2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
        https://bugs.webkit.org/show_bug.cgi?id=81669

        Reviewed by Pavel Feldman.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.get for):
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
        (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
        (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
        (WebInspector.BreakpointManager.prototype.setBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
        (WebInspector.BreakpointManager.prototype._innerRemoveBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
        (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
        (WebInspector.BreakpointManager.prototype._uiBreakpoints.get this):
        (WebInspector.BreakpointManager.prototype._uiBreakpoints):
        (WebInspector.BreakpointManager.prototype.get _uiBreakpoint):
        (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
        (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
        (WebInspector.BreakpointManager.prototype._breakpoints):
        (WebInspector.BreakpointManager.prototype._breakpoint):
        (WebInspector.BreakpointManager.prototype._addBreakpointToModel):
        (WebInspector.BreakpointManager.prototype._removeBreakpointFromModel):
        (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
        (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
        (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
        (WebInspector.BreakpointManager.prototype.debuggerReset):
        (WebInspector.Breakpoint.prototype.serialize):
        (WebInspector.Breakpoint.prototype.get uiBreakpoint):
        (WebInspector.Breakpoint.prototype.createUIBreakpoint):
        (WebInspector.Breakpoint.prototype.removeUIBreakpoint):
        (WebInspector.UIBreakpoint):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
        * inspector/front-end/ScriptsPanel.js:

2012-03-21  Anders Carlsson  <andersca@apple.com>

        TileCache needs to know if its containing page is in a window
        https://bugs.webkit.org/show_bug.cgi?id=81821

        Reviewed by Andreas Kling.

        This is in preparation for throwing away invisible tiles in background tabs to reduce memory usage.

        * page/FrameView.cpp:
        (WebCore::FrameView::didMoveOnscreen):
        (WebCore::FrameView::willMoveOffscreen):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::didMoveOnscreen):
        (WebCore::Page::willMoveOffscreen):
        * page/Page.h:
        (WebCore::Page::isOnscreen):
        (Page):
        * platform/graphics/TiledBacking.h:
        (TiledBacking):
        * platform/graphics/ca/mac/TileCache.h:
        (TileCache):
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::TileCache):
        (WebCore::TileCache::setIsInWindow):
        (WebCore):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):

2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>

        Web audio layout test failed in debug with an ASSERT error in ReverbConvolverStage.cpp
        https://bugs.webkit.org/show_bug.cgi?id=81744

        Reviewed by Chris Rogers.

        * platform/audio/ReverbConvolverStage.cpp:
        (WebCore::ReverbConvolverStage::ReverbConvolverStage):

2012-03-21  Xiaomei Ji  <xji@chromium.org>

        [chromium] Font fallback in cr-win is wrong for string contains zero-width-space.
        https://bugs.webkit.org/show_bug.cgi?id=79961

        Reviewed by Adam Barth.

        Treat zero-width-space (\u200B) as true for treatAsZeroWidthSpaceInComplexScipt().

        * platform/graphics/Font.h:
        (WebCore::Font::treatAsZeroWidthSpaceInComplexScript):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::shapeAndPlaceItem):

2012-03-21  Patrick Gansterer  <paroga@webkit.org>

        Build fix for !ENABLE(INSPECTOR) after r111005.

        * inspector/ContentSearchUtils.h:

2012-03-21  Ulan Degenbaev  <ulan@chromium.org>

        [V8] V8GCForContextDispose should indicate whether a context is disposed for the main frame or not
        https://bugs.webkit.org/show_bug.cgi?id=81200

        Reviewed by Adam Barth.

        Pass a hint to V8::IdleNotification that requests more aggressive GC
        when a main frame context is disposed and requests incremental GC otherwise.

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::disposeContextHandles):
        * bindings/v8/V8GCForContextDispose.cpp:
        (WebCore::V8GCForContextDispose::V8GCForContextDispose):
        (WebCore::V8GCForContextDispose::notifyContextDisposed):
        (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
        * bindings/v8/V8GCForContextDispose.h:
        (V8GCForContextDispose):

2012-03-21  Nat Duca  <nduca@chromium.org>

        [chromium] CCThreadProxy must initialize frameBeginTime to monotonicallyIncreasingTime rather than zero
        https://bugs.webkit.org/show_bug.cgi?id=81790

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionBeginFrame):

2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>

        Add multichannel support in RealtimeAnalyser
        https://bugs.webkit.org/show_bug.cgi?id=81745

        Reviewed by Chris Rogers.

        * Modules/webaudio/RealtimeAnalyser.cpp:
        (WebCore::RealtimeAnalyser::writeInput):
        (WebCore):

2012-03-21  Eric Carlson  <eric.carlson@apple.com>

        Removing HTMLTrackElement does not delete TextTrack
        https://bugs.webkit.org/show_bug.cgi?id=80873

        Reviewed by Antti Koivisto.

        No new tests, but media/track/track-language-preference.html has been updated
        to test this fix.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::didAddTrack): Renamed from trackWasAdded.
        (WebCore::HTMLMediaElement::willRemoveTrack): Renamed from trackWasRemoved because it is
        called before the track is removed, to allow the TextTrack to be removed.
        * html/HTMLMediaElement.h:

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::insertedIntoTree): Renamed from insertedIntoDocument
        (WebCore::HTMLTrackElement::willRemove): Renamed from removedFromDocument.
        * html/HTMLTrackElement.h:

        * html/track/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::trackElementIndex): Don't include tracks that are not in the
        document in the calcualtion.

2012-03-21  Zeno Albisser  <zeno@webkit.org>

        [Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
        https://bugs.webkit.org/show_bug.cgi?id=81750

        Building WebCore on mac currently creates an archive that is bigger than
        4GB. But ranlib fails to create a symbol table for such a big archive,
        even on 64bit machines.
        Therefore we start using SVGAllInOne.cpp when building debug
        on mac. This reduces the size of the archive by about 300MB.

        Reviewed by Tor Arne Vestbø.

        * Target.pri:

2012-03-21  Tommy Widenflycht  <tommyw@google.com>

        [chromium] MediaStream API (JSEP): Introducing WebSessionDescription and WebIceCandidate
        https://bugs.webkit.org/show_bug.cgi?id=81339

        Reviewed by Adam Barth.

        Not possible to test until the entire JSEP feature is commited.

        * Modules/mediastream/IceCandidate.cpp:
        (WebCore::IceCandidate::toSdp):
        * Modules/mediastream/SessionDescription.cpp:
        (WebCore::SessionDescription::toSdp):
        * platform/mediastream/IceCandidateDescriptor.cpp:
        (WebCore::IceCandidateDescriptor::toSDP):
        * platform/mediastream/IceCandidateDescriptor.h:
        (IceCandidateDescriptor):
        * platform/mediastream/MediaStreamCenter.cpp:
        (WebCore::MediaStreamCenter::constructSDP):
        * platform/mediastream/MediaStreamCenter.h:
        (MediaStreamCenter):
        * platform/mediastream/SessionDescriptionDescriptor.cpp:
        (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
        (WebCore::SessionDescriptionDescriptor::toSDP):
        (WebCore::SessionDescriptionDescriptor::initialSDP):
        * platform/mediastream/SessionDescriptionDescriptor.h:
        (SessionDescriptionDescriptor):

2012-03-21  Yuta Kitamura  <yutak@chromium.org>

        Use RFC version of WebSocket protocol by default
        https://bugs.webkit.org/show_bug.cgi?id=81718

        Reviewed by Kent Tamura.

        Flip the default value of Settings::m_useHixie76WebSocketProtocol so WebKit ports will use
        RFC version of WebSocket protocol by default.

        All the existing ports already use the RFC protocol as of now, so this change will not make
        any impact (hopefully).

        No new tests. No change in functionality.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):

2012-03-21  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: only show JS event listeners in Event Listeners tab of Elements panel
        https://bugs.webkit.org/show_bug.cgi?id=81798

        Reviewed by Pavel Feldman.

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::getJSListenerFunctions):
        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerBody):
        (WebCore::eventListenerHandlerLocation):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::getJSListenerFunctions):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getEventListeners):

2012-03-21  Andrey Kosyakov  <caseq@chromium.org>

        EventListener::Type enum has unused member InspectorDOMAgentType
        https://bugs.webkit.org/show_bug.cgi?id=81794

        Reviewed by Pavel Feldman.

        * dom/EventListener.h:

2012-03-21  Tom Hudson  <tomhudson@google.com>

        Incremental cleanup of BitmapImage: inlined virtual functions
        https://bugs.webkit.org/show_bug.cgi?id=81688

        Reviewed by James Robinson.

        No change in functionality, so no new tests.

        Move virtual functions defined in headers into .cpp files.

        * WebCore.gypi:
        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::isBitmapImage):
        (WebCore):
        (WebCore::BitmapImage::hasSingleSecurityOrigin):
        (WebCore::BitmapImage::nativeImageForCurrentFrame):
        (WebCore::BitmapImage::currentFrameHasAlpha):
        (WebCore::BitmapImage::notSolidColor):
        (WebCore::BitmapImage::decodedSize):
        (WebCore::BitmapImage::mayFillWithSolidColor):
        (WebCore::BitmapImage::solidColor):
        * platform/graphics/BitmapImage.h:
        (BitmapImage):
        * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Added.
        (WebCore):
        (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
        (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
        (WebCore::BitmapImageSingleFrameSkia::size):
        (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
        (WebCore::BitmapImageSingleFrameSkia::decodedSize):
        (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
        (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
        (BitmapImageSingleFrameSkia):

2012-03-21  Alexey Proskuryakov  <ap@apple.com>

        Remove obsolete File attributes
        https://bugs.webkit.org/show_bug.cgi?id=79383

        Reviewed by Hajime Morita.

        * bindings/objc/PublicDOMInterfaces.h:
        * fileapi/File.h:
        * fileapi/File.idl:
        Removed fileName and fileSize, they have different names now.

        * html/FileInputType.cpp:
        (WebCore::FileInputType::appendFormData):
        (WebCore::FileInputType::getTypeSpecificValue):
        (WebCore::FileInputType::defaultToolTip):
        Updated to use new function names.

2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        TiledBackingStore: Create the first round of tiles synchronously after setting the visible rect.
        https://bugs.webkit.org/show_bug.cgi?id=81762

        Reviewed by Kenneth Rohde Christiansen.

        The first round of tiles should cover completely the visible rect.
        Creating the tiles synchronously allows us to get the new tiles immediately
        and prevents an extra AC layers sync to be able to remove the old tiles.

        At some point it might also make sense to remove the tile creation timer
        completely.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::coverWithTilesIfNeeded):

2012-03-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        TiledBackingStore: When checking if the visible area is covered, only convert to scaled coordinates once.
        https://bugs.webkit.org/show_bug.cgi?id=81519

        Reviewed by Kenneth Rohde Christiansen.

        Both visibleRect and coverageRatio call mapFromContents on the input rect,
        this woulc cause the coverageRatio to never reach 1.0 when the contents is
        scaled up.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::visibleAreaIsCovered):

2012-03-21  Mao Yujie  <yujie.mao@intel.com>

        MediaStream API: Need to support MediaStream constructor for JSC
        https://bugs.webkit.org/show_bug.cgi?id=78781

        Reviewed by Adam Barth.

        No new tests.

        * Modules/mediastream/DOMWindowMediaStream.idl:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitMediaStreamEnabled):

2012-03-21  Philip Rogers  <pdr@google.com>

        Skip building resources if SVGTRef is not in a document
        https://bugs.webkit.org/show_bug.cgi?id=81473

        Reviewed by Nikolas Zimmermann.

        We can skip the building of pending resources in SVGTRef if we're not
        yet in a document. This mirrors the nearly identical logic in
        SVGUseElement::buildPendingResource() and
        SVGFEImageElement::buildPendingResource().

        Test: http/tests/svg/tref-adoptNode-crash.html

        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::buildPendingResource):

2012-03-21  Sami Kyostila  <skyostil@chromium.org>

        [chromium] Use floating point scroll deltas for layers
        https://bugs.webkit.org/show_bug.cgi?id=81546

        Reviewed by James Robinson.

        Use floating point scroll deltas for layers instead of integral scroll
        deltas. This is because due to page scaling it may be necessary to
        scroll layers in sub-CSS-pixel steps to avoid visible jumps. When the
        floating point scroll offset is committed to the main thread, it is
        truncated to integer, but the fractional part is kept on the CC side to
        make sure fractional scroll offsets are accumulated correctly over
        multiple commits.

        Test: CCLayerTreeHostTestFractionalScroll

        * platform/graphics/FloatPoint.h:
        (WebCore::toSize):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::scrollBy):
        (WebCore::CCLayerImpl::setScrollDelta):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::scrollDelta):
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
        (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
        (WebCore::CCLayerTreeHostImpl::animatePageScale):

2012-03-21  Li Yin  <li.yin@intel.com>

        [WebSocket]The Sec-WebSocket-Accept MUST NOT appear more than once in an HTTP response
        https://bugs.webkit.org/show_bug.cgi?id=81655

        Reviewed by Adam Barth.

        Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header.html

        * Modules/websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::readHTTPHeaders):

2012-03-21  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Speedup heap snapshot loading.
        https://bugs.webkit.org/show_bug.cgi?id=81788

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):

2012-03-21  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: get rid of isInEditMode, use isBeingEdited on particular element.
        https://bugs.webkit.org/show_bug.cgi?id=81766

        Reviewed by Yury Semikhatsky.

        We should check event target and its ancestors for being edited, not use some
        global property. This change also introduces Event.prototype.consume so that we
        were consistently consuming events.

        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.SearchView.prototype._onKeyDown):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
        * inspector/front-end/CSSSelectorProfileView.js:
        * inspector/front-end/Checkbox.js:
        (WebInspector.Checkbox.prototype.addEventListener):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._enterKeyPressed):
        (WebInspector.ConsoleGroup.prototype._titleClicked):
        * inspector/front-end/ContextMenu.js:
        (WebInspector.ContextMenu.prototype.show):
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid.prototype._keyDown):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
        (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
        (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
        (WebInspector.DetailedHeapshotView.prototype._endRetainersHeaderDragging):
        * inspector/front-end/Dialog.js:
        (WebInspector.Dialog.prototype._onKeyDown):
        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype._startStatusBarDragging):
        (WebInspector.Drawer.prototype._statusBarDragging):
        (WebInspector.Drawer.prototype._endStatusBarDragging):
        * inspector/front-end/EventListenersSidebarPane.js:
        (WebInspector.EventListenersSidebarPane.get if):
        * inspector/front-end/HelpScreen.js:
        (WebInspector.HelpScreen.prototype._onKeyDown):
        * inspector/front-end/InspectorView.js:
        (WebInspector.InspectorView.prototype._keyDown):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
        * inspector/front-end/NetworkPanel.js:
        * inspector/front-end/Object.js:
        (WebInspector.Event.prototype.preventDefault):
        (WebInspector.Event.prototype.consume):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
        * inspector/front-end/ProfileView.js:
        * inspector/front-end/SearchController.js:
        (WebInspector.SearchController.prototype._onKeyDown):
        * inspector/front-end/Section.js:
        (WebInspector.Section.prototype.handleClick):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/SoftContextMenu.js:
        (.WebInspector.SoftContextMenu.prototype.show):
        (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
        (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
        (.WebInspector.SoftContextMenu.prototype._discardMenu):
        * inspector/front-end/Spectrum.js:
        (WebInspector.Spectrum.draggable.consume):
        (WebInspector.Spectrum.draggable.start):
        (WebInspector.Spectrum.draggable.stop):
        (WebInspector.Spectrum.draggable):
        (WebInspector.Spectrum.prototype._onKeyDown):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.muteEventListener):
        (WebInspector.StylesSidebarPane):
        (WebInspector.StylesSidebarPane.prototype.set _createNewRule):
        (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
        (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.onKeyDown):
        (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
        (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._handleKeyDown):
        * inspector/front-end/Toolbar.js:
        (WebInspector.ToolbarDropdown.prototype._onKeyDown):
        * inspector/front-end/UIUtils.js:
        (WebInspector.isBeingEdited):
        (WebInspector.startEditing):
        * inspector/front-end/View.js:
        (WebInspector.View.prototype._doLoadCSS):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
        (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
        * inspector/front-end/inspector.js:
        (WebInspector.documentClick.followLink):
        (WebInspector.documentClick):
        (WebInspector.documentKeyDown):
        (WebInspector.postDocumentKeyDown):
        (WebInspector.addMainEventListeners):
        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype._treeKeyPress):
        (TreeOutline.prototype._treeKeyDown):
        (TreeOutline.prototype._searchInputKeyDown):
        (TreeElement.treeElementToggled):
        (TreeElement.prototype.selectOnMouseDown):
        * inspector/front-end/utilities.js:
        (Event.prototype.consume):

2012-03-21  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: event listener section doesn't show all event listeners of the element ancestors
        https://bugs.webkit.org/show_bug.cgi?id=81782

        Event listeners section now contains all event listeners for the selected
        element ancestors chain (in case option "All Nodes" is selected).

        Reviewed by Pavel Feldman.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        * inspector/front-end/EventListenersSidebarPane.js:
        (WebInspector.EventListenersSidebarPane.prototype.update.callback):
        (WebInspector.EventListenersSidebarPane.prototype.update):
        (WebInspector.EventListenersSidebarPane.prototype):

2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapSnapshot: move all builders and calculation calls to HeapSnapshot._init function.
        https://bugs.webkit.org/show_bug.cgi?id=81784

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype.dispose):
        (WebInspector.HeapSnapshot.prototype._retainersForNode):
        (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
        (WebInspector.HeapSnapshot.prototype._flagsOfNode):
        (WebInspector.HeapSnapshot.prototype.aggregates):
        (WebInspector.HeapSnapshot.prototype._buildRetainers):
        (WebInspector.HeapSnapshot.prototype.get nodeIndexes):

2012-03-21  Jessie Berlin  <jberlin@apple.com>

        WTF headers should be in $(ConfigurationBuildDir)\include\private\wtf, not
        $(ConfigurationBuildDir)\include\private\JavaScriptCore\wtf.
        https://bugs.webkit.org/show_bug.cgi?id=81739

        Reviewed by Dan Bernstein.

        * WebCore.vcproj/WebCore.vcproj:
        Look for AtomicString.cpp, StringBuilder.cpp, StringImpl.cpp, and WTFString.cpp in the wtf
        subdirectory of the build output, not the JavaScriptCore/wtf subdirectory.

2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] Credential save and autofill implemetation
        https://bugs.webkit.org/show_bug.cgi?id=80401

        Reviewed by Rob Buis.

        Added interface function authenticationChallenge() and
        notifyShouldSaveCredential() into PageClientBlackBerry.
        As this class is our platform specific interface,
        by doing this we don't need to add an interface function
        in class FrameLoaderClient which is a platform
        independent interface.

        No new tests.

        * platform/blackberry/PageClientBlackBerry.h:
        (WebCore):
        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::sendRequestWithCredentials):

2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapProfiler: DOM node id can overflow Int32.
        https://bugs.webkit.org/show_bug.cgi?id=81776

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.Uint32Array):
        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
        (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
        (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):

2012-03-21  Tim Dresser  <tdresser@chromium.org>

        [chromium] Increase size of Combo Box Options for touch and high DPI devices
        https://bugs.webkit.org/show_bug.cgi?id=80027

        Reviewed by Darin Fisher.

        Scale Combo box popups by defaultDeviceScaleFactor, and add padding to
        <option> elements when touch is enabled.

        Manually tested with --default-device-scale-factor=1,2 and unset.
        Each of these were tested with RuntimeEnabledFeatures::touchEnabled
        set to true and false.

        * platform/chromium/PopupListBox.cpp:
        (WebCore::PopupListBox::paint):
        (WebCore::PopupListBox::paintRow):
        (WebCore::PopupListBox::getRowHeight):
        * platform/chromium/PopupListBox.h:
        (PopupContainerSettings):
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore):
        (WebCore::PopupMenuChromium::show):
        * platform/chromium/PopupMenuChromium.h:
        (WebCore::PopupMenuChromium::optionPaddingForTouch):
        (WebCore::PopupMenuChromium::setOptionPaddingForTouch):
        (PopupMenuChromium):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::showPopup):

2012-03-21  Takashi Toyoshima  <toyoshim@chromium.org>

        [Chromium] [WebSocket] provide WebFrameClient with a chance of
        accessing to opening WebSocketStreamHandle.
        https://bugs.webkit.org/show_bug.cgi?id=78459

        Reviewed by Kent Tamura and Darin Fisher.

        Add willOpenSocketStream client function to WebFrameClient with an
        argument representing an opening SocketStreamHandle.
        These mechanisms provide embedders with a chance to bind arbitrary
        data to a WebSocketStreamHandle from WebFrameClient to which the
        WebSocket object having the WebSocketStreamHandle belongs.

        No new tests because this change just provide mechanisms to embedders.

        * Modules/websockets/WebSocketChannel.cpp: Implement willOpenSocketStream to call a client function in WebFrameClient.
        (WebCore::WebSocketChannel::willOpenSocketStream):
        (WebCore):
        * Modules/websockets/WebSocketChannel.h: Add willOpenSocketStream declaration.
        (WebSocketChannel):
        * loader/FrameLoaderClient.h: Add dispatchWillOpenSocketStream declaration.
        (WebCore):
        (FrameLoaderClient):
        (WebCore::FrameLoaderClient::dispatchWillOpenSocketStream):
        * platform/network/SocketStreamHandleClient.h: Add willOpenSocketStream declaration.
        (WebCore::SocketStreamHandleClient::willOpenSocketStream):

2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=81761
        Fix Gobject binding for sequence<T> for function return type.

        Reviewed by Kentaro Hara.

        No new tests.

        * bindings/scripts/CodeGeneratorGObject.pm:
        (SkipFunction): Skip function with sequence<T> return type.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_method_with_sequence_arg):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:

2012-03-21  Andrey Kosyakov  <caseq@chromium.org>

        Unreviewed build fix for r111529.

        * inspector/InjectedScriptHost.h:
        (WebCore):

2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r111497, r111506, r111508, and
        r111513.
        http://trac.webkit.org/changeset/111497
        http://trac.webkit.org/changeset/111506
        http://trac.webkit.org/changeset/111508
        http://trac.webkit.org/changeset/111513
        https://bugs.webkit.org/show_bug.cgi?id=81774

        It broke 2 tests on all platform (Requested by Ossy on
        #webkit).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::HTMLOptionElement):
        (WebCore::HTMLOptionElement::create):
        (WebCore::HTMLOptionElement::attach):
        (WebCore::HTMLOptionElement::detach):
        (WebCore::HTMLOptionElement::formControlType):
        (WebCore):
        (WebCore::HTMLOptionElement::parseAttribute):
        (WebCore::HTMLOptionElement::childrenChanged):
        (WebCore::HTMLOptionElement::insertedIntoTree):
        * html/HTMLOptionElement.h:
        (HTMLOptionElement):
        (WebCore::HTMLOptionElement::ownElementDisabled):
        * html/HTMLTagNames.in:

2012-03-21  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: expose getEventListeners() to console command line API
        https://bugs.webkit.org/show_bug.cgi?id=81658

        Reviewed by Yury Semikhatsky.

        Test: inspector/console/command-line-api-getEventListeners.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::functionDetails):
        (WebCore):
        (WebCore::getJSListenerFunctions):
        (WebCore::JSInjectedScriptHost::getEventListeners):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::getJSListenerFunctions):
        (WebCore):
        (WebCore::V8InjectedScriptHost::getEventListenersCallback):
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::InjectedScriptHost):
        (WebCore::InjectedScriptHost::disconnect):
        (WebCore::InjectedScriptHost::getEventListenersImpl):
        (WebCore):
        * inspector/InjectedScriptHost.h:
        (WebCore):
        (WebCore::InjectedScriptHost::init):
        (InjectedScriptHost):
        * inspector/InjectedScriptHost.idl:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::getEventListeners):
        (WebCore):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):

2012-03-21  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rebaselined run-bindings-tests results.

        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
        * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
        * bindings/scripts/test/ObjC/DOMFloat64Array.mm:

2012-03-21  Ian Vollick  <vollick@chromium.org>

        [chromium] timing functions are getting incorrectly applied for accelerated css transitions
        https://bugs.webkit.org/show_bug.cgi?id=81692

        Reviewed by Adrienne Walker.

        Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction

        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:

2012-03-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [Qt] Cookie Jar blocks on fsync in SQLITE
        https://bugs.webkit.org/show_bug.cgi?id=81755

        Reviewed by Simon Hausmann.

        Set PRAGMA synchronous to OFF, which tells SQLITE to never fsync.

        * platform/qt/CookieJarQt.cpp:
        (WebCore::SharedCookieJarQt::ensureDatabaseTable):

2012-03-21  Ian Vollick  <vollick@chromium.org>

        [chromium] Animation events should only be used for synchronizing animation start times
        https://bugs.webkit.org/show_bug.cgi?id=81484

        Reviewed by Adrienne Walker.

        Tested in CCLayerTreeHostTestSynchronizeAnimationStartTimes

        Eliminated animation finished events. Animations will finish naturally on the
        main thread and the final values will be set.

        Animation started events are now also used to synchronize the main thread
        animations' start times with their impl thread equivalents, preventing skew.
        Until main thread animations receive their synchronized start times, they will
        apply their initial values (i.e., they will be paused at time zero). This
        guarantees that we will not jump to the animation's final value on the main
        thread while we wait for the synchronized start time.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::notifyAnimationStarted):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore):
        (LayerChromium):
        * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
        (WebCore::CCActiveAnimation::CCActiveAnimation):
        * platform/graphics/chromium/cc/CCActiveAnimation.h:
        (CCActiveAnimation):
        (WebCore::CCActiveAnimation::needsSynchronizedStartTime):
        (WebCore::CCActiveAnimation::setNeedsSynchronizedStartTime):
        * platform/graphics/chromium/cc/CCAnimationEvents.cpp: Removed.
        * platform/graphics/chromium/cc/CCAnimationEvents.h:
        (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
        (CCAnimationStartedEvent):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::animate):
        (WebCore::CCLayerAnimationController::notifyAnimationStarted):
        (WebCore):
        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
        (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
        (WebCore::CCLayerAnimationController::tickAnimations):
        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
        (CCLayerAnimationController):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::updateAnimations):
        (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):

2012-03-21  Zeno Albisser  <zeno@webkit.org>

        [Qt][WK2][Mac] MiniBrowser asserts at HashTable.h:480
        https://bugs.webkit.org/show_bug.cgi?id=81113

        The GLContext is created by QWindow/QSurface using
        QOpenGLContext which is implemented using NSOpenGL functions
        on mac. Therefore we should use QOpenGLContext as well when
        querying for the current context. AGL is not supposed
        to be paired with NSOpenGL.
        Altering the typedef for GLContext is fine, since
        the GLContext type is only used as a key in a map.

        Reviewed by Kenneth Rohde Christiansen.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (SharedGLData):
        (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):

2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapSnapshot: make _bfs twice as fast as the old version.
        https://bugs.webkit.org/show_bug.cgi?id=81756

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
        (WebInspector.HeapSnapshot.prototype._bfs):

2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=81705
        REGRESSION (r111416): fast/dom/prototype-inheritance-2.html is failing.

        Reviewed by Csaba Osztrogonác.

        No new tests.

        * bindings/js/JSDOMBinding.h: Needs passing globalObject to constructArray().
        (WebCore::jsArray):

2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] Upstreaming blackberry specific css file
        https://bugs.webkit.org/show_bug.cgi?id=81650

        Ustream BlackBerry specific css files, including:
        css/themeBlackBerry.css
        css/mediaControlsBlackBerry.css

        Reviewed by Nikolas Zimmermann.

        No new tests, this is the initial upstream patch
        for BlackBerry specific css files.

        * css/mediaControlsBlackBerry.css: Added.
        (audio):
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
        (video:-webkit-full-page-media::-webkit-media-controls-panel):
        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
        * css/themeBlackBerry.css: Added.
        (textarea):
        (input, textarea):
        (input[type="color"]):
        (select:focus):
        (select[size][multiple]):
        (select[size][multiple]:focus):

2012-03-21  Levi Weintraub  <leviw@chromium.org>

        Update LayoutUnit usage in descendants of RenderReplaced
        https://bugs.webkit.org/show_bug.cgi?id=80918

        Reviewed by Eric Seidel.

        Replaced elements have to flow in the new sub-pixel Render Tree, but since the rendering of these
        often takes place outside of WebCore (or in cases such as foreign objects, in WebCore after
        passing through platform code), care must be taken to determine the final rendered size and
        location before render time. This patch brings these classes up to the latest and greatest in the
        subpixellayout branch.

        See https://trac.webkit.org/wiki/LayoutUnit for more information.

        No new tests. No change in behavior.

        * rendering/RenderFrameBase.cpp:
        (WebCore::RenderFrameBase::layoutWithFlattening): Build Fix.
        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::createPlaceholder): Ditto.
        * rendering/RenderFullScreen.h:
        (RenderFullScreen): Ditto.
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::canvasSizeChanged): Ditto.
        * rendering/RenderIFrame.cpp:
        (WebCore::RenderIFrame::computeLogicalHeight): Ditto.
        (WebCore::RenderIFrame::computeLogicalWidth): Ditto.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Intrinsic sizes are always integers, since they
        originate outside of WebCore.
        (WebCore::RenderImage::paintIntoRect): Use pixel snapping to paint into an arbitrary rect.
        (WebCore::RenderImage::computeReplacedLogicalWidth): Intrinsic size is always integral -- rounding
        values to integers.
        * rendering/RenderImage.h:
        (RenderImage):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::videoBox):
        (WebCore::RenderVideo::paintReplaced): Painting at integer boundaries.
        * rendering/RenderWidget.cpp:
        (WebCore):
        (WebCore::roundedIntRect): Widgets are rendered outside of WebCore, so we always align them to
        integer boundaries. This means we can actually round the size of our ultimate content box. This
        function is implemented here specifically to prevent its misuse if we put it elsewhere.
        (WebCore::RenderWidget::setWidgetGeometry): We simplify layout by taking a LayoutRect and rounding
        it to its final location within this function.
        (WebCore::RenderWidget::updateWidgetGeometry): We keep things in LayoutUnits until handing off to
        setWidgetGeometry.
        (WebCore::RenderWidget::paint): Rounding the paint location before handing painting off to the
        widget itself.
        * rendering/RenderWidget.h:
        (RenderWidget):

2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapProfiler: support distance column in Summary View.
        https://bugs.webkit.org/show_bug.cgi?id=81675

        In many cases when a page leaked an object we see not only this object
        but the all objects it retains. It is quite difficult to find out which
        the object is the root of leak. It'd be simpler to sort the leaked
        objects by Distance column and track down the first one.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
        (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
        (WebInspector.HeapSnapshotConstructorNode):
        (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotConstructorsDataGrid):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):

2012-03-21  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Remove redundant code in SocketStreamHandler
        https://bugs.webkit.org/show_bug.cgi?id=81726

        Reviewed by George Staikos.

        No new tests needed. Just remove redundant code.

        * platform/network/blackberry/SocketStreamHandle.h:
        (SocketStreamHandle):
        * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:

2012-03-20  Eric Seidel  <eric@webkit.org>

        Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
        https://bugs.webkit.org/show_bug.cgi?id=80911

        Reviewed by Adam Barth.

        * CMakeLists.txt:
         - Look for headers in Source/WTF as well.

2012-03-20  Dana Jansens  <danakj@chromium.org>

        [chromium] Use origin transform to transform occlusion from surface content space to its target content space
        https://bugs.webkit.org/show_bug.cgi?id=81730

        Reviewed by Adrienne Walker.

        Unit test: CCOcclusionTrackerTestSurfaceOcclusionTranslatesToParent

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::transformSurfaceOpaqueRegion):
        (WebCore::::leaveToTargetRenderSurface):

2012-03-19  Shinya Kawanaka  <shinyak@chromium.org>

        [Crash] RenderMenuList::addChild() in Shadow DOM.
        https://bugs.webkit.org/show_bug.cgi?id=81201

        Reviewed by Dimitri Glazkov.

        <audio>, <video>, <meter>, <progress>, and <select> are implemented using
        Shadow DOM having HTMLContentElement. Their renderer children basically should not
        create a renderer unless they are on the upper shadow encapsulation boundary,
        which means they are the direct children of the shadow root.

        However, current implementation allows their renderer children to create a renderer
        even if they are on a lower shadow encapsulation boundary, which means
        they are distributed elements of HTMLContentElement.

        This patch makes there renderer children not to create a renderer if they are on a lower shadow
        encapsulation boudary.

        Tests: fast/dom/shadow/content-element-in-media-element.html
               fast/dom/shadow/content-element-in-meter-element.html
               fast/dom/shadow/content-element-in-progress-element.html
               fast/dom/shadow/content-element-in-select-element.html

        * dom/NodeRenderingContext.h:
        (NodeRenderingContext):
        (WebCore::NodeRenderingContext::isOnUpperEncapsulationBoundary):
        (WebCore):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::childShouldCreateRenderer):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::childShouldCreateRenderer):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::childShouldCreateRenderer):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::childShouldCreateRenderer):

2012-03-20  Dana Jansens  <danakj@chromium.org>

        [chromium] Store origin/screen space transforms for surface and replica in the surface
        https://bugs.webkit.org/show_bug.cgi?id=81296

        Reviewed by Adrienne Walker.

        Compute and save a number of transforms for render surfaces. The origin
        tranform for the replica into its target surface. The origin transform
        for the replica into the screen. And the origin transform for the surface
        into the screen.

        These transforms will allow us to detect occlusion of render surfaces,
        allowing us to cull (or partially-cull) the render surface quad during
        drawing.

        This also fixes a subtle bug in the transforms used by the damage
        tracking code.

        Unit test: CCLayerTreeHostCommonTest.verifyTransformsForSingleRenderSurface
                   CCLayerTreeHostCommonTest.verifyTransformsForReplica
                   CCLayerTreeHostCommonTest.verifyTransformsForRenderSurfaceHierarchy

        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::screenSpaceTransform):
        (WebCore::RenderSurfaceChromium::setScreenSpaceTransform):
        (RenderSurfaceChromium):
        (WebCore::RenderSurfaceChromium::replicaOriginTransform):
        (WebCore::RenderSurfaceChromium::setReplicaOriginTransform):
        (WebCore::RenderSurfaceChromium::replicaScreenSpaceTransform):
        (WebCore::RenderSurfaceChromium::setReplicaScreenSpaceTransform):
        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::CCDamageTracker::extendDamageForRenderSurface):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::damageInSurfaceSpace):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (WebCore::CCRenderSurface::setDrawTransform):
        (WebCore::CCRenderSurface::drawTransform):
        (WebCore::CCRenderSurface::setScreenSpaceTransform):
        (WebCore::CCRenderSurface::screenSpaceTransform):
        (CCRenderSurface):
        (WebCore::CCRenderSurface::setReplicaDrawTransform):
        (WebCore::CCRenderSurface::replicaDrawTransform):
        (WebCore::CCRenderSurface::setReplicaOriginTransform):
        (WebCore::CCRenderSurface::replicaOriginTransform):
        (WebCore::CCRenderSurface::setReplicaScreenSpaceTransform):
        (WebCore::CCRenderSurface::replicaScreenSpaceTransform):

2012-03-20  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] The option element should not be form associated element.
        https://bugs.webkit.org/show_bug.cgi?id=79764

        Reviewed by Kent Tamura.

        This patch changes base class of HTMLOptionELement to HTMLElement
        from HTMLFormControlElement for saving memory space and iteration
        time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
        and matching the HTML5 specification for ease of maintenance.

        This patch changes behavior of handling of CSS pseudo classes "invalid"
        and "valid". The "option" elements no longer use these CSS pseudo classes
        as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088

        Changes of TextIterator is lead by usage of isFormControlElement. This
        changes will be replaced with more meaningful predicate as part of
        https://bugs.webkit.org/show_bug.cgi?id=80381

        No new tests but updated select-live-pseudo-selectors.html test.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
        (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
        (WebCore::HTMLOptionElement::attach): Changeid base class.
        (WebCore::HTMLOptionElement::detach): Changed base class.
        (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
        (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
        (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
        * html/HTMLOptionElement.h:
        (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
        (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
        * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.

2012-03-20  Xiaomei Ji  <xji@chromium.org>

        Crash introduced in r110965.
        https://bugs.webkit.org/show_bug.cgi?id=81720

        Reviewed by Ryosuke Niwa.

        Since word break iterator just keeps a pointer to the UChar array given to the constructor,
        we need to allocate the UChar array deeper in the stack than the iterator.

        Test: editing/selection/move-by-word-visually-crash-test-5.html

        * editing/visible_units.cpp:
        (WebCore::wordBreakIteratorForMinOffsetBoundary):
        (WebCore::wordBreakIteratorForMaxOffsetBoundary):
        (WebCore::visualWordPosition):

2012-03-20  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Convert TouchFlingPlatformGestureCurve to a 2-D Bezier for better control of curve shape.
        https://bugs.webkit.org/show_bug.cgi?id=81713

        Reviewed by Dirk Pranke.

        Exisiting unit test revised to cover this change.

        Change the fling gesture animation curve to use a 2-D Bezier to obtain greater control
        over the shape of the curve. Also, change time scaling code to be logarithmic for more
        natural feel.

        * platform/TouchFlingPlatformGestureCurve.cpp:
        (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
        (WebCore::TouchFlingPlatformGestureCurve::apply):

2012-03-18  Tim Horton  <timothy_horton@apple.com>

        Infinite repaint loop with SVGImageCache and deferred repaint timers
        https://bugs.webkit.org/show_bug.cgi?id=78315
        <rdar://problem/10651634>

        Reviewed by Nikolas Zimmermann.

        Only defer image redraw on a timer if we're in layout. This breaks
        the repaint loop while still preventing us from drawing inside layout.

        Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
        preventing deferred repaint timers from being started during that process.

        No new tests, as the problem only occurs in a nonstandard configuration.

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::reset):
        (WebCore::FrameView::repaintContentRectangle):
        (WebCore::FrameView::endDeferredRepaints):
        (WebCore::FrameView::startDeferredRepaintTimer):
        (WebCore):
        (WebCore::FrameView::doDeferredRepaints):
        (WebCore::FrameView::deferredRepaintTimerFired):
        (WebCore::FrameView::beginDisableRepaints):
        (WebCore::FrameView::endDisableRepaints):
        * page/FrameView.h:
        (FrameView):
        (WebCore::FrameView::repaintsDisabled):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::shouldRepaint):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::drawSVGToImageBuffer):
        (WebCore::SVGImage::draw):
        (WebCore::SVGImage::frameView):
        (WebCore):
        * svg/graphics/SVGImage.h:
        (WebCore):
        * svg/graphics/SVGImageCache.cpp:
        (WebCore::SVGImageCache::imageContentChanged):
        (WebCore::SVGImageCache::redraw):
        (WebCore::SVGImageCache::redrawTimerFired):
        (WebCore):
        * svg/graphics/SVGImageCache.h:
        (SVGImageCache):

2012-03-20  Adam Klein  <adamk@chromium.org>

        Include fix for dom/xhtml test promised in r111449.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::replaceChild): Check against next instead of
        prev when deciding there's no work to do.

2012-03-20  Jon Lee  <jonlee@apple.com>

        Restrict access to notifications for unique origins and file URLs with no local file access
        https://bugs.webkit.org/show_bug.cgi?id=79704
        <rdar://problem/10912430>

        Reviewed by Adam Barth.

        Before checking or requesting permissions, we look at whether we can show notifications based on
        the security context. If not, we short circuit and do not forward the request to the client.

        * notifications/Notification.cpp:
        (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
        different logic for checking permissions than when checking permissions through the
        notification center.
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
        (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
        we asynchronously call the callback with that decision. Otherwise we ask the client.

        Add new variable in the notification center to keep track of pending callbacks when we short-circuit
        requestPermission().
        * notifications/NotificationCenter.h:
        (NotificationRequestCallback): Add new private class encapsulating the callback.
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
        (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
        know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
        to invoke the callback.
        (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
        (WebCore::NotificationCenter::NotificationRequest::startTimer):
        (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
        center.
        * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
        regardless of any restrictions that might otherwise cause toString() to return "null".
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
        the origin can show notifications. If the origin is unique, we never let it show. If the origin has
        universal access, we always let it show. Otherwise the client should be asked.
        (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
        (WebCore::SecurityOrigin::toRawString):

        Added FIXME's regarding the naming of enforceFilePathSeparation().
        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext): Also, tab reformatting.

        * WebCore.exp.in: Export toRawString().

2012-03-20  Mark Pilgrim  <pilgrim@chromium.org>

        Move webaudio to Modules/webaudio/
        https://bugs.webkit.org/show_bug.cgi?id=81541

        Reviewed by Kentaro Hara.

        No new tests, all existing tests pass.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Modules/webaudio: Added.
        * Modules/webaudio/AsyncAudioDecoder.cpp: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.cpp.
        * Modules/webaudio/AsyncAudioDecoder.h: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.h.
        * Modules/webaudio/AudioBasicProcessorNode.cpp: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.cpp.
        * Modules/webaudio/AudioBasicProcessorNode.h: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.h.
        * Modules/webaudio/AudioBuffer.cpp: Copied from Source/WebCore/webaudio/AudioBuffer.cpp.
        * Modules/webaudio/AudioBuffer.h: Copied from Source/WebCore/webaudio/AudioBuffer.h.
        * Modules/webaudio/AudioBuffer.idl: Copied from Source/WebCore/webaudio/AudioBuffer.idl.
        * Modules/webaudio/AudioBufferCallback.h: Copied from Source/WebCore/webaudio/AudioBufferCallback.h.
        * Modules/webaudio/AudioBufferCallback.idl: Copied from Source/WebCore/webaudio/AudioBufferCallback.idl.
        * Modules/webaudio/AudioBufferSourceNode.cpp: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.cpp.
        * Modules/webaudio/AudioBufferSourceNode.h: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.h.
        * Modules/webaudio/AudioBufferSourceNode.idl: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.idl.
        * Modules/webaudio/AudioChannelMerger.cpp: Copied from Source/WebCore/webaudio/AudioChannelMerger.cpp.
        * Modules/webaudio/AudioChannelMerger.h: Copied from Source/WebCore/webaudio/AudioChannelMerger.h.
        * Modules/webaudio/AudioChannelMerger.idl: Copied from Source/WebCore/webaudio/AudioChannelMerger.idl.
        * Modules/webaudio/AudioChannelSplitter.cpp: Copied from Source/WebCore/webaudio/AudioChannelSplitter.cpp.
        * Modules/webaudio/AudioChannelSplitter.h: Copied from Source/WebCore/webaudio/AudioChannelSplitter.h.
        * Modules/webaudio/AudioChannelSplitter.idl: Copied from Source/WebCore/webaudio/AudioChannelSplitter.idl.
        * Modules/webaudio/AudioContext.cpp: Copied from Source/WebCore/webaudio/AudioContext.cpp.
        * Modules/webaudio/AudioContext.h: Copied from Source/WebCore/webaudio/AudioContext.h.
        * Modules/webaudio/AudioContext.idl: Copied from Source/WebCore/webaudio/AudioContext.idl.
        * Modules/webaudio/AudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/AudioDestinationNode.cpp.
        * Modules/webaudio/AudioDestinationNode.h: Copied from Source/WebCore/webaudio/AudioDestinationNode.h.
        * Modules/webaudio/AudioDestinationNode.idl: Copied from Source/WebCore/webaudio/AudioDestinationNode.idl.
        * Modules/webaudio/AudioGain.h: Copied from Source/WebCore/webaudio/AudioGain.h.
        * Modules/webaudio/AudioGain.idl: Copied from Source/WebCore/webaudio/AudioGain.idl.
        * Modules/webaudio/AudioGainNode.cpp: Copied from Source/WebCore/webaudio/AudioGainNode.cpp.
        * Modules/webaudio/AudioGainNode.h: Copied from Source/WebCore/webaudio/AudioGainNode.h.
        * Modules/webaudio/AudioGainNode.idl: Copied from Source/WebCore/webaudio/AudioGainNode.idl.
        * Modules/webaudio/AudioListener.cpp: Copied from Source/WebCore/webaudio/AudioListener.cpp.
        * Modules/webaudio/AudioListener.h: Copied from Source/WebCore/webaudio/AudioListener.h.
        * Modules/webaudio/AudioListener.idl: Copied from Source/WebCore/webaudio/AudioListener.idl.
        * Modules/webaudio/AudioNode.cpp: Copied from Source/WebCore/webaudio/AudioNode.cpp.
        * Modules/webaudio/AudioNode.h: Copied from Source/WebCore/webaudio/AudioNode.h.
        * Modules/webaudio/AudioNode.idl: Copied from Source/WebCore/webaudio/AudioNode.idl.
        * Modules/webaudio/AudioNodeInput.cpp: Copied from Source/WebCore/webaudio/AudioNodeInput.cpp.
        * Modules/webaudio/AudioNodeInput.h: Copied from Source/WebCore/webaudio/AudioNodeInput.h.
        * Modules/webaudio/AudioNodeOutput.cpp: Copied from Source/WebCore/webaudio/AudioNodeOutput.cpp.
        * Modules/webaudio/AudioNodeOutput.h: Copied from Source/WebCore/webaudio/AudioNodeOutput.h.
        * Modules/webaudio/AudioPannerNode.cpp: Copied from Source/WebCore/webaudio/AudioPannerNode.cpp.
        * Modules/webaudio/AudioPannerNode.h: Copied from Source/WebCore/webaudio/AudioPannerNode.h.
        * Modules/webaudio/AudioPannerNode.idl: Copied from Source/WebCore/webaudio/AudioPannerNode.idl.
        * Modules/webaudio/AudioParam.cpp: Copied from Source/WebCore/webaudio/AudioParam.cpp.
        * Modules/webaudio/AudioParam.h: Copied from Source/WebCore/webaudio/AudioParam.h.
        * Modules/webaudio/AudioParam.idl: Copied from Source/WebCore/webaudio/AudioParam.idl.
        * Modules/webaudio/AudioParamTimeline.cpp: Copied from Source/WebCore/webaudio/AudioParamTimeline.cpp.
        * Modules/webaudio/AudioParamTimeline.h: Copied from Source/WebCore/webaudio/AudioParamTimeline.h.
        * Modules/webaudio/AudioProcessingEvent.cpp: Copied from Source/WebCore/webaudio/AudioProcessingEvent.cpp.
        * Modules/webaudio/AudioProcessingEvent.h: Copied from Source/WebCore/webaudio/AudioProcessingEvent.h.
        * Modules/webaudio/AudioProcessingEvent.idl: Copied from Source/WebCore/webaudio/AudioProcessingEvent.idl.
        * Modules/webaudio/AudioSourceNode.h: Copied from Source/WebCore/webaudio/AudioSourceNode.h.
        * Modules/webaudio/AudioSourceNode.idl: Copied from Source/WebCore/webaudio/AudioSourceNode.idl.
        * Modules/webaudio/BiquadDSPKernel.cpp: Copied from Source/WebCore/webaudio/BiquadDSPKernel.cpp.
        * Modules/webaudio/BiquadDSPKernel.h: Copied from Source/WebCore/webaudio/BiquadDSPKernel.h.
        * Modules/webaudio/BiquadFilterNode.cpp: Copied from Source/WebCore/webaudio/BiquadFilterNode.cpp.
        * Modules/webaudio/BiquadFilterNode.h: Copied from Source/WebCore/webaudio/BiquadFilterNode.h.
        * Modules/webaudio/BiquadFilterNode.idl: Copied from Source/WebCore/webaudio/BiquadFilterNode.idl.
        * Modules/webaudio/BiquadProcessor.cpp: Copied from Source/WebCore/webaudio/BiquadProcessor.cpp.
        * Modules/webaudio/BiquadProcessor.h: Copied from Source/WebCore/webaudio/BiquadProcessor.h.
        * Modules/webaudio/ConvolverNode.cpp: Copied from Source/WebCore/webaudio/ConvolverNode.cpp.
        * Modules/webaudio/ConvolverNode.h: Copied from Source/WebCore/webaudio/ConvolverNode.h.
        * Modules/webaudio/ConvolverNode.idl: Copied from Source/WebCore/webaudio/ConvolverNode.idl.
        * Modules/webaudio/DOMWindowWebAudio.idl: Copied from Source/WebCore/webaudio/DOMWindowWebAudio.idl.
        * Modules/webaudio/DefaultAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.cpp.
        * Modules/webaudio/DefaultAudioDestinationNode.h: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.h.
        * Modules/webaudio/DelayDSPKernel.cpp: Copied from Source/WebCore/webaudio/DelayDSPKernel.cpp.
        * Modules/webaudio/DelayDSPKernel.h: Copied from Source/WebCore/webaudio/DelayDSPKernel.h.
        * Modules/webaudio/DelayNode.cpp: Copied from Source/WebCore/webaudio/DelayNode.cpp.
        * Modules/webaudio/DelayNode.h: Copied from Source/WebCore/webaudio/DelayNode.h.
        * Modules/webaudio/DelayNode.idl: Copied from Source/WebCore/webaudio/DelayNode.idl.
        * Modules/webaudio/DelayProcessor.cpp: Copied from Source/WebCore/webaudio/DelayProcessor.cpp.
        * Modules/webaudio/DelayProcessor.h: Copied from Source/WebCore/webaudio/DelayProcessor.h.
        * Modules/webaudio/DynamicsCompressorNode.cpp: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.cpp.
        * Modules/webaudio/DynamicsCompressorNode.h: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.h.
        * Modules/webaudio/DynamicsCompressorNode.idl: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.idl.
        * Modules/webaudio/HighPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/HighPass2FilterNode.cpp.
        * Modules/webaudio/HighPass2FilterNode.h: Copied from Source/WebCore/webaudio/HighPass2FilterNode.h.
        * Modules/webaudio/HighPass2FilterNode.idl: Copied from Source/WebCore/webaudio/HighPass2FilterNode.idl.
        * Modules/webaudio/JavaScriptAudioNode.cpp: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.cpp.
        * Modules/webaudio/JavaScriptAudioNode.h: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.h.
        * Modules/webaudio/JavaScriptAudioNode.idl: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.idl.
        * Modules/webaudio/LowPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/LowPass2FilterNode.cpp.
        * Modules/webaudio/LowPass2FilterNode.h: Copied from Source/WebCore/webaudio/LowPass2FilterNode.h.
        * Modules/webaudio/LowPass2FilterNode.idl: Copied from Source/WebCore/webaudio/LowPass2FilterNode.idl.
        * Modules/webaudio/MediaElementAudioSourceNode.cpp: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.cpp.
        * Modules/webaudio/MediaElementAudioSourceNode.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
        * Modules/webaudio/MediaElementAudioSourceNode.idl: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.idl.
        * Modules/webaudio/OfflineAudioCompletionEvent.cpp: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.cpp.
        * Modules/webaudio/OfflineAudioCompletionEvent.h: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.h.
        * Modules/webaudio/OfflineAudioCompletionEvent.idl: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.idl.
        * Modules/webaudio/OfflineAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp.
        * Modules/webaudio/OfflineAudioDestinationNode.h: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.h.
        * Modules/webaudio/RealtimeAnalyser.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyser.cpp.
        * Modules/webaudio/RealtimeAnalyser.h: Copied from Source/WebCore/webaudio/RealtimeAnalyser.h.
        * Modules/webaudio/RealtimeAnalyserNode.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.cpp.
        * Modules/webaudio/RealtimeAnalyserNode.h: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.h.
        * Modules/webaudio/RealtimeAnalyserNode.idl: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.idl.
        * Modules/webaudio/WaveShaperDSPKernel.cpp: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.cpp.
        * Modules/webaudio/WaveShaperDSPKernel.h: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.h.
        * Modules/webaudio/WaveShaperNode.cpp: Copied from Source/WebCore/webaudio/WaveShaperNode.cpp.
        * Modules/webaudio/WaveShaperNode.h: Copied from Source/WebCore/webaudio/WaveShaperNode.h.
        * Modules/webaudio/WaveShaperNode.idl: Copied from Source/WebCore/webaudio/WaveShaperNode.idl.
        * Modules/webaudio/WaveShaperProcessor.cpp: Copied from Source/WebCore/webaudio/WaveShaperProcessor.cpp.
        * Modules/webaudio/WaveShaperProcessor.h: Copied from Source/WebCore/webaudio/WaveShaperProcessor.h.
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.xcodeproj/project.pbxproj:
        * webaudio/AsyncAudioDecoder.cpp: Removed.
        * webaudio/AsyncAudioDecoder.h: Removed.
        * webaudio/AudioBasicProcessorNode.cpp: Removed.
        * webaudio/AudioBasicProcessorNode.h: Removed.
        * webaudio/AudioBuffer.cpp: Removed.
        * webaudio/AudioBuffer.h: Removed.
        * webaudio/AudioBuffer.idl: Removed.
        * webaudio/AudioBufferCallback.h: Removed.
        * webaudio/AudioBufferCallback.idl: Removed.
        * webaudio/AudioBufferSourceNode.cpp: Removed.
        * webaudio/AudioBufferSourceNode.h: Removed.
        * webaudio/AudioBufferSourceNode.idl: Removed.
        * webaudio/AudioChannelMerger.cpp: Removed.
        * webaudio/AudioChannelMerger.h: Removed.
        * webaudio/AudioChannelMerger.idl: Removed.
        * webaudio/AudioChannelSplitter.cpp: Removed.
        * webaudio/AudioChannelSplitter.h: Removed.
        * webaudio/AudioChannelSplitter.idl: Removed.
        * webaudio/AudioContext.cpp: Removed.
        * webaudio/AudioContext.h: Removed.
        * webaudio/AudioContext.idl: Removed.
        * webaudio/AudioDestinationNode.cpp: Removed.
        * webaudio/AudioDestinationNode.h: Removed.
        * webaudio/AudioDestinationNode.idl: Removed.
        * webaudio/AudioGain.h: Removed.
        * webaudio/AudioGain.idl: Removed.
        * webaudio/AudioGainNode.cpp: Removed.
        * webaudio/AudioGainNode.h: Removed.
        * webaudio/AudioGainNode.idl: Removed.
        * webaudio/AudioListener.cpp: Removed.
        * webaudio/AudioListener.h: Removed.
        * webaudio/AudioListener.idl: Removed.
        * webaudio/AudioNode.cpp: Removed.
        * webaudio/AudioNode.h: Removed.
        * webaudio/AudioNode.idl: Removed.
        * webaudio/AudioNodeInput.cpp: Removed.
        * webaudio/AudioNodeInput.h: Removed.
        * webaudio/AudioNodeOutput.cpp: Removed.
        * webaudio/AudioNodeOutput.h: Removed.
        * webaudio/AudioPannerNode.cpp: Removed.
        * webaudio/AudioPannerNode.h: Removed.
        * webaudio/AudioPannerNode.idl: Removed.
        * webaudio/AudioParam.cpp: Removed.
        * webaudio/AudioParam.h: Removed.
        * webaudio/AudioParam.idl: Removed.
        * webaudio/AudioParamTimeline.cpp: Removed.
        * webaudio/AudioParamTimeline.h: Removed.
        * webaudio/AudioProcessingEvent.cpp: Removed.
        * webaudio/AudioProcessingEvent.h: Removed.
        * webaudio/AudioProcessingEvent.idl: Removed.
        * webaudio/AudioSourceNode.h: Removed.
        * webaudio/AudioSourceNode.idl: Removed.
        * webaudio/BiquadDSPKernel.cpp: Removed.
        * webaudio/BiquadDSPKernel.h: Removed.
        * webaudio/BiquadFilterNode.cpp: Removed.
        * webaudio/BiquadFilterNode.h: Removed.
        * webaudio/BiquadFilterNode.idl: Removed.
        * webaudio/BiquadProcessor.cpp: Removed.
        * webaudio/BiquadProcessor.h: Removed.
        * webaudio/ConvolverNode.cpp: Removed.
        * webaudio/ConvolverNode.h: Removed.
        * webaudio/ConvolverNode.idl: Removed.
        * webaudio/DOMWindowWebAudio.idl: Removed.
        * webaudio/DefaultAudioDestinationNode.cpp: Removed.
        * webaudio/DefaultAudioDestinationNode.h: Removed.
        * webaudio/DelayDSPKernel.cpp: Removed.
        * webaudio/DelayDSPKernel.h: Removed.
        * webaudio/DelayNode.cpp: Removed.
        * webaudio/DelayNode.h: Removed.
        * webaudio/DelayNode.idl: Removed.
        * webaudio/DelayProcessor.cpp: Removed.
        * webaudio/DelayProcessor.h: Removed.
        * webaudio/DynamicsCompressorNode.cpp: Removed.
        * webaudio/DynamicsCompressorNode.h: Removed.
        * webaudio/DynamicsCompressorNode.idl: Removed.
        * webaudio/HighPass2FilterNode.cpp: Removed.
        * webaudio/HighPass2FilterNode.h: Removed.
        * webaudio/HighPass2FilterNode.idl: Removed.
        * webaudio/JavaScriptAudioNode.cpp: Removed.
        * webaudio/JavaScriptAudioNode.h: Removed.
        * webaudio/JavaScriptAudioNode.idl: Removed.
        * webaudio/LowPass2FilterNode.cpp: Removed.
        * webaudio/LowPass2FilterNode.h: Removed.
        * webaudio/LowPass2FilterNode.idl: Removed.
        * webaudio/MediaElementAudioSourceNode.cpp: Removed.
        * webaudio/MediaElementAudioSourceNode.h: Removed.
        * webaudio/MediaElementAudioSourceNode.idl: Removed.
        * webaudio/OfflineAudioCompletionEvent.cpp: Removed.
        * webaudio/OfflineAudioCompletionEvent.h: Removed.
        * webaudio/OfflineAudioCompletionEvent.idl: Removed.
        * webaudio/OfflineAudioDestinationNode.cpp: Removed.
        * webaudio/OfflineAudioDestinationNode.h: Removed.
        * webaudio/RealtimeAnalyser.cpp: Removed.
        * webaudio/RealtimeAnalyser.h: Removed.
        * webaudio/RealtimeAnalyserNode.cpp: Removed.
        * webaudio/RealtimeAnalyserNode.h: Removed.
        * webaudio/RealtimeAnalyserNode.idl: Removed.
        * webaudio/WaveShaperDSPKernel.cpp: Removed.
        * webaudio/WaveShaperDSPKernel.h: Removed.
        * webaudio/WaveShaperNode.cpp: Removed.
        * webaudio/WaveShaperNode.h: Removed.
        * webaudio/WaveShaperNode.idl: Removed.
        * webaudio/WaveShaperProcessor.cpp: Removed.
        * webaudio/WaveShaperProcessor.h: Removed.

2012-03-20  Anders Carlsson  <andersca@apple.com>

        Add a per-ScrollableArea tile cache base class
        https://bugs.webkit.org/show_bug.cgi?id=81694

        Reviewed by Sam Weinig.

        Add an abstract base class, TiledBacking, that can be used to inform tile caches about changed
        state in scrollable areas (such as the currently visible rect, whether the page is active or not, etc).

        Make TileCache inherit from TiledBacking and port updating the visible rect over to this new mechanism.

        * WebCore.xcodeproj/project.pbxproj:
        * page/FrameView.cpp:
        (WebCore::FrameView::tiledBacking):
        (WebCore):
        * page/FrameView.h:
        (FrameView):
        * platform/ScrollableArea.h:
        (WebCore):
        (ScrollableArea):
        (WebCore::ScrollableArea::tiledBacking):
        * platform/graphics/GraphicsLayer.h:
        (WebCore):
        (WebCore::GraphicsLayer::tiledBacking):
        * platform/graphics/TiledBacking.h: Added.
        (WebCore):
        (TiledBacking):
        (WebCore::TiledBacking::~TiledBacking):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::tiledBacking):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):
        * platform/graphics/ca/PlatformCALayer.h:
        (PlatformCALayer):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::tiledBacking):
        * platform/graphics/ca/mac/TileCache.h:
        (TileCache):
        * platform/graphics/ca/mac/WebTileCacheLayer.h:
        (WebCore):
        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer WebCore::]):
        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        (PlatformCALayer::tiledBacking):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidScroll):

2012-03-20  Xiaomei Ji  <xji@chromium.org>

        visual word movement: crashes on CSS generated content.
        https://bugs.webkit.org/show_bug.cgi?id=81581

        Reviewed by Ryosuke Niwa.

        Check for null pointer when referencing box->renderer()->node() in previousRootInlineBox and nextRootInlineBox.

        Test: editing/selection/move-by-word-visually-crash-test-css-generated-content.html

        * editing/visible_units.cpp:
        (WebCore::previousRootInlineBox):
        (WebCore::nextRootInlineBox):

2012-03-20  Luke Macpherson  <macpherson@chromium.org>

        Use CSSPrimitiveValue::convertToLength() to handle CSSPropertyWebkitBoxReflect and in createGridTrackBreadth.
        https://bugs.webkit.org/show_bug.cgi?id=81633

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r111442.
        http://trac.webkit.org/changeset/111442
        https://bugs.webkit.org/show_bug.cgi?id=81711

        Causes crashes and image mismatches in canvas tests (Requested
        by leviw on #webkit).

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
        (WebCore::HTMLCanvasElement::reset):
        (WebCore::HTMLCanvasElement::createImageBuffer):
        (WebCore::HTMLCanvasElement::clearCopiedImage):
        * html/HTMLCanvasElement.h:
        (HTMLCanvasElement):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        (WebCore::CanvasRenderingContext2D::unwindStateStack):
        (WebCore::CanvasRenderingContext2D::reset):

2012-03-20  Adrienne Walker  <enne@google.com>

        RenderLayerCompositor doesn't properly clip graphics layer sizes
        https://bugs.webkit.org/show_bug.cgi?id=80372

        Reviewed by Simon Fraser.

        To find the bounds for a composited layer, calculateCompositedBounds
        iterates through all non-composited child layers using z-order and
        normal flow lists. This does not preserve clipping from ancestor
        layers, because a clipping ancestor layer can end up as a sibling to
        its clipped descendent because it is not a stacking context.

        Fix by explicitly checking cached clip roots.

        Test: compositing/clip-child-by-non-stacking-ancestor.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::localClipRect):
        (WebCore):
        * rendering/RenderLayer.h:
        (RenderLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):

2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r111445 and r111446.
        http://trac.webkit.org/changeset/111445
        http://trac.webkit.org/changeset/111446
        https://bugs.webkit.org/show_bug.cgi?id=81708

        It broke Qt and GTK build intentionally (Requested by Ossy on
        #webkit).

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext):
        * notifications/Notification.cpp:
        (WebCore::Notification::Notification):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::checkPermission):
        (WebCore::NotificationCenter::requestPermission):
        * notifications/NotificationCenter.h:
        (NotificationCenter):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::toString):
        * page/SecurityOrigin.h:
        (SecurityOrigin):

2012-03-20  Adam Klein  <adamk@chromium.org>

        Refactor ContainerNode::replaceChild to match other mutation methods and share code
        https://bugs.webkit.org/show_bug.cgi?id=81579

        Reviewed by Ojan Vafai.

        Originally landed as r111310, this fixes a bug in replaceChild
        introduced when switching to the insert-before logic.

        A future change will make use of the consistency among insertBefore/appendChild/replaceChild
        to handle insertion of DocumentFragments more cleanly.

        No new tests, no change in behavior.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
        Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
        (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
        (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.

2012-03-20  Jon Lee  <jonlee@apple.com>

        Restrict access to notifications for unique origins and file URLs with no local file access
        https://bugs.webkit.org/show_bug.cgi?id=79704
        <rdar://problem/10912430>

        Reviewed by Adam Barth.

        Before checking or requesting permissions, we look at whether we can show notifications based on
        the security context. If not, we short circuit and do not forward the request to the client.

        * notifications/Notification.cpp:
        (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
        different logic for checking permissions than when checking permissions through the
        notification center.
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
        (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
        we asynchronously call the callback with that decision. Otherwise we ask the client.

        Add new variable in the notification center to keep track of pending callbacks when we short-circuit
        requestPermission().
        * notifications/NotificationCenter.h:
        (NotificationRequestCallback): Add new private class encapsulating the callback.
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
        (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
        know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
        to invoke the callback.
        (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
        (WebCore::NotificationCenter::NotificationRequest::startTimer):
        (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
        center.
        * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
        regardless of any restrictions that might otherwise cause toString() to return "null".
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
        the origin can show notifications. If the origin is unique, we never let it show. If the origin has
        universal access, we always let it show. Otherwise the client should be asked.
        (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
        (WebCore::SecurityOrigin::toRawString):

        Added FIXME's regarding the naming of enforceFilePathSeparation().
        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext): Also, tab reformatting.

        * WebCore.exp.in: Export toRawString().

2012-03-20  Andreas Kling  <kling@webkit.org>

        Remove unused CSSPrimitiveValue constructors.
        <http://webkit.org/b/81695>

        Reviewed by Antti Koivisto.

        Kill off CSSPrimitiveValue constructors that aren't used anywhere.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSPrimitiveValue.h:
        (CSSPrimitiveValueBase):
        (WebCore::CSSPrimitiveValueBase::CSSPrimitiveValueBase):
        (CSSPrimitiveValue):
        * css/CSSPrimitiveValueMappings.h:

2012-03-20  Sami Kyostila  <skyostil@chromium.org>

        Reuse buffer allocation if canvas size does not change
        https://bugs.webkit.org/show_bug.cgi?id=80871

        Reviewed by Stephen White.

        If the user changes the width or height attributes of a canvas element,
        the contents of the canvas should be cleared and the context state
        should be reset. This has become a common idiom to clear the canvas
        "efficiently" at the start of a frame.

        Previously, this code path triggered a full reallocation of the image
        buffer backing the canvas, leading to reduced performance. This patch
        implements an optimization where we reuse the previous image buffer
        allocation if the size of the canvas did not change. Also, instead of
        clearing the canvas every time its dimensions are touched, we only clear
        if anything has been drawn into the canvas since it was previously
        cleared.

        Note that for now this optimization only applies for 2D canvases,
        since it is not entirely clear how touching the dimensions of a WebGL
        canvas should work.

        Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
              existing layout tests for canvas resetting.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
        (WebCore::HTMLCanvasElement::reset):
        (WebCore::HTMLCanvasElement::createImageBuffer):
        (WebCore::HTMLCanvasElement::clearImageBuffer):
        (WebCore):
        (WebCore::HTMLCanvasElement::clearCopiedImage):
        * html/HTMLCanvasElement.h:
        (HTMLCanvasElement):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Save the
        initial graphics context state so we can restore it without creating a
        new context.
        (WebCore::CanvasRenderingContext2D::unwindStateStack):
        (WebCore::CanvasRenderingContext2D::reset): No need to notify the
        compositor when the context is reset, because clearing the image buffer
        does the same thing. We can also skip the notification if we did not
        have an image buffer at the time of the reset, because the reset will
        not have any visual impact in this case. Finally, if the canvas size
        did change, the notification is also unnecessary because of the call
        to RenderObject::repaint() from HTMLCanvasElement::reset().

2012-03-20  Dana Jansens  <danakj@chromium.org>

        [chromium] Allow us to disable overdraw metrics when tracing is off
        https://bugs.webkit.org/show_bug.cgi?id=81431

        Reviewed by Adrienne Walker.

        This change allows us to disable overdraw metrics conditionally in the
        future with a one-line change in each LayerTreeHost class.

        Unit test: CCQuadCullerTest.verifyWithoutMetrics

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::::CCOcclusionTrackerBase):
        (WebCore):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
        (CCOcclusionTrackerBase):
        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
        (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
        (WebCore::CCOverdrawMetrics::didCull):
        (WebCore::CCOverdrawMetrics::didDraw):
        (WebCore::CCOverdrawMetrics::recordMetrics):
        * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
        (WebCore::CCOverdrawMetrics::create):
        (CCOverdrawMetrics):

2012-03-20  Robert Hogan  <robert@webkit.org>

        Use-after-free of continuation in RenderBlock::paintContinuationOutlines()
        https://bugs.webkit.org/show_bug.cgi?id=81276

        Reviewed by David Hyatt.

        Test: fast/css/relative-positioned-block-crash.html

        https://trac.webkit.org/changeset/108185/ allowed anonymous blocks to get their own layer (when they're
        relatively positioned). This broke the dependency in addContinuationWithOutline() on the owner of the continuation
        table and the renderer getting added to it always being in the same layer. When they're not in the same layer
        there's no guarantee that the owner of the continuation table will get painted again and so avoid any stale pointers
        in its continuation table should any of the renderers in there get destroyed.

        Fix this for now by only adding renderers to the containing block's continuation table if we don't have our own layer.
        This fix causes fast/inline/continuation-outlines-with-layers.html to regress as it uses blocks inside relatively positioned
        inlines, so skip it on all platforms pending a medium-term fix.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):

2012-03-20  Adele Peterson  <adele@apple.com>

        "Attempt to insert nil value " exception when calling attributed string APIs on content with a custom font
        https://bugs.webkit.org/show_bug.cgi?id=81630
        <rdar://problem/10650660> 

        Reviewed by Alexey Proskuryakov. 

        Test: TestWebKitAPI/Tests/mac/AttributedString.mm 

        If content is using a custom font, then the platform font will be nil and needs to be nil checked.

        * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):

2012-03-20  Julien Chaffraix  <jchaffraix@webkit.org>

        Make distributeExtraLogicalHeightToRows return the consumed logical height
        https://bugs.webkit.org/show_bug.cgi?id=81678

        Reviewed by Tony Chang.

        Small refactoring, no change in behavior.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::distributeExtraLogicalHeight):
        Remove the consumed logical height from the available height.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
        (WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
        (WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
        Changed those method to not return anything but remove from the available width.

        (WebCore::RenderTableSection::distributeExtraLogicalHeightToRows):
        Return the consumed logical height.

        * rendering/RenderTableSection.h:
        Updated the previous distribute functions signature and the comment about
        the returned value from distributeExtraLogicalHeightToRows.

2012-03-20  Jacky Jiang  <zhajiang@rim.com>

        [BlackBerry] Dijit crash WebCore::CookieManager::getRawCookies
        https://bugs.webkit.org/show_bug.cgi?id=81686

        Reviewed by Rob Buis.

        HTML plugin element with an empty src caused an ASSERT failure on debug
        build and a crash on release build.
        When getting cookie, url can be null, so we need to check for it to
        avoid the crash.

        No new tests as this is covered by
        LayoutTests/fast/loader/empty-embed-src-attribute.html.

        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::initializePlatformRequest):

2012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Tabbed pane drop down should be sorted.
        https://bugs.webkit.org/show_bug.cgi?id=81680

        Reviewed by Pavel Feldman.

        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype._populateDropDownFromIndex.compareFunction):
        (WebInspector.TabbedPane.prototype._populateDropDownFromIndex):

2012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Open resource dialog scripts list should be sorted.
        https://bugs.webkit.org/show_bug.cgi?id=81682

        Reviewed by Pavel Feldman.

        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.OpenResourceDialog.compareFunction):
        (WebInspector.OpenResourceDialog):

2012-03-20  Dana Jansens  <danakj@chromium.org>

        [chromium] Use opaque contents for paint culling
        https://bugs.webkit.org/show_bug.cgi?id=81676

        Reviewed by Adrienne Walker.

        UnitTest: CCLayerTreeHostTestContentLayerOcclusion

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):

2012-03-20  Dan Bernstein  <mitz@apple.com>

        Build fix after r111419.

        * dom/WebKitNamedFlow.cpp:
        * dom/WebKitNamedFlow.h:

2012-03-20  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r111229): css1/basic/inheritance.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=81684

        Reverted r111229.

        Rubber-stamped by Dave Hyatt.

        * dom/Document.cpp:
        (WebCore::Document::webkitGetFlowByName):
        * dom/Document.h:
        (Document):
        * dom/Element.cpp:
        (WebCore::Element::detach):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        * dom/WebKitNamedFlow.cpp:
        (WebCore):
        * dom/WebKitNamedFlow.h:
        (WebCore):
        (WebKitNamedFlow):
        * dom/WebKitNamedFlow.idl:

2012-03-20  Vineet Chaudhary  <rgf748@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=80696
        Remove custom bindings for attribute type Array.

        Reviewed by Kentaro Hara.

        No new tests.

        * bindings/js/JSConsoleCustom.cpp: Removed custom function.
        (WebCore):
        * bindings/js/JSDOMBinding.h: Added template jsArray and toNativeArray.
        (WebCore):
        (WebCore::jsArray):
        (WebCore::toNativeArray):
        * bindings/scripts/CodeGenerator.pm: Modified codegenerators to generate appropriate code.
        (GetArrayType): Added GetArrayType to get return type of attribute interface.
        * bindings/scripts/CodeGeneratorGObject.pm: Modified codegenerators to generate appropriate code.
        (SkipAttribute):
        * bindings/scripts/CodeGeneratorJS.pm: Modified codegenerators to generate appropriate code.
        (AddIncludesForType):
        (JSValueToNative):
        (NativeToJSValue):
        * bindings/scripts/CodeGeneratorV8.pm: Modified codegenerators to generate appropriate code.
        (GenerateNormalAttrGetter):
        (GenerateNormalAttrSetter):
        (JSValueToNative):
        (NativeToJSValue):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated results from running binding tests.
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        (WebCore::jsTestObjSequenceAttr):
        (WebCore::setJSTestObjSequenceAttr):
        (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
        (WebCore::TestObjInternal::sequenceAttrAttrGetter):
        (WebCore::TestObjInternal::sequenceAttrAttrSetter):
        (WebCore::TestObjInternal::methodReturningSequenceCallback):
        * bindings/v8/V8Binding.h: Added template v8Array and toNativeArray.
        (WebCore):
        (WebCore::v8Array):
        (WebCore::toNativeArray):
        * bindings/v8/custom/V8ConsoleCustom.cpp: Removed custom function.
        (WebCore):
        * page/Console.idl: Replaced attribute type Array to sequence<SriptProfile> to remove
          custom bindings.

2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r111310.
        http://trac.webkit.org/changeset/111310
        https://bugs.webkit.org/show_bug.cgi?id=81683

        Broke layout test
        dom/xhtml/level3/core/nodereplacechild30.xhtml (Requested by
        aklein on #webkit).

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAddChild):

2012-03-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Convert hasSpellingMarker to use Internals interface.
        https://bugs.webkit.org/show_bug.cgi?id=81300

        Reviewed by Ryosuke Niwa.

        Remove hasSpellingMarker functions, because it is able to work in the
        cross-port way through the Internals interface.

        No new tests, since we are improving here the infra-structure
        for testing a specific method.

        * testing/Internals.cpp:
        (WebCore::Internals::hasSpellingMarker):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-20  Dan Bernstein  <mitz@apple.com>

        Build fix.

        * history/PageCache.cpp: Fixed an unused function warning introduced in r111391.

2012-03-20  Konrad Piascik  <kpiascik@rim.com>

        (r110063) m_mouseDownMayStartDrag is used without being behind the ENABLE(DRAG_SUPPORT) macro
        https://bugs.webkit.org/show_bug.cgi?id=81666

        Reviewed by Rob Buis.

        Compiled with feature disabled and built.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectCursor):

2012-03-20  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Tune fling physics curve. [Not for review yet]
        https://bugs.webkit.org/show_bug.cgi?id=81398

        Reviewed by James Robinson.

        Existing tests updated.

        Tune physics of curve for better feel.

        * platform/TouchFlingPlatformGestureCurve.cpp:
        (WebCore::TouchFlingPlatformGestureCurve::apply):

2012-03-20  Alexis Menard  <alexis.menard@openbossa.org>

        Implement a fast path when setting CSS properties with keywords from JS.
        https://bugs.webkit.org/show_bug.cgi?id=80874

        Reviewed by Antti Koivisto.

        The idea is to avoid the creation of the CSSParser instance and to run the parser on
        a string we know it should be a keyword. When JS calls parseValue we try to check if we can
        use the fast path and if the keyword is accepted then we just add it to the declaration directly.
        For the sake of maintenance the parseValue function used by CSSGrammar.y is sharing some code with
        the fast path (keyword matching mostly).

        This patch improves this use case by 20%. Setting keyword properties from JS is used a lot in
        Google Maps for example (when zooming or panning).

        No new tests : it's a performance improvement, there shouldn't be any behavior change.

        * css/CSSParser.cpp:
        (WebCore):
        (WebCore::isValidKeywordPropertyAndValue):
        (WebCore::isKeywordPropertyID):
        (WebCore::parseKeywordValue):
        (WebCore::CSSParser::parseValue):

2012-03-20  Ian Vollick  <vollick@chromium.org>

        [chromium] Infrastructure to allow animating layers to be only partially updated
        https://bugs.webkit.org/show_bug.cgi?id=81106

        Reviewed by James Robinson

        Merged the controller tests in CCLayerAnimationControllerTest

        * WebCore.gypi:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (GraphicsLayerChromium):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::pushPropertiesTo):
        (WebCore::LayerChromium::setOpacityFromAnimation):
        (WebCore):
        (WebCore::LayerChromium::setTransformFromAnimation):
        (WebCore::LayerChromium::addAnimation):
        (WebCore::LayerChromium::pauseAnimation):
        (WebCore::LayerChromium::removeAnimation):
        (WebCore::LayerChromium::suspendAnimations):
        (WebCore::LayerChromium::resumeAnimations):
        (WebCore::LayerChromium::setLayerAnimationController):
        (WebCore::LayerChromium::hasActiveAnimation):
        (WebCore::LayerChromium::setAnimationEvent):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore):
        (LayerChromium):
        (WebCore::LayerChromium::id):
        (WebCore::LayerChromium::opacity):
        (WebCore::LayerChromium::transform):
        (WebCore::LayerChromium::bounds):
        * platform/graphics/chromium/cc/CCActiveAnimation.h:
        (CCActiveAnimation):
        * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
        (WebCore::CCAnimationEvent::CCAnimationEvent):
        (WebCore::CCAnimationEvent::toFloatAnimationFinishedEvent):
        (WebCore::CCAnimationEvent::toTransformAnimationFinishedEvent):
        (WebCore::CCAnimationStartedEvent::create):
        (WebCore):
        (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
        (WebCore::CCFloatAnimationFinishedEvent::create):
        (WebCore::CCFloatAnimationFinishedEvent::CCFloatAnimationFinishedEvent):
        (WebCore::CCFloatAnimationFinishedEvent::~CCFloatAnimationFinishedEvent):
        (WebCore::CCFloatAnimationFinishedEvent::type):
        (WebCore::CCTransformAnimationFinishedEvent::create):
        (WebCore::CCTransformAnimationFinishedEvent::CCTransformAnimationFinishedEvent):
        (WebCore::CCTransformAnimationFinishedEvent::~CCTransformAnimationFinishedEvent):
        (WebCore::CCTransformAnimationFinishedEvent::type):
        * platform/graphics/chromium/cc/CCAnimationEvents.h:
        (WebCore):
        (WebCore::CCAnimationEvent::targetProperty):
        (CCAnimationEvent):
        (CCAnimationStartedEvent):
        (CCFloatAnimationFinishedEvent):
        (WebCore::CCFloatAnimationFinishedEvent::finalValue):
        (CCTransformAnimationFinishedEvent):
        (WebCore::CCTransformAnimationFinishedEvent::finalValue):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::CCLayerAnimationController):
        (WebCore::CCLayerAnimationController::create):
        (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
        (WebCore::CCLayerAnimationController::animate):
        (WebCore):
        (WebCore::CCLayerAnimationController::add):
        (WebCore::CCLayerAnimationController::getActiveAnimation):
        (WebCore::CCLayerAnimationController::hasActiveAnimation):
        (WebCore::CCLayerAnimationController::isAnimatingProperty):
        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
        (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
        (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
        (WebCore::CCLayerAnimationController::resolveConflicts):
        (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
        (WebCore::CCLayerAnimationController::tickAnimations):
        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
        (WebCore):
        (CCLayerAnimationControllerClient):
        (WebCore::CCLayerAnimationControllerClient::~CCLayerAnimationControllerClient):
        (CCLayerAnimationController):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: Removed.
        * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h:
        (CCLayerAnimationDelegate):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        (WebCore::CCLayerImpl::setOpacityFromAnimation):
        (WebCore):
        (WebCore::CCLayerImpl::setTransformFromAnimation):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        (WebCore::CCLayerImpl::id):
        (WebCore::CCLayerImpl::layerAnimationController):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::updateAnimations):
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
        (WebCore::CCLayerTreeHost::animateLayers):
        (WebCore):
        (WebCore::CCLayerTreeHost::animateLayersRecursive):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
        (WebCore::CCLayerTreeHostImpl::animateLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):

2012-03-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: REGRESSION Detached DOM Nodes are not highlighted
        https://bugs.webkit.org/show_bug.cgi?id=81662

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):

2012-03-20  Gavin Peters  <gavinp@chromium.org>

        New PageCache histogram for tracking the highest leverage frame reject reasons.
        https://bugs.webkit.org/show_bug.cgi?id=81358

        Reviewed by Adam Barth.

        The current chromium FrameClientImpl always denies page cache; but
        that's easily fixable.  This histogram tracks which rejection
        causes occur alone with that cause.  I'm particularly interested
        in knowing how many more pages would work in the page cache if we
        could get plugins in.

        * history/PageCache.cpp:
        (WebCore::logCanCachePageDecision):

2012-03-15  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: support inline source maps.
        https://bugs.webkit.org/show_bug.cgi?id=81248

        - support optional map.sourcesContent array with sources content
        - support data: url as script sourceMapURL, e.g. "//@ sourceMappingURL=data:application/json;base64,<base64-encoded map>"

        Reviewed by Pavel Feldman.

        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.ClosureCompilerSourceMapping):
        (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
        (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):

2012-03-20  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: treat Uint* external arrays as arrays in console.
        https://bugs.webkit.org/show_bug.cgi?id=81653

        Reviewed by Yury Semikhatsky.

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::type):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::typeCallback):

2012-03-20  Andreas Kling  <kling@webkit.org>

        Let CSSImageValue inherit directly from CSSValue.
        <http://webkit.org/b/81635>

        Reviewed by Antti Koivisto.

        This removes the last of the CSSPrimitiveValue subclasses, which will
        open up the class to heavier refactoring.

        Those CSSImageValues that used to represent the 'none' value are now
        simply created as CSSPrimitiveValue identifiers by the parser.

        Test: fast/css/image-value-type.html

        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
        (WebCore::CSSCursorImageValue::cachedImage):
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::CSSImageValue):
        (WebCore::CSSImageValue::cachedOrPendingImage):
        (WebCore::CSSImageValue::cachedImage):
        (WebCore::CSSImageValue::customCssText):
        * css/CSSImageValue.h:
        (WebCore::CSSImageValue::url):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillImage):
        (WebCore::CSSParser::parseBorderImage):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyCursor::applyValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSValue.h:
        (WebCore::CSSValue::isPrimitiveValue):

2012-03-20  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: call .length as the last check when detecting arrays.
        https://bugs.webkit.org/show_bug.cgi?id=81335

        Reviewed by Yury Semikhatsky.

        * inspector/InjectedScriptSource.js:

2012-03-20  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: newly added CSS rules shouldn't rewrite HTML content in the resources panel
        https://bugs.webkit.org/show_bug.cgi?id=81414

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):

2012-03-20  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: provide class name filter for "comparison" view in heap profiler
        https://bugs.webkit.org/show_bug.cgi?id=81641

        Class name filtering now works for both Summary and Comparison views.

        Reviewed by Pavel Feldman.

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype._createToolbarWithClassNameFilter):
        (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
        * inspector/front-end/heapProfiler.css:
        (.detailed-heapshot-view .class-view-grid):
        (.detailed-heapshot-view .class-view-toolbar):
        (.detailed-heapshot-view .class-view-toolbar input.class-name-filter):

2012-03-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        Make animVal support type-safe
        https://bugs.webkit.org/show_bug.cgi?id=81640

        Reviewed by Antti Koivisto.

        Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html

        Redesign animVal support in a type-safe fashion, avoiding the SVGGenericAnimatedType
        and associated reinterpret_casts, which require all call-sites to assure that the
        types are safe to cast, before actually calling the method.

        Remove pure virtual animationStarted/Ended/ValueWillChange/ValueDidChange & currentBaseValueVariant methods from SVGAnimatedProperty,
        and de-virtualize them in classes that inherit from SVGAnimatedProperty, like SVGAnimatedPropertyTearOff, etc.

        Add startAnimValAnimation/stopAnimValAnimation/resetAnimValToBaseVal/animValWillChange/animVallDidChange methods to all
        SVGAnimatedXXXAnimator classes that currently support animVal (SVGAnimatedLength/LengthList/Number(OptionalNumber)/NumberList/TransformList).
        Those SVGAnimatedLengthAnimator can cast the generic SVGAnimatedProperty* associated with a certain SVG DOM property, to the real type
        eg. SVGAnimatedLength (which is a SVGAnimatedPropertyTearOff<SVGLength>). This way we can call those methods, without relying on virtual
        function calls. Also it makes the "SVGGenericAnimatedType* currentBaseValueVariant()" accessor needless, as we can just call the method
        right on eg. the SVGAnimatedLength, which gives us the "const SVGLength&" object, instead of a generic pointer type, that we have to
        reinterpret_cast to some hopefully-matching expected type. The new approach is truly type-safey, but needs a bit more boilerplate code.

        To reduce the amount of copy&paste across the SVGAnimatedXXXAnimator classes, all code is placed in template functions in
        SVGAnimatedTypeAnimator.h, which can be shared across all SVGAnimatedXXXAnimator classes, that inherit from SVGAnimatedTypeAnimator.

        Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore):
        (WebCore::SVGAnimateElement::targetElementWillChange):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
        (WebCore):
        (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedLengthAnimator::animValWillChange):
        (WebCore::SVGAnimatedLengthAnimator::animValDidChange):
        * svg/SVGAnimatedLength.h:
        (WebCore):
        (SVGAnimatedLengthAnimator):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
        (WebCore):
        (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedLengthListAnimator::animValWillChange):
        (WebCore::SVGAnimatedLengthListAnimator::animValDidChange):
        * svg/SVGAnimatedLengthList.h:
        (WebCore):
        (SVGAnimatedLengthListAnimator):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
        (WebCore):
        (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedNumberAnimator::animValWillChange):
        (WebCore::SVGAnimatedNumberAnimator::animValDidChange):
        * svg/SVGAnimatedNumber.h:
        (WebCore):
        (SVGAnimatedNumberAnimator):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
        (WebCore):
        (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedNumberListAnimator::animValWillChange):
        (WebCore::SVGAnimatedNumberListAnimator::animValDidChange):
        * svg/SVGAnimatedNumberList.h:
        (WebCore):
        (SVGAnimatedNumberListAnimator):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
        (WebCore):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
        * svg/SVGAnimatedNumberOptionalNumber.h:
        (WebCore):
        (SVGAnimatedNumberOptionalNumberAnimator):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
        (WebCore):
        (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedTransformListAnimator::animValWillChange):
        (WebCore::SVGAnimatedTransformListAnimator::animValDidChange):
        * svg/SVGAnimatedTransformList.h:
        (WebCore):
        (SVGAnimatedTransformListAnimator):
        * svg/SVGAnimatedType.h:
        (WebCore):
        * svg/SVGAnimatedTypeAnimator.h:
        (WebCore):
        (SVGAnimatedTypeAnimator):
        (WebCore::SVGAnimatedTypeAnimator::startAnimValAnimation):
        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimation):
        (WebCore::SVGAnimatedTypeAnimator::resetAnimValToBaseVal):
        (WebCore::SVGAnimatedTypeAnimator::animValWillChange):
        (WebCore::SVGAnimatedTypeAnimator::animValDidChange):
        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
        (WebCore::SVGAnimatedTypeAnimator::startAnimation):
        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
        (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::resetFromOneBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
        (WebCore::SVGAnimatedTypeAnimator::resetFromTwoBaseValues):
        (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
        (WebCore::SVGAnimatedTypeAnimator::collectAnimatedPropertiesFromInstances):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::applyAnimatedValue):
        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
        * svg/SVGAnimationElement.h:
        (SVGAnimationElement):
        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
        (WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
        (WebCore):
        (WebCore::SVGElementInstance::InstanceUpdateBlocker::~InstanceUpdateBlocker):
        * svg/SVGElementInstance.h:
        (WebCore):
        (InstanceUpdateBlocker):
        (SVGElementInstance):
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
        (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
        (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
        (WebCore::SVGAnimatedListPropertyTearOff::animValWillChange):
        (WebCore::SVGAnimatedListPropertyTearOff::animValDidChange):
        * svg/properties/SVGAnimatedProperty.h:
        (WebCore):
        * svg/properties/SVGAnimatedPropertyTearOff.h:
        (WebCore::SVGAnimatedPropertyTearOff::currentBaseValue):
        (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
        (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
        (WebCore::SVGAnimatedPropertyTearOff::animValWillChange):
        (WebCore::SVGAnimatedPropertyTearOff::animValDidChange):
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
        (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
        (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
        (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
        (WebCore::SVGAnimatedStaticPropertyTearOff::animValWillChange):
        (WebCore::SVGAnimatedStaticPropertyTearOff::animValDidChange):

2012-03-20  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Implement NamedFlow::getRegionsByContentNode
        https://bugs.webkit.org/show_bug.cgi?id=77746

        Reviewed by David Hyatt.

        The list of regions returned is a static node list.

        Tests: fast/regions/get-regions-by-content-node-horiz-bt.html
               fast/regions/get-regions-by-content-node-horiz-tb.html
               fast/regions/get-regions-by-content-node-vert-lr.html
               fast/regions/get-regions-by-content-node-vert-rl.html
               fast/regions/get-regions-by-content-node.html
               fast/regions/get-regions-by-content-node2.html

        * dom/WebKitNamedFlow.cpp:
        (WebCore::WebKitNamedFlow::getRegionsByContentNode):
        (WebCore):
        * dom/WebKitNamedFlow.h:
        (WebKitNamedFlow):
        * dom/WebKitNamedFlow.idl:
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::regionInRange):
        (WebCore):
        (WebCore::RenderFlowThread::objectInFlowRegion):
        * rendering/RenderFlowThread.h:
        * rendering/RenderRegion.h:
        (WebCore::RenderRegion::flowThread):

2012-03-20  Luke Macpherson  <macpherson@chromium.org>

        Remove min and max parameters from CSSPrimitiveValue's roundForImpreciseConversion function.
        https://bugs.webkit.org/show_bug.cgi?id=81629

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLength):
        * css/CSSPrimitiveValue.h:
        (WebCore::roundForImpreciseConversion):
        * rendering/style/RenderStyle.h:
        (WebCore::adjustForAbsoluteZoom):

2012-03-20  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry]Cookies shouldn't be set into each of webcore's request and platform's request. And this makes a regression.
        https://bugs.webkit.org/show_bug.cgi?id=80800

        FrameLoaderClientBlackBerry::dispatchWillSendRequest sets cookies to resourceRequest's header
        list to show cookies in inspector. And NetworkManager::startJob will set cookies to platformRequest's
        m_cookieData again. So cookies are set two times. This causes performance issue.

        Moreover, platformRequest will copy cookies from the resourceRequest. And then platformRequest has
        the same cookies in its header list and m_cookieData. Network will use header list's cookies which
        are output as latin1 only. This causes the regression of https://bugs.webkit.org/show_bug.cgi?id=80307.

        Now, set cookies in initializePlatformRequest to ensure setting cookies only once.

        Reviewed by George Staikos.

        Test: http/tests/cookies/resources/setUtf8Cookies.php

        * platform/network/blackberry/NetworkManager.cpp:
        (WebCore::NetworkManager::startJob):
        * platform/network/blackberry/ResourceRequest.h:
        (ResourceRequest):
        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::initializePlatformRequest):

2012-03-19  Benjamin Poulain  <bpoulain@apple.com>

        Build fix for Debug build after r111358

        Unreviewed.

        * bindings/js/CachedScriptSourceProvider.h:
        * bindings/js/StringSourceProvider.h:

2012-03-19  Emil A Eklund  <eae@chromium.org>

        Add FractionalLayoutUnit version of blend to AnimationUtilities
        https://bugs.webkit.org/show_bug.cgi?id=81572

        Reviewed by Eric Seidel.
        
        Add version of blend method that operates on FractionalLayoutUnits. This
        will be used in place of the integer version in many places once we
        enable support for subpixel layout.

        No new tests.

        * platform/FractionalLayoutUnit.h:
        Include math.h to make GTK build happy.

        * platform/animation/AnimationUtilities.h:
        (WebCore::blend):

2012-03-19  Adam Barth  <abarth@webkit.org>

        Remove support for "magic" iframe
        https://bugs.webkit.org/show_bug.cgi?id=81590

        Reviewed by Eric Seidel.

        This patch removes support for "magic" iframe, which previously allowed
        an iframe to be transfered from one document to another without
        reloading the iframe.  The idea behind this feature was to let sites
        create "pop out" windows that could outlive their parents by
        transfering state to these windows via these magic iframes.

        Unforuntately, this feature was never implemented by other browsers and
        has been the source of a series of security vulnerabilities.  Although
        we have fixed each vulnerability as it has been discovered, the feature
        is still a complex corner case that isn't widely exercised on the web.
        For that reason, it's likely to have more vulnerabilities in the
        future.

        I'm not aware of any web sites that use this feature anymore.  There
        were a handful of them, but we appear to have been successful in
        evangalizing them to move away from "magic" iframe.

        * dom/Document.cpp:
        (WebCore::Document::adoptNode):
        * html/HTMLFrameElementBase.cpp:
        (WebCore):
        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
        (WebCore::HTMLFrameElementBase::insertedIntoDocument):
        * html/HTMLFrameElementBase.h:
        (HTMLFrameElementBase):
        * loader/DocumentLoader.cpp:
        (WebCore):
        * loader/DocumentLoader.h:
        (DocumentLoader):
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::createFrame):
        * loader/FrameLoader.cpp:
        (WebCore):
        * loader/FrameLoader.h:
        (FrameLoader):
        * loader/FrameLoaderClient.h:
        (FrameLoaderClient):
        * loader/ResourceLoadNotifier.cpp:
        (WebCore):
        * loader/ResourceLoadNotifier.h:
        (ResourceLoadNotifier):
        * page/Frame.cpp:
        (WebCore):
        * page/Frame.h:
        (Frame):

2012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION(r110072): Improper repainting on table with overflow: hidden
        https://bugs.webkit.org/show_bug.cgi?id=81460

        Reviewed by Simon Fraser.

        Test: fast/repaint/table-hover-on-link.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout): Add a call to RenderBlock::updateCachedSizeForOverflowClip
        so that we properly keep our cached size up to date. This fixes the problem for now but the
        real solution is to make sure it is called on all classes that needs to. This is tracked by
        bug 81461.

2012-03-19  Pablo Flouret  <pablof@motorola.com>

        Add support for crossorigin attribute in script elements
        https://bugs.webkit.org/show_bug.cgi?id=81438

        Reviewed by Adam Barth.

        Works similarly to img and its crossorigin attribute. In the future it
        could allow for things like showing full error messages in error
        handlers, etc.

        Tests: http/tests/security/script-crossorigin-loads-correctly.html
               http/tests/security/script-crossorigin-loads-same-origin.html
               http/tests/security/script-with-failed-cors-check-fails-to-load.html

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::ScriptElement):
        (WebCore::ScriptElement::requestScript):
        (WebCore::ScriptElement::notifyFinished):
        * dom/ScriptElement.h:
        (ScriptElement):
        * html/HTMLScriptElement.idl:

2012-03-19  Benjamin Poulain  <benjamin@webkit.org>

        Do not copy the script source in the SourceProvider, just reference the existing string
        https://bugs.webkit.org/show_bug.cgi?id=81466

        Reviewed by Geoffrey Garen.

        Instead of creating a copy of the string with 16bits characters, we just return
        a shared StringImpl.

        * bindings/js/CachedScriptSourceProvider.h:
        * bindings/js/StringSourceProvider.h:

2012-03-19  Dana Jansens  <danakj@chromium.org>

        A quick early-out for Region::contains() test
        https://bugs.webkit.org/show_bug.cgi?id=81625

        Reviewed by Anders Carlsson.

        If the bounds of region B include a row/column that is outside the bounds of
        region A, then region B contains a pixel within that row/column that is
        outside of region A.

        * platform/graphics/Region.cpp:
        (WebCore::Region::contains):

2012-03-19  Eric Seidel  <eric@webkit.org>

        Unreviewed attempt to fix the EFL build.

        * platform/graphics/efl/IconEfl.cpp:

2012-03-19  Eric Seidel  <eric@webkit.org>

        Fix more WTF header include paths in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=81602

        Reviewed by Martin Robinson.

        Chromium, Mac and Win already build w/o including wtf subdirectories
        in their include paths for WebCore/WebKit.  Gtk, Qt, and other ports
        should eventually do the same.  This patch fixes up a few loose
        wtf includes in these ports using some search/replace across WebCore.
        If the EWS bots pass this patch doesn't really need any other review.

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
        * platform/KURL.cpp:
        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
        * platform/audio/gtk/AudioBusGtk.cpp:
        * platform/clutter/GRefPtrClutter.h:
        * platform/graphics/gstreamer/GRefPtrGStreamer.h:
        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
        * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        * platform/graphics/gtk/ImageBufferGtk.cpp:
        * platform/graphics/pango/FontPango.cpp:
        * platform/graphics/qt/ImageBufferDataQt.h:
        * platform/graphics/wx/ImageBufferDataWx.h:
        * platform/gtk/ContextMenuGtk.cpp:
        * platform/gtk/ContextMenuItemGtk.cpp:
        * platform/gtk/FileSystemGtk.cpp:
        * platform/gtk/GOwnPtrGtk.h:
        * platform/gtk/GtkAuthenticationDialog.h:
        * platform/gtk/GtkPopupMenu.cpp:
        * platform/gtk/LanguageGtk.cpp:
        * platform/gtk/LocalizedStringsGtk.cpp:
        * platform/gtk/PopupMenuGtk.cpp:
        * platform/gtk/RenderThemeGtk.cpp:
        * platform/gtk/RenderThemeGtk.h:
        * platform/network/soup/GOwnPtrSoup.h:
        * platform/network/soup/ResourceRequestSoup.cpp:
        * platform/network/soup/ResourceResponseSoup.cpp:
        * platform/network/soup/SocketStreamHandle.h:
        * platform/network/soup/SoupURIUtils.cpp:
        * platform/text/TextEncoding.cpp:
        * platform/text/gtk/TextBreakIteratorGtk.cpp:
        * platform/text/gtk/TextCodecGtk.cpp:
        * platform/text/gtk/TextCodecGtk.h:

2012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>

        Move the extra logical height distribution into RenderTable as a new step in our layout algorithm
        https://bugs.webkit.org/show_bug.cgi?id=81548

        Reviewed by Tony Chang.

        Refactoring, no expected change in behavior.

        Moving the distribution step into RenderTable is needed to implement a better distribution algorithm that would
        span several RenderTableSection (which is what IE and FF are doing right now).

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::distributeExtraLogicalHeight):
        (WebCore::RenderTable::layout):
        Moved the distribution step into distributeExtraLogicalHeight. While at it, changed the code to make use of the helper
        methods to iterate over the sections and explicitly floor the LayoutUnit before calling distributeExtraLogicalHeight.

        * rendering/RenderTable.h:
        Added distributeExtraLogicalHeight.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        Changed the method signature as it doesn't handle the distribution step anymore.

        * rendering/RenderTableSection.h:
        Updated layoutRows signature and exposed distributeExtraLogicalHeightToRows for RenderTable use.

2012-03-19  Anders Carlsson  <andersca@apple.com>

        Another attempt at fixing the Windows build.

        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
        (WebCore::LayerClient::platformCALayerDeviceScaleFactor):

2012-03-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL] Fix build break because of PlatformString.h
        https://bugs.webkit.org/show_bug.cgi?id=81619

        Unreviewed. Fix build break because of PlatformString.h.

        * platform/graphics/efl/IconEfl.cpp: Include PlatformString.h from text directory.

2012-03-19  Eric Seidel  <eric@webkit.org>

        Fix CrWin build after r111258.
        https://bugs.webkit.org/show_bug.cgi?id=81281

        Unreviewed build fix.
        I also fixed similarly incorrect wtf/ includes for other ports
        (which aren't yet as strict as Chromium about wtf includes).

        * platform/blackberry/CookieManager.cpp:
        * platform/blackberry/CookieParser.cpp:
        * platform/blackberry/ParsedCookie.cpp:
        * platform/blackberry/SharedTimerBlackBerry.cpp:
        * platform/graphics/qt/GraphicsLayerQt.cpp:
        * platform/graphics/texmap/TextureMapperAnimation.cpp:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore):

2012-03-19  Eric Seidel  <eric@webkit.org>

        Fix CrWin build after r111258.
        https://bugs.webkit.org/show_bug.cgi?id=81281

        Unreviewed build fix.

        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        * platform/graphics/texmap/TextureMapperAnimation.h:

2012-03-19  Tony Chang  <tony@chromium.org>

        add css parsing of flex-line-pack
        https://bugs.webkit.org/show_bug.cgi?id=81427

        Reviewed by Ojan Vafai.

        Spec: http://dev.w3.org/csswg/css3-flexbox/#flex-line-pack

        Updated tests in css3/flexbox/css-properties.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore):
        (WebCore::CSSPrimitiveValue::operator EFlexLinePack):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSValueKeywords.in:
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleFlexibleBoxData.cpp:
        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
        (WebCore::StyleFlexibleBoxData::operator==):
        * rendering/style/StyleFlexibleBoxData.h:
        (StyleFlexibleBoxData):

2012-03-19  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK] libWebCore.la has become too big for make
        https://bugs.webkit.org/show_bug.cgi?id=81582

        Unreviewed build fix.

        * GNUmakefile.am: build an intermediate library for modules, so that the list
        of source files used to build WebCore can be split and not reach make's limits;
        also try to force relinking libWebCore.la and libWebCoreModules.la when the
        GNUmakefile.am or GNUmakefile.list.am change

2012-03-19  Dana Jansens  <danakj@chromium.org>

        [chromium] Push culled tiles that are prepainted
        https://bugs.webkit.org/show_bug.cgi?id=81552

        Reviewed by Adrienne Walker.

        If a tile was culled during paint, but then prepainted in the following
        idle paint pass, it was still marked as culled (and thus dirty) and not
        pushed to the impl side.

        Renames tile->m_updateCulled to tile->m_updated. This value is true if
        the tile is updated any time during a commit, and remains false if it
        is culled every time the layer is painted.

        Unit test: TiledLayerChromiumTest.pushIdlePaintedOccludedTiles

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::isDirtyForCurrentFrame):
        (UpdatableTile):
        (WebCore::UpdatableTile::UpdatableTile):
        (WebCore::TiledLayerChromium::updateCompositorResources):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        (WebCore::TiledLayerChromium::resetUpdateState):

2012-03-19  Anders Carlsson  <andersca@apple.com>

        Fix Snow Leopard build.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::createTileLayer):

2012-03-19  Michal Mocny  <mmocny@google.com>

        [chromium] Adding support for GL_EXT_discard_framebuffer.
        https://bugs.webkit.org/show_bug.cgi?id=81383

        Reviewed by James Robinson.

        * platform/graphics/chromium/Extensions3DChromium.h:

2012-03-19  Adam Klein  <adamk@chromium.org>

        Refactor ContainerNode::replaceChild to match other mutation methods and share code
        https://bugs.webkit.org/show_bug.cgi?id=81579

        Reviewed by Ojan Vafai.

        A future change will make use of the consistency among insertBefore/appendChild/replaceChild
        to handle insertion of DocumentFragments more cleanly.

        No new tests, no change in behavior.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
        Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
        (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
        (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.

2012-03-19  Ian Vollick  <vollick@chromium.org>

        [chromium] Times in the cc should be expressed in seconds.
        https://bugs.webkit.org/show_bug.cgi?id=80514

        Reviewed by James Robinson.

        Updated timer tests to use seconds.

        * platform/TouchFlingPlatformGestureCurve.h:
        (TouchFlingPlatformGestureCurve):
        * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
        (WebCore::CCActiveGestureAnimation::animate):
        * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
        (CCActiveGestureAnimation):
        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
        (WebCore::CCDelayBasedTimeSource::create):
        (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
        (WebCore::CCDelayBasedTimeSource::setActive):
        (WebCore::CCDelayBasedTimeSource::onTimerFired):
        (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
        (WebCore):
        (WebCore::CCDelayBasedTimeSource::postNextTickTask):
        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
        (CCDelayBasedTimeSource):
        * platform/graphics/chromium/cc/CCGestureCurve.h:
        (CCGestureCurve):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WTF):
        (WebCore::CCThreadProxy::beginContextRecreation):
        (WebCore::CCThreadProxy::tryToRecreateContext):
        (WebCore::CCThreadProxy::initializeImplOnImplThread):
        * platform/graphics/chromium/cc/CCTimer.cpp:
        (WebCore::CCTimer::startOneShot):
        * platform/graphics/chromium/cc/CCTimer.h:
        (CCTimer):

2012-03-19  Florin Malita  <fmalita@google.com>

        Relative-height block SVG root not layed out on container height change
        https://bugs.webkit.org/show_bug.cgi?id=81513

        Reviewed by Dirk Schulze.

        Tests: svg/custom/svg-percent-scale-block-expected.html
               svg/custom/svg-percent-scale-block.html

        A couple of places still have style()->logical{Min,Max,}Height percent checks,
        which do not work for SVG elements. This patch adds a virtual hasRelativeLogicalHeight()
        RenderBox method to replace the explicit style checks.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren):
        Use virtual hasRelativeLogicalHeight() instead of logical height style checks.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::hasRelativeLogicalHeight):
        (WebCore):
        * rendering/RenderBox.h:
        (RenderBox):
        Add virtual hasRelativeLogicalHeight().

        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout):
        Use virtual hasRelativeLogicalHeight() instead of logical height style checks, if possible.

        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
        (WebCore):
        * rendering/svg/RenderSVGRoot.h:
        (RenderSVGRoot):
        Add hasRelativeLogicalHeight() override.

2012-03-19  Jer Noble  <jer.noble@apple.com>

        Assertion failure in RenderBlock::addChildIgnoringAnonymousColumnBlocks when running fullscreen/full-screen-twice-crash.html 
        causing "crashes" on the Lion Intel Debug WebKit2 test bots.
        https://bugs.webkit.org/show_bug.cgi?id=81171

        Reviewed by Dan Bernstein.

        No new tests; fixes fullscreen/* tests when running in WebKitTestRunner (WebKit2).

        Add a special-case check if the parent anonymous container is a full screen renderer or placeholder.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):

2012-03-19  Enrica Casucci  <enrica@apple.com>

        WebKit2: create sandbox extensions for files that are dropped in an input control.
        https://bugs.webkit.org/show_bug.cgi?id=81153
        <rdar://problem/11031207>

        Reviewed by Alexey Proskuryakov.

        Now the pasteboard access is performed only in the UI process, it is
        necessary to create sandbox extensions for each file that is dropped into
        an input type=file element. The extensions are created at the time the files
        are dropped and consumed immediately.

        * page/DragActions.h: Added new drag action to be used by the WebDragClient.
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag): Added call to the drag client with the new action.

2012-03-19  Eric Seidel  <eric@webkit.org>

        Fix Chromium Win
        https://bugs.webkit.org/show_bug.cgi?id=81281

        Unreviewed build fix.

        * platform/graphics/chromium/TransparencyWin.h:

2012-03-19  Eric Seidel  <eric@webkit.org>

        Fix the chromium world.
        https://bugs.webkit.org/show_bug.cgi?id=81281

        Unreviewed build fix.

        * rendering/RenderThemeChromiumSkia.cpp:

2012-03-19  Brady Eidson  <beidson@apple.com>

        <rdar://problem/10917120> and https://bugs.webkit.org/show_bug.cgi?id=81066
        Crash in 3rd party WebKit apps under XHR/Cache code

        Reviewed by Antti Koivisto.

        No new layout tests.
        TestWebKitAPI test MemoryCachePruneWithinResourceLoadDelegate included

        A CachedResource representing an XHR was being deleted by cache pruning during a delegate callback.
        This worked until http://trac.webkit.org/changeset/98380

        * history/PageCache.cpp:
        (WebCore::PageCache::releaseAutoreleasedPagesNow): Only trigger pruning after the page cache
          autorelease if it was enabled before.

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::loadResource): Disable pruning before loading the resource and
          re-enable it afterwards if necessary.

        * loader/cache/MemoryCache.h:
        (WebCore::MemoryCache::pruneEnabled):

2012-03-19  Anders Carlsson  <andersca@apple.com>

        Fix Windows build.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDeviceScaleFactor):

2012-03-18  James Robinson  <jamesr@chromium.org>

        [chromium] Implement fling-by-wheel on compositor thread
        https://bugs.webkit.org/show_bug.cgi?id=81462

        Reviewed by Adrienne Walker.

        Adds compositor thread support for a fling type implemented as a sequence of wheel scrolls. Covered by new tests
        in WebCompositorInputHandlerImplTests.

        * platform/graphics/chromium/cc/CCInputHandler.h:
        (CCInputHandler):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::scheduleAnimation):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):

2012-03-19  Emil A Eklund  <eae@chromium.org>

        [mac/chromium] Change platform code to use pixelSnappedRect methods
        https://bugs.webkit.org/show_bug.cgi?id=81016

        Reviewed by Eric Seidel.

        Change platform code to use Node::getPixelSnappedRect,
        pixelSnappedBoundingBoxRect and pixelSnappedAbsoluteClippedOverflowRect
        to avoid exposing subpixel types to the platform layer.

        No new tests.

        * WebCore.exp.in:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
        Add pixelSnapped version of absoluteClippedOverflowRect
        
        (WebCore):
        * rendering/RenderObject.h:
        (RenderObject):

2012-03-19  Brady Eidson  <beidson@apple.com>

        <rdar://problem/10848575> and https://bugs.webkit.org/show_bug.cgi?id=81516
        REGRESSION (r107435) URLs copied from WebKit apps aren't in the right pasteboard format

        Reviewed by Enrica Casucci.

        r107435 started saving/restoring URLs as strings.
        We need to go back to setting the URL on the pasteboard using AppKit URL pasteboard APIs.

        WebKit API test: ContextMenuCanCopyURL
        No WebKit2 API test possible at this time.

        * platform/mac/PlatformPasteboardMac.mm:
        (WebCore::PlatformPasteboard::setURL):

2012-03-19  Anders Carlsson  <andersca@apple.com>

        Make the TileCache work with HiDPI again
        https://bugs.webkit.org/show_bug.cgi?id=81569
        <rdar://problem/11031542>

        Reviewed by Sam Weinig.

        Set the contentsScale of the individual tile layers to be the same as the device scale factor.
        Also, take into account the fact that the value passed to TileCache::setScale is the product of the
        page scale factor and the device scale factor, so divide it by the device scale factor before storing
        it in m_scale.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::platformCALayerDeviceScaleFactor):
        (WebCore):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):
        * platform/graphics/ca/PlatformCALayerClient.h:
        (PlatformCALayerClient):
        * platform/graphics/ca/mac/TileCache.h:
        (TileCache):
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::TileCache):
        (WebCore::TileCache::setScale):
        (WebCore::TileCache::createTileLayer):

2012-03-19  Abhishek Arya  <inferno@chromium.org>

        Crash due to layer tree information not updated when moving run-in children.
        https://bugs.webkit.org/show_bug.cgi?id=81265

        Reviewed by Julien Chaffraix.

        We need to do a full removal as the run-in child is getting inserted into
        the neighbouring block and |blockRunIn| is going to be destroyed later
        in the function.

        Test: fast/runin/run-in-layer-not-removed-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::handleRunInChild):

2012-03-19  Dana Jansens  <danakj@chromium.org>

        [chromium] Remove misleading double-if
        https://bugs.webkit.org/show_bug.cgi?id=81557

        Reviewed by Adrienne Walker.

        Simple code cleanup, no functionality change.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):

2012-03-19  Eric Seidel  <eric@webkit.org>

        Fix WTF header include discipline in Chromium WebKit
        https://bugs.webkit.org/show_bug.cgi?id=81281

        Reviewed by James Robinson.

        I also fixed some bad include dicipline for other ports
        as well.  Those changes are not yet necessary for those ports
        to keep building, but soon should be as those authors
        remove all the extra WTF includes from WebCore and other non-WTF projects.

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
        * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
        * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
        * bindings/v8/NPV8Object.cpp:
        * bindings/v8/SerializedScriptValue.cpp:
        * bindings/v8/SerializedScriptValue.h:
        * bindings/v8/V8Binding.cpp:
        * bindings/v8/V8Binding.h:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8Utilities.cpp:
        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
        * bindings/v8/custom/V8Float64ArrayCustom.cpp:
        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
        * bindings/v8/custom/V8WorkerCustom.cpp:
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        * bridge/qt/qt_runtime.cpp:
        * editing/gtk/FrameSelectionGtk.cpp:
        * loader/archive/mhtml/MHTMLArchive.cpp:
        * platform/ScrollAnimatorNone.cpp:
        * platform/blackberry/CookieMap.h:
        * platform/blackberry/CookieParser.h:
        * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:
        * platform/chromium/DragImageChromiumSkia.cpp:
        * platform/chromium/PlatformCursor.h:
        * platform/chromium/PlatformSupport.h:
        * platform/chromium/PopupMenuPrivate.h:
        * platform/chromium/TraceEvent.h:
        * platform/chromium/WidgetChromium.cpp:
        * platform/efl/RefPtrEfl.h:
        * platform/graphics/cairo/RefPtrCairo.h:
        * platform/graphics/chromium/RateLimiter.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        * platform/graphics/efl/IconEfl.cpp:
        * platform/graphics/gstreamer/GStreamerGWorld.h:
        * platform/graphics/gtk/IconGtk.cpp:
        * platform/graphics/skia/PlatformContextSkia.h:
        * platform/graphics/texmap/TextureMapperBackingStore.h:
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        * platform/graphics/wx/TransformationMatrixWx.cpp:
        * platform/gtk/PlatformMouseEventGtk.cpp:
        * platform/leveldb/LevelDBSlice.h:
        * platform/mediastream/MediaStreamCenter.cpp:
        * platform/network/soup/SocketStreamHandleSoup.cpp:
        * platform/network/win/ResourceHandleWin.cpp:
        * platform/qt/RenderThemeQtMobile.cpp:
        * platform/wx/MouseEventWx.cpp:
        * platform/wx/wxcode/win/fontprops.cpp:

2012-03-19  Dana Jansens  <danakj@chromium.org>

        [chromium] Invalidate/update evicted tiles during commit
        https://bugs.webkit.org/show_bug.cgi?id=81529

        Reviewed by Adrienne Walker.

        A previous change caused a regression where evicted (invalid) tiles
        were no longer marked as dirty and updated. The regress was caused
        in https://bugs.webkit.org/show_bug.cgi?id=81175 and is fixed here.

        Unit test: TiledLayerChromiumTest.pushDeletedTiles

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::copyAndClearDirty):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):

2012-03-19  Adam Barth  <abarth@webkit.org>

        Remove PLATFORM(TORCHMOBILE) ifdef from MainResourceLoader.cpp
        https://bugs.webkit.org/show_bug.cgi?id=81549

        Reviewed by Eric Seidel.

        This appears to be the only PLATFORM(TORCHMOBILE) ifdef in WebCore.  I
        don't believe this ifdef is needed anymore.

        * loader/MainResourceLoader.cpp:
        (WebCore::shouldLoadAsEmptyDocument):
        (WebCore):

2012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r111207.
        http://trac.webkit.org/changeset/111207
        https://bugs.webkit.org/show_bug.cgi?id=81561

        Causing chromium unit test failure (Requested by reveman on
        #webkit).

        * platform/graphics/chromium/Extensions3DChromium.h:
        (Extensions3DChromium):

2012-03-19  Anders Carlsson  <andersca@apple.com>

        Remove unnecessary CALayer overrides from WebTileCacheLayer
        https://bugs.webkit.org/show_bug.cgi?id=81562

        Reviewed by Dan Bernstein.

        * platform/graphics/ca/mac/TileCache.h:
        (TileCache):
        * platform/graphics/ca/mac/WebTileCacheLayer.mm:

2012-03-19  Emil A Eklund  <eae@chromium.org>

        Correct usage of LayoutUnits in page code in preparation for turning on subpixel layout
        https://bugs.webkit.org/show_bug.cgi?id=81538

        Reviewed by Eric Seidel.

        Fix usage of LayoutUnits and conversions between types in page code.

        No new tests.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::innerHeight):
        (WebCore::DOMWindow::innerWidth):
        Explicitly cast long to int. InspectorInstrumentation requires a long and
        FractionalLayoutUnit has no constructor that takes long.
        
        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEventForKey):
        Pixel snap overflow rect as selection rects are integer based.
        
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollContentsFastPath):
        Pixel snap repaint rects when computing update rect as all scrolling is
        done on integer bounds.
        
        * page/GestureTapHighlighter.cpp:
        Change rects vector to IntRect as addFocusRingRects operates on IntRects.
        
        * page/Page.cpp:
        (WebCore::Page::addRelevantRepaintedObject):
        (WebCore::Page::addRelevantUnpaintedObject):
        Change paint methods to take a LayoutRect paint rect.
        
        * page/SpatialNavigation.cpp:
        (WebCore::distanceDataForNode):
        Change distance calculation to use floats instead of converting to float
        at the end.

2012-03-19  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=81553
        
        [New Multicolumn] Stub out classes to represent sets of column region boxes.

        RenderRegionSet is an abstract class representing a set of contiguous anonymous
        same-size regions.
        
        RenderMultiColumnSet derives from RenderRegionSet and represents a set of contiguous
        columns. It will also handle unique column behavior like column rule painting.
        
        Eventually there will be a RenderPageSet derived class for printing/pages, but
        that will come later after I finish rebuilding multi-column layout.

        Reviewed by Dan Bernstein.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderMultiColumnSet.cpp: Added.
        (WebCore):
        (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
        (WebCore::RenderMultiColumnSet::renderName):
        * rendering/RenderMultiColumnSet.h: Added.
        (WebCore):
        (RenderMultiColumnSet):
        * rendering/RenderRegionSet.cpp: Added.
        (WebCore):
        (WebCore::RenderRegionSet::RenderRegionSet):
        * rendering/RenderRegionSet.h: Added.
        (WebCore):
        (RenderRegionSet):

2012-03-19  Raymond Toy  <rtoy@google.com>

        Add playback state for AudioBufferSourceNode and add number of active nodes
        https://bugs.webkit.org/show_bug.cgi?id=79701

        Add a playback state to AudioBufferSourceNode so that the user can
        tell if the node is scheduled, playing, or finished.

        For an AudioContext, add a count of the number of
        AudioBufferSourceNode's that are active (playing audio).

        Deleted m_isPlaying and m_hasFinished. For the record, m_isPlaying
        is the same as a playbackState of SCHEDULED_STATE or PLAYING_STATE.
        m_hasFinished is equivalent to a playbackState of FINISHED_STATE.
        
        Reviewed by Chris Rogers.

        Test: webaudio/audiobuffersource-playbackState.html

        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore):
        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
        initialize playbackState, remove m_isPlaying, m_hasFinished.
        (WebCore::AudioBufferSourceNode::process): Update playbackState
        (WebCore::AudioBufferSourceNode::finish): Update playbackState
        (WebCore::AudioBufferSourceNode::noteOn): Update playbackState
        (WebCore::AudioBufferSourceNode::noteGrainOn): Update playbackState
        (WebCore::AudioBufferSourceNode::noteOff): Use playbackState 
        * webaudio/AudioBufferSourceNode.h:
        (AudioBufferSourceNode): Define states, remove m_isPlaying, m_hasFinished.
        (WebCore::AudioBufferSourceNode::playbackState): Added.
        * webaudio/AudioBufferSourceNode.idl: Define constants for the
        playback state, add attribute playbackState.
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::activeSourceCount): Added.
        (WebCore::AudioContext::incrementActiveSourceCount): Added.
        (WebCore::AudioContext::decrementActiveSourceCount): Added.
        * webaudio/AudioContext.h:
        (AudioContext):
        * webaudio/AudioContext.idl: Add attribute activeSourceCount.

2012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r109014.
        http://trac.webkit.org/changeset/109014
        https://bugs.webkit.org/show_bug.cgi?id=81551

        Causing crashes (Requested by inferno-sec on #webkit).

        * rendering/style/RenderStyle.h:

2012-03-19  Tony Chang  <tony@chromium.org>

        Unreviewed, remove headers that no longer exist or moved in WebCore.gypi.

        * WebCore.gypi:

2012-03-19  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Implement NamedFlow::contentNodes attribute
        https://bugs.webkit.org/show_bug.cgi?id=80134

        Reviewed by David Hyatt.

        The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
        In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
        The list of nodes is returned as a static node list.

        Test: fast/regions/webkit-named-flow-content-nodes.html

        * dom/Document.cpp:
        (WebCore::Document::webkitGetFlowByName):
        * dom/Document.h:
        * dom/Element.cpp:
        (WebCore::Element::detach):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        * dom/WebKitNamedFlow.cpp:
        (WebCore::WebKitNamedFlow::contentNodes):
        (WebCore):
        (WebCore::WebKitNamedFlow::registerContentNode):
        * dom/WebKitNamedFlow.h:
        (WebCore):
        (WebKitNamedFlow):
        (WebCore::WebKitNamedFlow::unregisterContentNode):
        * dom/WebKitNamedFlow.idl:

2012-03-19  Xingnan Wang  <xingnan.wang@intel.com>

        ConvolverNode should not incur processing latency
        https://bugs.webkit.org/show_bug.cgi?id=75564

        Reviewed by Chris Rogers.

        Add the DirectConvolver instead of FFTConvolver for the processing of the leading portion of impulse response.

        * WebCore.gypi:
        * platform/audio/DirectConvolver.cpp: Added.
        (WebCore):
        (WebCore::DirectConvolver::DirectConvolver):
        (WebCore::DirectConvolver::process):
        (WebCore::DirectConvolver::reset):
        * platform/audio/DirectConvolver.h: Added.
        (WebCore):
        (DirectConvolver):
        (WebCore::DirectConvolver::convolveSize):
        * platform/audio/ReverbConvolver.cpp:
        (WebCore::ReverbConvolver::ReverbConvolver):
        * platform/audio/ReverbConvolver.h:
        * platform/audio/ReverbConvolverStage.cpp:
        (WebCore::ReverbConvolverStage::ReverbConvolverStage):
        (WebCore::ReverbConvolverStage::process):
        (WebCore::ReverbConvolverStage::reset):
        * platform/audio/ReverbConvolverStage.h:
        (WebCore):
        (ReverbConvolverStage):

2012-03-19  Anders Carlsson  <andersca@apple.com>

        Find in page highlights get out of place when scrolling
        https://bugs.webkit.org/show_bug.cgi?id=81543

        Reviewed by Sam Weinig.

        Remove a now unused function from GraphicsLayer.

        * platform/graphics/GraphicsLayer.h:
        (GraphicsLayer):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):

2012-03-19  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=81534

        [New Multicolumn] Make the multi-column block re-layout its children when the column width/count change.
        Cache the count/width on the multi-column block for easy access.

        Reviewed by Antti Koivisto.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::recomputeLogicalWidth):
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderBlock.h:
        Virtualize the code that recomputes the logical width for a block and sets relayoutChildren to true,
        so that column code can subclass the method to also check for changes in the column width/count.

        * rendering/RenderMultiColumnBlock.cpp:
        (WebCore::RenderMultiColumnBlock::computeColumnCountAndWidth):
        The column count/width determination algorithm in one method on the RenderMultiColumnBlock. It's a copy
        of the code from RenderBlock (which will be going away eventually).

        (WebCore::RenderMultiColumnBlock::recomputeLogicalWidth):
        * rendering/RenderMultiColumnBlock.h:
        (RenderMultiColumnBlock):
        Subclassed method to also check for changes in the column width to set relayoutChildren to true.

2012-03-19  Michal Mocny  <mmocny@google.com>

        [chromium] Updating WebGraphicsContext3D MemoryAllocation callback to accept a struct with have backbuffer suggestion.
        https://bugs.webkit.org/show_bug.cgi?id=81279

        Reviewed by James Robinson.

        * platform/graphics/chromium/Extensions3DChromium.h:
        (GpuMemoryAllocationCHROMIUM):
        (WebCore::Extensions3DChromium::GpuMemoryAllocationCHROMIUM::GpuMemoryAllocationCHROMIUM):
        (GpuMemoryAllocationChangedCallbackCHROMIUM):

2012-03-19  Tony Chang  <tony@chromium.org>

        flex-item-align: stretch should only grow, never shrink
        https://bugs.webkit.org/show_bug.cgi?id=80882

        Reviewed by Ojan Vafai.

        New test cases in css3/flexbox/flex-align-stretch.html.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
        (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
        (WebCore):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-03-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Implement snippets evaluation.
        https://bugs.webkit.org/show_bug.cgi?id=81334

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.evaluateUsingTextPrompt):
        (WebInspector.ConsoleView.prototype._enterKeyPressed):
        * inspector/front-end/ScriptMapping.js:
        (WebInspector.MainScriptMapping):
        * inspector/front-end/SnippetsModel.js:
        * inspector/front-end/externs.js:
        (WebInspector.evaluateInConsole):
        * inspector/front-end/inspector.js:
        (WebInspector.evaluateInConsole):

2012-03-19  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API (JSEP): Introducing PeerConnection00Handler
        https://bugs.webkit.org/show_bug.cgi?id=81333

        Reviewed by Adam Barth.

        In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.

        Not possible to test until the entire JSEP feature is commited.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * platform/mediastream/PeerConnection00Handler.cpp: Added.
        (WebCore):
        (WebCore::PeerConnection00Handler::create):
        (WebCore::PeerConnection00Handler::PeerConnection00Handler):
        (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
        (WebCore::PeerConnection00Handler::createOffer):
        (WebCore::PeerConnection00Handler::createAnswer):
        (WebCore::PeerConnection00Handler::setLocalDescription):
        (WebCore::PeerConnection00Handler::setRemoteDescription):
        (WebCore::PeerConnection00Handler::localDescription):
        (WebCore::PeerConnection00Handler::remoteDescription):
        (WebCore::PeerConnection00Handler::startIce):
        (WebCore::PeerConnection00Handler::processIceMessage):
        (WebCore::PeerConnection00Handler::addStream):
        (WebCore::PeerConnection00Handler::removeStream):
        (WebCore::PeerConnection00Handler::stop):
        * platform/mediastream/PeerConnection00Handler.h: Added.
        (WebCore):
        (PeerConnection00Handler):
        * platform/mediastream/PeerConnection00HandlerClient.h: Added.
        (WebCore):
        (PeerConnection00HandlerClient):
        (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):

2012-03-19  David Reveman  <reveman@chromium.org>

        [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
        https://bugs.webkit.org/show_bug.cgi?id=80988

        Reviewed by Adrienne Walker.

        Expose EXT_occlusion_query API to WebKit compositor. Add
        GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
        enums.

        * platform/graphics/chromium/Extensions3DChromium.h:
        (Extensions3DChromium):

2012-03-19  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc: make mask images work with mixed percent/absolute
        https://bugs.webkit.org/show_bug.cgi?id=81477

        Reviewed by Ojan Vafai.

        Test: css3/calc/simple-composited-mask-expected.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-19  Mark Pilgrim  <pilgrim@chromium.org>

        Style cleanup in Modules/filesystem/
        https://bugs.webkit.org/show_bug.cgi?id=81520

        Reviewed by Adam Barth.

        No new tests, all existing tests pass.

        * Modules/filesystem/AsyncFileWriter.h:
        (WebCore::AsyncFileWriter::~AsyncFileWriter):
        * Modules/filesystem/AsyncFileWriterClient.h:
        (WebCore::AsyncFileWriterClient::~AsyncFileWriterClient):
        * Modules/filesystem/DOMFilePath.cpp:
        (WebCore::DOMFilePath::getDirectory):
        * Modules/filesystem/DOMFilePath.h:
        (DOMFilePath):
        * Modules/filesystem/DOMFileSystemBase.h:
        (DOMFileSystemBase):
        * Modules/filesystem/DirectoryEntry.h:
        * Modules/filesystem/DirectoryEntrySync.h:
        * Modules/filesystem/EntryArray.h:
        (EntryArray):
        * Modules/filesystem/FileEntry.h:
        (FileEntry):
        * Modules/filesystem/FileSystemCallbacks.h:
        (FileSystemCallbacksBase):
        * Modules/filesystem/FileWriter.cpp:
        (WebCore::FileWriter::abort):

2012-03-19  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc: background positioning works with mixed percent/absolute expressions
        https://bugs.webkit.org/show_bug.cgi?id=81478

        Reviewed by Ojan Vafai.

        Test: css3/calc/background-position-parsing-expected.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-19  Alexander Færøy  <alexander.faeroy@nokia.com>

        Add NodeRenderStyle.h to TouchAdjustment.cpp

        Unreviewed build fix after r111185.

        * page/TouchAdjustment.cpp:

2012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Add PlatformMediaEngineClassName for blackberry in platform/graphics/MediaPlayer.cpp
        https://bugs.webkit.org/show_bug.cgi?id=81489

        Reviewed by Rob Buis.

        * platform/graphics/MediaPlayer.cpp:

2012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to platform/PlatformKeyboardEvent.h
        https://bugs.webkit.org/show_bug.cgi?id=81312

        Reviewed by Rob Buis.

        * platform/PlatformKeyboardEvent.h:
        (Platform):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
        Add BlackBerry specific constructor and member fields.
        * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        Change the parameter type to const reference type to adapt to the declaration.

2012-03-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Select best target for tap gesture.
        https://bugs.webkit.org/show_bug.cgi?id=78801

        Reviewed by Kenneth Rohde Christiansen.
        IntRect changes reviewed by Dave Hyatt.

        The new API is available through EventHandler::bestClickableNodeForTouchPoint, but
        implementation details have been placed in page/TouchAdjustment.

        The default hit detection is performed by measuring the distance to the center
        lines of the absolute rects of the hit nodes. Absolute rects are used instead
        of bounding rects to make hit-detecting against links over line breaks. Distance
        to center line is used to make it easier to hit small links next to large links.
        For line-rects the distance to the center-line is a better expression of the distance
        to a rectangles center than the distance to the center-point.

        Tests: touchadjustment/event-triggered-widgets.html
               touchadjustment/html-label.html
               touchadjustment/nested-touch.html
               touchadjustment/touch-inlines.html

        * Target.pri:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureTap):
        (WebCore::EventHandler::bestClickableNodeForTouchPoint):
        * page/EventHandler.h:
        * page/TouchAdjustment.cpp: Added.
        (WebCore::TouchAdjustment::QuadForHitTest::QuadForHitTest):
        (WebCore::TouchAdjustment::QuadForHitTest::node):
        (WebCore::TouchAdjustment::QuadForHitTest::quad):
        (WebCore::TouchAdjustment::QuadForHitTest::boundingBox):
        (WebCore::TouchAdjustment::nodeRespondsToTapGesture):
        (WebCore::TouchAdjustment::appendAbsoluteQuadsForNodeToHitTestList):
        (WebCore::TouchAdjustment::compileQuadsForHitTesting):
        (WebCore::TouchAdjustment::distanceSquaredToQuadCenterLine):
        (WebCore::TouchAdjustment::findNodeWithLowestMetric):
        (WebCore::findBestClickableCandidate):
        * page/TouchAdjustment.h: Added.
        * platform/graphics/FloatQuad.h:
        (WebCore::FloatQuad::center):
        * platform/graphics/IntPoint.h:
        (WebCore::IntPoint::distanceSquaredToPoint):
        * platform/graphics/IntRect.cpp:
        (WebCore::distanceToInterval):
        (WebCore::IntRect::differenceToPoint):
        (WebCore::IntRect::differenceFromCenterLineToPoint):
        * platform/graphics/IntRect.h:
        (WebCore::IntRect::distanceSquaredToPoint):
        (WebCore::IntRect::distanceSquaredFromCenterLineToPoint):
        * platform/graphics/IntSize.h:
        (WebCore::IntSize::diagonalLengthSquared):
        * testing/Internals.cpp:
        (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
        (WebCore::Internals::touchNodeAdjustedToBestClickableNode):
        * testing/Internals.h:
        * testing/Internals.idl:

2012-03-19  Mark Pilgrim  <pilgrim@chromium.org>

        Add ENABLED(FILE_SYSTEM) to DOMFilePath.h
        https://bugs.webkit.org/show_bug.cgi?id=81393

        Reviewed by Kentaro Hara.

        No new tests, all existing tests pass.

        * Modules/filesystem/DOMFilePath.h:

2012-03-19  Max Vujovic  <mvujovic@adobe.com>

        inspector highlight of SVG root element with viewbox does not match dimensions of element
        https://bugs.webkit.org/show_bug.cgi?id=78037

        Reviewed by Nikolas Zimmermann.

        Functions such as RenderBox::absoluteQuads and DOMNodeHighlighter::getOrDrawNodeHighlight
        eventually call RenderSVGRoot::mapLocalToContainer, passing along local CSS box coordinates.

        However, before this patch, RenderSVGRoot::mapLocalToContainer expected local SVG viewport
        coordinates. This caused the inspector highlight to be incorrectly sized and positioned.

        Now, RenderSVGRoot::mapLocalToContainer expects local CSS box coordinates, like other HTML
        renderers.

        Test: inspector/elements/highlight-svg-root.html

        * dom/Element.cpp:
        (WebCore::Element::getBoundingClientRect):
            Now, the SVG root element can use the code path for elements with CSS boxes to calculate
            its bounding client rect.

        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::mapLocalToContainer):
            RenderSVGRoot::mapLocalToContainer no longer needs to apply the
            localToBorderBoxTransform to convert from local SVG viewport coordinates to local CSS
            box coordinates. Now, it receives local CSS box coordinates.

        * rendering/svg/RenderSVGRoot.h:
        (WebCore::RenderSVGRoot::localToBorderBoxTransform):
            RenderSVGRoot::localToBorderBoxTransform has been exposed for child elements in the SVG
            namespace to use when mapping from local SVG viewport coordinates to local CSS box
            coordinates.

        (RenderSVGRoot):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::mapLocalToContainer):
            Elements in the SVG namespace should now apply the localToBorderBoxTransform at the
            SVG/HTML boundary (aka RenderSVGRoot) when mapping their coordinates up the render tree.

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
            Same as above. This method is eventually used in the SVGLocatable::getScreenCTM
            calculation.

2012-03-19  Hironori Bono  <hbono@chromium.org>

        Add a copy constructor to CollapsedBorderValue
        https://bugs.webkit.org/show_bug.cgi?id=81502

        Reviewed by Hajime Morita.

        Due to the lack of this copy constructor, GCC (x86) creates a broken copy
        constructor and it causes a build break on Google Chrome.

        * rendering/style/CollapsedBorderValue.h:
        (WebCore::CollapsedBorderValue::CollapsedBorderValue):
        (CollapsedBorderValue):

2012-03-18  Matt Falkenhagen  <falken@chromium.org>

        Fallback to common script when per-script font setting is the empty string
        https://bugs.webkit.org/show_bug.cgi?id=81329

        Reviewed by Kent Tamura.

        Tests: fast/text/international/font-fallback-to-common-script.html

        * page/Settings.cpp:
        (WebCore::setGenericFontFamilyForScript): Remove the setting when the per-script font family is the empty string.

2012-03-18  Luke Macpherson   <macpherson@chromium.org>

        Remove remnants of code that assume Lengths are 28 bit integers.
        https://bugs.webkit.org/show_bug.cgi?id=67976

        Reviewed by Eric Seidel.

        Test: LayoutTests/fast/table/max-width-integer-overflow-expected.html

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLength):
        Bound by INT_MAX and INT_MIN instead of 28 bit bounds.
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        Use PrimitiveValue::computeLength function directly.
        * platform/Length.h:
        Remove 28 bit integer limit constants.
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
        Use std::numeric_limits.

2012-03-16  Shinya Kawanaka  <shinyak@chromium.org>

        Should remove RuntimeEnabledFeatures::multipleShadowSubtreesEnabled
        https://bugs.webkit.org/show_bug.cgi?id=79307

        Reviewed by Dimitri Glazkov.

        Since RuntimeEnabledFeatures::multipleShadowSubtreesEnabled was introduced for
        temporal unstability of multiple shadow roots. We should remove it now, and
        enable it by default.

        Test: fast/dom/shadow/shadow-root-js-api.html should cover this change.
        The other shadow related tests should also covers this change.

        * WebCore.exp.in:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * bindings/generic/RuntimeEnabledFeatures.h:
        (RuntimeEnabledFeatures):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::addShadowRoot):
        * testing/Internals.cpp:
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-18  Dana Jansens  <danakj@chromium.org>

        [chromium] Don't occlude on main-thread behind layers/surfaces with impl-thread animations
        https://bugs.webkit.org/show_bug.cgi?id=81354

        Reviewed by Adrienne Walker.

        Layers and surfaces can have an animating opacity or translation on the
        impl thread. In this case, the main thread does not know their actual
        values, and treats these values as "unknowns". This means we can't use
        them for marking areas of the screen as occluded, and we can't consider
        a part of a layer occluded in a space that we can not reliably transform
        to.

        Unit test: CCOcclusionTrackerTestAnimationOpacity0OnMainThread
                   CCOcclusionTrackerTestAnimationOpacity1OnMainThread
                   CCOcclusionTrackerTestAnimationTranslateOnMainThread

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::layerOpacityKnown):
        (WebCore::layerTransformsToTargetKnown):
        (WebCore::layerTransformsToScreenKnown):
        (WebCore):
        (WebCore::surfaceOpacityUnknown):
        (WebCore::surfaceTransformsToTargetUnknown):
        (WebCore::surfaceTransformsToScreenUnknown):
        (WebCore::::finishedTargetRenderSurface):
        (WebCore::contentToScreenSpaceTransform):
        (WebCore::contentToTargetSurfaceTransform):
        (WebCore::::markOccludedBehindLayer):
        (WebCore::::occluded):
        (WebCore::::unoccludedContentRect):

2012-03-18  Dana Jansens  <danakj@chromium.org>

        [chromium] Animating opacity is not opaque and should create a render surface on main thread
        https://bugs.webkit.org/show_bug.cgi?id=81401

        Reviewed by James Robinson.

        Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy

        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::layerOpacityIsOpaque):
        (WebCore):
        (WebCore::subtreeShouldRenderToSeparateSurface):

2012-03-18  Sam Weinig  <sam@webkit.org>

        WebCore::BitmapImage::getCGImageRef should not be used off the main thread.
        https://bugs.webkit.org/show_bug.cgi?id=81441

        Reviewed by Anders Carlsson.

        Covered by existing tests.

        * loader/cache/MemoryCache.cpp:
        (WebCore::memoryCache):
        (WebCore::MemoryCache::add):
        (WebCore::MemoryCache::revalidationFailed):
        (WebCore::MemoryCache::resourceForURL):
        (WebCore::MemoryCache::evict):
        Add back main thread assertions.

        * platform/graphics/cg/PatternCG.cpp:
        (PatternCallbackData):
        (WebCore::patternCallback):
        (WebCore::patternReleaseOnMainThreadCallback):
        (WebCore::Pattern::createPlatformPattern):
        Instead of pulling out the CGImageRef in the pattern callback, do it upfront.

2012-03-18  Alexander Færøy  <alexander.faeroy@nokia.com>

        [Qt] Don't prepare SQL statements when the database is not open
        https://bugs.webkit.org/show_bug.cgi?id=81470

        Reviewed by Kenneth Rohde Christiansen.

        Already covered by existing tests.

        * platform/qt/CookieJarQt.cpp:
        (WebCore::SharedCookieJarQt::deleteCookiesForHostname):
        (WebCore::SharedCookieJarQt::deleteAllCookies):
        (WebCore::SharedCookieJarQt::setCookiesFromUrl):
        (WebCore::SharedCookieJarQt::loadCookies):

2012-03-18  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r110994 due to Chromium crash

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * notifications/DOMWindowNotifications.cpp: Removed.
        * notifications/DOMWindowNotifications.h: Removed.
        * notifications/DOMWindowNotifications.idl: Removed.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::willDetachPage):
        (WebCore::DOMWindow::disconnectDOMWindowProperties):
        (WebCore::DOMWindow::clearDOMWindowProperties):
        (WebCore):
        (WebCore::DOMWindow::webkitNotifications):
        (WebCore::DOMWindow::resetNotifications):
        * page/DOMWindow.h:
        (WebCore):
        (DOMWindow):
        * page/DOMWindow.idl:
        * page/Frame.cpp:
        (WebCore::Frame::willDetachPage):
        (WebCore::Frame::transferChildFrameToNewDocument):

2012-03-18  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r111086.
        http://trac.webkit.org/changeset/111086
        https://bugs.webkit.org/show_bug.cgi?id=81374

        Chromium crash

        * notifications/DOMWindowNotifications.cpp:
        (WebCore::DOMWindowNotifications::disconnectFrame):

2012-03-18  David Reveman  <reveman@chromium.org>

        Invalidation issue when creating backing layer for fixed positioned element.
        https://bugs.webkit.org/show_bug.cgi?id=80647

        Reviewed by James Robinson.

        Ensure that root layer is correctly invalidated by handling scroll and
        invalidation from movement of fixed position elements prior to creating
        any backing layers.

        Test: compositing/layer-creation/fixed-position-scroll.html

        * page/FrameView.cpp:
        (WebCore::FrameView::repaintFixedElementsAfterScrolling):
        (WebCore):
        (WebCore::FrameView::updateFixedElementsAfterScrolling):
        * page/FrameView.h:
        (FrameView):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollTo):
        * platform/ScrollView.h:
        (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
        (WebCore::ScrollView::updateFixedElementsAfterScrolling):

2012-03-18  Dana Jansens  <danakj@chromium.org>

        [chromium] Transform animation state should be inherited from parents
        https://bugs.webkit.org/show_bug.cgi?id=81363

        Reviewed by Adrienne Walker.

        Adds a drawTransformIsAnimating() and screenSpaceTransformIsAnimating()
        to the layer classes, and similar to the surface classes. These inherit
        the values from their parents in the same way that the transforms
        themselves do, and reflect if the layer's transform is being affected
        by some active animation.

        These can be used in main-thread culling when determining if the layer's
        position is static in the given coordinate space or being animated.

        Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        (WebCore::LayerChromium::drawTransformIsAnimating):
        (WebCore::LayerChromium::setDrawTransformIsAnimating):
        (WebCore::LayerChromium::screenSpaceTransformIsAnimating):
        (WebCore::LayerChromium::setScreenSpaceTransformIsAnimating):
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::targetSurfaceTransformsAreAnimating):
        (WebCore::RenderSurfaceChromium::setTargetSurfaceTransformsAreAnimating):
        (WebCore::RenderSurfaceChromium::screenSpaceTransformsAreAnimating):
        (WebCore::RenderSurfaceChromium::setScreenSpaceTransformsAreAnimating):
        (RenderSurfaceChromium):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        (WebCore::CCLayerImpl::drawTransformIsAnimating):
        (WebCore::CCLayerImpl::setDrawTransformIsAnimating):
        (WebCore::CCLayerImpl::screenSpaceTransformIsAnimating):
        (WebCore::CCLayerImpl::setScreenSpaceTransformIsAnimating):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::subtreeShouldBeSkipped):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::CCRenderSurface):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (WebCore::CCRenderSurface::targetSurfaceTransformsAreAnimating):
        (WebCore::CCRenderSurface::setTargetSurfaceTransformsAreAnimating):
        (WebCore::CCRenderSurface::screenSpaceTransformsAreAnimating):
        (WebCore::CCRenderSurface::setScreenSpaceTransformsAreAnimating):
        (CCRenderSurface):

2012-03-18  Pratik Solanki  <psolanki@apple.com>

        Fix compile when FULLSCREEN_API is not enabled on Mac
        https://bugs.webkit.org/show_bug.cgi?id=81474

        Reviewed by Ada Chan.

        Guard the full screen api code inside ENABLE(FULLSCREEN_API).

        No new tests because no functional changes.

        * platform/mac/WebCoreFullScreenWindow.h:
        * platform/mac/WebCoreFullScreenWindow.mm:

2012-03-18  Kentaro Hara  <haraken@chromium.org>

        Change the initial buffer size of a plain text
        https://bugs.webkit.org/show_bug.cgi?id=81192

        Reviewed by Dimitri Glazkov.

        r111109 changed the initial buffer size of a plain text
        from 1<<16 to 1<<15 in Chromium/Mac only, for the following reasons:

        - As far as I experimented locally, while 1<<15 is better than 1<<16 in Chromium/Mac,
        1<<15 and 1<<16 are the same in AppleWebKit/Mac and Chromium/Linux (their performance
        "gap" exists at between 1<<17 and 1<<18).
        - The reason why I changed 1<<16 to 1<<15 in Chromium/Mac only is that
        the value highly depends on the underlying malloc system and I was a bit afraid
        that changing to 1<<15 _might_ cause unintentional performance regression in some
        platform.

        That being said, it seems that 1<<15 would not be worse than 1<<16 in all platforms,
        and we should just keep the value consistent. In the first place, according to anttik
        (who wrote 1<<16 a long time ago), there was no strong reason for 1<<16.

        Based on these observations (See https://bugs.webkit.org/show_bug.cgi?id=81192
        for more details), this patch unifies the value to 1<<15 in all platforms.

        No tests. No change in behavior.

        * editing/TextIterator.cpp:
        (WebCore::plainTextToMallocAllocatedBuffer):

2012-02-13  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: eof-003.htm fails
        https://bugs.webkit.org/show_bug.cgi?id=78538

        Reviewed by Antti Koivisto.

        Tests: css2.1/20110323/eof-001.htm
               css2.1/20110323/eof-003.htm
               css2.1/20110323/eof-004.htm
               css2.1/20110323/eof-005.htm
               css2.1/20110323/eof-006.htm
               css2.1/20110323/eof-007.htm

        This patch fixes eof-003.htm, eof-005.htm and eof-006.htm. The other eof-* tests already pass.

        * css/CSSGrammar.y: Allow EOF as well as ';' to terminate import rules.
                            This should probably be done for other rules in a separate patch.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::checkAndSkipString): Allow strings to end with EOF.
        (WebCore::CSSParser::parseString): ditto

2012-03-17  David Reveman  <reveman@chromium.org>

        [Chromium] PlatformContextSkia::m_drawingToImageBuffer is not correctly set when using per-tile painting.
        https://bugs.webkit.org/show_bug.cgi?id=81463

        Reviewed by James Robinson.

        Call PlatformContextSkia::setDrawingToImageBuffer() from
        SkPictureCanvasLayerTextureUpdater::prepareToUpdate so that sub-pixel
        text rendering is not used incorrectly with per-tile painting.

        No new tests.

        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):

2012-03-17  Robert Kroeger  <rjkroege@chromium.org>

        [chromium] Make pixel-accurate wheel scrolling be unanimated
        https://bugs.webkit.org/show_bug.cgi?id=81457

        Reviewed by James Robinson.

        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::scroll):

2012-03-17  Rob Buis  <rbuis@rim.com>

        [BlackBerry] Implement openTemporaryFile in FileSystem
        https://bugs.webkit.org/show_bug.cgi?id=81373

        Reviewed by George Staikos.

        Move the Efl implementation to Posix, this way BlackBerry port can reuse it.

        * platform/blackberry/FileSystemBlackBerry.cpp:
        * platform/efl/FileSystemEfl.cpp:
        * platform/posix/FileSystemPOSIX.cpp:
        (WebCore::openTemporaryFile):
        (WebCore):

2012-03-17  Joe Thomas  <joethomas@motorola.com>

        move calc*Value functions out from Length (and platform)
        https://bugs.webkit.org/show_bug.cgi?id=80897

        Moving the Length calc*Value functions out from Length structure and also from /WebCore/platform/ folder.
        This helps to avoid the layering violation while length calculation. Otherwise layer violation can be avoided only by adding a virtual interface(bug 27160).

        Reviewed by Antti Koivisto.

        * GNUmakefile.list.am: Build system changes for adding new files.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
        (getAttributeSetForAccessibilityObject):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/LengthFunctions.h: Added. Moved calc*Value functions of Length.
        (WebCore):
        (WebCore::calculateMinimumValue):
        (WebCore::calculateValue):
        (WebCore::calculateFloatValue):
        * dom/Document.cpp:
        (WebCore::Document::pageSizeAndMarginsInPixels):
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::getRegion):
        * platform/CalculationValue.h:
        (WebCore::CalcExpressionLength::evaluate):
        * platform/Length.h: Removed the calc*Value functions from Length structure.
        (Length):
        (WebCore::Length::getFloatValue):
        (WebCore::Length::getIntValue):
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::setFilters):
        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
        (WebCore::CCRenderSurfaceFilters::apply):
        * platform/graphics/filters/FilterOperations.cpp:
        (WebCore::FilterOperations::getOutsets):
        * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
        (WebCore::PerspectiveTransformOperation::blend):
        * platform/graphics/transforms/PerspectiveTransformOperation.h:
        (WebCore::PerspectiveTransformOperation::isIdentity):
        (WebCore::PerspectiveTransformOperation::apply):
        * platform/graphics/transforms/TranslateTransformOperation.h:
        (WebCore::TranslateTransformOperation::x):
        (WebCore::TranslateTransformOperation::y):
        (WebCore::TranslateTransformOperation::z):
        (WebCore::TranslateTransformOperation::isIdentity):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::paint):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::layout):
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::build):
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::layout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::textIndentOffset):
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::reflectionOffset):
        (WebCore::RenderBox::clipRect):
        (WebCore::RenderBox::computeLogicalWidthInRegion):
        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
        (WebCore::RenderBox::computeInlineDirectionMargins):
        (WebCore::RenderBox::computePercentageLogicalHeight):
        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
        (WebCore::RenderBox::availableLogicalHeightUsing):
        (WebCore::RenderBox::computeBlockDirectionMargins):
        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
        (WebCore::RenderBoxModelObject::relativePositionOffsetY):
        (WebCore::RenderBoxModelObject::paddingTop):
        (WebCore::RenderBoxModelObject::paddingBottom):
        (WebCore::RenderBoxModelObject::paddingLeft):
        (WebCore::RenderBoxModelObject::paddingRight):
        (WebCore::RenderBoxModelObject::paddingBefore):
        (WebCore::RenderBoxModelObject::paddingAfter):
        (WebCore::RenderBoxModelObject::paddingStart):
        (WebCore::RenderBoxModelObject::paddingEnd):
        (WebCore::RenderBoxModelObject::calculateFillTileSize):
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        (WebCore::computeBorderImageSide):
        (WebCore::RenderBoxModelObject::paintNinePieceImage):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::layOutAxis):
        * rendering/RenderInline.cpp:
        (WebCore::computeMargin):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::perspectiveTransform):
        (WebCore::RenderLayer::perspectiveOrigin):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::computeTransformOrigin):
        (WebCore::RenderLayerBacking::computePerspectiveOrigin):
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::timerFired):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateOptionsWidth):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::calcScrollbarThicknessUsing):
        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::logicalHeightForRowSizing):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        * rendering/RenderText.h:
        (WebCore::RenderText::marginLeft):
        (WebCore::RenderText::marginRight):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::verticalPositionForBox):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::applyTransform):
        (WebCore::calcRadiiFor):
        * rendering/style/RenderStyle.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
        (WebCore::resolveLengthAttributeForSVG):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::currentViewBoxRect):
        (WebCore::SVGSVGElement::currentViewportSize):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::computeIntrinsicDimensions):

2012-03-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGNumberOptionalNumber
        https://bugs.webkit.org/show_bug.cgi?id=81448

        Reviewed by Antti Koivisto.

        Enable animVal support for SVGNumberOptionalNumber. Its a special case as two SVG DOM properties
        eg. stdDeviationX/stdDeviationY are mapped to a single XML attribute: SVGNames::stdDeviationAttr.

        When animating properties like this, both animVal wrappers need to reflect changes.
        Generalize the current animVal code to support more than one SVGAnimatedProperty that gets
        animated for a single attributeName. This allows us to remove SVGAnimatedType::variantValue/setVariantValue
        which paves the way for removing SVGGenericAnimatedType from even more places.

        Covered by existing tests.

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::targetElementWillChange):
        * svg/SVGAnimateElement.h:
        (SVGAnimateElement):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::constructFromBaseValue):
        (WebCore):
        (WebCore::SVGAnimatedLengthAnimator::resetAnimatedTypeToBaseValue):
        * svg/SVGAnimatedLength.h:
        (SVGAnimatedLengthAnimator):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::constructFromBaseValue):
        (WebCore):
        (WebCore::SVGAnimatedLengthListAnimator::resetAnimatedTypeToBaseValue):
        * svg/SVGAnimatedLengthList.h:
        (SVGAnimatedLengthListAnimator):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::constructFromBaseValue):
        (WebCore):
        (WebCore::SVGAnimatedNumberAnimator::resetAnimatedTypeToBaseValue):
        * svg/SVGAnimatedNumber.h:
        (SVGAnimatedNumberAnimator):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::constructFromBaseValue):
        (WebCore):
        (WebCore::SVGAnimatedNumberListAnimator::resetAnimatedTypeToBaseValue):
        * svg/SVGAnimatedNumberList.h:
        (SVGAnimatedNumberListAnimator):
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromBaseValue):
        (WebCore):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimatedTypeToBaseValue):
        * svg/SVGAnimatedNumberOptionalNumber.h:
        (WebCore):
        (SVGAnimatedNumberOptionalNumberAnimator):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::constructFromBaseValue):
        (WebCore::SVGAnimatedTransformListAnimator::resetAnimatedTypeToBaseValue):
        (WebCore):
        * svg/SVGAnimatedTransformList.h:
        (SVGAnimatedTransformListAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::supportsAnimVal):
        * svg/SVGAnimatedType.h:
        (SVGAnimatedType):
        * svg/SVGAnimatedTypeAnimator.h:
        (SVGAnimatedTypeAnimator):
        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeToBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::currentBaseValueVariant):
        (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeFromOneBaseValue):
        (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
        (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeFromTwoBaseValues):
        * svg/SVGAnimationElement.cpp:
        (WebCore::findMatchingAnimatedProperties):
        (WebCore::SVGAnimationElement::applyAnimatedValue):
        (WebCore::notifyAnimatedPropertyAboutAnimationBeginEnd):
        (WebCore::SVGAnimationElement::animationStarted):
        (WebCore::SVGAnimationElement::animationEnded):
        (WebCore::SVGAnimationElement::animatedPropertiesForType):
        * svg/SVGAnimationElement.h:
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
        (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
        * svg/properties/SVGAnimatedProperty.h:
        (SVGAnimatedProperty):
        * svg/properties/SVGAnimatedPropertyTearOff.h:
        (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
        (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
        (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
        (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):

2012-03-12  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] run AudioFileReader in a nested loop
        https://bugs.webkit.org/show_bug.cgi?id=80823

        Reviewed by Martin Robinson.

        Use a separate main loop for the file reader, this approach is
        much cleaner than polling the default GLib main context.

        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
        (AudioFileReader):
        (WebCore::enteredMainLoopCallback):
        (WebCore):
        (WebCore::AudioFileReader::AudioFileReader):
        (WebCore::AudioFileReader::handleMessage):
        (WebCore::AudioFileReader::start):
        (WebCore::AudioFileReader::createBus):

2012-02-07  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail
        https://bugs.webkit.org/show_bug.cgi?id=78027

        Reviewed by Julien Chaffraix.

        Both of these test the (slightly implicit) rule that width set on column-groups cannot
        affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
        FF, Opera and IE all pass these two tests.

        Tests: css2.1/20110323/fixed-table-layout-013.htm
               css2.1/20110323/fixed-table-layout-015.htm
               fast/table/fixed-table-layout-toggle-colwidth.html

        * rendering/FixedTableLayout.cpp:
        (WebCore::nextCol): A helper function for finding the next column along.
        (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups.
        * rendering/RenderTableCol.h:
        (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups.

2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Add BlackBerry to NavigatorBase.cpp
        https://bugs.webkit.org/show_bug.cgi?id=81303

        Reviewed by Rob Buis.

        * page/NavigatorBase.cpp:

2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Add typedef of DragDataRef for blackberry
        https://bugs.webkit.org/show_bug.cgi?id=81301

        Reviewed by Rob Buis.

        * platform/DragData.h:

2012-03-16  James Robinson  <jamesr@chromium.org>

        [chromium] Unify the drawing logic for different layer types that output textures to the compositor
        https://bugs.webkit.org/show_bug.cgi?id=81286

        Reviewed by Adrienne Walker.

        Currently canvas 2d, webgl, and plugin layers all export a texture to the compositor that then needs to be
        drawn.  There are a small set of operations that can be applied to the texture at draw time - do a Y flip,
        stretch a subrect to the layer bounds, set the blend mode etc but they are fundamentally the same thing. This
        collapses the nearly-redundant code into a single impl-side layer type for a texture-backed layer that can
        handle the union of the bits needed for each layer type.

        Canvas 2d, WebGL and plugin composited rendering are all covered by layout tests.

        * WebCore.gypi:
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/CanvasLayerChromium.cpp:
        (WebCore::CanvasLayerChromium::createCCLayerImpl):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawQuad):
        (WebCore::TexStretchTextureProgramBinding::set):
        (WebCore::TexTransformTextureProgramBinding::set):
        (WebCore::LayerRendererChromium::drawTextureQuad):
        (WebCore::LayerRendererChromium::textureLayerProgramFlip):
        (WebCore::LayerRendererChromium::textureLayerProgramStretch):
        (WebCore::LayerRendererChromium::textureLayerProgramStretchFlip):
        (WebCore::LayerRendererChromium::textureLayerTexRectProgram):
        (WebCore::LayerRendererChromium::textureLayerTexRectProgramFlip):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore):
        (LayerRendererChromium):
        * platform/graphics/chromium/PluginLayerChromium.cpp:
        (WebCore::PluginLayerChromium::PluginLayerChromium):
        (WebCore::PluginLayerChromium::createCCLayerImpl):
        (WebCore::PluginLayerChromium::setIOSurfaceProperties):
        (WebCore::PluginLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/PluginLayerChromium.h:
        (PluginLayerChromium):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCCanvasDrawQuad.h: Removed.
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Removed.
        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
        (WebCore::CCDrawQuad::toTextureDrawQuad):
        * platform/graphics/chromium/cc/CCDrawQuad.h:
        (WebCore):
        (CCDrawQuad):
        * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginDrawQuad.cpp.
        (WebCore):
        (WebCore::CCTextureDrawQuad::create):
        (WebCore::CCTextureDrawQuad::CCTextureDrawQuad):
        * platform/graphics/chromium/cc/CCTextureDrawQuad.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginDrawQuad.h.
        (WebCore):
        (CCTextureDrawQuad):
        (WebCore::CCTextureDrawQuad::textureId):
        (WebCore::CCTextureDrawQuad::hasAlpha):
        (WebCore::CCTextureDrawQuad::premultipliedAlpha):
        (WebCore::CCTextureDrawQuad::uvRect):
        (WebCore::CCTextureDrawQuad::flipped):
        (WebCore::CCTextureDrawQuad::ioSurfaceSize):
        (WebCore::CCTextureDrawQuad::ioSurfaceTextureId):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.cpp.
        (WebCore):
        (WebCore::CCTextureLayerImpl::CCTextureLayerImpl):
        (WebCore::CCTextureLayerImpl::~CCTextureLayerImpl):
        (WebCore::CCTextureLayerImpl::willDraw):
        (WebCore::CCTextureLayerImpl::appendQuads):
        (WebCore::CCTextureLayerImpl::dumpLayerProperties):
        (WebCore::CCTextureLayerImpl::didLoseContext):
        (WebCore::CCTextureLayerImpl::setIOSurfaceProperties):
        * platform/graphics/chromium/cc/CCTextureLayerImpl.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.h.
        (WebCore):
        (CCTextureLayerImpl):
        (WebCore::CCTextureLayerImpl::create):
        (WebCore::CCTextureLayerImpl::textureId):
        (WebCore::CCTextureLayerImpl::setTextureId):
        (WebCore::CCTextureLayerImpl::setHasAlpha):
        (WebCore::CCTextureLayerImpl::setPremultipliedAlpha):
        (WebCore::CCTextureLayerImpl::setFlipped):
        (WebCore::CCTextureLayerImpl::setUVRect):
        (WebCore::CCTextureLayerImpl::layerTypeAsString):

2012-03-16  Martin Robinson  <mrobinson@igalia.com>

        [Cairo] Text extent of shadowed text is calculated incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=65035

        Reviewed by Martin Robinson.

        No new tests. This is already covered by fast/canvas/fillText-shadow.html.

        Correct determine the size of rendered text using x and y bearing from the font
        extents.

        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::drawGlyphsShadow): Use the x and y bearing to calculate text extents.
        This gives a more accurate sizing and avoids clipping the edges of the shadow.

2012-03-16  Kentaro Hara  <haraken@chromium.org>

        [Chromium][Performance] Optimize innerText and outerText in Chromium/Mac
        https://bugs.webkit.org/show_bug.cgi?id=81192

        Reviewed by Dimitri Glazkov.

        This patch makes innerText and outerText 4 times faster on Chromium/Mac.
        A similar performance improvement will be also observed in APIs that are using
        TextIterator::plainText() (e.g. Editting, SpellChecker, Clipboard, Pasteboard etc).

        Performance test: https://bugs.webkit.org/attachment.cgi?id=131989

        - AppleWebKit/JavaScriptCore/Mac:
        div.innerText : 2978.4ms
        div.outerText : 2944.4ms

        - Chromium/V8/Mac without the patch:
        div.innerText : 10050.8ms
        div.outerText : 10072.2ms

        - Chromium/V8/Mac with the patch:
        div.innerText: 2536.4ms
        div.outerText: 2714ms

        This patch just changes the initial buffer size of a plain text buffer on Chromium/Mac.
        As shown below, in my local Chromium/Mac environment the performance changes
        dramatically between 1<<15 and 1<<16, and in my local Chromium/Linux environment
        the performance changes between 1<<17 and 1<<18. I am not yet sure what determines
        these figures, but it seems there exists a performance gap at some point
        depending on a malloc mechanism.

        - div.innerText results on Chromium/V8/Mac:
        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 14 ==> 2465.6 ms
        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 15 ==> 2447.2 ms   <--- after this patch
        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 16 ==> 10250.8 ms  <--- before this patch
        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 17 ==> 10278.2 ms

        - div.innerText results on Chromium/V8/Linux:
        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 14 ==> 1569.8 ms
        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 15 ==> 1531.8 ms
        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 16 ==> 1543.2 ms  <--- before/after this patch
        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 17 ==> 1541.6 ms
        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 18 ==> 12540.8 ms
        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 19 ==> 12340.8 ms

        * editing/TextIterator.cpp:
        (WebCore::plainTextToMallocAllocatedBuffer):

2012-03-16  Dmitry Titov  <dimich@chromium.org>

        HTMLFrameElementBase::m_remainsAliveOnRemovalFromTree can be cleared without unloading the frame.
        https://bugs.webkit.org/show_bug.cgi?id=80766

        Reviewed by Adam Barth.

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::insertedIntoDocument):
        (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree):
        if adoptNode() is called on a detached iframe or with a detached document,
        unload the iframe to avoid live iframe to hang around w/o being attached to
        a document.

2012-03-16  Joe Thomas  <joethomas@motorola.com>

        Xcode project file is not sorted.
        https://bugs.webkit.org/show_bug.cgi?id=81439

        Sorted the project file entries using sort-Xcode-project-file script.

        Reviewed by Eric Seidel.

        * WebCore.xcodeproj/project.pbxproj:

2012-03-16  Yael Aharon  <yael.aharon@nokia.com>

        Unreviewed build fix after r111075.
        Correct the path of WebKitBlobBuilder.idl.

        * DerivedSources.pri:

2012-03-16  David Levin  <levin@chromium.org>

        Fix for test runs for non-chromium platforms.

        * loader/cache/MemoryCache.cpp:
        (WebCore::memoryCache):
        (WebCore::MemoryCache::add):
        (WebCore::MemoryCache::revalidationFailed):
        (WebCore::MemoryCache::resourceForURL):
        (WebCore::MemoryCache::evict):

2012-03-16  Tony Chang  <tony@chromium.org>

        Unreviewed, rolling out r111094.
        http://trac.webkit.org/changeset/111094
        https://bugs.webkit.org/show_bug.cgi?id=80882

        broke test on chromium-win

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::alignChildren):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-03-16  Anders Carlsson  <andersca@apple.com>

        REGRESSION (r110737): Height element changes on scrolled page causes failure
        https://bugs.webkit.org/show_bug.cgi?id=81381
        <rdar://problem/11066006>

        Reviewed by Sam Weinig.

        Limit the fix made in r110737 to check if there's a rubber-band gesture in progress and only ignore the range if that is the case.

        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::isRubberBandInProgress):
        (ScrollAnimator):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars):
        * platform/mac/ScrollAnimatorMac.h:
        (ScrollAnimatorMac):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::isRubberBandInProgress):
        (WebCore):
        * platform/mac/ScrollElasticityController.h:
        (ScrollElasticityController):
        * platform/mac/ScrollElasticityController.mm:
        (WebCore::ScrollElasticityController::isRubberBandInProgress):
        (WebCore):

2012-03-16  Robert Kroeger  <rjkroege@chromium.org>

        GestureTapDown needs to pin in-progress flings
        https://bugs.webkit.org/show_bug.cgi?id=80875

        Reviewed by Adam Barth.

        * page/EventHandler.cpp:
        (WebCore):
        (WebCore::EventHandler::handleGestureTapDown):
        * page/EventHandler.h:
        (EventHandler):

2012-03-16  Chris Rogers  <crogers@google.com>

        Account for sample-rate in convolution normalization
        https://bugs.webkit.org/show_bug.cgi?id=81432

        Reviewed by James Robinson.

        * platform/audio/Reverb.cpp:
        (WebCore):
        (WebCore::calculateNormalizationScale):
        * webaudio/ConvolverNode.cpp:
        (WebCore::ConvolverNode::setBuffer):

2012-03-16  Tom Sepez  <tsepez@chromium.org>

        Make V8 window.open.call(), window.open.showModalDialog() results more closely match JSC. 
        https://bugs.webkit.org/show_bug.cgi?id=81260
        https://bugs.webkit.org/show_bug.cgi?id=39897

        Reviewed by Adam Barth.

        Tested via http/tests/security/cross-frame-access-call.htm

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::showModalDialogCallback):
        (WebCore::V8DOMWindow::openCallback):

2012-03-16  Matt Lilek  <mrl@apple.com>

        Use modern NSNumberFormatter API in LocalizedNumberMac.mm
        https://bugs.webkit.org/show_bug.cgi?id=81429

        Reviewed by Dan Bernstein.

        No new tests as no change in behavior.

        * platform/text/mac/LocalizedNumberMac.mm:
        (WebCore::createFormatterForCurrentLocaleForDisplay):

2012-03-16  Tony Chang  <tony@chromium.org>

        flex-item-align: stretch should only grow, never shrink
        https://bugs.webkit.org/show_bug.cgi?id=80882

        Reviewed by Ojan Vafai.

        New test cases in css3/flexbox/flex-align-stretch.html.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
        (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
        (WebCore):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-03-16  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [EFL] Unreviewed, fix build after r111041.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::emitMediaButtonSignal): Rename
        MediaFullscreenButton to MediaEnterFullscreenButton.
        (WebCore::RenderThemeEfl::paintMediaFullscreenButton): Ditto.

2012-03-16  Dmitry Lomov  <dslomov@google.com>

        REGRESSION: DOMURL::revokeObjectURL accesses memoryCache on worker thread.
        https://bugs.webkit.org/show_bug.cgi?id=80889
        On worker threads, post a task to main thread to evict from cache.
        ASSERT that MemoryCache is only accessed from main thread.

        Reviewed by David Levin.

        * html/DOMURL.cpp:
        (WebCore::DOMURL::revokeObjectURL):
        * loader/cache/MemoryCache.cpp:
        (WebCore::memoryCache):
        (WebCore::MemoryCache::add):
        (WebCore::MemoryCache::revalidationFailed):
        (WebCore::MemoryCache::resourceForURL):
        (WebCore::MemoryCache::evict):
        (WebCore):
        (WebCore::MemoryCache::removeUrlFromCache):
        (WebCore::MemoryCache::removeUrlFromCacheImpl):
        * loader/cache/MemoryCache.h:
        (WebCore):
        (MemoryCache):

2012-03-16  Jacky Jiang  <zhajiang@rim.com>

        [BlackBerry] Upstream ScriptControllerBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=81397

        Reviewed by Rob Buis.

        Initial upstream, no new tests.

        * bindings/js/ScriptControllerBlackBerry.cpp: Added.

2012-03-16  Adam Barth  <abarth@webkit.org>

        remove-body-during-body-replacement2.html is triggering crashes on all platforms
        https://bugs.webkit.org/show_bug.cgi?id=81374

        Reviewed by Eric Seidel.

        When overriding disconnectFrame, we need to call the base class version
        of the method so that it can clear the m_frame pointer.

        Tests: This patch fixes a large number of crashes in tests.

        * notifications/DOMWindowNotifications.cpp:
        (WebCore::DOMWindowNotifications::disconnectFrame):

2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to platform/Widget.h
        https://bugs.webkit.org/show_bug.cgi?id=81304

        Reviewed by Rob Buis.

        typedefs of PlatformWidget and PlatformPageClient for the BlackBerry.

        * platform/Widget.h:

2012-03-16  David Barton  <dbarton@mathscribe.com>

        MathML internals - factor code for almost anonymous blocks
        https://bugs.webkit.org/show_bug.cgi?id=81387

        Reviewed by Eric Seidel.

        MathML uses "almost anonymous" blocks to layout parts of mathematical expressions. These
        will be converted to true anonymous blocks in a later patch. Here we factor out the code
        to create them into RenderMathMLBlock::createAlmostAnonymousBlock().

        No new tests. Some tree dump output is modified for existing tests. <munder>, <mover>,
        and <munderover> renderers already used true anonymous blocks, so we change them to call
        RenderBlock::createAnonymousBlock(). In the other direction, <mroot>'s almost anonymous
        blocks are now made RenderMathMLBlock not just RenderBlock, in agreement with other
        current MathML renderers.

        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):
        * rendering/mathml/RenderMathMLBlock.h:
        (RenderMathMLBlock):
        (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
        * rendering/mathml/RenderMathMLFenced.cpp:
        (WebCore::RenderMathMLFenced::addChild):
        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::updateFromElement):
            - improve some variable names
        (WebCore::RenderMathMLFraction::addChild):
        (WebCore::RenderMathMLFraction::layout):
        (WebCore::RenderMathMLFraction::paint):
        (WebCore::RenderMathMLFraction::baselinePosition):
        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::addChild):
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::addChild):
        * rendering/mathml/RenderMathMLSubSup.h:
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::addChild):

2012-03-16  Levi Weintraub  <leviw@chromium.org>

        Prepare RenderObject for FractionalLayoutUnits
        https://bugs.webkit.org/show_bug.cgi?id=81178

        Reviewed by Eric Seidel.

        This readies RenderObject to deal with FractionalLayoutUnits as a backend for the
        LayoutUnit abstraction.

        No new tests. No change in behavior.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect): Convenience method to be
        used instead of absouluteClippedOverflowRect in platform code. Platform updates will come
        in a separate patch.
        (WebCore):
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Borders remain ints when we move to
        sub-pixel layout. This adjusts border variables for this, and adds compiler fixes when
        using std::max and std::min with mixed int/LayoutUnits.
        (WebCore::RenderObject::adjustRectForOutlineAndShadow): Outlines, like borders, remain
        ints in the new sub-pixel world. Using variables that reflect that.
        * rendering/RenderObject.h:
        (RenderObject):
        (WebCore::adjustForAbsoluteZoom): Handles FractionalLayoutUnit values. Flooring is what
        JavaScript requires since this is used with values that must return ints.
        (WebCore): Adding FractionalLayoutUnit.h to support the new adjusteForAbsoluteZoom method.

2012-03-16  Brady Eidson  <beidson@apple.com>

        <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
        REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted

        Reviewed by Geoff Garen.

        WebKit API test WebViewCanPasteURL.mm added.

        * WebCore.exp.in:

        Add a strategy method specifically for getting the URL:
        * platform/PasteboardStrategy.h:

        Use that strategy method when creating the fragment for a URL:
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::documentFragment):

        Add a platform pasteboard accessor to "do the right thing" for getting a URL:
        * platform/PlatformPasteboard.h:
        * platform/mac/PlatformPasteboardMac.mm:
        (WebCore::PlatformPasteboard::url):

2012-03-16  Joseph Pecoraro  <pecoraro@apple.com>

        <http://webkit.org/b/81380> clang warning unused variable when ENABLE(TEXT_CARET) is disabled

        Reviewed by Dan Bernstein.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::recomputeCaretRect):
        Put the variable inside of a guard because it is only
        used inside of a guard.

2012-03-16  Andreas Kling  <kling@webkit.org>

        Shrink BorderValue.
        <http://webkit.org/b/69521>

        Reviewed by Anders Carlsson.

        Split BorderValue's Color member into RGBA32/bool buddies and stash the bool in
        the BorderValue bitfield.

        This shrinks BorderValue by 4 bytes, in turn shrinking BorderData by 16 bytes.
        Altogether this yields ~800 kB in reduced memory consumption when viewing the full
        HTML5 spec at <http://whatwg.org/c>

        * rendering/style/BorderValue.h:
        (WebCore::BorderValue::BorderValue):
        (WebCore::BorderValue::isTransparent):
        (WebCore::BorderValue::operator==):
        (BorderValue):
        (WebCore::BorderValue::setColor):
        (WebCore::BorderValue::color):
        * rendering/style/OutlineValue.h:
        (WebCore::OutlineValue::operator==):
        * rendering/style/RenderStyle.cpp:
        (SameSizeAsBorderValue):
        * rendering/style/RenderStyle.h:

2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>

        Moves remaining filesystem files to Modules/filesystem/
        https://bugs.webkit.org/show_bug.cgi?id=81353

        Reviewed by Adam Barth.

        No new tests, all existing tests pass.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Modules/filesystem/AsyncFileWriter.h: Copied from Source/WebCore/fileapi/AsyncFileWriter.h.
        * Modules/filesystem/AsyncFileWriterClient.h: Copied from Source/WebCore/fileapi/AsyncFileWriterClient.h.
        * Modules/filesystem/DOMFilePath.cpp: Copied from Source/WebCore/fileapi/DOMFilePath.cpp.
        * Modules/filesystem/DOMFilePath.h: Copied from Source/WebCore/fileapi/DOMFilePath.h.
        * Modules/filesystem/DOMFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMFileSystem.cpp.
        * Modules/filesystem/DOMFileSystem.h: Copied from Source/WebCore/fileapi/DOMFileSystem.h.
        * Modules/filesystem/DOMFileSystem.idl: Copied from Source/WebCore/fileapi/DOMFileSystem.idl.
        * Modules/filesystem/DOMFileSystemBase.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemBase.cpp.
        * Modules/filesystem/DOMFileSystemBase.h: Copied from Source/WebCore/fileapi/DOMFileSystemBase.h.
        * Modules/filesystem/DOMFileSystemSync.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemSync.cpp.
        * Modules/filesystem/DOMFileSystemSync.h: Copied from Source/WebCore/fileapi/DOMFileSystemSync.h.
        * Modules/filesystem/DOMFileSystemSync.idl: Copied from Source/WebCore/fileapi/DOMFileSystemSync.idl.
        * Modules/filesystem/Entry.cpp: Copied from Source/WebCore/fileapi/Entry.cpp.
        * Modules/filesystem/Entry.h: Copied from Source/WebCore/fileapi/Entry.h.
        * Modules/filesystem/Entry.idl: Copied from Source/WebCore/fileapi/Entry.idl.
        * Modules/filesystem/EntryArray.cpp: Copied from Source/WebCore/fileapi/EntryArray.cpp.
        * Modules/filesystem/EntryArray.h: Copied from Source/WebCore/fileapi/EntryArray.h.
        * Modules/filesystem/EntryArray.idl: Copied from Source/WebCore/fileapi/EntryArray.idl.
        * Modules/filesystem/EntryArraySync.cpp: Copied from Source/WebCore/fileapi/EntryArraySync.cpp.
        * Modules/filesystem/EntryArraySync.h: Copied from Source/WebCore/fileapi/EntryArraySync.h.
        * Modules/filesystem/EntryArraySync.idl: Copied from Source/WebCore/fileapi/EntryArraySync.idl.
        * Modules/filesystem/EntryBase.cpp: Copied from Source/WebCore/fileapi/EntryBase.cpp.
        * Modules/filesystem/EntryBase.h: Copied from Source/WebCore/fileapi/EntryBase.h.
        * Modules/filesystem/EntryCallback.h: Copied from Source/WebCore/fileapi/EntryCallback.h.
        * Modules/filesystem/EntryCallback.idl: Copied from Source/WebCore/fileapi/EntryCallback.idl.
        * Modules/filesystem/EntrySync.cpp: Copied from Source/WebCore/fileapi/EntrySync.cpp.
        * Modules/filesystem/EntrySync.h: Copied from Source/WebCore/fileapi/EntrySync.h.
        * Modules/filesystem/EntrySync.idl: Copied from Source/WebCore/fileapi/EntrySync.idl.
        * Modules/filesystem/ErrorCallback.h: Copied from Source/WebCore/fileapi/ErrorCallback.h.
        * Modules/filesystem/ErrorCallback.idl: Copied from Source/WebCore/fileapi/ErrorCallback.idl.
        * Modules/filesystem/FileCallback.h: Copied from Source/WebCore/fileapi/FileCallback.h.
        * Modules/filesystem/FileCallback.idl: Copied from Source/WebCore/fileapi/FileCallback.idl.
        * Modules/filesystem/FileEntry.cpp: Copied from Source/WebCore/fileapi/FileEntry.cpp.
        * Modules/filesystem/FileEntry.h: Copied from Source/WebCore/fileapi/FileEntry.h.
        * Modules/filesystem/FileEntry.idl: Copied from Source/WebCore/fileapi/FileEntry.idl.
        * Modules/filesystem/FileEntrySync.cpp: Copied from Source/WebCore/fileapi/FileEntrySync.cpp.
        * Modules/filesystem/FileEntrySync.h: Copied from Source/WebCore/fileapi/FileEntrySync.h.
        * Modules/filesystem/FileEntrySync.idl: Copied from Source/WebCore/fileapi/FileEntrySync.idl.
        * Modules/filesystem/FileSystemCallback.h: Copied from Source/WebCore/fileapi/FileSystemCallback.h.
        * Modules/filesystem/FileSystemCallback.idl: Copied from Source/WebCore/fileapi/FileSystemCallback.idl.
        * Modules/filesystem/FileSystemCallbacks.cpp: Copied from Source/WebCore/fileapi/FileSystemCallbacks.cpp.
        * Modules/filesystem/FileSystemCallbacks.h: Copied from Source/WebCore/fileapi/FileSystemCallbacks.h.
        * Modules/filesystem/FileWriter.cpp: Copied from Source/WebCore/fileapi/FileWriter.cpp.
        * Modules/filesystem/FileWriter.h: Copied from Source/WebCore/fileapi/FileWriter.h.
        * Modules/filesystem/FileWriter.idl: Copied from Source/WebCore/fileapi/FileWriter.idl.
        * Modules/filesystem/FileWriterBase.cpp: Copied from Source/WebCore/fileapi/FileWriterBase.cpp.
        * Modules/filesystem/FileWriterBase.h: Copied from Source/WebCore/fileapi/FileWriterBase.h.
        * Modules/filesystem/FileWriterBaseCallback.h: Copied from Source/WebCore/fileapi/FileWriterBaseCallback.h.
        * Modules/filesystem/FileWriterCallback.h: Copied from Source/WebCore/fileapi/FileWriterCallback.h.
        * Modules/filesystem/FileWriterCallback.idl: Copied from Source/WebCore/fileapi/FileWriterCallback.idl.
        * Modules/filesystem/FileWriterSync.cpp: Copied from Source/WebCore/fileapi/FileWriterSync.cpp.
        * Modules/filesystem/FileWriterSync.h: Copied from Source/WebCore/fileapi/FileWriterSync.h.
        * Modules/filesystem/FileWriterSync.idl: Copied from Source/WebCore/fileapi/FileWriterSync.idl.
        * Modules/filesystem/LocalFileSystem.cpp: Copied from Source/WebCore/fileapi/LocalFileSystem.cpp.
        * Modules/filesystem/LocalFileSystem.h: Copied from Source/WebCore/fileapi/LocalFileSystem.h.
        * Modules/filesystem/Metadata.h: Copied from Source/WebCore/fileapi/Metadata.h.
        * Modules/filesystem/Metadata.idl: Copied from Source/WebCore/fileapi/Metadata.idl.
        * Modules/filesystem/MetadataCallback.h: Copied from Source/WebCore/fileapi/MetadataCallback.h.
        * Modules/filesystem/MetadataCallback.idl: Copied from Source/WebCore/fileapi/MetadataCallback.idl.
        * Modules/filesystem/SyncCallbackHelper.h: Copied from Source/WebCore/fileapi/SyncCallbackHelper.h.
        * Modules/filesystem/WebKitFlags.h: Copied from Source/WebCore/fileapi/WebKitFlags.h.
        * Modules/filesystem/WorkerContextFileSystem.cpp: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.cpp.
        * Modules/filesystem/WorkerContextFileSystem.h: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.h.
        * Modules/filesystem/WorkerContextFileSystem.idl: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.idl.
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/AsyncFileWriter.h: Removed.
        * fileapi/AsyncFileWriterClient.h: Removed.
        * fileapi/DOMFilePath.cpp: Removed.
        * fileapi/DOMFilePath.h: Removed.
        * fileapi/DOMFileSystem.cpp: Removed.
        * fileapi/DOMFileSystem.h: Removed.
        * fileapi/DOMFileSystem.idl: Removed.
        * fileapi/DOMFileSystemBase.cpp: Removed.
        * fileapi/DOMFileSystemBase.h: Removed.
        * fileapi/DOMFileSystemSync.cpp: Removed.
        * fileapi/DOMFileSystemSync.h: Removed.
        * fileapi/DOMFileSystemSync.idl: Removed.
        * fileapi/Entry.cpp: Removed.
        * fileapi/Entry.h: Removed.
        * fileapi/Entry.idl: Removed.
        * fileapi/EntryArray.cpp: Removed.
        * fileapi/EntryArray.h: Removed.
        * fileapi/EntryArray.idl: Removed.
        * fileapi/EntryArraySync.cpp: Removed.
        * fileapi/EntryArraySync.h: Removed.
        * fileapi/EntryArraySync.idl: Removed.
        * fileapi/EntryBase.cpp: Removed.
        * fileapi/EntryBase.h: Removed.
        * fileapi/EntryCallback.h: Removed.
        * fileapi/EntryCallback.idl: Removed.
        * fileapi/EntrySync.cpp: Removed.
        * fileapi/EntrySync.h: Removed.
        * fileapi/EntrySync.idl: Removed.
        * fileapi/ErrorCallback.h: Removed.
        * fileapi/ErrorCallback.idl: Removed.
        * fileapi/FileCallback.h: Removed.
        * fileapi/FileCallback.idl: Removed.
        * fileapi/FileEntry.cpp: Removed.
        * fileapi/FileEntry.h: Removed.
        * fileapi/FileEntry.idl: Removed.
        * fileapi/FileEntrySync.cpp: Removed.
        * fileapi/FileEntrySync.h: Removed.
        * fileapi/FileEntrySync.idl: Removed.
        * fileapi/FileSystemCallback.h: Removed.
        * fileapi/FileSystemCallback.idl: Removed.
        * fileapi/FileSystemCallbacks.cpp: Removed.
        * fileapi/FileSystemCallbacks.h: Removed.
        * fileapi/FileWriter.cpp: Removed.
        * fileapi/FileWriter.h: Removed.
        * fileapi/FileWriter.idl: Removed.
        * fileapi/FileWriterBase.cpp: Removed.
        * fileapi/FileWriterBase.h: Removed.
        * fileapi/FileWriterBaseCallback.h: Removed.
        * fileapi/FileWriterCallback.h: Removed.
        * fileapi/FileWriterCallback.idl: Removed.
        * fileapi/FileWriterSync.cpp: Removed.
        * fileapi/FileWriterSync.h: Removed.
        * fileapi/FileWriterSync.idl: Removed.
        * fileapi/LocalFileSystem.cpp: Removed.
        * fileapi/LocalFileSystem.h: Removed.
        * fileapi/Metadata.h: Removed.
        * fileapi/Metadata.idl: Removed.
        * fileapi/MetadataCallback.h: Removed.
        * fileapi/MetadataCallback.idl: Removed.
        * fileapi/SyncCallbackHelper.h: Removed.
        * fileapi/WebKitFlags.h: Removed.
        * fileapi/WorkerContextFileSystem.cpp: Removed.
        * fileapi/WorkerContextFileSystem.h: Removed.
        * fileapi/WorkerContextFileSystem.idl: Removed.

2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>

        Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB) in OperationNotAllowedException.idl
        https://bugs.webkit.org/show_bug.cgi?id=81391

        Reviewed by Adam Barth.

        No new tests, all existing tests pass.

        * fileapi/OperationNotAllowedException.idl:

2012-03-16  Emil A Eklund  <eae@chromium.org>

        Fix rounding and usage of LayoutUnits in RenderBoxModelObject
        https://bugs.webkit.org/show_bug.cgi?id=81057

        Reviewed by Julien Chaffraix.

        No new tests.

        (WebCore):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
        (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
        Fix implementation of pixelSnappedOffsetWidth/Height. The location
        parameter will be ignored until we enable subpixel support.

        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        Use ints for border widths.
        
        (WebCore::resolveWidthForRatio):
        (WebCore::resolveHeightForRatio):
        (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio):
        (WebCore::resolveAgainstIntrinsicRatio):
        Change resolve*Ratio methods to operate on IntSizes as none of the
        callers need subpixel precision.

        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        (WebCore::RenderBoxModelObject::paintNinePieceImage):
        Pixel snap paintRect when computing image geometry.

2012-03-16  Terry Anderson  <tdanderson@chromium.org>

        100% height elements to not respond to vertical browser rescaling
        https://bugs.webkit.org/show_bug.cgi?id=43022

        Reviewed by Julien Chaffraix.

        Test: fast/replaced/vertical-resize-100percent-element.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
            For the case where a replaced element has a percentage height,
            we update the entries in RenderBlock::gPercentHeightDescendantsMap
            corresponding to all ancestors of the replaced element.

2012-03-15  Daniel Cheng  <dcheng@chromium.org>

        [chromium] Refactor ClipboardChromium and DataTransferItemList/DataTransferItem to support HTML spec
        https://bugs.webkit.org/show_bug.cgi?id=76598

        Reviewed by Tony Chang.

        We no longer store drag/clipboard data in named fields. We used to maintain the data store
        list separately, which resulted in a lot of complicated code to try to make sure that
        ChromiumDataObject and this list stayed in sync. We now just store what is essentially a
        list MIME type/data pairs directly in ChromiumDataObject. This has the benefit of letting us
        easily add write support during dragstart/copy operations using DataTransferItemList.

        Tests: fast/events/clipboard-dataTransferItemList.html
               fast/events/drag-dataTransferItemList.html

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::findItem):
        (WebCore::ChromiumDataObject::createFromPasteboard):
        (WebCore::ChromiumDataObject::create):
        (WebCore::ChromiumDataObject::copy):
        (WebCore::ChromiumDataObject::items):
        (WebCore::ChromiumDataObject::clearData):
        (WebCore::ChromiumDataObject::clearAll):
        (WebCore::ChromiumDataObject::clearAllExceptFiles):
        (WebCore::ChromiumDataObject::types):
        (WebCore::ChromiumDataObject::getData):
        (WebCore::ChromiumDataObject::setData):
        (WebCore::ChromiumDataObject::urlAndTitle):
        (WebCore::ChromiumDataObject::setURLAndTitle):
        (WebCore::ChromiumDataObject::htmlAndBaseURL):
        (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
        (WebCore::ChromiumDataObject::containsFilenames):
        (WebCore):
        (WebCore::ChromiumDataObject::filenames):
        (WebCore::ChromiumDataObject::addFilename):
        (WebCore::ChromiumDataObject::addSharedBuffer):
        (WebCore::ChromiumDataObject::ChromiumDataObject):
        * platform/chromium/ChromiumDataObject.h:
        (WebCore):
        (ChromiumDataObject):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::normalizeType):
        (WebCore::ClipboardChromium::ClipboardChromium):
        (WebCore::ClipboardChromium::clearData):
        (WebCore::ClipboardChromium::clearAllData):
        (WebCore::ClipboardChromium::getData):
        (WebCore::ClipboardChromium::setData):
        (WebCore::ClipboardChromium::types):
        (WebCore::ClipboardChromium::files):
        (WebCore::writeImageToDataObject):
        (WebCore::ClipboardChromium::declareAndWriteDragImage):
        (WebCore::ClipboardChromium::writeURL):
        (WebCore::ClipboardChromium::writeRange):
        (WebCore::ClipboardChromium::writePlainText):
        (WebCore::ClipboardChromium::hasData):
        (WebCore::ClipboardChromium::items):
        * platform/chromium/ClipboardChromium.h:
        (WebCore):
        (ClipboardChromium):
        (WebCore::ClipboardChromium::frame):
        * platform/chromium/ClipboardUtilitiesChromium.cpp:
        (WebCore::convertURIListToURL):
        (WebCore):
        * platform/chromium/ClipboardUtilitiesChromium.h:
        (WebCore):
        * platform/chromium/DataTransferItemChromium.cpp:
        (WebCore::DataTransferItemChromium::createFromString):
        (WebCore::DataTransferItemChromium::createFromFile):
        (WebCore::DataTransferItemChromium::createFromURL):
        (WebCore::DataTransferItemChromium::createFromHTML):
        (WebCore):
        (WebCore::DataTransferItemChromium::createFromSharedBuffer):
        (WebCore::DataTransferItemChromium::createFromPasteboard):
        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
        (WebCore::DataTransferItemChromium::getAsString):
        (WebCore::DataTransferItemChromium::getAsFile):
        (WebCore::DataTransferItemChromium::internalGetAsString):
        (WebCore::DataTransferItemChromium::isFilename):
        * platform/chromium/DataTransferItemChromium.h:
        (WebCore):
        (DataTransferItemChromium):
        (WebCore::DataTransferItemChromium::kind):
        (WebCore::DataTransferItemChromium::type):
        (WebCore::DataTransferItemChromium::sharedBuffer):
        (WebCore::DataTransferItemChromium::title):
        (WebCore::DataTransferItemChromium::baseURL):
        * platform/chromium/DataTransferItemListChromium.cpp:
        (WebCore::DataTransferItemListChromium::create):
        (WebCore::DataTransferItemListChromium::createFromPasteboard):
        (WebCore):
        (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
        (WebCore::DataTransferItemListChromium::length):
        (WebCore::DataTransferItemListChromium::item):
        (WebCore::DataTransferItemListChromium::deleteItem):
        (WebCore::DataTransferItemListChromium::clear):
        (WebCore::DataTransferItemListChromium::add):
        (WebCore::DataTransferItemListChromium::internalAddStringItem):
        (WebCore::DataTransferItemListChromium::internalAddFileItem):
        * platform/chromium/DataTransferItemListChromium.h:
        (WebCore):
        (DataTransferItemListChromium):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::asURL):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::asFragment):

2012-03-16  Matt Lilek  <mrl@apple.com>

        Don't install libWebCoreTestSupport on OS X production builds
        https://bugs.webkit.org/show_bug.cgi?id=81087

        Reviewed by Mark Rowe.

        * Configurations/WebCoreTestSupport.xcconfig:

2012-03-16  Tony Chang  <tony@chromium.org>

        incorrectly removing scrollbar height for auto height flexbox children
        https://bugs.webkit.org/show_bug.cgi?id=81388

        Reviewed by Ojan Vafai.

        In a column flexbox, when computing the preferred height of an auto
        height child, we were subtracting out the horizontal scrollbar height.

        New test case in css3/flexbox/columns-auto-size.html.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):

2012-03-16  Adam Klein  <adamk@chromium.org>

        Out-of-document radio buttons should be grouped when associated with a form
        https://bugs.webkit.org/show_bug.cgi?id=81268

        Reviewed by Kent Tamura.

        Per the HTML spec, and the behavior of Firefox and IE 8/9, radio buttons
        with a form owner should be grouped, even if that form is not in the document.

        r104668 added many inDocument() tests to radio button grouping code.
        While those are necessary to avoid unattached <input type=radio>
        elements being grouped together, it also kept them from being grouped
        when associated with a form outside the document.

        This patch changes the HTMLInputElement::checkedRadioButtons() method
        to return either a pointer to the proper CheckedRadioButtons instance
        (either the document's or a form's), but will return null if the
        element should not be associated with any radio button group.

        The main fallout of this was that the callers of checkedRadioButtons()
        now have to check for null, resulting in the creation of a few helper
        methods in HTMLInputElement to wrap the null checks.

        This refactoring has the pleasant side-effect of exposing a cleaner API between
        HTMLInputElement and RadioInputType, and making a clearer contract
        between HTMLInputElement and CheckedRadioButtons (e.g., all
        CheckedRadioButtons methods that take an element can now assume that
        it is a radio button, where previously some checked for that and
        others asserted it).

        Test: fast/forms/radio/radio-group-in-detached-form.html

        * dom/CheckedRadioButtons.cpp:
        (WebCore): Removed shouldMakeRadioGroup() helper function.
        (WebCore::CheckedRadioButtons::addButton): Replace call to shouldMakeRadioGroup
        with appropriate assert and name check.
        (WebCore::CheckedRadioButtons::updateCheckedState): ditto.
        (WebCore::CheckedRadioButtons::requiredAttributeChanged): ditto.
        (WebCore::CheckedRadioButtons::isRequiredGroup): Renamed from isInRequiredGroup,
        changed to take only a group name, not an element.
        (WebCore::CheckedRadioButtons::removeButton): Replace call to shouldMakeRadioGroup.
        with appropriate assert and name check.
        * dom/CheckedRadioButtons.h:
        (CheckedRadioButtons):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement): Added isRadioButton check
        now that it's asserted in CheckedRadioButtons.
        (WebCore::HTMLInputElement::updateType): Call helper method instead of
        calling directly into CheckedRadioButtons.
        (WebCore::HTMLInputElement::parseAttribute): ditto.
        (WebCore::HTMLInputElement::setChecked): ditto.
        (WebCore::HTMLInputElement::willChangeForm): ditto.
        (WebCore::HTMLInputElement::didChangeForm): ditto.
        (WebCore::HTMLInputElement::insertedIntoDocument): ditto.
        (WebCore::HTMLInputElement::removedFromDocument): ditto.
        (WebCore::HTMLInputElement::didMoveToNewDocument): Added isRadioButton check.
        (WebCore::HTMLInputElement::requiredAttributeChanged): Check for membership in a group
        before calling into CheckedRadioButtons.
        (WebCore::HTMLInputElement::isInRequiredRadioButtonGroup): Added helper method for use by RadioInputType.
        (WebCore):
        (WebCore::HTMLInputElement::checkedRadioButtonForGroup): ditto.
        (WebCore::HTMLInputElement::checkedRadioButtons): Changed to return a
        pointer, only return non-null if actually a member of a group.
        (WebCore::HTMLInputElement::addToRadioButtonGroup): Helper method for
        use in HTMLInputElement.
        (WebCore::HTMLInputElement::removeFromRadioButtonGroup): ditto.
        * html/HTMLInputElement.h:
        (HTMLInputElement): Added/removed methods, removed outdated comment about visibility.
        * html/RadioInputType.cpp:
        (WebCore::RadioInputType::valueMissing): Call new HTMLInputElement methods instead
        of interacting directly with CheckedRadioButtons.
        (WebCore::RadioInputType::isKeyboardFocusable): ditto.
        (WebCore::RadioInputType::willDispatchClick): ditto.

2012-03-16  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=81366
        
        Add RenderMultiColumnBlock subclass of RenderBlock. This new class will hold all of the multi-column
        logic (as well as painting/hit testing). That way the column code can be kept out of the base class
        and be more cleanly factored.

        Patch Node::diff so that we detach and re-attach the renderer if column counts or widths change
        from auto to non-auto (and vice versa) to ensure the right renderer gets made.
        
        Patch RenderObject::createObject to make a RenderMultiColumnBlock if either the column count or
        column width is non-auto.
        
        Patch RenderBlock::calcColumnWidth to "turn off" the old implementation of columns if the pref to use
        the new column implementation is set. This single chokepoint should be sufficient for disabling the old
        columns in favor of the new.

        Reviewed by Dan Bernstein.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::regionBasedColumnsEnabled):
        (WebCore):
        (WebCore::Document::recalcStyle):
        * dom/Document.h:
        (Document):
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        * dom/Node.cpp:
        (WebCore::Node::diff):
        * dom/Node.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcColumnWidth):
        (WebCore::RenderBlock::updateFirstLetterStyle):
        * rendering/RenderMultiColumnBlock.cpp: Added.
        (WebCore):
        (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
        (WebCore::RenderMultiColumnBlock::renderName):
        * rendering/RenderMultiColumnBlock.h: Added.
        (WebCore):
        (RenderMultiColumnBlock):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::updateBeforeAfterContent):

2012-03-16  Stephen White  <senorblanco@chromium.org>

        [chromium] Improve CSS3 filter blur performance.
        https://bugs.webkit.org/show_bug.cgi?id=81360

        This change improves blur performance by 2-2.5X on blurred CSS
        3D transforms and accelerated canvas demos by skipping an unnecessary
        texture allocation and bitmap draw.

        Reviewed by James Robinson.

        Covered by existing layout tests in css3/filters.

        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
        (WebCore::CCRenderSurfaceFilters::apply):
        Call SkCanvas::drawSprite() directly instead of using
        saveLayer()/restore().

2012-03-16  Joshua Bell  <jsbell@chromium.org>

        [Chromium] IndexedDB: Assertion failure when storing File objects
        https://bugs.webkit.org/show_bug.cgi?id=76746

        The blob data in Blob/File/FileList objects is serialized "by reference" (the
        internal URL) rather than "by value" (the actual data); this is sufficient for
        postMessage() but not for IndexedDB since the referenced data is not retained
        Expose a mechanism to enumerate the URLs so that SSVs can be rejected by IDB
        until blob data serialization can is implemented (outside the SSV mechanism, and
        potentially asynchronously).

        Also, correct issue in V8DOMWrapper::instantiateV8Object where context is assumed
        to be a Worker context if it's not a Window, which is incorrect for the
        Chromium utility process; this is hit if Blobs are not blocked.

        Reviewed by Tony Chang.

        Test: storage/indexeddb/noblobs.html

        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore::IDBCursor::update): Reject SSVs that contain blob references.
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::add): Reject SSVs that contain blob references.
        (WebCore::IDBObjectStore::put): Reject SSVs that contain blob references.
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::serialize):
        (WebCore::CloneSerializer::CloneSerializer):
        (WebCore::CloneSerializer::dumpIfTerminal):
        (WebCore::CloneSerializer::write):
        (CloneSerializer):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::undefinedValue):
        (WebCore::SerializedScriptValue::booleanValue):
        * bindings/js/SerializedScriptValue.h: New API to enable the clients to be picky.
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.h: New API to enable the clients to be picky.
        (WebCore::SerializedScriptValue::blobURLs):
        (SerializedScriptValue):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):  Ensure context is a worker context before treating it as such.

2012-03-16  Erik Arvidsson  <arv@chromium.org>

        [V8] Ensure that invalid syntax in inline event handlers does not cause a crash
        https://bugs.webkit.org/show_bug.cgi?id=81385

        Reviewed by Nate Chapin.

        The way that V8 does its inline event handler involves concatting strings and
        if the attribute value is crafted in a special way this could cause a crash.

        Test: fast/dom/inline-event-attributes-crash.html

        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::prepareListenerObject):

2012-03-14  Jer Noble  <jer.noble@apple.com>

        Wrong icon to restore to windowed mode in full screen video panel
        https://bugs.webkit.org/show_bug.cgi?id=70437

        Reviewed by Eric Carlson.

        No new tests. Updated platform/mac/accessibility/media-element-expected.txt.

        Renamed MediaFullscreenButton to MediaEnterFullscreenButton and added MediaExitFullscreenButton:
        * accessibility/AccessibilityMediaControls.cpp:
        (WebCore::AccessibilityMediaControl::controlTypeName):
        (WebCore::AccessibilityMediaControl::roleValue):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSValueKeywords.in:
        * platform/ThemeTypes.h:

        Added setIsFullscreen which controls the display of the enter/exit fullscreen button:
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlFullscreenButtonElement::setIsFullscreen): Added.
        * html/shadow/MediaControlElements.h:
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::enteredFullscreen):
        (WebCore::MediaControlRootElement::exitedFullscreen):

        Paint the enter/exit fullscreen button accordingly:
        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paint):
        * rendering/RenderThemeChromiumAndroid.cpp:
        (WebCore::RenderThemeChromiumAndroid::paintMediaFullscreenButton):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::paintMediaControlsPart):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintMediaFullscreenButton):

        Update the localized strings for the exit and enter fullscreen buttons:
        * English.lproj/Localizable.strings:
        * platform/LocalizedStrings.cpp:
        (WebCore::localizedMediaControlElementString):
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        * platform/qt/LocalizedStringsQt.cpp:
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):

2012-03-16  Levi Weintraub  <leviw@chromium.org>

        Update LayoutUnit usage in RenderListBox
        https://bugs.webkit.org/show_bug.cgi?id=81038

        Reviewed by Julien Chaffraix.

        Bringing RenderListBox in line with the rules listed in
        https://trac.webkit.org/wiki/LayoutUnit

        No new tests. No change in behavior.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintScrollbar): Pixel snapping before handing off scrollbar
        painting to the platform.
        (WebCore::RenderListBox::paintItemForeground): Rounding the offset for text painting.
        (WebCore::RenderListBox::paintItemBackground): Pixel snapping the background rect.
        (WebCore::RenderListBox::panScroll): EventHandler::currentMousePosition is an IntPoint,
        so it doesn't require additional rounding in RenderListBox.

2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r111020.
        http://trac.webkit.org/changeset/111020
        https://bugs.webkit.org/show_bug.cgi?id=81377

        Broke Chromium Win compile (Requested by pkasting on #webkit).

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * platform/mediastream/PeerConnection00Handler.cpp: Removed.
        * platform/mediastream/PeerConnection00Handler.h: Removed.
        * platform/mediastream/PeerConnection00HandlerClient.h: Removed.

2012-03-16  Dominic Mazzoni  <dmazzoni@google.com>

        File input control accessibility can cause a crash
        https://bugs.webkit.org/show_bug.cgi?id=80896

        Reviewed by Chris Fleizach.

        Test: accessibility/input-file-causes-crash.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::textUnderElement):

2012-03-08  Jer Noble  <jer.noble@apple.com>

        Support W3C Full Screen API proposal
        https://bugs.webkit.org/show_bug.cgi?id=80660

        Reviewed by Alexey Proskuryakov.

        Tests: fullscreen/full-screen-element-stack.html
               fullscreen/full-screen-enabled.html
               fullscreen/full-screen-restrictions.html

        The W3C proposal for taking arbitrary elements into full-screen mode is significantly
        different than the Mozilla proposal. For example, the W3C has proposed a lower-case "s"
        in "Fullscreen", which means the W3C and Mozilla "requestFullscreen" APIs differ only by
        in that lower-case "s". Annoying as this is, it does allow us to retain the semantics for
        the Mozilla case (har!).

        A significant difficulty is obeying the new W3C spec rules is that we would like to apply the
        fullscreen CSS rules while exiting fullscreen mode, though the W3C spec insists that the
        webkitFullscreenElement returns the new value immediately.  As such, we retain the m_fullScreenElement
        variable (distinct from the top of the m_fullScreenElements stack) which is controlled by the
        webkit{Will,Did}{Enter,Exit}FullScreen functions.

        New APIs for the W3C Fullscreen spec:
        * dom/Document.h:
        (WebCore::Document::webkitFullscreenElement):
        (WebCore::Document::webkitFullscreenEnabled):
        * dom/Document.idl:
        * dom/Element.cpp:
        (WebCore::Element::webkitRequestFullscreen):
        * dom/Element.h:
        * dom/Element.idl:

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef): Clear m_fullScreenElementStack.
        (WebCore::Document::requestFullScreenForElement): Implement the W3C requirements.
        (WebCore::Document::webkitExitFullscreen): Ditto.
        (WebCore::Document::webkitCancelFullScreen): Implement in terms of webkitCancelFullscreen.
        (WebCore::Document::webkitDidEnterFullScreenForElement): 
        (WebCore::Document::webkitWillExitFullScreenForElement):
        (WebCore::Document::webkitDidExitFullScreenForElement):
        (WebCore::Document::fullScreenChangeDelayTimerFired): Protect against items being
            added to the event and error queue by swapping out empty queues before starting.
        (WebCore::Document::clearFullscreenElementStack): Simple accessor.
        (WebCore::Document::popFullscreenElementStack): Ditto.
        (WebCore::Document::pushFullscreenElementStack): Ditto.
        * dom/Element.cpp:
        (WebCore::Element::webkitRequestFullScreen):

        Add new RuntimeEnabledFeatures functions for the added Document and Element functions.
        * bindings/generic/RuntimeEnabledFeatures.h:
        (RuntimeEnabledFeatures):
        (WebCore::RuntimeEnabledFeatures::webkitFullscreenEnabledEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitFullscreenElementEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitExitFullscreenEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitRequestFullscreenEnabled):


2012-03-16  Adam Klein  <adamk@chromium.org>

        Make HTMLInputElement::isRadioButton non-virtual and remove unused HTMLFormControlElement::isRadioButton method
        https://bugs.webkit.org/show_bug.cgi?id=81255

        Reviewed by Kent Tamura.

        No new tests, no change in behavior.

        * html/HTMLFormControlElement.h:
        * html/HTMLInputElement.h:
        (HTMLInputElement):

2012-03-16  Tay Grigg  <tgrigg@rim.com>

        [BlackBerry] Update NetworkJob to accept batched headers
        https://bugs.webkit.org/show_bug.cgi?id=81273

        Batch up the headers into a vector before they come into
        webkit to increase performance, and simplify the API.

        Reviewed by George Staikos.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::notifyHeadersReceived):
        * platform/network/blackberry/NetworkJob.h:
        (NetworkJob):

2012-03-16  Dana Jansens  <danakj@chromium.org>

        [chromium] Add overdraw metrics for texture uploads
        https://bugs.webkit.org/show_bug.cgi?id=81175

        Reviewed by Adrienne Walker.

        Record texture upload metrics during paint. To properly record
        the amount of pixels culled, we must compute the amount of pixels we
        would have uploaded for a tile. This requires knowing the dirty rect of
        the tile, but the dirty rect can be changed by WebKit during a paint, so
        we always store the dirtyRect in the tile's updateRect. We add an
        m_updateCulled bool to the UpdatableTile structure, to identify tiles
        that were not updated, and know a tile was updated if updateRect is not
        empty and updateCulled is false.

        Tested by all TiledLayerChromiumTests that use occlusion tracker.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (UpdatableTile):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):

2012-03-16  Jer Noble  <jer.noble@apple.com>

        Allow AudioContext::create() to emit an ExceptionCode.
        https://bugs.webkit.org/show_bug.cgi?id=81049

        Reviewed by Kentaro Hara.

        No new tests; no change in functionality.

        Pass through an ExceptionCode parameter to AudioContext::create().  It is currently
        never modified, but exceptions will be added in the future.

        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        (WebCore::V8AudioContext::constructorCallback):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::create):
        * webaudio/AudioContext.h:

2012-03-16  Dana Jansens  <danakj@chromium.org>

        [chromium] Remove surface damage client from occlusion tracker
        https://bugs.webkit.org/show_bug.cgi?id=81242

        Reviewed by Adrienne Walker.

        Code was not used yet, so no new tests. Removing tests instead!

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::::CCOcclusionTrackerBase):
        (WebCore::::layerScissorRectInTargetSurface):
        (WebCore):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
        (WebCore):
        (CCOcclusionTrackerBase):

2012-03-16  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API (JSEP): Introducing PeerConnection00Handler
        https://bugs.webkit.org/show_bug.cgi?id=81333

        Reviewed by Adam Barth.

        In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.

        Not possible to test until the entire JSEP feature is commited.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * platform/mediastream/PeerConnection00Handler.cpp: Added.
        (WebCore):
        (WebCore::PeerConnection00Handler::create):
        (WebCore::PeerConnection00Handler::PeerConnection00Handler):
        (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
        (WebCore::PeerConnection00Handler::createOffer):
        (WebCore::PeerConnection00Handler::createAnswer):
        (WebCore::PeerConnection00Handler::setLocalDescription):
        (WebCore::PeerConnection00Handler::setRemoteDescription):
        (WebCore::PeerConnection00Handler::localDescription):
        (WebCore::PeerConnection00Handler::remoteDescription):
        (WebCore::PeerConnection00Handler::startIce):
        (WebCore::PeerConnection00Handler::processIceMessage):
        (WebCore::PeerConnection00Handler::addStream):
        (WebCore::PeerConnection00Handler::removeStream):
        (WebCore::PeerConnection00Handler::stop):
        * platform/mediastream/PeerConnection00Handler.h: Added.
        (WebCore):
        (PeerConnection00Handler):
        * platform/mediastream/PeerConnection00HandlerClient.h: Added.
        (WebCore):
        (PeerConnection00HandlerClient):
        (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):

2012-03-16  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: fix exception when hovering over bound function in heap profiler.
        https://bugs.webkit.org/show_bug.cgi?id=81362

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):

2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] The "progress" element should not be a form-associated element.
        https://bugs.webkit.org/show_bug.cgi?id=80240

        Reviewed by Kent Tamura.

        This patch changes base class of HTMLProgressElement to LabelableElement from
        HTMLFormControlElement for saving memory space and iteration time of
        extra "progress" elements in HTMLFormElement::m_formAssociatedElements
        and matching the HTML5 specification for ease of maintenance.

        Changes of TextIterator is lead by usage of isFormControlElement. This
        changes will be replaced with more meaningful predicate as part of
        https://bugs.webkit.org/show_bug.cgi?id=80381

        No new tests. Update existing tests to cover this change.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement): Moved the "progress" element support code from canShareStyleWithControl.
        (WebCore::CSSStyleSelector::canShareStyleWithControl):
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector): Remove isFormControlElement check for PseudoIndeterminate.
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::advance): Check HTMLProgressElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
        * html/HTMLProgressElement.cpp: Remove unused include file.
        (WebCore::HTMLProgressElement::HTMLProgressElement): Changed base class to LabelableElement.
        (WebCore::HTMLProgressElement::create): Remove form paraprogress.
        (WebCore::HTMLProgressElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement.
        (WebCore::HTMLProgressElement::attach): Replace HTMLFormControlElement to LabelableElement.
        * html/HTMLProgressElement.h:
        (HTMLProgressElement):
        * html/HTMLProgressElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
        * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.

2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Heap Snapshot: Unreviewed single line fix for isWindow getter.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get isWindow):

2012-03-16  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API (JSEP): Fixing a few nits
        https://bugs.webkit.org/show_bug.cgi?id=81322

        Reviewed by Adam Barth.

        Addressing the nits from bugs 81206 and 81207.

        Nothing to test.

        * Modules/mediastream/SessionDescription.idl:
        * platform/mediastream/IceOptions.h:
        (WebCore::IceOptions::IceOptions):
        * platform/mediastream/SessionDescriptionDescriptor.h:
        (SessionDescriptionDescriptor):

2012-03-16  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
        https://bugs.webkit.org/show_bug.cgi?id=80789

        Reviewed by Yury Semikhatsky.

        OptOutput class is added for optional return parameters.

        Strict mode added to Generator that makes all parameter types strict
        and drop pre-set default values for return parameters.

        Debugger and Page domain is switched to strict mode.

        * inspector/CodeGeneratorInspector.py:
        (CommandReturnPassModel.OptOutput):
        (CommandReturnPassModel.OptOutput.__init__):
        (CommandReturnPassModel.OptOutput.get_return_var_type):
        (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
        (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
        (CommandReturnPassModel.OptOutput.get_output_parameter_type):
        (CommandReturnPassModel):
        (CommandReturnPassModel.OptOutput.get_set_return_condition):
        (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
        (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
        (OptOutput):
        (Generator.process_event):
        (Generator.process_command):
        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
        (WebCore::ContentSearchUtils::searchInTextByLines):
        * inspector/ContentSearchUtils.h:
        (ContentSearchUtils):
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluate):
        (WebCore::InjectedScript::callFunctionOn):
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::makeEvalCall):
        * inspector/InjectedScript.h:
        (InjectedScript):
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
        (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
        (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::searchInContent):
        (WebCore::InspectorDebuggerAgent::setScriptSource):
        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        (WebCore::InspectorDebuggerAgent::didPause):
        (WebCore::InspectorDebuggerAgent::breakProgram):
        (WebCore::InspectorDebuggerAgent::clearBreakDetails):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::buildObjectForCookie):
        (WebCore::buildArrayForCookies):
        (WebCore::InspectorPageAgent::getCookies):
        (WebCore::InspectorPageAgent::getResourceTree):
        (WebCore::InspectorPageAgent::searchInResource):
        (WebCore::InspectorPageAgent::searchInResources):
        (WebCore::InspectorPageAgent::buildObjectForFrame):
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::callFunctionOn):

2012-03-16  Kentaro Hara  <haraken@chromium.org>

        The IDL parser should support sequence<T> type
        https://bugs.webkit.org/show_bug.cgi?id=81345

        Reviewed by Adam Barth.

        This patch makes the IDL parser support sequence<T> type.
        This patch just makes sequence<T> parseable, and the generated code
        for sequence<T> is wrong. This issue will be soon fixed in bug 80696.
        This is a preparing patch for bug 80696.

        Test: bindings/scripts/test/TestObj.idl

        * bindings/scripts/test/TestObj.idl: Added tests for sequence<T>.

        * bindings/scripts/IDLStructure.pm: Updated the regular expressions to support sequence<T>.

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
        (WebDOMTestObj::sequenceAttr):
        (WebDOMTestObj::setSequenceAttr):
        (WebDOMTestObj::methodWithSequenceArg):
        (WebDOMTestObj::methodReturningSequence):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_method_with_sequence_arg):
        (webkit_dom_test_obj_method_returning_sequence):
        (webkit_dom_test_obj_get_sequence_attr):
        (webkit_dom_test_obj_set_sequence_attr):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjSequenceAttr):
        (WebCore::setJSTestObjSequenceAttr):
        (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
        (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj sequenceAttr]):
        (-[DOMTestObj setSequenceAttr:]):
        (-[DOMTestObj methodWithSequenceArg:]):
        (-[DOMTestObj methodReturningSequence:]):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::sequenceAttrAttrGetter):
        (TestObjInternal):
        (WebCore::TestObjInternal::sequenceAttrAttrSetter):
        (WebCore::TestObjInternal::methodWithSequenceArgCallback):
        (WebCore::TestObjInternal::methodReturningSequenceCallback):
        (WebCore):
        (WebCore::ConfigureV8TestObjTemplate):

2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapSnapshot: merge two long operations into one.
        https://bugs.webkit.org/show_bug.cgi?id=81347

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.aggregates):
        (WebInspector.HeapSnapshot.prototype._buildAggregates):
        (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):

2012-03-16  Gavin Peters  <gavinp@chromium.org>

        Add asserts and improve logging in PageCache.
        https://bugs.webkit.org/show_bug.cgi?id=81179

        Reviewed by Brady Eidson.

        The early exits from logCanCacheFrameDecision had the potential to skew histogram data.  Moving
        the DocumentLoader check to the top, but eliminating the early exits is a compromise that keeps
        the logged data mostly accurate.

        * history/PageCache.cpp:
        (WebCore::logCanCacheFrameDecision):

2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] label.form attribute doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=80499

        Reviewed by Kent Tamura.

        This patch changes implementation of label.form of IDL attribute to
        compute it to the form element specified by the "form" HTML attribute
        or form ancestor when the "form" HTML attribute isn't in HTML.

        This patch introduces new function FormAssociatedElement::findAssociatedForm
        for sharing code among FormAssociateElement::insertedIntoTree, resetFormOwner
        and HTMLLabelElement::form.

        No new tests. Update existing tests.

        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::findAssociatedForm): Added.
        (WebCore):
        (WebCore::FormAssociatedElement::insertedIntoTree):
        (WebCore::FormAssociatedElement::resetFormOwner):
        * html/FormAssociatedElement.h:
        (FormAssociatedElement):
        * html/HTMLLabelElement.cpp: Remove unused include files
        (WebCore::HTMLLabelElement::form): Added.

2012-03-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Use the normalize method of FloatPoint instead of normalizing manually
        https://bugs.webkit.org/show_bug.cgi?id=81343

        Reviewed by Simon Hausmann.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
        (WebCore::TiledBackingStore::computeCoverAndKeepRect):

2012-03-16  Kentaro Hara  <haraken@chromium.org>

        Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl
        https://bugs.webkit.org/show_bug.cgi?id=79636

        Reviewed by Adam Barth.

        For WebKit modularization, this patch moves Notifications-related APIs
        from DOMWindow.idl to DOMWindowNotifications.idl.

        Tests: fast/notifications/* (No change in test results)

        * CMakeLists.txt: Added DOMWindowNotifications.{h,cpp,idl}.
        * DerivedSources.make: Ditto.
        * DerivedSources.pri: Ditto.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.

        * WebCore.exp.in: Added mangled signatures of webkitNotifications().

        * notifications/DOMWindowNotifications.cpp: Added.
        (WebCore):
        (WebCore::DOMWindowNotifications::DOMWindowNotifications):
        (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
        (WebCore::DOMWindowNotifications::from):
        (WebCore::DOMWindowNotifications::webkitNotifications):
        (WebCore::DOMWindowNotifications::ensureWebkitNotifications):
        (WebCore::DOMWindowNotifications::disconnectFrame):
        * notifications/DOMWindowNotifications.h: Added.
        (WebCore):
        (DOMWindowNotifications):
        * notifications/DOMWindowNotifications.idl: Added.

        * page/DOMWindow.cpp: Removed ENABLE(NOTIFICATIONS).
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::willDetachPage):
        (WebCore::DOMWindow::clear):
        * page/DOMWindow.h: Ditto.
        (WebCore):
        (DOMWindow):
        * page/DOMWindow.idl: Ditto.
        * page/Frame.cpp: Ditto.
        (WebCore::Frame::willDetachPage):
        (WebCore::Frame::transferChildFrameToNewDocument):

2012-03-16  Kentaro Hara  <haraken@chromium.org>

        [Performance] Optimize innerHTML and outerHTML
        https://bugs.webkit.org/show_bug.cgi?id=81214

        Reviewed by Adam Barth.

        This patch makes innerHTML and outerHTML 2.4 times faster.

        Performance test: https://bugs.webkit.org/attachment.cgi?id=132034
        The performance test measures body.innerHTML for 3000 lines of HTML,
        which is copied from the HTML spec.

        - Chromium/Mac without the patch
        div.innerHTML: 1658.6 ms
        div.outerHTML: 4859.6 ms
        body.innerHTML: 640.2 ms
        body.outerHTML: 641.8 ms

        - Chromium/Mac with the patch
        div.innerHTML:  751.0 ms
        div.outerHTML: 2096.0 ms
        body.innerHTML: 271.2 ms
        body.outerHTML: 271.2 ms

        - Chromium/Linux without the patch
        div.innerHTML:  950.4 ms
        div.outerHTML: 2257.8 ms
        body.innerHTML: 452.8 ms
        body.outerHTML: 457.6 ms

        - Chromium/Linux with the patch
        div.innerHTML:  582.4 ms
        div.outerHTML: 1283.0 ms
        body.innerHTML: 233.0 ms
        body.outerHTML: 233.4 ms

        - AppleWebKit/Mac without the patch
        div.innerHTML:  900.6 ms
        div.outerHTML: 2245.2 ms
        body.innerHTML: 462.6 ms
        body.outerHTML: 468.0 ms

        - AppleWebKit/Mac with the patch
        div.innerHTML:  529.8  ms
        div.outerHTML: 1090.2 ms
        body.innerHTML: 239.2 ms
        body.outerHTML: 239.2 ms

        This patch applies the following two optimizations:

        (a) Remove redundant copies between Vector<String> and StringBuilders
        in MarkupAccumulator::serializeNodes(), MarkupAccumulator::appendStartTag(),
        and MarkupAccumulator::appendEndTag().

            (Previous behavior)
            - Create a StringBuilder for each tag.
            - Append a created string in each StringBuilder to Vector<String>,
              parsing the DOM tree.
            - After the parsing, allocate a StringBuilder whose size is the sum
              of all Strings in Vector<String>.
            - Append all Strings in Vector<String> to the StringBuilder.
            (New behavior)
            - Allocate a StringBuilder with a default buffer size.
            - Append created strings to the StringBuilder, incrementally parsing
              the DOM tree.

        (b) Optimize stringBuilder.append().
            (b-1) Replace stringBuilder.append("A") with stringBuilder.append('A').
                  stringBuilder.append("A") requires to cast the characters to LChar*,
                  and then call strlen("A"). stringBuilder.append('A') is faster.
            (b-2) Replace stringBuilder.append("AB") with stringBuilder.append('A')
                  and stringBuilder.append('B'). In my experiment, appending characters
                  one by one is faster than appending the characters at a breath if the
                  number of characters is less than 3.
            (b-3) Hard-code a string length; i.e. replace stringBuilder.append("ABCDE")
                  with stringBuilder.append("ABCDE", 5). While the former requires to call
                  strlen("ABCDE"), the latter does not.

        (a) improves performance by 170% ~ 200%. (b) improves performance by 30 ~ 40%.

        Tests: fast/dom/Range/range-extract-contents.html
               fast/dom/serialize-nodes.xhtml
               fast/dom/XMLSerializer.html
               and all other tests that use innerHTML or outerHTML.
               No change in the test results.

        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::serializeNodes):
        (WebCore::MarkupAccumulator::appendString):
        (WebCore::MarkupAccumulator::appendStartTag):
        (WebCore::MarkupAccumulator::appendEndTag):
        (WebCore::MarkupAccumulator::concatenateMarkup):
        (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
        (WebCore::MarkupAccumulator::appendComment):
        (WebCore::MarkupAccumulator::appendDocumentType):
        (WebCore::MarkupAccumulator::appendProcessingInstruction):
        (WebCore::MarkupAccumulator::appendOpenTag):
        (WebCore::MarkupAccumulator::appendAttribute):
        (WebCore::MarkupAccumulator::appendCDATASection):
        * editing/MarkupAccumulator.h:
        (MarkupAccumulator):

2012-03-16  Kihong Kwon  <kihong.kwon@samsung.com>

        Support for Battery Status API
        https://bugs.webkit.org/show_bug.cgi?id=62698

        Battery Status API is implemented under the Navigator class.
        Battery Status API has four types of events, and all events are operated based on a callback mechanism.
         : onchargingchange, onchargingtimechange, ondischargingtimechange, onlevelchange.
        The battery status can be accessed using BatteryManager(navigator.webkitBattery), and battery status is controlled by BatteryController which manages instances of BatteryManager.
        When battery status event is raised, BatteryController calls all registered BatteryManager's event dispatcher.
        http://www.w3.org/TR/battery-status/

        Reviewed by Adam Barth.

        Tests: batterystatus/add-listener-from-callback.html
               batterystatus/basic-all-types-of-events.html
               batterystatus/basic-operation.html
               batterystatus/event-after-navigation.html
               batterystatus/multiple-frames.html
               batterystatus/updates.html
               batterystatus/window-property.html

        * CMakeLists.txt:
        * Modules/battery/BatteryClient.h: Added.
        (WebCore):
        (BatteryClient):
        (WebCore::BatteryClient::~BatteryClient):
        * Modules/battery/BatteryController.cpp: Added.
        (WebCore):
        (WebCore::BatteryController::BatteryController):
        (WebCore::BatteryController::~BatteryController):
        (WebCore::BatteryController::create):
        (WebCore::BatteryController::addListener):
        (WebCore::BatteryController::removeListener):
        (WebCore::BatteryController::didChangeBatteryStatus):
        (WebCore::BatteryController::supplementName):
        (WebCore::BatteryController::isActive):
        (WebCore::provideBatteryTo):
        * Modules/battery/BatteryController.h: Added.
        (WebCore):
        (BatteryController):
        (WebCore::BatteryController::client):
        (WebCore::BatteryController::from):
        * Modules/battery/BatteryManager.cpp: Added.
        (WebCore):
        (WebCore::BatteryManager::create):
        (WebCore::BatteryManager::~BatteryManager):
        (WebCore::BatteryManager::BatteryManager):
        (WebCore::BatteryManager::charging):
        (WebCore::BatteryManager::chargingTime):
        (WebCore::BatteryManager::dischargingTime):
        (WebCore::BatteryManager::level):
        (WebCore::BatteryManager::didChangeBatteryStatus):
        (WebCore::BatteryManager::suspend):
        (WebCore::BatteryManager::resume):
        (WebCore::BatteryManager::stop):
        * Modules/battery/BatteryManager.h: Added.
        (WebCore):
        (BatteryManager):
        (WebCore::BatteryManager::interfaceName):
        (WebCore::BatteryManager::scriptExecutionContext):
        (WebCore::BatteryManager::batteryControllerDestroyed):
        (WebCore::BatteryManager::canSuspend):
        (WebCore::BatteryManager::eventTargetData):
        (WebCore::BatteryManager::ensureEventTargetData):
        (WebCore::BatteryManager::refEventTarget):
        (WebCore::BatteryManager::derefEventTarget):
        * Modules/battery/BatteryManager.idl: Added.
        * Modules/battery/BatteryStatus.cpp: Added.
        (WebCore):
        (WebCore::BatteryStatus::create):
        (WebCore::BatteryStatus::BatteryStatus):
        * Modules/battery/BatteryStatus.h: Added.
        (WebCore):
        (BatteryStatus):
        (WebCore::BatteryStatus::charging):
        (WebCore::BatteryStatus::chargingTime):
        (WebCore::BatteryStatus::dischargingTime):
        (WebCore::BatteryStatus::level):
        * Modules/battery/NavigatorBattery.cpp: Added.
        (WebCore):
        (WebCore::NavigatorBattery::NavigatorBattery):
        (WebCore::NavigatorBattery::~NavigatorBattery):
        (WebCore::NavigatorBattery::webkitBattery):
        (WebCore::NavigatorBattery::from):
        (WebCore::NavigatorBattery::batteryManager):
        * Modules/battery/NavigatorBattery.h: Added.
        (WebCore):
        (NavigatorBattery):
        * Modules/battery/NavigatorBattery.idl: Added.
        * dom/EventNames.h:
        (WebCore):
        * dom/EventTargetFactory.in:
        * testing/Internals.cpp:
        (WebCore::Internals::setBatteryStatus):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: HeapSnapshot: speedup buildReverseIndex.
        https://bugs.webkit.org/show_bug.cgi?id=81327

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.get maxNodeId):
        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
        (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
        (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
        (WebInspector.HeapSnapshot.prototype):

2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110976.
        http://trac.webkit.org/changeset/110976
        https://bugs.webkit.org/show_bug.cgi?id=81330

        webkit_unit_tests crashes. (Requested by morrita on #webkit).

        * loader/cache/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::error):
        (WebCore):
        * loader/cache/CachedCSSStyleSheet.h:
        (CachedCSSStyleSheet):
        * loader/cache/CachedFont.cpp:
        (WebCore):
        (WebCore::CachedFont::error):
        * loader/cache/CachedFont.h:
        (CachedFont):
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::error):
        * loader/cache/CachedResource.h:
        (CachedResource):
        * loader/cache/CachedScript.cpp:
        (WebCore::CachedScript::error):
        (WebCore):
        * loader/cache/CachedScript.h:
        (CachedScript):
        * loader/cache/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::error):
        (WebCore):
        * loader/cache/CachedXSLStyleSheet.h:
        (CachedXSLStyleSheet):

2012-03-16  Luke Macpherson   <macpherson@chromium.org>

        Implement cast between CSSPrimitiveValue and LineClampValue.
        https://bugs.webkit.org/show_bug.cgi?id=76806

        Reviewed by Andreas Kling.

        Covered by many existing LayoutTests.

        This simplifies code in CSSStyleSelector and future mapping to CSSStyleApplyProperty.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator LineClampValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2012-03-16  Nat Duca  <nduca@chromium.org>

        [chromium] Bump textureUpdatesPerFrame to 32 to favor updating the screen over jank prevention
        https://bugs.webkit.org/show_bug.cgi?id=81298

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WTF):

2012-03-16  Levi Weintraub  <leviw@chromium.org>

        Update usage of LayoutUnits in RenderBlock*
        https://bugs.webkit.org/show_bug.cgi?id=80437

        Reviewed by Julien Chaffraix.

        Updating LayoutUnit usage in RenderBlock and RenderBlockLineLayout. This better readies trunk for
        the transition to subpixel layout.

        See https://trac.webkit.org/wiki/LayoutUnit for more details.

        No new tests. No changed behavior.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint): Adding the paint offset rounding previously in RenderBlock::paint.
        * rendering/LayoutTypes.h:
        (WebCore::floorToInt): Will floor a LayoutUnit to an integer once we switch to
        FractionalLayoutUnits.
        (WebCore::boundedMultiply): Method that will return the multiplied result of two LayoutUnits
        or the max/min LayoutUnit if the result overflows. Only does a regular multiply while
        LayoutUnits are integers instead of FractionalLayoutUnits.
        (WebCore):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintContents): Rounding the paintOffset here didn't work for all
        inline blocks. This rounding is actually only needed for InlineTextBoxes, so the logic has
        been moved there.
        (WebCore::RenderBlock::newLine): Use a LayoutUnit for the y position.
        (WebCore::RenderBlock::isPointInOverflowControl): Points for hit testing need to be rounded.
        (WebCore::RenderBlock::layoutColumns): Using boundedMultiply for a calculation prone to overflow.
        (WebCore::updatePreferredWidth): Reverting back to using ceilf. ceiledLayoutUnit was to be ultimately
        converted to just a straight LayoutUnit constructor to preserve precision. This precision doesn't work
        for us here as we still paint Boxes/Blocks on pixel boundaries, so we need to expand to a pixel size
        that encloses the contained text.
        (WebCore::RenderBlock::setPageLogicalOffset): LogicalOffset should be a LayoutUnit.
        (WebCore::RenderBlock::marginValuesForChild): Margins should have subpixel resolution.
        (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject): Intervals for floating objects
        need to use pixel snapped values to give the proper results.
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Only moved.
        (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): While we can round the left offset,
        columns add an extra offset at paint that can't currently be planned for at line-layout time. To
        avoid laying out lines that run off the end of columns, we floor the right offset. The resulting
        lines will be up to 1 pixel shorter than they potentially could be.
        (RenderBlock):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedX): Using corresponding pixelSnappedX value from
        LayoutRects.
        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX): Ditto.
        (WebCore::RenderBlock::FloatingObject::pixelSnappedY): Ditto.
        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY): Ditto.
        (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth): Ditto.
        (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight): Ditto.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): LogicalHeight is a LayoutUnit. Also
        flooring textIndentOffset to an integer to match old behavior.
        (WebCore::LineWidth::fitBelowFloats): Using LayoutUnits for float logical top and bottoms.
        (WebCore::LineLayoutState::endLineLogicalTop): Changing to a LayoutUnit.
        (WebCore::LineLayoutState::setEndLineLogicalTop): Ditto.
        (LineLayoutState): Ditto.
        (WebCore::RenderBlock::linkToEndLineIfNeeded): Calculating overflow with LayoutUnits.
        (WebCore::RenderBlock::layoutInlineChildren): LowestAllowedPosition should be subpixel.
        (WebCore::RenderBlock::checkLinesForTextOverflow): Reverting ellipsis width calculation to integers
        as this value can be seen as representing pixels on screen.

2012-03-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Follow up to: window.innerWidth/Height should not include page scale
        https://bugs.webkit.org/show_bug.cgi?id=76555

        Reviewed by Simon Hausmann.

        Introduce mapping methods for converting between CSS and layout units.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::innerHeight):
        (WebCore::DOMWindow::innerWidth):
        (WebCore::DOMWindow::scrollX):
        (WebCore::DOMWindow::scrollY):
        (WebCore::DOMWindow::scrollTo):
        * page/FrameView.h:
        (FrameView):
        (WebCore::FrameView::mapFromLayoutToCSSUnits):
        (WebCore):
        (WebCore::FrameView::mapFromCSSToLayoutUnits):

2012-03-16  Ian Vollick  <vollick@chromium.org>

        [chromium] Threaded opacity animation jump to opacity of 0
        https://bugs.webkit.org/show_bug.cgi?id=80744

        Reviewed by James Robinson.

        Tested in CCLayerTreeHostTestDoNotSkipLayersWithAnimatedOpacity

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::opacityIsAnimating):
        (WebCore):
        (WebCore::LayerChromium::transformIsAnimating):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        (WebCore::LayerChromium::drawOpacityIsAnimating):
        (WebCore::LayerChromium::setDrawOpacityIsAnimating):
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::drawOpacityIsAnimating):
        (WebCore::RenderSurfaceChromium::setDrawOpacityIsAnimating):
        (RenderSurfaceChromium):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::isAnimatingProperty):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
        (CCLayerAnimationController):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
        (WebCore::CCLayerAnimationControllerImpl::isAnimatingProperty):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
        (CCLayerAnimationControllerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        (WebCore::CCLayerImpl::opacityIsAnimating):
        (WebCore):
        (WebCore::CCLayerImpl::transformIsAnimating):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        (WebCore::CCLayerImpl::drawOpacityIsAnimating):
        (WebCore::CCLayerImpl::setDrawOpacityIsAnimating):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::layerShouldBeSkipped):
        (WebCore::subtreeShouldBeSkipped):
        (WebCore):
        (WebCore::LayerChromium):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::CCRenderSurface):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (WebCore::CCRenderSurface::drawOpacityIsAnimating):
        (WebCore::CCRenderSurface::setDrawOpacityIsAnimating):
        (CCRenderSurface):

2012-03-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [TexMap] Reuse textures following the same rules as they do internally.
        https://bugs.webkit.org/show_bug.cgi?id=80843

        Reviewed by Noam Rosenthal.

        BitmapTextures were recently changed to be the same size as their contents.
        This would obsolete the logic in acquireTextureFromPool which would
        assume that a BitmapTexture has good chances of being reused if its
        size is bigger or equal to the new size.

        This asks the texture instead if it can be reused which now simply
        check for an exact size match.

        * platform/graphics/texmap/TextureMapper.cpp:
        (WebCore::TextureMapper::acquireTextureFromPool):
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::BitmapTexture::canReuseWith):
        (WebCore::BitmapTexture::reset):
        (WebCore::BitmapTexture::didReset):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::canReuseWith):
        (WebCore):
        * platform/graphics/texmap/TextureMapperGL.h:
        (BitmapTextureGL):

2012-03-16  Robert Kroeger  <rjkroege@chromium.org>

        Connect up fling event delivery to gesture curve animation framework
        https://bugs.webkit.org/show_bug.cgi?id=80858

        Reviewed by Adam Barth.

        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::fireUpAnAnimation):

2012-03-16  Nate Chapin  <japhet@chromium.org>

        Remove duplicate error() impls in CachedResource subclasses
        https://bugs.webkit.org/show_bug.cgi?id=81161

        Reviewed by Alexey Proskuryakov.

        No new tests, refactor only.

        * loader/cache/CachedCSSStyleSheet.cpp:
        * loader/cache/CachedCSSStyleSheet.h:
        * loader/cache/CachedFont.cpp:
        * loader/cache/CachedFont.h:
        * loader/cache/CachedImage.cpp:
        * loader/cache/CachedResource.h: Make checkNotify()
             virtual, so the right checkNotify() gets called in error().
        * loader/cache/CachedScript.cpp:
        * loader/cache/CachedScript.h:
        * loader/cache/CachedXSLStyleSheet.cpp:
        * loader/cache/CachedXSLStyleSheet.h:

2012-03-16  Dana Jansens  <danakj@chromium.org>

        [chromium] Changes to overdraw metrics to allow upload tracking
        https://bugs.webkit.org/show_bug.cgi?id=81222

        Reviewed by Adrienne Walker.

        Stick CCOverdrawMetrics into CCOcclusionTracker, so that it is available
        everywhere that culling/drawing/painting is going on. Then we can stop
        plumbing a metrics object through CCQuadCuller.

        Rename the CCOverdrawMetrics "painting" stuff to "uploading" as this will
        measure texture uploads rather than pixels painted in main memory.

        Covered by existing tests.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::::CCOcclusionTrackerBase):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
        (CCOcclusionTrackerBase):
        (WebCore::CCOcclusionTrackerBase::overdrawMetrics):
        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
        (WebCore::CCOverdrawMetrics::didCull):
        (WebCore):
        (WebCore::CCOverdrawMetrics::didDraw):
        (WebCore::CCOverdrawMetrics::recordMetrics):
        (WebCore::CCOverdrawMetrics::recordMetricsInternal):
        * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
        (WebCore):
        (WebCore::CCOverdrawMetrics::create):
        (CCOverdrawMetrics):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::CCQuadCuller):
        (WebCore::CCQuadCuller::append):
        * platform/graphics/chromium/cc/CCQuadCuller.h:
        (CCQuadCuller):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsForLayer):
        * platform/graphics/chromium/cc/CCRenderPass.h:
        (WebCore):
        (CCRenderPass):

2012-03-16  Greg Billock  <gbillock@google.com>

        Add TransferList IDL modifier, with support in V8 code gen.
        https://bugs.webkit.org/show_bug.cgi?id=81127

        Reviewed by Adam Barth.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionCallback):
        (GetIndexOf):
        (GenerateParametersCheck):
        (GenerateConstructorCallback):
        (GenerateNamedConstructorCallback):
        (GenerateFunctionCallString):
        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
        (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
        (WebDOMTestSerializedScriptValueInterface):
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
        (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
        (WebCore):
        (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot):
        (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertyDescriptor):
        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        (JSTestSerializedScriptValueInterfacePrototype):
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
        (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::TestSerializedScriptValueInterfaceInternal::acceptTransferListCallback):
        (TestSerializedScriptValueInterfaceInternal):
        (WebCore):
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
        (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):

2012-03-16  Dana Jansens  <danakj@chromium.org>

        [chromium] Quads that become fully opaque after culling should not use blending
        https://bugs.webkit.org/show_bug.cgi?id=81235

        Reviewed by Adrienne Walker.

        Unit test: CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers

        * platform/graphics/chromium/cc/CCDrawQuad.h:
        (WebCore::CCDrawQuad::needsBlending):

2012-03-16  Xiaomei Ji  <xji@chromium.org>

        Using ICU break iterator to simplify visual word movement implementation.
        https://bugs.webkit.org/show_bug.cgi?id=78856

        Reviewed by Ryosuke Niwa.

        This patch relies on ICU word break iterator and cursor visual movement by character to get the word break
        position in visual order. It reduces the complexity of old implementation.

        Test: editing/selection/move-by-word-visually-wrong-left-right.html

        * editing/FrameSelection.cpp: Exclude WinCE from visual word movement since isWordTextBreak is not implemented.
        (WebCore::FrameSelection::modifyMovingRight):
        (WebCore::FrameSelection::modifyMovingLeft):
        * editing/visible_units.cpp:
        (WebCore):
        (WebCore::previousLeafWithSameEditability): Just moving to the top without functionality change.
        (WebCore::enclosingNodeWithNonInlineRenderer): ditto.
        (WebCore::nextLeafWithSameEditability): ditto.
        (WebCore::previousRootInlineBox): return previous RootInlineBox which is in different renderer.
        (WebCore::nextRootInlineBox): return next RootInlineBox which is in different renderer.
        (WebCore::boxIndexInVector):
        (WebCore::previousBoxInLine): returns logically previous box in one line.
        (WebCore::logicallyPreviousBox): returns logically previous box.
        (WebCore::nextBoxInLine): returns logically next box in one line.
        (WebCore::logicallyNextBox): returns logically next box.
        (WebCore::wordBreakIteratorForMinOffsetBoundary): create word break iterator for position that is a box's min offset.
        (WebCore::wordBreakIteratorForMaxOffsetBoundary): create word break iterator for position that is a box's max offset.
        (WebCore::isLogicalStartOfWord): return whether a position is logically start of word.
        (WebCore::islogicalEndOfWord): return whether a position is logically end of word.
        (WebCore::visualWordPosition): returns the visual left or right word position.
        (WebCore::leftWordPosition):
        (WebCore::rightWordPosition):
        * platform/text/TextBreakIterator.h: Add isWordTextBreak().
        (WebCore):
        * platform/text/TextBreakIteratorICU.cpp:
        (WebCore::isWordTextBreak):
        (WebCore):
        * platform/text/gtk/TextBreakIteratorGtk.cpp:
        (WebCore::isWordTextBreak):
        (WebCore):
        * platform/text/qt/TextBreakIteratorQt.cpp:
        (WebCore::isWordTextBreak):
        (WebCore):
        * platform/text/wince/TextBreakIteratorWinCE.cpp:
        (WebCore::isWordTextBreak):
        (WebCore):

2012-03-16  Dana Jansens  <danakj@chromium.org>

        [chromium] Don't create a quad for video layers without a frame (avoid use of uninitialized m_format)
        https://bugs.webkit.org/show_bug.cgi?id=81250

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::appendQuads):

2012-03-16  Hajime Morrita  <morrita@chromium.org>

        Unreviewed attempt to fix Chromium windows build.

        * Modules/speech/SpeechRecognition.h:
        (SpeechRecognition):

2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>

        Move DOMWindowFileSystem to Modules/filesystem/
        https://bugs.webkit.org/show_bug.cgi?id=81030

        Reviewed by Adam Barth.

        No new tests, all existing tests pass.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Modules/filesystem/DOMWindowFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.cpp.
        * Modules/filesystem/DOMWindowFileSystem.h: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.h.
        * Modules/filesystem/DOMWindowFileSystem.idl: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.idl.
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * fileapi/DOMWindowFileSystem.cpp: Removed.
        * fileapi/DOMWindowFileSystem.h: Removed.
        * fileapi/DOMWindowFileSystem.idl: Removed.

2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110951.
        http://trac.webkit.org/changeset/110951
        https://bugs.webkit.org/show_bug.cgi?id=81316

        Does not build on apple-mac (Requested by abarth on #webkit).

        * platform/audio/DynamicsCompressor.h:
        (DynamicsCompressor):
        * webaudio/DynamicsCompressorNode.cpp:
        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
        (WebCore::DynamicsCompressorNode::process):
        * webaudio/DynamicsCompressorNode.h:
        (DynamicsCompressorNode):
        * webaudio/DynamicsCompressorNode.idl:

2012-03-16  Seo Sanghyeon  <sh4.seo@samsung.com>

        Cleanup empty attribute list in IDLs
        https://bugs.webkit.org/show_bug.cgi?id=81228

        Reviewed by Adam Barth.

        No tests. No change in behavior.

        * css/WebKitCSSRegionRule.idl:

2012-03-16  Pratik Solanki  <psolanki@apple.com>

        onorientationchange event should have JSWindowEventListener attribute
        https://bugs.webkit.org/show_bug.cgi?id=79513

        Reviewed by Kentaro Hara.

        * html/HTMLFrameSetElement.idl:

2012-03-15  Gao Chun  <chun.gao@intel.com>

        Expose attack, release as DynamicsCompressorNode's attributes.
        https://bugs.webkit.org/show_bug.cgi?id=81221

        Reviewed by Chris Rogers.

        Test: webaudio/dynamicscompressor-basic.html

        * platform/audio/DynamicsCompressor.h:
        (DynamicsCompressor):
        * webaudio/DynamicsCompressorNode.cpp:
        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
        (WebCore::DynamicsCompressorNode::process):
        * webaudio/DynamicsCompressorNode.h:
        (WebCore::DynamicsCompressorNode::attack):
        (WebCore::DynamicsCompressorNode::release):
        (DynamicsCompressorNode):
        * webaudio/DynamicsCompressorNode.idl:

2012-03-15  Hans Wennborg  <hans@chromium.org>

        Speech JavaScript API: SpeechRecognition, Controller and Client
        https://bugs.webkit.org/show_bug.cgi?id=81096

        Reviewed by Adam Barth.

        Add implementation stub for SpeechRecognition. Add the
        SpeechRecognitionController class and SpeechRecognitionClient
        interface.

        Test: fast/speech/scripted/basics.html

        * Modules/speech/DOMWindowSpeech.idl:
        * Modules/speech/SpeechRecognition.cpp: Added.
        (WebCore):
        (WebCore::SpeechRecognition::create):
        (WebCore::SpeechRecognition::start):
        (WebCore::SpeechRecognition::stopFunction):
        (WebCore::SpeechRecognition::abort):
        (WebCore::SpeechRecognition::audioStartCallback):
        (WebCore::SpeechRecognition::soundStartCallback):
        (WebCore::SpeechRecognition::speechStartCallback):
        (WebCore::SpeechRecognition::speechEndCallback):
        (WebCore::SpeechRecognition::audioEndCallback):
        (WebCore::SpeechRecognition::resultCallback):
        (WebCore::SpeechRecognition::noMatchCallback):
        (WebCore::SpeechRecognition::resultDeletedCallback):
        (WebCore::SpeechRecognition::errorCallback):
        (WebCore::SpeechRecognition::startCallback):
        (WebCore::SpeechRecognition::endCallback):
        (WebCore::SpeechRecognition::interfaceName):
        (WebCore::SpeechRecognition::scriptExecutionContext):
        (WebCore::SpeechRecognition::SpeechRecognition):
        (WebCore::SpeechRecognition::~SpeechRecognition):
        * Modules/speech/SpeechRecognition.h: Added.
        (WebCore):
        (SpeechRecognition):
        (WebCore::SpeechRecognition::grammars):
        (WebCore::SpeechRecognition::setGrammars):
        (WebCore::SpeechRecognition::lang):
        (WebCore::SpeechRecognition::setLang):
        (WebCore::SpeechRecognition::continuous):
        (WebCore::SpeechRecognition::setContinuous):
        * Modules/speech/SpeechRecognition.idl:
        * Modules/speech/SpeechRecognitionClient.h:
        (WebCore):
        (SpeechRecognitionClient):
        (WebCore::SpeechRecognitionClient::~SpeechRecognitionClient):
        * Modules/speech/SpeechRecognitionController.cpp:
        (WebCore):
        (WebCore::SpeechRecognitionController::supplementName):
        (WebCore::SpeechRecognitionController::SpeechRecognitionController):
        (WebCore::SpeechRecognitionController::~SpeechRecognitionController):
        (WebCore::SpeechRecognitionController::create):
        (WebCore::provideSpeechRecognitionTo):
        * Modules/speech/SpeechRecognitionController.h: Added.
        (WebCore):
        (SpeechRecognitionController):
        (WebCore::SpeechRecognitionController::start):
        (WebCore::SpeechRecognitionController::stop):
        (WebCore::SpeechRecognitionController::abort):
        (WebCore::SpeechRecognitionController::visibilityHidden):
        (WebCore::SpeechRecognitionController::unregisterSpeechRecognition):
        (WebCore::SpeechRecognitionController::from):
        * WebCore.gypi:
        * dom/EventTargetFactory.in:

2012-03-15  Michal Ciepielski  <m.ciepielski@samsung.com>

        [EFL] Sets alpha channel for new buffers.
        https://bugs.webkit.org/show_bug.cgi?id=77101

        Reviewed by Hajime Morita.

        No new tests.

        By default EFL creates buffers without alpha channel.
        This causes improper rendering of HTML controls (i.e. radio buttons, checkboxes).
        This commits sets alpha channel for all newly created buffers by EFL.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::cacheThemePartNew):

2012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110941.
        http://trac.webkit.org/changeset/110941
        https://bugs.webkit.org/show_bug.cgi?id=81307

        the revert looks innocent. (Requested by morrita on #webkit).

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore):
        (ContentLayerChromium):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/ImageLayerChromium.h:
        (WebCore):
        (ImageLayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::paintContentsIfDirty):
        (WebCore::LayerChromium::idlePaintContentsIfDirty):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (TiledLayerChromium):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebGLLayerChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:

2012-03-15  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API (JSEP): Introducing SessionDescription
        https://bugs.webkit.org/show_bug.cgi?id=81206

        Reviewed by Adam Barth.

        Patch #3 in a series of patches to change the PeerConnection from ROAP to JSEP,
        see bug 80589 for more information.
        Adding the SessionDescription JS object and its platform counterpart SessionDescriptionDescriptor.

        Not possible to test until the entire JSEP feature is commited.

        * GNUmakefile.list.am:
        * Modules/mediastream/SessionDescription.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
        (WebCore):
        (WebCore::SessionDescription::create):
        (WebCore::SessionDescription::SessionDescription):
        (WebCore::SessionDescription::~SessionDescription):
        (WebCore::SessionDescription::addCandidate):
        (WebCore::SessionDescription::toSdp):
        (WebCore::SessionDescription::descriptor):
        * Modules/mediastream/SessionDescription.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
        (WebCore):
        (SessionDescription):
        * Modules/mediastream/SessionDescription.idl: Added.
        * WebCore.gypi:
        * platform/mediastream/MediaStreamCenter.cpp:
        (WebCore::MediaStreamCenter::constructSdp):
        (WebCore):
        * platform/mediastream/MediaStreamCenter.h:
        (WebCore):
        (MediaStreamCenter):
        * platform/mediastream/SessionDescriptionDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
        (WebCore):
        (WebCore::SessionDescriptionDescriptor::create):
        (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
        (WebCore::SessionDescriptionDescriptor::~SessionDescriptionDescriptor):
        (WebCore::SessionDescriptionDescriptor::addCandidate):
        (WebCore::SessionDescriptionDescriptor::toSdp):
        (WebCore::SessionDescriptionDescriptor::numberOfAddedCandidates):
        (WebCore::SessionDescriptionDescriptor::candidate):
        (WebCore::SessionDescriptionDescriptor::initialSdp):
        * platform/mediastream/SessionDescriptionDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
        (WebCore):
        (SessionDescriptionDescriptor):

2012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110929.
        http://trac.webkit.org/changeset/110929
        https://bugs.webkit.org/show_bug.cgi?id=81306

        breaking webkit_unit_tests (Requested by morrita on #webkit).

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore):
        (ContentLayerChromium):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/ImageLayerChromium.h:
        (WebCore):
        (ImageLayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::paintContentsIfDirty):
        (WebCore::LayerChromium::idlePaintContentsIfDirty):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore):
        (WebCore::contentToLayerTransform):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (WebCore):
        (TiledLayerChromium):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebGLLayerChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:

2012-03-15  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        REGRESSION(r106232): The resize handler is always called after loading.
        https://bugs.webkit.org/show_bug.cgi?id=80242

        Reviewed by Kenneth Rohde Christiansen.

        Ensure resize-events are not emitted when layout-size changes due to added
        scrollbars. For fixed layout, scrollbars are never subtracted or added, so
        we can compare fixedLayoutSize directly. For normal layout, use the full
        visible rect size which is the same as layout size plus scrollbars.

        Test: fast/events/resize-events.html

        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::performPostLayoutTasks):
        * page/FrameView.h:
        (FrameView):

2012-03-15  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API (JSEP): Introducing MediaHints and IceOptions
        https://bugs.webkit.org/show_bug.cgi?id=81207

        Reviewed by Adam Barth.

        Patch #4 in a series of patches to change the PeerConnection from ROAP to JSEP,
        see bug 80589 for more information.
        Introducing the platform MediaHints and IceOptions helper classes.

        Not possible to test until the entire JSEP feature is commited.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * platform/mediastream/IceOptions.cpp: Added.
        (WebCore):
        (WebCore::IceOptions::create):
        * platform/mediastream/IceOptions.h: Added.
        (WebCore):
        (IceOptions):
        (WebCore::IceOptions::~IceOptions):
        (WebCore::IceOptions::useCandidates):
        (WebCore::IceOptions::IceOptions):
        * platform/mediastream/MediaHints.cpp: Added.
        (WebCore):
        (WebCore::MediaHints::create):
        (WebCore::MediaHints::audio):
        (WebCore::MediaHints::video):
        * platform/mediastream/MediaHints.h: Added.
        (WebCore):
        (MediaHints):
        (WebCore::MediaHints::~MediaHints):
        (WebCore::MediaHints::MediaHints):

2012-03-15  Shinya Kawanaka  <shinyak@chromium.org>

        [Crash] Adding <content> into a ShadowRoot causes crash.
        https://bugs.webkit.org/show_bug.cgi?id=80020

        Reviewed by Hajime Morita.

        The problem is <content> tries to select host children though it is not prepared.
        Since populating host children for insertion points is performed just before
        attaching a shadow tree, we should recalculate whole shadow tree if <content> is
        appended as a child.

        However, element->appendChild() does not know the element is in a shadow tree or not.
        We have to ensure reattaching whole shadow tree here.

        So this patch adds some phases to HTMLContentSelector so that we can check node
        distribution algorihm is begin processed or not. If not we cannot select anything,
        but we have to enable a flag to reattach whole shadow tree.

        Tests: fast/dom/shadow/shadow-content-crash-expected.html
               fast/dom/shadow/shadow-content-crash.html

        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::attach):
        (WebCore::ShadowTree::insertionPointFor):
        * dom/ShadowTree.h:
        (WebCore):
        (ShadowTree):
        (WebCore::ShadowTree::selector):
        * html/shadow/HTMLContentSelector.cpp:
        (WebCore::HTMLContentSelector::HTMLContentSelector):
        (WebCore::HTMLContentSelector::select):
        (WebCore::HTMLContentSelector::willSelect):
        (WebCore):
        (WebCore::HTMLContentSelector::didSelect):
        (WebCore::HTMLContentSelector::populateIfNecessary):
        * html/shadow/HTMLContentSelector.h:
        (HTMLContentSelector):
        (WebCore::HTMLContentSelector::isSelecting):
        (WebCore):
        (WebCore::HTMLContentSelector::hasPopulated):
        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::distributeHostChildren):
        (WebCore::InsertionPoint::clearDistribution):

2012-03-15  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc: mixed percent/absolute expressions for gradients
        https://bugs.webkit.org/show_bug.cgi?id=81182

        Reviewed by Ojan Vafai.

        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::addStops):
        (WebCore::positionFromValue):

2012-03-15  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Sync up MIMETypeRegistry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=81191

        Reviewed by Rob Buis.

        Add png and jpeg to supportedImageMIMETypesForEncoding for BlackBerry.

        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypesForEncoding):

2012-03-15  Dana Jansens  <danakj@chromium.org>

        [chromium] Decide occlusion in paint culling with CCOcclusionTracker
        https://bugs.webkit.org/show_bug.cgi?id=81181

        Reviewed by Adrienne Walker.

        Plumb a CCOcclusionTracker* around instead of a bare Region, so that it
        can make a more informed decision if a tile is occluded or not during
        paint.

        Covered by existing tests.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore):
        (ContentLayerChromium):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/ImageLayerChromium.h:
        (WebCore):
        (ImageLayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::paintContentsIfDirty):
        (WebCore::LayerChromium::idlePaintContentsIfDirty):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (TiledLayerChromium):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebGLLayerChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:

2012-03-15  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] The "meter" element should not be a form-associated element.
        https://bugs.webkit.org/show_bug.cgi?id=80380

        Reviewed by Kent Tamura.

        This patch changes base class of HTMLMeterElement to LabelableElement from
        HTMLFormControlElement for saving memory space and iteration time of
        extra "meter" elements in HTMLFormElement::m_formAssociatedElements
        and matching the HTML5 specification for ease of maintenance.

        This patch renames isLabelable method to supportLabels and makes isLabelable
        as predicate of an instance of LabelableElement or not.

        Changes of TextIterator is lead by usage of isFormControlElement. This
        changes will be replaced with more meaningful predicate as part of
        https://bugs.webkit.org/show_bug.cgi?id=80381

        No new tests. Update existing tests to cover this change.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::advance): Check HTMLMeterElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
        * html/HTMLButton.h:
        (WebCore::HTMLButtonElement::supportLabels): Renamed from isLabelable
        * html/HTMLElement.h:
        (WebCore::HTMLElement::isLabelable): Added. A predicate for an instance of LabelableElement.
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::supportLabels): Renamed from isLabelable
        * html/HTMLKeygenElement.h:
        (WebCore::HTMLKeygenElement::supportLabels): Renamed from isLabelable
         * html/HTMLLabelElement.cpp:
        (WebCore::nodeAsLabelableElement): Changed to return LabelableElement instead of HTMLFormControlElement.
        (WebCore::HTMLLabelElement::control): Changed to return LabelableElement instead of HTMLFormControlElement.
        * html/HTMLLabelElement.h:
        (HTMLLabelElement):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::HTMLMeterElement): Changed base class to LabelableElement.
        (WebCore::HTMLMeterElement::create): Remove form parameter.
        (WebCore::HTMLMeterElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
        (WebCore::HTMLMeterElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement
        (WebCore::HTMLMeterElement::attach): Replace HTMLFormControlElement to LabelableElement
        * html/HTMLMeterElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
        * html/HTMLMeterElement.h:
        (HTMLMeterElement):
        (WebCore::HTMLMeterElement::supportLabels): Renamed from isLabelable
        * html/HTMLOutputElement.h:
        (WebCore::HTMLOutputElement::supportLabels): Renamed from isLabelable
        * html/HTMLProgressElement.h:
        (WebCore::HTMLProgressElement::supportLabels): Renamed from isLabelable
         * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::supportLabels): Renamed from isLabelable
        * html/HTMLTextAreaElement.h:
        (WebCore::HTMLTextAreaElement::supportLabels): Renamed from isLabelable
        * html/HiddenInputType.h:
        (WebCore::HiddenInputType::supportLabels): Renamed from isLabelable
        * html/InputType.h:
        (WebCore::InputType::supportLabels): Renamed from isLabelable
        * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
        * html/LabelableElement.cpp:
        (WebCore::LabelableElement::labels): Replace isLabelable to supportLabels
        * html/LabelableElement.h:
        (LabelableElement):

2012-03-15  Adam Klein  <adamk@chromium.org>

        REGRESSION(r103452): 100% CPU usage and 5s pause after clicking on a link in Yahoo Mail
        https://bugs.webkit.org/show_bug.cgi?id=81141

        Reviewed by Ojan Vafai.

        Revert the behavior change from r103452: don't fire DOMSubtreeModified
        events when an attribute value merely changes. Still fire that event
        when an attribute is added or removed from an element.

        Though this contradicts the DOM3 spec, it matches legacy WebKit behavior,
        and given that Mutation Events are deprecated, it seems unwise to make
        any additions to WebKit's implementation of them.

        Test: fast/dom/subtree-modified-attributes.html

        * dom/Element.cpp:
        (WebCore::Element::didAddAttribute): Renamed from didModifyAttribute.
        (WebCore::Element::didModifyAttribute): Remove the call to dispatchSubtreeModifiedEvent.
        (WebCore):
        * dom/Element.h:
        (Element):
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::addAttribute): Call didAddAttribute instead of didModifyAttribute.

2012-03-15  Dana Jansens  <danakj@chromium.org>

        [chromium] Move overdraw metrics into a templated class for both paint and draw metrics.
        https://bugs.webkit.org/show_bug.cgi?id=81156

        Reviewed by Adrienne Walker.

        Creates CCOverdrawMetrics which can be called to inform it about
        draws/paints. At the end of the frame, the CCOverdrawMetrics
        recordMetrics() method will put its data into histograms, a
        TRACE_COUNTER for culling information, and a TRACE_EVENT for details
        about the number of opaque/translucent pixels.

        Covered by existing tests.

        * WebCore.gypi:
        * platform/chromium/TraceEvent.h:
        (TraceEvent):
        (WebCore::TraceEvent::addTraceEvent):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Added.
        (WebCore):
        (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
        (WebCore::wedgeProduct):
        (WebCore::quadArea):
        (WebCore::CCOverdrawMetrics::didDraw):
        (WebCore::CCOverdrawMetrics::recordMetrics):
        (WebCore::CCOverdrawMetrics::recordMetricsInternal):
        * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Added.
        (WebCore):
        (CCOverdrawMetrics):
        (WebCore::CCOverdrawMetrics::pixelsDrawnOpaque):
        (WebCore::CCOverdrawMetrics::pixelsDrawnTranslucent):
        (WebCore::CCOverdrawMetrics::pixelsCulled):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::CCQuadCuller):
        (WebCore::CCQuadCuller::append):
        * platform/graphics/chromium/cc/CCQuadCuller.h:
        (WebCore):
        (CCQuadCuller):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsForLayer):
        * platform/graphics/chromium/cc/CCRenderPass.h:
        (WebCore):
        (CCRenderPass):

2012-03-15  James Robinson  <jamesr@chromium.org>

        [chromium] RateLimiter should hold a reference to its context
        https://bugs.webkit.org/show_bug.cgi?id=80761

        Reviewed by Stephen White.

        * platform/graphics/chromium/RateLimiter.h:
        (RateLimiter):

2012-03-15  Adam Klein  <adamk@chromium.org>

        Share code in FormAssociatedElement by resetting the form owner whenever insertedIntoTree is called
        https://bugs.webkit.org/show_bug.cgi?id=81160

        Reviewed by Kent Tamura.

        The only difference between the previous insertedIntoTree method and
        resetFormOwner was a missing element->inDocument() check in the
        former. But that check is actually important, as seen by the included test case.

        Test: fast/forms/form-attribute-not-in-document.html

        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::insertedIntoTree):

2012-03-15  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] Rename StringBuilder variables in MarkupAccumulator.{h,cpp}
        https://bugs.webkit.org/show_bug.cgi?id=81288

        Reviewed by Adam Barth.

        This is a refactoring for fixing bug 81214. Currently MarkupAccumulator mixes
        'out' and 'result' for variable names of StringBuilder. This patch unifies them
        to 'result'.

        No tests. No change in behavior.

        * editing/MarkupAccumulator.cpp: Renamed 'out' to 'result'.
        (WebCore::appendCharactersReplacingEntities):
        (WebCore::MarkupAccumulator::serializeNodes): Renamed 'node' to 'targetNode' for clarification
        (and for avoiding style check error in MarkupAccumulator.h).
        (WebCore::MarkupAccumulator::concatenateMarkup):
        (WebCore::MarkupAccumulator::appendNodeValue):
        (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
        (WebCore::MarkupAccumulator::appendNamespace):
        (WebCore::MarkupAccumulator::entityMaskForText):
        (WebCore::MarkupAccumulator::appendText):
        (WebCore::MarkupAccumulator::appendComment):
        (WebCore::MarkupAccumulator::appendProcessingInstruction):
        (WebCore::MarkupAccumulator::appendElement):
        (WebCore::MarkupAccumulator::appendOpenTag):
        (WebCore::MarkupAccumulator::appendCloseTag):
        (WebCore::MarkupAccumulator::appendAttribute):
        (WebCore::MarkupAccumulator::appendCDATASection):
        (WebCore::MarkupAccumulator::elementCannotHaveEndTag):
        * editing/MarkupAccumulator.h: Removed redundant variable names.
        (MarkupAccumulator):
        (WebCore):

2012-03-15  Brent Fulgham  <bfulgham@webkit.org>

        [WinCairo] Correct <wtf/*.h> include paths.
        https://bugs.webkit.org/show_bug.cgi?id=81278

        Reviewed by Eric Seidel.

        Modify the #include declarations for several Cairo-related files
        so that the wtf types are included using the full path.

        * platform/graphics/FontPlatformData.h:
        * platform/graphics/cairo/OwnPtrCairo.h:
        * platform/graphics/cairo/RefPtrCairo.h:

2012-03-15  Anders Carlsson  <andersca@apple.com>

        only some tiles rendered when zoomed in
        https://bugs.webkit.org/show_bug.cgi?id=81282
        <rdar://problem/11058898>

        Reviewed by Andreas Kling.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::rectForTileIndex):
        Make sure that the tile cache bounds are scaled accordingly.

2012-03-15  Zeno Albisser  <zeno@webkit.org>

        [Qt] RenderThemeQt::fileListNameForWidth should override function in base class RenderTheme. (r110560)
        https://bugs.webkit.org/show_bug.cgi?id=81107

        Add "bool multipleFilesAllowed" to the parameter list of RenderThemeQt::fileListNameForWidth.
        This way the base class function is properly overridden.
        The need for this change became obvious after r110560 where the OVERRIDE keyword had been
        added to the function signature.

        Reviewed by Simon Hausmann.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::fileListNameForWidth):
        * platform/qt/RenderThemeQt.h:
        (RenderThemeQt):

2012-03-07  Jon Lee  <jonlee@apple.com>

        Move NotificationContents into Notification
        https://bugs.webkit.org/show_bug.cgi?id=80487
        <rdar://problem/10965519>

        Reviewed by Jian Li.

        * notifications/Notification.cpp: Alter signature of constructor to take the fields directly instead of
        a NotificationContents instance.
        (WebCore::Notification::Notification): Derive KURL from string representation of icon.
        (WebCore::Notification::create):
        * notifications/Notification.h:
        (Notification): Remove contents() accessor and replace with get for title and body. iconURL()
        already existed, but use local variable instead of going through NotificationContents.
        (WebCore::Notification::iconURL):
        (WebCore::Notification::title):
        (WebCore::Notification::body):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createNotification): Refactor to use new constructor.
        * notifications/NotificationContents.h: Removed.

        Remove NotificationContents.h from project files
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

2012-03-13  Jon Lee  <jonlee@apple.com>

        Deprecate ondisplay()
        https://bugs.webkit.org/show_bug.cgi?id=80483
        <rdar://problem/10912432>

        Reviewed by Jian Li.

        The appropriate event listener for notifications is onshow().

        * notifications/Notification.h: Wrap ondisplay in ENABLE(LEGACY_NOTIFICATIONS).
        * notifications/Notification.idl: Wrap ondisplay in ENABLE_LEGACY_NOTIFICATIONS.

2012-03-14  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Wire up PlatformGestureCurves for CC, ScrollAnimatorNone.
        https://bugs.webkit.org/show_bug.cgi?id=80607

        Reviewed by James Robinson.

        Unit tests added. Layout tests to follow.

        Provides implementation of PlatformGestureCurves in Chrome Compositor, and basic
        support in ScrollAnimatorNone, for fling gestures.

        * GNUmakefile.list.am:
        * platform/ActivePlatformGestureAnimation.cpp:
        (WebCore::ActivePlatformGestureAnimation::create):
        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
        (WebCore::ActivePlatformGestureAnimation::animate):
        * platform/ActivePlatformGestureAnimation.h:
        (ActivePlatformGestureAnimation):
        * platform/PlatformGestureCurveTarget.h:
        (PlatformGestureCurveTarget):
        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::cancelAnimations):
        (WebCore::ScrollAnimatorNone::animationTimerFired):
        (WebCore::ScrollAnimatorNone::scrollBy):
        (WebCore):
        * platform/ScrollAnimatorNone.h:
        (WebCore):
        (ScrollAnimatorNone):
        * platform/TouchFlingPlatformGestureCurve.cpp:
        (WebCore::TouchFlingPlatformGestureCurve::apply):
        * platform/WheelFlingPlatformGestureCurve.cpp:
        (WebCore::WheelFlingPlatformGestureCurve::apply):
        * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
        (WebCore::CCActiveGestureAnimation::create):
        (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
        (WebCore::CCActiveGestureAnimation::animate):
        * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
        (CCActiveGestureAnimation):
        * platform/graphics/chromium/cc/CCGestureCurve.h:
        (CCGestureCurveTarget):
        * platform/graphics/chromium/cc/CCInputHandler.h:
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::animate):
        (WebCore::CCLayerTreeHostImpl::setActiveGestureAnimation):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::animateGestures):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::activeGestureAnimation):
        (CCLayerTreeHostImpl):

2012-03-15  Patrick Gansterer  <paroga@webkit.org>

        [EFL] Make zlib a general build requirement
        https://bugs.webkit.org/show_bug.cgi?id=80153

        Reviewed by Hajime Morita.

        After r109538 WebSocket module needs zlib to support deflate-frame extension.

        * PlatformEfl.cmake:

2012-03-15  Robert Kroeger  <rjkroege@chromium.org>

        REGRESSION (r110371): broke platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
        https://bugs.webkit.org/show_bug.cgi?id=80825

        Reviewed by James Robinson.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleWheelEvent): Corrected a typo.

2012-03-15  Scott Byer  <scottbyer@chromium.org>

        Fix crbug 117957 - get settings scrolling with the wheel again.
        https://bugs.webkit.org/show_bug.cgi?id=81247

        Reviewed by James Robinson.

        Tests to follow.

        * page/FrameView.cpp:
        (WebCore::FrameView::serviceScriptedAnimations):

2012-03-15  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=81258

        Add a preference for enabling the new multi-column layout code that will be based on regions.

        Reviewed by Beth Dakin.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setRegionBasedColumnsEnabled):
        (WebCore::Settings::regionBasedColumnsEnabled):
        (Settings):

2012-03-15  Andreas Kling  <kling@webkit.org>

        RenderStyle: Return Color objects by value instead of as const references.
        <http://webkit.org/b/81180>

        Reviewed by Antti Koivisto.

        Make RenderStyle getters return "Color" rather than "const Color&". This is preparation
        for storing some color values in a more space-efficient fashion.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyColor::applyInheritValue):
        * page/animation/AnimationBase.cpp:
        (PropertyWrapperColor):
        (WebCore::PropertyWrapperColor::PropertyWrapperColor):
        (WebCore::PropertyWrapperColor::blend):
        (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
        (PropertyWrapperMaybeInvalidColor):
        (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
        (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
        (PropertyWrapperSVGPaint):
        * platform/graphics/Color.h:
        (WebCore::Color::Color):
        * rendering/style/RenderStyle.h:

2012-03-15  Jessie Berlin  <jberlin@apple.com>

        Assertion failures in WebCore::Page::goBackOrForward causing multiple "crashes" on Lion Intel
        Debug WebKit2 testers
        https://bugs.webkit.org/show_bug.cgi?id=81159

        Rubber-stamped by Brady Eidson.

        It is plausible that history could change in between the time a navigation request is
        scheduled and the timer is fired, so the request index could be out of the b/f list range.
        Hence, the assertion is invalid and should be removed.

        * page/Page.cpp:
        (WebCore::Page::goBackOrForward):

2012-03-15  Alexey Proskuryakov  <ap@apple.com>

        Assertion failures in checkEncodedString when running WebKit2 tests
        https://bugs.webkit.org/show_bug.cgi?id=67425
        <rdar://problem/11043492>

        Reviewed by Anders Carlsson.

        * platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::cfError):
        * platform/network/mac/ResourceErrorMac.mm: (WebCore::ResourceError::nsError):
        The failing URL is certainly not guaranteed to be valid, so it's not correct to put it back
        into a URL as if it's been normalized by KURL.

2012-03-15  Brady Eidson  <beidson@apple.com>

        <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
        REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard

        Reviewed by Sam Weinig.

        Test: editing/pasteboard/copy-two-pasteboard-types-both-work.html

        Add the non-destructive "addTypes" to supplement the destructive "setTypes"
        * platform/PasteboardStrategy.h:
        (PasteboardStrategy):
        * platform/PlatformPasteboard.h:
        (PlatformPasteboard):
        * platform/mac/PlatformPasteboardMac.mm:
        (WebCore::PlatformPasteboard::addTypes):
        * WebCore.exp.in:

        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::setData): Call the non-destructive "addTypes" instead of
          the destructive "setTypes"

2012-03-15  Dana Jansens  <danakj@chromium.org>

        [Chromium] REGRESSION(r110596) CCQuadCullerTest.verifyCullChildLinesUpTopLeft fails on Windows
        https://bugs.webkit.org/show_bug.cgi?id=81083

        Reviewed by Adrienne Walker.

        The surface pointer on the occlusion tracker stack is uninitialized, and
        can be non-null, but the layer's target surface is null, causing asserts
        to fail. Fixes the TestCCOcclusionTrackerImpl to initialize the stack's
        surface to be null.

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::::enterTargetRenderSurface):
        (WebCore::::unoccludedContentRect):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
        (WebCore::CCOcclusionTrackerBase::StackObject::StackObject):

2012-03-15  David Levin  <levin@chromium.org>

        Various autoresize fixes.
        https://bugs.webkit.org/show_bug.cgi?id=81199

        Reviewed by Darin Fisher.

        Tested by WebViewTest additions.

        * page/FrameView.cpp:
        (WebCore::FrameView::autoSizeIfEnabled): Fixed a bug that caused a horizontal
        scrollbar to appear when the size was width was fixed and height overflowed which
        is one of the tests that was added.

2012-03-15  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: normalize vertical overview bars by longest bar, not by longest frame
        https://bugs.webkit.org/show_bug.cgi?id=81231

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.reset):
        (WebInspector.TimelineOverviewPane.prototype.accept):
        (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
        (WebInspector.TimelineVerticalOverview.prototype.reset):
        (WebInspector.TimelineVerticalOverview.prototype.update):
        (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
        (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):

2012-03-15  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: crash in InspectorTimelineAgent when trying to add children to cancelable records
        https://bugs.webkit.org/show_bug.cgi?id=81245

        Reviewed by Vsevolod Vlasov.

        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
        (WebCore):
        (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
        (WebCore::InspectorTimelineAgent::appendRecord):
        (WebCore::InspectorTimelineAgent::commitCancelableRecords):
        * inspector/InspectorTimelineAgent.h:
        (InspectorTimelineAgent):

2012-03-15  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: live locations could be disposed twice.
        https://bugs.webkit.org/show_bug.cgi?id=81249

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ScriptMapping.js:
        (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):

2012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Implement unicode submenu items
        https://bugs.webkit.org/show_bug.cgi?id=81117

        Reviewed by Martin Robinson.

        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::shouldShowUnicodeMenu): Just return
        false.
        * page/ContextMenuController.cpp:
        (WebCore::insertUnicodeCharacter): Helper function to insert a
        unicode character.
        (WebCore::ContextMenuController::contextMenuItemSelected):
        Implement unicode menu items using insertUnicodeCharacter() to
        insert the apropriate unicode character.
        (WebCore::ContextMenuController::createAndAppendUnicodeSubMenu):
        Create the unicode submenu.
        (WebCore::ContextMenuController::populate): Add unicode submenu
        item for editable content.
        (WebCore::ContextMenuController::checkOrEnableIfNeeded): Add
        unicode submenu items to the switch.
        * page/ContextMenuController.h:
        * page/EditorClient.h:
        (EditorClient): Add shouldShowUnicodeMenu() for GTK platform.
        * platform/ContextMenuItem.h:
        * platform/LocalizedStrings.h:
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::contextMenuItemTagUnicodeInsertLRMMark): Add localized
        string for the unicode menu item.
        (WebCore::contextMenuItemTagUnicodeInsertRLMMark): Ditto.
        (WebCore::contextMenuItemTagUnicodeInsertLREMark): Ditto.
        (WebCore::contextMenuItemTagUnicodeInsertRLEMark): Ditto.
        (WebCore::contextMenuItemTagUnicodeInsertLROMark): Ditto.
        (WebCore::contextMenuItemTagUnicodeInsertRLOMark): Ditto.
        (WebCore::contextMenuItemTagUnicodeInsertPDFMark): Ditto.
        (WebCore::contextMenuItemTagUnicodeInsertZWSMark): Ditto.
        (WebCore::contextMenuItemTagUnicodeInsertZWJMark): Ditto.
        (WebCore::contextMenuItemTagUnicodeInsertZWNJMark): Ditto.

2012-03-15  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: MainScriptMapping should detect snippet scripts by means of sourceURL set before evaluation.
        https://bugs.webkit.org/show_bug.cgi?id=81031

        Reviewed by Pavel Feldman.

        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsModel):
        (WebInspector.SnippetsModel.prototype._saveSettings):
        (WebInspector.SnippetsModel.prototype.deleteSnippet):
        (WebInspector.SnippetsModel.prototype._snippetAdded):
        (WebInspector.SnippetsModel.prototype._sourceURLForSnippet):
        (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
        (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
        (WebInspector.Snippet.prototype.evaluate):
        (WebInspector.SnippetsScriptMapping):
        (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation.get if):
        (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation):
        (WebInspector.SnippetsScriptMapping.prototype._releasedUISourceCodes):
        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
        (WebInspector.SnippetsScriptMapping.prototype._snippetWillBeEvaluated):
        (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
        (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):

2012-03-15  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed. Build fixes for Mac and DOM bindings.

        * bindings/cpp/WebDOMEventTarget.cpp:
        (toWebKit):
        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):

2012-03-14  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: extract CompilerScriptMapping from RawSourceCode.
        https://bugs.webkit.org/show_bug.cgi?id=81088

        Reviewed by Vsevolod Vlasov.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/CompilerScriptMapping.js: Added.
        (WebInspector.CompilerScriptMapping):
        (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
        (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodeList):
        (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
        (WebInspector.CompilerScriptMapping.prototype.addScript):
        (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
        (WebInspector.CompilerScriptMapping.prototype.reset):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode):
        (WebInspector.RawSourceCode.prototype.setFormatted):
        (WebInspector.RawSourceCode.prototype._resourceFinished):
        (WebInspector.RawSourceCode.prototype._createUISourceCode):
        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.addScript):
        * inspector/front-end/ScriptMapping.js:
        (WebInspector.MainScriptMapping):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-03-15  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: Move all includes behind ENABLE(INSPECTOR) guards
        https://bugs.webkit.org/show_bug.cgi?id=81132

        Reviewed by Yury Semikhatsky.

        Include directives are moved several lines down in .cpp files and in
        generator templates.

        * inspector/CodeGeneratorInspector.py:
        * inspector/ContentSearchUtils.cpp:
        * inspector/DOMEditor.cpp:
        * inspector/DOMNodeHighlighter.cpp:
        * inspector/DOMPatchSupport.cpp:
        * inspector/IdentifiersFactory.cpp:
        * inspector/InjectedScript.cpp:
        * inspector/InjectedScriptHost.cpp:
        * inspector/InjectedScriptManager.cpp:
        * inspector/InspectorAgent.cpp:
        * inspector/InspectorApplicationCacheAgent.cpp:
        * inspector/InspectorBaseAgent.cpp:
        * inspector/InspectorCSSAgent.cpp:
        * inspector/InspectorClient.cpp:
        * inspector/InspectorConsoleAgent.cpp:
        * inspector/InspectorController.cpp:
        * inspector/InspectorCounters.cpp:
        * inspector/InspectorDOMAgent.cpp:
        * inspector/InspectorDOMDebuggerAgent.cpp:
        * inspector/InspectorDOMStorageAgent.cpp:
        * inspector/InspectorDatabaseAgent.cpp:
        * inspector/InspectorDatabaseResource.cpp:
        * inspector/InspectorDebuggerAgent.cpp:
        * inspector/InspectorFileSystemAgent.cpp:
        * inspector/InspectorFrontendClientLocal.cpp:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorHistory.cpp:
        * inspector/InspectorIndexedDBAgent.cpp:
        * inspector/InspectorInstrumentation.cpp:
        * inspector/InspectorMemoryAgent.cpp:
        * inspector/InspectorPageAgent.cpp:
        * inspector/InspectorProfilerAgent.cpp:
        * inspector/InspectorResourceAgent.cpp:
        * inspector/InspectorRuntimeAgent.cpp:
        * inspector/InspectorState.cpp:
        * inspector/InspectorStyleSheet.cpp:
        * inspector/InspectorStyleTextEditor.cpp:
        * inspector/InspectorTimelineAgent.cpp:
        * inspector/InspectorValues.cpp:
        * inspector/InstrumentingAgents.cpp:
        * inspector/NetworkResourcesData.cpp:
        * inspector/PageConsoleAgent.cpp:
        * inspector/PageDebuggerAgent.cpp:
        * inspector/PageRuntimeAgent.cpp:
        * inspector/TimelineRecordFactory.cpp:
        * inspector/WorkerConsoleAgent.cpp:
        * inspector/WorkerDebuggerAgent.cpp:
        * inspector/WorkerRuntimeAgent.cpp:

2012-03-15  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: improve HeapSnapshot._buildReversIndex performance
        https://bugs.webkit.org/show_bug.cgi?id=81224

        Caching node indexes and node count in local variables instead of
        calling getters each time reduces the method run time by
        factor of 1.5

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._buildReverseIndex):

2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVG Animations update baseVal instead of animVal
        https://bugs.webkit.org/show_bug.cgi?id=12437

        Rubber-stamped by Rob Buis.

        Rename constructFromCopy to constructFromVariant, and currentBaseValue to currentBaseValueVariant, to clarify what it actually does.

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::resetToBaseValue):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::constructFromVariant):
        * svg/SVGAnimatedLength.h:
        (SVGAnimatedLengthAnimator):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::constructFromVariant):
        * svg/SVGAnimatedLengthList.h:
        (SVGAnimatedLengthListAnimator):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::constructFromVariant):
        * svg/SVGAnimatedNumber.h:
        (SVGAnimatedNumberAnimator):
        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::constructFromVariant):
        * svg/SVGAnimatedNumberList.h:
        (SVGAnimatedNumberListAnimator):
        * svg/SVGAnimatedTransformList.cpp:
        (WebCore::SVGAnimatedTransformListAnimator::constructFromVariant):
        * svg/SVGAnimatedTransformList.h:
        (SVGAnimatedTransformListAnimator):
        * svg/SVGAnimatedTypeAnimator.h:
        (WebCore::SVGAnimatedTypeAnimator::constructFromVariant):
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
        * svg/properties/SVGAnimatedProperty.h:
        (SVGAnimatedProperty):
        * svg/properties/SVGAnimatedPropertyTearOff.h:
        (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
        (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):

2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGNumberList
        https://bugs.webkit.org/show_bug.cgi?id=81219

        Reviewed by Rob Buis.

        Enable animVal support for SVGNumberList. Easy patch, we just need to add the missing
        constructFromCopy() method to SVGAnumatedNumberListAnimator and report AnimatedNumberList
        as supporting animVal.

        Covered by existing tests.

        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::constructFromCopy):
        (WebCore):
        * svg/SVGAnimatedNumberList.h:
        (WebCore):
        (SVGAnimatedNumberListAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::supportsAnimVal):
        (WebCore::SVGAnimatedType::setVariantValue):

2012-03-15  Rob Buis  <rbuis@rim.com>

        Fix cast-align GCC warnings
        https://bugs.webkit.org/show_bug.cgi?id=80790

        Reviewed by Nikolas Zimmermann.

        * platform/graphics/WOFFFileFormat.cpp:
        (WebCore::writeUInt32):
        (WebCore::writeUInt16):
        (WebCore::convertWOFFToSfnt):

2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Forgot to preserve copyrights, per reviewer comment.

        * svg/SVGAnimatedTransformList.cpp:

2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGNumber
        https://bugs.webkit.org/show_bug.cgi?id=81212

        Reviewed by Rob Buis.

        Enable animVal support for SVGNumber. This aligns SVGAnimatedStaticPropertyTearOff,
        with the other SVGListPropertyTearOff & SVGPropertyTearOff, as all support animVal now.
        Converting the rest of the types can be done in small patches now.

        Test: svg/animations/svgnumber-animation-4.html

        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::constructFromCopy):
        (WebCore):
        * svg/SVGAnimatedNumber.h:
        (WebCore):
        (SVGAnimatedNumberAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::supportsAnimVal):
        (WebCore::SVGAnimatedType::setVariantValue):
        * svg/properties/SVGAnimatedProperty.h:
        (SVGAnimatedProperty):
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
        (WebCore::SVGAnimatedStaticPropertyTearOff::animVal):
        (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
        (SVGAnimatedStaticPropertyTearOff):
        (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
        (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
        (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
        (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueWillChange):
        (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueDidChange):
        (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):

2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGTransformList
        https://bugs.webkit.org/show_bug.cgi?id=80758

        Reviewed by Antti Koivisto.

        Enable animVal support for SVGTransformList. SVGTransformLists are only animatable
        via <animateTransform>, not via <animate> directly. Still we can handle it in the
        same framework as all other types used for <animate>, as we also need proper animVal
        support for <animateTransform>.

        This patch removes the special <animateTransform> implementation, and lets
        SVGAnimateTransformElement inherit from SVGAnimateElement, just like its done
        for SVGAnimateColorElement & SVGSetElement.

        All existing code (calculateFromAndToValues/FromAndByValues/etc..) are moved from
        SVGAnimateTransform right into the SVGAnimatedTransformListAnimator.

        This doesn't change <animateTransform> behavior, it just simplies the code
        and enables animVal support for SVGTransformLists - all covered by existing tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/SVGAllInOne.cpp:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
        (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
        (WebCore::SVGAnimateTransformElement::parseAttribute):
        * svg/SVGAnimateTransformElement.h:
        (WebCore::SVGAnimateTransformElement::transformType):
        (SVGAnimateTransformElement):
        * svg/SVGAnimatedTransformList.cpp: Added.
        (WebCore):
        (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
        (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
        (WebCore::SVGAnimatedTransformListAnimator::constructFromCopy):
        (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
        * svg/SVGAnimatedTransformList.h:
        (WebCore):
        (SVGAnimatedTransformListAnimator):
        (WebCore::SVGAnimatedTransformListAnimator::~SVGAnimatedTransformListAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createTransformList):
        (WebCore):
        (WebCore::SVGAnimatedType::transformList):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        (WebCore::SVGAnimatedType::supportsAnimVal):
        (WebCore::SVGAnimatedType::setVariantValue):
        * svg/SVGAnimatedType.h:
        (WebCore):
        (SVGAnimatedType):
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::parseAttribute):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::parseAttribute):
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::parseAttribute):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::parseAttribute):
        * svg/SVGTransform.cpp:
        (WebCore::SVGTransform::transformTypePrefixForParsing):
        (WebCore):
        (WebCore::SVGTransform::valueAsString):
        * svg/SVGTransform.h:
        (SVGTransform):
        * svg/SVGTransformList.cpp:
        (WebCore::SVGTransformList::parse):
        (WebCore):
        * svg/SVGTransformList.h:
        (SVGTransformList):
        * svg/SVGTransformable.cpp:
        (WebCore::SVGTransformable::parseTransformType):
        * svg/SVGTransformable.h:
        (WebCore):
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::setTransform):

2012-03-13  Nikolas Zimmermann  <nzimmermann@rim.com>

        Enable animVal support for SVGLengthList
        https://bugs.webkit.org/show_bug.cgi?id=80750

        Reviewed by Zoltan Herczeg.

        Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty
        in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList.

        Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal.

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy):
        (WebCore):
        * svg/SVGAnimatedLengthList.h:
        (WebCore):
        (SVGAnimatedLengthListAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::supportsAnimVal):
        (WebCore::SVGAnimatedType::setVariantValue):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::applyAnimatedValue):
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (SVGAnimatedListPropertyTearOff):
        (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedListPropertyTearOff::animVal):
        (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
        (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
        (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
        (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
        (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
        (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
        (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
        (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange):
        (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange):
        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
        * svg/properties/SVGAnimatedProperty.h:
        (WebCore::SVGAnimatedProperty::isAnimating):
        (SVGAnimatedProperty):
        (WebCore::SVGAnimatedProperty::animationValueWillChange):
        (WebCore::SVGAnimatedProperty::animationValueDidChange):
        (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
        (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
        * svg/properties/SVGAnimatedPropertyTearOff.h:
        (SVGAnimatedPropertyTearOff):
        (WebCore::SVGAnimatedPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedPropertyTearOff::animVal):
        (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
        (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
        (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
        (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange):
        (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange):
        (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
        (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
        * svg/properties/SVGListProperty.h:
        (WebCore::SVGListProperty::detachListWrappers):
        (SVGListProperty):
        (WebCore::SVGListProperty::setValuesAndWrappers):
        (WebCore::SVGListProperty::clearValues):
        (WebCore::SVGListProperty::clearValuesAndWrappers):
        (WebCore::SVGListProperty::numberOfItems):
        (WebCore::SVGListProperty::initializeValues):
        (WebCore::SVGListProperty::initializeValuesAndWrappers):
        (WebCore::SVGListProperty::canGetItem):
        (WebCore::SVGListProperty::getItemValues):
        (WebCore::SVGListProperty::getItemValuesAndWrappers):
        (WebCore::SVGListProperty::insertItemBeforeValues):
        (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
        (WebCore::SVGListProperty::canReplaceItem):
        (WebCore::SVGListProperty::replaceItemValues):
        (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
        (WebCore::SVGListProperty::canRemoveItem):
        (WebCore::SVGListProperty::removeItemValues):
        (WebCore::SVGListProperty::removeItemValuesAndWrappers):
        (WebCore::SVGListProperty::appendItemValues):
        (WebCore::SVGListProperty::appendItemValuesAndWrappers):
        (WebCore::SVGListProperty::values):
        (WebCore::SVGListProperty::wrappers):
        (WebCore::SVGListProperty::SVGListProperty):
        * svg/properties/SVGListPropertyTearOff.h:
        (SVGListPropertyTearOff):
        (WebCore::SVGListPropertyTearOff::create):
        (WebCore::SVGListPropertyTearOff::removeItemFromList):
        (WebCore::SVGListPropertyTearOff::clear):
        (WebCore::SVGListPropertyTearOff::initialize):
        (WebCore::SVGListPropertyTearOff::insertItemBefore):
        (WebCore::SVGListPropertyTearOff::replaceItem):
        (WebCore::SVGListPropertyTearOff::appendItem):
        (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
        (WebCore::SVGListPropertyTearOff::commitChange):
        * svg/properties/SVGPathSegListPropertyTearOff.cpp:
        (WebCore::SVGPathSegListPropertyTearOff::clear):
        (WebCore::SVGPathSegListPropertyTearOff::getItem):
        (WebCore::SVGPathSegListPropertyTearOff::removeItem):
        * svg/properties/SVGPathSegListPropertyTearOff.h:
        (WebCore::SVGPathSegListPropertyTearOff::create):
        (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
        (SVGPathSegListPropertyTearOff):
        (WebCore::SVGPathSegListPropertyTearOff::initialize):
        (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
        (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
        (WebCore::SVGPathSegListPropertyTearOff::appendItem):
        (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
        (WebCore::SVGPathSegListPropertyTearOff::commitChange):
        * svg/properties/SVGPropertyInfo.h:
        * svg/properties/SVGStaticListPropertyTearOff.h:
        (SVGStaticListPropertyTearOff):
        (WebCore::SVGStaticListPropertyTearOff::clear):
        (WebCore::SVGStaticListPropertyTearOff::initialize):
        (WebCore::SVGStaticListPropertyTearOff::getItem):
        (WebCore::SVGStaticListPropertyTearOff::insertItemBefore):
        (WebCore::SVGStaticListPropertyTearOff::replaceItem):
        (WebCore::SVGStaticListPropertyTearOff::removeItem):
        (WebCore::SVGStaticListPropertyTearOff::appendItem):
        (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff):
        (WebCore::SVGStaticListPropertyTearOff::commitChange):
        * svg/properties/SVGTransformListPropertyTearOff.h:
        (WebCore::SVGTransformListPropertyTearOff::create):
        (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
        (WebCore::SVGTransformListPropertyTearOff::consolidate):
        (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):

2012-03-14  Chris Fleizach  <cfleizach@apple.com>

        AXDescription for HTML5 footer
        https://bugs.webkit.org/show_bug.cgi?id=78967

        Return a unique role description for the footer element.

        Reviewed by Beth Dakin.

        Test: platform/mac/accessibility/footer-roledescription.html

        * English.lproj/Localizable.strings:+
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (createAccessibilityRoleMap):
        (-[WebAccessibilityObjectWrapper subrole]):
        (-[WebAccessibilityObjectWrapper roleDescription]):
        * platform/LocalizedStrings.cpp:
        (WebCore::AXFooterRoleDescriptionText):
        (WebCore):
        * platform/LocalizedStrings.h:
        (WebCore):
        * platform/blackberry/LocalizedStringsBlackBerry.cpp:
        (WebCore::AXFooterRoleDescriptionText):
        (WebCore):
        * platform/efl/LocalizedStringsEfl.cpp:
        (WebCore::AXFooterRoleDescriptionText):
        (WebCore):
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::AXFooterRoleDescriptionText):
        (WebCore):

2012-03-14  Mark Rowe  <mrowe@apple.com>

        <http://webkit.org/b/81193> Ensure libWebCoreTestSupport.dylib's library identifier is set appropriately for all configurations.

        Reviewed by Dan Bernstein.

        * Configurations/WebCoreTestSupport.xcconfig: Switch to setting DYLIB_INSTALL_NAME_BASE
        rather than LD_DYLIB_INSTALL_NAME. The latter is derived from the former. Ensure that
        DYLIB_INSTALL_NAME_BASE is also set for the Production configuration.

2012-03-14  Chris Fleizach  <cfleizach@apple.com>

        AXDescription for ARIA role contentinfo incorrect
        https://bugs.webkit.org/show_bug.cgi?id=78967

        Reviewed by Beth Dakin.

        Test: platform/mac/accessibility/aria-grouping-roles.html

        * English.lproj/Localizable.strings:
        * platform/LocalizedStrings.cpp:
        (WebCore::AXARIAContentGroupText):

2012-03-14  Chris Fleizach  <cfleizach@apple.com>

        AX: ARIA tables need to support selected rows attribute/select rows changed notification
        https://bugs.webkit.org/show_bug.cgi?id=79821

        Reviewed by Beth Dakin.

        Test: platform/mac/accessibility/selected-rows-table.html

        * accessibility/AccessibilityARIAGrid.h:
        (WebCore::AccessibilityARIAGrid::isMultiSelectable):
        (AccessibilityARIAGrid):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaSelectedRows):
        * accessibility/AccessibilityTableRow.cpp:
        (WebCore::AccessibilityTableRow::observableObject):
        (WebCore):
        * accessibility/AccessibilityTableRow.h:
        (AccessibilityTableRow):
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postPlatformNotification):

2012-03-14  James Robinson  <jamesr@chromium.org>

        Platforms without USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) don't need to query the page's displayID
        https://bugs.webkit.org/show_bug.cgi?id=81187

        Reviewed by Simon Fraser.

        * dom/Document.cpp:
        (WebCore::Document::webkitRequestAnimationFrame):

2012-03-14  Chris Fleizach  <cfleizach@apple.com>

        AX: embedded attachments do not report their parents correctly
        https://bugs.webkit.org/show_bug.cgi?id=80132

        When a WebHTMLView has embedded attachments in it, the AXParent of those attachments is wrong.
        It usually points to the AXScrollView of the web area. That's because there has been no way for WebCore to
        communicate that this attachment view should actually make believe that it's parent is within the WebCore AX tree.

        We can fix that by overriding the AXParent in overriden attributes for items that are attachments.

        Reviewed by Beth Dakin.

        Not able to construct a layout test because the problem only manifests itself when an AX client connects to WebKit
        through the IPC mechanism.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::detachFromParent):
        * accessibility/AccessibilityObject.h:
        (AccessibilityObject):
        (WebCore::AccessibilityObject::overrideAttachmentParent):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
        (WebCore::AccessibilityRenderObject::addChildren):
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):
        * accessibility/mac/AccessibilityObjectMac.mm:
        (WebCore::AccessibilityObject::overrideAttachmentParent):

2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>

        Improve ContainerNode's collectNodes() performance
        https://bugs.webkit.org/show_bug.cgi?id=80706

        Reviewed by Antti Koivisto.

        Bump up the size of stack allocated buffer from 1 to 11. According to the rough study I conducted,
        this would cover 99.5% of all node collection.

        Note: the actual code change was made in r110797 but I somehow mangled my patches.

        * dom/ContainerNode.cpp:
        (WebCore):

2012-03-14  Seo Sanghyeon  <sh4.seo@samsung.com>

        Cleanup semicolons in IDLs
        https://bugs.webkit.org/show_bug.cgi?id=81129

        Reviewed by Kentaro Hara.

        No tests. No change in behavior.

        * svg/SVGAnimateColorElement.idl:
        * svg/SVGAnimateElement.idl:
        * svg/SVGAnimateTransformElement.idl:
        * svg/SVGAnimatedRect.idl:

2012-03-14  Hayato Ito  <hayato@chromium.org>

        Make ShadowRoot.activeElement return null if it does not contain a focused element.
        https://bugs.webkit.org/show_bug.cgi?id=81097

        Reviewed by Dimitri Glazkov.

        * dom/TreeScope.cpp:
        (WebCore::TreeScope::activeElement):

2012-03-14  Matt Falkenhagen  <falken@chromium.org>

        Allow per-script font settings to be specified in layout tests
        https://bugs.webkit.org/show_bug.cgi?id=78184

        Reviewed by Hajime Morita.

        This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
        the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
        for Chromium so far.

        Test: changed fast/text/international/locale-sensitive-fonts.html to use InternalSettings
        instead of overridePreference.

        * WebCore.exp.in: Added symbols.
        * platform/text/LocaleToScriptMapping.h: Added scriptNameToCode used by InternalSettings.
        (WebCore):
        * platform/text/LocaleToScriptMappingDefault.cpp:
        (WebCore::scriptNameToCode):
        (WebCore::localeToScriptCodeForFontSelection):
        * platform/text/LocaleToScriptMappingICU.cpp:
        (WebCore::scriptNameToCode):
        (WebCore):
        * testing/InternalSettings.cpp: Added per-script font settings.
        (WebCore):
        (WebCore::setFontFamily):
        (WebCore::InternalSettings::setStandardFontFamily):
        (WebCore::InternalSettings::setSerifFontFamily):
        (WebCore::InternalSettings::setSansSerifFontFamily):
        (WebCore::InternalSettings::setFixedFontFamily):
        (WebCore::InternalSettings::setCursiveFontFamily):
        (WebCore::InternalSettings::setFantasyFontFamily):
        (WebCore::InternalSettings::setPictographFontFamily):
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-03-14  Kwonjin Jeong  <gram@company100.net>

        Remove obsolete constructors of CSSPrimitiveValue class.
        https://bugs.webkit.org/show_bug.cgi?id=80971

        Remove constructors of CSSPrimitiveValue that can't be
        reached.

        Reviewed by Andreas Kling.

        * css/CSSPrimitiveValueMappings.h:

2012-03-14  Igor Oliveira  <igor.o@sisa.samsung.com>

        Split the extra logic out of RenderBlock::updateFirstLetter
        https://bugs.webkit.org/show_bug.cgi?id=80772

        Reviewed by Julien Chaffraix.

        No change in behavior expected.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetterStyle):
        (WebCore::RenderBlock::createFirstLetterRenderer):
        (WebCore::RenderBlock::updateFirstLetter):
        (WebCore):
        * rendering/RenderBlock.h:
        (RenderBlock):

2012-03-14  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * html/track/TextTrackList.cpp:

2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>

        Build fix.

        * dom/DynamicNodeList.h:
        (DynamicSubtreeNodeList):

2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>

        (register|unregister)DynamicSubtreeNodeList should be called only for labels and regions node lists
        https://bugs.webkit.org/show_bug.cgi?id=80900

        Reviewed by Andreas Kling.

        Cleaned up invalidation code for dynamic node lists. It seems like the existing code was utterly confused
        about the lifetime of node lists and caches within them. First, register/unregsiterDynamicSubtreeNodeList
        are called for all dynamic node lists even though it's only useful for labels and region node lists since
        it's a mechanism to allow node lists to be invalidated at a node to which the node list doesn't belong.

        Second, some node lists had dedicated member functions on Node to explicitly invalidate caches in
        parsedAttribute. However, this is redundant because invalidateNodeListsCacheAfterAttributeChanged should be
        able to invalidate caches when the attribute value changes. This patch gets rid of the last instance of such
        function in HTMLLabelElement.

        And finally, this patch restricts the callers of DynamicSubtreeNodeList::invalidateCache to be member
        functions of NodeListsNodeData (now friends of DynamicSubtreeNodeList) to allow futher refactoring.

        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Don't register the node list since it's only
        useful for labels and region node lists.
        (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Ditto.
        * dom/DynamicNodeList.h:
        (DynamicSubtreeNodeList):
        * dom/Node.cpp:
        (WebCore):
        (WebCore::Node::registerDynamicSubtreeNodeList): The comment about now we have to invalidate caches
        when there had no caches is incorrect because registerDynamicSubtreeNodeList is called when a node list
        is initially created. Also, if the tree scope didn't have any caches, then this is the first node list
        to be added to the list, so there's no point in calling InvalidateCaches (no-op).
        (WebCore::Node::unregisterDynamicSubtreeNodeList):
        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Take care of "for" content attribute.
        Also remove the redundant call to removeNodeListCacheIfPossible since we only invalidates node lists
        and never remove entries from NodeListsNodeData in this function.
        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): The call to removeNodeListCacheIfPossible
        is also redundant here. Also removed the invalidation of m_listsWithCaches since it's already done in
        invalidateCaches via invalidateCachesThatDependOnAttributes.
        (WebCore::NodeListsNodeData::invalidateCaches): Removed the invalidation of m_labelsNodeListCache. It's
        done in invalidateCachesThatDependOnAttributes.
        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Invalidate
        m_listsInvalidatedAtDocument, which is renamed from m_listsWithCaches.
        (WebCore::NodeListsNodeData::isEmpty):
        * dom/Node.h:
        (Node):
        * dom/NodeRareData.h:
        (NodeListsNodeData):
        * html/HTMLLabelElement.cpp:
        (WebCore): Removed parseAttribute since the invalidation labels node list is now done by
        invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
        * html/HTMLLabelElement.h:
        (HTMLLabelElement):
        * html/LabelsNodeList.cpp:
        (WebCore::LabelsNodeList::LabelsNodeList):
        (WebCore::LabelsNodeList::~LabelsNodeList):

2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110565.
        http://trac.webkit.org/changeset/110565
        https://bugs.webkit.org/show_bug.cgi?id=81173

        chromium deps are now far enough along that the original cl
        should work (Requested by thakis on #webkit).

        * WebCore.gyp/mac/adjust_visibility.sh:

2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110641.
        http://trac.webkit.org/changeset/110641
        https://bugs.webkit.org/show_bug.cgi?id=81170

        Causes an ASAN failure (Requested by abarth on #webkit).

        * Target.pri:
        * UseV8.cmake:
        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (GenerateNamedConstructorCallback):
        (GenerateImplementation):
        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8Float64Array.h:
        (V8Float64Array):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (V8TestActiveDOMObject):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (V8TestCustomNamedGetter):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (V8TestEventConstructor):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (V8TestEventTarget):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (V8TestInterface):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (V8TestMediaQueryListListener):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (V8TestNamedConstructor):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (V8TestSerializedScriptValueInterface):
        * bindings/v8/NPV8Object.cpp:
        (WebCore::npObjectTypeInfo):
        * bindings/v8/V8GCController.cpp:
        (WebCore::GrouperVisitor::visitDOMWrapper):
        * bindings/v8/WrapperTypeInfo.h:
        (WebCore):
        (WrapperTypeInfo):
        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
        (WebCore):
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        (WebCore):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
        (WebCore):
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):
        (WebCore):
        * bindings/v8/custom/V8StyleSheetCustom.cpp:
        (WebCore::toV8):
        * css/CSSStyleSheet.idl:
        * css/StyleSheet.idl:
        * dom/DOMStringMap.idl:
        * dom/NamedNodeMap.idl:
        * html/DOMTokenList.idl:
        * html/track/TextTrackList.cpp:
        * html/track/TextTrackList.idl:

2012-03-13  Jon Lee  <jonlee@apple.com>

        Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
        https://bugs.webkit.org/show_bug.cgi?id=80922
        <rdar://problem/11035082>

        Reviewed by Jian Li.

        You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
        LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
        new API. Therefore, APIs that are common between the two will have:
        #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)

        This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
        the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.

        * bindings/scripts/InFilesCompiler.pm: Update the script to handle the "|" flag in a conditional.
        (preferredConditional):
        (conditionalStringFromAttributeValue):
        (generateInterfacesHeader):
        (generateHeadersHeader):

        Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
        * WebCore.exp.in:
        * bindings/cpp/WebDOMEventTarget.cpp:
        (toWebKit):
        * bindings/js/JSDesktopNotificationsCustom.cpp:
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        * dom/EventTargetFactory.in:
        * notifications/Notification.cpp:
        * notifications/Notification.h:
        * notifications/Notification.idl:
        * notifications/NotificationCenter.cpp:
        * notifications/NotificationCenter.h:
        * notifications/NotificationCenter.idl:
        * notifications/NotificationContents.h:
        * notifications/NotificationController.cpp:
        * notifications/NotificationController.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::willDetachPage):
        (WebCore::DOMWindow::disconnectDOMWindowProperties):
        (WebCore::DOMWindow::clearDOMWindowProperties):
        (WebCore):
        * page/DOMWindow.h:
        (DOMWindow):
        * page/DOMWindow.idl:
        * page/Frame.cpp:
        (WebCore::Frame::willDetachPage):
        (WebCore::Frame::transferChildFrameToNewDocument):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::~WorkerContext):
        (WebCore):
        * workers/WorkerContext.h:
        (WorkerContext):
        * workers/WorkerContext.idl:
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::WorkerThread):
        * workers/WorkerThread.h:
        (WorkerThread):

2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110744.
        http://trac.webkit.org/changeset/110744
        https://bugs.webkit.org/show_bug.cgi?id=81168

        Causes many WebAudio tests to crash in debug (Requested by
        abarth on #webkit).

        * platform/audio/Biquad.cpp:
        (WebCore::Biquad::process):

2012-03-14  Brady Eidson  <beidson@apple.com>

        <rdar://problem/11045584> and https://bugs.webkit.org/show_bug.cgi?id=81166
        Repro crash in compositing/iframes/page-cache-layer-tree.html

        Reviewed by Sam Weinig.

        No new tests. (Discovered from and covered by existing test)

        ScriptCachedFrameData doesn't need to keep a DOMWindow:
        * bindings/js/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
        * bindings/js/ScriptCachedFrameData.h:
        (ScriptCachedFrameData):

        CachedFrame should grab it off the Frame directly and store it locally:
        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):
        * history/CachedFrame.h:
        (WebCore::CachedFrameBase::domWindow):
        (CachedFrameBase):

2012-03-14  Tony Chang  <tony@chromium.org>

        fix negative flexing in auto sized columns
        https://bugs.webkit.org/show_bug.cgi?id=80069

        Reviewed by Ojan Vafai.

        New test cases in css3/flexbox/columns-auto-size.html.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore):
        (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Properly compute this for auto sizing columns. Previously, we would always return 0.
        (WebCore::RenderFlexibleBox::layoutFlexItems):
        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Drop an unnecessary check against undefined. isSpecified covers this for us.
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-03-14  Grace Ku  <gracek@codeaurora.org>

        Incorrect handling of sizes in "em" when first-line changes font size
        https://bugs.webkit.org/show_bug.cgi?id=79526

        Reviewed by Eric Seidel.

        When a first-line pseudo class changes the font size, the "em" unit is handled incorrectly.
        It uses the paragraph's original font size (the size of the rest of the paragraph) rather than
        the font-size of the first-line of the paragraph.

        This was corrected by checking if the InlineFlowBox was the first line using the existing
        InlineFlowBox::isFirstLineStyle() function. The corrected behaviour matches Gecko and Presto.
        Trident seems to get it half-wrong in the use case we are testing, painting the correct width for
        the border but leaving the wrong amount of space.

        The CSS specification doc at the time of this patch specifies that ':first-line' should only support
        certain properties, though UAs may choose to apply more properties. Furthermore, the spec does not
        define the exact rendering of all cases of ':first-line'. It notes that a more precise definition
        may appear in future revisions.

        Test: fast/css/pseudo-first-line-border-width.html

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintBoxDecorations):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::borderLogicalLeft):
        (WebCore::InlineFlowBox::borderLogicalRight):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
        (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
        (WebCore::RenderBoxModelObject::borderObscuresBackground):
        * rendering/RenderBoxModelObject.h:
        (RenderBoxModelObject):

2012-03-14  Martin Robinson  <mrobinson@igalia.com>

        Fix the TextureMapper build for GTK+.

        No new tests. This is just a build fix.

        * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        * platform/graphics/texmap/TextureMapper.h:

2012-03-12  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Menulist buttons have separators even when the theme turns them off
        https://bugs.webkit.org/show_bug.cgi?id=80668

        Reviewed by Daniel Bates.

        No new tests. GTK+ theme differences are notoriously difficult
        to test, because consistent results depend on having certain themes
        and certain versions of themes installed.

        Instead of using the GTK_TYPE_BUTTON and GTK_TYPE_SEPARATOR tags to get the
        style context, use GTK_TYPE_COMBO_BOX which should provide more accurate theme settings.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::getComboBoxMetrics): Get metrics from a GTK_TYPE_COMBO_BOX style context.
        (WebCore::RenderThemeGtk::paintMenuList): Get separator settings from the GTK_TYPE_COMBO_BOX style context.

2012-03-14  Levi Weintraub  <leviw@chromium.org>

        Implement proper sub-pixel support in RenderFileUploadControl
        https://bugs.webkit.org/show_bug.cgi?id=80881

        Reviewed by Dimitri Glazkov.

        Correcting improper usage of LayoutUnits when interacting with the graphics context
        and platform code. Specifically:
        - pixel snapping the clip rect and paint offsets before sending values to the
          graphics context in paintObject.
        - using on-screen (pixel snapped) values to pass off to platform code to determine
          the max length of the filename to be drawn.

        No new tests. No change in behavior.

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::nodeWidth):
        (WebCore::RenderFileUploadControl::maxFilenameWidth):
        (WebCore::RenderFileUploadControl::paintObject):

2012-03-14  Joseph Pecoraro  <pecoraro@apple.com>

        [JSC] Web Inspector: CRASH running $0, $1, etc before they are set
        https://bugs.webkit.org/show_bug.cgi?id=81082

        Don't return an invalid JSValue. Check if the ScriptValue
        has no value and return undefined in that case.

        Reviewed by Pavel Feldman.

        Updated test: inspector/console/command-line-api.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::inspectedObject):

2012-03-14  James Robinson  <jamesr@chromium.org>

        [chromium] Remove canRecoverFromContextLoss attribute, it's unused
        https://bugs.webkit.org/show_bug.cgi?id=81158

        Reviewed by Stephen White.

        Canvas accelerated no longer depends on the canRecoverFromContextLoss attribute after r110716.

        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::Attributes::Attributes):
        (Attributes):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3DImpl::get):

2012-03-14  Jer Noble  <jer.noble@apple.com>

        Opening a URL in a MediaDocument does not propagate MIME type info to media element
        https://bugs.webkit.org/show_bug.cgi?id=81148

        Reviewed by Eric Carlson.

        Test: http/tests/media/media-document.html

        Pass through the mime type from the DocumentLoader into the <source type=""> attribute of the
        generated video element. 

        * html/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::createDocumentStructure):

2012-03-14  Stephen White  <senorblanco@chromium.org>

        [chromium] Fix accelerated Canvas2D with threaded compositing.
        https://bugs.webkit.org/show_bug.cgi?id=80998

        Reviewed by James Robinson.

        Covered by unit tests Canvas2DLayerChromiumTest and
        TreeSynchronizerTest.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        (WebCore):
        Delay creation of the front texture for double-buffering until the
        first call to paintContentsIfDirty().
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        Remove setTextureManager() and setLayerTreeHost(), since their job
        has been subsumed by paintContentsIfDirty().
        * platform/graphics/chromium/TreeSynchronizer.cpp:
        (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
        Perform an early-out if the passed-in layer is NULL.

2012-03-14  Mark Pilgrim  <pilgrim@chromium.org>

        Move EntriesCallback to Modules/filesystem/
        https://bugs.webkit.org/show_bug.cgi?id=81032

        Reviewed by Adam Barth.

        No new tests, all existing tests pass.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Modules/filesystem/EntriesCallback.h: Copied from Source/WebCore/fileapi/EntriesCallback.h.
        * Modules/filesystem/EntriesCallback.idl: Copied from Source/WebCore/fileapi/EntriesCallback.idl.
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/EntriesCallback.h: Removed.
        * fileapi/EntriesCallback.idl: Removed.

2012-03-14  Tony Chang  <tony@chromium.org>

        multiline column flexbox with auto height wrap too much
        https://bugs.webkit.org/show_bug.cgi?id=80929

        Reviewed by David Hyatt.

        Test: css3/flexbox/multiline-column-auto.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalHeightUsing):
        (WebCore):
        (WebCore::RenderBox::computeContentLogicalHeightUsing): Pull out into a separate method.
        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::lineBreakLength): Compute the value based on height & max-height for column layout.
        (WebCore):
        (WebCore::RenderFlexibleBox::computeNextFlexLine):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-03-14  Xingnan Wang  <xingnan.wang@intel.com>

        Optimize the multiply-add in Biquad.cpp::process
        https://bugs.webkit.org/show_bug.cgi?id=75528

        Reviewed by Chris Rogers.

        Pipeline the multiply-add with SSE2 instructions and get about 20% improvement for the function.

        * platform/audio/Biquad.cpp:
        (WebCore::Biquad::process):

2012-03-14  James Robinson  <jamesr@chromium.org>

        [Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=79823

        Reviewed by Adrienne Walker.

        LayerRendererChromium was storing a weak pointer to the current render surface in m_currentRenderSurface and
        using this in useRenderSurface() to avoid rebinding if we called useRenderSurface() multiple times in a row on
        the same surface. This pointer was never cleared, so if any subsequent surface landed at the same address this
        caching would misbehave and we'd fail to correctly initialize the new render surface. The caching wasn't
        actually buying us anything anyway since we only call useRenderSurface() once per surface per frame and we
        always set the viewport for the default render surface.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::beginDrawingFrame):
        (WebCore::LayerRendererChromium::useRenderSurface):

2012-03-14  Zalan Bujtas  <zbujtas@gmail.com>

        Frame flattening ASSERT(!needsLayout()) in FrameView::paintContents()
        https://bugs.webkit.org/show_bug.cgi?id=80155

        Reviewed by Antti Koivisto.

        This patch ensures that an iframe only schedules and calls parent's layout,
        when it is going to be flattened. Non-flattened iframe does not affect
        parent's layout, so normal layout flow applies. isInSubframeLayoutWithFrameFlattening()
        function has been added to test whether a particular child frame is changing
        parent's layout. This function also ensures that scheduleRelayout() and layout()
        are in sync of checking againts frame flattening.

        Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html

        * page/FrameView.cpp:
        (WebCore::FrameView::avoidScrollbarCreation):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::scheduleRelayout):
        (WebCore::FrameView::isInChildFrameWithFrameFlattening):
        (WebCore):
        (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
        * page/FrameView.h:
        (FrameView):
        * rendering/RenderIFrame.h:
        (RenderIFrame):
        (WebCore::RenderIFrame::renderName):

2012-03-14  Anders Carlsson  <andersca@apple.com>

        Don't cap the scroll position if layout happens when a FrameView's overhangAmount is non-zero
        https://bugs.webkit.org/show_bug.cgi?id=81146
        <rdar://problem/10850075>

        Reviewed by Beth Dakin.

        If layout happens when a page has a non-zero overhang amount, we shouldn't cap the scroll position
        to be inside of the valid maximum/minimum scroll offsets because that will cause the page to jump back, which
        can look really bad if layout happens in response to the page being scrolled.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars):

2012-03-14  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API (JSEP): Introducing IceCandidate
        https://bugs.webkit.org/show_bug.cgi?id=80699

        Reviewed by Adam Barth.

        Patch #2 in a series of patches to change the PeerConnection from ROAP to JSEP,
        see bug 80589 for more information.
        Adding the JS object IceCandidate and its WebCore/platform sibling IceCandidateDescriptor.
        This object will be created both from JS and the embedder.

        Not possible to test until the entire JSEP feature is commited.

        * GNUmakefile.list.am:
        * Modules/mediastream/IceCandidate.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
        (WebCore):
        (WebCore::IceCandidate::create):
        (WebCore::IceCandidate::IceCandidate):
        (WebCore::IceCandidate::~IceCandidate):
        (WebCore::IceCandidate::label):
        (WebCore::IceCandidate::candidateLine):
        (WebCore::IceCandidate::toSdp):
        (WebCore::IceCandidate::descriptor):
        * Modules/mediastream/IceCandidate.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
        (WebCore):
        (IceCandidate):
        * Modules/mediastream/IceCandidate.idl: Added.
        * WebCore.gypi:
        * platform/mediastream/IceCandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
        (WebCore):
        (WebCore::IceCandidateDescriptor::create):
        (WebCore::IceCandidateDescriptor::IceCandidateDescriptor):
        (WebCore::IceCandidateDescriptor::~IceCandidateDescriptor):
        (WebCore::IceCandidateDescriptor::toSdp):
        * platform/mediastream/IceCandidateDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
        (WebCore):
        (IceCandidateDescriptor):
        (WebCore::IceCandidateDescriptor::label):
        (WebCore::IceCandidateDescriptor::candidateLine):
        * platform/mediastream/MediaStreamCenter.cpp:
        (WebCore::MediaStreamCenter::constructSdp):
        (WebCore):
        * platform/mediastream/MediaStreamCenter.h:
        (WebCore):
        (MediaStreamCenter):

2012-03-14  Simon Fraser  <simon.fraser@apple.com>

        background-visibility:hidden should create a RenderLayer
        https://bugs.webkit.org/show_bug.cgi?id=81134

        Reviewed by Dean Jackson.
        
        Background-visibility:hidden has to create RenderLayers, because it's implemented
        via compositing and/or paint short-circuiting in RenderLayer code.

        Test: transforms/3d/general/background-visibility-layers.html

        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::requiresLayer):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::hasHiddenBackface):
        * rendering/RenderTableRow.h:

2012-03-14  Raul Hudea  <rhudea@adobe.com>

        [CSSRegions][CSSOM] Implement regionLayoutEvent
        https://bugs.webkit.org/show_bug.cgi?id=78882

        Reviewed by David Hyatt.

        Adding the regionLayoutEvent that is dispatch for all regions after each flow-thread layout.

        Tests: fast/regions/region-event-add-to-flow.html
               fast/regions/region-event-remove-from-dom.html
               fast/regions/region-event-remove-from-flow.html
               fast/regions/region-event.html

        * dom/Document.cpp:
        (WebCore::Document::addListenerTypeIfNeeded): Added check for regionLayoutUpdate listeners
        * dom/Document.h:
        * dom/EventNames.h:
        (WebCore):
        * dom/Node.cpp:
        (WebCore::Node::dispatchRegionLayoutUpdateEvent):
        (WebCore):
        * dom/Node.h:
        (Node):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::RenderFlowThread):
        (WebCore::RenderFlowThread::layout): Start the event dispatch timer but only if there are regionLayoutUpdate listeners and there is at least one region that had its layout updated.
        (WebCore::RenderFlowThread::computeOverflowStateForRegions): Mark regions that might had a layout update
        (WebCore::RenderFlowThread::regionLayoutUpdateEventTimerFired):
        (WebCore):
        * rendering/RenderFlowThread.h:
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::RenderRegion):
        * rendering/RenderRegion.h:
        (WebCore::RenderRegion::setDispatchRegionLayoutUpdateEvent):
        (WebCore::RenderRegion::shouldDispatchRegionLayoutUpdateEvent):
        (RenderRegion):

2012-03-14  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Add support for vertical sliders in mobile theme
        https://bugs.webkit.org/show_bug.cgi?id=80179

        This makes sliders using the "slider-vertical" appearance more sensible.

        Reviewed by Simon Hausmann.

        No new tests, since the mobile theme still isn't used in layout tests.

        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore):
        (WebCore::StylePainterMobile::drawProgress):
        (WebCore::RenderThemeQtMobile::paintSliderTrack):
        * platform/qt/RenderThemeQtMobile.h:
        (StylePainterMobile):

2012-03-14  Jer Noble  <jer.noble@apple.com>

        WebProcess spins beneath [QTMovie movieFileTypes:]
        https://bugs.webkit.org/show_bug.cgi?id=81133

        Reviewed by Eric Carlson.

        No new tests; speculative fix for top WebProcess spin.

        When checking to see if a given mime type is supported by QuickTime,
        immediately exclude all types that do not begin with 'audio/' or 'video/'.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::supportsType):

2012-03-14  Zalan Bujtas  <zbujtas@gmail.com>

        Make RenderIFrame::flattenFrame() return earlier, when frame flattening is disabled.
        https://bugs.webkit.org/show_bug.cgi?id=80301

        Reviewed by Antti Koivisto.

        Reorganize RenderIFrame flattenFrame() code, so that it returns
        earlier for the normal use case, when frame flattening is disabled.
        It also removes leftover null check.

        No new tests, since there's no new functionality.

        * rendering/RenderIFrame.cpp:
        (WebCore::RenderIFrame::flattenFrame):

2012-03-14  James Robinson  <jamesr@chromium.org>

        [chromium] Provide explicit polling API to check if the platform is capable of accelerated 2d canvas
        https://bugs.webkit.org/show_bug.cgi?id=80667

        Reviewed by Darin Fisher.

        Query the platform to see if we can instantiate a context suitable for accelerating 2d canvas. If we can't, for
        instance if we're on a system that can't preserve a context when the screensaver comes up, then immediately fall
        back to software.

        Covered by canvas layout tests in the virtual-gpu mode.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::shouldAccelerate):
        * platform/chromium/PlatformSupport.h:

2012-03-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Handle printing errors in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=77197

        Reviewed by Gustavo Noronha Silva.

        * platform/gtk/ErrorsGtk.cpp:
        (WebCore::printError): Create a generic print error.
        (WebCore::printerNotFoundError): Create a print error to notify
        that the selected printer could not be found.
        (WebCore::invalidPageRangeToPrint): Create a print error when the
        selected page range is invalid and there are no pages to print.
        * platform/gtk/ErrorsGtk.h:
        (WebCore): Add print error doamin.

2012-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>

        Make SVGUseElement respect & support externalResourcesRequired
        https://bugs.webkit.org/show_bug.cgi?id=81109

        Reviewed by Rob Buis.

        Generalize the existing externalResourcesRequired support from SVGScriptElement
        into SVGExternalResourcesRequired, so it can be shared with SVGUseElement, which
        was lacking proper externalResourcesRequired support.

        <use xlink:href="external.svg" onload="alert('hi')" externalResourcesRequired="true"/>
        The onload handler now fires _after_ the external resources loaded, making it possible
        to write reliable tests that switch from internal to external resources or the other
        way around. Converted the new tests in svg/dynamic-updates/SVGUseElement* to listen
        to SVGLoad events, to make them reliable.

        We may be able to generalize this to cover SVGImageElement as well (the only other class which
        is currently supporting externalResourcesRequired - but that's more involved, so I left it TODO).

        Covered by existing tests and the changes to the new SVGUseElement tests.

        * svg/SVGElement.h:
        (SVGElement): Make haveLoadedRequiredResources() public so SVGExternalResourcesRequired can call it.
        * svg/SVGExternalResourcesRequired.cpp: Refactored code from SVGScriptElement, 1:1 copies w/o changes.
        (WebCore::SVGExternalResourcesRequired::handleAttributeChange):
        (WebCore::SVGExternalResourcesRequired::dispatchLoadEvent):
        (WebCore::SVGExternalResourcesRequired::insertedIntoDocument):
        (WebCore::SVGExternalResourcesRequired::finishParsingChildren):
        (WebCore::SVGExternalResourcesRequired::haveLoadedRequiredResources):
        * svg/SVGExternalResourcesRequired.h: Add new virtual functions, that must be available in classes that inherit from SVGExternalResourcesRequired.
        (WebCore::SVGExternalResourcesRequired::setHaveFiredLoadEvent):
        (WebCore::SVGExternalResourcesRequired::isParserInserted):
        (WebCore::SVGExternalResourcesRequired::haveFiredLoadEvent):
        * svg/SVGScriptElement.cpp: Refactored externalResourcesRequired handling into SVGExternalResourcesRequired.
        (WebCore::SVGScriptElement::svgAttributeChanged):
        (WebCore::SVGScriptElement::insertedIntoDocument):
        (WebCore::SVGScriptElement::finishParsingChildren):
        * svg/SVGScriptElement.h: Ditto.
        (WebCore::SVGScriptElement::haveLoadedRequiredResources):
        (WebCore::SVGScriptElement::dispatchLoadEvent):
        (WebCore::SVGScriptElement::setHaveFiredLoadEvent):
        (WebCore::SVGScriptElement::isParserInserted):
        (WebCore::SVGScriptElement::haveFiredLoadEvent):
        * svg/SVGTests.cpp: Fix obvious typo, that leads to an assertion. Always return true if we know the attributeName.
        (WebCore::SVGTests::handleAttributeChange):
        * svg/SVGTests.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::insertedIntoDocument): Remove ambigous call warning.
        * svg/SVGUseElement.cpp: Support externalResourcesRequired="true/false" + dynamic changes of it. Covered by existing tests.
        (WebCore::SVGUseElement::SVGUseElement):
        (WebCore::SVGUseElement::create):
        (WebCore::SVGUseElement::insertedIntoDocument):
        (WebCore::SVGUseElement::svgAttributeChanged):
        (WebCore::SVGUseElement::notifyFinished):
        (WebCore::SVGUseElement::finishParsingChildren):
        (WebCore):
        * svg/SVGUseElement.h: Ditto.
        (WebCore::SVGUseElement::haveLoadedRequiredResources):
        (WebCore::SVGUseElement::setHaveFiredLoadEvent):
        (WebCore::SVGUseElement::isParserInserted):
        (WebCore::SVGUseElement::haveFiredLoadEvent):
        * svg/svgtags.in: Pass "bool wasInsertedByParser" to SVGUseElement constructor.

2012-03-14  Andrew Lo  <anlo@rim.com>

        [BlackBerry] Implement REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR using AnimationFrameRateController
        https://bugs.webkit.org/show_bug.cgi?id=81000

        Add BlackBerry port for DisplayRefreshMonitor using AnimationFrameRateController.
        Moved refreshDisplayOnMainThread to platform independant part of header.

        Reviewed by Antonio Gomes.

        requestAnimationFrame already covered by tests in LayoutTests/fast/animation.

        * PlatformBlackBerry.cmake:
        * platform/graphics/DisplayRefreshMonitor.cpp:
        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
        * platform/graphics/DisplayRefreshMonitor.h:
        (WebCore):
        (DisplayAnimationClient):
        (WebCore::DisplayAnimationClient::~DisplayAnimationClient):
        (DisplayRefreshMonitor):
        * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::DisplayAnimationClient::DisplayAnimationClient):
        (WebCore::DisplayAnimationClient::animationFrameChanged):
        (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
        (WebCore::DisplayRefreshMonitor::startAnimationClient):
        (WebCore::DisplayRefreshMonitor::stopAnimationClient):
        (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
        (WebCore::DisplayRefreshMonitor::displayLinkFired):

2012-03-14  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: use class name indexes instead of class names when evaluating aggregates
        https://bugs.webkit.org/show_bug.cgi?id=81100

        Class name and type name indexes are now used when calculating class aggregates
        in heap snapshots instead of string lookup followed by a string comparison.

        Class names like "Window / www.webkit.org" are now left as is in the UI (it used
        to be trimed to just "Window").

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get classNameIndex):
        (WebInspector.HeapSnapshotNode.prototype.hasType):
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype._buildAggregates):

2012-03-14  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: add didCancelFrame timeline event
        https://bugs.webkit.org/show_bug.cgi?id=80994

        Reviewed by Pavel Feldman.

        - add an ability to cancel certain timeline events, unless they've been followed by other events.
        - implement didCancelFrame() event, fired when a platform decides not to render frame after didBeginFrame() was called.

        Test: inspector/timeline/timeline-frames.html

        * WebCore.exp.in:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didCancelFrameImpl):
        (WebCore):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::didCancelFrame):
        (WebCore):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::didBeginFrame):
        (WebCore):
        (WebCore::InspectorTimelineAgent::didCancelFrame):
        (WebCore::InspectorTimelineAgent::appendRecord):
        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
        (WebCore::InspectorTimelineAgent::pushCancelableRecord):
        (WebCore::InspectorTimelineAgent::commitCancelableRecords):
        (WebCore::InspectorTimelineAgent::cancelRecord):
        * inspector/InspectorTimelineAgent.h:
        (InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
        (TimelineRecordEntry):
        * testing/Internals.cpp:
        (WebCore::Internals::emitInspectorDidBeginFrame):
        (WebCore):
        (WebCore::Internals::emitInspectorDidCancelFrame):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-14  Dana Jansens  <danakj@chromium.org>

        Region can acquire an empty span by subtracting an empty Region
        https://bugs.webkit.org/show_bug.cgi?id=81074

        Reviewed by Anders Carlsson.

        Subtracting an empty Region B from a Region A can cause A to end
        up with an empty span. This violates the rule that two Regions
        that cover the exact same area should have equal spans and segments.

        Unit test: RegionTest.emptySpan

        * platform/graphics/Region.cpp:
        (WebCore::Region::subtract):

2012-03-14  Simon Hausmann  <simon.hausmann@nokia.com>

        [Textmap] Disable driver based BGRA swizzling for OpenGL/ES

        Reviewed by Noam Rosenthal.

        The current way of detecting swizzling support (check for GL_EXT_texture_format_BGRA8888)
        is unfortunately not reliable. We need a better way of detection that (filed bug 81103).
        In the meantime this patch reverts back to doing the swizzling in the texture mapper to
        get pixels back onto the screen.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::driverSupportsBGRASwizzling):
        (WebCore::BitmapTextureGL::updateContents):

2012-03-14  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to platform/Cursor.h
        https://bugs.webkit.org/show_bug.cgi?id=81086

        Reviewed by Rob Buis.

        * platform/Cursor.h:
        (WebCore):
        (WebCore::Cursor::Cursor):
        Add the BlackBerry specific PlatformCursor.
        * platform/blackberry/PageClientBlackBerry.h:
        There was an alias named PlatformCursorHandle for PlatformCursor
        in the internal version of Cursor.h. But it's not necessary so it's
        not included in the upstreaming version of Cursor.h. As a result,
        use PlatformCursor directly in this file.
        (PageClientBlackBerry):

2012-03-14  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] RunLoopQt is missing reentrancy guards
        https://bugs.webkit.org/show_bug.cgi?id=80982

        Reviewed by Tor Arne Vestbø.

        Avoid recursive calls to RunLoop::performWork() with a simple
        counting mechanism, to avoid out-of-order message dispatching.

        * platform/qt/RunLoopQt.cpp:
        (WebCore::RunLoop::TimerObject::TimerObject):
        (WebCore::RunLoop::TimerObject::performWork):
        (RunLoop::TimerObject):

2012-03-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: small improvement for HeapSnapshot performance ~12%.
        https://bugs.webkit.org/show_bug.cgi?id=81033

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.get nodeCount):
        (WebInspector.HeapSnapshot.prototype.get maxNodeId):
        (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
        (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):

2012-03-14  Kentaro Hara  <haraken@chromium.org>

        Return null when shouldAllowAccessToNode() fails
        https://bugs.webkit.org/show_bug.cgi?id=80205

        Reviewed by Adam Barth.

        shouldAllowAccessToNode() is used for window.frameElement, HTMLFrameElement.contentDocument,
        and getSVGDocument(). The spec of window.frameElement and HTMLFrameElement.contentDocument
        requires that they should return null when the security check fails.
        Thus this patch changes the return value from undefined to null.

        http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom
        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument

        Tests: http/tests/security/local-iFrame-from-remote.html
               http/tests/security/cross-frame-access-frameelement.html
               http/tests/security/cross-frame-access-put.html

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateFunctionCallback):

        * bindings/scripts/test/JS/JSTestObj.cpp: Updated run-bindings-tests results.
        (WebCore::jsTestObjContentDocument):
        (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::contentDocumentAttrGetter):
        (WebCore::TestObjInternal::getSVGDocumentCallback):

2012-03-14  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>

        Build error: DNSSoup.cpp:30: fatal error: CString.h: No such file or
        directory
        https://bugs.webkit.org/show_bug.cgi?id=81093

        Reviewed by Philippe Normand.

        Fix build error introduced by r110669.

        * platform/network/soup/DNSSoup.cpp:

2012-03-14  Marja Hölttä  <marja@google.com>

        WebHTTPBody: Keep track of whether the data includes passwords.
        https://bugs.webkit.org/show_bug.cgi?id=81003

        Reviewed by Darin Fisher.

        This change enables Chrome to save HTTP bodies selectively, only
        if they don't contain passwords.

        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::create): Check if the data contains passwords.
        * platform/network/FormData.cpp:
        (WebCore::FormData::FormData): Added containsPasswordData, setContainsPasswordData.
        * platform/network/FormData.h:
        (WebCore::FormData::containsPasswordData): Added.
        (WebCore::FormData::setHasPasswordData): Added.
        (FormData):

2012-03-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add snippets tab to scripts navigator.
        https://bugs.webkit.org/show_bug.cgi?id=81018

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
        (WebInspector.ScriptsNavigator.prototype.focus):
        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
        (WebInspector.ScriptsNavigator.prototype.reset):
        (WebInspector.ScriptsNavigator.prototype._getOrCreateFolderTreeElement):
        (WebInspector.ScriptsNavigator.prototype._createFolderTreeElement):
        (WebInspector.ScriptsNavigator.prototype._getOrCreateSnippetEvaluationsFolderTreeElement):
        (WebInspector.ScriptsNavigator.prototype._scriptFolderIdentifier):
        (WebInspector.NavigatorTreeOutline):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
        (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
        * inspector/front-end/SnippetsModel.js:

2012-03-14  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: Copy on the Console gives a mangled result.
        https://bugs.webkit.org/show_bug.cgi?id=81091

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
        (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):

2012-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>

        External <use> xlink:href references do not work
        https://bugs.webkit.org/show_bug.cgi?id=12499

        Reviewed by Zoltan Herczeg.

        Follow-up fix after r110676.
        Assertions are firing due last minute changes in isExternalURIReference.

        Fix detecting local resources properly, when the given iri contains a /complex/path.
        Use document->completeURL() instead, and compare with the document->url() to decide
        if its a local reference or not.

        If an external document load fails with an error (eg. file missing) don't assert
        in debug builds, instead handle it gracefully.

        I decided to clean the code up as well, to make it more safe & obvious.

        Test: svg/custom/use-external-crash.svg

        * svg/SVGURIReference.cpp:
        (WebCore::SVGURIReference::targetElementFromIRIString):
        * svg/SVGURIReference.h:
        (WebCore::SVGURIReference::isExternalURIReference):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::externalDocument):
        (WebCore::SVGUseElement::buildPendingResource):

2012-03-14  Lars Knudsen  <lars.knudsen@nokia.com>

        3D transformed surfaces with z>0 gets cropped
        https://bugs.webkit.org/show_bug.cgi?id=81009

        Reviewed by Noam Rosenthal.

        The scissor clipping in TextureMapperGL didn't take 3D transforms 
        into account when calculating the clipping region.
        Now, it will bail out early if the transform is not affine.

        No new tests. Tested by current compositing layout tests.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::beginScissorClip):

2012-03-14  Hajime Morrita  <morrita@chromium.org>

        Unreviewed build fix.

        * html/track/TextTrackList.cpp:
        (TextTrackList::append):
        (TextTrackList::remove):
        (TextTrackList::owner): Changed return type from HTMLMediaElement* to Node* and uninlined.
        * html/track/TextTrackList.h:
        (TextTrackList):

2012-03-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [InspectorIndexedDB] Remote object should be released when data view is removed/updated.
        https://bugs.webkit.org/show_bug.cgi?id=81022

        Reviewed by Pavel Feldman.

        * inspector/front-end/IndexedDBViews.js:
        (WebInspector.IDBDataView):
        (WebInspector.IDBDataView.prototype._updateData.callback):
        (WebInspector.IDBDataView.prototype._updateData):
        (WebInspector.IDBDataView.prototype.get statusBarItems):
        (WebInspector.IDBDataView.prototype.clear):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved):
        (WebInspector.IDBDatabaseTreeElement.prototype.update):
        (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
        (WebInspector.IDBDatabaseTreeElement.prototype._objectStoreRemoved):
        (WebInspector.IDBDatabaseTreeElement.prototype.clear):
        (WebInspector.IDBObjectStoreTreeElement.prototype.update):
        (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
        (WebInspector.IDBObjectStoreTreeElement.prototype._indexRemoved):
        (WebInspector.IDBObjectStoreTreeElement.prototype.clear):
        (WebInspector.IDBIndexTreeElement.prototype.onselect):
        (WebInspector.IDBIndexTreeElement.prototype.clear):

2012-03-12  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Introduce SnippetsScriptMapping.
        https://bugs.webkit.org/show_bug.cgi?id=80890

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptMapping.js:
        (WebInspector.MainScriptMapping):
        (WebInspector.MainScriptMapping.prototype.addScript):
        (WebInspector.MainScriptMapping.prototype._mappingForScript):
        * inspector/front-end/SnippetsModel.js:
        (WebInspector.SnippetsModel.prototype.snippetForId):
        (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
        (WebInspector.SnippetsScriptMapping):
        (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):
        (WebInspector.SnippetsScriptMapping.prototype.addScript):
        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
        (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript.get if):
        (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript):
        (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted.get this):
        (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted):
        (WebInspector.SnippetsScriptMapping.prototype.reset):
        (WebInspector.SnippetContentProvider):

2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110673.
        http://trac.webkit.org/changeset/110673
        https://bugs.webkit.org/show_bug.cgi?id=81090

        "Qt minimal build broken" (Requested by yurys on #webkit).

        * inspector/CodeGeneratorInspector.py:
        (CommandReturnPassModel.ByPointer.get_set_return_condition):
        (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
        (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
        (Generator.process_event):
        (Generator.process_command):
        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
        (WebCore::ContentSearchUtils::searchInTextByLines):
        * inspector/ContentSearchUtils.h:
        (ContentSearchUtils):
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluate):
        (WebCore::InjectedScript::callFunctionOn):
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::makeEvalCall):
        * inspector/InjectedScript.h:
        (InjectedScript):
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
        (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
        (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::searchInContent):
        (WebCore::InspectorDebuggerAgent::setScriptSource):
        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        (WebCore::InspectorDebuggerAgent::didPause):
        (WebCore::InspectorDebuggerAgent::breakProgram):
        (WebCore::InspectorDebuggerAgent::clearBreakDetails):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::buildObjectForCookie):
        (WebCore::buildArrayForCookies):
        (WebCore::InspectorPageAgent::getCookies):
        (WebCore::InspectorPageAgent::getResourceTree):
        (WebCore::InspectorPageAgent::searchInResource):
        (WebCore::InspectorPageAgent::searchInResources):
        (WebCore::InspectorPageAgent::buildObjectForFrame):
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::callFunctionOn):

2012-03-14  Renata Hodovan  <reni@webkit.org>

        External <use> xlink:href references do not work
        https://bugs.webkit.org/show_bug.cgi?id=12499

        Reviewed by Nikolas Zimmermann.

        This is a follow-up patch after r108785.
        In this patch we bind the previously introduced CachedSVGDocument class
        into the caching mechanism of SVGUseElement. The mode how external resources
        are handled is similar to the processing of internal ones. We build the instance
        and shadow tree the same way but we have to keep in mind that the requested resources
        maybe not loaded yet. We can check it with cachedDocumentIsStillLoading() function.

        SVGURIReference::targetElementFromIRIString() also need to be extended. The baseURI
        computation needs to take the referenced documents URL into account, instead of the current documents.

        The patch affects a lot of tests which have external resources especially in svg/batik. Because
        of the size of that test refactor they will be commited in a follow-up patch.

        Tests: svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t.svg
               svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t.svg
               svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t.svg
               svg/custom/use-extern-href.svg
               svg/custom/use-referencing-an-image-expected.svg
               svg/custom/use-referencing-an-image.svg
               svg/custom/use-referencing-indirectly-itself-expected.svg
               svg/custom/use-referencing-indirectly-itself.svg
               svg/custom/use-referencing-itself-expected.svg
               svg/custom/use-referencing-itself.svg
               svg/dynamic-updates/SVGUseElement-dom-href1-attr.html
               svg/dynamic-updates/SVGUseElement-dom-href2-attr.html
               svg/dynamic-updates/SVGUseElement-svgdom-href1-prop.html
               svg/dynamic-updates/SVGUseElement-svgdom-href2-prop.html

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore):
        (WebCore::CachedResourceLoader::requestSVGDocument):
        * loader/cache/CachedResourceLoader.h:
        (WebCore):
        (CachedResourceLoader):
        * page/ContentSecurityPolicy.h:
        * platform/KURL.cpp:
        (WebCore::equalIgnoringFragmentIdentifier):
        * platform/network/chromium/ResourceRequest.h:
        * svg/SVGURIReference.cpp:
        (WebCore::urlFromIRIStringWithFragmentIdentifier):
        (WebCore):
        (WebCore::SVGURIReference::targetElementFromIRIString):
        * svg/SVGURIReference.h:
        (SVGURIReference):
        (WebCore::SVGURIReference::isExternalURIReference):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):
        (WebCore::SVGUseElement::~SVGUseElement):
        (WebCore):
        (WebCore::SVGUseElement::referencedDocument):
        (WebCore::SVGUseElement::externalDocument):
        (WebCore::SVGUseElement::svgAttributeChanged):
        (WebCore::dumpInstanceTree):
        (WebCore::SVGUseElement::buildPendingResource):
        (WebCore::SVGUseElement::buildShadowAndInstanceTree):
        (WebCore::SVGUseElement::hasCycleUseReferencing):
        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
        (WebCore::SVGUseElement::notifyFinished):
        (WebCore::SVGUseElement::cachedDocumentIsStillLoading):
        (WebCore::SVGUseElement::instanceTreeIsLoading):
        * svg/SVGUseElement.h:
        (WebCore):
        (SVGUseElement):

2012-03-14  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
        https://bugs.webkit.org/show_bug.cgi?id=80789

        Reviewed by Yury Semikhatsky.

        OptOutput class is added for optional return parameters.

        Strict mode added to Generator that makes all parameter types strict
        and drop pre-set default values for return parameters.

        Debugger and Page domain is switched to strict mode.


        * inspector/CodeGeneratorInspector.py:
        (CommandReturnPassModel.ByPointer):
        (CommandReturnPassModel):
        (CommandReturnPassModel.OptOutput):
        (CommandReturnPassModel.OptOutput.__init__):
        (CommandReturnPassModel.OptOutput.get_return_var_type):
        (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
        (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
        (CommandReturnPassModel.OptOutput.get_output_parameter_type):
        (CommandReturnPassModel.OptOutput.get_set_return_condition):
        (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
        (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
        (OptOutput):
        (Generator.process_event):
        (Generator.process_command):
        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
        (WebCore::ContentSearchUtils::searchInTextByLines):
        * inspector/ContentSearchUtils.h:
        (ContentSearchUtils):
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluate):
        (WebCore::InjectedScript::callFunctionOn):
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::makeEvalCall):
        * inspector/InjectedScript.h:
        (InjectedScript):
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::searchInContent):
        (WebCore::InspectorDebuggerAgent::setScriptSource):
        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        (WebCore::InspectorDebuggerAgent::didPause):
        (WebCore::InspectorDebuggerAgent::breakProgram):
        (WebCore::InspectorDebuggerAgent::clearBreakDetails):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::buildObjectForCookie):
        (WebCore::buildArrayForCookies):
        (WebCore::InspectorPageAgent::getCookies):
        (WebCore::InspectorPageAgent::getResourceTree):
        (WebCore::InspectorPageAgent::searchInResource):
        (WebCore::InspectorPageAgent::searchInResources):
        (WebCore::InspectorPageAgent::buildObjectForFrame):
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::callFunctionOn):

2012-03-14  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed. Build fix for EFL after r110669.

        * PlatformEfl.cmake: added DNSSoup.cpp

2012-03-13  Sergio Villar Senin  <svillar@igalia.com>

        [GTK] Use the same DNS prefetching path than the other ports.
        https://bugs.webkit.org/show_bug.cgi?id=80997

        Reviewed by Martin Robinson.

        This patch basically reverts r56128. There is no need to add an
        special code path for GTK+ DNS pre-fetching because the main
        reason to do that (some potential changes in libsoup) is not
        going to happen. It also reduces the amount of DNS queries by
        adding a NULL hostname check.

        No need for new tests as this just moves code around.

        * GNUmakefile.list.am:
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::parseAttribute):
        * html/HTMLLinkElement.cpp:
        * loader/LinkLoader.cpp:
        (WebCore::LinkLoader::loadLink):
        * page/Chrome.cpp:
        (WebCore::Chrome::mouseDidMoveOverElement):
        * platform/network/DNS.h:
        (WebCore):
        * platform/network/ResourceHandle.cpp:
        * platform/network/ResourceHandle.h:
        (ResourceHandle):
        * platform/network/chromium/DNSChromium.cpp:
        * platform/network/soup/DNSSoup.cpp: restored.
        (WebCore):
        (WebCore::prefetchDNS):
        * platform/network/soup/ResourceHandleSoup.cpp:

2012-03-14  Kentaro Hara  <haraken@chromium.org>

        Return null when shouldAllowAccessToNode() fails
        https://bugs.webkit.org/show_bug.cgi?id=80205

        Reviewed by Adam Barth.

        shouldAllowAccessToNode() is used for window.frameElement, HTMLFrameElement.contentDocument,
        and getSVGDocument(). The spec of window.frameElement and HTMLFrameElement.contentDocument
        requires that they should return null when the security check fails.
        Thus this patch changes the return value from undefined to null.

        http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom
        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument

        Tests: http/tests/security/local-iFrame-from-remote.html
               http/tests/security/cross-frame-access-frameelement.html
               http/tests/security/cross-frame-access-put.html

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateFunctionCallback):

        * bindings/scripts/test/JS/JSTestObj.cpp: Updated run-bindings-tests results.
        (WebCore::jsTestObjContentDocument):
        (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::contentDocumentAttrGetter):
        (WebCore::TestObjInternal::getSVGDocumentCallback):

2012-03-13  Yosifumi Inoue  <yosin@chromium.org>

        [Forms] Hidden input element should not have labels. 
        https://bugs.webkit.org/show_bug.cgi?id=80403

        Reviewed by Kent Tamura.

        This patch changes "labels" attribute behavior for hidden input type.
        It returns null instead of NodeList of labels or empty node list.

        Note: The HTML5 specification isn't clear for non-labelable element's "labels"
        attribute return value. Firefox and Opera return empty node list. IE returns null.

        No new tests. Existing tests are updated.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isLabelable): Added. Dispatch to InputType.
        * html/HiddenInputType.h:  Added isLabelable returning false.
        * html/InputType.cpp:
        (WebCore::InputType::isLabelable): Added. Returning true for all input types except for "hidden" type.
        (WebCore):
        * html/InputType.h:
        (InputType): Added isLabelable declaration.

2012-03-13  Yosifumi Inoue  <yosin@chromium.org>

        [Forms] The "output" element should have labels.
        https://bugs.webkit.org/show_bug.cgi?id=80466

        Reviewed by Kent Tamura.

        This patch enables functionality of "labels" attribute for
        HTMLOutputElement implemented in LabelableElement which use
        isLabelable predicate whether an element can have label or not.

        Update existing tests in fast/forms/label/ directory to cover
        the "output" element with the "labels" attribute.

        * html/HTMLOutputElement.h: Implement virtual method isLabelable.

2012-03-13  Luke Macpherson   <macpherson@chromium.org>

        Move opacity clamping into RenderStyle setter.
        https://bugs.webkit.org/show_bug.cgi?id=76966

        Reviewed by Eric Seidel.

        Covered by existing tests.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::setOpacity):

2012-03-12  Igor Oliveira  <igor.o@sisa.samsung.com>

        Split the extra logic out of RenderObjectChildList::updateBeforeAfterContent
        https://bugs.webkit.org/show_bug.cgi?id=80856

        Extra part of the generated content handling logic out of RenderObjectChildList::updateBeforeAfterContent

        Reviewed by Julien Chaffraix.

        No change in behavior expected.

        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::updateBeforeAfterStyle):
        (WebCore::createRenderForBeforeAfterContent):
        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
        * rendering/RenderObjectChildList.h:
        (WebCore):
        (RenderObjectChildList):

2012-03-13  Simon Fraser  <simon.fraser@apple.com>

        Fix potential crash when loading test results
        https://bugs.webkit.org/show_bug.cgi?id=81062
        <rdar://problem/11041732>
        
        Reviewed by Dean Jackson.

        If RenderLayerBacking::isSimpleContainerCompositingLayer() is called early,
        before the document has a documentElement(), then it crashes. Fix with
        a null check on documentElement().
        
        No test because it's timing dependent.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):

2012-03-13  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/11025225> Assertion failure in RenderView::computeRectForRepaint() (!repaintContainer || repaintContainer == this) at store.apple.com
        https://bugs.webkit.org/show_bug.cgi?id=81051

        Reviewed by Simon Fraser.

        Test: ManualTests/inline-repaint-container.html.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::clippedOverflowRectForRepaint): This function was not handling the
        case of the repaint container being a descendant of the containing block correctly, leading
        to the assertion failure, but also to a correctness bug seen in the new test. If the repaint
        container is a descendant of the containing block, just return the rect in the repaint
        container coordinates.

2012-03-13  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/11025217> [Mac] Assertion failure in collectComplexTextRunsForCharactersCoreText
        https://bugs.webkit.org/show_bug.cgi?id=77044

        Reviewed by Sam Weinig.

        Test: platform/mac/fast/text/core-text-fallback-to-unknown-font.html

        Handle the case of Core Text choosing a fallback font that NSFontManager cannot find by name.

        * platform/graphics/FontCache.h:
        (FontCache): Made ComplexTextController a friend class.
        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Removed the
        failing assertion, which was not true, and added code to handle the case where a font
        cannot be found by name by using the font as returned from Core Text.

2012-03-13  Erik Arvidsson  <arv@chromium.org>

        [V8] Use v8::V8::AddImplicitReferences instead of SetHiddenValue
        https://bugs.webkit.org/show_bug.cgi?id=80880

        Reviewed by Adam Barth.

        We used to add a hidden property in the getter to the returned wrapper.
        With this patch we instead handle the liveness of the wrapper in the GC phase by
        calling v8::V8::AddHiddenReference.

        To reduce the amount of custom code we need, the V8 code generator now supports
        GenerateIsReachable (as well as CustomIsReachable) which, even though different
        from the JSC attribute, is used in the same cases and takes the same values (even though
        at the moment not all JSC values are supported by V8). Interfaces that have *IsReachable
        also have a dependent life time (just like if V8DependentLifetime was present).

        Second try. This time with an added include in TextTrackList.cpp.

        No new tests. Covered by existing tests.

        * Target.pri:
        * UseV8.cmake:
        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GetGenerateIsReachable):
        (GetCustomIsReachable):
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (NeedsToVisitDOMWrapper):
        (GetGenerateIsReachable):
        (GetCustomIsReachable):
        (GenerateVisitDOMWrapper):
        (GenerateHeader):
        (GenerateNamedConstructorCallback):
        (GenerateImplementation):
        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8Float64Array.h:
        (V8Float64Array):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (V8TestActiveDOMObject):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (V8TestCustomNamedGetter):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (V8TestEventConstructor):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (V8TestEventTarget):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (V8TestInterface):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (V8TestMediaQueryListListener):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (V8TestNamedConstructor):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (V8TestSerializedScriptValueInterface):
        * bindings/v8/NPV8Object.cpp:
        (WebCore::npObjectTypeInfo):
        * bindings/v8/V8GCController.cpp:
        (WebCore::GrouperVisitor::visitDOMWrapper):
        * bindings/v8/WrapperTypeInfo.h:
        (WebCore):
        (WrapperTypeInfo):
        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        * bindings/v8/custom/V8StyleSheetCustom.cpp:
        (WebCore::toV8):
        * css/CSSStyleSheet.idl:
        * css/StyleSheet.idl:
        * dom/DOMStringMap.idl:
        * dom/NamedNodeMap.idl:
        * html/DOMTokenList.idl:
        * html/track/TextTrackList.cpp:
        * html/track/TextTrackList.idl:

2012-03-13  Jacky Jiang  <zhajiang@rim.com>

        MathML crash in WebCore::Node::previousSibling()
        https://bugs.webkit.org/show_bug.cgi?id=80773

        Reviewed by Julien Chaffraix.

        When adding child for msub render, if the child is mtr or mtd render,
        we will creat an anonymous render as the container. As the anonymous
        render's node is 0, accessing it directly can cause crash.
        We should do a valid check of the node before using. In addition to
        that, for msub, attach the anonymous render and it's children to render
        tree. For msubsup, such kind of situation should never happen based on
        the current codebase.

        Test: mathml/msub-anonymous-child-render-crash.html

        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::addChild):

2012-03-13  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]NamedFlow::getRegionsByContentNode should not return a live NodeList
        https://bugs.webkit.org/show_bug.cgi?id=81021

        Reviewed by Ryosuke Niwa.

        Reverting the original patch as we need a better solution.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Node.cpp:
        (WebCore::NodeListsNodeData::invalidateCaches):
        (WebCore::NodeListsNodeData::isEmpty):
        * dom/Node.h:
        (Node):
        * dom/NodeRareData.h:
        (NodeListsNodeData):
        * dom/RegionNodeList.cpp: Removed.
        * dom/RegionNodeList.h: Removed.
        * dom/WebKitNamedFlow.cpp:
        * dom/WebKitNamedFlow.h:
        (WebKitNamedFlow):
        * dom/WebKitNamedFlow.idl:
        * rendering/RenderFlowThread.cpp:
        * rendering/RenderFlowThread.h:
        * rendering/RenderRegion.h:
        (RenderRegion):

2012-03-13  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] wrong transform causing incorrect culling
        https://bugs.webkit.org/show_bug.cgi?id=80471

        Reviewed by James Robinson.

        Unit test added to CCRenderSurfaceTest.cpp

        In addition to using originTransform() instead of drawTransform(),
        this patch shuffles a bit of code so that a unit test can be
        easily added.

        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::createSharedQuadState):
        (WebCore):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (CCRenderSurface):

2012-03-13  Dave Tharp  <dtharp@codeaurora.org>

        Alternate xml-stylesheets with no title are loaded, in violation of the CSSOM draft
        https://bugs.webkit.org/show_bug.cgi?id=77549

        Reviewed by David Hyatt.

        Amended code to ignore alternate stylesheets that do not have a title attribute.

        Test: fast/css/xml-stylesheet-alternate-no-title.xhtml

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):

2012-03-13  Levi Weintraub  <leviw@chromium.org>

        Revert RenderLayer::absoluteBoundingBox to an IntRect
        https://bugs.webkit.org/show_bug.cgi?id=81017

        Reviewed by Eric Seidel.

        Reverting RenderLayer::absoluteBoundingBox to an (pixel snapped) IntRect. Whenever
        possible, we use integers representing for absolute coordinates. This is especially
        relevant for methods, such as this one, that are exported and used in platform code.

        No new tests. No change in behavior.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::absoluteBoundingBox):
        * rendering/RenderLayer.h:
        (RenderLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForPosition): This intersects
        the absolute bounding box with the FrameView, which uses all integer values. It's
        the only use of absoluteBoundingBox in WebCore.

2012-03-13  Nat Duca  <nduca@chromium.org>

        [chromium] vsync ticks are needed in invisible tabs when we are still updating resources
        https://bugs.webkit.org/show_bug.cgi?id=80910

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):

2012-03-13  Dave Tharp  <dtharp@codeaurora.org>

        Alternate stylesheets (without title attribute) are loaded on refresh
        https://bugs.webkit.org/show_bug.cgi?id=24354

        Reviewed by David Hyatt.

        Alternate stylesheets are now ignored in <link> tags if 
        they have no title attribute (per spec).

        Tests: fast/css/link-alternate-stylesheet-1.html
               fast/css/link-alternate-stylesheet-2.html
               fast/css/link-alternate-stylesheet-3.html
               fast/css/link-alternate-stylesheet-4.html
               fast/css/link-alternate-stylesheet-5.html

        * dom/Document.cpp:
        (WebCore::Document::collectActiveStylesheets):

2012-03-13  Dana Jansens  <danakj@chromium.org>

        Region::contains(IntPoint) is slow
        https://bugs.webkit.org/show_bug.cgi?id=81008

        Reviewed by Anders Carlsson.

        Speed up Region::contains(IntPoint) by directly testing if the point
        is inside the Region's shape, rather than using a temporary 1x1 Region
        for the test.

        Unit test: RegionTest.containsPoint

        * platform/graphics/Region.cpp:
        (WebCore::Region::contains):

2012-03-13  Adrienne Walker  <enne@google.com>

        [chromium] Mark root layer scrollbars as always opaque to disable blending
        https://bugs.webkit.org/show_bug.cgi?id=79951

        Reviewed by James Robinson.

        Now that scrollbar layers exist, mark non-overlay root scrollbars as
        opaque. This disables blending for correctness and performance.

        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
        (WebCore::scrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawTileQuad):

2012-03-13  Gavin Peters  <gavinp@chromium.org>

        Remove vestigal abortEvent from image attribute.
        https://bugs.webkit.org/show_bug.cgi?id=80795

        Reviewed by Adam Barth.

        It seems we installed a listener for the abort event on images,
        but never ever raised them.  So this patch removes it.  This could
        cause different behaviour if the user sends abort events directly
        at an image element, although addEventListener will still work.

        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseAttribute):

2012-03-13  Nate Chapin  <japhet@chromium.org>

        Rework how a CachedRawResource decides if it can be reused
        for a given ResourceRequest. Ensure method, body, cookie policy,
        and all headers match.
        http://bugs.webkit.org/show_bug.cgi?id=79325

        Reviewed by Oliver Hunt.

        Test: http/tests/cache/xhr-body.html

        * loader/cache/CachedRawResource.cpp:
        (WebCore::CachedRawResource::canReuse):
        * loader/cache/CachedRawResource.h: Take a ResourceRequest in canReuse().
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::determineRevalidationPolicy): Remove Range header
            check, since it is now redundant.

2012-03-13  Rob Buis  <rbuis@rim.com>

        Fix cast-align GCC warning
        https://bugs.webkit.org/show_bug.cgi?id=80790

        Reviewed by Dan Bates.

        This touches unpackOneRowOfBGRA8ToRGBA8.

        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore):

2012-03-12  Simon Fraser  <simon.fraser@apple.com>

        Refactor some code that is used to check whether a layer needs backing store
        https://bugs.webkit.org/show_bug.cgi?id=80917

        Reviewed by Dean Jackson.

        Move some code out of isSimpleContainerCompositingLayer() in two new
        methods to make the code more self-descriptive.
        
        No behavior change, so no tests.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintsBoxDecorations):
        (WebCore::RenderLayerBacking::paintsChildren):
        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
        * rendering/RenderLayerBacking.h:
        (RenderLayerBacking):

2012-03-13  Daniel Bates  <dbates@webkit.org>

        REGRESSION(r99369): File input button doesn't highlight when pressed
        https://bugs.webkit.org/show_bug.cgi?id=79385

        Reviewed by Kent Tamura.

        Fixes an issue where the file input button doesn't highlight on mouse press.

        Currently we always override the active state of the button with whether
        a dragged file is being hovered over the file input control (i.e. can the control
        receive a dropped file; HTMLInputElement::canReceiveDroppedFiles()).
        Instead, we should only override the active state of the button when the state
        changes for whether we can receive dropped files (e.g. during a drag) so that
        we honor the active state of the button when it is pressed.

        Test: fast/forms/file/file-input-pressed-state.html

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::RenderFileUploadControl):
        (WebCore::RenderFileUploadControl::updateFromElement):
        * rendering/RenderFileUploadControl.h:
        (RenderFileUploadControl):

2012-03-13  Dana Jansens  <danakj@chromium.org>

        [chromium] Use CCOcclusionTracker for draw culling
        https://bugs.webkit.org/show_bug.cgi?id=80743

        Reviewed by Adrienne Walker.

        In this CL we enable the use of CCOcclusionTracker for draw-side
        culling. This means moving from a per-quad culling model to a
        per-layer model.

        When calculating RenderPasses, we construct the set of passes,
        then iterate over layers in front-to-back order. We make
        CCQuadCuller instantiable, and pass it to the layer
        appendQuads() methods instead of the bare list, where it can
        filter quads before the end up in the list.

        Covered by existing tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawRenderPass):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
        (WebCore::CCCanvasLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
        (CCCanvasLayerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::appendQuads):
        (WebCore::CCLayerImpl::appendGutterQuads):
        (WebCore::CCLayerImpl::appendDebugBorderQuad):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore):
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
        (WebCore::CCPluginLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
        (CCPluginLayerImpl):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::CCQuadCuller):
        (WebCore::CCQuadCuller::append):
        * platform/graphics/chromium/cc/CCQuadCuller.h:
        (WebCore):
        (CCQuadCuller):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::appendQuadsForLayer):
        * platform/graphics/chromium/cc/CCRenderPass.h:
        (WebCore):
        (CCQuadList):
        (WebCore::CCQuadList::backToFrontBegin):
        (WebCore::CCQuadList::backToFrontEnd):
        (CCRenderPass):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
        (WebCore::CCScrollbarLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
        (CCScrollbarLayerImpl):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
        (WebCore::CCSolidColorLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
        (CCSolidColorLayerImpl):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (CCVideoLayerImpl):

2012-03-13  Adam Barth  <abarth@webkit.org> && Benjamin Poulain  <bpoulain@apple.com>

        Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
        https://bugs.webkit.org/show_bug.cgi?id=78853

        Reviewed by Adam Barth.

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Modules/geolocation/Geolocation.cpp:
        (WebCore):
        (WebCore::createPositionError):
        (WebCore::Geolocation::Geolocation):
        (WebCore::Geolocation::stop):
        (WebCore::Geolocation::lastPosition):
        (WebCore::Geolocation::requestPermission):
        (WebCore::Geolocation::startUpdating):
        (WebCore::Geolocation::stopUpdating):
        * Modules/geolocation/Geolocation.h:
        (WebCore):
        (Geolocation):
        * Modules/geolocation/GeolocationController.cpp:
        * Modules/geolocation/GeolocationController.h:
        * Modules/geolocation/GeolocationError.h:
        * Modules/geolocation/GeolocationPosition.h:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/JSGeolocationCustom.cpp:
        * loader/EmptyClients.h:
        (EmptyChromeClient):
        * page/ChromeClient.h:
        (ChromeClient):
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        (Page):
        * platform/GeolocationService.cpp: Removed.
        * platform/GeolocationService.h: Removed.
        * platform/mock/GeolocationClientMock.cpp:
        * platform/mock/GeolocationClientMock.h:
        * platform/mock/GeolocationServiceMock.cpp: Removed.
        * platform/mock/GeolocationServiceMock.h: Removed.

2012-03-12  Antonio Gomes  <agomes@rim.com>

        Convert nodesFromRect tests to use Internals interface
        https://bugs.webkit.org/show_bug.cgi?id=80886

        Reviewed by Ryosuke Niwa.

        Add Internals::nodesFromRect implementation to unify
        the codepath for testing Document::nodesFromRect in a
        cross port way.

        No new tests, since we are improving here the infra-structure
        for testing a specific method.

        * testing/Internals.cpp:
        (WebCore::Internals::nodesFromRect):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-13  Philip Rogers  <pdr@google.com>

        Fix the use of stale text fragments
        https://bugs.webkit.org/show_bug.cgi?id=80729

        Reviewed by Nikolas Zimmermann.

        Previously, we were allowing SVGTextFragments to get out of sync with the
        actual text in RenderSVGInlineTextBox. This patch reuses the dirty line
        box code in RenderText::setTextWithOffset to force
        clearTextFragments() when setTextWithOffset is called, preventing the use
        of stale SVGTextFragments.

        Test: svg/custom/delete-text-crash.html

        * rendering/InlineBox.h:
        (InlineBox):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::dirtyLineBoxes):
        (WebCore):
        * rendering/svg/SVGInlineTextBox.h:
        (SVGInlineTextBox):

2012-03-13  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVG Animations update baseVal instead of animVal
        https://bugs.webkit.org/show_bug.cgi?id=12437

        Reviewed by Dirk Schulze.

        Blind fix for some GC related assertions firing on v8.

        Assure that animationStarted/animationEnded calls are happening
        on the same SVGAnimatedProperty. Always call animationEnded(),
        even if we shouldn't do anything for the target element, as its
        destructed, as we still have to reset m_isAnimating.

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::targetElementWillChange):
        * svg/SVGAnimateElement.h:
        (SVGAnimateElement):
        * svg/properties/SVGAnimatedPropertyTearOff.h:
        (WebCore::SVGAnimatedPropertyTearOff::animationEnded):

2012-03-13  Mark Pilgrim  <pilgrim@chromium.org>

        Move DirectoryEntry and DirectoryReader to new Modules/filesystem/ directory
        https://bugs.webkit.org/show_bug.cgi?id=80625

        Reviewed by Adam Barth.

        No new tests, all existing tests pass.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Modules/filesystem: Added.
        * Modules/filesystem/DirectoryEntry.cpp: Copied from Source/WebCore/fileapi/DirectoryEntry.cpp.
        * Modules/filesystem/DirectoryEntry.h: Copied from Source/WebCore/fileapi/DirectoryEntry.h.
        * Modules/filesystem/DirectoryEntry.idl: Copied from Source/WebCore/fileapi/DirectoryEntry.idl.
        * Modules/filesystem/DirectoryEntrySync.cpp: Copied from Source/WebCore/fileapi/DirectoryEntrySync.cpp.
        * Modules/filesystem/DirectoryEntrySync.h: Copied from Source/WebCore/fileapi/DirectoryEntrySync.h.
        * Modules/filesystem/DirectoryEntrySync.idl: Copied from Source/WebCore/fileapi/DirectoryEntrySync.idl.
        * Modules/filesystem/DirectoryReader.cpp: Copied from Source/WebCore/fileapi/DirectoryReader.cpp.
        * Modules/filesystem/DirectoryReader.h: Copied from Source/WebCore/fileapi/DirectoryReader.h.
        * Modules/filesystem/DirectoryReader.idl: Copied from Source/WebCore/fileapi/DirectoryReader.idl.
        * Modules/filesystem/DirectoryReaderBase.h: Copied from Source/WebCore/fileapi/DirectoryReaderBase.h.
        * Modules/filesystem/DirectoryReaderSync.cpp: Copied from Source/WebCore/fileapi/DirectoryReaderSync.cpp.
        * Modules/filesystem/DirectoryReaderSync.h: Copied from Source/WebCore/fileapi/DirectoryReaderSync.h.
        * Modules/filesystem/DirectoryReaderSync.idl: Copied from Source/WebCore/fileapi/DirectoryReaderSync.idl.
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/DirectoryEntry.cpp: Removed.
        * fileapi/DirectoryEntry.h: Removed.
        * fileapi/DirectoryEntry.idl: Removed.
        * fileapi/DirectoryEntrySync.cpp: Removed.
        * fileapi/DirectoryEntrySync.h: Removed.
        * fileapi/DirectoryEntrySync.idl: Removed.
        * fileapi/DirectoryReader.cpp: Removed.
        * fileapi/DirectoryReader.h: Removed.
        * fileapi/DirectoryReader.idl: Removed.
        * fileapi/DirectoryReaderBase.h: Removed.
        * fileapi/DirectoryReaderSync.cpp: Removed.
        * fileapi/DirectoryReaderSync.h: Removed.
        * fileapi/DirectoryReaderSync.idl: Removed.

2012-03-13  Igor Oliveira  <igor.o@sisa.samsung.com>

        animation-iteration-count does not handle floating point values correctly.
        https://bugs.webkit.org/show_bug.cgi?id=69531

        Implements support for non-integers animation-iteration-count numbers.
        Non-integer numbers will cause the animation to end part-way through a cycle.

        Reviewed by Dean Jackson.

        Tests: animations/fill-mode-iteration-count-non-integer.html
               animations/keyframes-iteration-count-non-integer.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseAnimationIterationCount):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::fractionalTime):
        (WebCore::AnimationBase::progress):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::pauseAnimationAtTime):
        * platform/animation/Animation.h:
        (WebCore::Animation::iterationCount):
        (WebCore::Animation::setIterationCount):
        (Animation):
        (WebCore::Animation::initialAnimationIterationCount):

2012-03-13  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Rename PeerConnection to DeprecatedPeerConnection
        https://bugs.webkit.org/show_bug.cgi?id=80692

        Reviewed by Adam Barth.

        First patch in a series of patches to change the PeerConnection from ROAP to JSEP,
        see bug 80589 for more information.

        Patch covered by modified existing tests.

        * GNUmakefile.list.am:
        * Modules/mediastream/DOMWindowMediaStream.idl:
        * Modules/mediastream/DeprecatedPeerConnection.cpp: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.cpp.
        (WebCore):
        (WebCore::DeprecatedPeerConnection::create):
        (WebCore::DeprecatedPeerConnection::DeprecatedPeerConnection):
        (WebCore::DeprecatedPeerConnection::~DeprecatedPeerConnection):
        (WebCore::DeprecatedPeerConnection::processSignalingMessage):
        (WebCore::DeprecatedPeerConnection::readyState):
        (WebCore::DeprecatedPeerConnection::send):
        (WebCore::DeprecatedPeerConnection::addStream):
        (WebCore::DeprecatedPeerConnection::removeStream):
        (WebCore::DeprecatedPeerConnection::localStreams):
        (WebCore::DeprecatedPeerConnection::remoteStreams):
        (WebCore::DeprecatedPeerConnection::close):
        (WebCore::DeprecatedPeerConnection::didCompleteICEProcessing):
        (WebCore::DeprecatedPeerConnection::didGenerateSDP):
        (WebCore::DeprecatedPeerConnection::didReceiveDataStreamMessage):
        (WebCore::DeprecatedPeerConnection::didAddRemoteStream):
        (WebCore::DeprecatedPeerConnection::didRemoveRemoteStream):
        (WebCore::DeprecatedPeerConnection::interfaceName):
        (WebCore::DeprecatedPeerConnection::scriptExecutionContext):
        (WebCore::DeprecatedPeerConnection::stop):
        (WebCore::DeprecatedPeerConnection::eventTargetData):
        (WebCore::DeprecatedPeerConnection::ensureEventTargetData):
        (WebCore::DeprecatedPeerConnection::scheduleInitialNegotiation):
        (WebCore::DeprecatedPeerConnection::initialNegotiationTimerFired):
        (WebCore::DeprecatedPeerConnection::ensureStreamChangeScheduled):
        (WebCore::DeprecatedPeerConnection::streamChangeTimerFired):
        (WebCore::DeprecatedPeerConnection::scheduleReadyStateChange):
        (WebCore::DeprecatedPeerConnection::readyStateChangeTimerFired):
        (WebCore::DeprecatedPeerConnection::changeReadyState):
        * Modules/mediastream/DeprecatedPeerConnection.h: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.h.
        (WebCore):
        (DeprecatedPeerConnection):
        (WebCore::DeprecatedPeerConnection::didChangeState):
        (WebCore::DeprecatedPeerConnection::refEventTarget):
        (WebCore::DeprecatedPeerConnection::derefEventTarget):
        * Modules/mediastream/DeprecatedPeerConnection.idl: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.idl.
        * Modules/mediastream/SignalingCallback.h:
        (WebCore):
        (SignalingCallback):
        * Modules/mediastream/SignalingCallback.idl:
        * WebCore.gypi:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitDeprecatedPeerConnectionEnabled):
        * bindings/js/JSDeprecatedPeerConnectionCustom.cpp: Renamed from Source/WebCore/bindings/js/JSPeerConnectionCustom.cpp.
        (WebCore):
        (WebCore::JSDeprecatedPeerConnectionConstructor::constructJSDeprecatedPeerConnection):
        * dom/EventTarget.h:
        (WebCore):
        * dom/EventTargetFactory.in:
        * platform/mediastream/DeprecatedPeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandler.h.
        (WebCore):
        (DeprecatedPeerConnectionHandler):
        * platform/mediastream/DeprecatedPeerConnectionHandlerClient.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandlerClient.h.
        (WebCore):
        (DeprecatedPeerConnectionHandlerClient):
        (WebCore::DeprecatedPeerConnectionHandlerClient::~DeprecatedPeerConnectionHandlerClient):
        * platform/mediastream/gstreamer/DeprecatedPeerConnectionHandler.cpp: Renamed from Source/WebCore/platform/mediastream/gstreamer/PeerConnectionHandler.cpp.
        (WebCore):
        (WebCore::DeprecatedPeerConnectionHandler::create):
        (WebCore::DeprecatedPeerConnectionHandler::DeprecatedPeerConnectionHandler):
        (WebCore::DeprecatedPeerConnectionHandler::~DeprecatedPeerConnectionHandler):
        (WebCore::DeprecatedPeerConnectionHandler::produceInitialOffer):
        (WebCore::DeprecatedPeerConnectionHandler::handleInitialOffer):
        (WebCore::DeprecatedPeerConnectionHandler::processSDP):
        (WebCore::DeprecatedPeerConnectionHandler::processPendingStreams):
        (WebCore::DeprecatedPeerConnectionHandler::sendDataStreamMessage):
        (WebCore::DeprecatedPeerConnectionHandler::stop):

2012-03-13  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: front-end compilation was broken while supporting large arrays.
        https://bugs.webkit.org/show_bug.cgi?id=81013

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ExtensionPanel.js:
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.buildObjectFragment):
        * inspector/front-end/RemoteObject.js:

2012-03-13  Tony Chang  <tony@chromium.org>

        flexbox's computePreferredLogicalWidth needs to take multiline into account
        https://bugs.webkit.org/show_bug.cgi?id=80931

        Reviewed by Ojan Vafai.

        Tests: css3/flexbox/multiline-shrink-to-fit-expected.html
               css3/flexbox/multiline-shrink-to-fit.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths): Set min/max preferredLogicalWidth based on always breaking or never breaking.
        (WebCore::RenderFlexibleBox::computeNextFlexLine): Add a FIXME.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Don't change the width after computePreferredWidth has been called.

2012-03-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110469.
        http://trac.webkit.org/changeset/110469
        https://bugs.webkit.org/show_bug.cgi?id=81010

        This patch still appears to crash (Requested by abarth on
        #webkit).

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::reset):
        (WebCore::FrameView::repaintContentRectangle):
        (WebCore):
        (WebCore::FrameView::endDeferredRepaints):
        (WebCore::FrameView::doDeferredRepaints):
        (WebCore::FrameView::deferredRepaintTimerFired):
        * page/FrameView.h:
        (FrameView):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::shouldRepaint):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::drawSVGToImageBuffer):
        (WebCore::SVGImage::draw):
        * svg/graphics/SVGImage.h:
        * svg/graphics/SVGImageCache.cpp:
        (WebCore::SVGImageCache::imageContentChanged):
        (WebCore::SVGImageCache::redrawTimerFired):
        * svg/graphics/SVGImageCache.h:
        (SVGImageCache):

2012-03-13  Max Vujovic  <mvujovic@adobe.com>

        Add a method to window.internals to enable testing of inspector highlight rects
        https://bugs.webkit.org/show_bug.cgi?id=80338

        Reviewed by Pavel Feldman.

        Add window.internals.inspectorHighlightRects, a method which makes it possible to test the
        positions and sizes of inspector highlight rects.

        Test: inspector/elements/highlight-node.html

        * WebCore.exp.in: Export symbols.
        * testing/Internals.cpp:
        (WebCore::Internals::inspectorHighlightRects): Call InspectorController::getHighlight and
        return the highlight's quads as a ClientRectList.
        (WebCore):
        * testing/Internals.h:
        (WebCore):
        (Internals):
        * testing/Internals.idl:

            Add inspectorHighlightRects to the window.internals interface.

2012-03-13  Konrad Piascik  <kpiascik@rim.com>

        [BlackBerry] Remove sublayers before clamping just in case the layer already exists
        https://bugs.webkit.org/show_bug.cgi?id=80989

        Reviewed by Antonio Gomes.

        Discovered when trying to add a highlight sublayer for web inspector.  Since that layer
        may already exist in the tree we need to see if it will be pruned before we clamp on the
        size.

        This was manually tested during the writing of another patch to add web inspector highlights
        to accelrated compositing.

        * platform/graphics/blackberry/LayerWebKitThread.cpp:
        (WebCore::LayerWebKitThread::insertSublayer):

2012-03-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add snippets model.
        https://bugs.webkit.org/show_bug.cgi?id=80863

        Reviewed by Yury Semikhatsky.

        Test: inspector/debugger/snippets-model.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/SnippetsModel.js: Added.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:

2012-03-13  'Pavel Feldman'  <pfeldman@chromium.org>

        Not reviewed: chromium build fix.

        * history/CachedFrame.cpp:

2012-03-13  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: refactor copy-paste getter methods
        https://bugs.webkit.org/show_bug.cgi?id=80923

        Reviewed by Yury Semikhatsky.

        Several methods are combined in one using C++ templates.

        * inspector/CodeGeneratorInspector.py:

2012-03-13  Rob Buis  <rbuis@rim.com>

        [BlackBerry] Fix cast-align warning in QuotesData.cpp
        https://bugs.webkit.org/show_bug.cgi?id=80601

        Reviewed by Nikolas Zimmermann.

        Fix warning by adding variable of correct return type.

        * rendering/style/QuotesData.cpp:
        (WebCore::QuotesData::create):

2012-03-12  Brady Eidson  <beidson@apple.com>

        <rdar://problem/7908830> and https://bugs.webkit.org/show_bug.cgi?id=34679
        Location and other objects are dysfunctional after a document gets restored from page cache

        Reviewed by Adam Barth.

        Test: fast/loader/window-properties-restored-from-page-cache.html

        Give DOMWindowProperties the ability to reconnect to their Frame:
        * page/DOMWindowProperty.cpp:
        (WebCore::DOMWindowProperty::reconnectFrame):
        * page/DOMWindowProperty.h:
        (DOMWindowProperty):

        Let ApplicationCache do some extra work when reconnecting:
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::reconnectFrame):
        (WebCore):
        * loader/appcache/DOMApplicationCache.h:
        (DOMApplicationCache):

        Let IndexDB do some extra work when reconnecting:
        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
        (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
        (WebCore::DOMWindowIndexedDatabase::reconnectFrame):
        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
        (DOMWindowIndexedDatabase):

        Tell the DOMWindow to suspend to the page cache:
        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):

        Tell the DOMWindow to resume from the page cache:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::open):

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::DOMWindow):
        (WebCore::DOMWindow::~DOMWindow): Call clearDOMWindowProperties directly instead of clear()
        (WebCore::DOMWindow::frameDestroyed): Ditto.
        (WebCore::DOMWindow::clear): Only clear if the DOMWindow is not suspended for the page cache.
        (WebCore::DOMWindow::suspendForPageCache): Disconnect properties and set the page cache flag.
        (WebCore::DOMWindow::resumeFromPageCache): Reconnect properties and revert the page cache flag.
        (WebCore::DOMWindow::disconnectDOMWindowProperties): Only disconnect the registered properties.
        (WebCore::DOMWindow::reconnectDOMWindowProperties):
        (WebCore::DOMWindow::clearDOMWindowProperties): Disconnect the registered properties then clear them out.

        For all of the following, if the DOMWindow is not displayed in a frame (i.e., it is suspended), do nothing:
        (WebCore::DOMWindow::screen):
        (WebCore::DOMWindow::history):
        (WebCore::DOMWindow::crypto):
        (WebCore::DOMWindow::locationbar):
        (WebCore::DOMWindow::menubar):
        (WebCore::DOMWindow::personalbar):
        (WebCore::DOMWindow::scrollbars):
        (WebCore::DOMWindow::statusbar):
        (WebCore::DOMWindow::toolbar):
        (WebCore::DOMWindow::console):
        (WebCore::DOMWindow::applicationCache):
        (WebCore::DOMWindow::navigator):
        (WebCore::DOMWindow::performance):
        (WebCore::DOMWindow::location):
        (WebCore::DOMWindow::sessionStorage):
        (WebCore::DOMWindow::localStorage):
        (WebCore::DOMWindow::webkitNotifications):
        (WebCore::DOMWindow::postMessageTimerFired):
        (WebCore::DOMWindow::getSelection):
        (WebCore::DOMWindow::styleMedia):
        (WebCore::DOMWindow::webkitStorageInfo):
        * page/DOMWindow.h:

2012-03-13  Dana Jansens  <danakj@chromium.org>

        [chromium] Use projectQuad to apply inverse mapRect
        https://bugs.webkit.org/show_bug.cgi?id=80741

        Reviewed by Adrienne Walker.

        Unit test: CCOcclusionTrackerTest3dTransform
                   CCOcclusionTrackerTestPerspectiveTransform
                   CCOcclusionTrackerTestPerspectiveTransformBehindCamera

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::projectQuad):
        (WebCore):
        (WebCore::computeUnoccludedContentRect):

2012-03-13  Gavin Peters  <gavinp@chromium.org>

        New PageCache histogram which counts failures ignoring Settings.
        https://bugs.webkit.org/show_bug.cgi?id=80864

        Reviewed by Brady Eidson.

        Chrome has a command line switch to turn on the page cache.
        Currently it doesn't work, but it can cause the PageCache reasons
        for failure count to read lower than it should.  Add a new
        histogram to report the corrected value.

        * history/PageCache.cpp:
        (WebCore::logCanCachePageDecision):

2012-03-13  George Staikos  <staikos@webkit.org>

        Fix signed/unsigned mismatch compiler warnings.
        https://bugs.webkit.org/show_bug.cgi?id=80790

        Reviewed by Alexey Proskuryakov.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
        * platform/network/MIMESniffing.cpp:

2012-03-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110510.
        http://trac.webkit.org/changeset/110510
        https://bugs.webkit.org/show_bug.cgi?id=80987

        depends on chromium r 125700, which isn't rolled into webkit
        yet :-/ (Requested by thakis_ on #webkit).

        * WebCore.gyp/mac/adjust_visibility.sh:

2012-03-13  Gavin Peters  <gavinp@chromium.org>

        Make ApplicationCacheHost::canCacheInPageCache() non-const.
        https://bugs.webkit.org/show_bug.cgi?id=80904

        Reviewed by Alexey Proskuryakov.

        A const pointer to a large object like ApplicationCacheHost is not our standard
        practice; so remove this (implicit) one.  See also https://bugs.webkit.org/show_bug.cgi?id=80898

        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::canCacheInPageCache):
        * loader/appcache/ApplicationCacheHost.h:
        (ApplicationCacheHost):

2012-03-13  Stephen Chenney  <schenney@chromium.org>

        Crash in WebCore::GraphicsContext::paintingDisabled
        https://bugs.webkit.org/show_bug.cgi?id=80669

        Reviewed by Nikolas Zimmermann.

        The SVGImageBufferTools::clipToImageBuffer method deletes the clip
        image when it thinks it is not needed. However, there are cases when
        it is in fact still needed, particularly when the clip buffer is
        coming from higher up in the stack where it may be needed again.

        So this patch adds a flag to only allow deletion of the image buffer
        if it was created at the most recent call site.

        Tests: svg/custom/circular-clip-path-references-crash-expected.svg
               svg/custom/circular-clip-path-references-crash.svg

        * rendering/svg/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::clipToTextMask):
        * rendering/svg/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource):
        * rendering/svg/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::clipToImageBuffer):
        * rendering/svg/SVGImageBufferTools.h:
        (SVGImageBufferTools):

2012-03-13  Gavin Peters  <gavinp@chromium.org>

        Fix an enumeration name in ReasonsFrameCannotBeInPageCache.
        https://bugs.webkit.org/show_bug.cgi?id=80849

        Reviewed by Brady Eidson.

        It seems that somebody goofed, and named one of the
        ReasonsFrameCannotBeInPageCache antonymically.

        * history/PageCache.cpp:
        (WebCore::logCanCacheFrameDecision):

2012-03-12  Kinuko Yasuda  <kinuko@chromium.org>

        File upload control should use File.name() rather than File.path() to show chosen filenames
        https://bugs.webkit.org/show_bug.cgi?id=80970

        In some rare cases (e.g. files from FileSystem API or files created
        using the newly added WebKit API) File.name has different displayName
        from the basename of file.path, and in the file uploader controller we
        should use File.name rather than File.path.

        Reviewed by Kent Tamura.

        No new tests: existing tests should pass as this should not change
        behavior in regular use cases.  (New behavior where File.name differs
        from File.path can be only tested in chromeos environment, therefore
        not adding new tests for that)

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::fileListNameForWidth): Updated to handle FileList.
        * platform/gtk/RenderThemeGtk.h:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::fileListNameForWidth): Updated to handle FileList.
        * platform/qt/RenderThemeQt.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::fileTextValue): Changed to pass FileList rather than FileList->paths().
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::fileListNameForWidth): Updated to handle FileList and use File.name for displaying the file name.
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::fileListNameForWidth): Updated to handle FileList.

2012-03-13  Kinuko Yasuda  <kinuko@chromium.org>

        Allow WebFileChooser to return extra file info (like displayName) in addition to mere file paths
        https://bugs.webkit.org/show_bug.cgi?id=80719

        Reviewed by Kent Tamura.

        No new tests: this change itself shouldn't change existing behavior.

        * fileapi/File.cpp:
        (WebCore::createBlobDataForFileWithName): Renamed from createBlobDataForFileSystemFile.
        * fileapi/File.h:
        * html/FileInputType.cpp:
        (WebCore::FileInputType::saveFormControlState): Updated to handle File.name.
        (WebCore::FileInputType::restoreFormControlState): Ditto.
        (WebCore::FileInputType::setFileList): Changed the signature to take
        FileChooserFileInfo.
        (WebCore::FileInputType::filesChosen): Ditto.
        (WebCore::FileInputType::receiveDroppedFiles):
        * html/FileInputType.h:
        (FileInputType):
        * platform/FileChooser.cpp:
        (WebCore::FileChooser::chooseFiles): Added an overloaded method that
        takes FileChooserFileInfo.
        (WebCore):
        * platform/FileChooser.h:
        (WebCore::FileChooserFileInfo::FileChooserFileInfo): Added.
        * platform/MIMETypeRegistry.cpp:
        (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension): Removed surrouonding ifdefs as this function is now used even if FILE_SYSTEM is not enabled.
        * platform/MIMETypeRegistry.h:
        (MIMETypeRegistry):

2012-03-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed inspector compilation module name fix after r110550.

        * inspector/compile-front-end.py:

2012-03-12  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Changes to the list of scripts for front-end compilation should not require update of number of scripts in module.
        https://bugs.webkit.org/show_bug.cgi?id=80872

        Reviewed by Pavel Feldman.

        * inspector/compile-front-end.py: Added.
        * inspector/compile-front-end.sh:

2012-03-12  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: move ResourceScriptMapping to a separate file.
        https://bugs.webkit.org/show_bug.cgi?id=80859

        Reviewed by Vsevolod Vlasov.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/ResourceScriptMapping.js: Copied from Source/WebCore/inspector/front-end/ScriptMapping.js.
        (WebInspector.ResourceScriptMapping):
        (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
        (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
        (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeListChanged):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeListChanged):
        (WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode):
        (WebInspector.ResourceScriptMapping.prototype.setFormatSource):
        (WebInspector.ResourceScriptMapping.prototype.forceUpdateSourceMapping):
        (WebInspector.ResourceScriptMapping.prototype.reset):
        * inspector/front-end/ScriptMapping.js:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-03-12  Kentaro Hara  <haraken@chromium.org>

        Rename OptionsObject to Dictionary
        https://bugs.webkit.org/show_bug.cgi?id=80802

        Reviewed by Adam Barth.

        For clarification, rename OptionsObject.{h,cpp} to Dictionary.{h,cpp}.
        This patch just renames and sorts alphabetically.

        No tests. No change in behavior.

        * GNUmakefile.list.am:
        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore):
        * Modules/indexeddb/IDBDatabase.h:
        (WebCore::IDBDatabase::createObjectStore):
        (IDBDatabase):
        * Modules/indexeddb/IDBDatabase.idl:
        * Modules/indexeddb/IDBKeyRange.h:
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::createIndex):
        * Modules/indexeddb/IDBObjectStore.h:
        (WebCore::IDBObjectStore::createIndex):
        (IDBObjectStore):
        * Modules/indexeddb/IDBObjectStore.idl:
        * Target.pri:
        * UseV8.cmake:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/Dictionary.h: Renamed from Source/WebCore/bindings/js/OptionsObject.h.
        (WebCore):
        (Dictionary):
        (WebCore::Dictionary::Dictionary):
        (WebCore::Dictionary::isObject):
        (WebCore::Dictionary::isUndefinedOrNull):
        (WebCore::Dictionary::get):
        (WebCore::Dictionary::getWithUndefinedOrNullCheck):
        * bindings/js/IDBBindingUtilities.cpp:
        (WebCore::createDictionaryFromValue):
        * bindings/js/IDBBindingUtilities.h:
        (WebCore):
        * bindings/scripts/CodeGeneratorJS.pm:
        (JSValueToNative):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (GenerateParametersCheck):
        (GenerateEventConstructorCallback):
        (GetNativeType):
        (JSValueToNative):
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::optionsObject):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_options_object):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj optionsObject:ooo:]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::constructorCallback):
        (WebCore::fillTestEventConstructorInit):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::optionsObjectCallback):
        * bindings/v8/Dictionary.cpp: Renamed from Source/WebCore/bindings/v8/OptionsObject.cpp.
        (WebCore):
        (WebCore::Dictionary::Dictionary):
        (WebCore::Dictionary::~Dictionary):
        (WebCore::Dictionary::operator=):
        (WebCore::Dictionary::isObject):
        (WebCore::Dictionary::isUndefinedOrNull):
        (WebCore::Dictionary::getKey):
        (WebCore::Dictionary::get):
        (WebCore::Dictionary::getWithUndefinedOrNullCheck):
        * bindings/v8/Dictionary.h: Renamed from Source/WebCore/bindings/v8/OptionsObject.h.
        (WebCore):
        (Dictionary):
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::observeCallback):

2012-03-12  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVG Animations update baseVal instead of animVal
        https://bugs.webkit.org/show_bug.cgi?id=12437

        Reviewed by Dirk Schulze.

        Begin implementing the last missing core piece of the SVG DOM: proper animVal support.
        Most SVG DOM interfaces exposing eg. lengths use SVGAnimatedLength. eg. from SVGRectElement:
        "readonly attribute SVGAnimatedLength x;" SVGAnimatedXXX contains following methods:
        "readonly attribute SVGLength baseVal; readonly attribute SVGLength animVal;"
        From SVG DOM perspective, animVal and baseVal are two distinctive objects, animVal != baseVal.
        Its underlying value is the same though, if no animation is running on that attribute.

        As soon as a SMIL animation starts animating an SVGAnimated* target attribute, its
        baseVal and animVal may begin to differ. The animVal always reflect the current animated
        value (including all effects of additive/accumulated animations) which is shown on screen
        when eg animating the width of a <rect>. The baseVal is is equal to the underlying XML
        property value / SVG DOM value, but may be influenced through dynamic changes.
        (Consider changing rect1.width.baseVal.value while 'width' is animated)

        During the last year we prepared our animation code to turn on animVal support.
        This patch adds the last missing pieces to turn on animVal support for the SVGLength.
        SVGLengthList and all other types will follow, one after the other.

        I've decided to write an exhaustive ChangeLog, as this as the base for any future
        work in this area - hopefully making this more reviewable.

        Tests: svg/animations/additive-from-to-width-animation.html
               svg/animations/additive-values-width-animation.html
               svg/animations/change-baseVal-while-animating-fill-freeze-2.html
               svg/animations/change-baseVal-while-animating-fill-freeze.html
               svg/animations/change-baseVal-while-animating-fill-remove-2.html
               svg/animations/change-baseVal-while-animating-fill-remove.html
               svg/animations/change-target-while-animating-SVG-property.html
               svg/animations/multiple-animations-fill-freeze.html
               svg/animations/remove-animation-element-while-animation-is-running.html
               svg/repaint/repainting-after-animation-element-removal.svg

        * svg/SVGAnimateElement.cpp: Remove unnecessary std namespace inclusion.
        (WebCore::SVGAnimateElement::SVGAnimateElement): Remove now-obsolete m_aboutToStopAnimation.
        (WebCore::SVGAnimateElement::calculateAnimatedValue): Swap assertion order, to test hasTagName() _before_ casting.
        (WebCore::SVGAnimateElement::resetToBaseValue):
            Stop relying on the cached baseValue (breaking additive="sum"+values animation) for SVG DOM primitive animations.
            Avoid any string roundtrips previously needed to reset the SVGAnimatedType to the base value. Just grab the
            currentBaseValue() from the associated SVGAnimatedProperty, which includes all dynamic changes to the baseVal
            either by SVG DOM or setAttribute() calls - this way we don't need to utilize the buggy cache in SMILTimeContainer,
            which can be removed once all SVG DOM primitive types switched to the new animVal concept.

            NOTE: When multiple animations of the same attribute are applied to a target element, resetToBaseValue() will be called
            for the highest priority SVGSMILElement, on every animation step! Consider two <animate> elements, applied to a target
            <rect> which both animate the 'x' attribute, one from 0s to 2s, the other from 4s to 6s. The last <animate> element
            will reuse the SVGAnimatedType m_animatedType from the first <animate> element, and never create an own m_animatedType.
            When the animation starts the first time at 0s, we update the rect.x.animVals SVGLength* pointer, to point to the
            SVGAnimatedType of the first <animate> element, owning the m_animatedType. From that point on each call to rect.x.animVal
            will always return the same value as the SVGAnimatedType of the first <animate> element holds. Now after 2s the first
            <animate> element becomes inactive, but its m_animatedType remains alive. The bindings don't notice this change at all.
            Now at 4s, the second animation element gets active. It reuses the SVGAnimatedType of the first <animate> element, and
            applies its animation changes to that SVGAnimatedType, which is immediately reflected in the bindings w/o any additional
            work. It's very important for the understanding when animationStarted/animationEnded need to be called.

        (WebCore::SVGAnimateElement::applyResultsToTarget): Remove now-obsolete m_aboutToStopAnimation logic. No need to know it at this point.
        (WebCore::SVGAnimateElement::targetElementWillChange):
            Renamed from targetElementDidChange(). This method is called from SVGSMILElement for following conditions:
            - animation element is destructed
            - animation element is removed from document
            - target element of animation is destructed
            - target element of animation is removed from document
            - target element of animation changes id

            Whenever any of this happens, we need to reset the animVal. Resetting the animVal involves resetting the PropertyType* pointer,
            eg. SVGLength*, from the animVal property tear off, belonging to a certain SVGAnimatedProperty (eg. rect.x) to the initial
            value again, which is the 'm_x' of the SVGRectElement. This is needed as the SVGAnimatedType the animVal currently points to,
            if an animation is/was running, is destructed in targetElementWillChange(), to reset the SVGAnimateElement to the initial
            state before it received a target. This is the only place which destructed the m_animatedType, and thus the only place that
            needs to take care of resetting the animVal pointers.

        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::constructFromCopy):
            Add a new constructFromCopy(SVGGenericAnimatedType) function to SVGAnimatedLengthAnimator.
            It takes a type-unsafe SVGGenericAnimatedType - the caller has to guarantee the type matches.
            This is strictly enforced for the single caller of constructFromCopy, and guaranteed to be safe.

        * svg/SVGAnimatedLength.h: Add new constructFromCopy method, which is used to avoid string-roundtrips when resetting to base values.
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::supportsAnimVal): Only returns true for AnimatedLength, for now.
        (WebCore::SVGAnimatedType::setVariantValue): Takes a SVGGenericAnimatedType, assuming the type matches. Callers have to guarantee type-safety!
        * svg/SVGAnimatedType.h:
        (SVGAnimatedType): Add new static supportsAnimVal(AnimatedPropertyType) function.
        (WebCore::SVGAnimatedType::variantValue): Add a generic accessor for all animated types, called variant(). Only one place uses this.
        * svg/SVGAnimatedTypeAnimator.h:
        (WebCore::SVGAnimatedTypeAnimator::constructFromCopy):
            New method to construct an eg. SVGAnimatedLengthAnimator right from a SVGLength, instead of a String.
            In that case the SVGAnimatedType just stores a pointer to the underlying SVGLength, no copying and or other roundtrips involved.

        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::svgAttributeChanged):
            Implement this instead of attributeChanged. The previous implementation reset the animation state to Inactive, causing a full
            rebuild, whenever any attribute changes, even though it might not be related for the animation element, eg.
            animate.setAttribute("stdDeviationX", "foobar"). Fix that by checking if we support the attribute (keyTimes/keySplines/etc..)
            , if not pass it on to SVGSMILElement (which supports begin/end/etc..) to check if it can handle that.

        (WebCore::SVGAnimationElement::animationAttributeChanged):
            Called from our svgAttributeChanged, and/or from SVGSMILElement::svgAttributeChanged, whenever a _known_ attribute has changed.
            This sledgehammer should be used with care, instead of each time attributeChanged() is called :-)

        (WebCore::setTargetAttributeAnimatedCSSValue):
            Remove support for removing properties from the override style sheet. I've added this optimization too early, we should reevaluate
            this once more types support animVal. It currently complexifies the logic too much, requiring setAttributeAnimatedValue to know
            if the animation ends (and that's not easy to figure out, at least not using started/endedActiveInterval, as I anticipated).

        (WebCore::findMatchingAnimatedProperty):
            Add helper functions which retrieves a SVGAnimatedProperty* for a given SVGElement* targetElement, an attributeName, and an attribute
            type. eg. findMatchingAnimatedProperty(myRectElement, SVGNames::xAttr, AnimatedLength) returns the SVGAnimatedProperty which is
            exposed to JS, that holds: SVGProperty* baseVal, and SVGProperty* animVal. (Lazily created if they got accessed from JS.). This is
            used to update the animVal pointing to a new eg. SVGLength* value, once animation has started, to make rect->x() return that new
            SVGLength* value (internally), and to reflect the current animated value in rect.x.animVal.value from JS.

        (WebCore::SVGAnimationElement::applyAnimatedValue): Refactored from setTargetAttributeAnimatedValue, to simplify the code.
        (WebCore::notifyAnimatedPropertyAboutAnimationBeginEnd):
            Helper function to share code betweeen animationStarted/animationEnded.
            It takes a SVGAnimatedProperty* and a SVGAnimatedType* which may be zero, indicating that the animation ended.
            It calls animationStarted/animationEnded on the given SVGAnimatedProperty, to update the animVal state.
            It also figures out all instances of the target element, and their SVGAnimatedProperties that may need updating.

        (WebCore::SVGAnimationElement::animationStarted): Uses the helper above, passing on the given animatedType.
        (WebCore::SVGAnimationElement::animationEnded): Uses the helper above, passing 0 as animatedType.
        (WebCore::InstanceUpdateBlocker::InstanceUpdateBlocker):
            Added new helper struct, doing element->setInstancesUpdatedBlock(true) on construction and setInstancesUpdatesBlocked(false) on
            destruction, making it impossible to forget one. If we ever rewrite svgAttributeChanged & co to auto-update the cloned instances,
            this can go away.

        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
            Now takes an SVGAnimatedType* instead of a String parameter. In order to avoid string-roundtrips for animVal support, let us
            decide if we need to construct a String out of it, or not. For animations supporting animVal (only SVGLength) we don't need
            to update any attribute or animVal pointer here, that happens automatically! We only need to notify the targetElement eg,
            that its xAttr changed! Previously we had to call targetElement->setAttribute("x", "...") on every animation step for
            SVGLength animations - that's gone now! The SVGAnimatedType pointers remains the same during the whole animation, so there's
            no need to call animationStarted() at each animated step!

        (WebCore::SVGAnimationElement::animatedPropertyForType):
            Helper function returning a SVGAnimatedProperty* for the current target element & current target attribute, if the
            current animation is running on a type supporting animVal (SVGLength), or returning 0. This is needed for SVGAnimateElement.
            Reuses the existing findMatchingAnimatedProperty code.

        * svg/SVGAnimationElement.h:
        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::updateAnimations):
            Add comment to clarify why caching baseValues is just wrong. For SVGLength animations the problem is now gone.
            This is exercised using the new additive-from-to-width-animation.html & additive-values-width-animation.html tests.

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::removedFromDocument):
            Since animVal requires that the SVGAnimatedProperties are correctly reset if an animation element is removed from the document,
            we have to call targetElementWillChange(0) from here. That requires to move the "m_attributeName = anyQName()" line down,
            otherwise targetElementWillChange() would early exit, as no valid attributeName was specified.
            
            This is verified using the new svg/animations/remove-animation-element-while-animation-is-running.html
            and svg/repaint/repainting-after-animation-element-removal.svg tests.

        (WebCore::SVGSMILElement::isSupportedAttribute): Add function like all SVG*Elements have identifying their supported attributes.
        (WebCore::SVGSMILElement::svgAttributeChanged):
            Implement svgAttributeChanged instead of attributeChanged. Only take action if the attribute is actually supported.
            If one of the common attributes like begin/end/etc. changed, be sure to call animationAttributeChanged() so that our
            ancestor-classes get notified about this and can take action as well. NOTE: This is not about animating begin/end attributes,
            but about pure DOM changes. begin/end/et.. are not exposed to the SVG DOM, we still reuse the svgAttributeChanged logic
            for consistency. (This does NOT make those attributes animatable, nothing this here as it came up while reviewing).
    
        (WebCore::SVGSMILElement::targetElement): Adapt logic to targetElementDidChange -> targetElementWillChange change.
        (WebCore::SVGSMILElement::targetElementWillChange):
            Renamed from targetElementDidChange. Added "oldTarget" as parameter as well. Our ancestor-classes like SVGAnimateElement
            use this to properly deregister the animVal in the old target, before resetting the SVGAnimatedType, otherwise we'd leave
            dangling pointers around (verified manually by guard malloc runs, that none of this happens).

            Also add a default implementation here in targetElementWillChange, that ancestor classes have to call.
            Now we properly call endedActiveInterval() if the m_activeState is currently Active, so that animations are shut-down
            just like if the animation properly ends (use the same cleanup routines, etc.). Not doing that now leads to assertions.

        (WebCore::SVGSMILElement::resetTargetElement):
            Instead of forcing m_activeState to be inactive, use the standard methods to end the animation.
            targetElementWillChange(m_targetElement, 0) and animationAttributeChanged().

            resetTargetElement() is only called by SVGDocumentExtensions::removeAllAnimationElementsFromTarget() for following conditions:
            - targetElement gets destructed
            - targetElement gets removed from the document
            - targetElement id changes

            If the targetElement gets destructed or removed, no actions need to be taken, as the SVGAnimatedPropertys are teared down
            as well. But if only the id changes, we still have to properly disconnect the animVals - this is all handled through
            targetElementWillChange now - that's why this has to be called from here as well.
            That explains why targetElementWillChange() now needs to check if the targetElement is destructing or not.

        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
            Pass the AnimatedPropertyType from the SVGPropertyInfo to the SVGAnimatedProperties.
            Requires mechanic changes in all SVGAnimated* classes. We need acccess to the AnimatedPropertyType
            to verify the SVGAnimatedType objects, passed to animationStarted, match our type. This is to enforce
            strict type-checking, whenever SVGGenericAnimatedTypes are passed around.

        (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
        (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
        * svg/properties/SVGAnimatedListPropertyTearOff.h: Ditto.
        (WebCore::SVGAnimatedListPropertyTearOff::create):
        (WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Ditto.
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
        * svg/properties/SVGAnimatedProperty.h: Store AnimatedPropertyType, add accessors.
        (WebCore::SVGAnimatedProperty::animatedPropertyType): Add accessor.
        (WebCore::SVGAnimatedProperty::animationValueChanged): New animVal related functions to be implemented in the animated tear offs.
        (WebCore::SVGAnimatedProperty::animationStarted): Ditto.
        (WebCore::SVGAnimatedProperty::animationEnded): Ditto.
        (WebCore::SVGAnimatedProperty::currentBaseValue):
            Generic accessor for the baseVal: returns a SVGGenericAnimatedType.
            It takes an AnimatedPropertyType as input, that's only needed to verify that the type we're returning matches
            the expectation of the caller. If not, return 0 to avoid any potential casting mistakes, which would lead to crashes.

        (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): Store m_animatedPropertyType.
        * svg/properties/SVGAnimatedPropertyTearOff.h:
        (WebCore::SVGAnimatedPropertyTearOff::create): Same changes as in the other tear offs: pass around AnimatedPropertyType.
        (WebCore::SVGAnimatedPropertyTearOff::currentBaseValue): Returns &m_property, if the type matches (see above).
        (SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
        (WebCore::SVGAnimatedPropertyTearOff::animationValueChanged): No-op for non list types, don't need to do anything here.
        (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
        (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
            Store the currently animated value in the animVal() property tear off, that's also re-used as-is for the JS bindings.
            As this is important, here's an example of how this affects methods like rect->x() used in the renderers.

            Setting m_isAnimating to true, redirects any rect->x() calls that previously returned rect->m_x, to
            rect->xAnimated()->animVal()->propertyReference() (which returns the same SVGLength& that the SVGAnimatedElement
            m_animatedType contains). Calling rect->setXBaseValue() still modifies rect->m_x, and is used by all parseAttribute()
            methods in svg/ as setAttribute() calls only ever modify the "baseValue", never the current animated value.
            rect.x.baseVal will return a SVGLength object corresponding to rect->m_x.
            rect.x.animVal will return a SVGLength object corresponding to rect->xAnimated()->animVal()->propertyReference().

            These implementation details are all hidden in the SVGAnimatedPropertyMacros. Here's an example from SVGRectElement:
            DECLARE_ANIMATED_LENGTH(X, x) -> Replace PropertyType with 'SVGLength', LowerProperty with 'x', and UpperProperty with 'X'.

            PropertyType& LowerProperty() const
            {
                if (TearOffType* wrapper = SVGAnimatedProperty::lookupWrapper<UseOwnerType, TearOffType, IsDerivedFromSVGElement<UseOwnerType>::value>(this, LowerProperty##PropertyInfo())) {
                    if (wrapper->isAnimating())
                        return wrapper->currentAnimatedValue();
                }
                return m_##LowerProperty.value;
            }

            PropertyType& LowerProperty##BaseValue() const
            {
                return m_##LowerProperty.value;
            }

            void set##UpperProperty##BaseValue(const PropertyType& type)
            {
                m_##LowerProperty.value = type;
            }

            Any code outside of svg/, eg. in rendering/svg, does not need to care about any baseVal/animVal differences.
            During layout eg. RenderSVGRect calls rect->x().value(someLengthContext) to get the current 'x' as float. If an animation
            is running on that rect element it will automatically retrieve the last set animated value here - all under the hood.
            I hope that sheds some light in those myserious functions, they were designed with animVal in mind, but we never had that until now :-)

        (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
        (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff): Add destructor to debug builds veryifing that m_isAnimating is false.
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Ditto.
        (WebCore::SVGAnimatedStaticPropertyTearOff::create):
        (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Ditto.
        (WebCore::SVGAnimatedTransformListPropertyTearOff::create):
        (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
        * svg/properties/SVGPropertyInfo.h: Add SVGGenericAnimatedType definition.
        * svg/properties/SVGPropertyTearOff.h: Remove obsolete updateAnimVal method - switched to using setValue directly.

2012-03-13  Luke Macpherson   <macpherson@chromium.org>

        Implement CSSPropertyTextOverflow in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=80934

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-12  Matt Falkenhagen  <falken@chromium.org>

        Switch Chromium from LocaleToScriptMappingICU.cpp to LocaleToScriptMappingDefault.cpp
        https://bugs.webkit.org/show_bug.cgi?id=80935

        Reviewed by Kent Tamura.

        ICU seems to have issues with non-well-formed locale strings.
        Currently, the only port that uses LocaleToScriptMappingICU.cpp is
        Chromium.

        No new tests. LocaleToScriptMappingDefault.cpp is already used by
        other ports and covered by existing tests.

        * WebCore.gyp/WebCore.gyp:

2012-03-12  Benjamin Poulain  <bpoulain@apple.com>

        Fix IndexedDB build with JSC
        https://bugs.webkit.org/show_bug.cgi?id=80207

        Reviewed by Adam Barth.

        This fixes the build of WebKit when IndexedDB is enabled. Most functions were added
        empty implementation, it compiles but IndexedDB is not working.

        * DerivedSources.make: Added missing IDL files.
        * Modules/indexeddb/IDBDatabaseBackendImpl.h: Fix warnings and build errors.
        (IDBDatabaseBackendImpl):
        * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: ditto.
        (WebCore::IDBDatabaseCallbacksImpl::unregisterDatabase): ditto.
        * Modules/indexeddb/IDBFactoryBackendImpl.cpp: ditto.
        (WebCore::IDBFactoryBackendImpl::openBackingStore):
        * Modules/indexeddb/IDBIndexBackendImpl.cpp: ditto.
        (WebCore::IDBIndexBackendImpl::countInternal):
        * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Fix the method signature and add
        an empty implementation.
        (WebCore):
        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
        (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Fix warnings.
        (WebCore::IDBObjectStoreBackendImpl::countInternal):
        * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: ditto.
        (WebCore::transactions):
        * Modules/indexeddb/IDBRequest.cpp: ditto.
        (WebCore::IDBRequest::resetReadyState):
        * Modules/indexeddb/IDBRequest.h: ditto.
        (WebCore::IDBRequest::onSuccessWithPrefetch):
        (WebCore):
        (WebCore::JSIDBVersionChangeRequest::visitChildren):
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromValue): Fix the creation of IDBKeys.
        (WebCore::createOptionsObjectFromValue): Add an empty implementation of
        the handling of database options (IDBObjectStoreParameters).
        (WebCore):
        * bindings/js/IDBBindingUtilities.h:
        (WebCore):
        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS): Add the missing IDBAny's types.
        * bindings/js/JSIDBKeyCustom.cpp:
        (WebCore::toJS): Add the missing IDBKey's types.
        * bindings/js/JSIDBVersionChangeRequestCustom.cpp: Added.
        IDBVersionChangeRequest has the attribute EventTarget so it requires
        the visitChildren() function. An empty implementation was added.
        * bindings/js/OptionsObject.h: Add an empty implementation.
        (WebCore):
        (OptionsObject):
        (WebCore::OptionsObject::OptionsObject):
        (WebCore::OptionsObject::isObject):
        (WebCore::OptionsObject::isUndefinedOrNull):
        (WebCore::OptionsObject::get):
        (WebCore::OptionsObject::getWithUndefinedOrNullCheck):
        * bindings/js/SerializedScriptValue.cpp: Add the missing functions needed by IndexedDB.
        (WebCore):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::toWireString):
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::numberValue):
        (WebCore::SerializedScriptValue::deserialize):
        * bindings/js/SerializedScriptValue.h:
        (SerializedScriptValue):
        * bindings/scripts/CodeGeneratorJS.pm: Modify the code generator to:
        -Support the IDBKey type correctly.
        -Support the OptionsObject type.
        -Generate valid function call for static functions.
        (GenerateImplementationFunctionCall):
        (JSValueToNative):
        (NativeToJSValue):
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore):

2012-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110529.
        http://trac.webkit.org/changeset/110529
        https://bugs.webkit.org/show_bug.cgi?id=80969

        breaks mac build (Requested by morrita on #webkit).

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::computeUnoccludedContentRect):

2012-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110524.
        http://trac.webkit.org/changeset/110524
        https://bugs.webkit.org/show_bug.cgi?id=80936

        breaks chromium win build. (Requested by morrita on #webkit).

        * Target.pri:
        * UseV8.cmake:
        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (GenerateNamedConstructorCallback):
        (GenerateImplementation):
        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8Float64Array.h:
        (V8Float64Array):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (V8TestActiveDOMObject):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (V8TestCustomNamedGetter):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (V8TestEventConstructor):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (V8TestEventTarget):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (V8TestInterface):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (V8TestMediaQueryListListener):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (V8TestNamedConstructor):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (V8TestSerializedScriptValueInterface):
        * bindings/v8/NPV8Object.cpp:
        (WebCore::npObjectTypeInfo):
        * bindings/v8/V8GCController.cpp:
        (WebCore::GrouperVisitor::visitDOMWrapper):
        * bindings/v8/WrapperTypeInfo.h:
        (WebCore):
        (WrapperTypeInfo):
        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
        (WebCore):
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        (WebCore):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
        (WebCore):
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):
        (WebCore):
        * bindings/v8/custom/V8StyleSheetCustom.cpp:
        (WebCore::toV8):
        * css/CSSStyleSheet.idl:
        * css/StyleSheet.idl:
        * dom/DOMStringMap.idl:
        * dom/NamedNodeMap.idl:
        * html/DOMTokenList.idl:
        * html/track/TextTrackList.idl:

2012-03-12  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Remove getCachedWrapperSlow() from V8Bindings.cpp
        https://bugs.webkit.org/show_bug.cgi?id=80924

        Reviewed by Adam Barth.

        getCachedWrapperSlow() is called by getCachedWrapper() only,
        and getCachedWrapperSlow() just calls getCachedWrapperInline().
        Thus, this patch expands getCachedWrapperInline() into getCachedWrapper(),
        and removes getCachedWrapperSlow().

        No tests. No change in behavior.

        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getCachedWrapper):

2012-03-12  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Remove existingWrapper() from generated code
        https://bugs.webkit.org/show_bug.cgi?id=80927

        Reviewed by Adam Barth.

        Currently wrap() calls existingWrapper(), and existingWrapper()
        just calls getCachedWrapper(). We can remove existingWrapper() from the generated code.

        Test: bindings/scripts/test/*

        * bindings/scripts/CodeGeneratorV8.pm: Removed existingWrapper().
        (GenerateHeader):
        (GenerateNormalAttrGetter):

        * bindings/scripts/test/V8/V8Float64Array.h: Updated run-bindings-tests results.
        (V8Float64Array):
        (WebCore::V8Float64Array::wrap):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (V8TestActiveDOMObject):
        (WebCore::V8TestActiveDOMObject::wrap):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (V8TestCustomNamedGetter):
        (WebCore::V8TestCustomNamedGetter::wrap):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (V8TestEventConstructor):
        (WebCore::V8TestEventConstructor::wrap):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (V8TestEventTarget):
        (WebCore::V8TestEventTarget::wrap):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (V8TestInterface):
        (WebCore::V8TestInterface::wrap):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (V8TestMediaQueryListListener):
        (WebCore::V8TestMediaQueryListListener::wrap):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (V8TestNamedConstructor):
        (WebCore::V8TestNamedConstructor::wrap):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
        (WebCore::TestObjInternal::cachedAttribute1AttrGetter):
        (WebCore::TestObjInternal::cachedAttribute2AttrGetter):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):
        (WebCore::V8TestObj::wrap):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (V8TestSerializedScriptValueInterface):
        (WebCore::V8TestSerializedScriptValueInterface::wrap):

2012-03-12  Dana Jansens  <danakj@chromium.org>

        [chromium] Use tileRect instead of pointer derefs
        https://bugs.webkit.org/show_bug.cgi?id=80919

        Reviewed by Adrienne Walker.

        Covered by existing tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawTileQuad):

2012-03-12  Hans Muller  <hmuller@adobe.com>

        SVG should support transform-origin and relative values
        https://bugs.webkit.org/show_bug.cgi?id=79068

        Reviewed by Dirk Schulze.

        Added SVG support for the CSS 'transform-origin' property and for percentage
        values in the transform translate function.  The changes conform to
        http://dev.w3.org/csswg/css3-transforms/.

        Tests: svg/transforms/percent-transform-values.xhtml
               svg/transforms/transform-origin-css-property.xhtml

        * css/svg.css:
        (*):
        (html|* > svg):
        Default transform-origin for SVG elements is 0 0.

        * platform/Length.h:
        (WebCore::Length::calcFloatValue):
        Added a calcFloatValue overload whose max parameter (for percent lengths) is a float.
        The original version will be obsolete when the sub-pixel layout support is completed.

        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:
        (WebCore):
        (WebCore::requireTransformOrigin):
        Transforms that only include translations don't depend on the transform-origin.

        (WebCore::RenderStyle::applyTransform):
        SVG elements interpret non-percentage/keyword transform-origin values relative to their viewport,
        unlike HTML which interprets all transform-origin values relative to the element's origin.
        The new FloatRect applyTransform() function handles SVG semantics. Similarly, SVG elements interpret
        percentage/keyword transform-origin values relative to the origin of their objectBoundingBox(), HTML
        uses the borderBox.  All this per http://dev.w3.org/csswg/css3-transforms/.

        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):

2012-03-12  Dana Jansens  <danakj@chromium.org>

        [chromium] Use projectQuad to apply inverse mapRect
        https://bugs.webkit.org/show_bug.cgi?id=80741

        Reviewed by Adrienne Walker.

        Unit test: CCOcclusionTrackerTest3dTransform
                   CCOcclusionTrackerTestPerspectiveTransform
                   CCOcclusionTrackerTestPerspectiveTransformBehindCamera

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::projectQuad):
        (WebCore):
        (WebCore::computeUnoccludedContentRect):

2012-03-12  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to platform/graphics/FontPlatformData.h
        https://bugs.webkit.org/show_bug.cgi?id=80820

        Reviewed by Rob Buis.

        The BlackBerry is using the FontPlatformData from Chromium porting.

        * platform/graphics/FontPlatformData.h:

2012-03-12  Zhenyao Mo  <zmo@google.com>

        After webgl canvas resize, bindings might be lost
        https://bugs.webkit.org/show_bug.cgi?id=80895

        Reviewed by Stephen White.

        Test: fast/canvas/webgl/texture-bindings-uneffected-on-resize.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::reshape): recover bindings after reshape.

2012-03-12  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Remove getWrapper() and getWrapperSlow()
        https://bugs.webkit.org/show_bug.cgi?id=80920

        Reviewed by Adam Barth.

        Now getWrapper() is the same as getExistingWrapper().
        getWrapperSlow() is the same as getExistingWrapperSlow().
        This patch removes getWrapper() and getWrapperSlow().
        Also this patch renames getExistingWrapper() to getCachedWrapper().

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getWrapperSlow):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getWrapper):
        (V8DOMWrapper):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):

2012-03-12  Erik Arvidsson  <arv@chromium.org>

        [V8] Use v8::V8::AddHiddenReferences instead of SetHiddenValue
        https://bugs.webkit.org/show_bug.cgi?id=80880

        Reviewed by Adam Barth.

        We used to add a hidden property in the getter to the returned wrapper.
        With this patch we instead handle the liveness of the wrapper in the GC phase by
        calling v8::V8::AddHiddenReference.

        To reduce the amount of custom code we need, the V8 code generator now supports
        GenerateIsReachable (as well as CustomIsReachable) which, even though different
        from the JSC attribute, is used in the same cases and takes the same values (even though
        at the moment not all JSC values are supported by V8).

        No new tests. Covered by existing tests.

        * Target.pri:
        * UseV8.cmake:
        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GetGenerateIsReachable):
        (GetCustomIsReachable):
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (NeedsToVisitDOMWrapper):
        (GetGenerateIsReachable):
        (GetCustomIsReachable):
        (GenerateVisitDOMWrapper):
        (GenerateHeader):
        (GenerateNamedConstructorCallback):
        (GenerateImplementation):
        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8Float64Array.h:
        (V8Float64Array):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
        (V8TestActiveDOMObject):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
        (V8TestCustomNamedGetter):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventConstructor.h:
        (V8TestEventConstructor):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestEventTarget.h:
        (V8TestEventTarget):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestInterface.h:
        (V8TestInterface):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
        (V8TestMediaQueryListListener):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
        (V8TestNamedConstructor):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
        (V8TestSerializedScriptValueInterface):
        * bindings/v8/NPV8Object.cpp:
        (WebCore::npObjectTypeInfo):
        * bindings/v8/V8GCController.cpp:
        (WebCore::GrouperVisitor::visitDOMWrapper):
        * bindings/v8/WrapperTypeInfo.h:
        (WebCore):
        (WrapperTypeInfo):
        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        * bindings/v8/custom/V8StyleSheetCustom.cpp:
        (WebCore::toV8):
        * css/CSSStyleSheet.idl:
        * css/StyleSheet.idl:
        * dom/DOMStringMap.idl:
        * dom/NamedNodeMap.idl:
        * html/DOMTokenList.idl:
        * html/track/TextTrackList.idl:

2012-03-12  Kentaro Hara  <haraken@chromium.org>

        [V8][Refactoring] Make getWrapperSlow() and getExistingWrapperSlow() same
        https://bugs.webkit.org/show_bug.cgi?id=80916

        Reviewed by Adam Barth.

        This is one of the steps for fixing bug 80841.
        This patch makes getWrapperSlow() and getExistingWrapperSlow() same.
        In the next patch, we will remove getExistingWrapper() and getExistingWrapperSlow().

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getWrapperSlow):

2012-03-12  Kentaro Hara  <haraken@chromium.org>

        [V8] Refactor some header includes in V8 bindings
        https://bugs.webkit.org/show_bug.cgi?id=80913

        Reviewed by Adam Barth.

        This patch refactors some header includes in V8 bindings
        required for fixing bug 80841.

        No tests. No change in behavior.

        * bindings/v8/DOMDataStore.h:
        (DOMDataStore):
        * bindings/v8/V8DOMMap.h:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::isolatedContext):
        * bindings/v8/V8IsolatedContext.h:
        (WebCore::V8IsolatedContext::getEntered):
        (V8IsolatedContext):
        * bindings/v8/WorldContextHandle.cpp:

2012-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110501.
        http://trac.webkit.org/changeset/110501
        https://bugs.webkit.org/show_bug.cgi?id=80908

        Broke the Apple-Win build (Requested by abarth on #webkit).

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/DirectoryEntry.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.cpp.
        (WebCore):
        (WebCore::DirectoryEntry::DirectoryEntry):
        (WebCore::DirectoryEntry::createReader):
        (WebCore::DirectoryEntry::getFile):
        (WebCore::DirectoryEntry::getDirectory):
        (WebCore::DirectoryEntry::removeRecursively):
        * fileapi/DirectoryEntry.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.h.
        (WebCore):
        (DirectoryEntry):
        (WebCore::DirectoryEntry::create):
        (WebCore::DirectoryEntry::isDirectory):
        * fileapi/DirectoryEntry.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.idl.
        * fileapi/DirectoryEntrySync.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.cpp.
        (WebCore):
        (WebCore::DirectoryEntrySync::DirectoryEntrySync):
        (WebCore::DirectoryEntrySync::createReader):
        (WebCore::DirectoryEntrySync::getFile):
        (WebCore::DirectoryEntrySync::getDirectory):
        (WebCore::DirectoryEntrySync::removeRecursively):
        * fileapi/DirectoryEntrySync.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.h.
        (WebCore):
        (DirectoryEntrySync):
        (WebCore::DirectoryEntrySync::create):
        (WebCore::DirectoryEntrySync::isDirectory):
        * fileapi/DirectoryEntrySync.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.idl.
        * fileapi/DirectoryReader.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.cpp.
        (WebCore):
        (WebCore::DirectoryReader::DirectoryReader):
        (WebCore::DirectoryReader::readEntries):
        * fileapi/DirectoryReader.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.h.
        (WebCore):
        (DirectoryReader):
        (WebCore::DirectoryReader::create):
        (WebCore::DirectoryReader::filesystem):
        * fileapi/DirectoryReader.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.idl.
        * fileapi/DirectoryReaderBase.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderBase.h.
        (WebCore):
        (DirectoryReaderBase):
        (WebCore::DirectoryReaderBase::filesystem):
        (WebCore::DirectoryReaderBase::setHasMoreEntries):
        (WebCore::DirectoryReaderBase::DirectoryReaderBase):
        * fileapi/DirectoryReaderSync.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.cpp.
        (WebCore):
        (WebCore::DirectoryReaderSync::DirectoryReaderSync):
        (WebCore::DirectoryReaderSync::readEntries):
        * fileapi/DirectoryReaderSync.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.h.
        (WebCore):
        (DirectoryReaderSync):
        (WebCore::DirectoryReaderSync::create):
        * fileapi/DirectoryReaderSync.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.idl.

2012-03-12  Nico Weber  <thakis@chromium.org>

        [chromium/mac] Make sure libWebKitSystemInterface.a doesn't contain ppc object files.
        https://bugs.webkit.org/show_bug.cgi?id=80902

        Reviewed by Adam Barth.

        Follow-up to http://codereview.chromium.org/9638015/

        No intended behavior change.

        * WebCore.gyp/mac/adjust_visibility.sh:

2012-03-12  Jer Noble  <jer.noble@apple.com>

        WebCore: Add support for AudioNode "tailTime()" and "latencyTime()"
        https://bugs.webkit.org/show_bug.cgi?id=74750

        Reviewed by Chris Rogers.

        No new tests; optimization of existing code path, so covered by existing tests.

        To account for AudioNodes which may generate non-silent audio when fed silent input
        for a certain amount of time after the last non-silent audio data, add two new virtual
        functions tailTime() and latencyTime().

        * webaudio/AudioNode.h:
        (WebCore::AudioNode::tailTime): Added. Pure virtual.
        (WebCore::AudioNode::latencyTime): Added. Pure virtual.
        * platform/audio/AudioProcessor.h:
        (WebCore::AudioProcessor::tailTime): Added. Pure virtual.
        (WebCore::AudioProcessor::latencyTime): Added. Pure virtual.
        * platform/audio/AudioDSPKernel.h:
        (WebCore::AudioDSPKernel::tailTime): Added. Pure virtual.
        (WebCore::AudioDSPKernel::latencyTime): Added. Pure virtual.

        Added tailTime() and latencyTime() overrides to the following classes:
        * platform/audio/AudioDSPKernelProcessor.cpp:
        (WebCore::AudioDSPKernelProcessor::tailTime):
        (WebCore::AudioDSPKernelProcessor::latencyTime):
        * platform/audio/AudioDSPKernelProcessor.h:
        * platform/audio/DynamicsCompressor.h:
        (WebCore::DynamicsCompressor::tailTime):
        (WebCore::DynamicsCompressor::latencyTime):
        * platform/audio/EqualPowerPanner.h:
        * platform/audio/HRTFPanner.cpp:
        (WebCore::HRTFPanner::tailTime):
        (WebCore::HRTFPanner::latencyTime):
        * platform/audio/HRTFPanner.h:
        * platform/audio/Panner.h:
        * webaudio/AudioBasicProcessorNode.cpp:
        (WebCore::AudioBasicProcessorNode::tailTime):
        (WebCore::AudioBasicProcessorNode::latencyTime):
        * webaudio/AudioBasicProcessorNode.h:
        * webaudio/AudioChannelMerger.h:
        * webaudio/AudioChannelSplitter.h:
        * webaudio/AudioDestinationNode.h:
        * webaudio/AudioGainNode.h:
        * webaudio/AudioPannerNode.h:
        * webaudio/AudioSourceNode.h:
        * webaudio/BiquadDSPKernel.cpp:
        (WebCore::BiquadDSPKernel::tailTime):
        (WebCore::BiquadDSPKernel::latencyTime):
        * webaudio/BiquadDSPKernel.h:
        * webaudio/BiquadFilterNode.h:
        * webaudio/ConvolverNode.cpp:
        (WebCore::ConvolverNode::tailTime):
        (WebCore::ConvolverNode::latencyTime):
        * webaudio/ConvolverNode.h:
        * webaudio/DelayDSPKernel.cpp:
        (WebCore::DelayDSPKernel::tailTime):
        (WebCore::DelayDSPKernel::latencyTime):
        * webaudio/DelayDSPKernel.h:
        * webaudio/DelayProcessor.h:
        * webaudio/DynamicsCompressorNode.cpp:
        (WebCore::DynamicsCompressorNode::tailTime):
        (WebCore::DynamicsCompressorNode::latencyTime):
        * webaudio/DynamicsCompressorNode.h:
        * webaudio/JavaScriptAudioNode.cpp:
        (WebCore::JavaScriptAudioNode::tailTime):
        (WebCore::JavaScriptAudioNode::latencyTime):
        * webaudio/JavaScriptAudioNode.h:
        * webaudio/RealtimeAnalyserNode.h:
        * webaudio/WaveShaperDSPKernel.h:

        The following functions were added as support for the new AudioNode and AudioProcessor functions:
        * platform/audio/Biquad.cpp:
        (WebCore::Biquad::latencyFrames):
        * platform/audio/Biquad.h:
        * platform/audio/Reverb.cpp:
        (WebCore::Reverb::latencyFrames):
        * platform/audio/ReverbConvolver.h:
        (WebCore::ReverbConvolver::latencyFrames):

        The following functions were made const-correct:
        * platform/audio/HRTFPanner.h:
        (WebCore::HRTFPanner::fftSize):
        * platform/audio/Reverb.h:
        (WebCore::Reverb::impulseResponseLength):

2012-03-12  Anders Carlsson  <andersca@apple.com>

        WebTileLayers should be opaque
        https://bugs.webkit.org/show_bug.cgi?id=80907
        <rdar://problem/11034390>

        Reviewed by Andreas Kling.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::createTileLayer):
        Call -[CALayer setOpaque:] on the newly created WebTileLayer.

2012-03-12  Emil A Eklund  <eae@chromium.org>

        Fix rounding in scrollbar rect calculations
        https://bugs.webkit.org/show_bug.cgi?id=80894

        Reviewed by Eric Seidel.

        Fix usage of subpixel units in RenderScrollbar::buttonRect and
        RenderScrollbar::trackRect.

        No new tests, no new functionality.

        * rendering/LayoutTypes.h:
        (WebCore::isIntegerValue):
        Add dummy isIntegerValue function, will be replaced with actual
        implementation once LayoutUnit is remapped to FractionalLayoutUnit.
        
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::buttonRect):
        (WebCore::RenderScrollbar::trackRect):
        Change rect calculations to use pixel snapped values.

        * rendering/RenderScrollbarPart.h:
        (RenderScrollbarPart):
        (WebCore::RenderScrollbarPart::marginTop):
        (WebCore::RenderScrollbarPart::marginBottom):
        (WebCore::RenderScrollbarPart::marginLeft):
        (WebCore::RenderScrollbarPart::marginRight):
        Add ASSERT to ensure that scrollbar parts are always aligned to device
        pixels.

2012-03-12  C Anthony Risinger  <anthony@xtfx.me>

        [GObject IDL Parser] STRING argument should be HASHREF
        https://bugs.webkit.org/show_bug.cgi?id=78877

        Reviewed by Kentaro Hara.

        * bindings/scripts/CodeGeneratorGObject.pm:
        (GenerateFunctions): extendedAttributes are hashes, not strings

2012-03-12  Jessie Berlin  <jberlin@apple.com>

        More Windows build fixing.

        Use fully qualified paths for WTF headers.

        * platform/graphics/cg/ImageSourceCGWin.cpp:
        * platform/graphics/win/UniscribeController.h:
        * platform/win/DragImageCGWin.cpp:
        * platform/win/DragImageCairoWin.cpp:
        * platform/win/DragImageWin.cpp:
        * rendering/RenderThemeSafari.cpp:

2012-03-12  Mark Pilgrim  <pilgrim@chromium.org>

        Move DirectoryEntry and DirectoryReader to new Modules/filesystem/ directory
        https://bugs.webkit.org/show_bug.cgi?id=80625

        Reviewed by Adam Barth.

        No new tests, all existing tests pass.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Modules/filesystem: Added.
        * Modules/filesystem/DirectoryEntry.cpp: Copied from Source/WebCore/fileapi/DirectoryEntry.cpp.
        * Modules/filesystem/DirectoryEntry.h: Copied from Source/WebCore/fileapi/DirectoryEntry.h.
        * Modules/filesystem/DirectoryEntry.idl: Copied from Source/WebCore/fileapi/DirectoryEntry.idl.
        * Modules/filesystem/DirectoryEntrySync.cpp: Copied from Source/WebCore/fileapi/DirectoryEntrySync.cpp.
        * Modules/filesystem/DirectoryEntrySync.h: Copied from Source/WebCore/fileapi/DirectoryEntrySync.h.
        * Modules/filesystem/DirectoryEntrySync.idl: Copied from Source/WebCore/fileapi/DirectoryEntrySync.idl.
        * Modules/filesystem/DirectoryReader.cpp: Copied from Source/WebCore/fileapi/DirectoryReader.cpp.
        * Modules/filesystem/DirectoryReader.h: Copied from Source/WebCore/fileapi/DirectoryReader.h.
        * Modules/filesystem/DirectoryReader.idl: Copied from Source/WebCore/fileapi/DirectoryReader.idl.
        * Modules/filesystem/DirectoryReaderBase.h: Copied from Source/WebCore/fileapi/DirectoryReaderBase.h.
        * Modules/filesystem/DirectoryReaderSync.cpp: Copied from Source/WebCore/fileapi/DirectoryReaderSync.cpp.
        * Modules/filesystem/DirectoryReaderSync.h: Copied from Source/WebCore/fileapi/DirectoryReaderSync.h.
        * Modules/filesystem/DirectoryReaderSync.idl: Copied from Source/WebCore/fileapi/DirectoryReaderSync.idl.
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/DirectoryEntry.cpp: Removed.
        * fileapi/DirectoryEntry.h: Removed.
        * fileapi/DirectoryEntry.idl: Removed.
        * fileapi/DirectoryEntrySync.cpp: Removed.
        * fileapi/DirectoryEntrySync.h: Removed.
        * fileapi/DirectoryEntrySync.idl: Removed.
        * fileapi/DirectoryReader.cpp: Removed.
        * fileapi/DirectoryReader.h: Removed.
        * fileapi/DirectoryReader.idl: Removed.
        * fileapi/DirectoryReaderBase.h: Removed.
        * fileapi/DirectoryReaderSync.cpp: Removed.
        * fileapi/DirectoryReaderSync.h: Removed.
        * fileapi/DirectoryReaderSync.idl: Removed.

2012-03-12  Brady Eidson  <beidson@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=80903
        InspectorDOMStorageAgent creates a Storage object which is a DOMWindowProperty - Should use the StorageArea directly

        Reviewed by Tim Hatcher.

        No new tests. (No behavior change)

        Changed to hold the StorageArea directly and added a Frame* accessor:
        * inspector/InspectorDOMStorageResource.h:
        (WebCore::InspectorDOMStorageResource::create):
        (WebCore::InspectorDOMStorageResource::storageArea):
        (WebCore::InspectorDOMStorageResource::frame):
        (InspectorDOMStorageResource):

        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):

        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
        (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):

2012-03-12  Brian Salomon  <bsalomon@google.com>

        [Skia] Release CGImage used to apply color space conversion to SkBitmap
        https://bugs.webkit.org/show_bug.cgi?id=80892

        Reviewed by Adam Barth.

        Regressions should be covered by any test that does image decode on the mac.

        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
        (WebCore::resolveColorSpace):

2012-03-12  Levi Weintraub  <leviw@chromium.org>

        Update LayoutUnit usage in RenderMathML* classes
        https://bugs.webkit.org/show_bug.cgi?id=77916

        Reviewed by Eric Seidel.

        The purpose of this patch is to ensure MathML rendering does not regress when
        we switch to sub-pixel layout. A subsequent patch can likely improve MathML's
        rendering when zoom is applied.

        To accomplish this without changing the current heuristics for positioning,
        we continue to use integers for sizes and locations, using pixel snapping
        when communicating with other Rendering classes.

        No new tests. No change in behavior.

        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::paint): Cleaning up debug painting to be on
        pixel boundaries instead of subpixel.
        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::paint): Reverting to integers for determining
        the vertical offset.
        (WebCore::RenderMathMLFraction::baselinePosition):
        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint): Using integers for height and width
        and only accumulating pixel snapped values.
        (WebCore::RenderMathMLRoot::layout): Setting padding with integers to
        avoid inconsistent rounding based on the root's location.
        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::layout):
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint): See RenderMathMLRoot.
        (WebCore::RenderMathMLSquareRoot::layout): Ditto.
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::getOffsetHeight):
        (WebCore::RenderMathMLUnderOver::layout):

2012-03-12  Anders Carlsson  <andersca@apple.com>

        Use smaller tiles for right and bottom edges
        https://bugs.webkit.org/show_bug.cgi?id=80893
        <rdar://problem/11032873>

        Reviewed by Sam Weinig.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::rectForTileIndex):
        Intersect the rect with the tile cache bounds.

        (WebCore::TileCache::revalidateTiles):
        Resize already existing tiles if needed.

        (WebCore::TileCache::createTileLayer):
        This now takes a tile rect. Use setFrame instead of setting the bounds and position separately.

2012-03-12  Enrica Casucci  <enrica@apple.com>

        WebKit2: remove NSPasteboard access for promised data from the WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=80073
        
        Reviewed by Alexey Proskuryakov.

        * WebCore.exp.in: Added two exported methods.
        * platform/mac/FileSystemMac.mm:
        (WebCore::setMetaData): Last parameter in the call to wkSetMetadataURL
        needs to be wrapped in String before casting to NSString.

2012-03-12  Alexey Proskuryakov  <ap@apple.com>

        clang build fix

        * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::convertToLength): Reorder
        boolean operators, so that a warning about "use of logical || with constant operand" doesn't
        appear.

2012-03-12  Abhishek Arya  <inferno@chromium.org>

        Crash in Text::splitText due to mutation events.
        https://bugs.webkit.org/show_bug.cgi?id=80828

        Reviewed by Ryosuke Niwa.

        Test: fast/text/split-text-crash.xhtml

        * dom/Range.cpp:
        (WebCore::Range::insertNode): replace m_start.container() calls with ref protected node.

2012-03-12  Kenneth Russell  <kbr@google.com>

        Null argument to texSubImage2D crashes
        https://bugs.webkit.org/show_bug.cgi?id=80778

        Reviewed by Dean Jackson.

        Generate INVALID_VALUE OpenGL error upon receiving null argument.
        Final behavior still being decided on public-webgl mailing list.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::validateTexFuncData):
        * html/canvas/WebGLRenderingContext.h:

2012-03-12  Luke Macpherson   <macpherson@chromium.org>

        Remove CSSStyleSelector's convertToLength method and use CSSPrimitiveValue's version directly.
        https://bugs.webkit.org/show_bug.cgi?id=80484

        Reviewed by Julien Chaffraix.

        No new tests / code cleanup only.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::convertToLength):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyClip::convertToLength):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-12  Stephen White  <senorblanco@chromium.org>

        [chromium] Restore canvas2D acceleration after context loss.
        https://bugs.webkit.org/show_bug.cgi?id=80629

        Reviewed by James Robinson.

        Covered by existing canvas tests, and manual testing (killing the GPU
        process).

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::create):
        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::setNeedsDisplayRect):
        (WebCore::Canvas2DLayerChromium::drawsContent):
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::applyFilters):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (SharedGraphicsContext3DImpl):
        (WebCore::SharedGraphicsContext3DImpl::SharedGraphicsContext3DImpl):
        (WebCore::SharedGraphicsContext3DImpl::get):
        (WebCore):
        (WebCore::SharedGraphicsContext3D::get):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        (SharedGraphicsContext3D):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::createAcceleratedCanvas):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        (WebCore):
        * platform/graphics/skia/PlatformContextSkia.h:
        (WebCore):
        (WebCore::PlatformContextSkia::isAccelerated):
        (WebCore::PlatformContextSkia::setAccelerated):
        (PlatformContextSkia):

2012-03-12  George Staikos  <staikos@webkit.org>

        It doesn't make sense to return const unsigned, and GCC warns about it.
        Remove const.
        https://bugs.webkit.org/show_bug.cgi?id=80790

        Reviewed by Antonio Gomes.

        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h:
        (WebCore::ComplexTextController::length):
        (WebCore::ComplexTextController::numCodePoints):
        (WebCore::ComplexTextController::offsetX):

2012-03-12  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=80888
        Clear background for NSTextFieldCell is unreliable and not necessary
        -and corresponding-
        <rdar://problem/10663710>

        Reviewed by Dan Bernstein.

        With http://trac.webkit.org/changeset/104240 I thought it was necessary to 
        make NSTextFieldCells draw with a clear background in order to allow styled 
        text fields. That is not actually necessary; we just had a different bug 
        where isControlStyled() was only checking for styled borders on text fields. 
        Text fields can also be styled with backgrounds, so they need the full check.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::isControlStyled):
        (WebCore::RenderThemeMac::textField):

2012-03-12  Scott Byer  <scottbyer@chromium.org>

        Cleanup obsolete files.
        https://bugs.webkit.org/show_bug.cgi?id=80737

        Reviewed by James Robinson.

        No new code.

        * GNUmakefile.list.am:
        * PlatformWinCE.cmake:
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * platform/ScrollAnimatorWin.cpp: Removed.
        * platform/ScrollAnimatorWin.h: Removed.

2012-03-12  Gregg Tavares  <gman@google.com>

        Make texImage2D error for wrong size ArrayBufferView more helpful
        https://bugs.webkit.org/show_bug.cgi?id=80868
        
        It took me about 30 minutes to figure out my texImage2D was failing
        not because my ArrayBufferView was too small but because the default
        alignment is 4. A better error message might help devs find this issue
        faster.

        Reviewed by Kenneth Russell.

        No new tests as no new functionality.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::validateTexFuncData):

2012-03-12  Tim Horton  <timothy_horton@apple.com>

        Infinite repaint loop with SVGImageCache and deferred repaint timers
        https://bugs.webkit.org/show_bug.cgi?id=78315
        <rdar://problem/10651634>

        Reviewed by Nikolas Zimmermann.

        Only defer image redraw on a timer if we're in layout. This breaks
        the repaint loop while still preventing us from drawing inside layout.

        Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
        preventing deferred repaint timers from being started during that process.

        No new tests, as the problem only occurs in a nonstandard configuration.

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::reset):
        (WebCore::FrameView::repaintContentRectangle):
        (WebCore::FrameView::endDeferredRepaints):
        (WebCore::FrameView::startDeferredRepaintTimer):
        (WebCore):
        (WebCore::FrameView::doDeferredRepaints):
        (WebCore::FrameView::deferredRepaintTimerFired):
        (WebCore::FrameView::beginDisableRepaints):
        (WebCore::FrameView::endDisableRepaints):
        * page/FrameView.h:
        (FrameView):
        (WebCore::FrameView::repaintsDisabled):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::shouldRepaint):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::drawSVGToImageBuffer):
        (WebCore::SVGImage::draw):
        (WebCore::SVGImage::frameView):
        (WebCore):
        * svg/graphics/SVGImage.h:
        (WebCore):
        * svg/graphics/SVGImageCache.cpp:
        (WebCore::SVGImageCache::imageContentChanged):
        (WebCore::SVGImageCache::redraw):
        (WebCore::SVGImageCache::redrawTimerFired):
        (WebCore):
        * svg/graphics/SVGImageCache.h:
        (SVGImageCache):

2012-03-12  Adam Klein  <adamk@chromium.org>

        [MutationObservers] Enforce a consistent order of MutationRecord delivery
        https://bugs.webkit.org/show_bug.cgi?id=80549

        Reviewed by Ojan Vafai.

        Mutations should be delivered in order of creation.

        Tests: fast/mutation/create-during-delivery.html
               fast/mutation/delivery-order.html
               fast/mutation/mutate-during-delivery.html

        * dom/WebKitMutationObserver.cpp:
        (WebCore):
        (WebCore::WebKitMutationObserver::ObserverLessThan::operator()): Functor for use with std::sort.
        (WebCore::WebKitMutationObserver::create):
        (WebCore::WebKitMutationObserver::WebKitMutationObserver):
        (WebCore::WebKitMutationObserver::deliverAllMutations): Move observers into a sorted vector before delivery.
        * dom/WebKitMutationObserver.h: Add a "priority" member which monotonically increases with each construction.

2012-03-12  Nat Duca  <nduca@chromium.org>

        [Chromium] Force compositeAndReadback through regular scheduling flow
        https://bugs.webkit.org/show_bug.cgi?id=77049

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCFrameRateController.cpp:
        (WebCore::CCFrameRateController::onTimerTick):
        * platform/graphics/chromium/cc/CCFrameRateController.h:
        (CCFrameRateControllerClient):
        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::setNeedsForcedCommit):
        (WebCore):
        (WebCore::CCScheduler::vsyncTick):
        * platform/graphics/chromium/cc/CCScheduler.h:
        (CCScheduler):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
        (WebCore::CCSchedulerStateMachine::nextAction):
        (WebCore::CCSchedulerStateMachine::updateState):
        (WebCore::CCSchedulerStateMachine::setNeedsForcedCommit):
        (WebCore):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
        (CCSchedulerStateMachine):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::CCThreadProxy):
        (WebCore::CCThreadProxy::compositeAndReadback):
        (WebCore::CCThreadProxy::requestReadbackOnImplThread):
        (WebCore::CCThreadProxy::forceBeginFrameOnImplThread):
        (WebCore::CCThreadProxy::scheduledActionBeginFrame):
        (WebCore::CCThreadProxy::beginFrame):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):
        (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
        (BeginFrameAndCommitState):

2012-03-12  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Handle LevelDB database corruption
        https://bugs.webkit.org/show_bug.cgi?id=79413

        Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.

        Reviewed by Tony Chang.

        Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
        (WebCore::IDBLevelDBBackingStore::open):
        * platform/leveldb/LevelDBDatabase.cpp:
        (WebCore::LevelDBDatabase::destroy):
        (WebCore):
        * platform/leveldb/LevelDBDatabase.h:
        (LevelDBDatabase):

2012-03-11  Shawn Singh  <shawnsingh@chromium.org>

        Fix regression on fast/table/table-row-compositing-repaint-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=80804

        Reviewed by Simon Fraser.

        Covered by existing tests.

        http://trac.webkit.org/changeset/110401/ accidentally caused
        fast/table/table-row-compositing-repaint-crash.html to fail.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):

2012-03-12  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc: enable mixed percent/absolute for font
        https://bugs.webkit.org/show_bug.cgi?id=80813

        Reviewed by Ojan Vafai.

        Add support for mixed percent/absolute expressions to the font handling class.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyFontSize::applyValue):

2012-03-12  Andreas Kling  <awesomekling@apple.com>

        Restore Attr::style() functionality.
        <http://webkit.org/b/80678>
        <rdar://problem/10933904>

        Reviewed by Antti Koivisto.

        The neutering of Attr::style() in r106740 broke some internal clients of the Obj-C API,
        so this was definitely premature.

        Since we no longer have a per-Attribute style object, synthesize one in style() and
        hang it off of the Attr. This grows Attr by one pointer, but it's a low-volume object
        so it shouldn't matter much.

        We recreate the StylePropertySet object on every call to style(), to avoid complicating
        things with custom invalidation code.

        * dom/Attr.cpp:
        (WebCore::Attr::style):
        * dom/Attr.h:
        * dom/StyledElement.h:
        (WebCore::StyledElement::collectStyleForAttribute):

2012-03-12  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r109285): Crash in WebCore::Document::nodeChildrenWillBeRemoved
        https://bugs.webkit.org/show_bug.cgi?id=80578

        Reviewed by Andreas Kling.

        Test: svg/css/style-change-crash.html

        * dom/Element.cpp:
        (WebCore::Element::setAttribute):
        (WebCore::Element::setAttributeInternal):
        * dom/Element.h:
        (Element):
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::addAttribute):
        (WebCore::ElementAttributeData::removeAttribute):
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateStyleAttribute):

2012-03-12  Sadrul Habib Chowdhury  <sadrul@chromium.org>

        Touch event handler count is not updated when adding handlers to the window.
        https://bugs.webkit.org/show_bug.cgi?id=80756

        Touch event handlers added to the window needs to be included when counting the number of touch event
        handlers. This makes touch event handler counting identical to wheel event handler counting.

        Reviewed by Anders Carlsson.

        Test: fast/events/touch/touch-handler-count.html

        * dom/EventNames.h:
        (EventNames):
        (WebCore::EventNames::isTouchEventType):
        * dom/Node.cpp:
        (WebCore):
        (WebCore::tryAddEventListener):
        (WebCore::tryRemoveEventListener):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        * testing/Internals.cpp:
        (WebCore::Internals::touchEventHandlerCount):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-12  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: extract ResourceScriptMapping from MainScriptMapping.
        https://bugs.webkit.org/show_bug.cgi?id=80834

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ScriptMapping.js:
        (WebInspector.ResourceScriptMapping):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeListChanged):
        (WebInspector.ResourceScriptMapping.prototype.reset):
        (WebInspector.MainScriptMapping):
        (WebInspector.MainScriptMapping.prototype.rawLocationToUILocation):
        (WebInspector.MainScriptMapping.prototype.createLiveLocation):
        (WebInspector.MainScriptMapping.prototype._registerLiveLocation):
        (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
        (WebInspector.MainScriptMapping.prototype._updateLiveLocations):
        (WebInspector.MainScriptMapping.prototype.uiSourceCodeList):
        (WebInspector.MainScriptMapping.prototype.addScript):
        (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
        (WebInspector.MainScriptMapping.prototype.setFormatSource):
        (WebInspector.MainScriptMapping.prototype.forceUpdateSourceMapping):
        (WebInspector.MainScriptMapping.prototype.reset):

2012-03-12  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: recognize Float*Array and Int*Array as arrays.
        https://bugs.webkit.org/show_bug.cgi?id=80850

        Reviewed by Vsevolod Vlasov.

        Test: inspector/console/console-external-array.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::type):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::typeCallback):

2012-03-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [TexMapGL] Pixel-align the transform of textures that fit pixel-for-pixel on the frame buffer.
        https://bugs.webkit.org/show_bug.cgi?id=80848

        Reviewed by Noam Rosenthal.

        When rendering a transformed texture on the screen with a fractional
        coordinate with linear filtering, the resulting pixel will be blended from
        the texels around this fractional position according to their cover ratio.
        This produces a slight blur of pixels which give no benefit when rendering
        a texture that isn't scaled.

        This patch offsets the transform by rounding the translation part of the
        layer's transform to align the result to integer coordinates.
        Applying the adjustment on the layer transform makes sure that all the tiles
        get the same adjustment.

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::drawTexture):
        * platform/graphics/texmap/TextureMapperGL.h:
        (WebCore::BitmapTextureGL::textureSize):

2012-03-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [TexMapGL] Use textures sized exactly to their contents.
        https://bugs.webkit.org/show_bug.cgi?id=80845

        Reviewed by Noam Rosenthal.

        This fixes a regression introduced in r108273 as well as the bug it fixed.
        The regressing behavior was that textures were rendered shrunk by 1 pixel
        and thus would appear blurry on the screen.
        The original problem was that garbage contents would appear on filtered
        textures since we would reuse textures of different sizes by giving them
        a slightly bigger size.

        This patch will reuse the texture only if the size matches exactly to allow
        edge clamping to work properly when redering with linear filtering.
        Reusing textures would only saves us the allocation of graphic memory
        anyway, which is negligeable compared to texture upload.

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::BitmapTextureGL::didReset):
        * platform/graphics/texmap/TextureMapperGL.h:
        (BitmapTextureGL):
        * platform/graphics/texmap/TextureMapperShaderManager.cpp:
        (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::prepare):
        * platform/graphics/texmap/TextureMapperShaderManager.h:
        (TextureMapperShaderProgramOpacityAndMask):

2012-03-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [TexMap] Remove BitmapTexture::destroy.
        https://bugs.webkit.org/show_bug.cgi?id=80844

        Reviewed by Noam Rosenthal.

        Use the destructor directly instead.

        * platform/graphics/texmap/TextureMapper.h:
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::~BitmapTextureGL):
        * platform/graphics/texmap/TextureMapperGL.h:
        (BitmapTextureGL):
        * platform/graphics/texmap/TextureMapperImageBuffer.h:
        (WebCore::BitmapTextureImageBuffer::~BitmapTextureImageBuffer):

2012-03-12  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: DebuggerModel.Location should have scriptId property.
        https://bugs.webkit.org/show_bug.cgi?id=80830

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype.location):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.Location):
        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
        (WebInspector.DebuggerModel.prototype.createRawLocation):
        (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
        (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessagesToScript):
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._uiSourceCodeForResource):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
        (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter.locationToPosition):
        (WebInspector.ScriptFormatter.positionToLocation):
        (WebInspector.FormattedSourceMapping.prototype.originalToFormatted):
        (WebInspector.FormattedSourceMapping.prototype.formattedToOriginal):

2012-03-12  Dana Jansens  <danakj@chromium.org>

        [chromium] A couple early-outs for occlusion tracker
        https://bugs.webkit.org/show_bug.cgi?id=80742

        Reviewed by Adrienne Walker.

        Covered by existing tests.

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::::occluded):
        (WebCore::::unoccludedContentRect):

2012-03-12  Zeno Albisser  <zeno@webkit.org>

        [Qt][Mac] Build fails after adding WebCoreCFAutorelease(CFTypeRef) (r110360).
        https://bugs.webkit.org/show_bug.cgi?id=80840

        CoreFoundation/CFBase.h needs to be included to define the type CFTypeRef.

        Reviewed by Tor Arne Vestbø.

        * platform/mac/WebCoreObjCExtras.h:

2012-03-12  George Staikos  <staikos@webkit.org>

        Remove unused global static variable for BlackBerry.
        https://bugs.webkit.org/show_bug.cgi?id=80790

        Reviewed by Alexey Proskuryakov.

        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore):

2012-03-12  George Staikos  <staikos@webkit.org>

        Correct usage of NDEBUG to fix warnings on BlackBerry.
        https://bugs.webkit.org/show_bug.cgi?id=80790

        Reviewed by Alexey Proskuryakov.

        * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
        (WebCore::CookieDatabaseBackingStore::sendChangesToDatabase):
        * platform/blackberry/CookieManager.cpp:
        (WebCore::CookieManager::initiateCookieLimitCleanUp):

2012-03-12  Ilya Tikhonovsky  <loislo@chromium.org>

        Re-apply the patch after v8 roll to r11000.

        Web Inspector: move heap snapshot nodes data to external array.
        https://bugs.webkit.org/show_bug.cgi?id=79911

        Reviewed by Vsevolod Vlasov.

        Tests:
        heap-shapshot.html
        heap-shapshot-loader.html

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.Int32Array):
        (WebInspector.Int32Array.prototype.get array):
        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
        (WebInspector.HeapSnapshot):
        (WebInspector.HeapSnapshot.prototype._init):

2012-03-12  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Fix build with newer Qt 5.

        Reviewed by Tor Arne Vestbø.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::fileListNameForWidth): Use DefaultCodec instead of the
        deprecated CodecForTR.

2012-03-12  Hans Wennborg  <hans@chromium.org>

        Speech JavaScript API: SpeechRecognitionEvent
        https://bugs.webkit.org/show_bug.cgi?id=80513

        Reviewed by Adam Barth.

        Implement SpeechRecognitionEvent.
        (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)

        Test: fast/events/constructors/speech-recognition-event-constructor.html

        * Modules/speech/DOMWindowSpeech.idl:
        * Modules/speech/SpeechRecognitionEvent.cpp: Added.
        (WebCore):
        (WebCore::SpeechRecognitionEventInit::SpeechRecognitionEventInit):
        (WebCore::SpeechRecognitionEvent::create):
        (WebCore::SpeechRecognitionEvent::createResult):
        (WebCore::SpeechRecognitionEvent::createNoMatch):
        (WebCore::SpeechRecognitionEvent::createResultDeleted):
        (WebCore::SpeechRecognitionEvent::createError):
        (WebCore::SpeechRecognitionEvent::interfaceName):
        (WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent):
        * Modules/speech/SpeechRecognitionEvent.h: Added.
        (WebCore):
        (SpeechRecognitionEventInit):
        (SpeechRecognitionEvent):
        (WebCore::SpeechRecognitionEvent::result):
        (WebCore::SpeechRecognitionEvent::error):
        (WebCore::SpeechRecognitionEvent::resultIndex):
        (WebCore::SpeechRecognitionEvent::resultHistory):
        * Modules/speech/SpeechRecognitionEvent.idl:
        * WebCore.gypi:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEventEnabled):
        * bindings/v8/OptionsObject.cpp:
        (WebCore::OptionsObject::get):
        (WebCore):
        * bindings/v8/OptionsObject.h:
        (WebCore):
        (OptionsObject):
        * dom/EventNames.h:
        (WebCore):
        * dom/EventNames.in:

2012-03-12  Kent Tamura  <tkent@chromium.org>

        Use ICU C API instead of C++ API in LocalizedNumberICU
        https://bugs.webkit.org/show_bug.cgi?id=80815
        https://bugs.gentoo.org/show_bug.cgi?id=407401

        Reviewed by Hajime Morita.

        ICU 4.8 doesn't have kNumberStyle. We had better to use ICU C API in
        general to avoid such issues.

        This patch should not make any behavior change.

        * platform/text/LocalizedNumberICU.cpp:
        (WebCore::ICULocale::ICULocale):
        Change the argument type: icu::Locale -> const char*
        (WebCore::ICULocale::~ICULocale): Delete m_numberFormat with unum_close().
        (WebCore::ICULocale::create): Do not create icu::Locale.
        (WebCore::ICULocale::createForCurrentLocale): ditto.
        (WebCore::ICULocale::setDecimalSymbol):
        Use unum_getSymbol() instead of DecimalFormatSymbols::getSymbol().
        (WebCore::ICULocale::setDecimalTextAttribute):
        Added. A utility function to store prefixes and suffixes.
        (WebCore::ICULocale::initializeDecimalFormat):
        - unum_open(), instead of NumberFormat::createInstance().
        - Use C API symbols.
        - Cache positive/negative prefixes/suffixes.
        (WebCore::ICULocale::convertToLocalizedNumber): Use cached prefixes and suffixes.
        (WebCore::matches): Stop using template because we don't use UString anymore.
        (WebCore::ICULocale::detectSignAndGetDigitRange):
        - Use cached prefixes and suffixes.
        - Use String::startsWith() and endsWith().
        (WebCore::ICULocale::convertFromLocalizedNumber):
        * platform/text/LocalizedNumberICU.h:
        (ICULocale):

2012-03-11  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: decouple LiveLocation from RawSourceCode.
        https://bugs.webkit.org/show_bug.cgi?id=80785

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
        (WebInspector.PresentationCallFrame):
        (WebInspector.PresentationCallFrame.prototype.uiLocation):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
        * inspector/front-end/RawSourceCode.js:
        * inspector/front-end/ScriptMapping.js:
        (WebInspector.MainScriptMapping):
        (WebInspector.MainScriptMapping.prototype.createLiveLocation):
        (WebInspector.MainScriptMapping.prototype._registerLiveLocation):
        (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
        (WebInspector.MainScriptMapping.prototype._updateLiveLocations):
        (WebInspector.MainScriptMapping.prototype._uiSourceCodeListChanged):
        (WebInspector.MainScriptMapping.prototype.reset):
        (WebInspector.LiveLocation):
        (WebInspector.LiveLocation.prototype.init):
        (WebInspector.LiveLocation.prototype.dispose):
        (WebInspector.LiveLocation.prototype._update):

2012-03-11  Victor Carbune  <vcarbune@adobe.com>

        The main code structure for placing future text track cue rendering
        code and main outer rendering steps.
        https://bugs.webkit.org/show_bug.cgi?id=79746

        Reviewed by Eric Carlson.

        No new tests. Only refactoring, but some chromium tests require rebaselining
        and have been marked accordingly.

        * css/mediaControls.css:
        (::-webkit-media-controls): Changed the default display to -webkit-box, as
        captions need to always be rendered on top of the controls, if they are visible.
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
        Default position attribute is now relative, handled by the parent -webkit-box
        (video::-webkit-media-text-track-container): The position of the container is
        now relative, handled by -webkit-box.
        (video::-webkit-media-text-track-display): Adjusted text color to match
        the color required in the WebVTT spec (section 3.5.1 'color' property)
        * css/mediaControlsChromium.css:
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
        Default position attribute is now relative, handled by the parent -webkit-box

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added a timer
        for the webkit fade out transition event. This timer is required for setting
        the display property to 'none', when the fade out transition is over. Otherwise,
        captions would not be displayed at the bottom of the video.
        (WebCore::MediaControlPanelElement::startTimer): Added.
        (WebCore):
        (WebCore::MediaControlPanelElement::stopTimer): Added.
        (WebCore::MediaControlPanelElement::transitionTimerFired): Added. If the current
        state of the controls is transparent, the display property is set to 'none'.
        (WebCore::MediaControlPanelElement::makeOpaque): The inline display:'none' property
        is removed before the fade in transition.
        (WebCore::MediaControlPanelElement::makeTransparent): Added the timer start.
        (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement):
        Removed m_bottom as it is not needed anymore.
        (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Added. Main
        function for the rendering rules.
        (WebCore::MediaControlTextTrackContainerElement::updateSizes): The bottom position
        needs not to be set anymore.
        * html/shadow/MediaControlElements.h:
        (MediaControlPanelElement): Added timer internals.
        (MediaControlTextTrackContainerElement): Added updateDisplay() and removed unused
        variables.

        (WebCore):
        * html/shadow/MediaControlRootElement.cpp: Removed m_textTrackDisplay
        and duplicated code with MediaControlRootElementChromium (only minimum
        function calls to the main text track container)
        (WebCore::MediaControlRootElement::MediaControlRootElement):
        (WebCore::MediaControlRootElement::setMediaController):
        (WebCore::MediaControlRootElement::createTextTrackDisplay):
        (WebCore::MediaControlRootElement::updateTextTrackDisplay):

        * html/shadow/MediaControlRootElementChromium.cpp: Removed m_textTrackDisplay
        and duplicate code with MediaControlRootElement (only minimum function calls
        to the main text track container remained)
        (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
        (WebCore::MediaControlRootElementChromium::setMediaController):
        (WebCore::MediaControlRootElementChromium::createTextTrackDisplay):
        (WebCore::MediaControlRootElementChromium::updateTextTrackDisplay):

        (WebCore):
        * html/track/TextTrackCue.cpp: Enhanced structure for supporting more complex
        rendering required by the WebVTT spec.
        (WebCore::TextTrackCue::TextTrackCue):
        (WebCore::TextTrackCue::cueDidChange): Mark the display tree as obsolete, so that
        it needs to be re-computed.
        (WebCore::TextTrackCue::setIsActive): The display tree needs to be removed as
        soon as the cue becomes inactive. Adjusted this method to support the functionality.
        (WebCore):
        (WebCore::TextTrackCue::determineDisplayParameters): Added. This method will hold
        main positioning parameter computations for a TextTrackCue
        (WebCore):
        (WebCore::TextTrackCue::getDisplayTree): Added. This method returns the root node
        of the CSS boxes that need to be displayed on top of the video, for the current
        instance.
        * html/track/TextTrackCue.h:
        (WebCore):
        (TextTrackCue):

2012-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110359.
        http://trac.webkit.org/changeset/110359
        https://bugs.webkit.org/show_bug.cgi?id=80799

        SelectPopupMenuTest.ClickItem failure (Requested by ukai on
        #webkit).

        * platform/chromium/PopupListBox.cpp:
        (WebCore::PopupListBox::paint):
        (WebCore::PopupListBox::paintRow):
        (WebCore::PopupListBox::getRowHeight):
        * platform/chromium/PopupListBox.h:
        (PopupContainerSettings):
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore):
        (WebCore::PopupMenuChromium::show):
        * platform/chromium/PopupMenuChromium.h:
        (PopupMenuChromium):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::showPopup):

2012-03-11  Timothy Hatcher  <timothy@apple.com>

        Fix a crash opening the Web Inspector in WebKit1 clients.

        The call to InspectorFrontendClientLocal::setAttachedWindow is preformed really early in the process,
        causing it to crash almost every time. It should use evaluateOnLoad instead of evaluateAsBoolean.

        <rdar://problem/10951109> Crash when bringing up Web Inspector in WebKit1 client
        https://bugs.webkit.org/show_bug.cgi?id=80796

        Reviewed by Brian Weinstein.

        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::setAttachedWindow): Use evaluateOnLoad instead of evaluateAsBoolean.

2012-03-11  Shawn Singh  <shawnsingh@chromium.org>

        REGRESSION (r93614): scrolling div does not repaint
        https://bugs.webkit.org/show_bug.cgi?id=80641

        Reviewed by Simon Fraser.

        Test: compositing/repaint/newly-composited-repaint-rect.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking): When a layer
        becomes newly composited and creates its backing, the repaintRect
        may become invalid. This patch recomputes repaintRects in this
        case.

2012-03-11  George Staikos  <staikos@webkit.org>

        Enable JPEG encoding for BlackBerry.
        https://bugs.webkit.org/show_bug.cgi?id=80792

        Reviewed by Antonio Gomes.

        * PlatformBlackBerry.cmake:

2012-03-11  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: console.log attempts to substitute any "%" character in the message.
        https://bugs.webkit.org/show_bug.cgi?id=80504

        Reviewed by Vsevolod Vlasov.

        Test: inspector/console/console-string-format.html

        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
        * inspector/front-end/ProfileDataGridTree.js:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
        * inspector/front-end/utilities.js:

2012-03-11  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: use monotonically increasing time in timeline agent
        https://bugs.webkit.org/show_bug.cgi?id=80786

        Reviewed by Pavel Feldman.

        * bindings/v8/ScriptGCEvent.cpp:
        (WebCore::ScriptGCEvent::gcPrologueCallback):
        (WebCore::ScriptGCEvent::gcEpilogueCallback):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
        (WebCore::InspectorTimelineAgent::appendRecord):
        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
        (WebCore::InspectorTimelineAgent::timestamp):
        (WebCore):
        * inspector/InspectorTimelineAgent.h:
        (InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::timestamp):

2012-03-11  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Network panel does not show responses for application/json data
        https://bugs.webkit.org/show_bug.cgi?id=80684

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/network/async-xhr-json-mime-type.html

        * inspector/InspectorPageAgent.cpp:
        (WebCore::createXHRTextDecoder):
        (WebCore::InspectorPageAgent::cachedResourceContent):
        * inspector/InspectorPageAgent.h:
        * inspector/NetworkResourcesData.cpp:
        (WebCore::createOtherResourceTextDecoder):
        (WebCore):
        (WebCore::NetworkResourcesData::responseReceived):

2012-03-11  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: CSS content is not shown when stylesheet is loaded with invalid mime type in quirks mode.
        https://bugs.webkit.org/show_bug.cgi?id=80528

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/resource-tree/resource-tree-invalid-mime-type-css-content.html

        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::cachedResourceContent):

2012-03-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        [Qt] [WK2] Support threaded renderer in WK2
        https://bugs.webkit.org/show_bug.cgi?id=76661

        Reviewed by Noam Rosenthal.

        Add TransformationMatrix conversions from/to Qt QMatrix4x4. Used by Qt WebKit2
        rendering and tested by Qt WebKit2 API tests.

        * platform/graphics/qt/TransformationMatrixQt.cpp:
        (WebCore::TransformationMatrix::operator QMatrix4x4):
        (WebCore):
        (WebCore::TransformationMatrix::TransformationMatrix):
        * platform/graphics/transforms/TransformationMatrix.h:
        (TransformationMatrix):

2012-03-09  Jon Lee  <jonlee@apple.com>

        Rename NotificationPresenter to NotificationClient
        https://bugs.webkit.org/show_bug.cgi?id=80488
        <rdar://problem/10965558>

        Reviewed by Kentaro Hara.

        * notifications/NotificationCenter.h: Renamed from notifications/NotificationPresenter.h.

        Refactor to use renamed WebCore::NotificationClient.
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * notifications/Notification.cpp:
        (WebCore::Notification::Notification):
        (WebCore::Notification::show):
        (WebCore::Notification::cancel):
        (WebCore::Notification::contextDestroyed):
        (WebCore::Notification::finishLoading):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::create):
        (WebCore::NotificationCenter::NotificationCenter):
        (WebCore::NotificationCenter::checkPermission):
        (WebCore::NotificationCenter::requestPermission):
        (WebCore::NotificationCenter::disconnectFrame):
        * notifications/NotificationController.cpp:
        (WebCore::NotificationController::NotificationController):
        (WebCore::NotificationController::create):
        (WebCore::NotificationController::clientFrom):
        (WebCore::provideNotification):
        * notifications/NotificationController.h:
        (WebCore):
        (NotificationController):
        (WebCore::NotificationController::client):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitNotifications):
        * page/DOMWindow.h:
        (DOMWindow):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::webkitNotifications):
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::WorkerThread):
        * workers/WorkerThread.h:
        (WebCore):
        (WebCore::WorkerThread::getNotificationClient):
        (WebCore::WorkerThread::setNotificationClient):
        (WorkerThread):

2012-03-10  Julien Chaffraix  <jchaffraix@webkit.org>

        RenderObject with 'resize' different from 'none' should have a RenderLayer
        https://bugs.webkit.org/show_bug.cgi?id=80738

        Reviewed by James Robinson.

        Covered by fast/css/resize-single-axis.html.

        * rendering/RenderBox.h:
        (WebCore::RenderBox::requiresLayerForOverflowClip):
        The resizer logic is tied to RenderLayer so force a RenderLayer to be allocated if resize() != RESIZE_NONE.

2012-03-10  Stephen White  <senorblanco@chromium.org>

        Unreviewed, rolling out r110358.
        http://trac.webkit.org/changeset/110358
        https://bugs.webkit.org/show_bug.cgi?id=80706

        No improvement on specified benchmarks.

        * dom/ContainerNode.cpp:
        (WebCore::collectNodes):
        (WebCore::collectTargetNodes):

2012-03-10  MORITA Hajime  <morrita@google.com>

        ShadowTree uses weak iteration patterns
        https://bugs.webkit.org/show_bug.cgi?id=80572

        Reviewed by Dimitri Glazkov.

        Patch by Adam Barth.

        This patch moves various ShadowTree to using a better iteration pattern
        in which we collect all the ShadowRoots we're planning to iterate into
        a vector and then iterate over them.

        * dom/ShadowTree.cpp:
        (ShadowRootVector):
        (WebCore::ShadowRootVector::ShadowRootVector):
        (WebCore):
        (WebCore::ShadowTree::removeAllShadowRoots):
        (WebCore::ShadowTree::insertedIntoDocument):
        (WebCore::ShadowTree::removedFromDocument):
        (WebCore::ShadowTree::insertedIntoTree):
        (WebCore::ShadowTree::removedFromTree):
        (WebCore::ShadowTree::willRemove):

2012-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110363.
        http://trac.webkit.org/changeset/110363
        https://bugs.webkit.org/show_bug.cgi?id=80757

        link error in chromium: unresolved external symbol
        webkit_support::CreateScopedTempDirectory(void) (Requested by
        ukai_home on #webkit).

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::open):
        * platform/leveldb/LevelDBDatabase.cpp:
        * platform/leveldb/LevelDBDatabase.h:
        (LevelDBDatabase):

2012-03-09  Robert Kroeger  <rjkroege@chromium.org>

        Handle more Gesture* events by performing scrolls on the correct target ScrollableArea 
        https://bugs.webkit.org/show_bug.cgi?id=80311

        Implement GestureScroll* events via re-use of WheelEvent dispatch.

        Reviewed by James Robinson.

        Layout tests previously submited as https://bugs.webkit.org/show_bug.cgi?id=80201 and unit
        test added as part of this patch.

        * page/EventHandler.cpp:
        (WebCore::wheelGranularityToScrollGranularity): Refactoring.
        (WebCore):
        (WebCore::scrollNode):
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::clear):
        (WebCore::EventHandler::handleWheelEvent):
        (WebCore::EventHandler::defaultWheelEventHandler):
        (WebCore::EventHandler::handleGestureEvent): Added GestureScrollBegin & End.
        (WebCore::EventHandler::handleGestureTap):
        (WebCore::EventHandler::handleGestureScrollUpdate):
        (WebCore::EventHandler::handleGestureScrollCore): Refactoring.
        * page/EventHandler.h:
        (EventHandler):
        * platform/PlatformWheelEvent.h: Added additional scroll type.
        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::handleWheelEvent): Forward additional scroll type.
        * platform/ScrollAnimator.h:
        (WebCore):
        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone): Handle additional scroll type.
        (WebCore::ScrollAnimatorNone::fireUpAnAnimation): 
        (WebCore):
        (WebCore::ScrollAnimatorNone::scroll):
        * platform/ScrollAnimatorNone.h:
        (ScrollAnimatorNone):
        * platform/ScrollTypes.h: Added an additional scroll type.
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::scroll):

2012-03-09  Erik Arvidsson  <arv@chromium.org>

        [V8] Fix a fixme in v8 bindings
        https://bugs.webkit.org/show_bug.cgi?id=80734

        Reviewed by Kentaro Hara.

        No new tests. Covered by existing tests.

        * bindings/v8/V8Binding.cpp:
        (WebCore::toInt32):
        (WebCore::toUInt32):

2012-03-09  Lauro Neto  <lauro.neto@openbossa.org>

        [Qt] WebCore/Target.pri contains obsolete FileStreamProxy.h reference.
        https://bugs.webkit.org/show_bug.cgi?id=80730

        Reviewed by Tor Arne Vestbø.

        Build fix. Target.pri was still including old FileStreamProxy.h.

        * Target.pri:

2012-03-05 Cem Kocagil  <cem.kocagil@gmail.com>

        Pan scroll icon is painted at incorrect coordinates in frames
        https://bugs.webkit.org/show_bug.cgi?id=79378

        Convert client coordinates to parent ScrollView coordinates

        Reviewed by Antonio Gomes

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::paintPanScrollIcon):

2012-03-09  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Handle LevelDB database corruption
        https://bugs.webkit.org/show_bug.cgi?id=79413

        Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.

        Reviewed by Tony Chang.

        Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
        (WebCore::IDBLevelDBBackingStore::open):
        * platform/leveldb/LevelDBDatabase.cpp:
        (WebCore::LevelDBDatabase::destroy):
        (WebCore):
        * platform/leveldb/LevelDBDatabase.h:
        (LevelDBDatabase):

2012-03-09  Jessie Berlin  <jberlin@apple.com>

        Fix one of the Windows build warnings.

        * html/track/TextTrackCueList.idl:
        Add a newline to the end of the file.

2012-03-09  Tyler Abbott  <tabbott@rim.com>

        BlackBerry PlayBook doesn't sniff mime types
        https://bugs.webkit.org/show_bug.cgi?id=73869

        Reviewed by Rob Buis.

        Hook up MIMESniffing for BlackBerry. Override Content-Types will
        not be overriden. File extensions will be trusted when content
        is loaded from disk.

        No tests, BlackBerry tests are not yet present in webkit.org codebase.

        * PlatformBlackBerry.cmake:
        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::NetworkJob):
        (WebCore::NetworkJob::initialize):
        (WebCore::NetworkJob::handleNotifyDataReceived):
        (WebCore::NetworkJob::sendResponseIfNeeded):
        * platform/network/blackberry/NetworkJob.h:
        (NetworkJob):

2012-03-09  Enrica Casucci  <enrica@apple.com>

        Move WebNSURLExtras code down to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=80611

        Reviewed by Alexey Proskuryakov.

        * WebCore.exp.in: Added new exported functions.
        * WebCore.xcodeproj/project.pbxproj: Added WebCoreNSURLExtras.*
        * platform/FileSystem.h: Added setMetadataURL.
        * platform/mac/FileSystemMac.mm:
        (WebCore::setMetaData): Added.
        (WebCore::setMetadataURL): Added.
        * platform/mac/WebCoreNSStringExtras.h:
        * platform/mac/WebCoreNSStringExtras.mm:
        (hasCaseInsensitivePrefix): Added.
        * platform/mac/WebCoreNSURLExtras.h: Added.
        * platform/mac/WebCoreNSURLExtras.mm: Added.
        * platform/mac/WebCoreObjCExtras.h:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2012-03-09  Tim Dresser  <tdresser@chromium.org>

        [chromium] Increase size of Combo Box Options for touch and high DPI devices
        https://bugs.webkit.org/show_bug.cgi?id=80027

        Reviewed by Darin Fisher.

        Scale Combo box popups by defaultDeviceScaleFactor, and add padding to
        <option> elements when touch is enabled.

        Manually tested with --default-device-scale-factor=1,2 and unset.
        Each of these were tested with RuntimeEnabledFeatures::touchEnabled
        set to true and false.

        * platform/chromium/PopupListBox.cpp:
        (WebCore::PopupListBox::paint):
        (WebCore::PopupListBox::paintRow):
        (WebCore::PopupListBox::getRowHeight):
        * platform/chromium/PopupListBox.h:
        (PopupContainerSettings):
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore):
        (WebCore::PopupMenuChromium::show):
        * platform/chromium/PopupMenuChromium.h:
        (WebCore::PopupMenuChromium::optionPaddingForTouch):
        (WebCore::PopupMenuChromium::setOptionPaddingForTouch):
        (PopupMenuChromium):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::showPopup):

2012-03-09  Stephen White  <senorblanco@chromium.org>

        Improve ContainerNode collectNode() performance by reserving vector
        capacity up front.
        https://bugs.webkit.org/show_bug.cgi?id=80706

        Reviewed by Ryosuke Niwa.

        Covered by existing tests.  Performance will be evaluated based on
        Chromium's page_cycler_bloat-http, page_cycler_intl1, and
        dromaeo_domcore suites.

        * dom/ContainerNode.cpp:
        (WebCore::collectNodes):

2012-03-09  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/11018851> Crash in DisplayRefreshMonitor::notifyClients()
        https://bugs.webkit.org/show_bug.cgi?id=80740

        Reviewed by Sam Weinig.

        No test, since this race condition cannot be reproduced reliably.

        * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
        (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor): Changed to stop the display link
        first, then cancel any outstanding calls to refreshDisplayOnMainThread(). When doing things
        the other way around, the display link can fire after outstanding calls have been canceled,
        and enqueue new calls on the main thread, which will be dispatched after monitor destruction.

2012-03-09  Pratik Solanki  <psolanki@apple.com>

        Assertion failure in ResourceHandle::setDefersLoading(): d->m_defersLoading != defers
        https://bugs.webkit.org/show_bug.cgi?id=80543

        Reviewed by Geoffrey Garen.

        Reset m_defersLoading flag to the value from Page::defersCallbacks() in
        ResourceLoader::init(). This is because the resource could have been in the pending requests
        queue in ResourceLoadScheduler and would have missed out on state changes to this flag
        happening from DocumentLoader::setDefersCallbacks().

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::init):

2012-03-09  Emil A Eklund  <eae@chromium.org>

        Add roundedPoint to HitTestResult and change platform code to use it
        https://bugs.webkit.org/show_bug.cgi?id=80715

        Reviewed by James Robinson.

        Change ports to use roundedPoint to avoid exposing subpixel types to
        platform code.

        No new tests.

        * rendering/HitTestResult.h:
        (WebCore::HitTestResult::roundedPoint):

2012-03-09  Kentaro Hara  <haraken@chromium.org>

        [V8][Performance] Inline hot methods in V8Bindings.h
        https://bugs.webkit.org/show_bug.cgi?id=80685

        Reviewed by Adam Barth.

        This patch slightly improves DOM binding performance by inlining hot
        methods in V8Binding.cpp, e.g. isUndefinedOrNull(), v8StringOrNull(), v8Boolean().
        For example, this patch improves div.nodeName by 5.0%, and div.nodeValue by 4.1%.

        Performance tests: https://bugs.webkit.org/attachment.cgi?id=131006

        The performance test results in my Mac environment are as follows:

        Chromium/V8 without this patch:
        div.nodeName : 3417.4 ms
        div.nodeValue : 2069.6 ms

        Chromium/V8 with this patch:
        div.nodeName : 3245.6 ms
        div.nodeValue : 1983.1 ms

        No tests. No change in behavior.

        * bindings/v8/V8Binding.cpp:
        * bindings/v8/V8Binding.h:
        (WebCore::toWebCoreString):
        (WebCore::isUndefinedOrNull):
        (WebCore::isHostObject):
        (WebCore::v8Boolean):
        (WebCore::toWebCoreStringWithNullCheck):
        (WebCore::toAtomicWebCoreStringWithNullCheck):
        (WebCore::toWebCoreStringWithNullOrUndefinedCheck):
        (WebCore::v8UndetectableString):
        (WebCore::v8StringOrNull):
        (WebCore::v8StringOrUndefined):
        (WebCore::v8StringOrFalse):
        (WebCore::toWebCoreDate):
        (WebCore::v8DateOrNull):

2012-03-09  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Implement scroll physics architecture for impl/main thread
        https://bugs.webkit.org/show_bug.cgi?id=79827

        Reviewed by James Robinson.

        Unittests added, plus follow-on patch from rjkroege will add layout tests.

        PlatformGestureCurve is a framework to separate the physical simulation from for gesture
        animation from control concerns. This allows the physics to be reused in alternate places.
        At present, the framework will be applied in ScrollAnimatorNone and the Chrome Compositor.

        * WebCore.gypi:
        * platform/ActivePlatformGestureAnimation.cpp: Added.
        (WebCore):
        (WebCore::ActivePlatformGestureAnimation::create):
        (WebCore::ActivePlatformGestureAnimation::~ActivePlatformGestureAnimation):
        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
        (WebCore::ActivePlatformGestureAnimation::animate):
        * platform/ActivePlatformGestureAnimation.h: Added.
        (WebCore):
        (ActivePlatformGestureAnimation):
        * platform/PlatformGestureCurve.h: Added.
        (WebCore):
        (PlatformGestureCurve):
        (WebCore::PlatformGestureCurve::~PlatformGestureCurve):
        * platform/PlatformGestureCurveTarget.h: Added.
        (WebCore):
        (PlatformGestureCurveTarget):
        (WebCore::PlatformGestureCurveTarget::~PlatformGestureCurveTarget):
        * platform/TouchFlingPlatformGestureCurve.cpp: Added.
        (WebCore):
        (WebCore::TouchFlingPlatformGestureCurve::create):
        (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
        (WebCore::TouchFlingPlatformGestureCurve::~TouchFlingPlatformGestureCurve):
        (WebCore::TouchFlingPlatformGestureCurve::apply):
        * platform/TouchFlingPlatformGestureCurve.h: Added.
        (WebCore):
        (TouchFlingPlatformGestureCurve):
        * platform/WheelFlingPlatformGestureCurve.cpp: Added.
        (WebCore):
        (WebCore::WheelFlingPlatformGestureCurve::create):
        (WebCore::WheelFlingPlatformGestureCurve::WheelFlingPlatformGestureCurve):
        (WebCore::WheelFlingPlatformGestureCurve::~WheelFlingPlatformGestureCurve):
        (WebCore::WheelFlingPlatformGestureCurve::apply):
        * platform/WheelFlingPlatformGestureCurve.h: Added.
        (WebCore):
        (WheelFlingPlatformGestureCurve):
        * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp: Added.
        (WebCore):
        (WebCore::CCActiveGestureAnimation::create):
        (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
        (WebCore::CCActiveGestureAnimation::~CCActiveGestureAnimation):
        (WebCore::CCActiveGestureAnimation::animate):
        * platform/graphics/chromium/cc/CCActiveGestureAnimation.h: Added.
        (WebCore):
        (CCActiveGestureAnimation):
        * platform/graphics/chromium/cc/CCGestureCurve.h: Added.
        (WebCore):
        (CCGestureCurveTarget):
        (WebCore::CCGestureCurveTarget::~CCGestureCurveTarget):
        (CCGestureCurve):
        (WebCore::CCGestureCurve::~CCGestureCurve):

2012-03-09  Alexis Menard  <alexis.menard@openbossa.org>

        Implement selectedOptions attribute of <select>.
        https://bugs.webkit.org/show_bug.cgi?id=80631

        Reviewed by Benjamin Poulain.

        Add a new collection as a member of HTMLSelectElement which is
        used to store the selected elements. Extend HTMLCollection to
        support the new collection type needed by this feature.

        Reference : http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-select-selectedoptions

        Test: fast/dom/select-selectedOptions.html

        * html/CollectionType.h:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::shouldIncludeChildren):
        (WebCore::HTMLCollection::isAcceptableElement):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::selectedOptions):
        (WebCore):
        * html/HTMLSelectElement.h:
        (HTMLSelectElement):
        * html/HTMLSelectElement.idl:

2012-03-09  Tien-Ren Chen  <trchen@chromium.org>

        [chromium] ScrollbarLayerChromium/CCScrollbarLayerImpl for CC-side scrollbar painting
        https://bugs.webkit.org/show_bug.cgi?id=78872

        Reviewed by James Robinson.

        New test ScrollbarLayerChromiumTest.resolveScrollLayerPointer

        * WebCore.gypi:
        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
        (WebCore::scrollLayerForFrameView):
        (WebCore::scrollbarLayerDidChange):
        (WebCore):
        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::invalidateScrollbar):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore::GraphicsLayerChromium::hasContentsLayer):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore):
        (WebCore::LayerChromium::toScrollbarLayerChromium):
        (LayerChromium):
        * platform/graphics/chromium/ScrollbarLayerChromium.cpp: Added.
        (WebCore):
        (WebCore::ScrollbarLayerChromium::createCCLayerImpl):
        (WebCore::ScrollbarLayerChromium::create):
        (WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
        (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/ScrollbarLayerChromium.h: Added.
        (WebCore):
        (ScrollbarLayerChromium):
        (WebCore::ScrollbarLayerChromium::scrollLayerId):
        (WebCore::ScrollbarLayerChromium::toScrollbarLayerChromium):
        * platform/graphics/chromium/TreeSynchronizer.cpp:
        (WebCore::TreeSynchronizer::synchronizeTrees):
        (WebCore::TreeSynchronizer::collectExistingCCLayerImplRecursive):
        (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
        (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
        (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
        (WebCore):
        * platform/graphics/chromium/TreeSynchronizer.h:
        (TreeSynchronizer):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: Added.
        (WebCore):
        (WebCore::CCScrollbarLayerImpl::create):
        (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
        (WebCore::CCScrollbarLayerImpl::willDraw):
        (WebCore::CCScrollbarLayerImpl::appendQuads):
        (WebCore::CCScrollbarLayerImpl::didDraw):
        (WebCore::CCScrollbarLayerImpl::paint):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::x):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::y):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::width):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::height):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::size):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::location):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::parent):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::root):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::setFrameRect):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::frameRect):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::invalidate):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::invalidateRect):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::scrollbarOverlayStyle):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::getTickmarks):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::isScrollableAreaActive):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::isScrollViewScrollbar):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::convertFromContainingWindow):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::isCustomScrollbar):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::orientation):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::value):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::currentPos):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::visibleSize):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::totalSize):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::maximum):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::controlSize):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::lineStep):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::pageStep):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::pressedPart):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::hoveredPart):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::styleChanged):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::enabled):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::setEnabled):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h: Added.
        (WebCore):
        (CCScrollbarLayerImpl):
        (WebCore::CCScrollbarLayerImpl::setScrollbarOverlayStyle):
        (WebCore::CCScrollbarLayerImpl::setTickmarks):
        (WebCore::CCScrollbarLayerImpl::setIsScrollableAreaActive):
        (WebCore::CCScrollbarLayerImpl::setIsScrollViewScrollbar):
        (WebCore::CCScrollbarLayerImpl::setOrientation):
        (WebCore::CCScrollbarLayerImpl::setControlSize):
        (WebCore::CCScrollbarLayerImpl::setPressedPart):
        (WebCore::CCScrollbarLayerImpl::setHoveredPart):
        (WebCore::CCScrollbarLayerImpl::setEnabled):
        (WebCore::CCScrollbarLayerImpl::scrollLayer):
        (WebCore::CCScrollbarLayerImpl::setScrollLayer):
        (CCScrollbar):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::CCScrollbar):

2012-03-09  Julien Chaffraix  <jchaffraix@webkit.org>

        Split the extra logical height distribution logic out of RenderTableSection::layoutRows
        https://bugs.webkit.org/show_bug.cgi?id=80671

        Reviewed by Adrienne Walker.

        Refactoring only, no change in behavior expected.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        Split the logic from here...

        (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
        (WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
        (WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
        (WebCore::RenderTableSection::distributeExtraLogicalHeightToRows):
        ... to those functions. Cleaned up the variable naming while at it and
        made them follow the same signature as this may be useful to fix another
        bug I have.

        * rendering/RenderTableSection.h:
        (RenderTableSection):
        Added the previous 4 new functions.

2012-03-09  Rob Buis  <rbuis@rim.com>

        Remove unused file FrameBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=80731

        Reviewed by Antonio Gomes.

        This is not needed anymore since there is an implementation elsewhere.

        * PlatformBlackBerry.cmake:
        * page/blackberry/FrameBlackBerry.cpp: Removed.

2012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110309.
        http://trac.webkit.org/changeset/110309
        https://bugs.webkit.org/show_bug.cgi?id=80732

        Seems to have caused a number of SVG crashes (thorton will
        investigate further) (Requested by abarth|gardener on
        #webkit).

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::reset):
        (WebCore::FrameView::repaintContentRectangle):
        (WebCore::FrameView::deferredRepaintTimerFired):
        * page/FrameView.h:
        (FrameView):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::shouldRepaint):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::drawSVGToImageBuffer):
        (WebCore::SVGImage::draw):
        * svg/graphics/SVGImage.h:
        * svg/graphics/SVGImageCache.cpp:
        (WebCore::SVGImageCache::imageContentChanged):
        (WebCore::SVGImageCache::redrawTimerFired):
        * svg/graphics/SVGImageCache.h:
        (SVGImageCache):

2012-03-09  Ken Buchanan  <kenrb@chromium.org>

        Crash due to inserting letter into div with first-letter
        https://bugs.webkit.org/show_bug.cgi?id=78534

        Reviewed by David Hyatt.

        This fixes an issue in RenderTextFragment with setTextInternal
        getting called with different intents. While most calls to it
        are intended to change the underlying DOM node string, it can
        also be called as a result of styleDidChange just for transforms
        on the substring text fragment. This adds a mechanism for internal
        callers to specify if the internal text is being updated without
        a DOM node text change.

        * rendering/RenderTextFragment.cpp:
        (WebCore::RenderTextFragment::styleDidChange)
        (WebCore::RenderTextFragment::setTextInternal)
        * rendering/RenderTextFragment.h:
        (WebCore::RenderTextFragment)

2012-03-09  Chris Rogers  <crogers@google.com>

        Fix uninitialized variable in DynamicsCompressor
        https://bugs.webkit.org/show_bug.cgi?id=80724

        Reviewed by James Robinson.

        * platform/audio/DynamicsCompressor.cpp:
        (WebCore::DynamicsCompressor::DynamicsCompressor):

2012-03-09  Erik Arvidsson  <arv@chromium.org>

        [V8] Undo text position adjustment for attribute event handlers
        https://bugs.webkit.org/show_bug.cgi?id=80725

        Reviewed by Adam Barth.

        No new tests. Needs rebaseline.

        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::prepareListenerObject):

2012-03-09  Tom Sepez  <tsepez@chromium.org>

        Hold cached images with a CachedResourceHandle rather than a raw pointer for CSSCrossfadeValue
        https://bugs.webkit.org/show_bug.cgi?id=80186

        Reviewed by Simon Fraser.

        Test: http/tests/css/cross-fade-reload.html

        * css/CSSCrossfadeValue.h:
        (CSSCrossfadeValue):

2012-03-09  Abhishek Arya  <inferno@chromium.org>

        Crash when splitting an anonymous block in multi-column layout.
        https://bugs.webkit.org/show_bug.cgi?id=80432

        Reviewed by David Hyatt.

        Calculating currChild->nextSibling() is risky after destroying :after content
        because it can blow away currChild if it is a left over empty anonymous block.
        We need to calculate next sibling upfront, using the same trick, we do in
        RenderBlock::addChildIgnoringAnonymousColumnBlock to reset beforeChild (check
        out the line before splitFlow call).

        Test: fast/multicol/anonymous-block-split-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitBlocks):

2012-03-09  Abhishek Arya  <inferno@chromium.org>

        Crash due to accessing removed parent lineboxes when clearing selection.
        https://bugs.webkit.org/show_bug.cgi?id=79264

        Reviewed by Dave Hyatt.

        Test: editing/selection/first-letter-selection-crash.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::setSelectionState):
        1. No need of checking if we are being set to same selection state.
        Now tested by setSelectionStateIfNeeded. Rename 's' with 'state' and
        'cb' with 'containingBlock'.
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::setSelectionState):
        1. Add check to canUpdateSelectionOnRootLineBoxes to make sure our
        root line boxes are still valid before setting them.
        2. No need of calling setSelectionState on containing block since our base
        class call to RenderBox::setSelectionState covers it. Added a comment to indicate that.
        3. Use m_inlineBoxWrapper variable directly to simplify the ifs.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):
        (WebCore): helper function to tell if we can update selection information
        on our root line boxes. This returns false if our containing block is pending layout.
        * rendering/RenderObject.h:
        (RenderObject):
        (WebCore::RenderObject::setSelectionStateIfNeeded):
        (WebCore): helper to set selection state only if it is different from our
        current selection state.
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::setSelectionState):
        1. Rename 's' to 'state', 'line' to 'root' and use m_inlineBoxWrapper directly
        to simplify ifs.
        2. Add check to canUpdateSelectionOnRootLineBoxes to make sure our
        root line boxes are still valid before setting them.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setSelectionState):
        1. Add check to canUpdateSelectionOnRootLineBoxes to make sure our
        root line boxes are still valid before setting them.
        2. Rename 'cb' to 'containingBlock', 'line' to 'root', move InlineTextBox
        declaration to local.
        * rendering/RenderView.cpp:
        (WebCore::RenderView::setSelection): Replace all calls to setSelectionState
        with setSelectionStateIfNeeded.
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::setSelectionState):
        1. No need of checking if we are being set to same selection state.
        Now tested by setSelectionStateIfNeeded.

2012-03-09  Levi Weintraub  <leviw@chromium.org>

        Move TransformationMatrix and TransformState to LayoutUnits.
        https://bugs.webkit.org/show_bug.cgi?id=80632

        Reviewed by Simon Fraser.

        When we move layout to sub-pixel precision, we want to preserve that precision through
        transformations. This change readies TransformState and TransformationMatrix to make
        use of this additional precision in accumulating transforms, and in returning rects that
        preserve it.

        No new tests. No change in behavior.

        * platform/graphics/transforms/TransformState.cpp:
        (WebCore::TransformState::move): Changed to pass along LayoutUnits to the contained
        TransformationMatrix. The values of the LayoutUnits will be implicitly converted to
        floats to be applied.
        * platform/graphics/transforms/TransformState.h:
        (WebCore::TransformState::move): Ditto.
        (TransformState):
        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::clampEdgeValue): Limiting edges to the maximum LayoutUnit value to prevent
        overflow..
        (WebCore::TransformationMatrix::clampedBoundsOfProjectedQuad): Same as above, but also
        returning a LayoutRect which preserves additional precision than the previous IntRect.
        (WebCore::TransformationMatrix::mapRect): Adding a version of this method that operates
        specifically on FractionalLayoutRects.
        (WebCore):
        * platform/graphics/transforms/TransformationMatrix.h:
        (WebCore):
        (TransformationMatrix):
        * rendering/LayoutTypes.h:
        (WebCore::clampToLayoutUnit):
        (WebCore):

2012-03-09  Ryosuke Niwa  <rniwa@webkit.org>

        Remove a bogus assertion. This condition is no longer true for non-document tree scopes.

        * dom/TreeScope.cpp:
        (WebCore::TreeScope::activeElement):

2012-03-09  Ryosuke Niwa  <rniwa@webkit.org>

        Cleanup incDOMTreeVersion callers
        https://bugs.webkit.org/show_bug.cgi?id=80452

        Reviewed by Andreas Kling.

        Unify various calls to incDOMTreeVersion and namely remove the call inside dispatchSubtreeModifiedEvent.
        There should be no behavioral change and therefore there is no new test.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::parserAppendData):
        (WebCore::CharacterData::setDataAndUpdate):
        * dom/ContainerNode.cpp:
        (WebCore::willRemoveChild):
        (WebCore::willRemoveChildren):
        (WebCore::ContainerNode::removeChild):
        (WebCore::ContainerNode::removeChildren):
        (WebCore::ContainerNode::childrenChanged):
        (WebCore::notifyChildInserted):
        * dom/Element.cpp:
        (WebCore::Element::attributeChanged):
        (WebCore::Element::parserSetAttributes):
        (WebCore::Element::willModifyAttribute):
        * dom/Node.cpp:
        (WebCore::Node::dispatchSubtreeModifiedEvent):
        * html/HTMLOutputElement.cpp:
        (WebCore::HTMLOutputElement::childrenChanged):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::childrenChanged):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::childrenChanged):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::childrenChanged):
        * html/HTMLTitleElement.cpp:
        (WebCore::HTMLTitleElement::childrenChanged):
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::childrenChanged):
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::childrenChanged):

2012-03-09  Patrick Gansterer  <paroga@webkit.org>

        Build fix for !ENABLE(FILTERS) after r110285.

        * rendering/svg/SVGRenderingContext.h:
        (WebCore::SVGRenderingContext::SVGRenderingContext):

2012-03-09  Dana Jansens  <danakj@chromium.org>

        [chromium] Use opaque paints in CCOcclusionTracker
        https://bugs.webkit.org/show_bug.cgi?id=80173

        Reviewed by Adrienne Walker.

        Use tracked opaque paints in the tiles when tracking occlusion in
        CCOcclusionTracker. Moves the Tile::m_opaqueRect up to the super-
        class in CCLayerTilingData rather than having it declared in both
        TiledLayerChromium and CCTiledLayerImpl. This lets the CCLayerTilingData
        class compute the opaque region for its tiles, sharing code between the
        two tiled layer implementations.

        Use of this feature is guarded behind a runtime flag and turned off for
        paint culling. We will enable it in the future once we're comfortable
        with the paint culling.

        Unit test: CCOcclusionTrackerTest.opaqueContentsRegionEmpty
                   CCOcclusionTrackerTest.opaqueContentsRegionNonEmpty
                   TiledLayerChromiumTest.opaqueContentsRegion

        All existing CCOcclusionTrackerTest.* duplicated with opaque painted
        rects.

        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::opaqueContentsRegion):
        (LayerChromium):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (UpdatableTile):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
        (WebCore::TiledLayerChromium::opaqueContentsRegion):
        (WebCore):
        * platform/graphics/chromium/TiledLayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::opaqueContentsRegion):
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::opaqueRegionInLayerRect):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTilingData.h:
        (WebCore):
        (Tile):
        (WebCore::CCLayerTilingData::Tile::opaqueRect):
        (WebCore::CCLayerTilingData::Tile::setOpaqueRect):
        (CCLayerTilingData):
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::::CCOcclusionTrackerBase):
        (WebCore::computeOcclusionBehindLayer):
        (WebCore::::markOccludedBehindLayer):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
        (CCOcclusionTrackerBase):
        (WebCore::CCOcclusionTrackerBase::setUsePaintTracking):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (DrawableTile):
        (WebCore::CCTiledLayerImpl::opaqueContentsRegion):
        (WebCore):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):

2012-03-09  Antti Koivisto  <antti@apple.com>

        Presentation attribute cache
        https://bugs.webkit.org/show_bug.cgi?id=80707
        
        Reviewed by Andreas Kling.

        It is common for the same presentation attribute values repeat. We should introduce a cache that uses 
        presentation attribute names and values as key. This will help to avoid repeated parsing of the 
        same attribute values, reduce memory consumption and speed up the style resolve.
        
        This patch introduces a simple and small (128 entries) global cache. In general web browsing it seems
        to give sharing rate of >75% (an average presentation attribute property set is shared between >4 elements).

        * dom/StyledElement.cpp:
        (WebCore::PresentationAttributeCacheKey::PresentationAttributeCacheKey):
        (PresentationAttributeCacheKey):
        (WebCore):
        (WebCore::operator!=):
        (PresentationAttributeCacheEntry):
        (WebCore::presentationAttributeCache):
        (WebCore::attributeNameSort):
        (WebCore::StyledElement::makePresentationAttributeCacheKey):
        (WebCore::computePresentationAttributeCacheHash):
        (WebCore::StyledElement::updateAttributeStyle):
        * dom/StyledElement.h:
        (WebCore):
        (StyledElement):

2012-03-08  Erik Arvidsson  <arv@chromium.org>

        [V8] Fix object scope for inline event attribute handlers
        https://bugs.webkit.org/show_bug.cgi?id=80329

        Reviewed by Ojan Vafai.

        We now create the funciton inside the with-statements with the current scope objects.
        This is important for a few reasons:

        - We need to use the real objects and not just lookup the JS properties because these might have been overridden.
        - We need to use the node, form and document at the time of the preparation and not at the time of calling.
        - We need to ensure that event/evt is bound closer than a property with the same name in the object environment
          created by the with-statements.

        Tests: fast/dom/inline-event-attributes-lookup-removed-form.html
               fast/dom/inline-event-attributes-lookup-removed.html
               fast/dom/inline-event-attributes-lookup.html

        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::eventParameterName):
        (WebCore):
        (WebCore::createAttributeEventListener):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::V8LazyEventListener):
        (WebCore):
        (WebCore::toObjectWrapper):
        (WebCore::V8LazyEventListener::callListenerFunction):
        (WebCore::V8LazyEventListener::prepareListenerObject):
        * bindings/v8/V8LazyEventListener.h:
        (WebCore):
        (WebCore::V8LazyEventListener::create):
        (V8LazyEventListener):

2012-03-09  Stephen Chenney  <schenney@chromium.org>

        Crash in WebCore::SVGUseElement::instanceForShadowTreeElement
        https://bugs.webkit.org/show_bug.cgi?id=80406

        Reviewed by Nikolas Zimmermann.

        Code assumes that an object that is an SVG Element and in a shadow
        tree must be in an SVG use shadow tree, and casts the shadow host with
        a static_cast. It may be that an SVG element appears in a non-use
        shadow tree, in which case bad things happen. While it appears that
        the current code prevents such a situation from arising (checks are
        made within the shadow tree code to prevent it) there are also
        indications that the situation may change.

        No new tests. I believe that the problem here cannot currently be
        reproduced. That is, other code prevents SVG elements from appearing
        in non-svg shadow trees.

        * dom/EventDispatcher.cpp:
        (WebCore::eventTargetRespectingSVGTargetRules):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::title):

2012-03-09  Jon Lee  <jonlee@apple.com>

        Add support for ENABLE(LEGACY_NOTIFICATIONS)
        https://bugs.webkit.org/show_bug.cgi?id=80497

        Reviewed by Adam Barth.

        Prep for b80472: Update API for Web Notifications
        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:

2012-03-09  Kaustubh Atrawalkar  <kaustubh@motorola.com>

        ShadowRoot should implement activeElement.
        https://bugs.webkit.org/show_bug.cgi?id=79886

        Reviewed by Ryosuke Niwa.

        Implement the activeElement attribute for ShadowRoot to return the
        currently focused element in the shadow DOM subtree.

        Test: fast/dom/shadow/shadow-root-activeElement.html

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::activeElement):
        (WebCore):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        * dom/ShadowRoot.idl:
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::adoptIfNeeded):
        (WebCore):
        (WebCore::focusedFrameOwnerElement):
        (WebCore::TreeScope::activeElement):
        * dom/TreeScope.h:
        (TreeScope):
        * html/HTMLDocument.cpp:
        (WebCore):
        (WebCore::HTMLDocument::activeElement):

2012-03-09  Tim Horton  <timothy_horton@apple.com>

        Infinite repaint loop with SVGImageCache and deferred repaint timers
        https://bugs.webkit.org/show_bug.cgi?id=78315
        <rdar://problem/10651634>

        Reviewed by Nikolas Zimmermann.

        Only defer image redraw on a timer if we're in layout. This breaks
        the repaint loop while still preventing us from drawing inside layout.

        Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
        preventing deferred repaint timers from being started during that process.

        No new tests, as the problem only occurs in a nonstandard configuration.

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::draw):
        (WebCore::SVGImage::frameView):
        (WebCore):
        * svg/graphics/SVGImage.h:
        (WebCore):
        * svg/graphics/SVGImageCache.cpp:
        (WebCore::SVGImageCache::imageContentChanged):
        (WebCore::SVGImageCache::redraw):
        (WebCore::SVGImageCache::redrawTimerFired):
        (WebCore):
        * svg/graphics/SVGImageCache.h:
        (SVGImageCache):

2012-03-09  Victor Carbune  <vcarbune@adobe.com>

        The method TextTrackCue::getCueAsHTML() should return different
        fragments on different calls.

        https://bugs.webkit.org/show_bug.cgi?id=80701

        Reviewed by Eric Carlson.

        Test: media/track/track-cue-mutable-fragment.html

        * html/track/TextTrackCue.cpp: Removed setCueHTML(), since it is sufficient
        to create apply the DOM rules only when the fragment is first requested.
        (WebCore::TextTrackCue::getCueAsHTML): Changed the method such that a
        a clone of the cached document fragment is returned.
        * html/track/TextTrackCue.h: Removed setCueHTML() as the document fragment
        of the cue should be created only within the class, from the cue text.
        (TextTrackCue):
        * html/track/WebVTTParser.cpp:
        (WebCore::WebVTTParser::createNewCue): removed usage of setCueHTML()

2012-03-09  Tim Horton  <timothy_horton@apple.com>

        Crash in SVGTextLayoutAttributesBuilder::fillCharacterDataMap
        https://bugs.webkit.org/show_bug.cgi?id=78949
        <rdar://problem/10889440>

        Reviewed by Nikolas Zimmermann.

        Invalidate the text positioning cache when the children of an SVGAElement change,
        so that we regenerate the list the next time it's needed instead of using stale values.

        Test: svg/text/text-positioning-remove-child-crash.svg

        * rendering/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::childrenChanged):

2012-03-09  Ashod Nakashian  <ashodnakashian@yahoo.com>

        Bash scripts should support LF endings only
        https://bugs.webkit.org/show_bug.cgi?id=79509

        Reviewed by David Kilzer.

        * WebCore.gyp/mac/adjust_visibility.sh: Added property svn:eol-style.
        * WebCore.vcproj/build-generated-files.sh: Added property svn:executable.
        * WebCore.vcproj/migrate-scripts.sh: Added property svn:executable.
        * gyp/copy-forwarding-and-icu-headers.sh: Added property svn:eol-style.
        * gyp/copy-inspector-resources.sh: Added property svn:eol-style.
        * gyp/generate-derived-sources.sh: Added property svn:eol-style.
        * gyp/generate-webcore-export-file-generator.sh: Added property svn:eol-style.
        * gyp/run-if-exists.sh: Added property svn:eol-style.
        * gyp/streamline-inspector-source.sh: Added property svn:eol-style.
        * gyp/update-info-plist.sh: Added property svn:eol-style.

2012-03-09  Andreas Kling  <awesomekling@apple.com>

        CSSParser: Use Vector for intermediate property storage.
        <http://webkit.org/b/80653>

        Reviewed by Antti Koivisto.

        Remove the custom memory management for intermediate CSSProperties in CSSParser
        and replace it by a Vector<CSSProperty, 256>.
        This avoids heap allocations and removes a bunch of unnecessary complexity.

        Remove WTF_MAKE_FAST_ALLOCATED from CSSProperty since they are only created on
        the stack now.

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::~CSSParser):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::addProperty):
        (WebCore::CSSParser::rollbackLastProperties):
        (WebCore::CSSParser::clearProperties):
        (WebCore::CSSParser::parse4Values):
        (WebCore::CSSParser::parseFlowThread):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        (WebCore::CSSParser::createPageRule):
        (WebCore::CSSParser::createMarginAtRule):
        (WebCore::CSSParser::startDeclarationsForMarginBox):
        (WebCore::CSSParser::endDeclarationsForMarginBox):
        (WebCore::CSSParser::deleteFontFaceOnlyValues):
        (WebCore::CSSParser::createKeyframeRule):
        * css/CSSParser.h:
        (WebCore::CSSParser::hasProperties):
        (CSSParser):
        * css/CSSProperty.h:
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::StylePropertySet):
        (WebCore::StylePropertySet::addParsedProperties):
        * css/StylePropertySet.h:
        (WebCore::StylePropertySet::create):
        (StylePropertySet):

2012-03-09  Nate Chapin  <japhet@chromium.org>

        CachedRawResource breaks when trying to load
        a resource with an empty response body from cache.

        Reviewed by Alexey Proskuryakov.

        Test: http/tests/cache/zero-length-xhr.html

        * loader/cache/CachedRawResource.cpp:
        (WebCore::CachedRawResource::didAddClient): Don't exit early
            if m_data is empty, we may still need to notifyFinished().

2012-03-09  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream classes that handle layer tiling
        https://bugs.webkit.org/show_bug.cgi?id=79875

        Reviewed by Rob Buis.

        Initial upstreaming, no new tests.

        * platform/graphics/blackberry/LayerTile.cpp: Added.
        (WebCore):
        (WebCore::LayerTile::LayerTile):
        (WebCore::LayerTile::~LayerTile):
        (WebCore::LayerTile::setContents):
        (WebCore::LayerTile::setContentsToColor):
        (WebCore::LayerTile::updateContents):
        (WebCore::LayerTile::discardContents):
        (WebCore::LayerTile::setVisible):
        (WebCore::LayerTile::setTexture):
        * platform/graphics/blackberry/LayerTile.h: Added.
        (WebCore):
        (LayerTileData):
        (WebCore::LayerTileData::LayerTileData):
        (WebCore::LayerTileData::isVisible):
        (LayerTile):
        (WebCore::LayerTile::texture):
        (WebCore::LayerTile::isVisible):
        (WebCore::LayerTile::isDirty):
        (WebCore::LayerTile::hasTexture):
        (WebCore::LayerTile::setContentsDirty):
        * platform/graphics/blackberry/LayerTileIndex.h: Added.
        (WebCore):
        (TileIndex):
        (WebCore::TileIndex::TileIndex):
        (WebCore::TileIndex::~TileIndex):
        (WebCore::TileIndex::i):
        (WebCore::TileIndex::j):
        (WebCore::TileIndex::setIndex):
        (WebCore::operator==):
        (WebCore::operator!=):
        (WTF):
        * platform/graphics/blackberry/LayerTiler.cpp: Added.
        (WebCore):
        (WebCore::transformPoint):
        (WebCore::defaultTileSize):
        (WebCore::LayerTiler::LayerTiler):
        (WebCore::LayerTiler::~LayerTiler):
        (WebCore::LayerTiler::layerWebKitThreadDestroyed):
        (WebCore::LayerTiler::layerCompositingThreadDestroyed):
        (WebCore::LayerTiler::setNeedsDisplay):
        (WebCore::LayerTiler::updateTextureContentsIfNeeded):
        (WebCore::LayerTiler::shouldPerformRenderJob):
        (WebCore::LayerTiler::addTextureJob):
        (WebCore::LayerTiler::clearTextureJobs):
        (WebCore::LayerTiler::commitPendingTextureUploads):
        (WebCore::LayerTiler::layerVisibilityChanged):
        (WebCore::LayerTiler::uploadTexturesIfNeeded):
        (WebCore::LayerTiler::processTextureJob):
        (WebCore::LayerTiler::addTileJob):
        (WebCore::LayerTiler::performTileJob):
        (WebCore::LayerTiler::drawTextures):
        (WebCore::LayerTiler::drawMissingTextures):
        (WebCore::LayerTiler::drawTexturesInternal):
        (WebCore::LayerTiler::addRenderJob):
        (WebCore::LayerTiler::removeRenderJob):
        (WebCore::LayerTiler::deleteTextures):
        (WebCore::LayerTiler::pruneTextures):
        (WebCore::LayerTiler::updateTileSize):
        (WebCore::LayerTiler::disableTiling):
        (WebCore::LayerTiler::shouldPrefillTile):
        (WebCore::LayerTiler::indexOfTile):
        (WebCore::LayerTiler::originOfTile):
        (WebCore::LayerTiler::rectForTile):
        (WebCore::LayerTiler::hasDirtyTiles):
        (WebCore::LayerTiler::bindContentsTexture):
        * platform/graphics/blackberry/LayerTiler.h: Added.
        (WebCore):
        (LayerTiler):
        (WebCore::LayerTiler::create):
        (WebCore::LayerTiler::layer):
        (WebCore::LayerTiler::hasMissingTextures):
        (WebCore::LayerTiler::TextureJob::TextureJob):
        (TextureJob):
        (WebCore::LayerTiler::TextureJob::setContents):
        (WebCore::LayerTiler::TextureJob::setContentsToColor):
        (WebCore::LayerTiler::TextureJob::updateContents):
        (WebCore::LayerTiler::TextureJob::discardContents):
        (WebCore::LayerTiler::TextureJob::resizeContents):
        (WebCore::LayerTiler::TextureJob::dirtyContents):
        (WebCore::LayerTiler::TextureJob::isNull):
        (WebCore::LayerTiler::tileSize):
        (WebCore::LayerTiler::removeUpdateContentsJobs):

2012-03-09  Ian Vollick  <vollick@chromium.org>

        [chromium] Ensure we use the correct time when notifying animation started
        https://bugs.webkit.org/show_bug.cgi?id=79537

        Reviewed by James Robinson

        Tested in CCLayerTreeHostTestAddAnimation

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setAnimationEvent):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
        (WebCore::CCAnimationStartedEvent::create):
        (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
        * platform/graphics/chromium/cc/CCAnimationEvents.h:
        (CCAnimationEvent):
        (CCAnimationStartedEvent):
        * platform/graphics/chromium/cc/CCInputHandler.h:
        (CCInputHandler):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
        (WebCore::CCLayerAnimationControllerImpl::animate):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
        (WebCore::CCLayerAnimationControllerImpl::resolveConflicts):
        (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
        (CCLayerAnimationControllerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setAnimationEvents):
        (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::animate):
        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
        (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
        (WebCore::CCLayerTreeHostImpl::animatePageScale):
        (WebCore::CCLayerTreeHostImpl::animateLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImplClient):
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp:
        (WebCore::CCPageScaleAnimation::create):
        (WebCore::CCPageScaleAnimation::CCPageScaleAnimation):
        (WebCore::CCPageScaleAnimation::zoomTo):
        (WebCore::CCPageScaleAnimation::zoomWithAnchor):
        (WebCore::CCPageScaleAnimation::scrollOffsetAtTime):
        (WebCore::CCPageScaleAnimation::pageScaleAtTime):
        (WebCore::CCPageScaleAnimation::isAnimationCompleteAtTime):
        (WebCore::CCPageScaleAnimation::progressRatioForTime):
        * platform/graphics/chromium/cc/CCPageScaleAnimation.h:
        (CCPageScaleAnimation):
        (WebCore::CCPageScaleAnimation::startTime):
        (WebCore::CCPageScaleAnimation::duration):
        (WebCore::CCPageScaleAnimation::endTime):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::startPageScaleAnimation):
        (WebCore::CCSingleThreadProxy::postAnimationEventsToMainThreadOnImplThread):
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::startPageScaleAnimation):
        (WebCore::CCThreadProxy::requestStartPageScaleAnimationOnImplThread):
        (WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
        (WebCore::CCThreadProxy::setAnimationEvents):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-03-09  Zoltan Herczeg  <zherczeg@webkit.org>

        Add SVGRenderingContext and move there the context related code from SVGRenderSupport
        https://bugs.webkit.org/show_bug.cgi?id=80413

        Reviewed by Nikolas Zimmermann.

        This is the first step of refactoring the rendering context for SVG. The
        previous context was stateless before, which means the cleanup phase
        needed to do a lot of checks to revert the initialization part and
        was unaware of failed inititalization. Future code can also add
        new local variables to the context.

        This patch add a new SVGRenderingContext class, and moves there the context
        initialization / cleanup code from SVGRenderSupport. All build systems were
        updated.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/svg/RenderSVGAllInOne.cpp:
        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::paint):
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paintReplaced):
        * rendering/svg/RenderSVGShape.cpp:
        (WebCore::RenderSVGShape::paint):
        * rendering/svg/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::paint):
        * rendering/svg/SVGRenderSupport.cpp:
        * rendering/svg/SVGRenderSupport.h:
        * rendering/svg/SVGRenderingContext.cpp: Added.
        (WebCore):
        (WebCore::isRenderingMaskImage):
        (WebCore::SVGRenderingContext::~SVGRenderingContext):
        (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
        * rendering/svg/SVGRenderingContext.h: Added.
        (WebCore):
        (SVGRenderingContext):
        (WebCore::SVGRenderingContext::SVGRenderingContext):
        (WebCore::SVGRenderingContext::isRenderingPrepared):
        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::paint):

2012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110191, r110202, and r110279.
        http://trac.webkit.org/changeset/110191
        http://trac.webkit.org/changeset/110202
        http://trac.webkit.org/changeset/110279
        https://bugs.webkit.org/show_bug.cgi?id=80694

        They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
        #webkit).

        * WebCore.exp.in:
        * testing/Internals.cpp:
        * testing/Internals.h:
        (WebCore):
        (Internals):
        * testing/Internals.idl:

2012-03-09  Hans Wennborg  <hans@chromium.org>

        Speech JavaScript API: add SpeechGrammar and SpeechGrammarList
        https://bugs.webkit.org/show_bug.cgi?id=80417

        Reviewed by Adam Barth.

        Implement SpeechGrammar and SpeechGrammarList.
        (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)

        Test: fast/speech/scripted/speechgrammar-basics.html

        * Modules/speech/DOMWindowSpeech.idl:
        * Modules/speech/SpeechGrammar.cpp:
        (WebCore):
        (WebCore::SpeechGrammar::create):
        (WebCore::SpeechGrammar::SpeechGrammar):
        * Modules/speech/SpeechGrammar.h:
        (WebCore):
        (SpeechGrammar):
        (WebCore::SpeechGrammar::src):
        (WebCore::SpeechGrammar::setSrc):
        (WebCore::SpeechGrammar::weight):
        (WebCore::SpeechGrammar::setWeight):
        * Modules/speech/SpeechGrammar.idl:
        * Modules/speech/SpeechGrammarList.cpp:
        (WebCore):
        (WebCore::SpeechGrammarList::create):
        (WebCore::SpeechGrammarList::item):
        (WebCore::SpeechGrammarList::addFromUri):
        (WebCore::SpeechGrammarList::addFromString):
        (WebCore::SpeechGrammarList::SpeechGrammarList):
        * Modules/speech/SpeechGrammarList.h:
        (WebCore):
        (SpeechGrammarList):
        (WebCore::SpeechGrammarList::length):
        * Modules/speech/SpeechGrammarList.idl:
        * WebCore.gypi:

2012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110269.
        http://trac.webkit.org/changeset/110269
        https://bugs.webkit.org/show_bug.cgi?id=80688

        It made inspector/elements/highlight-node.html fail everywhere
        (Requested by Ossy on #webkit).

        * testing/Internals.idl:

2012-03-07  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Click in the first line of rule while editing property starts a new property
        https://bugs.webkit.org/show_bug.cgi?id=80507

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype._checkWillCancelEditing):
        (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick):
        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
        (WebInspector.StylePropertyTreeElement.prototype.onattach):
        (WebInspector.StylePropertyTreeElement.prototype):

2012-03-09  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/11012024> Fix the build by working around <rdar://problem/10710970>.

        * platform/mac/RunLoopMac.mm:
        (WebCore::RunLoop::stop):

2012-03-09  Marja Hölttä  <marja@google.com>

        FileInputType doesn't support (save|restore)FormControlState
        https://bugs.webkit.org/show_bug.cgi?id=80145

        Reviewed by Kent Tamura.

        This enables saving and restoring the state of file upload elements in
        unsubmitted forms.

        Test: fast/forms/file/recover-file-input-in-unposted-form.html

        * html/BaseCheckableInputType.cpp:
        (WebCore::BaseCheckableInputType::restoreFormControlState): non-const
        * html/BaseCheckableInputType.h:
        (BaseCheckableInputType): restoreFormControlState non-const
        * html/FileInputType.cpp:
        (WebCore::FileInputType::saveFormControlState): save chosen files
        (WebCore):
        (WebCore::FileInputType::restoreFormControlState): restore chosen files
        * html/FileInputType.h:
        (FileInputType): overwrite (save|restore)FormControlState
        * html/HiddenInputType.cpp:
        (WebCore::HiddenInputType::restoreFormControlState): non-const
        * html/HiddenInputType.h:
        (HiddenInputType): restoreFormControlState non-const
        * html/InputType.cpp:
        (WebCore::InputType::restoreFormControlState): non-const
        * html/InputType.h:
        (InputType): restoreFormControlState non-const
        * html/PasswordInputType.cpp:
        (WebCore::PasswordInputType::restoreFormControlState): non-const
        * html/PasswordInputType.h:
        (PasswordInputType): restoreFormControlState non-const

2012-03-08  Benjamin Poulain  <bpoulain@apple.com>

        Base the access to CSSStyleDeclaration on the CSSPropertyID instead of the PropertyName
        https://bugs.webkit.org/show_bug.cgi?id=80461

        Reviewed by Geoffrey Garen.

        Previously, the acces to CSS Style properties was done through a NamedGetter. This caused
        the (slow) mapping between CSSPropertyName and CSSPropertyID to be done twice for every acess:
        1) canGetItemsForName() prior to the definition of the slot.
        2) nameGetter() called from the slot with CSSPropertyName to get the actual value.

        This patch changes the access to be based on CSSPropertyID. The slot is defined with the
        CSSPropertyID as the customIndex, and the value can be accessed directly when the slot is
        called.

        To handle the differences create by hadPixelOrPosPrefix, two nearly identical callback are defined,
        one for hadPixelOrPosPrefix, the other for !hadPixelOrPosPrefix.

        The performance gain is about 19% when accessing CSS properties.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::getPropertyValueFallback):
        (WebCore::cssPropertyGetterPixelOrPosPrefix):
        (WebCore):
        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
        (WebCore::cssPropertyGetter):
        (WebCore::cssPropertyGetterCallback):
        (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
        (WebCore::JSCSSStyleDeclaration::getOwnPropertyDescriptorDelegate):
        * css/CSSStyleDeclaration.idl:

2012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Fix Qt minimal build

        * testing/Internals.idl:

2012-03-08  James Robinson  <jamesr@chromium.org>

        [chromium] Remove dead CoreGraphics code from chromium compositor implementation
        https://bugs.webkit.org/show_bug.cgi?id=80470

        Reviewed by Adam Barth.

        We haven't supported CoreGraphics as a raster backend in chromium for a few months and do not plan to do so, so
        it's time to remove the USE(CG) #ifdefs from our compositor and just rely on USE(SKIA) being set.  This also
        slightly simplifies how PlatformCanvas works.

        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/PlatformCanvas.cpp:
        (WebCore::PlatformCanvas::createBackingCanvas):
        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
        (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
        (WebCore):
        (WebCore::PlatformCanvas::AutoLocker::pixels):
        (WebCore::PlatformCanvas::Painter::Painter):
        * platform/graphics/chromium/PlatformCanvas.h:
        (WebCore):
        (AutoLocker):
        (Painter):
        (PlatformCanvas):
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:

2012-03-08  Ryosuke Niwa  <rniwa@webkit.org>

        Get rid of itemTypeAttributeChanged
        https://bugs.webkit.org/show_bug.cgi?id=80666

        Reviewed by Adam Barth.

        This function is unnecessay as we can invalidate m_microDataItemListCaches
        in invalidateCachesThatDependOnAttributes as done for other node lists.

        * dom/Node.cpp:
        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
        * dom/Node.h:
        * dom/NodeRareData.h:
        (NodeListsNodeData):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseAttribute):

2012-03-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r108616.
        http://trac.webkit.org/changeset/108616
        https://bugs.webkit.org/show_bug.cgi?id=80676

        breaks animation on Safari welcome page (Requested by smfr on
        #webkit).

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationController::updateAnimations):
        * page/animation/AnimationControllerPrivate.h:
        (AnimationControllerPrivate):

2012-03-08  Benjamin Poulain  <benjamin@webkit.org>

        Fix the build of WebKit with WTFURL following the removal of ForwardingHeaders/wtf
        https://bugs.webkit.org/show_bug.cgi?id=80652

        Reviewed by Eric Seidel.

        The fowarding headers have been removed, we must now use the full path to the header.

        * platform/KURLWTFURLImpl.h:

2012-03-08  Emil A Eklund  <eae@chromium.org>

        Change calcRadiiFor to IntSize
        https://bugs.webkit.org/show_bug.cgi?id=80655

        Reviewed by Simon Fraser.

        Borders and RoundedRect are both represented with pixel precision. As
        such it doesn't make sense for calcRadiiFor to use subpixel units, it
        just adds unnecessary type conversions.

        No new tests, no new functionality.

        * rendering/style/RenderStyle.cpp:
        (WebCore::calcRadiiFor):

2012-03-08  Adrienne Walker  <enne@google.com>

        [chromium] Encapsulate mask layer settings in LayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=80646

        Reviewed by James Robinson.

        If a WebLayer sets a mask layer, the setIsMask flag will not get set
        properly and the mask layer will not turn off tiling. This was only
        being set through GraphicsLayerChromium. Move this flag into
        LayerChromium so that it always gets set.

        Test: LayoutTests/compositing/

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setMaskLayer):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setMaskLayer):

2012-03-08  Tony Chang  <tony@chromium.org>

        margins on flex-align: baseline are double counted
        https://bugs.webkit.org/show_bug.cgi?id=80645

        Reviewed by Ojan Vafai.

        Fix a bug where we're counting the margins on baseline aligned
        children twice. Also add some test cases to make sure we handle
        wrap-reverse baseline alignment properly.

        Tests: css3/flexbox/multiline-reverse-wrap-baseline-expected.html
               css3/flexbox/multiline-reverse-wrap-baseline.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):

2012-03-08  Nat Duca  <nduca@chromium.org>

        [chromium] Pass setVisibility to CCLayerTreeHostImpl regardless of LRC initialization status
        https://bugs.webkit.org/show_bug.cgi?id=80584

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setVisible):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::setVisible):
        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

2012-03-08  Ian Vollick  <vollick@chromium.org>

        [chromium] Ensure that the cc thread animation framework continues to tick when the tab is backgrounded
        https://bugs.webkit.org/show_bug.cgi?id=77668

        Reviewed by James Robinson.

        Tested in CCLayerTreeHostTestTickAnimationWhileBackgrounded

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (CCLayerTreeHostImplTimeSourceAdapter):
        (WebCore::CCLayerTreeHostImplTimeSourceAdapter::create):
        (WebCore::CCLayerTreeHostImplTimeSourceAdapter::~CCLayerTreeHostImplTimeSourceAdapter):
        (WebCore::CCLayerTreeHostImplTimeSourceAdapter::onTimerTick):
        (WebCore::CCLayerTreeHostImplTimeSourceAdapter::setActive):
        (WebCore::CCLayerTreeHostImplTimeSourceAdapter::CCLayerTreeHostImplTimeSourceAdapter):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::setVisible):
        (WebCore::CCLayerTreeHostImpl::animateLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore):
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCProxy.cpp:
        (WebCore::CCProxy::currentThread):
        (WebCore):
        (WebCore::CCProxy::isMainThread):
        (WebCore::CCProxy::isImplThread):
        (WebCore::CCProxy::setCurrentThreadIsImplThread):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):

2012-03-08  Nico Weber  <thakis@chromium.org>

        [chromium] Only build NEON files if target_arch=="arm"
        https://bugs.webkit.org/show_bug.cgi?id=80626

        Currently, webcore_arm_neon will compile a bunch of files
        whose contents are completely ifdef'd away on non-arm, and
        then bundle all the generated empty .o files into a useless
        libwebcore_arm_neon.a. Don't do this.

        Reviewed by Tony Chang.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2012-03-08 Nima Ghanavatian <nghanavatian@rim.com>

        [BlackBerry] Fix warning in PlatformTouchEventBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=80621

        Fixes a warning seen when control reaches the end of a
        non-void function.  Return TouchCancel in the 'default' case.

        Reviewed by Rob Buis.

        * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
        (WebCore::touchEventType):

2012-03-08  Dana Jansens  <danakj@chromium.org>

        [chromium] Using wrong scissor rect for draw culling
        https://bugs.webkit.org/show_bug.cgi?id=80624

        Reviewed by Adrienne Walker.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):

2012-03-08  Andy Estes  <aestes@apple.com>

        REGRESSION (r105396): Dragging an iWork document into icloud.com opens it in the Mac app instead of uploading it to icloud.com
        https://bugs.webkit.org/show_bug.cgi?id=79443

        Reviewed by Ryosuke Niwa.

        icloud.com registers a drop event handler that sets display:none on the
        file input element receiving the drop. After dispatching the drop event,
        DragController hit tests the position under the mouse to see if it is a
        file input element in need of receiving files. Since the file input
        element has lost its renderer, it cannot be found by hit testing, so
        the dropped file is never attached to the file input element, no change
        event fires, and no upload commences. We want these things to happen
        even if the element is no longer visible.

        Since we already keep track of the file input element under the mouse
        via m_fileInputElementUnderMouse, this additional hit test is
        unnecessary. Use m_fileInputElementUnderMouse in concludeEditDrag()
        when dropping files.

        Test: fast/events/file-input-hidden-in-ondrop.html

        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag): Use
        m_fileInputElementUnderMouse instead of the element returned by hit
        testing. Assert that m_fileInputElementUnderMouse equals the hit tested
        element unless m_fileInputElementUnderMouse doesn't have a renderer.

2012-03-08  Ryosuke Niwa  <rniwa@webkit.org>

        Mac build fix for micro data API.

        * Configurations/FeatureDefines.xcconfig:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::removeCachedMicroDataItemList):
        * html/HTMLElement.idl:

2012-03-07  Jon Lee  <jonlee@apple.com>

        Support [Custom] for static functions
        https://bugs.webkit.org/show_bug.cgi?id=80573

        Reviewed by Kentaro Hara.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader): If the function is static, add static qualifier to cpp function.
        (GenerateImplementation): Reorganize the function to split out based on the static
        attribute, instead of checking for it at every line we output.
            If the function is static and not custom, the listed code should be the code in
        the rest of the function that did not have the static check. If it is custom, then
        we check the number of arguments, and then call the static impl function directly.
            If the function is not static, all of the "unless ($function->isStatic)" checks
        are removed since it is not necessary.

        * bindings/scripts/test/TestObj.idl: Added new test case.

        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjConstructorFunctionClassMethod2):
        * bindings/scripts/test/JS/JSTestObj.h:
        (JSTestObj):
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj classMethod2]):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::ConfigureV8TestObjTemplate):
        * bindings/scripts/test/V8/V8TestObj.h:
        (V8TestObj):

2012-03-08  Mark Pilgrim  <pilgrim@chromium.org>

        Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB)
        https://bugs.webkit.org/show_bug.cgi?id=80592

        Reviewed by Adam Barth.

        In anticipation of moving FILE_SYSTEM-related code to Modules/, we
        are collapsing combination BLOB/FILE_SYSTEM ifdefs to just
        BLOB. In other words, it is assumed from now on that you can not
        have FILE_SYSTEM support without BLOB support.
        
        No new tests, all existing tests pass.

        * CMakeLists.txt:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore):
        (WebCore::ScriptExecutionContext::fileThread):
        * dom/ScriptExecutionContext.h:
        (WebCore):
        (ScriptExecutionContext):
        * fileapi/AsyncFileStream.cpp:
        * fileapi/AsyncFileStream.h:
        * fileapi/FileError.h:
        * fileapi/FileException.cpp:
        * fileapi/FileException.h:
        * fileapi/FileThread.cpp:
        * fileapi/FileThread.h:
        * fileapi/OperationNotAllowedException.cpp:
        * fileapi/OperationNotAllowedException.h:
        * platform/FileStream.cpp:
        * platform/FileStream.h:
        * platform/FileStreamClient.h:
        * platform/SchemeRegistry.cpp:
        (WebCore::canDisplayOnlyIfCanRequestSchemes):
        (WebCore::CORSEnabledSchemes):
        (WebCore::SchemeRegistry::registerURLSchemeAsNotAllowingJavascriptURLs):

2012-03-08  James Robinson  <jamesr@chromium.org>

        Use an explicit attribute to signal that a context prefers to use a discrete GPU
        https://bugs.webkit.org/show_bug.cgi?id=80639

        Reviewed by Stephen White.

        On platforms that support both integrated and discrete GPUs and can dynamically switch between the two, we
        sometimes have a specific preference for a given context. Specifically, contexts used for WebGL and canvas 2d
        acceleration should use the discrete GPU if available, but compositor contexts can run fine on an integrated
        GPU. Instead of attempting to infer the intent from examining other context attributes, this adds an explicit
        attribute to control this behavior.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::create):
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::Attributes::Attributes):
        (Attributes):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::get):

2012-03-08  Andy Estes  <aestes@apple.com>

        NULL renderer possible in WebCore::HTMLInputElement::setCanReceiveDroppedFiles()
        https://bugs.webkit.org/show_bug.cgi?id=80648

        Reviewed by Simon Fraser.

        Test: fast/events/input-element-display-none-in-dragleave-crash.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setCanReceiveDroppedFiles): NULL-check renderer().

2012-03-08  Jer Noble  <jer.noble@apple.com>

        Yet another unreviewed build fix.

        Remove an unneeded and Lion-defined window constant from WebCoreFullScreenWindow.

        * platform/mac/WebCoreFullScreenWindow.mm:
        (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):

2012-03-08  Levi Weintraub  <leviw@chromium.org>

        Switch absoluteRects, culledInlineAbsoluteRects, absoluteBoundingBoxRect, and addFocusRingRects back to integers
        https://bugs.webkit.org/show_bug.cgi?id=80545

        Reviewed by Simon Fraser.

        Converting the above functions, all of which return rects that represent on-screen rects, to IntRects from
        LayoutRects.

        addFocusRingsRects generates a vector of rects that is handed off directly to the GraphicsContext to be
        drawn. Snapping the rects before adding them to the vector saves an extra pass through the vector.

        absoluteRects and culledInlineAbsoluteRects are only used by addFocusRingRects, hasNonEmptyBoundingBox (only
        to check if they're empty), and absoluteBoundingBoxRect, which is exposed from WebCore and thus should be an
        IntRect anyways.

        No new tests. No change in behavior.

        * dom/Node.cpp:
        (WebCore::Node::hasNonEmptyBoundingBox):
        * dom/Range.cpp:
        (WebCore::Range::boundingBox):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::absoluteRects):
        (WebCore::RenderBlock::addFocusRingRects):
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::absoluteRects):
        (WebCore::RenderInline::culledInlineAbsoluteRects):
        (WebCore::RenderInline::addFocusRingRects):
        * rendering/RenderInline.h:
        (RenderInline):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::addFocusRingRects):
        * rendering/RenderListBox.h:
        (RenderListBox):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintFocusRing):
        (WebCore::RenderObject::absoluteBoundingBoxRect):
        (WebCore::RenderObject::absoluteFocusRingQuads):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::absoluteRects):
        (RenderObject):
        (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
        (WebCore::RenderObject::addFocusRingRects):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteRects):
        (WebCore::RenderText::absoluteRectsForRange):
        * rendering/RenderText.h:
        (RenderText):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::addFocusRingRects):
        * rendering/RenderTextControl.h:
        (RenderTextControl):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::absoluteRects):
        * rendering/RenderView.h:
        (RenderView):
        * rendering/svg/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::absoluteRects):
        * rendering/svg/RenderSVGBlock.h:
        (RenderSVGBlock):
        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::addFocusRingRects):
        * rendering/svg/RenderSVGContainer.h:
        (RenderSVGContainer):
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::addFocusRingRects):
        * rendering/svg/RenderSVGImage.h:
        (RenderSVGImage):
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::absoluteRects):
        * rendering/svg/RenderSVGModelObject.h:
        (RenderSVGModelObject):
        * rendering/svg/RenderSVGShape.cpp:
        (WebCore::RenderSVGShape::addFocusRingRects):
        * rendering/svg/RenderSVGShape.h:
        (RenderSVGShape):

2012-03-08  Erik Arvidsson  <arv@chromium.org>

        [V8] Use EventNames instead of strings
        https://bugs.webkit.org/show_bug.cgi?id=80649

        Reviewed by Ojan Vafai.

        No new tests. Covered by existing tests.

        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):

2012-03-08  Tim Horton  <timothy_horton@apple.com>

        No-op filter changes color output because of colorspace issues
        https://bugs.webkit.org/show_bug.cgi?id=72411
        <rdar://problem/10588374>

        Reviewed by Dean Jackson.

        Redefine "linear RGB" color space on Mac to mean linearized sRGB, instead of linear
        Generic RGB. This makes existing CG color matching equivalent to what other ports do via
        ImageBuffer::transformColorSpace (which only adjusts gamma, as we will now). Previously,
        we were also causing actual (non-gamma) color adjustments which were not reversible.

        No new tests, covered by all existing SVG and CSS filter tests.

        * Resources/linearSRGB.icc: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::linearRGBColorSpaceRef):

2012-03-08  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=80463
        RenderImage is using the wrong origin when calling addRelevantRepaintedObject
        -and corresponding-
        <rdar://problem/10970221>

        Reviewed by Dan Bernstein.

        Use the exact same rect that we paint with instead of the 
        visualOverflowRect() which does not always have a correct x and y.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::paintReplaced):

2012-03-08  Jer Noble  <jer.noble@apple.com>

        Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
        https://bugs.webkit.org/show_bug.cgi?id=78928

        Reviewed by Anders Carlsson.

        Move WKFullScreenWindow from WebKit2 into WebCore to be shared by WebKit2 and WebKit.
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/WebCoreFullScreenWindow.h:
        * platform/mac/WebCoreFullScreenWindow.mm:

        Add symbols for the following classes and functions to the export list:
            WebCoreFullScreenWindow
            WebWindowScaleAnimation
            WebWindowFadeAnimation
            ScrollView::contentsToScreen()
            RenderObject::localToContainerQuad()
            Document::setAnimatingFullScreen()
        * WebCore.exp.in:

2012-03-08  Jer Noble  <jer.noble@apple.com>

        Full Screen Refactor Part 1: Remove special-case rendering code for Full Screen animation.
        https://bugs.webkit.org/show_bug.cgi?id=78925

        Reviewed by John Sullivan.

        No new tests; no net change in functionality so covered by existing tests.

        The following functions had special case code for rendering full-screen elements removed:
        * dom/Document.cpp:
        (WebCore::Document::webkitWillEnterFullScreenForElement):
        (WebCore::Document::webkitDidEnterFullScreenForElement):
        (WebCore::Document::webkitWillExitFullScreenForElement):
        (WebCore::Document::webkitDidExitFullScreenForElement):
        (WebCore::Document::setAnimatingFullScreen):
        * page/FrameView.cpp:
        (WebCore):
        (WebCore::FrameView::updateCompositingLayers):
        (WebCore::FrameView::syncCompositingStateForThisFrame):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::layerOrAncestorIsTransformed):
        (WebCore::RenderLayerBacking::updateCompositedBounds):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        * rendering/RenderLayerCompositor.h:

2012-03-08  Matt Lilek  <mrl@apple.com>

        Don't enable VIDEO_TRACK on all OS X platforms
        https://bugs.webkit.org/show_bug.cgi?id=80635

        Reviewed by Eric Carlson.

        * Configurations/FeatureDefines.xcconfig:

2012-03-08  Tony Chang  <tony@chromium.org>

        implement flexbox wrap-reverse
        https://bugs.webkit.org/show_bug.cgi?id=80552

        Reviewed by Ojan Vafai.

        No new tests, but additional coverage in:
            css3/flexbox/multiline-align.html
            css3/flexbox/multiline-pack.html
            css3/flexbox/multiline.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext): Helper struct to hold information needed for reversing
        the order of lines.
        (RenderFlexibleBox::WrapReverseContext):
        (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
        (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
        (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta): Computes the number of pixels to move a line.
        (WebCore):
        (WebCore::RenderFlexibleBox::layoutFlexItems): Call flipForWrapReverse if needed. This happens
        before flipForRightToLeftColumn because otherwise the crossAxisOffsets will be wrong.
        (WebCore::flexAlignForChild):
        (WebCore::RenderFlexibleBox::alignChildren): Flip alignment in wrap-reverse because the cross directions are flipped.
        (WebCore::RenderFlexibleBox::flipForWrapReverse): Flip each line.
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-03-08  Adam Klein  <adamk@chromium.org>

        Remove InDocumentFlag manipulation methods from Node interface
        https://bugs.webkit.org/show_bug.cgi?id=80612

        Reviewed by Ryosuke Niwa.

        This is a first step towards tightening up Node::inDocument() to match
        the actual in-document-tree state (see r108152 for the sort of bug
        resulting from those not matching).

        No new tests, refactoring only.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removedFromDocument): Remove duplicate call to clearInDocument:
        the call to Node::removedFromDocument three lines above will clear the flag.
        * dom/Document.cpp:
        (WebCore::Document::Document): Call ContainerNode constructor with InDocumentFlag always set
        instead of calling setInDocument.
        * dom/Node.cpp:
        (WebCore::Node::insertedIntoDocument): Inline setInDocument (now the only caller).
        (WebCore::Node::removedFromDocument): Inline clearInDocument (now the only caller).
        * dom/Node.h: Remove setInDocument & clearInDocument, add new CreateDocument ConstructionType.

2012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Try to fix the Snow Leopard build

        If the build is running under sh, echo -n does not empty the file.

        * DerivedSources.pri:

2012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Prospective build fix for Qt minimal after r110191

        https://bugs.webkit.org/show_bug.cgi?id=80338

        * testing/Internals.cpp:
        (WebCore):
        * testing/Internals.h:
        (Internals):

2012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Prospective Windows build fix

        Don't assume that windows-builds will always run inside a cmd.exe shell.

        * DerivedSources.pri:

2012-03-08  Vivek Galatage  <vivekgalatage@gmail.com>

        Web Inspector: Creating a selector for class names with trailing spaces results with two dots instead of one
        https://bugs.webkit.org/show_bug.cgi?id=80529

        Trim the className before replacing the whitespaces with dot "."

        Reviewed by Pavel Feldman.

        No new tests.

        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype.appropriateSelectorFor):

2012-03-08  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10981173> Dashboard regions should not be in device space

        Reviewed by John Sullivan.

        Test: TestWebKitAPI/Tests/mac/DeviceScaleFactorInDashboardRegions.mm

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::addDashboardRegions): Stop applying the device scale factor to
        Dashboard regions.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addDashboardRegions): Ditto.

2012-03-08  Cem Kocagil  <cem.kocagil@gmail.com>

        Web Inspector: Cannot insert right curly bracket on some keyboards
        https://bugs.webkit.org/show_bug.cgi?id=80474

        Make sure other modifiers are not pressed

        Reviewed by Pavel Feldman

        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):

2012-03-08  Max Vujovic  <mvujovic@adobe.com>

        Add a method to window.internals to enable testing of inspector highlight rects
        https://bugs.webkit.org/show_bug.cgi?id=80338

        Reviewed by Pavel Feldman.

        Add window.internals.inspectorHighlightRects, a method which makes it possible to test the
        positions and sizes of inspector highlight rects.

        Test: inspector/elements/highlight-node.html

        * WebCore.exp.in: Export symbols.
        * testing/Internals.cpp:
        (WebCore::Internals::inspectorHighlightRects): Call InspectorController::getHighlight and
        return the highlight's quads as a ClientRectList.
        (WebCore):
        * testing/Internals.h:
        (WebCore):
        (Internals):
        * testing/Internals.idl:

            Add inspectorHighlightRects to the window.internals interface.

2012-03-08  Antti Koivisto  <antti@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=80370
        Enable matched declaration caching for elements with a style attribute

        Reviewed by Andreas Kling

        Make the property set for style attribute immutable as long as there is no CSSOM
        wrapper for it. If the style attribute changes we create a new property set instead
        of recycling the old one. This way the property sets can be made cacheable as long
        as there is no CSSOM wrapper that would allow uncontrolled modifications. Constructing
        the wrapper disables caching.
        
        Made StyledElement::inlineStyle() and StyledElement::ensureInlineStyle() return a const
        StylePropertySet so making accidental modifications difficult. Also dropped *Decl from
        the names.
        
        Fixed two unrelated bugs that this exposed.

        * css/CSSStyleSelector.cpp:
        
            Don't allow caching of document element style if writingModeSetOnDocumentElement() bit is set.
            Tested by fast/multicol/vertical-rl/break-properties.html.
        
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/StylePropertySet.h:
        (StylePropertySet):
        (WebCore::StylePropertySet::hasCSSOMWrapper):
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        
            Invalidate the matched properties cache if the document has rem units and the root font changes.
            Tested by fast/css/rem-dynamic-scaling.html.
        
        * dom/ElementAttributeData.cpp:
        (WebCore):
        (WebCore::ElementAttributeData::ensureInlineStyle):
        (WebCore::ElementAttributeData::ensureMutableInlineStyle):
        (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
        (WebCore::ElementAttributeData::destroyInlineStyle):
        * dom/ElementAttributeData.h:
        (WebCore::ElementAttributeData::inlineStyle):
        (ElementAttributeData):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateStyleAttribute):
        (WebCore::StyledElement::~StyledElement):
        (WebCore):
        (WebCore::StyledElement::style):
        (WebCore::StyledElement::parseAttribute):
        (WebCore::StyledElement::setInlineStyleProperty):
        (WebCore::StyledElement::removeInlineStyleProperty):
        (WebCore::StyledElement::addSubresourceAttributeURLs):
        * dom/StyledElement.h:
        (WebCore::StyledElement::inlineStyle):
        (WebCore::StyledElement::ensureInlineStyle):
        (StyledElement):
        (WebCore::StyledElement::destroyInlineStyle):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::hasNoAttributeOrOnlyStyleAttribute):
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
        (WebCore::ApplyStyleCommand::removeCSSStyle):
        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
        (WebCore::ApplyStyleCommand::addBlockStyle):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        * editing/EditingStyle.cpp:
        (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
        (HTMLTextDecorationEquivalent):
        (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
        (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
        (WebCore::EditingStyle::mergeInlineStyleOfElement):
        (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl):
        (WebCore::EditingStyle::mergeStyle):
        * editing/EditingStyle.h:
        (EditingStyle):
        * editing/RemoveCSSPropertyCommand.cpp:
        (WebCore::RemoveCSSPropertyCommand::doApply):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::appendElement):
        (WebCore::styleFromMatchedRulesAndInlineDecl):
        * html/HTMLElement.cpp:
        (WebCore::StyledElement::copyNonAttributeProperties):
        * html/canvas/CanvasStyle.cpp:
        (WebCore::currentColor):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::serializeFrame):
        (WebCore::PageSerializer::retrieveResourcesForProperties):
        * page/PageSerializer.h:
        (PageSerializer):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::isEmptyOrUnstyledAppleStyleSpan):

2012-03-08  Scott Byer  <scottbyer@chromium.org>

        Have ScrollAnimatorNone use requestAnimationFrame
        https://bugs.webkit.org/show_bug.cgi?id=78938

        Reviewed by James Robinson.

        No new tests. Passes Chromium webkit_unit_tests.

        * page/FrameView.cpp:
        (WebCore::FrameView::serviceScriptedAnimations):
        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::serviceScrollAnimations):
        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
        (WebCore::ScrollAnimatorNone::scroll):
        (WebCore::ScrollAnimatorNone::cancelAnimations):
        (WebCore):
        (WebCore::ScrollAnimatorNone::serviceScrollAnimations):
        (WebCore::ScrollAnimatorNone::animationTimerFired):
        (WebCore::ScrollAnimatorNone::startNextTimer):
        (WebCore::ScrollAnimatorNone::animationTimerActive):
        (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
        * platform/ScrollAnimatorNone.h:
        (ScrollAnimatorNone):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::serviceScrollAnimations):
        (WebCore):
        * platform/ScrollableArea.h:
        (WebCore):
        (ScrollableArea):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::hostWindow):
        (RenderLayer):
        * rendering/RenderListBox.h:
        (WebCore::RenderListBox::hostWindow):
        (RenderListBox):

2012-03-08  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r109964): Assertion failure (!isUndefined()) in Length::getIntValue() when a Dashboard region is specified without offsets
        https://bugs.webkit.org/show_bug.cgi?id=80614

        Reviewed by Beth Dakin.

        Test: fast/css/dashboard-regions-undefined-length-assertion.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList): Reverted to setting zero lengths,
        rather than Undefined ones, in the RenderStyle when offsets are not given.

2012-03-08  Mikkel Kruse Johnsen  <mikkel@linet.dk>

        WebKitGtk+ fails to build on win32 against GTK3
        https://bugs.webkit.org/show_bug.cgi?id=63919

        Reviewed by Gustavo Noronha Silva.

        * plugins/gtk/PluginViewGtk.cpp: Don't use gtk_socket_new with GTK3 on Win32
        (WebCore::PluginView::platformStart):

2012-03-08  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry]New feature: support about:cookie for internal build.
        https://bugs.webkit.org/show_bug.cgi?id=80367

        Reviewed by Antonio Gomes.

        No new tests.

        * platform/blackberry/CookieManager.cpp:
        (WebCore::CookieManager::generateHtmlFragmentForCookies):
        (WebCore):
        * platform/blackberry/CookieManager.h:
        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleAbout):

2012-03-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Make elements with attributes smaller by eliminating the m_element back pointer in NamedNodeMap
        https://bugs.webkit.org/show_bug.cgi?id=75069

        Reviewed by Ryosuke Niwa.

        NamedNodeMap is an exposed DOM representation of an element's attribute storage. As part of
        its implementation it keeps a pointer to its associated Element plus all the attribute
        storage.

        This commit separate the two things: NamedNodeMap is now a wrapper to Element, containing
        only the pointer, and the attribute storage is now owned by Element directly. Since usage
        of NamedNodeMap is not very common, it can be stored in ElementRareData. As a result, most
        elements with attributes now don't need to allocate memory for that extra pointer in
        NamedNodeMap.

        One consequence of this implementation is that now we explicitly don't support
        DocumentType.notations and DocumentType.entities. They weren't supported before, a
        NamedNodeMap was never created for those attributes -- and some NamedNodeMap functions
        wouldn't work correctly without an associated Element.

        NamedNodeMap itself was cleaned up, as well as unnecessary references to it removed in the
        code and comments.

        No new tests and should not change results for existing tests.

        * dom/Attribute.h:
        (WebCore):
        * dom/DocumentType.h:
        (DocumentType): Point out that we don't support does attributes yet.
        * dom/Element.cpp:
        (WebCore::Element::~Element): Detaching the NamedNodeMap is no longer necessary because it
        will be destroyed. We still detach the potential Attrs inside our Attributes by using
        clearAttributes().
        (WebCore::Element::attributes): Looks in ElementRareData now. Note we ensure the creation
        of the attribute storage.
        (WebCore):
        (WebCore::Element::getAttribute):
        (WebCore::Element::setAttributeInternal):
        (WebCore::Element::parserSetAttributes):
        (WebCore::Element::hasAttributes):
        (WebCore::Element::createAttributeData):
        (WebCore::Element::insertedIntoDocument):
        (WebCore::Element::removedFromDocument):
        (WebCore::Element::getURLAttribute):
        (WebCore::Element::getNonEmptyURLAttribute):
        (WebCore::Element::hasNamedNodeMap): Helper function for Node::dumpStatistics().
        * dom/Element.h:
        (Element):
        (WebCore::Element::attributeData):
        (WebCore::Element::ensureAttributeData):
        (WebCore::Element::fastHasAttribute):
        (WebCore::Element::fastGetAttribute):
        (WebCore::Element::hasAttributesWithoutUpdate):
        (WebCore::Element::idForStyleResolution):
        (WebCore::Element::attributeCount):
        (WebCore::Element::attributeItem):
        (WebCore::Element::getAttributeItem):
        * dom/ElementAttributeData.h:
        (WebCore::ElementAttributeData::create):
        (ElementAttributeData):
        * dom/ElementRareData.h:
        (ElementRareData):
        * dom/NamedNodeMap.cpp: Rewriting now that m_attributeData is not a member, using m_element
        methods when possible.
        (WebCore::NamedNodeMap::ref):
        (WebCore::NamedNodeMap::deref):
        (WebCore::NamedNodeMap::getNamedItem):
        (WebCore::NamedNodeMap::getNamedItemNS):
        (WebCore::NamedNodeMap::removeNamedItem):
        (WebCore::NamedNodeMap::removeNamedItemNS):
        (WebCore::NamedNodeMap::setNamedItem):
        (WebCore::NamedNodeMap::item):
        (WebCore::NamedNodeMap::length):
        * dom/NamedNodeMap.h:
        (WebCore):
        (WebCore::NamedNodeMap::create):
        (NamedNodeMap):
        (WebCore::NamedNodeMap::NamedNodeMap): Instead of asserting m_element in every function, we
        now assert only in the constructor.
        * dom/Node.cpp:
        (WebCore::Node::dumpStatistics): Add a counter for elements with rare data, this allows us
        compare more clearly the impact of moving NamedNodeMap there.
        (WebCore::Node::isEqualNode): Remove use of mapsEquivalent(). It was dead code, because
        both entities and notations were always NULL.
        (WebCore::Node::compareDocumentPosition):
        * inspector/DOMPatchSupport.h:
        (WebCore):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::attributeChanged):

2012-03-08  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream WebGL related files from platform/graphics
        https://bugs.webkit.org/show_bug.cgi?id=79876

        Reviewed by Rob Buis.

        Initial upstream, no new tests.

        * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp: Added.
        (WebCore):
        (DrawingBufferInternal):
        (WebCore::generateColorTexture):
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        (WebCore::DrawingBuffer::reset):
        (WebCore::DrawingBuffer::platformLayer):
        * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::GraphicsContext3D::create):
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        (WebCore::GraphicsContext3D::~GraphicsContext3D):
        (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
        (WebCore::GraphicsContext3D::makeContextCurrent):
        (WebCore::GraphicsContext3D::isGLES2Compliant):
        (WebCore::GraphicsContext3D::isGLES2NPOTStrict):
        (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
        (WebCore::GraphicsContext3D::platformTexture):
        (WebCore::GraphicsContext3D::platformLayer):
        (WebCore::GraphicsContext3D::paintToCanvas):
        (WebCore::GraphicsContext3D::setContextLostCallback):
        * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp: Added.
        (WebCore):
        (WebCore::WebGLLayerWebKitThread::WebGLLayerWebKitThread):
        (WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
        (WebCore::WebGLLayerWebKitThread::setNeedsDisplay):
        (WebCore::WebGLLayerWebKitThread::updateTextureContentsIfNeeded):
        * platform/graphics/blackberry/WebGLLayerWebKitThread.h: Added.
        (WebCore):
        (WebGLLayerWebKitThread):
        (WebCore::WebGLLayerWebKitThread::create):
        (WebCore::WebGLLayerWebKitThread::setWebGLContext):

2012-03-08  Yong Li  <yoli@rim.com>

        [BlackBerry] LayerRender should turn off stencil/scissor after drawing layers
        https://bugs.webkit.org/show_bug.cgi?id=80598

        Reviewed by Rob Buis.

        Turn off stencil/scissor after using them to avoid affecting later GL operation
        accidentally.

        * platform/graphics/blackberry/LayerRenderer.cpp:
        (WebCore::LayerRenderer::drawLayers):

2012-03-08  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Windows build fix.

        Reviewed by Tor Arne Vestbø.

        * DerivedSources.pri: Replace commandline that is too long for Windows with
        separate lines to be executed in the Makefile for the IDL preprocessing.

2012-03-08  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: The function had to return a hash but it returned just address.
        https://bugs.webkit.org/show_bug.cgi?id=80591

        Reviewed by Yury Semikhatsky.

        * bindings/v8/RetainedDOMInfo.cpp:
        (WebCore::RetainedDOMInfo::GetHash):

2012-03-08  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed single line fix. The function had to return a hash but it returned just address.

        * bindings/v8/V8GCController.cpp:
        (WebCore::UnspecifiedGroup::GetHash):

2012-03-08  Shinya Kawanaka  <shinyak@chromium.org>

        <shadow> should be rendered correctly.
        https://bugs.webkit.org/show_bug.cgi?id=78596

        Reviewed by Hajime Morita.

        This patch supports <shadow> element rendering.

        When attaching <shadow> element, if it is in the oldest shadow tree, it runs a part of
        distribution algorithm. If it is in non-oldest shadow tree, it runs tree a part of
        tree composition algorithm to assign a older shadow root. In this patch, InsertionPonit
        try to treat the distributed host children and the assigned shadow children similarly.

        NodeRenderingContext supports rendering <shadow> element. Since the assigned shadow children
        are treated like distributed host children, that change is to consider non-youngest shadow
        tree basically also.

        Tests: fast/dom/shadow/shadow-element-rendering-multiple.html
               fast/dom/shadow/shadow-element-rendering-single.html

        * dom/NodeRenderingContext.cpp:
        (WebCore):
        (WebCore::NodeRenderingContext::NodeRenderingContext):
          Does not ignore non-youngest shadow tree.
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::ShadowRoot):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        (WebCore::ShadowRoot::assignedTo):
        (WebCore):
        (WebCore::ShadowRoot::setAssignedTo):
        (WebCore::ShadowRoot::isUsedForRendering):
          Returns true if ShadowRoot is youngest or assigned to some InsertionPoint.
        (WebCore::toShadowRoot):
        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::insertionPointFor):
          Returns InsertionPoint to which node is distributed.
        * dom/ShadowTree.h:
        (ShadowTree):
        * html/shadow/HTMLContentElement.h:
        (WebCore::HTMLContentElement::doesSelectFromHostChildren):
        (HTMLContentElement):
        * html/shadow/HTMLShadowElement.cpp:
        (WebCore::HTMLShadowElement::HTMLShadowElement):
        (WebCore::HTMLShadowElement::select):
        (WebCore::HTMLShadowElement::doesSelectFromHostChildren):
        (WebCore):
        * html/shadow/HTMLShadowElement.h:
        (HTMLShadowElement):
        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::attach):
        (WebCore::InsertionPoint::detach):
        (WebCore::InsertionPoint::assignedFrom):
        (WebCore):
        (WebCore::InsertionPoint::assignShadowRoot):
        (WebCore::InsertionPoint::clearAssignment):
        * html/shadow/InsertionPoint.h:
        (InsertionPoint):

2012-03-06  Hans Wennborg  <hans@chromium.org>

        Speech JavaScript API: SpeechRecognitionAlternative, Result and ResultList
        https://bugs.webkit.org/show_bug.cgi?id=80424

        Reviewed by Adam Barth.

        Implement the SpeechRecognitionAlternative,
        SpeechRecognitionResult and SpeechRecognitionResultList.
        (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)

        No new tests because these interfaces don't have constructors.
        They will be tested as more of the API gets implemented.

        * Modules/speech/SpeechRecognitionAlternative.cpp: Added.
        (WebCore):
        (WebCore::SpeechRecognitionAlternative::create):
        (WebCore::SpeechRecognitionAlternative::SpeechRecognitionAlternative):
        * Modules/speech/SpeechRecognitionAlternative.h: Added.
        (WebCore):
        (SpeechRecognitionAlternative):
        (WebCore::SpeechRecognitionAlternative::transcript):
        (WebCore::SpeechRecognitionAlternative::confidence):
        * Modules/speech/SpeechRecognitionAlternative.idl: Added.
        * Modules/speech/SpeechRecognitionResult.cpp: Added.
        (WebCore):
        (WebCore::SpeechRecognitionResult::create):
        (WebCore::SpeechRecognitionResult::item):
        (WebCore::SpeechRecognitionResult::SpeechRecognitionResult):
        * Modules/speech/SpeechRecognitionResult.h: Added.
        (WebCore):
        (SpeechRecognitionResult):
        (WebCore::SpeechRecognitionResult::length):
        (WebCore::SpeechRecognitionResult::final):
        * Modules/speech/SpeechRecognitionResult.idl: Added.
        * Modules/speech/SpeechRecognitionResultList.cpp: Added.
        (WebCore):
        (WebCore::SpeechRecognitionResultList::create):
        (WebCore::SpeechRecognitionResultList::item):
        (WebCore::SpeechRecognitionResultList::SpeechRecognitionResultList):
        * Modules/speech/SpeechRecognitionResultList.h: Added.
        (WebCore):
        (SpeechRecognitionResultList):
        (WebCore::SpeechRecognitionResultList::length):
        * Modules/speech/SpeechRecognitionResultList.idl: Added.
        * WebCore.gypi:

2012-03-08  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream GraphicsLayerBlackBerry.{h, cpp}
        https://bugs.webkit.org/show_bug.cgi?id=79867

        Reviewed by Rob Buis.

        Initial upstream, no new tests.

        * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::setLayerBorderColor):
        (WebCore::clearBorderColor):
        (WebCore::setLayerBackgroundColor):
        (WebCore::clearLayerBackgroundColor):
        (WebCore::GraphicsLayer::create):
        (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
        (WebCore::GraphicsLayerBlackBerry::~GraphicsLayerBlackBerry):
        (WebCore::GraphicsLayerBlackBerry::setName):
        (WebCore::GraphicsLayerBlackBerry::setChildren):
        (WebCore::GraphicsLayerBlackBerry::addChild):
        (WebCore::GraphicsLayerBlackBerry::addChildAtIndex):
        (WebCore::GraphicsLayerBlackBerry::addChildBelow):
        (WebCore::GraphicsLayerBlackBerry::addChildAbove):
        (WebCore::GraphicsLayerBlackBerry::replaceChild):
        (WebCore::GraphicsLayerBlackBerry::removeFromParent):
        (WebCore::GraphicsLayerBlackBerry::setPosition):
        (WebCore::GraphicsLayerBlackBerry::setAnchorPoint):
        (WebCore::GraphicsLayerBlackBerry::setSize):
        (WebCore::GraphicsLayerBlackBerry::setTransform):
        (WebCore::GraphicsLayerBlackBerry::setChildrenTransform):
        (WebCore::GraphicsLayerBlackBerry::setPreserves3D):
        (WebCore::GraphicsLayerBlackBerry::setMasksToBounds):
        (WebCore::GraphicsLayerBlackBerry::setDrawsContent):
        (WebCore::GraphicsLayerBlackBerry::setContentsVisible):
        (WebCore::GraphicsLayerBlackBerry::setMaskLayer):
        (WebCore::GraphicsLayerBlackBerry::setReplicatedByLayer):
        (WebCore::GraphicsLayerBlackBerry::setFixedPosition):
        (WebCore::GraphicsLayerBlackBerry::setHasFixedContainer):
        (WebCore::GraphicsLayerBlackBerry::setHasFixedAncestorInDOMTree):
        (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
        (WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
        (WebCore::GraphicsLayerBlackBerry::setContentsOpaque):
        (WebCore::GraphicsLayerBlackBerry::setBackfaceVisibility):
        (WebCore::GraphicsLayerBlackBerry::setOpacity):
        (WebCore::GraphicsLayerBlackBerry::setContentsNeedsDisplay):
        (WebCore::GraphicsLayerBlackBerry::setNeedsDisplay):
        (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
        (WebCore::GraphicsLayerBlackBerry::setContentsRect):
        (WebCore::removeAnimationByIdAndProperty):
        (WebCore::removeAnimationByName):
        (WebCore::GraphicsLayerBlackBerry::addAnimation):
        (WebCore::GraphicsLayerBlackBerry::pauseAnimation):
        (WebCore::GraphicsLayerBlackBerry::removeAnimation):
        (WebCore::GraphicsLayerBlackBerry::suspendAnimations):
        (WebCore::GraphicsLayerBlackBerry::resumeAnimations):
        (WebCore::GraphicsLayerBlackBerry::setContentsToImage):
        (WebCore::GraphicsLayerBlackBerry::updateContentsImage):
        (WebCore::GraphicsLayerBlackBerry::setContentsToCanvas):
        (WebCore::GraphicsLayerBlackBerry::setContentsToMedia):
        (WebCore::GraphicsLayerBlackBerry::hostLayerForSublayers):
        (WebCore::GraphicsLayerBlackBerry::layerForSuperlayer):
        (WebCore::GraphicsLayerBlackBerry::platformLayer):
        (WebCore::GraphicsLayerBlackBerry::setDebugBackgroundColor):
        (WebCore::GraphicsLayerBlackBerry::setDebugBorder):
        (WebCore::GraphicsLayerBlackBerry::updateSublayerList):
        (WebCore::GraphicsLayerBlackBerry::updateLayerPosition):
        (WebCore::GraphicsLayerBlackBerry::updateLayerSize):
        (WebCore::GraphicsLayerBlackBerry::updateAnchorPoint):
        (WebCore::GraphicsLayerBlackBerry::updateTransform):
        (WebCore::GraphicsLayerBlackBerry::updateChildrenTransform):
        (WebCore::GraphicsLayerBlackBerry::updateMasksToBounds):
        (WebCore::GraphicsLayerBlackBerry::updateContentsOpaque):
        (WebCore::GraphicsLayerBlackBerry::updateBackfaceVisibility):
        (WebCore::GraphicsLayerBlackBerry::updateLayerPreserves3D):
        (WebCore::GraphicsLayerBlackBerry::updateLayerIsDrawable):
        (WebCore::GraphicsLayerBlackBerry::updateFixedPosition):
        (WebCore::GraphicsLayerBlackBerry::updateHasFixedContainer):
        (WebCore::GraphicsLayerBlackBerry::updateHasFixedAncestorInDOMTree):
        (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
        (WebCore::GraphicsLayerBlackBerry::updateAnimations):
        (WebCore::GraphicsLayerBlackBerry::updateContentsVideo):
        (WebCore::GraphicsLayerBlackBerry::updateContentsRect):
        (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
        (WebCore::GraphicsLayerBlackBerry::updateOpacityOnLayer):
        (WebCore::GraphicsLayerBlackBerry::contentsVisible):
        * platform/graphics/blackberry/GraphicsLayerBlackBerry.h: Added.
        (WebCore):
        (GraphicsLayerBlackBerry):
        (WebCore::GraphicsLayerBlackBerry::notifySyncRequired):
        (WebCore::GraphicsLayerBlackBerry::notifyAnimationStarted):
        (WebCore::GraphicsLayerBlackBerry::primaryLayer):
        (WebCore::GraphicsLayerBlackBerry::contentsLayer):

2012-03-07  Shinya Kawanaka  <shinyak@chromium.org>

        Refactoring: Remove Node::isContentElement and Node::isShadowElement.
        https://bugs.webkit.org/show_bug.cgi?id=80501

        Reviewed by Hajime Morita.

        Removes Node::isContentElement and Node::isShadowElement. These methods are replaced
        by hasTagName. However the tag name of HTMLContentElement was not consistent,
        this patch make them consistent.

        No new tests. Should be covered by existing tests.

        * dom/Node.h:
        * html/HTMLElement.h:
        (WebCore::HTMLElement::isInsertionPoint):
        (HTMLElement):
        * html/HTMLSummaryElement.cpp:
        (WebCore::SummaryContentElement::SummaryContentElement):
          It uses HTMLNames::divTag as tagname. It should use HTMLNames::webkitShadowTagName.
        * html/shadow/HTMLContentElement.h:
        (HTMLContentElement):
        * html/shadow/InsertionPoint.h:
        (InsertionPoint):
        (WebCore::InsertionPoint::isInsertionPoint):
        (WebCore::isInsertionPoint):
        * testing/Internals.cpp:
        (WebCore::Internals::isValidContentSelect):
        * testing/Internals.h:
        (Internals):

2012-03-07  Adam Barth  <abarth@webkit.org>

        ContainerNode::insertedIntoDocument and removedFromDocument use weak iteration patterns
        https://bugs.webkit.org/show_bug.cgi?id=80569

        Reviewed by Ryosuke Niwa.

        This patch moves ContainerNode::insertedIntoDocument and
        removedFromDocument to using a better iteration pattern in which we
        collect all the nodes we're planning to iterate into a vector and then
        iterate over them.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertedIntoDocument):
        (WebCore::ContainerNode::removedFromDocument):

2012-03-07  Ami Fischman  <fischman@chromium.org>

        [Chromium] Allow CCLayerTreeHost::context() to be called even with the threaded compositor enabled.
        https://bugs.webkit.org/show_bug.cgi?id=80565

        Reviewed by James Robinson.

        This gets triggered by the video HW decode+render path when threaded compositor is enabled
        (https://chromiumcodereview.appspot.com/9639005/)

        No new tests.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::context):

2012-03-07  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
        https://bugs.webkit.org/show_bug.cgi?id=79621

        Reviewed by Andreas Kling.

        ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
        length expressions. All property handlers using this template now work with
        mixed expressions.

        This patch adds a new expression evaluator in CalculationValue.cpp. This is because
        Length.[cpp|h] (in platform) cannot refer to CSSCalculationValue.[cpp|h] (in css) 
        due to layering restrictions.

        Lengths can be copied, and so the expressions are stored in a hashmap, and only their
        ids are copied along with Length. The expressions are RefCounted, and will get 
        cleaned up when the last referring Length is destructed.

        * WebCore.exp.in:
        * css/CSSCalculationValue.cpp:
        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
        (CSSCalcPrimitiveValue):
        (WebCore::CSSCalcBinaryOperation::toCalcValue):
        (CSSCalcBinaryOperation):
        * css/CSSCalculationValue.h:
        (WebCore):
        (CSSCalcExpressionNode):
        (CSSCalcValue):
        (WebCore::CSSCalcValue::toCalcValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        * platform/CalculationValue.cpp:
        (WebCore::CalcExpressionBinaryOperation::evaluate):
        (WebCore):
        (WebCore::CalculationValue::create):
        (WebCore::CalculationValue::evaluate):
        * platform/CalculationValue.h:
        (CalcExpressionNode):
        (WebCore::CalcExpressionNode::~CalcExpressionNode):
        (WebCore):
        (CalculationValue):
        (WebCore::CalculationValue::CalculationValue):
        (CalcExpressionNumber):
        (WebCore::CalcExpressionNumber::CalcExpressionNumber):
        (WebCore::CalcExpressionNumber::evaluate):
        (CalcExpressionLength):
        (WebCore::CalcExpressionLength::CalcExpressionLength):
        (WebCore::CalcExpressionLength::evaluate):
        (CalcExpressionBinaryOperation):
        (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
        * platform/Length.cpp:
        (WebCore):
        (WebCore::Length::~Length):
        (CalculationValueHandleMap):
        (WebCore::CalculationValueHandleMap::CalculationValueHandleMap):
        (WebCore::CalculationValueHandleMap::insert):
        (WebCore::CalculationValueHandleMap::remove):
        (WebCore::CalculationValueHandleMap::get):
        (WebCore::calcHandles):
        (WebCore::Length::Length):
        (WebCore::Length::calculationValue):
        (WebCore::Length::calculatedValue):
        (WebCore::Length::calculatedMinValue):
        (WebCore::Length::calculatedFloatValue):
        (WebCore::Length::incrementCalculatedRef):
        (WebCore::Length::decrementCalculatedRef):
        (WebCore::Length::nonNanCalculatedValue):
        * platform/Length.h:
        (Length):
        (WebCore::Length::Length):
        (WebCore::Length::operator=):
        (WebCore::Length::operator*=):
        (WebCore::Length::value):
        (WebCore::Length::setValue):
        (WebCore::Length::calcValue):
        (WebCore::Length::calcMinValue):
        (WebCore::Length::calcFloatValue):
        (WebCore::Length::isZero):
        (WebCore::Length::isPositive):
        (WebCore::Length::isNegative):
        (WebCore::Length::isPercent):
        (WebCore::Length::isSpecified):
        (WebCore::Length::isCalculated):
        (WebCore::Length::initFromLength):
        (WebCore::Length::calculationHandle):

2012-03-07  Kent Tamura  <tkent@chromium.org>

        Do not refer to resutlsButtonElement and cancelButtonElement to compute paddings of search popups
        https://bugs.webkit.org/show_bug.cgi?id=80564

        Reviewed by Hajime Morita.

        We'd like to reduce dependency of resultsButtonElement and
        cancelButtonElement from RenderTextControlSingleLine.

        No behavior change.

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
        Use the left position of innerBlockElement, instead of the width of resultsButtonElement.
        They are equivalent.
        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
        Use <the container width - right position of innerBlockElement>,
        instead of the width of the cancelButtonElement. They are
        equivalent.

2012-03-07  Mike Lawther  <mikelawther@chromium.org>

        use DEFINE_STATIC_LOCAL on Lengths to avoid exit time destructors
        https://bugs.webkit.org/show_bug.cgi?id=80561

        Reviewed by Eric Seidel.

        This is in preparation for http://wkb.ug/79621 where a destructor is added to Length.

        No new tests as this is not a behaviour change.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyPageSize::getPageSizeFromName):

2012-03-07  Adam Barth  <abarth@webkit.org>

        ContainerNode::willRemove uses a weak iteration pattern
        https://bugs.webkit.org/show_bug.cgi?id=80530

        Reviewed by Ryosuke Niwa.

        This patch moves ContainerNode::willRemove to using a better iteration
        pattern in which we collect all the nodes we're planning to iterate
        into a vector and then iterate over them.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::willRemove):

2012-03-07  Kentaro Hara  <haraken@chromium.org>

        [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
        Element.dataset and Node.attributes
        https://bugs.webkit.org/show_bug.cgi?id=80376

        Reviewed by Adam Barth.

        This patch improves the performance of HTMLElement.classList, Element.dataset
        and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.

        Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
        created every time the DOM attribute is accessed, in spite of the fact that
        the 'hiddenReferenceName' string is static.

        This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
        Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
        since if 'element' exists, it is guaranteed that 'elementValue' is not empty
        and is an Object.

        Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283

        AppleWebKit/JavaScriptCore:
        div.classList : 382ms
        div.classList.foo = 123 : 335ms
        div.dataset : 403ms
        div.dataset.foo = 123 : 5250ms
        div.attributes : 183ms

        Chromium/V8 (without this patch):
        div.classList : 9140ms
        div.classList.foo = 123 : 9086ms
        div.dataset : 9930ms
        div.dataset.foo = 123 : 49698ms
        div.attributes : 13489ms

        Chromium/V8 (with this patch):
        div.classList : 1435ms
        div.classList.foo = 123 : 1470ms
        div.dataset : 1400ms
        div.dataset.foo = 123 : 30396ms
        div.attributes : 1242ms

        No tests. No change in behavior.

        * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
        (WebCore::toV8):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
        (WebCore::toV8):

        * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
        to optimize the macro.
        (WebCore):
        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
        * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
        and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
        or a hidden reference.
        (WebCore):
        (V8HiddenPropertyName):

2012-03-07  Kent Tamura  <tkent@chromium.org>

        Add RenderBoxModelObject::marginWidth() and marginHeight()
        https://bugs.webkit.org/show_bug.cgi?id=80556

        Reviewed by Kentaro Hara.

        They make some code shorter.

        No behavior change.

        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::marginHeight): Added.
        (WebCore::RenderBoxModelObject::marginWidth): Added.
        * inspector/DOMNodeHighlighter.cpp: Use marginHeight() and/or marginWidth().
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatWithRect::FloatWithRect): ditto.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::checkFloatsInCleanLine): ditto.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::repaintLayerRectsForImage): ditto.
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): ditto.
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): ditto.
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild): ditto.
        (WebCore::RenderFlexibleBox::computeNextFlexLine): ditto.
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::culledInlineAbsoluteRects): ditto.
        (WebCore::RenderInline::culledInlineAbsoluteQuads): ditto.
        (WebCore::RenderInline::culledInlineBoundingBox): ditto.
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::trackPieceRectWithMargins): ditto.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::computeLogicalHeight): ditto.
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::computeControlHeight): ditto.

2012-03-07  Jessie Berlin  <jberlin@apple.com>

        Clean Windows build fails after r110033
        https://bugs.webkit.org/show_bug.cgi?id=80553

        Rubber-stamped by Jon Honeycutt and Eric Seidel.

        * WebCore.vcproj/WebCore.vcproj:
        Update the expected location of the copied JSC WTF string implementation files.

2012-03-07  Michael Nordman  <michaeln@google.com>

        [Chromium] Don't be so CRASH() happy in the bindings layer.
        https://bugs.webkit.org/show_bug.cgi?id=75111
        - change the v8 bindings generated code to check for the 'worker is terminating'
          condition prior to committing a suicidal CRASH()
        - fixup custom v8 bindings accordingly
        - simplify bindings/generic/ActiveDOMCallback, there is no need for it to support
          destruction on a different thread

        Reviewed by David Levin.

        No new tests, existing tests apply.

        * bindings/generic/ActiveDOMCallback.cpp: Simplified in general.
        (WebCore):
        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
        (WebCore::ActiveDOMCallback::~ActiveDOMCallback):
        (WebCore::ActiveDOMCallback::canInvokeCallback):
        (WebCore::ActiveDOMCallback::isScriptControllerTerminating): New method to avoid CRASH()ing in exceptional conditions in v8 bindings.
        * bindings/generic/ActiveDOMCallback.h: Derive from ContextDestructionObserver.
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::scheduleExecutionTermination): Use a mutex to provide a memory barrier.
        (WebCore::WorkerScriptController::isExecutionTerminating): New supporting method to avoid CRASH()ing in exceptional conditions.
        * bindings/js/WorkerScriptController.h:
        (WorkerScriptController):
        * bindings/scripts/CodeGeneratorV8.pm: Generates v8 bindding code that uses isScriptControllerTerminating to avoid CRASH()ing.
        (GenerateCallbackImplementation):
        * bindings/scripts/test/V8/V8TestCallback.cpp: Fixup expected outputs of the modified CodeGeneratorV8.pm script.
        (WebCore::V8TestCallback::callbackWithClass1Param):
        (WebCore::V8TestCallback::callbackWithClass2Param):
        (WebCore::V8TestCallback::callbackWithStringList):
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::WorkerScriptController): Initialize a new data member.
        (WebCore::WorkerScriptController::scheduleExecutionTermination): Use a mutex to provide a memory barrier.
        (WebCore::WorkerScriptController::isExecutionTerminating): New supporting method to avoid CRASH()ing in exceptional conditions.
        * bindings/v8/WorkerScriptController.h: Add a pair of new data members, bool + mutex.
        (WorkerScriptController):
        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8SQLStatementErrorCallback::handleEvent):
        * bindings/v8/custom/V8MutationCallbackCustom.cpp:
        (WebCore::V8MutationCallback::handleEvent):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext): Initilaize data members.
        (WebCore::ScriptExecutionContext::stopActiveDOMObjects): Set m_activeDOMObjectsAreStopped.
        * dom/ScriptExecutionContext.h: Add m_activeDOMObjectsAreStopped data member.
        (WebCore::ScriptExecutionContext::activeDOMObjectsAreStopped): Simple getter.
        (ScriptExecutionContext):

2012-03-07  Kent Tamura  <tkent@chromium.org>

        Remove meaningless code in RenderTextControlSingleLine::preferredContentWidth()
        https://bugs.webkit.org/show_bug.cgi?id=80493

        Reviewed by Hajime Morita.

        preferredContentWidth() added border+padding widths of the search result
        button, search cancel button, and speech input button. It makes no sense
        to make the intrinsic width wider by only their border+padding width,
        not their content width.

        The default borders and paddings of these buttons are 0 in all
        platforms, and adding border or padding to these elements by page
        authors made unreasonable behavior. So we had better remove this
        code.

        Tests: fast/forms/search/intrinsic-search-width-with-decoration-border-padding.html
               fast/speech/intrinsic-input-width-with-speech-border-padding.html

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
         Remove the meaningless code.
        * rendering/RenderTextControlSingleLine.h:
        (RenderTextControlSingleLine): Remove speechButtonElement(). It's unnecessary.

2012-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r110126.
        http://trac.webkit.org/changeset/110126
        https://bugs.webkit.org/show_bug.cgi?id=80558

        compile failed on AppleMac (Requested by ukai on #webkit).

        * WebCore.exp.in:
        * css/CSSCalculationValue.cpp:
        * css/CSSCalculationValue.h:
        (WebCore):
        (CSSCalcExpressionNode):
        (CSSCalcValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        * platform/CalculationValue.cpp:
        * platform/CalculationValue.h:
        * platform/Length.cpp:
        (WebCore::newLengthArray):
        * platform/Length.h:
        (WebCore::Length::operator*=):
        (WebCore::Length::value):
        (WebCore::Length::setValue):
        (Length):
        (WebCore::Length::calcValue):
        (WebCore::Length::calcMinValue):
        (WebCore::Length::calcFloatValue):
        (WebCore::Length::isZero):
        (WebCore::Length::isPositive):
        (WebCore::Length::isNegative):
        (WebCore::Length::isPercent):
        (WebCore::Length::isSpecified):

2012-03-05  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Make Node::dumpStatistics() work again
        https://bugs.webkit.org/show_bug.cgi?id=80327

        Reviewed by Ryosuke Niwa.

        Update the code in dumpStatistics() to the latest attribute storage changes. Also
        move the DUMP_NODE_STATISTICS define here from the Node.cpp, since its also used
        by Document.h.

        * dom/Node.cpp:
        (WebCore::Node::dumpStatistics): Use more self-describing variable names.
        * dom/Node.h:

2012-03-07  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
        https://bugs.webkit.org/show_bug.cgi?id=79621

        Reviewed by Andreas Kling.

        ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
        length expressions. All property handlers using this template now work with
        mixed expressions.

        This patch adds a new expression evaluator in CalculationValue.cpp. This is because
        Length.[cpp|h] (in platform) cannot refer to CSSCalculationValue.[cpp|h] (in css) 
        due to layering restrictions.

        Lengths can be copied, and so the expressions are stored in a hashmap, and only their
        ids are copied along with Length. The expressions are RefCounted, and will get 
        cleaned up when the last referring Length is destructed.

        * WebCore.exp.in:
        * css/CSSCalculationValue.cpp:
        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
        (CSSCalcPrimitiveValue):
        (WebCore::CSSCalcBinaryOperation::toCalcValue):
        (CSSCalcBinaryOperation):
        * css/CSSCalculationValue.h:
        (WebCore):
        (CSSCalcExpressionNode):
        (CSSCalcValue):
        (WebCore::CSSCalcValue::toCalcValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        * platform/CalculationValue.cpp:
        (WebCore::CalcExpressionBinaryOperation::evaluate):
        (WebCore):
        (WebCore::CalculationValue::create):
        (WebCore::CalculationValue::evaluate):
        * platform/CalculationValue.h:
        (CalcExpressionNode):
        (WebCore::CalcExpressionNode::~CalcExpressionNode):
        (WebCore):
        (CalculationValue):
        (WebCore::CalculationValue::CalculationValue):
        (CalcExpressionNumber):
        (WebCore::CalcExpressionNumber::CalcExpressionNumber):
        (WebCore::CalcExpressionNumber::evaluate):
        (CalcExpressionLength):
        (WebCore::CalcExpressionLength::CalcExpressionLength):
        (WebCore::CalcExpressionLength::evaluate):
        (CalcExpressionBinaryOperation):
        (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
        * platform/Length.cpp:
        (WebCore):
        (WebCore::Length::~Length):
        (CalculationValueHandleMap):
        (WebCore::CalculationValueHandleMap::CalculationValueHandleMap):
        (WebCore::CalculationValueHandleMap::insert):
        (WebCore::CalculationValueHandleMap::remove):
        (WebCore::CalculationValueHandleMap::get):
        (WebCore::calcHandles):
        (WebCore::Length::Length):
        (WebCore::Length::calculationValue):
        (WebCore::Length::calculatedValue):
        (WebCore::Length::calculatedMinValue):
        (WebCore::Length::calculatedFloatValue):
        (WebCore::Length::incrementCalculatedRef):
        (WebCore::Length::decrementCalculatedRef):
        (WebCore::Length::nonNanCalculatedValue):
        * platform/Length.h:
        (Length):
        (WebCore::Length::Length):
        (WebCore::Length::operator=):
        (WebCore::Length::operator*=):
        (WebCore::Length::value):
        (WebCore::Length::setValue):
        (WebCore::Length::calcValue):
        (WebCore::Length::calcMinValue):
        (WebCore::Length::calcFloatValue):
        (WebCore::Length::isZero):
        (WebCore::Length::isPositive):
        (WebCore::Length::isNegative):
        (WebCore::Length::isPercent):
        (WebCore::Length::isSpecified):
        (WebCore::Length::isCalculated):
        (WebCore::Length::initFromLength):
        (WebCore::Length::calculationHandle):

2012-03-07  Emil A Eklund  <eae@chromium.org>

        Change remaining scroll methods to integers
        https://bugs.webkit.org/show_bug.cgi?id=80539

        Reviewed by Eric Seidel.

        No new tests, no new functionality.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollByRecursively):
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::scrollRectToVisible):
        (WebCore::RenderLayer::scrollToXOffset):
        (WebCore::RenderLayer::scrollToYOffset):
        Change scrollTo methods to take integer x and y values as the actual
        scrolling is done in increments of full pixels.
        
        (WebCore::cornerStart):
        (WebCore::RenderLayer::scrollWidth):
        (WebCore::RenderLayer::scrollHeight):
        Change scrollWidth/Height to return pixel snapped values and remove
        pixelSnapped versions of same as all callers either used snapped the
        values or used the pixelSnapped versions of these methods.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::scrollWidth):
        Change scrollWidth to return snapped client width.
        
        * rendering/RenderListBox.h:
        Change scrollSize, scrollPosition and setScrollOffset methods to use
        integers in accordance with the interface defined by ScrollableArea.
        
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):

2012-03-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Implement getAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
        https://bugs.webkit.org/show_bug.cgi?id=80541

        Reviewed by Ryosuke Niwa.

        DOM methods exposed in Element and NamedNodeMap are now implemented in terms of
        ElementAttributeData. The difference between them is that Element methods can early
        return if there's no attribute storage.

        * dom/Element.cpp:
        (WebCore::Element::getAttributeNode):
        Removed the manual lowercasing letting our existing mechanism in
        ElementAttributeData::getAttributeItemIndex() take care of it. I considered that
        this could be an optimization, but testing a few Dromaeo tests (dom-attr,
        jslib-attr-jquery, jslib-attr-prototype) the difference isn't significant. It
        shouldn't affect correctness either.

        (WebCore::Element::getAttributeNodeNS):
        * dom/ElementAttributeData.cpp:
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        (WebCore::ElementAttributeData::getAttributeNode):
        (WebCore):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::getNamedItem):
        (WebCore::NamedNodeMap::getNamedItemNS):
        * dom/NamedNodeMap.h:
        (NamedNodeMap):

2012-03-07  James Robinson  <jamesr@chromium.org>

        [chromium] Support printing WebGL content in threaded compositor
        https://bugs.webkit.org/show_bug.cgi?id=80464

        Reviewed by Kenneth Russell.

        Do the readback on the WebGL context instead of the compositor's context since we cannot use the latter from the
        main thread. Since we're on the WebGL context, we have to be careful to restore any state we change.

        Tested printing manually with threaded compositing enabled.

        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebGLLayerChromium):

2012-03-07  Adam Barth  <abarth@webkit.org>

        Remove #define private public from WebCache.cpp
        https://bugs.webkit.org/show_bug.cgi?id=80520

        Reviewed by Eric Seidel.

        Add some accessors for state used by WebCache.cpp.

        * loader/cache/MemoryCache.h:
        (WebCore::MemoryCache::minDeadCapacity):
        (WebCore::MemoryCache::maxDeadCapacity):
        (WebCore::MemoryCache::capacity):
        (WebCore::MemoryCache::liveSize):
        (WebCore::MemoryCache::deadSize):
        (MemoryCache):

2012-03-07  Kentaro Hara  <haraken@chromium.org>

        [V8][Performance] Optimize Element.firstElementChild, Element.lastElementChild,
        Element.previousElementSibling, Element.nextElementSibling, Node.parentElement
        https://bugs.webkit.org/show_bug.cgi?id=80506

        Reviewed by Adam Barth.

        This patch improves the performance of Element.firstElementChild by 5.8 times,
        Element.lastElementChild by 6.2 times, Element.previousElementSibling by 7.1 times,
        Element.nextElementSibling by 7.1 times, and Node.parentElement by 6.7 times.

        Previously, while toV8(Node*) caches a wrapper object on a node object
        (i.e. node->wrapper(), node->setWrapper()), toV8(Element*) does not
        cache a wrapper object.

        This patch removes toV8(Element*), so that DOM attribute getters that return
        Element* use toV8(Node*). This change makes these DOM attribute getters
        cache the wrapper object on a node object. This optimization is already
        implemented in JavaScriptCore.

        Performance tests: https://bugs.webkit.org/attachment.cgi?id=130594

        The test results in my local Mac environment are as follows:

        AppleWebKit/JavaScriptCore:
        div.firstElementChild : 1162ms
        div.lastElementChild : 1016ms
        div.previousElementSibling : 918ms
        div.nextElementSibling : 900ms
        div.parentElement : 901ms

        Chromium/V8 (without this patch):
        div.firstElementChild : 9515ms
        div.lastElementChild : 9449ms
        div.previousElementSibling : 9254ms
        div.nextElementSibling : 9315ms
        div.parentElement : 9380ms

        Chromium/V8 (with this patch):
        div.firstElementChild : 1628ms
        div.lastElementChild : 1527ms
        div.previousElementSibling : 1310ms
        div.nextElementSibling : 1310ms
        div.parentElement : 1410ms

        No tests. No change in behavior.

        * dom/Element.idl: Removed toV8(Element*)
        * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
        (WebCore::toV8Slow):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        (GenerateHeader):

        * bindings/v8/custom/V8ElementCustom.cpp: Removed.
        * Target.pri: Removed V8ElementCustom.cpp.
        * UseV8.cmake: Ditto.
        * WebCore.gypi: Ditto.

2012-03-07  Joshua Bell  <jsbell@chromium.org>

        [Chromium] IndexedDB: V8LocalContext creation in IDBKey extraction/injection is slow
        https://bugs.webkit.org/show_bug.cgi?id=80358

        Cache a re-usable context (per isolate) for cases like IDB's key/SSV extraction/injection,
        where no user script is run. This yields a 3x-4x performance improvement in basic IDB
        operations.

        Reviewed by Tony Chang.

        No new tests - no behavior changes.

        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
        (WebCore::injectIDBKeyIntoSerializedValue):
        * bindings/v8/V8Binding.h:
        (WebCore::V8BindingPerIsolateData::auxiliaryContext):
        (V8BindingPerIsolateData):
        * bindings/v8/V8Utilities.cpp:
        (WebCore::V8AuxiliaryContext::V8AuxiliaryContext):
        (WebCore::V8AuxiliaryContext::~V8AuxiliaryContext):
        (WebCore::V8AuxiliaryContext::auxiliaryContext):
        * bindings/v8/V8Utilities.h:
        (V8AuxiliaryContext):

2012-03-07  Nat Duca  <nduca@chromium.org>

        [chromium] Remove unused wasRecreate variable
        https://bugs.webkit.org/show_bug.cgi?id=80533

        Reviewed by Adrienne Walker.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

2012-03-07  Ryan Sleevi  <rsleevi@chromium.org>

        [chromium] Update GYP files to reflect file deletes/renames
        https://bugs.webkit.org/show_bug.cgi?id=80525

        Reviewed by Ryosuke Niwa.

        No change in functionality, so no tests.

        * WebCore.gypi:
        Updated AppleMac private headers due to r109877
        Updated platform/qt references due to r109542
        Updated platform/mac references due to r109147
        Updated platform/mac references due to r108956

2012-03-07  Eric Carlson  <eric.carlson@apple.com>

        Html5 video element Useragent string is Quicktime
        https://bugs.webkit.org/show_bug.cgi?id=46241

        Reviewed by Daniel Bates.

        Test: http/tests/media/video-useragent.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerUserAgent): Return the UA string for the current source.
        * html/HTMLMediaElement.h:

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::userAgent):  New, return the client's mediaPlayerUserAgent.
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerUserAgent):

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to set
            the UA header.

2012-03-07  Scott Byer  <scottbyer@chromium.org>

        Get ScrollAnimatorNone to handle the stop and reverse cases.
        https://bugs.webkit.org/show_bug.cgi?id=80455

        Reviewed by James Robinson.

        Chromium webkit_unit_tests ScrollAnimatorNoneTest.ScrollStopInMiddle and
        ScrollAnimatorNoneTest.ReverseInMiddle.

        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):

2012-03-07  Yong Li  <yoli@rim.com>

        RenderImage ignores its percent width/height when setContainerSizeForRenderer
        https://bugs.webkit.org/show_bug.cgi?id=80431

        Reviewed by George Staikos.

        Not only respect fixed width/height explicitly specified in img element, but also
        respect percent width/height when determining container size for images.

        No new tests because there is no functional change but only internal buffer sizes.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::computeReplacedLogicalWidth):

2012-03-06  Benjamin Poulain  <bpoulain@apple.com>

        [Mac] Update the configuration files for iOS
        https://bugs.webkit.org/show_bug.cgi?id=80435

        Reviewed by David Kilzer.

        * Configurations/WebCore.xcconfig:

2012-03-07  Dana Jansens  <danakj@chromium.org>

        [chromium] Cull occluded tiles during paint
        https://bugs.webkit.org/show_bug.cgi?id=76838

        Reviewed by Adrienne Walker.

        Using CCOcclusionTracker instead of the old custom paint occlusion
        tracking. Stops painting tiles when the tile is not visible.

        CCOcclusionTracker only uses Layer::opaque() for determining
        occlusion so far. The Layer::addSelfToOccludedRegion is being
        replaced by a superior method in CCOcclusionTracker that will
        work for both threads, so removing that support here.

        Unit test: TiledLayerChromiumTest.cpp

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (ContentLayerChromium):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/LayerChromium.cpp:
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::idlePaintContentsIfDirty):
        (LayerChromium):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore):
        (WebCore::contentToLayerTransform):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (TiledLayerChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
        (WebCore::CCLayerTreeHost::paintLayerContents):

2012-03-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Implement removeAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
        https://bugs.webkit.org/show_bug.cgi?id=80522

        Reviewed by Andreas Kling.

        DOM methods exposed in Element and NamedNodeMap are now implemented in terms of
        ElementAttributeData. A helper function takeAttribute() was added to increase
        code sharing. Also removed some unneeded methods.

        * dom/Element.cpp:
        (WebCore::Element::removeAttribute): Use ElementAttributeData function directly.
        (WebCore::Element::removeAttributeNode): Get the index manually and use new
        takeAttribute() directly.
        * dom/Element.h:
        (Element): Remove unused removeAttribute(unsigned index).
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::takeAttribute): Like removeAttribute() but
        returns a reference to old Attr.
        (WebCore):
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::removeNamedItem): Avoid looking up the property twice by
        getting the index directly from the name, instead of going through the qualified name.
        * dom/NamedNodeMap.h: Remove now unused internal methods for removing attributes.

2012-03-07  Alexey Proskuryakov  <ap@apple.com>

        Merge AsyncFileStream with FileStreamProxy
        https://bugs.webkit.org/show_bug.cgi?id=80325

        Build fix.

        * WebCore.xcodeproj/project.pbxproj: Removed files that got mysteriously added to the project
        with a merge.

2012-03-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Unreviewed ASSERT failure fix.
        https://bugs.webkit.org/show_bug.cgi?id=75568

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::styleDidChange):
        Fix a bad merge of the patch, we should call updateCachedSizeForOverflowClip if we lose
        our layer.

2012-03-07  ChangSeok Oh  <shivamidow@gmail.com>

        [EFL] Revise PlatformKeyboardEventEfl and EflKeyboardUtilities
        https://bugs.webkit.org/show_bug.cgi?id=80511

        Reviewed by Gustavo Noronha Silva.

        Added 'const' keyword in front of argument of keyIdentifiersForEvasKeyName/windowsKeyCodeForEvasKeyName.
        Since they should not be changed while processing each function.
        And initialized missing member variables of PlatformKeyboardEventEfl.

        No new tests, since no new feature.

        * platform/efl/EflKeyboardUtilities.cpp:
        (WebCore::keyIdentifierForEvasKeyName): Added const keyword
        (WebCore::windowsKeyCodeForEvasKeyName): Added const keyword
        * platform/efl/EflKeyboardUtilities.h:
        (WebCore):
        * platform/efl/PlatformKeyboardEventEfl.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2012-03-07  Hironori Bono  <hbono@chromium.org>

        [Chromium] Mirror the resizer image of an RTL element when WTF_USE_RTL_SCROLLBAR is 1
        https://bugs.webkit.org/show_bug.cgi?id=9223

        Reviewed by Tony Chang.

        This change mirrors a resizer image of an RTL element horizontall as Firefox
        does. This change also mirrors its dragging behavior, i.e. draging the resizer
        of an RTL element to the left side increases its width. (This feature is enabled
        only when WTF_USE_RTL_SCROLLBAR is 1.)

        Test: platform/chromium/scrollbars/drag-rtl-resizer.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize): Mirrored the x coordinate of mouse positions
        when mirroring a resizer.
        (WebCore::RenderLayer::offsetFromResizeCorner): Returned the offset from the
        bottom-left corner when rendering a resizer there.
        (WebCore::RenderLayer::drawPlatformResizerImage): Mirrored the resizer bitmap
        horizontally when rendering a resizer to the bottom-left corner.

2012-03-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Lazily allocate overflow: hidden layers if we have overflowing content
        https://bugs.webkit.org/show_bug.cgi?id=75568

        Reviewed by David Hyatt.

        Change covered by the existing tests and the tons of rebaselines.

        This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.

        Apart from saving some memory, it will also speed up the rendering as we don't need to
        go through the layer's machinery when painting and hit testing.

        On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
        overflow: hidden case in par with the overflow: visible case when scrolling that is a
        very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
        Changed this method to update our size cache if needed.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::isPointInOverflowControl):
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::willBeDestroyed):
        (WebCore::RenderBox::styleDidChange):
        (WebCore::RenderBox::layout):
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):
        (WebCore::RenderBox::scrollLeft):
        (WebCore::RenderBox::scrollTop):
        (WebCore::RenderBox::setScrollLeft):
        (WebCore::RenderBox::setScrollTop):
        (WebCore::RenderBox::includeVerticalScrollbarSize):
        (WebCore::RenderBox::includeHorizontalScrollbarSize):
        (WebCore::RenderBox::scrolledContentOffset):
        (WebCore::RenderBox::pushContentsClip):
        (WebCore::RenderBox::popContentsClip):
        (WebCore::RenderBox::addLayoutOverflow):
        Added layer() check to the previous call sites.

        (WebCore::cachedSizeForOverflowClipMap):
        (WebCore::RenderBox::cachedSizeForOverflowClip):
        (WebCore::RenderBox::updateCachedSizeForOverflowClip):
        (WebCore::RenderBox::clearCachedSizeForOverflowClip):
        This logic stores the size information for later repainting.
        It is in practice replicating what RenderLayer is doing.
        I had to disable an ASSERT here as it would trigger in NRWT but
        not under DRT. I haven't found by code inspection what was wrong.

        * rendering/RenderBox.h:
        (WebCore::RenderBox::hasOverflowClipWithLayer):
        Helper function.

        (WebCore::RenderBox::requiresLayerForOverflowClip):
        This determines if we can survive without a RenderLayer. For the moment,
        it is very conservative.

        (WebCore::RenderBox::requiresLayer):
        Updated to call requiresLayerForOverflowClip.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::ensureLayer):
        Added this function to create and add a new layer.

        (WebCore::RenderBoxModelObject::willBeDestroyed):
        (WebCore::RenderBoxModelObject::styleDidChange):
        Patched those method to handle updating / removing
        cached size entries.

        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::requiresLayer):
        Pushed the overflowClip check down to RenderBox as only RenderBoxes can have
        overflow clips.

        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::requiresLayer):
        Added a comment about why we need a layout for table rows.

        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layout):
        Updated those call sites to use RenderBlock::updateScrollInfoAfterLayout
        or RenderBox::updateCachedSizeForOverflowClip. The current logic is really
        not tight proof and would need to be rethought to not avoid cases.

2012-03-07  Konrad Piascik  <kpiascik@rim.com>

        [BlackBerry] Fix warnings in CookieMap
        https://bugs.webkit.org/show_bug.cgi?id=80512

        Reviewed by Rob Buis.

        No new tests. No behavioural changes.

        * platform/blackberry/CookieMap.cpp:
        (WebCore::CookieMap::addOrReplaceCookie):
        (WebCore::CookieMap::removeCookie):
        (WebCore::CookieMap::getAllCookies):
        (WebCore::CookieMap::updateOldestCookie):

2012-03-07  Levi Weintraub  <leviw@chromium.org>

        Update usage of LayoutUnits in InlineBox and InlineFlowBox
        https://bugs.webkit.org/show_bug.cgi?id=80051

        Reviewed by Eric Seidel.

        Updating LayoutUnit vs Integer usage in InlineBox and InlineFlowBox. While the
        line box tree remains floating point, margins are now subpixel, and rects from
        the render tree use LayoutUnits. For more information, see the LayoutUnit wiki
        page: https://trac.webkit.org/wiki/LayoutUnit

        No new tests. No change in behavior.

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::flipForWritingMode): Changing over to LayoutUnits.
        * rendering/InlineBox.h:
        (InlineBox):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth): Returning a LayoutUnit
        instead of an integer, as it uses margin which is a LayoutUnit.
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection): Using a LayoutUnit for
        margin.
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Build fixes for when
        LayoutUnits are subpixel.
        (WebCore::InlineFlowBox::paintFillLayer): Ditto.
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::marginBorderPaddingLogicalLeft): Returning a LayoutUnit
        instead of an integer since margin is a LayoutUnit.
        (WebCore::InlineFlowBox::marginBorderPaddingLogicalRight): Ditto.
        (InlineFlowBox):
        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow): Adding a static_cast that's
        redundant now, but required when we switch to subpixel LayoutUnits.
        (WebCore::InlineFlowBox::logicalRightLayoutOverflow): Ditto.
        (WebCore::InlineFlowBox::logicalLeftVisualOverflow): Ditto.
        (WebCore::InlineFlowBox::logicalRightVisualOverflow): Ditto.

2012-03-07  Qi Zhang  <qi.2.zhang@nokia.com>

        [Qt] Unskip http/tests/websocket/tests/hixie76/long-invalid-header.html
        https://bugs.webkit.org/show_bug.cgi?id=80516

        Reviewed by Csaba Osztrogonác.

        Missed some files related to websocket, take them in.

        * Target.pri:

2012-03-05  Alexey Proskuryakov  <ap@apple.com>

        Merge AsyncFileStream with FileStreamProxy
        https://bugs.webkit.org/show_bug.cgi?id=80325

        Reviewed by Filip Pizlo.

        AsyncFileStream sounds like a platform concept, but the implementation is web specific.
        Better to just keep it in one place.

        This is a step toward decoupling blob scheme support from ResourceHandle, which is supposed
        to be an interface to platform networking APIs only, and definitely shouldn't know about
        Web concepts.

        No change in functionality, so no tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Updated for moved and removed files. Namely, platform/AsyncFileStream is dead, and
        fileapi/FileStreamProxy is now fileapi/AsyncFileStream.

        * fileapi/AsyncFileStream.cpp: Copied from Source/WebCore/fileapi/FileStreamProxy.cpp.
        (WebCore::AsyncFileStream::AsyncFileStream):
        (WebCore::AsyncFileStream::create):
        (WebCore::AsyncFileStream::~AsyncFileStream):
        (WebCore::AsyncFileStream::fileThread):
        (WebCore::didStart):
        (WebCore::AsyncFileStream::startOnFileThread):
        (WebCore::AsyncFileStream::stop):
        (WebCore::derefProxyOnContext):
        (WebCore::AsyncFileStream::stopOnFileThread):
        (WebCore::didGetSize):
        (WebCore::AsyncFileStream::getSize):
        (WebCore::AsyncFileStream::getSizeOnFileThread):
        (WebCore::didOpen):
        (WebCore::AsyncFileStream::openForRead):
        (WebCore::AsyncFileStream::openForReadOnFileThread):
        (WebCore::AsyncFileStream::openForWrite):
        (WebCore::AsyncFileStream::openForWriteOnFileThread):
        (WebCore::AsyncFileStream::close):
        (WebCore::AsyncFileStream::closeOnFileThread):
        (WebCore::didRead):
        (WebCore::AsyncFileStream::read):
        (WebCore::AsyncFileStream::readOnFileThread):
        (WebCore::didWrite):
        (WebCore::AsyncFileStream::write):
        (WebCore::AsyncFileStream::writeOnFileThread):
        (WebCore::didTruncate):
        (WebCore::AsyncFileStream::truncate):
        (WebCore::AsyncFileStream::truncateOnFileThread):
        * fileapi/AsyncFileStream.h: Copied from Source/WebCore/fileapi/FileStreamProxy.h.
        (WebCore):
        (AsyncFileStream):
        (WebCore::AsyncFileStream::client):
        (WebCore::AsyncFileStream::setClient):
        * fileapi/FileStreamProxy.cpp: Removed.
        * fileapi/FileStreamProxy.h: Removed.
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::createAsyncFileStream):
        * platform/AsyncFileStream.h: Removed.
        Fewer files!

        * platform/network/BlobRegistry.h: Removed createResourceHandle(). It's logically a method
        on in-process BlobRegistryImpl only, and we no longer need to call this from platform code.

        * platform/network/BlobRegistryImpl.cpp:
        (WebCore::createResourceHandle):
        (WebCore::registerBlobResourceHandleConstructor):
        (WebCore::BlobRegistryImpl::registerBlobURL):
        * platform/network/BlobRegistryImpl.h:
        Except for chromium, "blob" is a scheme that's handled internally. Added hooks for that.

        * platform/network/ResourceHandle.cpp:
        (WebCore::builtinResourceHandleConstructorMap):
        (WebCore::ResourceHandle::registerBuiltinConstructor):
        (WebCore::ResourceHandle::create):
        * platform/network/ResourceHandle.h:
        Added a way for other code to register handlers for URL schemes. Non-Chromium platforms
        use this for blob: now.

2012-03-07  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10923294> REGRESSION (r100847): Entries are clipped out in Day One
        https://bugs.webkit.org/show_bug.cgi?id=80494

        Reviewed by Sam Weinig.

        Test: fast/dom/HTMLDocument/width-and-height.html

        * html/HTMLDocument.idl: Reverted r100847 by re-enabling the width and height properties
        in the JavaScript bindings.

2012-03-07  Philippe Normand  <pnormand@igalia.com>

        [GTK] media/audio-garbage-collect.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=72698

        Reviewed by Xan Lopez.

        Call ::hasPendingActivity() instead of ::paused() when checking if
        the audio element is still active. This is similar to what the
        image element (another ActiveDOMObject implementation) does just
        above. This contributes to fixing the audio-garbage-collect.html
        test.

        * bindings/js/JSNodeCustom.cpp:
        (WebCore::isReachableFromDOM):

2012-03-07  Adele Peterson  <adele@apple.com>

        REGRESSION(r96566): Cursor is I-beam upon dragging an attachment in mail
        https://bugs.webkit.org/show_bug.cgi?id=80458
        <rdar://problem/10873195>

        Reviewed by Dan Bernstein.

        No tests because we currently don't have any test machinery for cursors.

        Make sure the shortcut to always use an iBeam cursor during selection isn't used during dragging.
        Before r96566, we handled plugin cursors as a special case before calling into selectCursor, so we never hit this code path.

        * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor):

2012-03-07  ChangSeok Oh  <shivamidow@gmail.com>

        [EFL] Key press event is not processed properly.
        https://bugs.webkit.org/show_bug.cgi?id=80491

        Reviewed by Gustavo Noronha Silva.

        This issue is related with mutation observer feature.
        If enter key is pressed, then a keyboard event should be processed
        and reach to the mutation observer, but it doesn't.
        Some special keys like Enter, Backspace and Tab key should be processed
        and change to a single character code, but EFL port hasn't handled like that.

        At least we can verify this with following two tests as I know. but they require another
        functionality for bug79601. I'm going to submit the patch for it after this one.

        Test: fast/mutation/end-of-task-delivery.html
              fast/mutation/inline-event-listener.html

        * platform/efl/EflKeyboardUtilities.cpp:
        (WebCore::singleCharacterString):
        (WebCore):
        * platform/efl/EflKeyboardUtilities.h:
        (WebCore):
        * platform/efl/PlatformKeyboardEventEfl.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2012-03-07  Gavin Peters  <gavinp@chromium.org>

        Add Histograms for reporting on PageCache reject reasons
        https://bugs.webkit.org/show_bug.cgi?id=80187

        Enhance the PageCache debug mode so that it uses Histograms to
        report on causes of failure.  Turn on the debug printing path
        even in non-debug Chromium builds, so these histograms will
        update.

        Reviewed by Brady Eidson.

        No new tests, does not change behaviour.

        * history/PageCache.cpp:
        (WebCore):
        (WebCore::logCanCacheFrameDecision):
        (WebCore::logCanCachePageDecision):
        (WebCore::PageCache::canCache):

2012-03-07  Elliot Poger  <epoger@google.com>

        [Chromium] Remove use_skia option from GYP
        https://bugs.webkit.org/show_bug.cgi?id=75811

        Reviewed by Tony Chang.

        * WebCore.gyp/WebCore.gyp:

2012-03-07  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Introduce LabelableElement to share "labels" attribute implementation
        https://bugs.webkit.org/show_bug.cgi?id=80392

        Reviewed by Kent Tamura.

        This patch introduces new class LabelableElement as base class of
        HTMLFormControlElement for sharing implementation of "labels" 
        attribute among form-associate elements, "meter" element, and 
        "progress" element.

        This patch allows us to change base class of HTMLMeterElement and
        HTMLProgressElement dervied from HTMLFormControlElement to 
        HTMLElement for remove them from HTMLFormElement::m_associatedFormElements
        where we don't need to put "meter" and "progress" elements(bug 80381.)

        This patch also changes implementation of isLabelable using virtual
        method rather than sequence of hasTagName for execution speed and
        better readability.

        No new tests are required. No behavior changes.

        * CMakeLists.txt: Add LabelableElement.cpp and .h
        * GNUmakefile.list.am:  Add LabelableElement.cpp and .h
        * Target.pri: Add LabelableElement.cpp and .h
        * WebCore.gypi: Add LabelableElement.cpp and .h
        * WebCore.vcproj/WebCore.vcproj: Add LabelableElement.cpp and .h
        * WebCore.xcodeproj/project.pbxproj: Add LabelableElement.cpp and .h
        * html/HTMLButtonElement.h: Implement isLabelable.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::HTMLFormControlElement): Change direct base class.
        * html/HTMLFormControlElement.h:
        (HTMLFormControlElement): Change direct base class.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isLabelable): Removed to use virtual method instead of hasTagName.
        (WebCore):
        * html/HTMLInputElement.h: Declaration of isLabelable.
        * html/HTMLKeygenElement.h: Implement isLabelable.
        * html/HTMLMeterElement.h: Implement isLabelable.
        * html/HTMLProgressElement.h: Implement isLabelable.
        * html/HTMLSelectElement.h: Implement isLabelable.
        * html/HTMLTextAreaElement.h: Implement isLabelable.
        * html/LabelableElement.cpp: Added.
        (WebCore):
        (WebCore::LabelableElement::LabelableElement):
        (WebCore::LabelableElement::~LabelableElement):
        (WebCore::LabelableElement::labels): Moved from HTMLFormControlElement.
        * html/LabelableElement.h: Added.
        (WebCore):
        (LabelableElement):

2012-03-07  Arun Patole  <bmf834@motorola.com>

        HTMLTrackElement.idl doesn't have default attribute.
        https://bugs.webkit.org/show_bug.cgi?id=80116

        Reviewed by Kentaro Hara.

        Renamed isDefault to 'default' so that in JS, it will be track.default instead of track.isDefault.
        * html/HTMLTrackElement.idl:

2012-03-07  Zoltan Horvath  <zoltan@webkit.org>

        [Qt] Add qmake config tests for JPEG and PNG library
        https://bugs.webkit.org/show_bug.cgi?id=80398

        Reviewed by Tor Arne Vestbø.

        Add JPEG and PNG library tests to config.tests and
        add error() abort to WebCore.pri if tests don't work.

        * WebCore.pri:

2012-03-06  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: extract source mapping logic from DebuggerPresentationModel to ScriptMappingImpl.
        https://bugs.webkit.org/show_bug.cgi?id=80412

        Reviewed by Vsevolod Vlasov.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/ScriptMapping.js:
        (WebInspector.ScriptMappingImpl):
        (WebInspector.ScriptMappingImpl.prototype.rawLocationToUILocation):
        (WebInspector.ScriptMappingImpl.prototype.createLiveLocation):
        (WebInspector.ScriptMappingImpl.prototype.uiSourceCodeList):
        (WebInspector.ScriptMappingImpl.prototype._handleUISourceCodeListChanged):
        (WebInspector.ScriptMappingImpl.prototype._uiSourceCodeListChanged):
        (WebInspector.ScriptMappingImpl.prototype._bindScriptToRawSourceCode):
        (WebInspector.ScriptMappingImpl.prototype.setFormatSource):
        (WebInspector.ScriptMappingImpl.prototype.forceUpdateSourceMapping):
        (WebInspector.ScriptMappingImpl.prototype.reset):

2012-03-07  Mark Rowe  <mrowe@apple.com>

        Fix DerivedSources.make to not assume that WTF and WebCore build in to the same build directory.

        We can't assume that wtf/Platform.h can be found inside BUILT_PRODUCTS_DIR as
        that won't be the case if WTF and WebCore are building in to different build
        directories. We should instead look for wtf/Platform.h in the header search path.
        
        Unreviewed due to being a build fix.

        * DerivedSources.make: Set up the header search path, and invoke the compiler in
        such a manner that it looks for wtf/Platform.h in that search path.

2012-03-07  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream Texture and TextureCache
        https://bugs.webkit.org/show_bug.cgi?id=80121

        Reviewed by Rob Buis.

        Initial upstream, no new tests.

        * platform/graphics/blackberry/Texture.cpp: Added.
        (WebCore):
        (WebCore::copyImageData):
        (WebCore::Texture::Texture):
        (WebCore::Texture::~Texture):
        (WebCore::Texture::updateContents):
        (WebCore::Texture::setContentsToColor):
        (WebCore::Texture::protect):
        * platform/graphics/blackberry/Texture.h: Added.
        (WebCore):
        (Texture):
        (WebCore::Texture::create):
        (WebCore::Texture::textureId):
        (WebCore::Texture::isDirty):
        (WebCore::Texture::hasTexture):
        (WebCore::Texture::isColor):
        (WebCore::Texture::isOpaque):
        (WebCore::Texture::isProtected):
        (WebCore::Texture::protect):
        (WebCore::Texture::unprotect):
        (WebCore::Texture::size):
        (WebCore::Texture::width):
        (WebCore::Texture::height):
        (WebCore::Texture::bytesPerPixel):
        (WebCore::Texture::setTextureId):
        * platform/graphics/blackberry/TextureCacheCompositingThread.cpp: Added.
        (WebCore):
        (TextureProtector):
        (WebCore::TextureProtector::TextureProtector):
        (WebCore::TextureProtector::~TextureProtector):
        (WebCore::TextureCacheCompositingThread::TextureCacheCompositingThread):
        (WebCore::TextureCacheCompositingThread::allocateTextureId):
        (WebCore::TextureCacheCompositingThread::freeTextureId):
        (WebCore::TextureCacheCompositingThread::collectGarbage):
        (WebCore::TextureCacheCompositingThread::textureResized):
        (WebCore::TextureCacheCompositingThread::textureDestroyed):
        (WebCore::TextureCacheCompositingThread::install):
        (WebCore::TextureCacheCompositingThread::evict):
        (WebCore::TextureCacheCompositingThread::textureAccessed):
        (WebCore::textureCacheCompositingThread):
        (WebCore::TextureCacheCompositingThread::prune):
        (WebCore::TextureCacheCompositingThread::clear):
        (WebCore::TextureCacheCompositingThread::setMemoryUsage):
        (WebCore::TextureCacheCompositingThread::textureForTiledContents):
        (WebCore::TextureCacheCompositingThread::textureForColor):
        (WebCore::TextureCacheCompositingThread::updateContents):
        (WebCore::TextureCacheCompositingThread::key):
        * platform/graphics/blackberry/TextureCacheCompositingThread.h: Added.
        (WebCore):
        (TextureCacheCompositingThread):
        (WebCore::TextureCacheCompositingThread::createTexture):
        (WebCore::TextureCacheCompositingThread::memoryUsage):
        (WebCore::TextureCacheCompositingThread::memoryLimit):
        (WebCore::TextureCacheCompositingThread::setMemoryLimit):
        (WebCore::TextureCacheCompositingThread::prune):
        (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
        (ZombieTexture):
        (WebCore::TextureCacheCompositingThread::incMemoryUsage):
        (WebCore::TextureCacheCompositingThread::decMemoryUsage):
        (WebCore::TextureCacheCompositingThread::ColorHash::hash):
        (WebCore::TextureCacheCompositingThread::ColorHash::equal):
        (ColorHash):
        (ColorHashTraits):
        (WebCore::TextureCacheCompositingThread::ColorHashTraits::constructDeletedValue):
        (WebCore::TextureCacheCompositingThread::ColorHashTraits::isDeletedValue):

2012-03-07  Kenichi Ishibashi  <bashi@chromium.org>

        [WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
        https://bugs.webkit.org/show_bug.cgi?id=80103

        Reviewed by Kent Tamura.

        Add UTF8 validation checks for WebSocket message and close reason.

        Tests: http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html
               http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html

        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::send): Raise SYNTAX_ERR if the message is invalid.
        (WebCore::WebSocket::close):Raise SYNTAX_ERR if the reason is invalid.
        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::send): Check whether message is a valid UTF8 string.

2012-03-07  Byungwoo Lee  <bw80.lee@samsung.com>

        [EFL] Build warning: Fix warn_unused_result warnings.
        https://bugs.webkit.org/show_bug.cgi?id=79194

        Reviewed by Filip Pizlo.

        Fixed build warning which is getting generated when not using return
        value of a fuction, especially declared with warn_unused_result
        attribute.

        * platform/efl/SharedBufferEfl.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2012-03-07  Kent Tamura  <tkent@chromium.org>

        Cleanup of RenderTextControl::adjustControlHeightBasedOnLineHeight()
        https://bugs.webkit.org/show_bug.cgi?id=80480

        Reviewed by Hajime Morita.

        The callsite of adjustControlHeightBasedOnLineHeight() stored
        padding+border+margin height of the inner text in height(), and
        adjustControlHeightBasedOnLineHeight() implementations refered it. It
        was unreasonable and hard to understand.

        The purpose of adjustControlHeightBasedOnLineHeight() is to compute
        - the maximum height of line-heights of the inner text and decorations
        - the maximum height of padding+border+margin heights of the inner text and decorations,
        and to sum them up. This patch rewrites the code to make it understood easily.

        adjustControlHeightBasedOnLineHeight() is renamed to
        computeControlheight(), it takes additional parameter of
        padding+boder+margin height, and returns the sum of them.

        No behavior change.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::computeLogicalHeight):
        * rendering/RenderTextControl.h:
        (RenderTextControl):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::computeControlHeight):
        * rendering/RenderTextControlMultiLine.h:
        (RenderTextControlMultiLine):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::computeControlHeight):
        * rendering/RenderTextControlSingleLine.h:
        (RenderTextControlSingleLine):

2012-03-06  Eric Seidel  <eric@webkit.org>

        Make WTF public headers use fully-qualified include paths and remove ForwardingHeaders/wtf
        https://bugs.webkit.org/show_bug.cgi?id=80363

        Reviewed by Mark Rowe.

        ForwardingHeaders/wtf is no longer needed (or functional) now that
        JavaScriptCore no longer includes the WTF headers as private headers.

        * DerivedSources.make:
        * ForwardingHeaders/wtf/ASCIICType.h: Removed.
        * ForwardingHeaders/wtf/AVLTree.h: Removed.
        * ForwardingHeaders/wtf/Alignment.h: Removed.
        * ForwardingHeaders/wtf/AlwaysInline.h: Removed.
        * ForwardingHeaders/wtf/ArrayBuffer.h: Removed.
        * ForwardingHeaders/wtf/ArrayBufferView.h: Removed.
        * ForwardingHeaders/wtf/Assertions.h: Removed.
        * ForwardingHeaders/wtf/Atomics.h: Removed.
        * ForwardingHeaders/wtf/Bitmap.h: Removed.
        * ForwardingHeaders/wtf/BloomFilter.h: Removed.
        * ForwardingHeaders/wtf/BumpPointerAllocator.h: Removed.
        * ForwardingHeaders/wtf/ByteArray.h: Removed.
        * ForwardingHeaders/wtf/CheckedArithmetic.h: Removed.
        * ForwardingHeaders/wtf/CheckedBoolean.h: Removed.
        * ForwardingHeaders/wtf/Compiler.h: Removed.
        * ForwardingHeaders/wtf/Complex.h: Removed.
        * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Removed.
        * ForwardingHeaders/wtf/CurrentTime.h: Removed.
        * ForwardingHeaders/wtf/DataLog.h: Removed.
        * ForwardingHeaders/wtf/DateInstanceCache.h: Removed.
        * ForwardingHeaders/wtf/DateMath.h: Removed.
        * ForwardingHeaders/wtf/DecimalNumber.h: Removed.
        * ForwardingHeaders/wtf/Decoder.h: Removed.
        * ForwardingHeaders/wtf/Deque.h: Removed.
        * ForwardingHeaders/wtf/DisallowCType.h: Removed.
        * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
        * ForwardingHeaders/wtf/DynamicAnnotations.h: Removed.
        * ForwardingHeaders/wtf/Encoder.h: Removed.
        * ForwardingHeaders/wtf/ExportMacros.h: Removed.
        * ForwardingHeaders/wtf/FastAllocBase.h: Removed.
        * ForwardingHeaders/wtf/FastMalloc.h: Removed.
        * ForwardingHeaders/wtf/FixedArray.h: Removed.
        * ForwardingHeaders/wtf/Float32Array.h: Removed.
        * ForwardingHeaders/wtf/Float64Array.h: Removed.
        * ForwardingHeaders/wtf/Forward.h: Removed.
        * ForwardingHeaders/wtf/Functional.h: Removed.
        * ForwardingHeaders/wtf/GetPtr.h: Removed.
        * ForwardingHeaders/wtf/HashCountedSet.h: Removed.
        * ForwardingHeaders/wtf/HashFunctions.h: Removed.
        * ForwardingHeaders/wtf/HashMap.h: Removed.
        * ForwardingHeaders/wtf/HashSet.h: Removed.
        * ForwardingHeaders/wtf/HashTable.h: Removed.
        * ForwardingHeaders/wtf/HashTraits.h: Removed.
        * ForwardingHeaders/wtf/HexNumber.h: Removed.
        * ForwardingHeaders/wtf/Int16Array.h: Removed.
        * ForwardingHeaders/wtf/Int32Array.h: Removed.
        * ForwardingHeaders/wtf/Int8Array.h: Removed.
        * ForwardingHeaders/wtf/ListHashSet.h: Removed.
        * ForwardingHeaders/wtf/ListRefPtr.h: Removed.
        * ForwardingHeaders/wtf/Locker.h: Removed.
        * ForwardingHeaders/wtf/MD5.h: Removed.
        * ForwardingHeaders/wtf/MainThread.h: Removed.
        * ForwardingHeaders/wtf/MathExtras.h: Removed.
        * ForwardingHeaders/wtf/MessageQueue.h: Removed.
        * ForwardingHeaders/wtf/MetaAllocator.h: Removed.
        * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Removed.
        * ForwardingHeaders/wtf/NonCopyingSort.h: Removed.
        * ForwardingHeaders/wtf/Noncopyable.h: Removed.
        * ForwardingHeaders/wtf/NotFound.h: Removed.
        * ForwardingHeaders/wtf/OSAllocator.h: Removed.
        * ForwardingHeaders/wtf/OwnArrayPtr.h: Removed.
        * ForwardingHeaders/wtf/OwnPtr.h: Removed.
        * ForwardingHeaders/wtf/OwnPtrCommon.h: Removed.
        * ForwardingHeaders/wtf/PageAllocation.h: Removed.
        * ForwardingHeaders/wtf/PageAllocationAligned.h: Removed.
        * ForwardingHeaders/wtf/PageBlock.h: Removed.
        * ForwardingHeaders/wtf/PageReservation.h: Removed.
        * ForwardingHeaders/wtf/ParallelJobs.h: Removed.
        * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Removed.
        * ForwardingHeaders/wtf/PassOwnPtr.h: Removed.
        * ForwardingHeaders/wtf/PassRefPtr.h: Removed.
        * ForwardingHeaders/wtf/Platform.h: Removed.
        * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
        * ForwardingHeaders/wtf/RandomNumber.h: Removed.
        * ForwardingHeaders/wtf/RedBlackTree.h: Removed.
        * ForwardingHeaders/wtf/RefCounted.h: Removed.
        * ForwardingHeaders/wtf/RefCountedLeakCounter.h: Removed.
        * ForwardingHeaders/wtf/RefPtr.h: Removed.
        * ForwardingHeaders/wtf/RetainPtr.h: Removed.
        * ForwardingHeaders/wtf/SHA1.h: Removed.
        * ForwardingHeaders/wtf/SegmentedVector.h: Removed.
        * ForwardingHeaders/wtf/SimpleStats.h: Removed.
        * ForwardingHeaders/wtf/Spectrum.h: Removed.
        * ForwardingHeaders/wtf/StackBounds.h: Removed.
        * ForwardingHeaders/wtf/StaticConstructors.h: Removed.
        * ForwardingHeaders/wtf/StdLibExtras.h: Removed.
        * ForwardingHeaders/wtf/StringExtras.h: Removed.
        * ForwardingHeaders/wtf/StringHasher.h: Removed.
        * ForwardingHeaders/wtf/TemporaryChange.h: Removed.
        * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
        * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Removed.
        * ForwardingHeaders/wtf/ThreadSpecific.h: Removed.
        * ForwardingHeaders/wtf/Threading.h: Removed.
        * ForwardingHeaders/wtf/ThreadingPrimitives.h: Removed.
        * ForwardingHeaders/wtf/TypeTraits.h: Removed.
        * ForwardingHeaders/wtf/Uint16Array.h: Removed.
        * ForwardingHeaders/wtf/Uint32Array.h: Removed.
        * ForwardingHeaders/wtf/Uint8Array.h: Removed.
        * ForwardingHeaders/wtf/Uint8ClampedArray.h: Removed.
        * ForwardingHeaders/wtf/UnusedParam.h: Removed.
        * ForwardingHeaders/wtf/VMTags.h: Removed.
        * ForwardingHeaders/wtf/ValueCheck.h: Removed.
        * ForwardingHeaders/wtf/Vector.h: Removed.
        * ForwardingHeaders/wtf/VectorTraits.h: Removed.
        * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
        * ForwardingHeaders/wtf/dtoa.h: Removed.
        * ForwardingHeaders/wtf/dtoa/double-conversion.h: Removed.
        * ForwardingHeaders/wtf/text/ASCIIFastPath.h: Removed.
        * ForwardingHeaders/wtf/text/AtomicString.h: Removed.
        * ForwardingHeaders/wtf/text/AtomicStringHash.h: Removed.
        * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Removed.
        * ForwardingHeaders/wtf/text/CString.h: Removed.
        * ForwardingHeaders/wtf/text/StringBuffer.h: Removed.
        * ForwardingHeaders/wtf/text/StringBuilder.h: Removed.
        * ForwardingHeaders/wtf/text/StringConcatenate.h: Removed.
        * ForwardingHeaders/wtf/text/StringHash.h: Removed.
        * ForwardingHeaders/wtf/text/StringImpl.h: Removed.
        * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
        * ForwardingHeaders/wtf/text/WTFString.h: Removed.
        * ForwardingHeaders/wtf/unicode/CharacterNames.h: Removed.
        * ForwardingHeaders/wtf/unicode/Collator.h: Removed.
        * ForwardingHeaders/wtf/unicode/UTF8.h: Removed.
        * ForwardingHeaders/wtf/unicode/Unicode.h: Removed.
        * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Removed.
        * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Removed.
        * ForwardingHeaders/wtf/url/ParsedURL.h: Removed.

2012-03-07  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] The "legend" element should not be a form-associated element.
        https://bugs.webkit.org/show_bug.cgi?id=80239

        Reviewed by Kent Tamura.

        This patch changes base class of HTMLLegendElement to HTMLElement from
        HTMLFormControlElement for saving memory space and iteration time of
        extra "legend" elements in HTMLFormElement::m_formAssociatedElements
        and matching the HTML5 specification for ease of maintenance.

        Changes of TextIterator is lead by usage of isFormControlElement. This
        changes will be replaced with more meaningful predicate as part of
        https://bugs.webkit.org/show_bug.cgi?id=80381

        No new tests are required. No behavior changes.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::advance): Check HTMLLegendElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::HTMLLegendElement): Remove form parameter.
        (WebCore::HTMLLegendElement::create): Remove form parameter.
        (WebCore::HTMLLegendElement::associatedControl): Stop checking legend element, because HTMLLegendElement is no longer HTMLFormControlElement.
        (WebCore::HTMLLegendElement::supportFocus): Removed. It called HTMLElement::supportFocus.
        (WebCore::HTMLLegendElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
        * html/HTMLLegendElement.h:
        (HTMLLegendElement): Change base class to HTMLElement.
        * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.

2012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
        https://bugs.webkit.org/show_bug.cgi?id=80469

        Reviewed by Antonio Gomes.

        No new tests, this is a buildsystem change.

        * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
        property on the library being created.

2012-03-06  Lianghui Chen  <liachen@rim.com>

        [BlackBerry] Set correct ResourceRequest target type.
        https://bugs.webkit.org/show_bug.cgi?id=80430

        Reviewed by Rob Buis.

        For loads started by AppCache, they are based on the manifest file,
        it is not definitely sure what target it is for, so we just guess
        based on its mimetype or file extension.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::createResourceHandle):
        * loader/cache/CachedResource.cpp:
        (WebCore):
        (WebCore::CachedResource::load):
        * platform/network/blackberry/ResourceRequest.h:
        (ResourceRequest):
        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore):
        (WebCore::mimeTypeRequestTypeMap):
        (WebCore::ResourceRequest::targetTypeFromMimeType):
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerScriptLoader::load):
        * workers/Worker.cpp:
        (WebCore::Worker::create):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::createResourceRequest):
        * workers/WorkerScriptLoader.h:
        (WorkerScriptLoader):

2012-03-06  Dana Jansens  <danakj@chromium.org>

        [chromium] Add clipping to scissor rect to CCOcclusionTracker
        https://bugs.webkit.org/show_bug.cgi?id=79927

        Reviewed by Adrienne Walker.

        Adds logic to CCOcclusionTracker to occlude anything outside of the
        current screen and target surface scissor rects. When tracking
        damage for partial swaps, the scissor rects are bounded by the
        tracked damage rects.

        Unit tests: CCOcclusionTrackerTest.cpp

        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
        (WebCore::::CCOcclusionTrackerBase):
        (WebCore):
        (WebCore::::markOccludedBehindLayer):
        (WebCore::testContentRectOccluded):
        (WebCore::::occluded):
        (WebCore::computeUnoccludedContentRect):
        (WebCore::::unoccludedContentRect):
        (WebCore::::layerScissorRect):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
        (WebCore):
        (CCOcclusionTrackerDamageClientBase):
        (CCOcclusionTrackerBase):

2012-03-06  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r110011.
        http://trac.webkit.org/changeset/110011
        https://bugs.webkit.org/show_bug.cgi?id=80376

        layout tests crash

        * bindings/v8/V8HiddenPropertyName.cpp:
        (WebCore):
        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
        * bindings/v8/V8HiddenPropertyName.h:
        (WebCore):
        (V8HiddenPropertyName):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):

2012-03-06  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r110016.
        http://trac.webkit.org/changeset/110016

        layout tests crash

        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):

2012-03-06  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, fixed test crashes.

        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):

2012-03-06  Hajime Morrita  <morrita@chromium.org>

        https://bugs.webkit.org/show_bug.cgi?id=79935
        REGRESSION: <content> element is not HTMLUnknownElement when Shadow DOM API is disabled

        Reviewed by Adam Barth.

        This change introduced "runtimeConditional" keyword to make_name.pl sources,
        which allows HTMLElementFactory and HTMLElementWrapperFactory to check RuntimeEnabledFeatures
        and treat any tag name as HTMLUnknownElement if its definition has runtimeConditional and
        the flag given is turned off.

        Test: fast/dom/shadow/content-shadow-unknown.html

        * WebCore.exp.in:
        * dom/make_names.pl:
        (defaultTagPropertyHash):
        (printConstructorInterior):
        (printFactoryCppFile):
        (printWrapperFunctions):
        (printWrapperFactoryCppFile):
        * html/HTMLTagNames.in:
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::contentTagName):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::InternalSettings):
        (WebCore::InternalSettings::restoreTo):
        (WebCore::InternalSettings::setShadowDOMEnabled):
        (WebCore):
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-03-06  Kenichi Ishibashi  <bashi@chromium.org>

        [WebSocket] Introduce ThreadableWebSocketChannel::SendResult
        https://bugs.webkit.org/show_bug.cgi?id=80356

        Reviewed by Kent Tamura.

        Introduced ThreadableWebSocketChannel::SendResult type so that
        WebSocketChannel can pass the validation result.

        No new test. No changes in behavior.

        * Modules/websockets/ThreadableWebSocketChannel.h: Added SendResult.
        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
        (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult): Use ThreadableWebSocketChannel::SendResult instead of bool.
        (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult): Ditto.
        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
        (ThreadableWebSocketChannelClientWrapper):
        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool. Pass Cstring to enqueTextFrame instead of String.
        (WebCore::WebSocketChannel::enqueueTextFrame): Ditto.
        (WebCore::WebSocketChannel::processOutgoingFrameQueue): Ditto.
        * Modules/websockets/WebSocketChannel.h:
        (WebSocketChannel):
        (QueuedFrame): Changed the type of stringData from String to CString.
        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool.
        (WebCore::workerContextDidSend): Ditto.
        (WebCore::WorkerThreadableWebSocketChannel::Peer::send): Ditto.
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto.
        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
        (WorkerThreadableWebSocketChannel): ditto.
        (Bridge): Ditto.

2012-03-06  Kentaro Hara  <haraken@chromium.org>

        [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
        Element.dataset and Node.attributes
        https://bugs.webkit.org/show_bug.cgi?id=80376

        Reviewed by Adam Barth.

        This patch improves the performance of HTMLElement.classList, Element.dataset
        and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.

        Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
        created every time the DOM attribute is accessed, in spite of the fact that
        the 'hiddenReferenceName' string is static.

        This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
        Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
        since if 'element' exists, it is guaranteed that 'elementValue' is not empty
        and is an Object.

        Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283

        AppleWebKit/JavaScriptCore:
        div.classList : 382ms
        div.classList.foo = 123 : 335ms
        div.dataset : 403ms
        div.dataset.foo = 123 : 5250ms
        div.attributes : 183ms

        Chromium/V8 (without this patch):
        div.classList : 9140ms
        div.classList.foo = 123 : 9086ms
        div.dataset : 9930ms
        div.dataset.foo = 123 : 49698ms
        div.attributes : 13489ms

        Chromium/V8 (with this patch):
        div.classList : 1435ms
        div.classList.foo = 123 : 1470ms
        div.dataset : 1400ms
        div.dataset.foo = 123 : 30396ms
        div.attributes : 1242ms

        No tests. No change in behavior.

        * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
        (WebCore::toV8):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
        (WebCore::toV8):

        * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
        to optimize the macro.
        (WebCore):
        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
        * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
        and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
        or a hidden reference.
        (WebCore):
        (V8HiddenPropertyName):

2012-03-06  Nat Duca  <nduca@chromium.org>

        [chromium] CCThreadProxy context lost support
        https://bugs.webkit.org/show_bug.cgi?id=80100

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::didLoseContext):
        (WebCore):
        (WebCore::CCScheduler::didRecreateContext):
        (WebCore::CCScheduler::processScheduledActions):
        * platform/graphics/chromium/cc/CCScheduler.h:
        (CCSchedulerClient):
        (CCScheduler):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
        (WebCore::CCSchedulerStateMachine::nextAction):
        (WebCore::CCSchedulerStateMachine::updateState):
        (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
        (WebCore::CCSchedulerStateMachine::didLoseContext):
        (WebCore):
        (WebCore::CCSchedulerStateMachine::didRecreateContext):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
        (CCSchedulerStateMachine):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::recreateContext):
        (WebCore::CCThreadProxy::loseContext):
        (WebCore::CCThreadProxy::scheduledActionBeginContextRecreation):
        (WebCore):
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
        (WebCore::CCThreadProxy::setAnimationEvents):
        (WebCore::CCThreadProxy::beginContextRecreation):
        (WebCore::CCThreadProxy::recreateContextOnImplThread):
        (WebCore::CCThreadProxy::loseContextOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-03-06  Tony Chang  <tony@chromium.org>

        refactor method names in RenderFlexibleBox to make them more consistent
        https://bugs.webkit.org/show_bug.cgi?id=80446

        Reviewed by Ojan Vafai.

        No new tests, just renaming internal methods.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::flowAwareBorderAfter): New, used by layoutAndPlaceChildren
        (WebCore::RenderFlexibleBox::flowAwarePaddingAfter): New, used by layoutAndPlaceChildren
        (WebCore::RenderFlexibleBox::marginBoxAscentForChild): Add ForChild for consistency.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): We were adding the before padding+border twice (it's in the offset and
        crossAxisBorderAndPaddingExtent() and subtracting it once.  Instead, just add the after padding+border.
        (WebCore::RenderFlexibleBox::alignChildren):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox): Reorder methods to match the .cpp file.

2012-03-06  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r109969.
        http://trac.webkit.org/changeset/109969
        https://bugs.webkit.org/show_bug.cgi?id=80376

        layout tests crash

        * bindings/v8/V8HiddenPropertyName.cpp:
        (WebCore):
        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
        * bindings/v8/V8HiddenPropertyName.h:
        (WebCore):
        (V8HiddenPropertyName):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):

2012-03-06  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r109999.
        http://trac.webkit.org/changeset/109999

        layout tests crash

        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
        (WebCore::toV8):

2012-03-06  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, fix crashes.

        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
        (WebCore::toV8):

2012-03-06  James Robinson  <jamesr@chromium.org>

        [chromium] Fix threaded compositing issues in WebGLLayerChromium (except for printing)
        https://bugs.webkit.org/show_bug.cgi?id=80459

        Reviewed by Kenneth Russell.

        This fixes a few wrong-thread issues in WebGLLayerChromium for threaded compositing.  The key requirements that
        threaded compositing imposes on LayerChromium subclasses are that the compositor's context can only be used from
        the compositor thread, meaning inside of updateCompositorResources() and pushPropertiesTo(), and that
        non-compositor contexts can only be used from the main thread. This means specifically that we can't use the
        DrawingBuffer's context in either of these two functions.

        Summary of changes:
        *) Move the publishToPlatformLayer() call and related logic inside of paintContentsIfDirty(), which is called
        on the main thread.
        *) Move lost context tracking outside of drawsContent(), since that function is called from both threads, to a
        separate bool that is updated after each WebGL composite and setDrawingBuffer call.

        Printing still doesn't work in threaded mode with this patch, I'll address that separately. Printing and lost
        context recovery still work as they did in the single-threaded path.

        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
        (WebCore::WebGLLayerChromium::drawsContent):
        (WebCore::WebGLLayerChromium::paintContentsIfDirty):
        (WebCore::WebGLLayerChromium::updateCompositorResources):
        (WebCore::WebGLLayerChromium::setDrawingBuffer):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebGLLayerChromium):

2012-03-06  Anders Carlsson  <andersca@apple.com>

        Cracks between tiles when zoomed in
        https://bugs.webkit.org/show_bug.cgi?id=80460
        <rdar://problem/10996688>

        Use enclosingIntRect instead of enclosedIntRect when converting from FloatRect to IntRect.

        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):

2012-03-06  Anders Carlsson  <andersca@apple.com>

        Tile cache layers should always be clipped to the view's bounds
        https://bugs.webkit.org/show_bug.cgi?id=80456
        <rdar://problem/10996174>

        Reviewed by Simon Fraser.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
        Factor this code out into a separate function for better clarity. Always return true if we have a tile cache layer.

        (WebCore::RenderLayerBacking::updateCompositedBounds):
        Call shouldClipCompositedBounds directly.

2012-03-06  James Robinson  <jamesr@chromium.org>

        [chromium] Null-check m_layerRenderer in CCLayerTreeHostImpl::finishAllRendering()
        https://bugs.webkit.org/show_bug.cgi?id=80445

        Reviewed by Adrienne Walker.

        Null-check CCLayerTreeHostImpl::m_layerRenderer since it won't be set if context initialiation failed for any
        reason.

        Covered by new unit test in CCLayerTreeHostImplTest.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::finishAllRendering):

2012-03-06  Ryosuke Niwa  <rniwa@webkit.org>

        Can't select a line of RTL text on Facebook
        https://bugs.webkit.org/show_bug.cgi?id=59435

        Reviewed by Eric Seidel.

        Deploy prevLeafChildIgnoringLineBreak and nextLeafChildIgnoringLineBreak
        in RenderedPosition::leftBoundaryOfBidiRun and RenderedPosition::rightBoundaryOfBidiRun.

        Without this patch, WebKit extends selection from right to left when the user selects
        <span dir="rtl">ABC<br></span> from left to right by a mouse drag.

        Test: editing/selection/select-bidi-run.html

        * editing/RenderedPosition.cpp:
        (WebCore::RenderedPosition::leftBoundaryOfBidiRun):
        (WebCore::RenderedPosition::rightBoundaryOfBidiRun):

2012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>

        undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
        https://bugs.webkit.org/show_bug.cgi?id=80282

        Reviewed by Antonio Gomes.

        No new tests, this is a buildsystem change.

        Remove transitive library dependencies; they are especially
        dangerous when one ends up linking against WTF, JSC and then WTF
        again, since some symbols will not be defined.

        Passing --no-copy-dt-needed-entries and --as-needed to the linker
        (which some recent Linux distros do by default) makes the issue
        even more evident.

        * CMakeLists.txt: Explicitly link to WTF as WebCore uses symbols
        from it.
        * PlatformEfl.cmake: Explicitly link against libjpeg and libpng.

2012-03-06  James Robinson  <jamesr@chromium.org>

        [chromium] REGRESSION(109469): WebGL printing busted
        https://bugs.webkit.org/show_bug.cgi?id=80450

        Reviewed by Kenneth Russell.

        Avoid marking layers as needing display in setContentsTo...() since this breaks WebGL's damage tracking and is
        unnecessary.

        Tested WebGL printing manually.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
        (WebCore::GraphicsLayerChromium::setContentsToMedia):

2012-03-06  Adrienne Walker  <enne@google.com>

        Overlap map for compositing should ignore empty layers
        https://bugs.webkit.org/show_bug.cgi?id=63499

        Reviewed by Simon Fraser.

        Test: compositing/layer-creation/overlap-empty-layer.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::addToOverlapMap):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):

2012-03-06  Vangelis Kokkevis  <vangelis@chromium.org>

        [chromium] Increase the accelerated canvas min size to 256 * 256
        https://bugs.webkit.org/show_bug.cgi?id=80451

        Reviewed by Stephen White.

        Test: Manually

        * page/Settings.cpp:
        (WebCore::Settings::Settings):

2012-03-06  Kentaro Hara  <haraken@chromium.org>

        [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
        Element.dataset and Node.attributes
        https://bugs.webkit.org/show_bug.cgi?id=80376

        Reviewed by Adam Barth.

        This patch improves the performance of HTMLElement.classList, Element.dataset
        and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.

        Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
        created every time the DOM attribute is accessed, in spite of the fact that
        the 'hiddenReferenceName' string is static.

        This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
        Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
        since if 'element' exists, it is guaranteed that 'elementValue' is not empty
        and is an Object.

        Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283

        AppleWebKit/JavaScriptCore:
        div.classList : 382ms
        div.classList.foo = 123 : 335ms
        div.dataset : 403ms
        div.dataset.foo = 123 : 5250ms
        div.attributes : 183ms

        Chromium/V8 (without this patch):
        div.classList : 9140ms
        div.classList.foo = 123 : 9086ms
        div.dataset : 9930ms
        div.dataset.foo = 123 : 49698ms
        div.attributes : 13489ms

        Chromium/V8 (with this patch):
        div.classList : 1435ms
        div.classList.foo = 123 : 1470ms
        div.dataset : 1400ms
        div.dataset.foo = 123 : 30396ms
        div.attributes : 1242ms

        No tests. No change in behavior.

        * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
        (WebCore::toV8):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
        (WebCore::toV8):

        * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
        to optimize the macro.
        (WebCore):
        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
        * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
        and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
        or a hidden reference.
        (WebCore):
        (V8HiddenPropertyName):

2012-03-06  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle returns incorrect values for the width and height of pseudo-elements
        https://bugs.webkit.org/show_bug.cgi?id=37835

        Reviewed by Tony Chang.

        In case we are querying the computed style of an element with a pseudo-element we can't use
        the renderer of the element as this one is not the one used to render the pseudo-element. We need
        to use the one created to render the pseudo-element.

        No new tests : Extend the existing getComputedStyle-with-pseudo-element.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2012-03-06  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Make compositeAndReadback and damage tracking play nicely together
        https://bugs.webkit.org/show_bug.cgi?id=80199

        Reviewed by James Robinson.

        Requires system-level testing (pixels on front-buffer should be
        observed for correct behavior) that cannot be done by layout tests
        or unit tests, have to rely on manual testing.

        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::compositeAndReadback):

2012-03-06  Luke Macpherson   <macpherson@chromium.org>

        Make CSSStyleSelector::convertToLength() behave more like CSSPrimitiveValue::convertToLength().
        https://bugs.webkit.org/show_bug.cgi?id=80375

        Reviewed by Eric Seidel.

        No new tests / cleanup only.

        This patch removes the bool* ok parameter from CSSStyleSelector's convertToLength,
        and instead uses the recently added Length(Undefined) value to indicate failure.
        This paves the way for a future patch that will call primitiveValue->convertToLength directly.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-06  Raymes Khoury  <raymes@chromium.org>

        Add state variable and ASSERTs to DocumentWriter to help track down
        https://bugs.webkit.org/show_bug.cgi?id=80427 and prevent illegal usage
        of DocumentWriter. This also makes endIfNotLoadingMainResource() private
        as there is no external usage.

        Reviewed by Adam Barth.

        This only adds ASSERT/CRASH and does not change existing behaviour.

        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::DocumentWriter):
        (WebCore::DocumentWriter::begin):
        (WebCore::DocumentWriter::addData):
        (WebCore::DocumentWriter::endIfNotLoadingMainResource):
        (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
        * loader/DocumentWriter.h:
        (DocumentWriter):

2012-03-06  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions][CSSOM]Restrict parsing of named flow name
        https://bugs.webkit.org/show_bug.cgi?id=80359

        Reviewed by Andreas Kling.

        The function that does the parsing for flow thread name should restrict the
        number of parsed properties to 1, otherwise it would allow parsing of
        "-webkit-flow-into: flow; color: red;" constructions.

        Modified fast/regions/webkit-named-flow-invalid-name.html to include the above case.

        * css/CSSParser.cpp:
        (WebCore::validFlowName):
        (WebCore::CSSParser::parseFlowThread):

2012-03-06  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed build fix for minimal build after r109939.

        Guard access to page->inspectorController with ENABLE(INSPECTOR).

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):

2012-03-05  Dean Jackson  <dino@apple.com>

        Enable compositing when a CSS filter is animating
        https://bugs.webkit.org/show_bug.cgi?id=79048

        Reviewed by Simon Fraser.

        Now that some systems (e.g. OS X) have both hardware accelerated
        CSS filters, and the ability to animate them via the hardware
        compositor, all CSS filters should be composited when animating.

        Tests: css3/filters/composited-during-animation-layertree.html
               css3/filters/composited-during-animation.html
               css3/filters/composited-during-transition-layertree.html

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore):
        (WebCore::supportsAcceleratedFilterAnimations):
            new method that returns true if the platform supports
            hardware animations of filters.
        (WebCore::GraphicsLayerCA::addAnimation):
        (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
            only create layer-animations if the platform supports it.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
            create a compositing layer if animating a filter on a
            supported platform.

2012-03-06  Stephen White  <senorblanco@chromium.org>

        Unreviewed, rolling out r109825.
        http://trac.webkit.org/changeset/109825
        https://bugs.webkit.org/show_bug.cgi?id=79413

        Broke webkit_unit_tests on Chromium Win

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::open):
        * platform/leveldb/LevelDBDatabase.cpp:
        (WebCore):
        * platform/leveldb/LevelDBDatabase.h:
        (LevelDBDatabase):

2012-03-06  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=80351
        InlineTextBox is using the wrong origin when calling 
        addRelevantRepaintedObject
        -and corresponding-
        <rdar://problem/10970221>

        Reviewed by Sam Weinig.

        boxOrigin represents the actual location of the text. The adjustedPaintOffset 
        (which I was using previously) will only correspond to the first line in a 
        block of lines.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):

2012-03-06  Filip Spacek  <fspacek@rim.com>

        [BlackBerry] Disable border radius clips (r95239) for BlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=80416

        Reviewed by Antonio Gomes

        The BlackBerry port suffers from the same performance
        degradation when border radius clip is enabled as Chromium.

        * rendering/RenderLayer.cpp:

2012-03-06  Stephen White  <senorblanco@chromium.org>

        Unreviewed, rolling out r109832.
        http://trac.webkit.org/changeset/109832
        https://bugs.webkit.org/show_bug.cgi?id=80356

        Broke WebSocket tests on Chrome Mac and Linux

        * Modules/websockets/ThreadableWebSocketChannel.h:
        (ThreadableWebSocketChannel):
        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
        (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult):
        (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult):
        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
        (ThreadableWebSocketChannelClientWrapper):
        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::send):
        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::send):
        (WebCore::WebSocketChannel::enqueueTextFrame):
        (WebCore::WebSocketChannel::processOutgoingFrameQueue):
        * Modules/websockets/WebSocketChannel.h:
        (WebSocketChannel):
        (QueuedFrame):
        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::send):
        (WebCore::workerContextDidSend):
        (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
        (WorkerThreadableWebSocketChannel):
        (Bridge):

2012-03-06  Stephen White  <senorblanco@chromium.org>

        Unreviewed, rolling out r109840.
        http://trac.webkit.org/changeset/109840
        https://bugs.webkit.org/show_bug.cgi?id=80103

        Broke WebSocket tests on Chrome Mac and Linux

        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::send):
        (WebCore::WebSocket::close):
        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::send):

2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>

        <http://webkit.org/b/78575> Web Inspector: Disable dock button when not allowed to dock

        There are times when an undocked inspector frontend is not allowed to
        attach to the main window. We can disable the dock button in those cases.

        Reviewed by Pavel Feldman.

        No new tests. This functionality is port specific right now.

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):
        When the main frame is resized we let the inspector client know,
        so that it can react to it as needed.

        * WebCore.exp.in:
        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::didResizeMainFrame):
        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorClient):
        Call up to the port though to the InspectorClient.

        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        (WebCore::InspectorFrontendClientLocal::setDockingUnavailable):
        * inspector/InspectorFrontendClientLocal.h:
        On ports where the inspector frontend client is local, provide a 
        setDockingUnavailable InspectorFrontendAPI to update the docking state.
        Automatically update availability when the frontend completes loading.

        * inspector/front-end/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.setDockingUnavailable):
        * inspector/front-end/inspector.js:
        (WebInspector._createGlobalStatusBarItems):
        (WebInspector.setAttachedWindow):
        (WebInspector.setDockingUnavailable):
        (WebInspector.updateDockToggleButton):
        Update the dock button's enabled/disabled state when its created,
        when the attached state changes, when get a frontend API notification
        that we cannot attach.

        * inspector/front-end/InspectorFrontendHostStub.js:
        Remove unused canAttachWindow method.

2012-03-06  Hans Wennborg  <hans@chromium.org>

        Speech JavaScript API: add SpeechRecognitionError
        https://bugs.webkit.org/show_bug.cgi?id=80410

        Reviewed by Adam Barth.

        Add SpeechRecognitionError.

        Test: fast/speech/scripted/speechrecognitionerror-basics.html

        * Modules/speech/DOMWindowSpeech.idl: Added.
        * Modules/speech/SpeechRecognitionError.cpp: Added.
        (WebCore):
        (WebCore::SpeechRecognitionError::create):
        (WebCore::SpeechRecognitionError::SpeechRecognitionError):
        * Modules/speech/SpeechRecognitionError.h: Added.
        (WebCore):
        (SpeechRecognitionError):
        (WebCore::SpeechRecognitionError::code):
        (WebCore::SpeechRecognitionError::message):
        * Modules/speech/SpeechRecognitionError.idl: Added.
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2012-03-06  David Corvoysier  <david.corvoysier@orange.com>

        Unreleased gst_object_reference to audio sink in MediaPlayerPrivateGStreamer
        https://bugs.webkit.org/show_bug.cgi?id=79795

        Bug fix: Used a GRefPtr to hold the reference to the audio sink instead of a GstElement*.
        Code cleanup: Used the same pattern for webkit web source and removed explicit gst_unref in destructor.

        Reviewed by Philippe Normand.

        No new tests. No change in behavior.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        (MediaPlayerPrivateGStreamer):

2012-03-06  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Build fix for !ENABLE(WORKERS) after r109556 and r109833.

        * CMakeLists.txt:

2012-03-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [Qt][WK2] Crash in Frame.cpp when loading index.hu
        https://bugs.webkit.org/show_bug.cgi?id=80165

        Guard against possible null document, which can happen
        when unsetting a document in a frame.

        Reviewed by Kenneth Rohde Christiansen.

        * page/Frame.cpp:
        (WebCore::Frame::setDocument):

2012-03-06  Lucas Forschler  <lforschler@apple.com>

        WebCore build exceeds address space on 32-bit Windows builds.
        https://bugs.webkit.org/show_bug.cgi?id=80346

        Reviewed by Jessie Berlin.

        Patch by Lucas Forschler, landed by Jessie Berlin.

        Add AllInOne.cpp files for a few projects.
        This will only affect Production and Release builds.
        Let VS rebuild the project file.

        * WebCore.vcproj/WebCore.vcproj:
        * css/MediaAllInOne.cpp: Added.
        * loader/appcache/ApplicationCacheAllInOne.cpp: Added.
        * mathml/MathMLAllInOne.cpp: Added.
        * platform/text/TextAllInOne.cpp: Added.

2012-03-06  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: add support for inspection of huge (1M elements) arrays.
        https://bugs.webkit.org/show_bug.cgi?id=80421

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.completionsForExpression.evaluated):
        * inspector/front-end/ElementsPanel.js:
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.update.callback):
        (WebInspector.ObjectPropertiesSection.prototype.update):
        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        (WebInspector.ArrayGroupingTreeElement):
        (WebInspector.ArrayGroupingTreeElement._populateArray):
        (WebInspector.ArrayGroupingTreeElement._populateRanges):
        (WebInspector.ArrayGroupingTreeElement._populateRanges.callback):
        (WebInspector.ArrayGroupingTreeElement._populateAsFragment):
        (WebInspector.ArrayGroupingTreeElement._populateAsFragment.processArrayFragment):
        (WebInspector.ArrayGroupingTreeElement._populateAsFragment.processProperties):
        (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.buildObjectFragment):
        (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.processObjectFragment):
        (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.processProperties):
        (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties):
        (WebInspector.ArrayGroupingTreeElement.prototype.onpopulate):
        (WebInspector.ArrayGroupingTreeElement.prototype.onattach):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.callFunction):
        (WebInspector.RemoteObject.prototype.callFunctionJSON):

2012-03-06  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Open link in resources panel only works the second time
        https://bugs.webkit.org/show_bug.cgi?id=80407

        Reviewed by Pavel Feldman.

        * inspector/front-end/inspector.js:
        (WebInspector.openResource):

2012-03-02  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: InspectorCounters mechanism should be thread-safe
        https://bugs.webkit.org/show_bug.cgi?id=80166

        Make InspectorCounters instance thread local so that it can be safely accessed
        in workers.

        Reviewed by Pavel Feldman.

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::~JSEventListener):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
        (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        * dom/Document.h:
        (WebCore::Node::Node):
        * dom/Node.cpp:
        (WebCore::Node::~Node):
        * inspector/InspectorCounters.cpp:
        (WebCore::InspectorCounters::InspectorCounters):
        (WebCore::InspectorCounters::counterValue):
        (WebCore):
        (WebCore::InspectorCounters::current):
        * inspector/InspectorCounters.h:
        (WebCore::InspectorCounters::incrementCounter):
        (WebCore::InspectorCounters::decrementCounter):
        (InspectorCounters):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
        * platform/ThreadGlobalData.cpp:
        (WebCore::ThreadGlobalData::ThreadGlobalData):
        (WebCore::ThreadGlobalData::destroy):
        * platform/ThreadGlobalData.h:
        (WebCore):
        (ThreadGlobalData):
        (WebCore::ThreadGlobalData::inspectorCounters):

2012-03-06  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream typedef of NativeImageSourcePtr and NativeImagePtr
        https://bugs.webkit.org/show_bug.cgi?id=80388

        Reviewed by Antonio Gomes.

        These are the BlackBerry typdefs of NativeImageSourcePtr and NativeImagePtr.

        * platform/graphics/ImageSource.h:
        (WebCore):

2012-03-06  Hans Muller  <hmuller@adobe.com>

        SVG transform-origin presentation attribute
        https://bugs.webkit.org/show_bug.cgi?id=79678

        Reviewed by Nikolas Zimmermann.

        Added the SVG transform-origin presentation attribute.  Currently WebCore::mapAttributeToCSSProperty()
        just maps it to -webkit-transform-origin.  When the transform-origin CSS property is supported, this
        part of the change can be removed.

        Test: svg/transforms/transform-origin-presentation-attribute.xhtml

        * svg/SVGStyledElement.cpp:
        (WebCore::mapAttributeToCSSProperty):
        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
        * svg/svgattrs.in:

2012-01-26  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] disable GStreamerGWorld when building against 0.11
        https://bugs.webkit.org/show_bug.cgi?id=77088

        Reviewed by Martin Robinson.

        Don't build GStreamerGWorld and PlatformVideoWindow under
        GStreamer 0.11. It's supposed to be removed soon anyway.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        * platform/graphics/gstreamer/GStreamerGWorld.h:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        (MediaPlayerPrivateGStreamer):
        * platform/graphics/gstreamer/PlatformVideoWindow.h:
        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
        * platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:

2012-03-06  Alexander Færøy  <alexander.faeroy@nokia.com>

        Rename m_tileCreationTimer in the tiled backing store
        https://bugs.webkit.org/show_bug.cgi?id=80414

        Patch by Kenneth Rohde Christiansen and Alexander Færøy.

        Reviewed by Tor Arne Vestbø.

        The m_tileCreationTimer member is currently being used to represent a
        timer that is fired when the backing store has been updated which is
        confusing with its current name.  This patch fixes this by renaming
        the m_tileCreationTimer to m_backingStoreUpdateTimer.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::TiledBackingStore):
        (WebCore::TiledBackingStore::setTileSize):
        (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
        (WebCore::TiledBackingStore::createTiles):
        (WebCore::TiledBackingStore::startBackingStoreUpdateTimer):
        (WebCore::TiledBackingStore::backingStoreUpdateTimerFired):
        (WebCore::TiledBackingStore::setContentsFrozen):
        * platform/graphics/TiledBackingStore.h:
        (TiledBackingStore):

2012-03-06  Alexander Færøy  <alexander.faeroy@nokia.com>

        Remove TileTimer typedef from the tiled backing store
        https://bugs.webkit.org/show_bug.cgi?id=80408

        Patch by Kenneth Rohde Christiansen and Alexander Færøy.

        Reviewed by Tor Arne Vestbø.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
        (WebCore::TiledBackingStore::tileCreationTimerFired):
        * platform/graphics/TiledBackingStore.h:
        (TiledBackingStore):

2012-03-06  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream LayerRenderer.{h, cpp}
        https://bugs.webkit.org/show_bug.cgi?id=79874

        Reviewed by Antonio Gomes.

        Initial upstream, no new tests.

        * platform/graphics/blackberry/LayerRenderer.cpp: Added.
        (WebCore):
        (WebCore::checkGLError):
        (WebCore::loadShader):
        (WebCore::loadShaderProgram):
        (WebCore::orthoMatrix):
        (WebCore::rawPtrVectorFromRefPtrVector):
        (WebCore::LayerRenderer::create):
        (WebCore::LayerRenderer::LayerRenderer):
        (WebCore::LayerRenderer::~LayerRenderer):
        (WebCore::LayerRenderer::releaseLayerResources):
        (WebCore::compareLayerZ):
        (WebCore::LayerRenderer::drawLayers):
        (WebCore::LayerRenderer::useSurface):
        (WebCore::LayerRenderer::drawLayersOnSurfaces):
        (WebCore::LayerRenderer::setRootLayer):
        (WebCore::LayerRenderer::addLayer):
        (WebCore::LayerRenderer::removeLayer):
        (WebCore::LayerRenderer::addLayerToReleaseTextureResourcesList):
        (WebCore::LayerRenderer::toOpenGLWindowCoordinates):
        (WebCore::LayerRenderer::toWebKitWindowCoordinates):
        (WebCore::LayerRenderer::toWebKitDocumentCoordinates):
        (WebCore::LayerRenderer::drawDebugBorder):
        (WebCore::LayerRenderer::drawHolePunchRect):
        (WebCore::LayerRenderer::updateLayersRecursive):
        (WebCore::hasRotationalComponent):
        (WebCore::LayerRenderer::layerAlreadyOnSurface):
        (WebCore::collect3DPreservingLayers):
        (WebCore::LayerRenderer::compositeLayersRecursive):
        (WebCore::LayerRenderer::updateScissorIfNeeded):
        (WebCore::LayerRenderer::makeContextCurrent):
        (WebCore::LayerRenderer::bindCommonAttribLocation):
        (WebCore::LayerRenderer::initializeSharedGLObjects):
        (WebCore::LayerRenderingResults::holePunchRect):
        (WebCore::LayerRenderingResults::addHolePunchRect):
        (WebCore::LayerRenderingResults::addDirtyRect):
        (WebCore::LayerRenderingResults::isEmpty):
        * platform/graphics/blackberry/LayerRenderer.h: Added.
        (WebCore):
        (LayerRenderingResults):
        (WebCore::LayerRenderingResults::LayerRenderingResults):
        (WebCore::LayerRenderingResults::holePunchRectSize):
        (WebCore::LayerRenderingResults::dirtyRect):
        (LayerRenderer):
        (WebCore::LayerRenderer::rootLayer):
        (WebCore::LayerRenderer::hardwareCompositing):
        (WebCore::LayerRenderer::setClearSurfaceOnDrawLayers):
        (WebCore::LayerRenderer::clearSurfaceOnDrawLayers):
        (WebCore::LayerRenderer::context):
        (WebCore::LayerRenderer::lastRenderingResults):
        (WebCore::LayerRenderer::setNeedsCommit):

2012-03-06  Roland Steiner  <rolandsteiner@chromium.org>

        r109563 caused perf regression
        https://bugs.webkit.org/show_bug.cgi?id=80404

        Add test for Element or ShadowRoot.

        Reviewed by Antti Koivisto.

        No new tests. (fix)

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::pushParentElement):

2012-03-06  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: prepare for extracting ScriptMapping implementation from DebuggerPresentationModel.
        https://bugs.webkit.org/show_bug.cgi?id=80396

        Limit RawSourceCode usages to a subset of methods. This subset will be moved to ScriptMapping implementation in a separate change.

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
        (WebInspector.DebuggerPresentationModel.prototype.createLiveLocation):
        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype._forceUpdateSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
        (WebInspector.PresentationCallFrame):
        (WebInspector.PresentationCallFrame.prototype.uiLocation):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._uiSourceCodeForResource):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):

2012-03-06  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] Execution line is not revealed when debugger is stopped if scripts panel was not yet shown.
        https://bugs.webkit.org/show_bug.cgi?id=80306

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/reveal-execution-line.html

        * inspector/front-end/ConsoleView.js:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._executionLineChanged):
        (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.willHide):
        (WebInspector.SourceFrame.prototype.highlightLine):
        (WebInspector.SourceFrame.prototype.revealLine):
        (WebInspector.SourceFrame.prototype._clearLineToReveal):
        (WebInspector.SourceFrame.prototype.setContent):

2012-03-06  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: remove reference to RawSourceCode from UISourceCode.
        https://bugs.webkit.org/show_bug.cgi?id=80395

        Reviewed by Vsevolod Vlasov.

        * inspector/compile-front-end.sh:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
        (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createUISourceCode):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):

2012-03-06  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: move timeline panel overview mode toggle buttons to overview sidebar tree
        https://bugs.webkit.org/show_bug.cgi?id=80304

        Reviewed by Pavel Feldman.

        * inspector/front-end/Images/statusbarButtonGlyphs.png:
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
        (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
        (WebInspector.TimelineOverviewPane.prototype._onOverviewModeChanged):
        (WebInspector.TimelineOverviewPane.prototype.update):
        (WebInspector.TimelineOverviewPane.prototype.reset):
        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
        (WebInspector.TimelineVerticalOverview):
        (WebInspector.TimelineOverviewModeSelector):
        (WebInspector.TimelineOverviewModeSelector.prototype.addButton):
        (WebInspector.TimelineOverviewModeSelector.prototype.get value):
        (WebInspector.TimelineOverviewModeSelector.prototype._createButton):
        (WebInspector.TimelineOverviewModeSelector.prototype._select):
        (WebInspector.TimelineOverviewModeSelector.prototype._onClick):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype.get statusBarItems):
        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
        (WebInspector.TimelinePanel.prototype._updateEventDividers):
        (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
        (WebInspector.TimelinePanel.prototype.revealRecordAt):
        * inspector/front-end/inspector.css:
        * inspector/front-end/timelinePanel.css:
        (.timeline-vertical-overview #timeline-overview-grid):
        (.timeline-vertical-overview .timeline-overview-window):
        (.timeline-vertical-overview .timeline-overview-dividers-background):
        (.timeline-vertical-overview #timeline-overview-memory):
        (.timeline-vertical-overview-status-bar-item.toggled-on .glyph):
        (.timeline-vertical-overview-bars):
        (.timeline-vertical-overview-bars .padding):
        (.timeline-vertical-overview-bars .timeline-bar-vertical):
        (.timeline.timeline-vertical-overview .resources-divider):
        (.sidebar-tree-item .timeline-vertical-overview-status-bar-item):
        (.timeline-overview-mode-selector):
        (.timeline-overview-mode-selector .glyph):
        (.timeline-overview-mode-selector button):
        (.timeline-overview-mode-selector button.toggled):
        (.timeline-overview-mode-selector button:active):
        (.sidebar-tree-item:not(.selected) .timeline-overview-mode-selector button):
        (.sidebar-tree-item:not(.selected) .timeline-overview-mode-selector button.toggled):
        (.timeline-overview-mode-selector button:first-of-type):
        (.timeline-overview-mode-selector button:last-of-type):
        (.timeline-mode-vertical-bars .glyph):
        (.timeline-mode-horizontal-bars .glyph):

2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>

        Make it explicit when we are allowing updates to the actual backing store or the tile buffers
        https://bugs.webkit.org/show_bug.cgi?id=80288

        Patch by Kenneth Rohde Christiansen and Alexander Færøy.

        Reviewed by Noam Rosenthal.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::createTiles):
        (WebCore::TiledBackingStore::isBackingStoreUpdatesSuspended):
        (WebCore):
        (WebCore::TiledBackingStore::isTileBufferUpdatesSuspended):
        (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
        (WebCore::TiledBackingStore::startTileCreationTimer):
        * platform/graphics/TiledBackingStore.h:
        (TiledBackingStore):

2012-03-06  Mark Rowe  <mrowe@apple.com>

        Build fix after r109877.

        * WebCore.xcodeproj/project.pbxproj: Ensure that headers are copied in to WebCore.framework so that
        WebKit can still find them.

2012-03-06  Andreas Kling  <awesomekling@apple.com>

        Remove incorrect WTF::Vector traits for CSSProperty.
        <http://webkit.org/b/53285>
        <rdar://problem/10161286>

        Reviewed by Antti Koivisto.

        We shouldn't allow copying Vector<CSSProperty> contents around with memcpy()
        as CSSProperty has a RefPtr member and this would muck up the refcount.
        This was added to facilitate fast comparison of property vectors, and we no
        longer use that, so there shouldn't be any performance concerns here.

        * css/CSSProperty.h:

2012-03-06  Adam Barth  <abarth@webkit.org>

        Attempt to fix the Qt minimal build.

        * Target.pri:

2012-03-06  Roland Steiner  <rolandsteiner@chromium.org>

        :scope should behave as :root outside scoped style sheet
        https://bugs.webkit.org/show_bug.cgi?id=80389

        Fall through to :root implementation if no scope is used.

        Reviewed by Antti Koivisto.

        Test: fast/css/style-scoped/scope-pseudo.html

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector):

2012-03-05  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] Message bubbles are not removed from scripts panel source frames after console was cleared.
        https://bugs.webkit.org/show_bug.cgi?id=80275

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
        * inspector/front-end/utilities.js:

2012-03-06  Adam Barth  <abarth@webkit.org>

        Move SQLDatabase code into Modules/webdatabase
        https://bugs.webkit.org/show_bug.cgi?id=80393

        Reviewed by Kentaro Hara.

        There are still a couple (minor) SQLDatabase references from WebCore
        proper, but we've gotten this code to the point where it makes sense to
        move it into the Modules directory.  (This patch just moves code---no
        behavior change.)

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Modules/webdatabase: Added.
        * Modules/webdatabase/AbstractDatabase.cpp: Copied from Source/WebCore/storage/AbstractDatabase.cpp.
        * Modules/webdatabase/AbstractDatabase.h: Copied from Source/WebCore/storage/AbstractDatabase.h.
        * Modules/webdatabase/ChangeVersionWrapper.cpp: Copied from Source/WebCore/storage/ChangeVersionWrapper.cpp.
        * Modules/webdatabase/ChangeVersionWrapper.h: Copied from Source/WebCore/storage/ChangeVersionWrapper.h.
        * Modules/webdatabase/DOMWindowSQLDatabase.cpp: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.cpp.
        * Modules/webdatabase/DOMWindowSQLDatabase.h: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.h.
        * Modules/webdatabase/DOMWindowSQLDatabase.idl: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.idl.
        * Modules/webdatabase/Database.cpp: Copied from Source/WebCore/storage/Database.cpp.
        * Modules/webdatabase/Database.h: Copied from Source/WebCore/storage/Database.h.
        * Modules/webdatabase/Database.idl: Copied from Source/WebCore/storage/Database.idl.
        * Modules/webdatabase/DatabaseAuthorizer.cpp: Copied from Source/WebCore/storage/DatabaseAuthorizer.cpp.
        * Modules/webdatabase/DatabaseAuthorizer.h: Copied from Source/WebCore/storage/DatabaseAuthorizer.h.
        * Modules/webdatabase/DatabaseCallback.h: Copied from Source/WebCore/storage/DatabaseCallback.h.
        * Modules/webdatabase/DatabaseCallback.idl: Copied from Source/WebCore/storage/DatabaseCallback.idl.
        * Modules/webdatabase/DatabaseContext.cpp: Copied from Source/WebCore/storage/DatabaseContext.cpp.
        * Modules/webdatabase/DatabaseContext.h: Copied from Source/WebCore/storage/DatabaseContext.h.
        * Modules/webdatabase/DatabaseDetails.h: Copied from Source/WebCore/storage/DatabaseDetails.h.
        * Modules/webdatabase/DatabaseSync.cpp: Copied from Source/WebCore/storage/DatabaseSync.cpp.
        * Modules/webdatabase/DatabaseSync.h: Copied from Source/WebCore/storage/DatabaseSync.h.
        * Modules/webdatabase/DatabaseSync.idl: Copied from Source/WebCore/storage/DatabaseSync.idl.
        * Modules/webdatabase/DatabaseTask.cpp: Copied from Source/WebCore/storage/DatabaseTask.cpp.
        * Modules/webdatabase/DatabaseTask.h: Copied from Source/WebCore/storage/DatabaseTask.h.
        * Modules/webdatabase/DatabaseThread.cpp: Copied from Source/WebCore/storage/DatabaseThread.cpp.
        * Modules/webdatabase/DatabaseThread.h: Copied from Source/WebCore/storage/DatabaseThread.h.
        * Modules/webdatabase/DatabaseTracker.cpp: Copied from Source/WebCore/storage/DatabaseTracker.cpp.
        * Modules/webdatabase/DatabaseTracker.h: Copied from Source/WebCore/storage/DatabaseTracker.h.
        * Modules/webdatabase/DatabaseTrackerClient.h: Copied from Source/WebCore/storage/DatabaseTrackerClient.h.
        * Modules/webdatabase/OriginQuotaManager.cpp: Copied from Source/WebCore/storage/OriginQuotaManager.cpp.
        * Modules/webdatabase/OriginQuotaManager.h: Copied from Source/WebCore/storage/OriginQuotaManager.h.
        * Modules/webdatabase/OriginUsageRecord.cpp: Copied from Source/WebCore/storage/OriginUsageRecord.cpp.
        * Modules/webdatabase/OriginUsageRecord.h: Copied from Source/WebCore/storage/OriginUsageRecord.h.
        * Modules/webdatabase/SQLCallbackWrapper.h: Copied from Source/WebCore/storage/SQLCallbackWrapper.h.
        * Modules/webdatabase/SQLError.h: Copied from Source/WebCore/storage/SQLError.h.
        * Modules/webdatabase/SQLError.idl: Copied from Source/WebCore/storage/SQLError.idl.
        * Modules/webdatabase/SQLException.cpp: Copied from Source/WebCore/storage/SQLException.cpp.
        * Modules/webdatabase/SQLException.h: Copied from Source/WebCore/storage/SQLException.h.
        * Modules/webdatabase/SQLException.idl: Copied from Source/WebCore/storage/SQLException.idl.
        * Modules/webdatabase/SQLResultSet.cpp: Copied from Source/WebCore/storage/SQLResultSet.cpp.
        * Modules/webdatabase/SQLResultSet.h: Copied from Source/WebCore/storage/SQLResultSet.h.
        * Modules/webdatabase/SQLResultSet.idl: Copied from Source/WebCore/storage/SQLResultSet.idl.
        * Modules/webdatabase/SQLResultSetRowList.cpp: Copied from Source/WebCore/storage/SQLResultSetRowList.cpp.
        * Modules/webdatabase/SQLResultSetRowList.h: Copied from Source/WebCore/storage/SQLResultSetRowList.h.
        * Modules/webdatabase/SQLResultSetRowList.idl: Copied from Source/WebCore/storage/SQLResultSetRowList.idl.
        * Modules/webdatabase/SQLStatement.cpp: Copied from Source/WebCore/storage/SQLStatement.cpp.
        * Modules/webdatabase/SQLStatement.h: Copied from Source/WebCore/storage/SQLStatement.h.
        * Modules/webdatabase/SQLStatementCallback.h: Copied from Source/WebCore/storage/SQLStatementCallback.h.
        * Modules/webdatabase/SQLStatementCallback.idl: Copied from Source/WebCore/storage/SQLStatementCallback.idl.
        * Modules/webdatabase/SQLStatementErrorCallback.h: Copied from Source/WebCore/storage/SQLStatementErrorCallback.h.
        * Modules/webdatabase/SQLStatementErrorCallback.idl: Copied from Source/WebCore/storage/SQLStatementErrorCallback.idl.
        * Modules/webdatabase/SQLStatementSync.cpp: Copied from Source/WebCore/storage/SQLStatementSync.cpp.
        * Modules/webdatabase/SQLStatementSync.h: Copied from Source/WebCore/storage/SQLStatementSync.h.
        * Modules/webdatabase/SQLTransaction.cpp: Copied from Source/WebCore/storage/SQLTransaction.cpp.
        * Modules/webdatabase/SQLTransaction.h: Copied from Source/WebCore/storage/SQLTransaction.h.
        * Modules/webdatabase/SQLTransaction.idl: Copied from Source/WebCore/storage/SQLTransaction.idl.
        * Modules/webdatabase/SQLTransactionCallback.h: Copied from Source/WebCore/storage/SQLTransactionCallback.h.
        * Modules/webdatabase/SQLTransactionCallback.idl: Copied from Source/WebCore/storage/SQLTransactionCallback.idl.
        * Modules/webdatabase/SQLTransactionClient.cpp: Copied from Source/WebCore/storage/SQLTransactionClient.cpp.
        * Modules/webdatabase/SQLTransactionClient.h: Copied from Source/WebCore/storage/SQLTransactionClient.h.
        * Modules/webdatabase/SQLTransactionCoordinator.cpp: Copied from Source/WebCore/storage/SQLTransactionCoordinator.cpp.
        * Modules/webdatabase/SQLTransactionCoordinator.h: Copied from Source/WebCore/storage/SQLTransactionCoordinator.h.
        * Modules/webdatabase/SQLTransactionErrorCallback.h: Copied from Source/WebCore/storage/SQLTransactionErrorCallback.h.
        * Modules/webdatabase/SQLTransactionErrorCallback.idl: Copied from Source/WebCore/storage/SQLTransactionErrorCallback.idl.
        * Modules/webdatabase/SQLTransactionSync.cpp: Copied from Source/WebCore/storage/SQLTransactionSync.cpp.
        * Modules/webdatabase/SQLTransactionSync.h: Copied from Source/WebCore/storage/SQLTransactionSync.h.
        * Modules/webdatabase/SQLTransactionSync.idl: Copied from Source/WebCore/storage/SQLTransactionSync.idl.
        * Modules/webdatabase/SQLTransactionSyncCallback.h: Copied from Source/WebCore/storage/SQLTransactionSyncCallback.h.
        * Modules/webdatabase/SQLTransactionSyncCallback.idl: Copied from Source/WebCore/storage/SQLTransactionSyncCallback.idl.
        * Modules/webdatabase/WorkerContextSQLDatabase.cpp: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.cpp.
        * Modules/webdatabase/WorkerContextSQLDatabase.h: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.h.
        * Modules/webdatabase/WorkerContextSQLDatabase.idl: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.idl.
        * Modules/webdatabase/chromium: Added.
        * Modules/webdatabase/chromium/DatabaseObserver.h: Copied from Source/WebCore/storage/chromium/DatabaseObserver.h.
        * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: Copied from Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp.
        * Modules/webdatabase/chromium/QuotaTracker.cpp: Copied from Source/WebCore/storage/chromium/QuotaTracker.cpp.
        * Modules/webdatabase/chromium/QuotaTracker.h: Copied from Source/WebCore/storage/chromium/QuotaTracker.h.
        * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp: Copied from Source/WebCore/storage/chromium/SQLTransactionClientChromium.cpp.
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/AbstractDatabase.cpp: Removed.
        * storage/AbstractDatabase.h: Removed.
        * storage/ChangeVersionWrapper.cpp: Removed.
        * storage/ChangeVersionWrapper.h: Removed.
        * storage/DOMWindowSQLDatabase.cpp: Removed.
        * storage/DOMWindowSQLDatabase.h: Removed.
        * storage/DOMWindowSQLDatabase.idl: Removed.
        * storage/Database.cpp: Removed.
        * storage/Database.h: Removed.
        * storage/Database.idl: Removed.
        * storage/DatabaseAuthorizer.cpp: Removed.
        * storage/DatabaseAuthorizer.h: Removed.
        * storage/DatabaseCallback.h: Removed.
        * storage/DatabaseCallback.idl: Removed.
        * storage/DatabaseContext.cpp: Removed.
        * storage/DatabaseContext.h: Removed.
        * storage/DatabaseDetails.h: Removed.
        * storage/DatabaseSync.cpp: Removed.
        * storage/DatabaseSync.h: Removed.
        * storage/DatabaseSync.idl: Removed.
        * storage/DatabaseTask.cpp: Removed.
        * storage/DatabaseTask.h: Removed.
        * storage/DatabaseThread.cpp: Removed.
        * storage/DatabaseThread.h: Removed.
        * storage/DatabaseTracker.cpp: Removed.
        * storage/DatabaseTracker.h: Removed.
        * storage/DatabaseTrackerClient.h: Removed.
        * storage/OriginQuotaManager.cpp: Removed.
        * storage/OriginQuotaManager.h: Removed.
        * storage/OriginUsageRecord.cpp: Removed.
        * storage/OriginUsageRecord.h: Removed.
        * storage/SQLCallbackWrapper.h: Removed.
        * storage/SQLError.h: Removed.
        * storage/SQLError.idl: Removed.
        * storage/SQLException.cpp: Removed.
        * storage/SQLException.h: Removed.
        * storage/SQLException.idl: Removed.
        * storage/SQLResultSet.cpp: Removed.
        * storage/SQLResultSet.h: Removed.
        * storage/SQLResultSet.idl: Removed.
        * storage/SQLResultSetRowList.cpp: Removed.
        * storage/SQLResultSetRowList.h: Removed.
        * storage/SQLResultSetRowList.idl: Removed.
        * storage/SQLStatement.cpp: Removed.
        * storage/SQLStatement.h: Removed.
        * storage/SQLStatementCallback.h: Removed.
        * storage/SQLStatementCallback.idl: Removed.
        * storage/SQLStatementErrorCallback.h: Removed.
        * storage/SQLStatementErrorCallback.idl: Removed.
        * storage/SQLStatementSync.cpp: Removed.
        * storage/SQLStatementSync.h: Removed.
        * storage/SQLTransaction.cpp: Removed.
        * storage/SQLTransaction.h: Removed.
        * storage/SQLTransaction.idl: Removed.
        * storage/SQLTransactionCallback.h: Removed.
        * storage/SQLTransactionCallback.idl: Removed.
        * storage/SQLTransactionClient.cpp: Removed.
        * storage/SQLTransactionClient.h: Removed.
        * storage/SQLTransactionCoordinator.cpp: Removed.
        * storage/SQLTransactionCoordinator.h: Removed.
        * storage/SQLTransactionErrorCallback.h: Removed.
        * storage/SQLTransactionErrorCallback.idl: Removed.
        * storage/SQLTransactionSync.cpp: Removed.
        * storage/SQLTransactionSync.h: Removed.
        * storage/SQLTransactionSync.idl: Removed.
        * storage/SQLTransactionSyncCallback.h: Removed.
        * storage/SQLTransactionSyncCallback.idl: Removed.
        * storage/WorkerContextSQLDatabase.cpp: Removed.
        * storage/WorkerContextSQLDatabase.h: Removed.
        * storage/WorkerContextSQLDatabase.idl: Removed.
        * storage/chromium/DatabaseObserver.h: Removed.
        * storage/chromium/DatabaseTrackerChromium.cpp: Removed.
        * storage/chromium/QuotaTracker.cpp: Removed.
        * storage/chromium/QuotaTracker.h: Removed.
        * storage/chromium/SQLTransactionClientChromium.cpp: Removed.

2012-03-05  Kent Tamura  <tkent@chromium.org>

        Do not reformat strings in <input type=number> on platforms using LocalizedNumberICU.
        https://bugs.webkit.org/show_bug.cgi?id=78326

        Reviewed by Hajime Morita.

        We had bugs such as stripping leading zeros, dropping lower digits
        of large numbers because we parse a user-input string to a double
        value, and generate a string from the double value.

        In order to avoid such reformatting, we converts number strings by
        replacing standard digits to corresponding localized digits.

        * WebCore.gypi: Added LocalizedNumberICU.h
        * platform/text/LocalizedNumberICU.cpp:
        (WebCore::ICULocale::ICULocale): Added.
        (WebCore::ICULocale::create): A testing factory function.
        (WebCore::ICULocale::createForCurrentLocale): A practical factory function.
        (WebCore::ICULocale::setDecimalSymbol): Initialize a symbol table.
        (WebCore::ICULocale::initializeDecimalFormat): Initialize ICU DecimalFormat.
        (WebCore::ICULocale::convertToLocalizedNumber):
         Replace characters to corresponding localized characters.
        (WebCore::matches): A helper function for convertFromLocalizedNumber.
        (WebCore::endsWith): ditto.
        (WebCore::ICULocale::determineStartPosition): ditto.
        (WebCore::ICULocale::matchedDecimalSymbolIndex): ditto.
        (WebCore::ICULocale::convertFromLocalizedNumber):
         Replace characters to corresponding standard characters.
        (WebCore::currentLocale): Added.
        (WebCore::convertToLocalizedNumber): Uses ICULocale::convertToLocalizedNumber.
        (WebCore::convertFromLocalizedNumber): Uses ICULocale::convertFromLocalizedNumber.
        * platform/text/LocalizedNumberICU.h: Added.
        (ICULocale): Added. This is exposed to WebKit/chromium/tests/LocalizedNumberICUTest.cpp.

2012-03-06  Adam Barth  <abarth@webkit.org>

        Attempt to fix the GTK minimal build
        https://bugs.webkit.org/show_bug.cgi?id=80390

        Reviewed by Csaba Osztrogonác.

        Add some missing ifdefs.

        * Modules/geolocation/NavigatorGeolocation.cpp:
        * Modules/geolocation/NavigatorGeolocation.h:

2012-03-05  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: stop using RawSourceCode in BreakpointManager.
        https://bugs.webkit.org/show_bug.cgi?id=80286

        Reviewed by Vsevolod Vlasov.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
        (WebInspector.BreakpointManager.prototype.setBreakpoint):
        (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
        (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        * inspector/front-end/ScriptMapping.js: Added.
        (WebInspector.ScriptMapping):
        (WebInspector.ScriptMapping.prototype.rawLocationToUILocation):
        (WebInspector.ScriptMapping.prototype.uiLocationToRawLocation):
        (WebInspector.ScriptMapping.prototype.createLiveLocation):
        (WebInspector.ScriptMapping.prototype.uiSourceCodeList):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-03-05  Philippe Normand  <pnormand@igalia.com>

        WebAudio JSC-related fixes
        https://bugs.webkit.org/show_bug.cgi?id=80299

        Reviewed by Adam Barth.

        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
        Wrap the audio context in a DOM wrapper.
        * webaudio/AudioContext.idl: No need to protect EventTarget by V8
        guards, I think.
        * webaudio/JavaScriptAudioNode.idl: Ditto.

2012-03-05  Kishore Bolisetty  <kbolisetty@innominds.com>

        Element not fully repainted after application and removal of transform
        https://bugs.webkit.org/show_bug.cgi?id=61338

        Reviewed by Simon Fraser.
        RenderLayer is created and removed when a transform is applied and removed to element.
        To render the element properly after removal of transform on it, preferred widths and dimensions of
        the element and its containing block needs to be recalculated.

        Test: fast/repaint/transform-rotate-and-remove.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore):
        (WebCore::RenderBoxModelObject::styleWillChange):
        (WebCore::RenderBoxModelObject::styleDidChange):
        * rendering/RenderBoxModelObject.h:
        (RenderBoxModelObject):

2012-03-05  Gavin Barraclough  <barraclough@apple.com>

        putByIndex should throw in strict mode
        https://bugs.webkit.org/show_bug.cgi?id=80335

        Reviewed by Filip Pizlo.

        Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::putProperty):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bridge/NP_jsobject.cpp:
        (_NPN_SetProperty):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::setSlot):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::putByIndex):
        * bridge/runtime_array.h:
        (RuntimeArray):

2012-03-05  Shinya Kawanaka  <shinyak@chromium.org>

        InsertionPoint::attach should be consistent with Element.
        https://bugs.webkit.org/show_bug.cgi?id=80373

        Reviewed by Hajime Morita.

        This patch is preparation for coming <shadow> patches.

        InsertionPoint used to attach fallback elements before attaching distributed elements.
        To be consistent with Element::attach behavior, attaching distributed elements first is
        natural, because Element attaches a shadow tree first.

        Also, this patch extracts a few methods form InsretionPoint::attach() and detach()
        to keep code clean. They will become messy without this refactoring when adding
        <shadow> patch.

        No new tests. Should be covered by existing tests.

        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::attach):
        (WebCore::InsertionPoint::detach):
        (WebCore::InsertionPoint::distributeHostChildren):
        (WebCore):
        (WebCore::InsertionPoint::clearDistribution):
        (WebCore::InsertionPoint::attachDistributedNode):
        * html/shadow/InsertionPoint.h:
        (InsertionPoint):

2012-03-05  Adam Barth  <abarth@webkit.org>

        Attempt to fix a number of GTK tests.

        * GNUmakefile.list.am:

2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed rollout of r109858 for restructuring.

2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>

        <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock

        There are times when an undocked inspector frontend is not allowed to
        attach to the main window. We can remove the dock button in those cases.

        Reviewed by Timothy Hatcher.

        No new tests. This functionality is port specific right now.

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):
        When the main frame is resized we let the inspector frontend client
        update its docked availablility.

        * WebCore.exp.in:
        * inspector/InspectorInstrumentation.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didResizeMainFrameImpl):
        (WebCore::InspectorInstrumentation::didResizeMainFrame):
        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::updateDockingAvailability):
        * inspector/InspectorController.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::resume):
        (WebCore::InspectorController::updateDockingAvailability):
        When the main frame is resized call up to the InspectorClient to let
        it update docking availability of the inspector frontend.

        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendClientLocal.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        (WebCore::InspectorFrontendClientLocal::setDockingUnavailable):
        On ports where the inspector frontend client is local, provide a 
        setDockingUnavailable InspectorFrontendAPI to update the docking state.
        Automatically update availablity when the frontend completes loading.

        * inspector/front-end/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.setDockingUnavailable):
        * inspector/front-end/inspector.js:
        (WebInspector._createGlobalStatusBarItems):
        (WebInspector.setAttachedWindow):
        (WebInspector.setDockingUnavailable):
        (WebInspector.updateDockToggleButtonVisibility):
        Update the dock button's visibility when its created, when the attached
        state changes, when get a frontend API notification that we cannot attach.

2012-03-05  Adrienne Walker  <enne@google.com>

        Compositing overlap testing can throw layers into compositing when they should not be.
        https://bugs.webkit.org/show_bug.cgi?id=50192

        Reviewed by Simon Fraser.

        The previous overlap map behavior was that a non-composited query
        layer would become composited due to overlap if and only if the query
        layer's absolute bounds overlapped the absolute bounds of some other
        layer which:
            - draws before the query layer
            - is or has a compositing ancestor

        This behavior, while correct, was too permissive in throwing layers
        into compositing, causing many layers to get their own backing when
        they could have just gone into their compositing ancestor's backing.

        The correct logic is that non-composited query layer needs to be
        composited due to overlap if and only if the query layer's absolute
        bounds overlap the absolute bounds of some other layer which:
            - draws before the query layer
            - has a different compositing ancestor than the query layer
            - is or has a compositing ancestor that is a descendent of the
              query layer's compositing ancestor

        This patch changes the semantics of the overlap map to enable this
        behavior.

        Rather than having one global overlap map, there is now a stack of
        overlap maps. New (empty) overlap maps are pushed onto the stack
        whenever a layer becomes a compositing ancestor and popped after all
        of the compositing requirements for that layer's children have been
        computed.

        The compositing ancestor and all of its non-composited children of a
        compositing ancestor do not get considered for overlap until their
        composited ancestor has been popped off the stack. If a compositing
        ancestor has a compositing subtree, then any descendents of that
        compositing ancestor that draw after that subtree will consider
        everything in the compositing subtree for overlap.

        Test: compositing/layer-creation/stacking-context-overlap.html

        * platform/graphics/Region.cpp:
        (WebCore::Region::intersects):
        (WebCore):
        * platform/graphics/Region.h:
        (Region):
        * rendering/RenderLayerCompositor.cpp:
        (RenderLayerCompositor::OverlapMap):
        (WebCore::RenderLayerCompositor::OverlapMap::OverlapMap):
        (WebCore::RenderLayerCompositor::OverlapMap::add):
        (WebCore::RenderLayerCompositor::OverlapMap::contains):
        (WebCore::RenderLayerCompositor::OverlapMap::overlapsLayers):
        (WebCore::RenderLayerCompositor::OverlapMap::isEmpty):
        (WebCore::RenderLayerCompositor::OverlapMap::popCompositingContainer):
        (WebCore::RenderLayerCompositor::OverlapMap::pushCompositingContainer):
        (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):

2012-03-05  Anders Carlsson  <andersca@apple.com>

        Address review comments from https://bugs.webkit.org/show_bug.cgi?id=80368

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::setNeedsDisplayInRect):

2012-03-05  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] HTMLFieldSetForms.idl doesn't have type attribute.
        https://bugs.webkit.org/show_bug.cgi?id=80109

        Reviewed by Hajime Morita.

        Test: fast/forms/fieldset/fieldset-type.html

        * html/HTMLFieldSetElement.idl: Add attribute "type"

2012-03-05  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::setScale):

2012-03-05  Anders Carlsson  <andersca@apple.com>

        pinch-to-zoom and double-tap flicker when using the new scrolling model
        https://bugs.webkit.org/show_bug.cgi?id=80368
        <rdar://problem/10866221>

        Reviewed by Sam Weinig.

        In order to work better with zooming, make the tile cache undo the scale transformation
        and handle the scaling manually. This avoids creating huge tile backing stores when zoomed in.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::TileCache):
        Initialize m_scale to 1.

        (WebCore::TileCache::setNeedsDisplayInRect):
        Scale the given rect appropriately.

        (WebCore::TileCache::drawLayer):
        Apply a scale context transform.

        (WebCore::TileCache::setScale):
        No longer set the contents scale. Instead, update the scale and revalidate the tiles.

        (WebCore::TileCache::revalidateTiles):
        Return early if the bounds are empty. This avoids showing a single tile if that happens due to a race condition.

        (WebCore::TileCache::getTileIndexRangeForRect):
        Apply the scale to the bounds.

        (WebCore::TileCache::createTileLayer):
        Don't set the contents scale.

        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer setContentsScale:]):
        Call TileCache::setScale.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateCompositedBounds):
        Make sure to give the tile cache layer sane composited bounds, even if the page has absolutely positioned
        elements that are outside of the page.

2012-03-05  Leo Yang  <leo.yang@torchmobile.com.cn>

        GraphicsContext3D.h should include RefCounted.h explicitly
        https://bugs.webkit.org/show_bug.cgi?id=80251

        Reviewed by Rob Buis.

        GraphicsContext3D.h was using RefCounted but including RefCounted.h indirectly
        through GraphicsLayer.h through Animation.h. However Animation.h is included
        by GraphicsLayer.h only when ACCELERATED_COMPOSITING is on. For some configurations
        that don't use ACCELERATED_COMPOSITING but use GraphicsContext3D, like the
        BlackBerry x86 configuration, the indirect inclusion will fail.

        This patch is adding explicit inclusion of RefCounted.h to avoid that kind of
        problem.

        * platform/graphics/GraphicsContext3D.h:

2012-03-05  Kenichi Ishibashi  <bashi@chromium.org>

        [WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
        https://bugs.webkit.org/show_bug.cgi?id=80103

        Reviewed by Kent Tamura.

        Add UTF8 validation checks for WebSocket message and close reason.

        Tests: http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html
               http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html

        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::send): Raise SYNTAX_ERR if the message is invalid.
        (WebCore::WebSocket::close):Raise SYNTAX_ERR if the reason is invalid.
        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::send): Check whether message is a valid UTF8 string.

2012-03-05  Kenneth Russell  <kbr@google.com>

        [chromium] Notify CCLayerImpl tree of context loss and restoration
        https://bugs.webkit.org/show_bug.cgi?id=80339

        Reviewed by James Robinson.

        Tested by manually killing GPU process while playing Flash video.
        Video continues to play after compositor restores its context.

        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::didLoseAndRecreateGraphicsContext):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::sendContextLostAndRestoredNotification):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::sendContextLostAndRestoredNotificationRecursive):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
        (WebCore::CCPluginLayerImpl::didLoseAndRecreateGraphicsContext):
        (WebCore):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
        (CCPluginLayerImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::recreateContext):

2012-03-05  Changhun Kang  <temoochin@company100.net>

        Change the argument orders to match OpenGL's in GraphicsContext3D functions
        https://bugs.webkit.org/show_bug.cgi?id=80120

        Reviewed by Kenneth Russell.

        No new tests because this patch just change the order of arguments.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::uniform1fv):
        (WebCore::WebGLRenderingContext::uniform1iv):
        (WebCore::WebGLRenderingContext::uniform2fv):
        (WebCore::WebGLRenderingContext::uniform2iv):
        (WebCore::WebGLRenderingContext::uniform3fv):
        (WebCore::WebGLRenderingContext::uniform3iv):
        (WebCore::WebGLRenderingContext::uniform4fv):
        (WebCore::WebGLRenderingContext::uniform4iv):
        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawDebugBorderQuad):
        (WebCore::LayerRendererChromium::drawTileQuad):
        (WebCore::LayerRendererChromium::drawYUV):
        (WebCore::LayerRendererChromium::drawStreamTexture):
        (WebCore::LayerRendererChromium::drawTexturedQuad):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::drawSurface):
        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::bindProgramAndBuffers):
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):

2012-03-05  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] HTMLFieldSetForms.idl doesn't have name attribute.
        https://bugs.webkit.org/show_bug.cgi?id=80108

        Reviewed by Hajime Morita.

        Test: fast/forms/fieldset/fieldset-name.html

        * html/HTMLFieldSetElement.idl: Add "name" attribute.

2012-03-05  Levi Weintraub  <leviw@chromium.org>

        Update usage of LayoutUnits in RenderBox
        https://bugs.webkit.org/show_bug.cgi?id=80039

        Reviewed by Julien Chaffraix.

        Updating the usage of integers versus LayoutUnits in RenderBox to mirror the
        subpixellayout branch. This reverts absoluteRects, intrinsicSize, and focusRingRects
        methods to use integers, and flipForWritingMode functions to LayoutUnits.

        No new tests. No change in behavior.

        * platform/graphics/FractionalLayoutRect.h:
        (WebCore::FractionalLayoutRect::pixelSnappedX): Convenience methods that only calculate
        the needed values. This requires less computation than pixelSnappedIntRect(r).x().
        (WebCore::FractionalLayoutRect::pixelSnappedY): Ditto.
        (WebCore::FractionalLayoutRect::pixelSnappedWidth): Ditto.
        (WebCore::FractionalLayoutRect::pixelSnappedHeight): Ditto.
        (WebCore::FractionalLayoutRect::pixelSnappedMaxX): Ditto.
        (WebCore::FractionalLayoutRect::pixelSnappedMaxY): Ditto.
        (FractionalLayoutRect):
        * platform/graphics/IntRect.h:
        (IntRect):
        (WebCore::IntRect::pixelSnappedX): Stub methods to allow us to use IntRects like we do
        FractionalLayoutRects.
        (WebCore::IntRect::pixelSnappedY): Ditto.
        (WebCore::IntRect::pixelSnappedMaxX): Ditto.
        (WebCore::IntRect::pixelSnappedMaxY): Ditto.
        (WebCore::IntRect::pixelSnappedWidth): Ditto.
        (WebCore::IntRect::pixelSnappedHeight): Ditto.
        * rendering/LayoutTypes.h:
        (WebCore::pixelSnappedIntRect): Convenience method for building a pixelSnappedIntRect from
        a LayoutPoint and LayoutSize without constructing an intermediate LayoutRect.
        (WebCore):
        (WebCore::snapSizeToPixel): Stub method for snapping a LayoutUnit representing a size to
        its pixel value using its location.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::pixelSnappedClientWidth): Changing to actually call snapSizeToPixel.
        (WebCore::RenderBox::pixelSnappedClientHeight): Ditto.
        (WebCore::RenderBox::absoluteRects): Switching to return IntRects that represent the actual
        rendered location on screen.
        (WebCore::RenderBox::addFocusRingRects): Ditto.
        (WebCore::RenderBox::paintFillLayer): One-liner switching an IntSize() to LayoutSize() to
        avoid unnecessary conversion.
        (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): Preparing for the conversion by
        replacing 0 with zeroLayoutUnit.
        (WebCore::RenderBox::positionLineBox): Preparing for conversion by replacing lroundf
        with roundedLayoutUnit.
        (WebCore::RenderBox::flipForWritingMode): Switching to use LayoutUnits.
        * rendering/RenderBox.h:
        (RenderBox):
        (WebCore::RenderBox::pixelSnappedBorderBoxRect): Convenience method.
        (WebCore::RenderBox::borderBoundingBox): Converting to a pixelSnappedIntRect.
        (WebCore::RenderBox::intrinsicSize): Intrinsic sizes should always be integers.

2012-03-05  Adam Barth  <abarth@webkit.org>

        WorkerContext shouldn't need to know about SQLDatabase
        https://bugs.webkit.org/show_bug.cgi?id=80352

        Reviewed by Eric Seidel.

        This patch removes the SQLDatabase functions from WorkerContext in
        preparation for moving the SQLDatabase code into a module.  These
        functions don't interact with the rest of WorkerContext.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/DOMWindowSQLDatabase.cpp:
        * storage/WorkerContextSQLDatabase.cpp: Added.
        (WebCore):
        (WebCore::WorkerContextSQLDatabase::openDatabase):
        (WebCore::WorkerContextSQLDatabase::openDatabaseSync):
        * storage/WorkerContextSQLDatabase.h: Added.
        (WebCore):
        (WorkerContextSQLDatabase):
        (WebCore::WorkerContextSQLDatabase::WorkerContextSQLDatabase):
        (WebCore::WorkerContextSQLDatabase::~WorkerContextSQLDatabase):
        * storage/WorkerContextSQLDatabase.idl: Added.
        * workers/WorkerContext.cpp:
        (WebCore):
        * workers/WorkerContext.h:
        (WebCore):
        (WorkerContext):
        * workers/WorkerContext.idl:

2012-03-05  Kenichi Ishibashi  <bashi@chromium.org>

        [WebSocket] Introduce ThreadableWebSocketChannel::SendResult
        https://bugs.webkit.org/show_bug.cgi?id=80356

        Reviewed by Kent Tamura.

        Introduced ThreadableWebSocketChannel::SendResult type so that
        WebSocketChannel can pass the validation result.

        No new test. No changes in behavior.

        * Modules/websockets/ThreadableWebSocketChannel.h: Added SendResult.
        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
        (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult): Use ThreadableWebSocketChannel::SendResult instead of bool.
        (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult): Ditto.
        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
        (ThreadableWebSocketChannelClientWrapper):
        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool. Pass Cstring to enqueTextFrame instead of String.
        (WebCore::WebSocketChannel::enqueueTextFrame): Ditto.
        (WebCore::WebSocketChannel::processOutgoingFrameQueue): Ditto.
        * Modules/websockets/WebSocketChannel.h:
        (WebSocketChannel):
        (QueuedFrame): Changed the type of stringData from String to CString.
        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool.
        (WebCore::workerContextDidSend): Ditto.
        (WebCore::WorkerThreadableWebSocketChannel::Peer::send): Ditto.
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto.
        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
        (WorkerThreadableWebSocketChannel): ditto.
        (Bridge): Ditto.

2012-03-05  Kentaro Hara  <haraken@chromium.org>

        [JSC] Cache the CSSPropertyID in JSCSSStyleDeclaration
        https://bugs.webkit.org/show_bug.cgi?id=80250

        Reviewed by Benjamin Poulain.

        V8CSSStyleDeclaration caches the calculated CSSPropertyID.
        Similarly, we can implement the cache in JSCSSStyleDeclaration.

        In my local Mac environment, this optimization improves the performance
        of CSS property getters by 35%, and the performance of CSS property setters
        by 8%.

        CSS property getter: for (var i = 0; i < 1000000; i++) span.style.fontWeight;
        CSS property setter: for (var i = 0; i < 1000000; i++) span.style.fontWeight = "bold";

        Tests: fast/dom/CSSStyleDeclaration/* (No change in test results)

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (CSSPropertyInfo):
        (WebCore):
        (WebCore::cssPropertyIDForJSCSSPropertyName):
        (WebCore::JSCSSStyleDeclaration::nameGetter):
        (WebCore::JSCSSStyleDeclaration::putDelegate):

2012-03-05  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Handle LevelDB database corruption
        https://bugs.webkit.org/show_bug.cgi?id=79413

        Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.

        Reviewed by Tony Chang.

        Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'

        * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
        (WebCore::IDBLevelDBBackingStore::open):
        * platform/leveldb/LevelDBDatabase.cpp:
        (WebCore::LevelDBDatabase::destroy):
        (WebCore):
        * platform/leveldb/LevelDBDatabase.h:
        (LevelDBDatabase):

2012-03-05  Stephen Chenney  <schenney@chromium.org>

        [Chromium] SVG Composite of Offset crashes
        https://bugs.webkit.org/show_bug.cgi?id=77245

        Reviewed by Stephen White.

        The feComposite arithmetic mode filter could readily be made to
        generate invalid pre-multiplied pixel values which would then go on to
        pollute other filters and cause invalid final output pixels. This
        patch checks for filters that require valid inputs, and checks that a
        result is valid, and corrects the result if necessary. This matches
        the behavior of FF and Opera while preventing crashes or other
        undesirable behavior.

        Test: svg/filters/feComposite-arithmetic-invalid-rgba.svg

        * platform/graphics/filters/FEComposite.h: Override the default validity checks and image cleanup methods.
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::correctFilterResultIfNeeded): Force valid pixels if this is an arithmetic filter
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::apply): Check for validity status and correct
        (WebCore::FilterEffect::forceValidPremultipliedPixels): Make an image valid
        (WebCore):
        * platform/graphics/filters/FilterEffect.h: New virtual methods for image validity.
        (FilterEffect):
        (WebCore::FilterEffect::requiresValidPreMulultipliedPixels):
        (WebCore::FilterEffect::forceValidPremultipliedPixels):
        (WebCore::FilterEffect::correctFilterResultIfNeeded):
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::postApplyResource): Check that the final filter result is valid

2012-03-05  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle gives incorrect information for 'height' property
        https://bugs.webkit.org/show_bug.cgi?id=33593

        Reviewed by David Hyatt.

        Make sure that the contentBoxRect doesn't take into account the
        intrinsic padding when querying it. As stated by http://www.w3.org/TR/css3-box/#the-lsquo0
        the height is the content area which doesn't include the intrinsic padding, the border, and
        the padding.

        Test: fast/css/getComputedStyle/getComputedStyle-height.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeNode):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::contentBoxRect):
        (WebCore::RenderBox::contentWidth):
        (WebCore::RenderBox::contentHeight):
        (WebCore::RenderBox::contentLogicalWidth):
        (WebCore::RenderBox::contentLogicalHeight):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paddingTop):
        (WebCore::RenderBoxModelObject::paddingBottom):
        (WebCore::RenderBoxModelObject::paddingLeft):
        (WebCore::RenderBoxModelObject::paddingRight):
        (WebCore::RenderBoxModelObject::paddingBefore):
        (WebCore::RenderBoxModelObject::paddingAfter):
        (WebCore::RenderBoxModelObject::paddingStart):
        (WebCore::RenderBoxModelObject::paddingEnd):
        * rendering/RenderBoxModelObject.h:
        (RenderBoxModelObject):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paddingTop):
        (WebCore::RenderTableCell::paddingBottom):
        (WebCore::RenderTableCell::paddingLeft):
        (WebCore::RenderTableCell::paddingRight):
        (WebCore::RenderTableCell::paddingBefore):
        (WebCore::RenderTableCell::paddingAfter):
        (WebCore::RenderTableCell::cellBaselinePosition):
        * rendering/RenderTableCell.h:
        (RenderTableCell):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::firstLineBoxBaseline):

2012-03-05  MORITA Hajime  <morrita@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=80257
        Lifecycle of InternalSettings should be simplified.

        Reviewed by Ryosuke Niwa.

        - Moved settings update code to separate restoreTo() method.
        - Eliminated flags which indidate the changed field.
          Now these modifiable parameters are backed up at the initialization.

        No new tests. Refactoring.

        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::create):
        (WebCore::InternalSettings::InternalSettings):
        (WebCore):
        (WebCore::InternalSettings::restoreTo):
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/Internals.cpp:
        (WebCore::Internals::reset):

2012-03-05  Anders Carlsson  <andersca@apple.com>

        Be more aggressive about repainting page overlays
        https://bugs.webkit.org/show_bug.cgi?id=80336
        <rdar://problem/10965943>

        Reviewed by Simon Fraser.

        Add a way to find out if a given GraphicsLayer is going to be repainted.

        * WebCore.exp.in:
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::needsDisplay):
        (GraphicsLayer):
        * platform/graphics/ca/GraphicsLayerCA.h:

2012-03-05  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream LayerRendererSurface.{cpp, h}
        https://bugs.webkit.org/show_bug.cgi?id=80122

        Reviewed by Rob Buis.

        Initial upstream, no new tests.

        * PlatformBlackBerry.cmake:
        * platform/graphics/blackberry/LayerRendererSurface.cpp: Added.
        (WebCore):
        (WebCore::LayerRendererSurface::LayerRendererSurface):
        (WebCore::LayerRendererSurface::~LayerRendererSurface):
        (WebCore::LayerRendererSurface::setContentRect):
        (WebCore::LayerRendererSurface::drawRect):
        (WebCore::LayerRendererSurface::ensureTexture):
        (WebCore::LayerRendererSurface::releaseTexture):
        * platform/graphics/blackberry/LayerRendererSurface.h: Added.
        (WebCore):
        (LayerRendererSurface):
        (WebCore::LayerRendererSurface::size):
        (WebCore::LayerRendererSurface::contentRect):
        (WebCore::LayerRendererSurface::clipRect):
        (WebCore::LayerRendererSurface::setClipRect):
        (WebCore::LayerRendererSurface::setDrawTransform):
        (WebCore::LayerRendererSurface::drawTransform):
        (WebCore::LayerRendererSurface::setReplicaDrawTransform):
        (WebCore::LayerRendererSurface::replicaDrawTransform):
        (WebCore::LayerRendererSurface::texture):
        (WebCore::LayerRendererSurface::drawOpacity):
        (WebCore::LayerRendererSurface::setDrawOpacity):

2012-03-05  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions][CSSOM]Prevent creation of NamedFlow object for invalid flow name
        https://bugs.webkit.org/show_bug.cgi?id=79685

        Reviewed by David Hyatt.

        Asking for a named flow with an invalid flow name should return a null object.

        Test: fast/regions/webkit-named-flow-invalid-name.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFlowThread):
        (WebCore):
        * css/CSSParser.h:
        * dom/Document.cpp:
        (WebCore::validFlowName):
        (WebCore):
        (WebCore::Document::webkitGetFlowByName):

2012-03-05  Ryosuke Niwa  <rniwa@webkit.org>

        unicode-bidi should support isolate override and override isolate
        https://bugs.webkit.org/show_bug.cgi?id=73164

        Reviewed by Eric Seidel.

        Updated CSS parser and CSS style selector to support the union of bidi-override and isolate in
        unicode-bidi property. Added OverrideIsolate to EUnicodeBidi instead of turning Override and Isolate
        into bit flags to avoid increasing the number of bits required to store the unicodeBidi flag.

        Also fixed a bug in RenderBlock::constructTextRun to actually check whether an isolated run's direction
        is overridden or not when constructing one.

        Tests: fast/css/unicode-bidi-computed-value.html
               fast/text/bidi-override-isolate.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::renderUnicodeBidiFlagsToCSSValue): Added; Create a CSSValueList when unicode-bidi has both
        isolate and bidi-override specified.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):  Calls renderUnicodeBidiFlagsToCSSValue.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Support parsing combinations of -webkit-isolate and bidi-override;
        Create a CSSValueList in such cases.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore):
        * css/CSSStyleApplyProperty.cpp:
        (ApplyPropertyUnicodeBidi):
        (WebCore::ApplyPropertyUnicodeBidi::applyValue): Support combinations of -webkit-isolate and
        bidi-override. Set the unicodeBidi flag to OverrideIsolate in such cases.
        (WebCore::ApplyPropertyUnicodeBidi::createHandler):
        (WebCore):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * platform/text/UnicodeBidi.h: Added OverrideIsolate. We don't use bit flags to avoid increasing the
        number of bits required to store flags especially because isolate and bidi-override are only values
        that can be combined.
        (WebCore::isIsolated):
        (WebCore):
        (WebCore::isOverride):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::constructTextRun):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::statusWithDirection): Takes isOverride; we used to assume it's always false.
        (WebCore::constructBidiRuns): Instantiate isolatedResolver with a proper value of isOverride.
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
        (WebCore::RenderBlock::determineStartPosition):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintItemForeground):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemStyle):
        (WebCore::RenderMenuList::menuStyle):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::menuStyle):
        * rendering/svg/SVGTextMetrics.cpp:
        (WebCore::SVGTextMetrics::constructTextRun):

2012-03-05  Emil A Eklund  <eae@chromium.org>

        Replace uses of x(), y() and width(), height() pairs with locationOffset and size()
        https://bugs.webkit.org/show_bug.cgi?id=80196

        Reviewed by Julien Chaffraix.

        Replace IntSize(x(), y()) with locationOffset()
        Replace IntSize(width(), height()) with size()
        Replace IntRect(0, 0, width(), height()) with IntRect(IntPoint(), size())
        Replace IntRect::move(x(), y()) with IntRect::move(locationOffset())

        No new tests.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer):
        (WebCore::HTMLCanvasElement::baseTransform):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::simplifiedLayout):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::mapLocalToContainer):
        (WebCore::RenderBox::computeRectForRepaint):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::borderBoxRect):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::localSelectionRect):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::localSelectionRect):
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::updateScrollbarParts):
        (WebCore::RenderScrollbar::buttonRect):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::setCellLogicalWidths):
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::viewRect):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout):

2012-03-05  Anders Carlsson  <andersca@apple.com>

        Always update the scroll layer position on the main thread when we have an overlay
        https://bugs.webkit.org/show_bug.cgi?id=80324

        Reviewed by Sam Weinig.

        Add a way to ensure that scroll layer position updates happen on the main thread.

        * WebCore.exp.in:
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
        (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
        (WebCore):
        (WebCore::ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates):
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):

2012-03-05  Tony Chang  <tony@chromium.org>

        Implement flex-wrap: wrap
        https://bugs.webkit.org/show_bug.cgi?id=79930

        Reviewed by David Hyatt.

        Tests: css3/flexbox/multiline-align.html
               css3/flexbox/multiline.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth): Don't apply column+stretch optimization to multiline.
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::FlexOrderIterator::FlexOrderIterator):
        (WebCore::RenderFlexibleBox::FlexOrderIterator::currentChild): Expose the current child so we can pause
        in the middle of iteration and resume later.
        (RenderFlexibleBox::FlexOrderIterator):
        (WebCore::RenderFlexibleBox::isMultiline):
        (WebCore):
        (WebCore::RenderFlexibleBox::layoutFlexItems): Loop per line.
        (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Use the line space, not the whole container space.
        (WebCore::RenderFlexibleBox::computeFlexOrder): Return true for each line.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use the line offset. Also compute the line height as we go.
        (WebCore::RenderFlexibleBox::layoutColumnReverse): Use the line offset.
        (WebCore::RenderFlexibleBox::alignChildren): Align based on the line height. For multiline + column, we have to relayout
        since the width may change (same as the row case above). We'll have to do something smarter when we implement flex-line-pack.
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-03-05  Ben Vanik  <benvanik@google.com>

        Implement WebGL extension EXT_texture_filter_anisotropic
        https://bugs.webkit.org/show_bug.cgi?id=79541

        This exports the EXT_texture_filter_anisotropic extension with the WEBKIT_ prefix as defined at
        https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/extensions/proposals/EXT_texture_filter_anisotropic/index.html

        Reviewed by Kenneth Russell.

        Tested with the Khronos conformance test for the extension, available at https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/extensions/ext-texture-filter-anisotropic.html

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        * html/canvas/EXTTextureFilterAnisotropic.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
        (WebCore):
        (WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
        (WebCore::EXTTextureFilterAnisotropic::~EXTTextureFilterAnisotropic):
        (WebCore::EXTTextureFilterAnisotropic::getName):
        (WebCore::EXTTextureFilterAnisotropic::create):
        * html/canvas/EXTTextureFilterAnisotropic.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
        (WebCore):
        (EXTTextureFilterAnisotropic):
        * html/canvas/EXTTextureFilterAnisotropic.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
        * html/canvas/WebGLExtension.h:
        * html/canvas/WebGLObject.cpp:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::getExtension):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getSupportedExtensions):
        (WebCore::WebGLRenderingContext::getTexParameter):
        (WebCore::WebGLRenderingContext::texParameter):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore):
        (WebGLRenderingContext):
        * platform/graphics/Extensions3D.h:
        (Extensions3D):
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::supports):

2012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r109760.
        http://trac.webkit.org/changeset/109760
        https://bugs.webkit.org/show_bug.cgi?id=80320

        Caused many GTK+ tests to crash (Requested by mrobinson on
        #webkit).

        * platform/network/ResourceHandleClient.h:
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCoreSynchronousLoader):
        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
        (WebCore):
        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
        (WebCore::WebCoreSynchronousLoader::didReceiveData):
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::WebCoreSynchronousLoader::didFail):
        (WebCore::WebCoreSynchronousLoader::run):
        (WebCore::closeCallback):
        (WebCore::readCallback):
        (WebCore::ResourceHandle::defaultSession):

2012-03-05  Adam Klein  <adamk@chromium.org>

        Never dispatch mutation events in shadow DOM
        https://bugs.webkit.org/show_bug.cgi?id=79278

        Reviewed by Ryosuke Niwa.

        Test: fast/dom/shadow/suppress-mutation-events-in-shadow.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChildren): Move allowEventDispatch() call later,
        now that childrenChanged won't trigger mutation events in shadow dom.
        (WebCore::dispatchChildInsertionEvents): Bail out if in shadow tree.
        (WebCore::dispatchChildRemovalEvents): ditto.
        * dom/Node.cpp:
        (WebCore::Node::dispatchSubtreeModifiedEvent): ditto.

2012-03-05  Alexey Proskuryakov  <ap@apple.com>

        BlobResourceHandle should keep a reference to itself when calling client code.
        https://bugs.webkit.org/show_bug.cgi?id=80318

        Reviewed by Brady Eidson.

        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::doStart):
        (WebCore::BlobResourceHandle::getSizeForNext):
        (WebCore::BlobResourceHandle::readSync):
        (WebCore::BlobResourceHandle::readDataAsync):
        (WebCore::BlobResourceHandle::consumeData):
        (WebCore::BlobResourceHandle::failed):
        Added RefPtrs in functions that can result in calling client code, and use "this" object afterwards.

2012-03-05  Anders Carlsson  <andersca@apple.com>

        Let RenderLayerCompositor set the tile cache visible rect
        https://bugs.webkit.org/show_bug.cgi?id=80317

        Reviewed by Simon Fraser.

        We can't compute the visible rect from CALayers, because that breaks when we're updating
        the scroll layer position on the main thread (since by the time visibleRectChanged() is called,
        the CALayers won't yet have been updated).

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::visibleRectChanged):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::visibleRectChanged):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):
        * platform/graphics/ca/PlatformCALayer.h:
        (PlatformCALayer):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::visibleRectChanged):
        * platform/graphics/ca/mac/TileCache.h:
        (TileCache):
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::visibleRectChanged):
        (WebCore::TileCache::revalidateTiles):
        * platform/graphics/ca/mac/WebTileCacheLayer.h:
        (WebCore):
        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer visibleRectChanged:]):
        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        (PlatformCALayer::visibleRectChanged):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidScroll):

2012-03-05  Kangil Han  <kangil.han@samsung.com>

        [CMake][DRT] Add WebCoreTestSupport.
        https://bugs.webkit.org/show_bug.cgi?id=79896

        Reviewed by Daniel Bates.

        Add WebCoreTestSupport library for DRT in CMake.
        We will use internals object by linking this library on DRT.

        * CMakeLists.txt:
        * UseJSC.cmake:
        * UseV8.cmake:

2012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r109656.
        http://trac.webkit.org/changeset/109656
        https://bugs.webkit.org/show_bug.cgi?id=80316

        This seems to have regressed Parser/html5-full-render by about
        10% (Requested by anttik on #webkit).

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::getPositionOffsetValue):
        (WebCore::getBorderRadiusCornerValues):
        (WebCore::getBorderRadiusCornerValue):
        (WebCore::getBorderRadiusShorthandValue):
        (WebCore::lineHeightFromStyle):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::validUnit):
        (WebCore::CSSParser::createPrimitiveNumericValue):
        (WebCore::unitFromString):
        (WebCore::CSSParser::parseValidPrimitive):
        (WebCore::CSSParser::detectNumberToken):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::isValidCSSUnitTypeForDoubleConversion):
        (WebCore::unitCategory):
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
        (WebCore::CSSPrimitiveValue::customCssText):
        * css/CSSPrimitiveValue.h:
        (CSSPrimitiveValue):
        * css/CSSPrimitiveValue.idl:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        (WebCore::ApplyPropertyFontSize::applyValue):
        (WebCore::ApplyPropertyLineHeight::applyValue):
        (WebCore::ApplyPropertyVerticalAlign::applyValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * dom/Document.cpp:
        (WebCore::Document::pageSizeAndMarginsInPixels):
        (WebCore):
        * dom/Document.h:
        (Document):
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::getRegion):
        * platform/Length.h:
        (WebCore::Length::calcValue):
        (WebCore::Length::calcMinValue):
        (WebCore::Length::calcFloatValue):
        (WebCore::Length::blend):
        * rendering/RenderBR.cpp:
        (WebCore::RenderBR::lineHeight):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::lineHeight):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::reflectionOffset):
        (WebCore::RenderBox::paintBoxDecorations):
        (WebCore::RenderBox::clipRect):
        (WebCore::RenderBox::computeLogicalWidthInRegion):
        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
        (WebCore::RenderBox::computeInlineDirectionMargins):
        (WebCore::RenderBox::computeLogicalHeightUsing):
        (WebCore::RenderBox::computePercentageLogicalHeight):
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
        (WebCore::RenderBox::computeBlockDirectionMargins):
        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
        (WebCore::RenderBoxModelObject::relativePositionOffsetY):
        (WebCore::RenderBoxModelObject::paddingTop):
        (WebCore::RenderBoxModelObject::paddingBottom):
        (WebCore::RenderBoxModelObject::paddingLeft):
        (WebCore::RenderBoxModelObject::paddingRight):
        (WebCore::RenderBoxModelObject::paddingBefore):
        (WebCore::RenderBoxModelObject::paddingAfter):
        (WebCore::RenderBoxModelObject::paddingStart):
        (WebCore::RenderBoxModelObject::paddingEnd):
        (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
        (WebCore::RenderBoxModelObject::calculateFillTileSize):
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        (WebCore::computeBorderImageSide):
        (WebCore::RenderBoxModelObject::paintNinePieceImage):
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
        * rendering/RenderInline.cpp:
        (WebCore::computeMargin):
        (WebCore::RenderInline::lineHeight):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateOptionsWidth):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        * rendering/RenderObject.h:
        (RenderObject):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::calcScrollbarThicknessUsing):
        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::logicalHeightForRowSizing):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        * rendering/RenderText.h:
        (WebCore::RenderText::marginLeft):
        (WebCore::RenderText::marginRight):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::verticalPositionForBox):
        * rendering/style/RenderStyle.cpp:
        (WebCore::calcRadiiFor):
        (WebCore::RenderStyle::getRoundedBorderFor):
        * rendering/style/RenderStyle.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::resolveLengthAttributeForSVG):
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):

2012-03-05  Rob Buis  <rbuis@rim.com>

        [BlackBerry] Add missing method to PasteboardBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=80326

        Reviewed by Antonio Gomes.

        Add missing method.

        * platform/blackberry/PasteboardBlackBerry.cpp:
        (WebCore::Pasteboard::writeClipboard):
        (WebCore):

2012-03-05  Rob Buis  <rbuis@rim.com>

        [BlackBerry] UTF chars printed back from cookie through php shows as ???
        https://bugs.webkit.org/show_bug.cgi?id=80307

        Reviewed by Antonio Gomes.

        PR: 130055

        we need to check the cookies encoding first and encode the cookie header data
        to pass to the request.

        * platform/network/blackberry/NetworkManager.cpp:
        (WebCore::NetworkManager::startJob):

2012-03-05  Dana Jansens  <danakj@chromium.org>

        [chromium] Remove old cleanupResources() code
        https://bugs.webkit.org/show_bug.cgi?id=80290

        Reviewed by Adrienne Walker.

        cleanupResources() is only called by destructors, and adds no
        value, any more, beyond the destructors themselves, but complicates
        the code path.

        Covered by existing tests.

        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
        (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::~CCRenderSurface):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (CCRenderSurface):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):

2012-03-05  Sami Kyostila  <skyostil@chromium.org>

        Partially loaded JPEGs should have alpha channel
        https://bugs.webkit.org/show_bug.cgi?id=78239

        Reviewed by Kenneth Russell.

        While a JPEG image is loading, the area outside the decoded region
        should be fully transparent. Since currently all JPEG frames are marked
        as opaque, a renderer respecting this flag will draw the partially
        loaded image with garbage outside the valid image region.

        Hence, a partially loaded JPEG image should be marked as having an alpha
        channel while decoding is in progress. For performance reasons we mark
        the image opaque after decoding has finished.

        Graphics corruption caused by this bug was recently observed on
        Chromium (http://code.google.com/p/chromium/issues/detail?id=113171). A
        recent Skia change (r3036) changed SkBitmap::extractSubset() to produce
        a bitmap with the same opaqueness flag as the parent. This meant that
        the renderer was now seeing an opaque image from the JPEG decoder, and
        drawing it appropriately resulted in garbage outside the decoded region.

        Test: http/tests/incremental/partial-jpeg.html

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::outputScanlines):
        (WebCore::JPEGImageDecoder::jpegComplete):

2012-03-05  James Robinson  <jamesr@chromium.org>

        [chromium] Initialize CCOverdrawCounts struct to zero
        https://bugs.webkit.org/show_bug.cgi?id=80204

        Reviewed by Adrienne Walker.

        CCOverdrawCounts is stack allocated but not explicitly initialized, so the values are garbage. This adds a c'tor
        to zero out the fields, which is the desired behavior.  Bug was initially caught by valgrind, see
        http://crbug.com/116475

        * platform/graphics/chromium/cc/CCRenderPass.h:
        (WebCore::CCOverdrawCounts::CCOverdrawCounts):

2012-03-05  Min Qin  <qinmin@google.com>

        Add media control css for chromium on android
        https://bugs.webkit.org/show_bug.cgi?id=79550

        Reviewed by Adam Barth.

        This should not change the any test results as it does not affect the any current bots. New test expectations will be added if we have a android bot on webkit.

        * WebCore.gyp/WebCore.gyp:
        * css/mediaControlsChromiumAndroid.css: Added.
        (body:-webkit-full-page-media):
        (audio):
        (audio:-webkit-full-page-media, video:-webkit-full-page-media):
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
        (video:-webkit-full-page-media::-webkit-media-controls-panel):
        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
        (audio::-webkit-media-controls-timeline-container):
        (video::-webkit-media-controls-timeline-container):
        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
        (video::-webkit-media-controls-fullscreen-button):
        (audio::-webkit-media-controls-fullscreen-button):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::paintMediaFullscreenButton):
        (WebCore):
        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
        * rendering/RenderThemeChromiumAndroid.cpp:
        (WebCore::RenderThemeChromiumAndroid::extraMediaControlsStyleSheet):
        (WebCore):
        (WebCore::RenderThemeChromiumAndroid::paintMediaFullscreenButton):
        * rendering/RenderThemeChromiumAndroid.h:

2012-03-05  Anders Carlsson  <andersca@apple.com>

        Fix crash in ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition
        https://bugs.webkit.org/show_bug.cgi?id=80303
        <rdar://problem/10953682>

        Reviewed by Beth Dakin.

        Add the same null checks that already exist in updateMainFrameScrollPosition.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):

2012-03-05  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: CSS inactive property check should account for vendor prefixes
        https://bugs.webkit.org/show_bug.cgi?id=80225

        Reviewed by Pavel Feldman.

        Test: inspector/styles/vendor-prefixes.html

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.alteredHexNumber):
        (WebInspector.StylesSidebarPane.canonicalPropertyName):
        (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):

2012-03-05  Adam Barth  <abarth@webkit.org>

        Geolocation should use a ScriptExecutionContext as its context object
        https://bugs.webkit.org/show_bug.cgi?id=80248

        Reviewed by Kentaro Hara.

        This patch updates Geolocation to use some more modern WebCore
        mechanisms.  Previously, Geolocation used a Frame as a context object,
        which required a bunch of manual integration with the PageCache as well
        as custom signaling for Geolocation::reset().  After this patch,
        Geolocation subclasses ActiveDOMObject, which does all this work
        automatically.

        * Modules/geolocation/Geolocation.cpp:
        (WebCore::Geolocation::create):
        (WebCore):
        (WebCore::Geolocation::Geolocation):
        (WebCore::Geolocation::~Geolocation):
        (WebCore::Geolocation::document):
        (WebCore::Geolocation::frame):
        (WebCore::Geolocation::page):
        (WebCore::Geolocation::stop):
        (WebCore::Geolocation::getCurrentPosition):
        (WebCore::Geolocation::watchPosition):
        (WebCore::Geolocation::requestPermission):
        (WebCore::Geolocation::clearWatch):
        (WebCore::Geolocation::setIsAllowed):
        * Modules/geolocation/Geolocation.h:
        (WebCore):
        (Geolocation):
        * Modules/geolocation/NavigatorGeolocation.cpp:
        (WebCore):
        (WebCore::NavigatorGeolocation::geolocation):
        * Modules/geolocation/NavigatorGeolocation.h:
        (NavigatorGeolocation):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (Document):
        * history/PageCache.cpp:
        (WebCore::logCanCacheFrameDecision):
        (WebCore::PageCache::canCachePageContainingThisFrame):

2012-03-05  Martin Robinson  <mrobinson@igalia.com>

        [soup] Crash while loading http://www.jusco.cn
        https://bugs.webkit.org/show_bug.cgi?id=68238

        Reviewed by Philippe Normand.

        Test: http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers.html

        When running synchronous XMLHttpRequests, push a new inner thread default
        context, so that other sources from timers and network activity do not run.
        This will make synchronous requests truly synchronous with the rest of
        WebCore.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCoreSynchronousLoader): Clean up the method definitions a bit by writing them inline.
        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Push a new thread default
        context to prevent other sources from running.
        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Pop the inner thread default context.
        (WebCore::closeCallback): If the client is synchronous call didFinishLoading now.
        (WebCore::readCallback): Only call didFinishLoading if the client isn't synchronous.
        (WebCore::ResourceHandle::defaultSession): Activate use-thread-context so that the soup session
        respects the inner thread context.
        (ResourceHandleClient):
        (WebCore::ResourceHandleClient::isSynchronousClient): Added this virtual method.

2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>

        Remove pointer to timer and use the timers directly in the tiled backing store
        https://bugs.webkit.org/show_bug.cgi?id=80283

        Patch by Kenneth Rohde Christiansen and Alexander Færøy.

        Reviewed by Simon Hausmann.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::TiledBackingStore):
        (WebCore::TiledBackingStore::~TiledBackingStore):
        (WebCore::TiledBackingStore::createTiles):
        (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
        (WebCore::TiledBackingStore::startTileCreationTimer):
        * platform/graphics/TiledBackingStore.h:
        (TiledBackingStore):

2012-03-05  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Tabbing an empty new property in the middle of style moves the editor to the next section
        https://bugs.webkit.org/show_bug.cgi?id=80264

        Reviewed by Pavel Feldman.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection.alreadyNew):
        (WebInspector.StylePropertyTreeElement.prototype):

2012-03-05  Rob Buis  <rbuis@rim.com>

        [BlackBerry] Update LocalizedStringsBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=80278

        Reviewed by Antonio Gomes.

        Update LocalizedStringsBlackBerry.cpp to current HEAD.

        * platform/blackberry/LocalizedStringsBlackBerry.cpp:
        (WebCore::inputElementAltText): fall back to "Submit".
        (WebCore::imageTitle): choose the format "filename(widthxheight)" like Chrome does.
        (WebCore::fileButtonNoFilesSelectedLabel): fall back to "No File Chosen" translation like Chrome does.
        (WebCore):

2012-03-05  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: [chromium] introduce HeapSnapshot performance test.
        https://bugs.webkit.org/show_bug.cgi?id=80280

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
        (WebInspector.HeapSnapshotLoaderProxy.prototype._callLoadCallbacks):

2012-03-05  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: cannot be launched when localStorage is disabled
        https://bugs.webkit.org/show_bug.cgi?id=80252

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/Settings.js:

2012-03-05  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: check for the number of parsed css properties.
        https://bugs.webkit.org/show_bug.cgi?id=80268

        Reviewed by Vsevolod Vlasov.

        Test: inspector/styles/set-property-boundaries.html

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::didRemoveDOMNode):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):

2012-03-05  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Tabbed pane should redraw tab elements when tab is closed.
        https://bugs.webkit.org/show_bug.cgi?id=80273

        Reviewed by Pavel Feldman.

        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype.closeTab):

2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>

        Improve comments in the tiled backing store
        https://bugs.webkit.org/show_bug.cgi?id=80279

        Patch by Kenneth Rohde Christiansen and Alexander Færøy.

        Reviewed by Simon Hausmann.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::createTiles):

2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>

        TiledBackingStore.{h,cpp} contains unclear variable names
        https://bugs.webkit.org/show_bug.cgi?id=80276

        Patch by Kenneth Rohde Christiansen and Alexander Færøy.

        Reviewed by Simon Hausmann.

        This patch renames some of the variables in TiledBackingStore.cpp to
        enhance the clearity and for consistence.

        The visibleContentsRect is renamed to visibleRect as it is not in
        contents coordinates.

        The panningTrajectoryVector and m_visibleRectTrajectoryVector are
        renamed to just *[m_]trajectoryVector, as that is descriptive enough.

        The previous prefix has also been removed, as it is being used as the
        current one in the code. This avoids confusion.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
        (WebCore::TiledBackingStore::visibleRect):
        (WebCore::TiledBackingStore::visibleAreaIsCovered):
        (WebCore::TiledBackingStore::createTiles):
        (WebCore::TiledBackingStore::computeCoverAndKeepRect):
        (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
        * platform/graphics/TiledBackingStore.h:
        (TiledBackingStore):

2012-03-05  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Fix build with Qt 5 and OpenGL ES 2.0

        Reviewed by Noam Rosenthal.

        * platform/graphics/texmap/TextureMapper.h: Since we don't do QT += opengl with Qt 5 anymore
        here in WebCore, we cannot check for QT_OPENGL_LIB. But since this is Qt5, we know that the
        GLES setting comes qconfig.h and we can rely on it.

2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>

        Whitespace clean-up of TiledBackingStore.cpp.

        Rubber-stamped by Kenneth Rohde Christiansen.

        Already covered by existing tests.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore):
        (WebCore::TiledBackingStore::updateTileBuffers):
        (WebCore::TiledBackingStore::paint):

2012-03-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.list.am: Add missing header file.

2012-03-05  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Incorrect appropriateSelectorFor() suggestion for when a DOMNode has more than 2 CSS classes
        https://bugs.webkit.org/show_bug.cgi?id=80258

        Reviewed by Pavel Feldman.

        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype.appropriateSelectorFor):

2012-03-02  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] [CRASH] Handle rule addition and inline style editing failure due to Content-Security-Policy in the page
        https://bugs.webkit.org/show_bug.cgi?id=80024

        Reviewed by Pavel Feldman.

        Test: inspector/styles/add-new-rule-inline-style-csp.html

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
        * inspector/InspectorCSSAgent.h:
        (InlineStyleOverrideScope):
        (WebCore::InspectorCSSAgent::InlineStyleOverrideScope::InlineStyleOverrideScope):
        (WebCore::InspectorCSSAgent::InlineStyleOverrideScope::~InlineStyleOverrideScope):
        (InspectorCSSAgent):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
        (WebCore::ContentSecurityPolicy::allowInlineStyle):
        (WebCore::ContentSecurityPolicy::setOverrideAllowInlineStyle):
        (WebCore):
        * page/ContentSecurityPolicy.h:
        (ContentSecurityPolicy):

2012-03-05  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] The "optgroup" element should not be a form-associated element
        https://bugs.webkit.org/show_bug.cgi?id=80234

        Reviewed by Kent Tamura.

        This patch changes base class of HTMLOptGroup to HTMLElement from
        HTMLFormControlElement to avoid the "optgroup" element in form-associate
        elements collection.

        This patch doesn't affect HTMLOptionElement::disabled's static_cast. However,
        it doesn't good at coding style. This patch also fix it.


        No new tests. No behavior changes.

        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): Remove "form" parameter.
        (WebCore::HTMLOptGroupElement::create): Remove "form" parameter.
        (WebCore::HTMLOptGroupElement::childrenChanged): Replace base method call.
        (WebCore::HTMLOptGroupElement::parseAttribute): Replace base method call.
        (WebCore::HTMLOptGroupElement::attach): Replace base method call.
        (WebCore::HTMLOptGroupElement::detach): Replace base method call.
        * html/HTMLOptGroupElement.h:
        (HTMLOptGroupElement): Change base class to HTMLElement.
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::disabled): Replace static_cast<HTMLFormControlElement*> to static_cast<HTMLElement*> with checking isHTMLElement.
        * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.

2012-03-05  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: fix extensions-resource.html test.
        https://bugs.webkit.org/show_bug.cgi?id=80183

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):

2012-03-02  Andrey Kosyakov  <caseq@chromium.org>

        Add instrumentation for frame start/end on timeline.

        Web Inspector: add timeline instrumentation for frame events
        https://bugs.webkit.org/show_bug.cgi?id=80127

        Reviewed by Pavel Feldman.

        - display frame boundaries when vertical overview mode is on
        - aggregate by frame in vertical overview mode
        - switched event filtering criteria from index to time in vertical overview mode

        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didBeginFrameImpl):
        (WebCore):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::didBeginFrame):
        (WebCore):
        * inspector/InspectorTimelineAgent.cpp:
        (TimelineRecordType):
        (WebCore::InspectorTimelineAgent::didBeginFrame):
        (WebCore):
        * inspector/InspectorTimelineAgent.h:
        (InspectorTimelineAgent):
        * inspector/front-end/TimelineModel.js:
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
        (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
        (WebInspector.TimelineOverviewPane.prototype.updateEventDividers):
        (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
        (WebInspector.TimelineOverviewPane.prototype.reset):
        (WebInspector.TimelineOverviewPane.prototype.accept):
        (WebInspector.TimelineOverviewPane.prototype.windowStartTime):
        (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
        (WebInspector.TimelineStartAtZeroOverview):
        (WebInspector.TimelineStartAtZeroOverview.prototype.reset):
        (WebInspector.TimelineStartAtZeroOverview.prototype.update):
        (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateFrames):
        (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateFrameStatistics):
        (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateRecords):
        (WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
        (WebInspector.TimelineStartAtZeroOverview.prototype.getWindowTimes):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._updateEventDividers):
        (WebInspector.TimelinePanel.prototype._createEventDivider):
        (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelineCategoryFilter.prototype.accept):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
        * inspector/front-end/inspectorCommon.css:
        * inspector/front-end/timelinePanel.css:
        (#timeline-container):
        (.timeline .resources-event-divider):
        (.timeline.timeline-start-at-zero .resources-divider):
        (.timeline .resources-event-divider.timeline-frame-divider):

2012-03-05  MORITA Hajime  <morrita@google.com>

        Unreviewed build fix for !ENABLE(SHADOW_DOM).

        * html/shadow/HTMLContentElement.cpp:
        (WebCore::contentTagName):

2012-03-04  MORITA Hajime  <morrita@google.com>

        Internally used HTMLContentElement subclasses should have correct wrapper.
        https://bugs.webkit.org/show_bug.cgi?id=80237

        Reviewed by Kent Tamura.

        DetailsContentElement and DetailsSummaryElement used to use
        <div> as their tag name. But this means they are wrapped by
        wrapper objects for HTMLDivElement, which is wrong. This happened
        to work though because HTMLDivElement has no extra state or API.

        This change introduces "noConstructor" keyword for make_name.pl
        sources.  This keyword allows a tag name to specify its own
        wrapper without making the tag name visible from the parser, or
        HTMLElementFactory in precise.

        Following this addition, this change also adds a new tag name
        "webkitShadowContent" for DetailsContentElement and DetailsSummaryElement,
        which has no constructor, and whose wrapper type is HTMLElement.

        This change isn't visible from the page author and only matters for testing.

        Test: fast/dom/shadow/content-element-user-agent-shadow.html

        * dom/make_names.pl:
        (defaultTagPropertyHash):
        (buildConstructorMap):
        (printConstructors):
        (printFunctionInits):
        * html/HTMLDetailsElement.cpp:
        (WebCore::DetailsContentElement::DetailsContentElement):
        (WebCore::DetailsSummaryElement::DetailsSummaryElement):
        * html/HTMLTagNames.in:
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::contentTagName):

2012-03-05  Shinya Kawanaka  <shinyak@chromium.org>

        Refactoring: Move HTMLContentElement::attach to InsertionPoint::attach.
        https://bugs.webkit.org/show_bug.cgi?id=80243

        Reviewed by Hajime Morita.

        Since the current code in HTMLContentElement::attach() will be used for coming <shadow>
        elements, it is natural that InsertionPoint::attach() has such code.

        No new tests, no change in behavior.

        * html/shadow/HTMLContentElement.cpp:
        * html/shadow/HTMLContentElement.h:
        (HTMLContentElement):
        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::attach):
        (WebCore):
        (WebCore::InsertionPoint::detach):
        * html/shadow/InsertionPoint.h:
        (InsertionPoint):

2012-03-05  Adam Barth  <abarth@webkit.org>

        allowDatabaseAccess and databaseExceededQuota should be part of DatabaseContext not ScriptExecutionContext
        https://bugs.webkit.org/show_bug.cgi?id=80178

        Reviewed by Eric Seidel.

        These functions are only used by SQLDatabase, which means we can move
        them to DatabaseContext, removing one more tendril of the SQLDatabase
        code.

        * dom/Document.cpp:
        (WebCore):
        * dom/Document.h:
        (Document):
        * dom/ScriptExecutionContext.h:
        (ScriptExecutionContext):
        * storage/DatabaseContext.cpp:
        (WebCore::DatabaseContext::DatabaseContext):
        (WebCore::DatabaseContext::from):
        (WebCore::DatabaseContext::allowDatabaseAccess):
        (WebCore):
        (WebCore::DatabaseContext::databaseExceededQuota):
        * storage/DatabaseContext.h:
        (DatabaseContext):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::canEstablishDatabase):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL):
        * storage/SQLTransactionClient.cpp:
        (WebCore::SQLTransactionClient::didExceedQuota):
        * storage/SQLTransactionSync.cpp:
        (WebCore::SQLTransactionSync::executeSQL):
        * workers/WorkerContext.cpp:
        (WebCore):
        * workers/WorkerContext.h:
        (WorkerContext):

2012-03-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r107551.
        http://trac.webkit.org/changeset/107551
        https://bugs.webkit.org/show_bug.cgi?id=80245

        caused incorrect style sharing (Requested by kling on
        #webkit).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-04  Luke Macpherson   <macpherson@chromium.org>

        Remove unused macro HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE_WITH_VALUE.
        https://bugs.webkit.org/show_bug.cgi?id=80236

        Reviewed by Eric Seidel.

        No new tests / unused code deletion only.

        * css/CSSStyleSelector.cpp:
        (WebCore):

2012-03-04  Filip Pizlo  <fpizlo@apple.com>

        JIT heuristics should be hyperbolic
        https://bugs.webkit.org/show_bug.cgi?id=80055
        <rdar://problem/10922260>

        Reviewed by Oliver Hunt.

        No new tests, since there's no new functionality.

        * ForwardingHeaders/wtf/SimpleStats.h: Added.

2012-03-04  Shinya Kawanaka  <shinyak@chromium.org>

        Methods like firstRendererOf of NodeRenderingContext should be extracted.
        https://bugs.webkit.org/show_bug.cgi?id=79902

        Reviewed by Hajime Morita.

        firstRendererOfInsertionPoint should return the first renderer of its child, however
        it returns next renderer of parent. The same thing happens lastRendererOfInsertionPoint.

        Test: content-element-move.html has another test case.

        * dom/NodeRenderingContext.cpp:
        (WebCore):
        (WebCore::nextRendererOfInsertionPoint):
        (WebCore::previousRendererOfInsertionPoint):
        (WebCore::firstRendererOfInsertionPoint):
        (WebCore::lastRendererOfInsertionPoint):
        (WebCore::firstRendererOf):
        (WebCore::lastRendererOf):
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::previousRenderer):

2012-03-04  MORITA Hajime <morrita@google.com>

        Unreviewed build fix for ENABLE(MATHML).

        * mathml/MathMLElement.h:
        (WebCore):

2012-03-04  MORITA Hajime  <morrita@google.com>

        WebKit needs toHTMLUnknownElement() and isUnknown() for sanity check.
        https://bugs.webkit.org/show_bug.cgi?id=80229

        Reviewed by Kent Tamura.

        The code generator has naked static_cast<> which could be unsafe.
        We can turn it into toHTMLUnknownElement() and the like.

        No new tests. Just added a sanity check.

        * dom/make_names.pl:
        (printWrapperFactoryCppFile):
        * html/HTMLElement.h:
        (HTMLElement):
        (WebCore::HTMLElement::isHTMLUnknownElement):
        * html/HTMLUnknownElement.h:
        (HTMLUnknownElement):
        (WebCore::toHTMLUnknownElement):
        (WebCore):
        * mathml/MathMLElement.h:
        (toMathMLElement):
        * svg/SVGElement.h:
        (WebCore::toSVGElement):
        (WebCore):

2012-03-04  Luke Macpherson   <macpherson@chromium.org>

        Handle CSSPropertyWebkitColumnBreakAfter, CSSPropertyWebkitColumnBreakBefore and CSSPropertyWebkitColumnBreakInside in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=80226

        Reviewed by Eric Seidel.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-04  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] Credential backing store implementation
        https://bugs.webkit.org/show_bug.cgi?id=79650

        Reviewed by Antonio Gomes.

        Opened Credential database in CedentialBackingStore::instance().
        Added never_remember table and associated sql statment
        members to store the never remember sites.
        Removed CredentialStorage initialize codes because that
        won't give users a chance to re-enter the new credential
        information for an already stored site.
        Changed login update and has statement to support
        autofill feature of multiple credential forms in the
        same page; Also added url as a parameter of hasLogin() function.
        Added calling reset() after each statement calls step(),
        to make it work correctly next time.
        Also fixed a macro typo in HANDLE_SQL_EXEC_FAILURE.

        No new tests.

        * platform/network/blackberry/CredentialBackingStore.cpp:
        (WebCore::CredentialBackingStore::instance):
        (WebCore::CredentialBackingStore::CredentialBackingStore):
        (WebCore::CredentialBackingStore::open):
        (WebCore::CredentialBackingStore::close):
        (WebCore::CredentialBackingStore::addLogin):
        (WebCore::CredentialBackingStore::updateLogin):
        (WebCore::CredentialBackingStore::hasLogin):
        (WebCore::CredentialBackingStore::getLogin):
        (WebCore):
        (WebCore::CredentialBackingStore::removeLogin):
        (WebCore::CredentialBackingStore::addNeverRemember):
        (WebCore::CredentialBackingStore::hasNeverRemember):
        (WebCore::CredentialBackingStore::getNeverRemember):
        (WebCore::CredentialBackingStore::removeNeverRemember):
        (WebCore::CredentialBackingStore::clearLogins):
        (WebCore::CredentialBackingStore::clearNeverRemember):
        * platform/network/blackberry/CredentialBackingStore.h:
        (CredentialBackingStore):

2012-03-04  Hyowon Kim  <hw1008.kim@samsung.com>

        [EFL] Evas_GL initialization and destruction in GraphicsContext3DPrivate
        https://bugs.webkit.org/show_bug.cgi?id=80211

        Reviewed by Noam Rosenthal.

        This patch adds initialization and destruction codes using Evas_GL APIs to GC3DPrivate.

        No new tests. No behavior change.

        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
        (WebCore::GraphicsContext3DPrivate::create):
        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::initialize):
        (WebCore::GraphicsContext3DPrivate::createSurface):
        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
        * platform/graphics/efl/GraphicsContext3DPrivate.h:
        (GraphicsContext3DPrivate):

2012-03-04  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
        https://bugs.webkit.org/show_bug.cgi?id=71507

        Reviewed by Antonio Gomes.

        No new tests, buildsystem change.

        * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".

2012-03-04  Hyowon Kim  <hw1008.kim@samsung.com>

        [EFL] Implementation of missing functions in GraphicsContext3DPrivate
        https://bugs.webkit.org/show_bug.cgi?id=79759

        Reviewed by Noam Rosenthal.

        The initial patch (Bug 62961) only contains implementations for simple functions
        which call GL functions through Evas_GL_API.
        This patch implements a little complicated functions such as getActiveAttrib(),
        getShaderSource() and so on.

        No new tests. No behavior change.

        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
        (WebCore::GraphicsContext3DPrivate::getActiveAttrib):
        (WebCore::GraphicsContext3DPrivate::getActiveUniform):
        (WebCore::GraphicsContext3DPrivate::getError):
        (WebCore::GraphicsContext3DPrivate::getIntegerv):
        (WebCore::GraphicsContext3DPrivate::getProgramInfoLog):
        (WebCore::GraphicsContext3DPrivate::getShaderInfoLog):
        (WebCore::GraphicsContext3DPrivate::getShaderSource):

2012-03-04  Kentaro Hara  <haraken@chromium.org>

        Revert SVG-related APIs from DOMWindowSVG.idl back to DOMWindow.idl
        https://bugs.webkit.org/show_bug.cgi?id=80139

        Reviewed by Adam Barth.

        Based on the discussion on webkit-dev@
        (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
        this patch reverts SVG-related APIs from DOMWindowSVG.idl back to DOMWindow.idl.

        No tests. No change in behavior.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * page/DOMWindow.idl:
        * svg/DOMWindowSVG.idl: Removed.

2012-03-04  Kentaro Hara  <haraken@chromium.org>

        Revert WebGL-related APIs from DOMWindowWebGL.idl back to DOMWindow.idl
        https://bugs.webkit.org/show_bug.cgi?id=80144

        Reviewed by Adam Barth.

        Based on the discussion on webkit-dev@
        (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
        this patch reverts WebGL-related APIs from DOMWindowWebGL.idl back to DOMWindow.idl.

        No tests. No change in behavior.

        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * html/canvas/DOMWindowWebGL.idl: Removed.
        * page/DOMWindow.idl:

2012-03-04  MORITA Hajime  <morrita@google.com>

        Unreviewed build fix.

        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::canHaveGeneratedChildren):

2012-03-01  MORITA Hajime  <morrita@google.com>

        REGRESSION(r108758): Assertion failure in WebCore::RenderMenuList::addChild
        https://bugs.webkit.org/show_bug.cgi?id=80096

        Reviewed by Dimitri Glazkov.

        After r108758 RenderBlock allowed <select> to have generated
        contents. But it shouldn't. This change stops allowing it again by
        replacing some canHaveChildren() invocations with
        less permissive canHaveGeneratedChildren().

        This change also pulls back original canHaveChildren() logic to
        RenderButton to allow <button> to have generated contents.

        Then RenderDeprecatedFlexibleBox::buttonText() is morphed to
        more intention revealing canHaveGeneratedChildren().

        Test: fast/forms/select-generated-content.html

        * rendering/RenderBlock.cpp:
        (WebCore):
        (WebCore::canHaveGeneratedChildren):
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::findFirstLetterBlock):
        (WebCore::RenderBlock::updateFirstLetter):
        * rendering/RenderButton.cpp:
        * rendering/RenderButton.h:
        (RenderButton):
        * rendering/RenderDeprecatedFlexibleBox.h:
        (WebCore::RenderDeprecatedFlexibleBox::canHaveGeneratedChildren):
        * rendering/RenderMenuList.h:

2012-03-04  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream two helper files from platform/graphics/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=80125

        Reviewed by Antonio Gomes.

        Initial upstream, no new tests.

        * platform/graphics/blackberry/InstrumentedPlatformCanvas.h: Added.
        (WebCore):
        (InstrumentedPlatformCanvas):
        (WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
        (WebCore::InstrumentedPlatformCanvas::~InstrumentedPlatformCanvas):
        (WebCore::InstrumentedPlatformCanvas::isSolidColor):
        (WebCore::InstrumentedPlatformCanvas::solidColor):
        (WebCore::InstrumentedPlatformCanvas::save):
        (WebCore::InstrumentedPlatformCanvas::saveLayer):
        (WebCore::InstrumentedPlatformCanvas::restore):
        (WebCore::InstrumentedPlatformCanvas::translate):
        (WebCore::InstrumentedPlatformCanvas::scale):
        (WebCore::InstrumentedPlatformCanvas::rotate):
        (WebCore::InstrumentedPlatformCanvas::skew):
        (WebCore::InstrumentedPlatformCanvas::concat):
        (WebCore::InstrumentedPlatformCanvas::setMatrix):
        (WebCore::InstrumentedPlatformCanvas::clipRect):
        (WebCore::InstrumentedPlatformCanvas::clipPath):
        (WebCore::InstrumentedPlatformCanvas::clipRegion):
        (WebCore::InstrumentedPlatformCanvas::clear):
        (WebCore::InstrumentedPlatformCanvas::drawPaint):
        (WebCore::InstrumentedPlatformCanvas::drawPoints):
        (WebCore::InstrumentedPlatformCanvas::drawRect):
        (WebCore::InstrumentedPlatformCanvas::drawPath):
        (WebCore::InstrumentedPlatformCanvas::drawBitmap):
        (WebCore::InstrumentedPlatformCanvas::drawBitmapRect):
        (WebCore::InstrumentedPlatformCanvas::drawBitmapMatrix):
        (WebCore::InstrumentedPlatformCanvas::drawSprite):
        (WebCore::InstrumentedPlatformCanvas::drawText):
        (WebCore::InstrumentedPlatformCanvas::drawPosText):
        (WebCore::InstrumentedPlatformCanvas::drawPosTextH):
        (WebCore::InstrumentedPlatformCanvas::drawTextOnPath):
        (WebCore::InstrumentedPlatformCanvas::drawPicture):
        (WebCore::InstrumentedPlatformCanvas::drawVertices):
        (WebCore::InstrumentedPlatformCanvas::drawData):
        * platform/graphics/blackberry/LayerMessage.h: Added.
        (WebCore):
        (WebCore::isCompositingThread):
        (WebCore::compositingThread):
        (WebCore::isWebKitThread):
        (WebCore::webKitThread):
        (WebCore::dispatchCompositingMessage):
        (WebCore::dispatchSyncCompositingMessage):
        (WebCore::dispatchWebKitMessage):

2012-03-04  Nikolas Zimmermann  <nzimmermann@rim.com>

        Introduce SMIL overrideStyle, to make SVG stop mutating CSS styles directly
        https://bugs.webkit.org/show_bug.cgi?id=79790

        Reviewed by Dirk Schulze.

        Restore SMIL animation behavior back to pre-r109342.
        1) Always animate presentation attributes as CSS properties, regardless of the
        attributeTypes value. Matches Opera/FF, and makes the attribute optional again
        as specified in both SMIL & SVG.

        Extend existing svg/animations/attributesTypes.html to verify this.

        2) Switch setInstancesUpdatesBlocked calls to the right locations again, to
        avoid chromium assertions (and/or extra work being done). Fixing that reveals another
        problem: in the instance updating code path, we always called setTargetAttributeAnimatedCSSValue
        even for XML animations.

        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::shouldApplyAnimation): Restore old logic.
        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): Fix typo, move setInstancesUpdatesBlocked calls.

2012-03-04  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] upstream MediaPlayerPrivateBlackBerry.[cpp|h]
        https://bugs.webkit.org/show_bug.cgi?id=79729

        Reviewed by Rob Buis and Antonio Gomes.

        Implementation of MediaPlayerPrivate for BlackBerry porting.
        Initial upstream, No new tests.

        * PlatformBlackBerry.cmake:
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::MediaPlayerPrivate::create):
        (WebCore::MediaPlayerPrivate::registerMediaEngine):
        (WebCore::MediaPlayerPrivate::getSupportedTypes):
        (WebCore::MediaPlayerPrivate::supportsType):
        (WebCore::MediaPlayerPrivate::notifyAppActivatedEvent):
        (WebCore::MediaPlayerPrivate::setCertificatePath):
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::load):
        (WebCore::MediaPlayerPrivate::cancelLoad):
        (WebCore::MediaPlayerPrivate::prepareToPlay):
        (WebCore::MediaPlayerPrivate::play):
        (WebCore::MediaPlayerPrivate::pause):
        (WebCore::MediaPlayerPrivate::supportsFullscreen):
        (WebCore::MediaPlayerPrivate::naturalSize):
        (WebCore::MediaPlayerPrivate::hasVideo):
        (WebCore::MediaPlayerPrivate::hasAudio):
        (WebCore::MediaPlayerPrivate::setVisible):
        (WebCore::MediaPlayerPrivate::duration):
        (WebCore::MediaPlayerPrivate::currentTime):
        (WebCore::MediaPlayerPrivate::seek):
        (WebCore::MediaPlayerPrivate::userDrivenSeekTimerFired):
        (WebCore::MediaPlayerPrivate::seeking):
        (WebCore::MediaPlayerPrivate::setRate):
        (WebCore::MediaPlayerPrivate::paused):
        (WebCore::MediaPlayerPrivate::setVolume):
        (WebCore::MediaPlayerPrivate::networkState):
        (WebCore::MediaPlayerPrivate::readyState):
        (WebCore::MediaPlayerPrivate::maxTimeSeekable):
        (WebCore::MediaPlayerPrivate::buffered):
        (WebCore::MediaPlayerPrivate::bytesLoaded):
        (WebCore::MediaPlayerPrivate::setSize):
        (WebCore::MediaPlayerPrivate::paint):
        (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
        (WebCore::MediaPlayerPrivate::movieLoadType):
        (WebCore::MediaPlayerPrivate::userAgent):
        (WebCore::MediaPlayerPrivate::resizeSourceDimensions):
        (WebCore::MediaPlayerPrivate::setFullscreenWebPageClient):
        (WebCore::MediaPlayerPrivate::getWindow):
        (WebCore::MediaPlayerPrivate::getPeerWindow):
        (WebCore::MediaPlayerPrivate::getWindowPosition):
        (WebCore::MediaPlayerPrivate::mmrContextName):
        (WebCore::MediaPlayerPrivate::percentLoaded):
        (WebCore::MediaPlayerPrivate::sourceWidth):
        (WebCore::MediaPlayerPrivate::sourceHeight):
        (WebCore::MediaPlayerPrivate::setAllowPPSVolumeUpdates):
        (WebCore::MediaPlayerPrivate::updateStates):
        (WebCore::MediaPlayerPrivate::onStateChanged):
        (WebCore::MediaPlayerPrivate::onMediaStatusChanged):
        (WebCore::MediaPlayerPrivate::onError):
        (WebCore::MediaPlayerPrivate::onDurationChanged):
        (WebCore::MediaPlayerPrivate::onTimeChanged):
        (WebCore::MediaPlayerPrivate::onPauseStateChanged):
        (WebCore::MediaPlayerPrivate::onRateChanged):
        (WebCore::MediaPlayerPrivate::onVolumeChanged):
        (WebCore::MediaPlayerPrivate::onRepaint):
        (WebCore::MediaPlayerPrivate::onSizeChanged):
        (WebCore::MediaPlayerPrivate::onPlayNotified):
        (WebCore::MediaPlayerPrivate::onPauseNotified):
        (WebCore::MediaPlayerPrivate::onBuffering):
        (WebCore::MediaPlayerPrivate::showErrorDialog):
        (WebCore::MediaPlayerPrivate::frameView):
        (WebCore::MediaPlayerPrivate::platformWindow):
        (WebCore::MediaPlayerPrivate::isFullscreen):
        (WebCore::MediaPlayerPrivate::platformMedia):
        (WebCore::MediaPlayerPrivate::platformLayer):
        (WebCore::loadBufferingImageData):
        (WebCore::MediaPlayerPrivate::bufferingTimerFired):
        (WebCore::MediaPlayerPrivate::setBuffering):
        (WebCore::allocateTextureId):
        (WebCore::MediaPlayerPrivate::drawBufferingAnimation):
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: Added.
        (WebKit):
        (WebCore):
        (MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):

2012-03-03  Benjamin Poulain  <benjamin@webkit.org>

        Remove the unused function WebCore::protocolIsInHTTPFamily()
        https://bugs.webkit.org/show_bug.cgi?id=80218

        Reviewed by Anders Carlsson.

        * WebCore.order:
        * platform/KURL.cpp:
        * platform/KURL.h:
        (WebCore):

2012-03-03  Benjamin Poulain  <benjamin@webkit.org>

        Implement the basis of KURLWTFURL
        https://bugs.webkit.org/show_bug.cgi?id=79600

        Reviewed by Adam Barth.

        Add a simple, non-optimized, implementation for the main methods of KURL based
        on ParsedURL.

        * platform/KURLWTFURL.cpp:
        (WebCore):
        (WebCore::detach):
        (WebCore::KURL::KURL):
        (WebCore::KURL::copy):
        (WebCore::KURL::isEmpty):
        (WebCore::KURL::isValid):
        (WebCore::KURL::string):
        (WebCore::KURL::protocol):
        (WebCore::KURL::host):
        (WebCore::KURL::hasPort):
        (WebCore::KURL::port):
        (WebCore::KURL::user):
        (WebCore::KURL::pass):
        (WebCore::KURL::hasPath):
        (WebCore::KURL::path):
        (WebCore::KURL::lastPathComponent):
        (WebCore::KURL::query):
        (WebCore::KURL::hasFragmentIdentifier):
        (WebCore::KURL::fragmentIdentifier):
        (WebCore::KURL::baseAsString):
        (WebCore::KURL::fileSystemPath):
        (WebCore::KURL::protocolIs):
        (WebCore::KURL::protocolIsInHTTPFamily):
        (WebCore::KURL::setProtocol):
        (WebCore::KURL::setHost):
        (WebCore::KURL::removePort):
        (WebCore::KURL::setPort):
        (WebCore::KURL::setHostAndPort):
        (WebCore::KURL::setUser):
        (WebCore::KURL::setPass):
        (WebCore::KURL::setPath):
        (WebCore::KURL::setQuery):
        (WebCore::KURL::setFragmentIdentifier):
        (WebCore::KURL::removeFragmentIdentifier):
        (WebCore::protocolHostAndPortAreEqual):
        * platform/KURLWTFURLImpl.h:
        (KURLWTFURLImpl):
        (WebCore::KURLWTFURLImpl::copy):
        (WebCore):

2012-03-03  Benjamin Poulain  <benjamin@webkit.org>

        Remove the redundant method KURL::protocolInHTTPFamily()
        https://bugs.webkit.org/show_bug.cgi?id=80216

        Reviewed by Anders Carlsson.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        * loader/ResourceLoadScheduler.cpp:
        (WebCore::ResourceLoadScheduler::hostForURL):
        (WebCore::ResourceLoadScheduler::scheduleLoad):
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::freshnessLifetime):
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
        * loader/icon/IconController.cpp:
        (WebCore::IconController::defaultURL):
        * platform/KURL.h:
        (KURL):
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        * platform/network/CredentialStorage.cpp:
        (WebCore::CredentialStorage::set):
        (WebCore::findDefaultProtectionSpaceForURL):
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::setCachePolicy):
        (WebCore::ResourceRequestBase::setTimeoutInterval):
        (WebCore::ResourceRequestBase::setHTTPMethod):
        (WebCore::ResourceRequestBase::setHTTPHeaderField):
        (WebCore::ResourceRequestBase::clearHTTPAuthorization):
        (WebCore::ResourceRequestBase::clearHTTPReferrer):
        (WebCore::ResourceRequestBase::clearHTTPOrigin):
        (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
        (WebCore::ResourceRequestBase::setHTTPBody):
        (WebCore::ResourceRequestBase::setAllowCookies):
        (WebCore::ResourceRequestBase::setPriority):
        (WebCore::ResourceRequestBase::addHTTPHeaderField):
        * platform/network/blackberry/NetworkManager.cpp:
        (WebCore::NetworkManager::startJob):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::createCFURLConnection):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::createNSURLConnection):
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send):

2012-03-03  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream LayerWebKitThread and its derived classes
        https://bugs.webkit.org/show_bug.cgi?id=79871

        Reviewed by Antonio Gomes.

        Initial upstream, no new tests.

        * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp: Added.
        (WebCore):
        (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
        (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
        (WebCore::CanvasLayerWebKitThread::setCanvas):
        (WebCore::CanvasLayerWebKitThread::setNeedsDisplay):
        (WebCore::CanvasLayerWebKitThread::updateTextureContentsIfNeeded):
        * platform/graphics/blackberry/CanvasLayerWebKitThread.h: Added.
        (WebCore):
        (CanvasLayerWebKitThread):
        (WebCore::CanvasLayerWebKitThread::create):
        * platform/graphics/blackberry/LayerData.h: Added.
        (WebCore):
        (LayerData):
        (WebCore::LayerData::LayerData):
        (WebCore::LayerData::~LayerData):
        (WebCore::LayerData::anchorPoint):
        (WebCore::LayerData::anchorPointZ):
        (WebCore::LayerData::backgroundColor):
        (WebCore::LayerData::borderColor):
        (WebCore::LayerData::borderWidth):
        (WebCore::LayerData::bounds):
        (WebCore::LayerData::doubleSided):
        (WebCore::LayerData::frame):
        (WebCore::LayerData::masksToBounds):
        (WebCore::LayerData::opacity):
        (WebCore::LayerData::opaque):
        (WebCore::LayerData::position):
        (WebCore::LayerData::sublayerTransform):
        (WebCore::LayerData::transform):
        (WebCore::LayerData::preserves3D):
        (WebCore::LayerData::getTextureID):
        (WebCore::LayerData::setTextureID):
        (WebCore::LayerData::needsTexture):
        (WebCore::LayerData::layerProgramShader):
        (WebCore::LayerData::isFixedPosition):
        (WebCore::LayerData::hasFixedContainer):
        (WebCore::LayerData::hasFixedAncestorInDOMTree):
        (WebCore::LayerData::pluginView):
        (WebCore::LayerData::holePunchRect):
        (WebCore::LayerData::hasHolePunchRect):
        (WebCore::LayerData::mediaPlayer):
        (WebCore::LayerData::canvas):
        (WebCore::LayerData::replicate):
        (WebCore::LayerData::layerType):
        (WebCore::LayerData::includeVisibility):
        * platform/graphics/blackberry/LayerWebKitThread.cpp: Added.
        (WebCore):
        (WebCore::LayerWebKitThread::create):
        (WebCore::LayerWebKitThread::LayerWebKitThread):
        (WebCore::LayerWebKitThread::~LayerWebKitThread):
        (WebCore::LayerWebKitThread::paintContents):
        (WebCore::LayerWebKitThread::contentsVisible):
        (WebCore::LayerWebKitThread::createFrontBufferLock):
        (WebCore::LayerWebKitThread::updateTextureContentsIfNeeded):
        (WebCore::LayerWebKitThread::setContents):
        (WebCore::LayerWebKitThread::setDrawable):
        (WebCore::LayerWebKitThread::setNeedsCommit):
        (WebCore::LayerWebKitThread::notifyAnimationStarted):
        (WebCore::LayerWebKitThread::commitOnWebKitThread):
        (WebCore::LayerWebKitThread::startAnimations):
        (WebCore::LayerWebKitThread::updateTextureContents):
        (WebCore::LayerWebKitThread::commitOnCompositingThread):
        (WebCore::LayerWebKitThread::addSublayer):
        (WebCore::LayerWebKitThread::insertSublayer):
        (WebCore::LayerWebKitThread::removeFromSuperlayer):
        (WebCore::LayerWebKitThread::removeSublayer):
        (WebCore::LayerWebKitThread::replaceSublayer):
        (WebCore::LayerWebKitThread::indexOfSublayer):
        (WebCore::LayerWebKitThread::setBounds):
        (WebCore::LayerWebKitThread::setFrame):
        (WebCore::LayerWebKitThread::rootLayer):
        (WebCore::LayerWebKitThread::removeAllSublayers):
        (WebCore::LayerWebKitThread::setSublayers):
        (WebCore::LayerWebKitThread::setNeedsDisplayInRect):
        (WebCore::LayerWebKitThread::setNeedsDisplay):
        (WebCore::LayerWebKitThread::updateLayerHierarchy):
        (WebCore::LayerWebKitThread::setIsMask):
        * platform/graphics/blackberry/LayerWebKitThread.h: Added.
        (WebCore):
        (LayerWebKitThread):
        (WebCore::LayerWebKitThread::setAnchorPoint):
        (WebCore::LayerWebKitThread::setAnchorPointZ):
        (WebCore::LayerWebKitThread::setBackgroundColor):
        (WebCore::LayerWebKitThread::setBorderColor):
        (WebCore::LayerWebKitThread::setBorderWidth):
        (WebCore::LayerWebKitThread::setDoubleSided):
        (WebCore::LayerWebKitThread::setMasksToBounds):
        (WebCore::LayerWebKitThread::setMaskLayer):
        (WebCore::LayerWebKitThread::maskLayer):
        (WebCore::LayerWebKitThread::setReplicaLayer):
        (WebCore::LayerWebKitThread::replicaLayer):
        (WebCore::LayerWebKitThread::setNeedsDisplayOnBoundsChange):
        (WebCore::LayerWebKitThread::setOpacity):
        (WebCore::LayerWebKitThread::setOpaque):
        (WebCore::LayerWebKitThread::setPosition):
        (WebCore::LayerWebKitThread::getSublayers):
        (WebCore::LayerWebKitThread::setSublayerTransform):
        (WebCore::LayerWebKitThread::superlayer):
        (WebCore::LayerWebKitThread::setTransform):
        (WebCore::LayerWebKitThread::setPreserves3D):
        (WebCore::LayerWebKitThread::setFixedPosition):
        (WebCore::LayerWebKitThread::setHasFixedContainer):
        (WebCore::LayerWebKitThread::setHasFixedAncestorInDOMTree):
        (WebCore::LayerWebKitThread::contents):
        (WebCore::LayerWebKitThread::setOwner):
        (WebCore::LayerWebKitThread::drawsContent):
        (WebCore::LayerWebKitThread::layerCompositingThread):
        (WebCore::LayerWebKitThread::setAbsoluteOffset):
        (WebCore::LayerWebKitThread::contentsScale):
        (WebCore::LayerWebKitThread::setRunningAnimations):
        (WebCore::LayerWebKitThread::setSuspendedAnimations):
        (WebCore::LayerWebKitThread::setNeedsTexture):
        (WebCore::LayerWebKitThread::setLayerProgramShader):
        (WebCore::LayerWebKitThread::isDrawable):
        (WebCore::LayerWebKitThread::boundsChanged):
        (WebCore::LayerWebKitThread::setSuperlayer):
        (WebCore::LayerWebKitThread::numSublayers):
        * platform/graphics/blackberry/PluginLayerWebKitThread.cpp: Added.
        (WebCore):
        (WebCore::PluginLayerWebKitThread::PluginLayerWebKitThread):
        (WebCore::PluginLayerWebKitThread::~PluginLayerWebKitThread):
        (WebCore::PluginLayerWebKitThread::setPluginView):
        (WebCore::PluginLayerWebKitThread::setHolePunchRect):
        (WebCore::PluginLayerWebKitThread::setNeedsDisplay):
        (WebCore::PluginLayerWebKitThread::updateTextureContentsIfNeeded):
        * platform/graphics/blackberry/PluginLayerWebKitThread.h: Added.
        (WebCore):
        (PluginLayerWebKitThread):
        (WebCore::PluginLayerWebKitThread::create):
        * platform/graphics/blackberry/VideoLayerWebKitThread.cpp: Added.
        (WebCore):
        (WebCore::VideoLayerWebKitThread::VideoLayerWebKitThread):
        (WebCore::VideoLayerWebKitThread::~VideoLayerWebKitThread):
        (WebCore::VideoLayerWebKitThread::setMediaPlayer):
        (WebCore::VideoLayerWebKitThread::setHolePunchRect):
        (WebCore::VideoLayerWebKitThread::setNeedsDisplay):
        (WebCore::VideoLayerWebKitThread::boundsChanged):
        (WebCore::VideoLayerWebKitThread::updateTextureContentsIfNeeded):
        * platform/graphics/blackberry/VideoLayerWebKitThread.h: Added.
        (WebCore):
        (VideoLayerWebKitThread):
        (WebCore::VideoLayerWebKitThread::create):

2012-03-03  Hans Wennborg  <hans@chromium.org>

        Implement Speech JavaScript API
        https://bugs.webkit.org/show_bug.cgi?id=80019

        Reviewed by Adam Barth.

        Add ENABLE_SCRIPTED_SPEECH and runtime flag.

        No functionality yet, so no new tests.

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * Target.pri:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * bindings/generic/RuntimeEnabledFeatures.h:
        (RuntimeEnabledFeatures):
        (WebCore::RuntimeEnabledFeatures::setScriptedSpeechEnabled):
        (WebCore::RuntimeEnabledFeatures::scriptedSpeechEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionErrorEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarListEnabled):

2012-03-03  Raymond Toy  <rtoy@google.com>

        DelayNode has a fixed one second max delay time
        https://bugs.webkit.org/show_bug.cgi?id=78758

        Change DelayNode to accept an optional parameter to specify the
        maximum delay allowed. If not specified, the default is 1 sec.
        
        Reviewed by Chris Rogers.

        Test: webaudio/delaynode-maxdelay.html
              webaudio/delaynode-maxdelay-expected.txt

        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createDelayNode): Allow maxDelayTime
        parameter to specify max delay.
        * webaudio/AudioContext.h: Allow maxDelayTime
        parameter to specify max delay but default to 1.
        (AudioContext):
        * webaudio/AudioContext.idl: createDelayNode takes optional max
        delay time parameter.
        * webaudio/DelayDSPKernel.cpp:
        (WebCore::DelayDSPKernel::DelayDSPKernel): Remove unused
        DefaultMaxDelayTime. Set m_maxDelayTime from processor
        maxDelayTime. 
        * webaudio/DelayNode.cpp:
        (WebCore::DelayNode::DelayNode): Add maxDelayTime parameter. 
        * webaudio/DelayNode.h:
        (WebCore::DelayNode::create): Add maxDelayTime parameter. 
        (DelayNode): Add maxDelayTime parameter. 
        * webaudio/DelayProcessor.cpp:
        (WebCore::DelayProcessor::DelayProcessor): Add maxDelayTime
        parameter.  
        * webaudio/DelayProcessor.h:
        (DelayProcessor): Add maxDelayTime parameter. 
        (WebCore::DelayProcessor::maxDelayTime): New slot to hold
        maxDelayTime. 

2012-03-03  Raymond Toy  <rtoy@google.com>

        Simplified discreteTimeConstantForSampleRate
        https://bugs.webkit.org/show_bug.cgi?id=78051

        Remove hardcoded constant and simplify computation of discrete
        time constant.
        
        Reviewed by Chris Rogers.

        No new tests needed.  Covered by existing AudioParam tests.

        * platform/audio/AudioUtilities.cpp:
        (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
        Simplify formula.
        * platform/audio/AudioUtilities.h:
        (AudioUtilities): Update function signature.
        * platform/audio/DynamicsCompressorKernel.cpp:
        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
        cast to float to avoid warnings.
        * webaudio/AudioParamTimeline.cpp:
        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): cast to
        float to avoid warnings.

2012-03-03  Anders Carlsson  <andersca@apple.com>

        Fix build with newer versions of clang.

        * bindings/objc/DOM.mm:
        (-[DOMNode description]):
        Remove an unused parameter.

        * bridge/objc/objc_instance.mm:
        (ObjcInstance::getClass):
        Use object_getClass instead of accessing isa directly.

        * platform/LocalizedStrings.cpp:
        (WebCore::formatLocalizedString):
        Disable the -Wformat-nonliteral warning around the call to CFStringCreateWithFormatAndArguments.

        * platform/graphics/mac/WebLayer.mm:
        (-[CALayer _descriptionWithPrefix:]):
        Use %p for the CALayer pointer, and use %lu for the number of sublayers.

        * platform/mac/HTMLConverter.mm:
        (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
        Cast the NSAttachmentCharacte enum to unichar.

2012-03-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r109343.
        http://trac.webkit.org/changeset/109343
        https://bugs.webkit.org/show_bug.cgi?id=80212

        Int32array can't handle values for native nodes because they
        have int64 ids (Requested by loislo1 on #webkit).

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
        (WebInspector.HeapSnapshot):
        (WebInspector.HeapSnapshot.prototype._init):

2012-03-03  Andreas Kling  <awesomekling@apple.com>

        Free up a bit in RenderObject.
        http://webkit.org/b/80208

        Reviewed by Anders Carlsson.

        Move m_hasMarkupTruncation to RenderBlock, stealing one bit from m_lineHeight.
        This flag is only used by RenderBlock.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::setHasMarkupTruncation):
        (WebCore::RenderBlock::hasMarkupTruncation):
        (RenderBlock):
        * rendering/RenderObject.h:
        (RenderObject):
        (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
        (RenderObjectBitfields):

2012-03-03  Joe Thomas  <joethomas@motorola.com>

        Implement vw/vh/vmin (viewport sizes) from CSS 3 Values and Units
        https://bugs.webkit.org/show_bug.cgi?id=27160

        The specification related to this implementation is located at http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths.
        vw/vh/vmin are implemented as primitive length units. Added the parsing logic for these new units and creation of primitive values.

        Added new Length types such as ViewportRelativeWidth, ViewportRelativeHeight and ViewportRelativeMin for viewport-relative lengths
        and included the support for fetching the value of these relative length units based on the current viewport size.

        Reviewed by Antti Koivisto.

        Tests: css3/viewport-relative-lengths/css3-viewport-relative-lengths-getStyle.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-absolute.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-absolute.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-absolute.html
               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw.html

        * css/CSSComputedStyleDeclaration.cpp: Modified to support viewport relative Length types.
        (WebCore::getPositionOffsetValue): Ditto.
        (WebCore::getBorderRadiusCornerValues): Ditto.
        (WebCore::getBorderRadiusCornerValue): Ditto.
        (WebCore::getBorderRadiusShorthandValue): Ditto.
        (WebCore::lineHeightFromStyle): Ditto.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
        * css/CSSGrammar.y: Added vw/vh/vmin support.
        * css/CSSParser.cpp: Parsing of relative units and creation of CSSPrimitiveValue.
        (WebCore::CSSParser::validUnit): Added vw/vh/vmin to the valid units.
        (WebCore::CSSParser::createPrimitiveNumericValue): Added vw/vh/vmin as valid primitive units.
        (WebCore::unitFromString):
        (WebCore::CSSParser::parseValidPrimitive): Creation of CSSPrimitiveValue for vw/vh/vmin.
        (WebCore::CSSParser::detectNumberToken): Parsing the vw/vh/vmin tokens.
        * css/CSSPrimitiveValue.cpp:
        (WebCore::isValidCSSUnitTypeForDoubleConversion): Added support for vw/vh/vmin.
        (WebCore::unitCategory): Ditto.
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): Added support for vw/vh/vmin.
        (WebCore::CSSPrimitiveValue::customCssText): Ditto.
        (WebCore::CSSPrimitiveValue::viewportRelativeLength): Function to create the Length structure for the viewport-relative unit types.
        (WebCore):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::isViewportRelativeLength): Checks whether the primitive value is ViewportRelative Lengths.
        (CSSPrimitiveValue):
        * css/CSSPrimitiveValue.idl: Added support for vw/vh/vmin.
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue): Applying relative viewport length units to the specific CSS property.
        (WebCore::ApplyPropertyBorderRadius::applyValue): Ditto.
        (WebCore::ApplyPropertyFontSize::applyValue): Ditto.
        (WebCore::ApplyPropertyLineHeight::applyValue): Ditto.
        (WebCore::ApplyPropertyVerticalAlign::applyValue): Ditto.
        * css/CSSStyleSelector.cpp:
        (WebCore::convertToLength): Added support for viewport relative units.
        (WebCore::createGridTrackBreadth): Ditto.
        (WebCore::CSSStyleSelector::mapFillSize): Ditto.
        (WebCore::CSSStyleSelector::mapFillXPosition): Ditto.
        (WebCore::CSSStyleSelector::mapFillYPosition): Ditto.
        * dom/Document.cpp:
        (WebCore::Document::pageSizeAndMarginsInPixels): Modified to support viewport relative Length types.
        (WebCore::Document::viewportSize): New function to fetch the current viewport size.
        (WebCore):
        * dom/Document.h: Ditto.
        (Document):
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::getRegion): Modified to support viewport relative Length types.
        * platform/Length.h: New LengthTypes such as ViewportRelativeWidth, ViewportRelativeHeight and ViewportRelativeMin added.
        (WebCore::Length::calcValue): Modified to support viewport relative Length types.
        (WebCore::Length::calcMinValue): Ditto.
        (WebCore::Length::calcFloatValue): Ditto.
        (Length):
        (WebCore::Length::isViewportRelative): To check the Length is of type ViewportRelative.
        (WebCore::Length::viewportRelativeLength): To get the relative value.
        * rendering/RenderBR.cpp:
        (WebCore::RenderBR::lineHeight): Modified to support viewport relative Length types.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::lineHeight): Ditto.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::reflectionOffset): Ditto.
        (WebCore::RenderBox::paintBoxDecorations): Ditto.
        (WebCore::RenderBox::clipRect): Ditto.
        (WebCore::RenderBox::computeLogicalWidthInRegion): Ditto.
        (WebCore::RenderBox::computeLogicalWidthInRegionUsing): Ditto.
        (WebCore::RenderBox::computeInlineDirectionMargins): Ditto.
        (WebCore::RenderBox::computeLogicalHeightUsing): Ditto.
        (WebCore::RenderBox::computePercentageLogicalHeight): Ditto.
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Ditto.
        (WebCore::RenderBox::computeBlockDirectionMargins): Ditto.
        (WebCore::RenderBox::computePositionedLogicalWidthUsing): Ditto.
        (WebCore::RenderBox::computePositionedLogicalHeightUsing): Ditto.
        (WebCore::RenderBox::computePositionedLogicalWidthReplaced): Ditto.
        (WebCore::RenderBox::computePositionedLogicalHeightReplaced): Ditto.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::relativePositionOffsetX): Ditto.
        (WebCore::RenderBoxModelObject::relativePositionOffsetY): Ditto.
        (WebCore::RenderBoxModelObject::paddingTop): Ditto.
        (WebCore::RenderBoxModelObject::paddingBottom): Ditto.
        (WebCore::RenderBoxModelObject::paddingLeft): Ditto.
        (WebCore::RenderBoxModelObject::paddingRight): Ditto.
        (WebCore::RenderBoxModelObject::paddingBefore): Ditto.
        (WebCore::RenderBoxModelObject::paddingAfter): Ditto.
        (WebCore::RenderBoxModelObject::paddingStart): Ditto.
        (WebCore::RenderBoxModelObject::paddingEnd): Ditto.
        (WebCore::RenderBoxModelObject::getBackgroundRoundedRect): Ditto.
        (WebCore::RenderBoxModelObject::calculateFillTileSize): Ditto.
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Ditto.
        (WebCore::computeBorderImageSide): Ditto.
        (WebCore::RenderBoxModelObject::paintNinePieceImage): Ditto.
        (WebCore::RenderBoxModelObject::paintBorder): Ditto.
        (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Ditto.
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Ditto.
        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Ditto.
        * rendering/RenderInline.cpp:
        (WebCore::computeMargin): Ditto.
        (WebCore::RenderInline::lineHeight): Ditto.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateOptionsWidth): Ditto.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Ditto.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::viewportSize): New function to fetch the current viewport size.
        (RenderObject):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint): Modified to support viewport relative Length types.
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::calcScrollbarThicknessUsing): Ditto.
        (WebCore::RenderScrollbarPart::computeScrollbarWidth): Ditto.
        (WebCore::RenderScrollbarPart::computeScrollbarHeight): Ditto.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth): Ditto.
        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth): Ditto.
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::logicalHeightForRowSizing): Ditto.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight): Ditto.
        * rendering/RenderText.h:
        (WebCore::RenderText::marginLeft): Ditto.
        (WebCore::RenderText::marginRight): Ditto.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButtonGradients): Ditto.
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint): Ditto.
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::verticalPositionForBox): Ditto.
        * rendering/style/RenderStyle.cpp:
        (WebCore::calcRadiiFor): Ditto.
        (WebCore::RenderStyle::getRoundedBorderFor): Ditto.
        * rendering/style/RenderStyle.h: Ditto.
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::resolveLengthAttributeForSVG): Ditto.
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Ditto.
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.

2012-03-02  Pablo Flouret  <pablof@motorola.com>

        Editor's default paragraph separator is not reset when a frame's document is changed
        https://bugs.webkit.org/show_bug.cgi?id=80065

        Reviewed by Ryosuke Niwa.

        Test: editing/execCommand/reset-values-after-navigation.html

        * editing/Editor.cpp:
        (WebCore::Editor::clear):

2012-03-02  Alexey Proskuryakov  <ap@apple.com>

        Have a copy of plug-in sandboxing API header in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=80185
        <rdar://problem/8242128>

        Reviewed by Anders Carlsson.

        * plugins/npapi-sandbox.h: Added.

        * WebCore.xcodeproj/project.pbxproj: Added as unused file.

2012-03-02  Emil A Eklund  <eae@chromium.org>

        Revert borders to integers for subpixel layout
        https://bugs.webkit.org/show_bug.cgi?id=80175

        Reviewed by Eric Seidel.

        Change border representation and calculation back to integers to ensure
        that borders given the same width are rendered with the same actual width.

        This will also avoid unnecessary type conversions when we switch over
        to subpixel precision.

        No new tests.

        * rendering/LayoutTypes.h:
        (WebCore::pixelSnappedIntRect):
        (WebCore):
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::borderTop):
        (WebCore::RenderBoxModelObject::borderBottom):
        (WebCore::RenderBoxModelObject::borderLeft):
        (WebCore::RenderBoxModelObject::borderRight):
        (WebCore::RenderBoxModelObject::borderBefore):
        (WebCore::RenderBoxModelObject::borderAfter):
        (WebCore::RenderBoxModelObject::borderStart):
        (WebCore::RenderBoxModelObject::borderEnd):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
        (WebCore::RenderTable::calcBorderStart):
        (WebCore::RenderTable::calcBorderEnd):
        (WebCore::RenderTable::borderBefore):
        (WebCore::RenderTable::borderAfter):
        (WebCore::RenderTable::outerBorderBefore):
        (WebCore::RenderTable::outerBorderAfter):
        (WebCore::RenderTable::outerBorderStart):
        (WebCore::RenderTable::outerBorderEnd):
        * rendering/RenderTable.h:
        (WebCore::RenderTable::borderStart):
        (WebCore::RenderTable::borderEnd):
        (RenderTable):
        (WebCore::RenderTable::borderLeft):
        (WebCore::RenderTable::borderRight):
        (WebCore::RenderTable::borderTop):
        (WebCore::RenderTable::borderBottom):
        (WebCore::RenderTable::outerBorderLeft):
        (WebCore::RenderTable::outerBorderRight):
        (WebCore::RenderTable::outerBorderTop):
        (WebCore::RenderTable::outerBorderBottom):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
        (WebCore::RenderTableCell::borderLeft):
        (WebCore::RenderTableCell::borderRight):
        (WebCore::RenderTableCell::borderTop):
        (WebCore::RenderTableCell::borderBottom):
        (WebCore::RenderTableCell::borderStart):
        (WebCore::RenderTableCell::borderEnd):
        (WebCore::RenderTableCell::borderBefore):
        (WebCore::RenderTableCell::borderAfter):
        (WebCore::RenderTableCell::borderHalfLeft):
        (WebCore::RenderTableCell::borderHalfRight):
        (WebCore::RenderTableCell::borderHalfTop):
        (WebCore::RenderTableCell::borderHalfBottom):
        (WebCore::RenderTableCell::borderHalfStart):
        (WebCore::RenderTableCell::borderHalfEnd):
        (WebCore::RenderTableCell::borderHalfBefore):
        (WebCore::RenderTableCell::borderHalfAfter):
        (WebCore::RenderTableCell::paintCollapsedBorders):
        * rendering/RenderTableCell.h:
        (RenderTableCell):

2012-03-01  Eric Seidel  <eric@webkit.org>

        Chrome 18 fails html5test.com XHR Blob response test
        https://bugs.webkit.org/show_bug.cgi?id=76760

        Reviewed by Adam Barth.

        Most of the code was already there, this just fixes the FIXME
        which was causing this feature not to work.  Chromium already
        had this #ifdef enabled, but other ports (at least Mac) do not.

        Test: fast/files/xhr-response-blob.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didFinishLoading):

2012-03-02  Kentaro Hara  <haraken@chromium.org>

        Revert Worker-related APIs from DOMWindowWorker.idl back to DOMWindow.idl
        https://bugs.webkit.org/show_bug.cgi?id=80151

        Reviewed by Adam Barth.

        Based on the discussion on webkit-dev@
        (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
        this patch reverts Worker-related APIs from DOMWindowWorker.idl back to DOMWindow.idl.

        No tests. No change in behavior.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * page/DOMWindow.idl:
        * workers/DOMWindowWorker.idl: Removed.

2012-03-02  Kentaro Hara  <haraken@chromium.org>

        Revert HTML-related APIs from DOMWindowHTML.idl back to DOMWindow.idl
        https://bugs.webkit.org/show_bug.cgi?id=80140

        Reviewed by Adam Barth.

        Based on the discussion on webkit-dev@
        (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
        we should revert HTML-related APIs from DOMWindowHTML.idl back to DOMWindow.idl.

        No tests. No change in behavior.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * html/DOMWindowHTML.idl: Removed.
        * page/DOMWindow.idl:

2012-03-02  Kentaro Hara  <haraken@chromium.org>

        Revert XML-related APIs from DOMWindowXML.idl back to DOMWindow.idl
        https://bugs.webkit.org/show_bug.cgi?id=80148

        Reviewed by Adam Barth.

        Based on the discussion on webkit-dev@
        (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
        this patch reverts XML-related APIs from DOMWindowXML.idl back to DOMWindow.idl.

        No tests. No change in behavior.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * page/DOMWindow.idl:
        * xml/DOMWindowXML.idl: Removed.

2012-03-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Implement NamedNodeMap::setNamedItem() in terms of Element::setAttributeNode() instead of the other way round
        https://bugs.webkit.org/show_bug.cgi?id=80188

        Reviewed by Ryosuke Niwa.

        Using setNamedItem() in setAttributeNode() implementation made us do unnecessary
        checks like whether the element existed or whether the given node was an
        attribute. So now setAttributeNode() do less work.

        No new tests were added, functionality should be unchanged.

        * dom/Element.cpp:
        (WebCore::Element::setAttributeNode):
        (WebCore::Element::setAttributeNodeNS):
        * dom/Element.h:
        (Element):
        (WebCore::Element::attributes): We got rid of ensureUpdatedAttributes(), next in
        line will be updatedAttributes().
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setNamedItem):

2012-03-02  SravanKumar Sandela  <ssandela@innominds.com>

        Layout issue with fieldset legend element
        https://bugs.webkit.org/show_bug.cgi?id=78684

        Reviewed by Dirk Pranke.

        The clipping logic for legend element was incorrect and now it has been corrected by taking correct offset in to consideration. 

        Test: fast/forms/fieldset-legend-padding-unclipped-fieldset-border.html

        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):

2012-03-02  Erik Arvidsson  <arv@chromium.org>

        [V8] Bindings for node always check if they are a Document.
        https://bugs.webkit.org/show_bug.cgi?id=79947

        Reviewed by Adam Barth.

        This changes the generated bindings code to only generate the Document code for the Document wrappers.

        No new tests. Covered by existing tests.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateToV8Converters):
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore::V8Float64Array::wrapSlow):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::V8TestActiveDOMObject::wrapSlow):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::V8TestCustomNamedGetter::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (WebCore::V8TestEventConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::V8TestEventTarget::wrapSlow):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::V8TestMediaQueryListListener::wrapSlow):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructor::wrapSlow):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::wrapSlow):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):

2012-03-02  Igor Oliveira  <igor.o@sisa.samsung.com>

        animation-timing-function falls back to ease when overriding animation-name
        https://bugs.webkit.org/show_bug.cgi?id=71623

        In this patch the animation name needs to be the first value declared, if
        a different value is found, we do not check for the animation name again.  

        Reviewed by Dean Jackson.

        Test: animations/animation-shorthand-overriding.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseAnimationShorthand):

2012-03-02  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [AC] Connect WebGL to the TextureMapperGL code
        https://bugs.webkit.org/show_bug.cgi?id=78968

        Reviewed by Gustavo Noronha Silva.

        No new tests. This is covered by existing accelerated compositing and
        WebGL tests.

        Rely on the shared version of GL acquisition from GLContext. This reduces
        a lot of code and now allows us to connect WebGL into the accelerated compositing
        rendering path.

        * GNUmakefile.list.am: GLContext should be included for all X11 builds now.
        There are no longer GTK+ specific versions of GraphicsContext3D.
        * platform/graphics/GraphicsContext3D.h: Add a default argument for
        resolveMultisamplingIfNecessary. This will resolve the entire texture.
        * platform/graphics/cairo/GraphicsContext3DCairo.cpp: GraphicsContext3D is
        now responsible for creating GraphicsContext3DPrivate in the constructor.
        (WebCore::GraphicsContext3D::platformLayer): Now return m_private.
        * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Added.
        * platform/graphics/cairo/GraphicsContext3DPrivate.h: Renamed from Source/WebCore/platform/graphics/glx/GraphicsContext3DPrivate.h.
        * platform/graphics/glx/GraphicsContext3DPrivate.cpp: Removed.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Properly
        handle the default argument.
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::prepareTexture): Use the new default argument now.
        (WebCore::GraphicsContext3D::readRenderingResults): Ditto.

2012-02-18  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [AC] Generalize WindowContextGL
        https://bugs.webkit.org/show_bug.cgi?id=78969

        Reviewed by Gustavo Noronha Silva.

        No new tests. This should not change functionality.

        * GNUmakefile.list.am: Added new files to source list.
        * platform/graphics/cairo/GLContext.h: Added. An abstraction for all GL contexts.
        * platform/graphics/glx/GLContextGLX.cpp: Added. This file is composed of very little
        new code, as the logic for instantiating offscreen GL contexts is copied from
        GraphicsContext3DPrivate. The code duplication will be removed in a followup patch.
        (WebCore::GLContext::platformContext):
        * platform/graphics/gtk/GLContextGtk.cpp: Added. This includes some helper factories
        for creating and caching GL contexts for GTK+ widgets.

2012-03-02  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Remove TRACE_EVENT from CCQuadCuller::cullOccludedQuads.
        https://bugs.webkit.org/show_bug.cgi?id=80174

        Reviewed by James Robinson.

        Covered by existing chromium unit tests.

        Firing TRACE_EVENT once per draw quad is overwhelming.

        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::cullOccludedQuads):

2012-03-02  Erik Arvidsson  <arv@chromium.org>

        [V8] Make inline event attributes use evt for SVG and event otherwise
        https://bugs.webkit.org/show_bug.cgi?id=80167

        Reviewed by Ojan Vafai.

        Test: fast/dom/inline-event-attributes-event-param-name.html

        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::prepareListenerObject):

2012-03-02  Gavin Peters  <gavinp@chromium.org>

        Sync PageCache debugging with PageCache behaviour
        https://bugs.webkit.org/show_bug.cgi?id=79943

        Sync up the debug printing code in PageCache with the actual logic,
        and clean up the debug printing at the same time.

        Reviewed by Brady Eidson.

        No new tests, as this is a refactor of debug only code.

        * history/PageCache.cpp:
        (WebCore):
        (WebCore::logCanCacheFrameDecision):
        (WebCore::logCanCachePageDecision):

2012-03-02  Maciej Stachowiak  <mjs@apple.com>

        REGRESSION(r97353): Crash when accessing location or history properties inside a navigated window
        https://bugs.webkit.org/show_bug.cgi?id=80133
        <rdar://problem/10432233>
        
        Reviewed by Antti Koivisto.

        Test: fast/dom/Window/navigated-window-properties.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore): Remove custom getters for window.location and window.history; they
        were unnecessary and did the wrong thing when DOMWindow returned null values 
        for these.
        * page/DOMWindow.idl: ditto
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::reportException): Remove assert about null values and update comment,
        since this is now an expected state for navigated inner windows.

2012-03-02  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r74971): Can't select a line of RTL text on Facebook
        https://bugs.webkit.org/show_bug.cgi?id=59435

        Reviewed by Eric Seidel.

        The bug was caused by inline text boxes created by BRs being placed at the end of the line
        according to the block's direction regardless of its unicode bidi-level. e.g. if we have
        <div dir="rtl"><span dir="ltr">hello<br>world</span></div>
        the inline box generated by the br has the bidi-level of 2 like the rest of text in the span.
        This inline text box gives an illusion of having text on the left of "hello" to hit testing
        and editing code and causes all sorts of problems.

        Fixed the bug by replacing calls to nextLeafChild and prevLeafChild by newly introduced
        nextLeafChildIgnoringLineBreak and prevLeafChildIgnoringLineBreak. These two functions will
        return 0 when they hit the end of a line or inline text box that's a line break. In effect,
        hit testing and editing code can ignore inline boxes generated by br's.

        In the long term, we should move these two functions into RenderedPosition along with the rest
        of code that converts a Position and an inline box, offset pair.

        Test: editing/selection/select-line-break-with-opposite-directionality.html

        * dom/Position.cpp:
        (WebCore::Position::getInlineBoxAndOffset):
        * editing/RenderedPosition.cpp:
        (WebCore::RenderedPosition::prevLeafChild):
        (WebCore::RenderedPosition::nextLeafChild):
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nextLeafChildIgnoringLineBreak):
        (WebCore::InlineBox::prevLeafChildIgnoringLineBreak):
        * rendering/InlineBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForPointWithInlineChildren):
        * rendering/RenderText.cpp:
        (WebCore::lineDirectionPointFitsInBox): If we're on the left of a RTL line, we should stay at
        upstream position since we're at the end of a line.
        (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi): Merge the two special cases into
        the general loop as the comment suggests. Skip an inline text box for a line break at the left
        edge when there are more line boxes on the line.
        (WebCore::RenderText::positionForPoint):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition): Ignore line boxes created for
        line boxes when there are other boxes on the line.

2012-03-02  Adam Treat  <atreat@rim.com>

        https://bugs.webkit.org/show_bug.cgi?id=80161
        PR: 141157

        BlackBerryPlatformScreen.h API has been updated.  Reflect those
        changes in our usage.

        Reviewed by Antonio Gomes.
        Internally reviewed by Jakob Petsovits

        * platform/blackberry/PlatformScreenBlackBerry.cpp:
        (WebCore::screenAvailableRect):
        (WebCore::screenRect):

2012-03-02  Julien Chaffraix  <jchaffraix@webkit.org>

        Move the 'overflow' event dispatching logic out of RenderLayer
        https://bugs.webkit.org/show_bug.cgi?id=80090

        Unreviewed build fix.

        * rendering/RenderBlock.cpp:
        (OverflowEventDispatcher): Removed the unused function.

2012-03-02  Julien Chaffraix  <jchaffraix@webkit.org>

        Move the 'overflow' event dispatching logic out of RenderLayer
        https://bugs.webkit.org/show_bug.cgi?id=80090

        Reviewed by Simon Fraser.

        Test: fast/events/overflow-events-writing-mode.html

        This moves the 'overflow' event dispatch from RenderLayer to an helper class
        OverflowEventDispatcher. For now, the class lives in RenderBlock as it matches
        the existing code but it may be moved later to its own class as FrameView could
        benefit from it too or if we need to support 'overflow' events on RenderBoxes.

        * rendering/RenderBlock.cpp:
        (WebCore):
        (OverflowEventDispatcher):
        (WebCore::OverflowEventDispatcher::OverflowEventDispatcher):
        (WebCore::OverflowEventDispatcher::~OverflowEventDispatcher):
        (WebCore::OverflowEventDispatcher::computeOverflowStatus):
        RAII dispatcher class that stores the information before layout and compare
        them after to dispatch the right information.

        (WebCore::RenderBlock::layout): Added an instance of OverflowEventDispatcher.

        * rendering/RenderBox.h:
        (WebCore::RenderBox::hasHorizontalLayoutOverflow):
        (WebCore::RenderBox::hasVerticalLayoutOverflow):
        Helper method to know if we have an horizontal / vertical layout overflow.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        * rendering/RenderLayer.h:
        Removed the scroll tracking logic as we don't need it anymore. This removes
        3 booleans from RenderLayer.

2012-03-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Create a method in Element to compare attributes with other Element
        https://bugs.webkit.org/show_bug.cgi?id=80169

        Reviewed by Ryosuke Niwa.

        Avoid manually peeking at attribute storage to get this information. This
        simplify the callsites. The actual implementation of comparison was moved to
        ElementAttributeData. The mapsEquivalent() function still exists for the sake
        of DocumentType nodes.

        * dom/Element.cpp:
        (WebCore::Element::hasEquivalentAttributes):
        (WebCore):
        * dom/Element.h:
        (Element):
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::isEquivalent):
        (WebCore):
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::mapsEquivalent):
        * dom/Node.cpp:
        (WebCore::Node::isEqualNode):
        * editing/htmlediting.cpp:
        (WebCore::areIdenticalElements): Use Element::hasTagName() instead of matching
        directly to make code a bit clearer.

2012-03-02  Zan Dobersek  <zandobersek@gmail.com>

        [GTK] Smooth scrolling support
        https://bugs.webkit.org/show_bug.cgi?id=16123

        Reviewed by Martin Robinson.

        No new tests - no new functionality.

        Add the ScrollAnimatorNone class to compilation and enable
        the smooth scrolling feature by default at compilation time.

        * GNUmakefile.am:
        * GNUmakefile.list.am:

2012-03-02  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] media/media-can-play-flac-audio.html fails
        https://bugs.webkit.org/show_bug.cgi?id=80124

        Reviewed by Martin Robinson.

        Handle audio/x-flac in the mimeTypeCache() function so that we
        advertize both audio/flac and audio/x-flac.

        No new tests, this is covered already by media/media-can-play-flac-audio.html.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

2012-03-02  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: fix fronted compilation.
        https://bugs.webkit.org/show_bug.cgi?id=80154

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.scriptForSourceID):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
        * inspector/front-end/ScriptsSearchScope.js:
        (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):

2012-03-02  Kaustubh Atrawalkar  <kaustubh@motorola.com>

        Rename DOMURL to URL in the bindings
        https://bugs.webkit.org/show_bug.cgi?id=78214

        Reviewed by Kentaro Hara.

        No new tests. Interface name change.

        * html/DOMURL.idl: Added InterfaceName attribute to DOMURL.

2012-03-02  Roland Steiner  <rolandsteiner@chromium.org>

        Add :scope pseudo-class
        https://bugs.webkit.org/show_bug.cgi?id=79077

        Add :scope pseudo class name & pseudoId
        Add selector check for the new pseudo-class

        Reviewed by Antti Koivisto.

        Test: fast/css/style-scoped/scope-pseudo.html

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):
        (WebCore::nameToPseudoTypeMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector):

2012-03-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Make parser code not depend on NamedNodeMap
        https://bugs.webkit.org/show_bug.cgi?id=79963

        Reviewed by Adam Barth.

        Instead of creating Element-less NamedNodeMaps, the parsing code now creates
        AttributeVectors, that are used to fill Element via the parserSetAttributes()
        method. This allows us to remove even more methods from the NamedNodeMap.

        The AttributeVector class contains convenience methods that take the attribute's
        QualifiedName as parameter. This class is also used inside ElementAttributeData.

        * dom/Attr.h:
        (Attr):
        * dom/Element.cpp:
        (WebCore::Element::getAttribute):
        (WebCore::Element::parserSetAttributes): Now we have to create the attribute
        storage, and fill it (by Vector::swap()) with the passed attributes. Also use an
        early return to reduce indentation.
        (WebCore::Element::insertedIntoDocument):
        (WebCore::Element::removedFromDocument):
        (WebCore::Element::getURLAttribute):
        (WebCore::Element::getNonEmptyURLAttribute):
        * dom/Element.h:
        (Element):
        (WebCore::Element::fastHasAttribute):
        (WebCore::Element::fastGetAttribute):
        (WebCore::Element::hasAttributesWithoutUpdate):
        (WebCore::Element::attributeItem):
        (WebCore::Element::getAttributeItem):
        * dom/ElementAttributeData.cpp:
        (WebCore::AttributeVector::removeAttribute):
        (WebCore):
        * dom/ElementAttributeData.h:
        (AttributeVector):
        (WebCore::AttributeVector::create):
        (WebCore::AttributeVector::attributeItem):
        (WebCore::AttributeVector::AttributeVector):
        (WebCore):
        (WebCore::AttributeVector::getAttributeItem):
        (WebCore::AttributeVector::getAttributeItemIndex):
        (WebCore::AttributeVector::insertAttribute): Boolean parameter isn't necessary
        since all the callers used 'false', indicating that duplicates were not allowed.
        (WebCore::ElementAttributeData::attributeItem):
        (WebCore::ElementAttributeData::getAttributeItem):
        (WebCore::ElementAttributeData::getAttributeItemIndex):
        (ElementAttributeData):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::getNamedItem):
        (WebCore::NamedNodeMap::setNamedItem):
        (WebCore::NamedNodeMap::removeNamedItem):
        (WebCore::NamedNodeMap::mapsEquivalent):
        * dom/NamedNodeMap.h:
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLConstructionSite::createElement):
        (WebCore::HTMLConstructionSite::createHTMLElement):
        (WebCore):
        * html/parser/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakeStartTag):
        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
        (WebCore):
        * html/parser/HTMLTreeBuilder.h:
        * html/parser/TextDocumentParser.cpp:
        (WebCore::TextDocumentParser::insertFakePreElement):
        * xml/parser/MarkupTokenBase.h:
        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
        (WebCore::AtomicMarkupTokenBase::attributes):
        (WebCore::AtomicMarkupTokenBase::takeAttributes):
        (AtomicMarkupTokenBase):
        (WebCore::::initializeAttributes):
        * xml/parser/XMLToken.h:
        (WebCore::AtomicXMLToken::AtomicXMLToken):
        * xml/parser/XMLTreeBuilder.cpp:
        (WebCore::XMLTreeBuilder::processNamespaces):
        (WebCore::XMLTreeBuilder::processAttributes):

2012-03-02  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: assertion failure in JSMainThreadExecState::instrumentedCall
        https://bugs.webkit.org/show_bug.cgi?id=80152

        Extracted common code of JS call instrumentation into instrumentFunctionCall method
        and call it directly where the instrumentation is needed instead of calling
        JSMainThreadExecState::instrumentedCall which works on the main thread only.

        Reviewed by Pavel Feldman.

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSMainThreadExecState.h:
        (WebCore::JSMainThreadExecState::instrumentFunctionCall):

2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Make order of attribute/method in HTMLTextAreaElement.idl as same as specification
        https://bugs.webkit.org/show_bug.cgi?id=80101

        Reviewed by Kent Tamura.

        No new tests. No behavior changes.

        * html/HTMLTextAreaElement.idl: Reorder attribute/method position.

2012-03-02  Patrick Gansterer  <paroga@webkit.org>

        Build fix after r109538.

        * CMakeLists.txt:
        * Modules/websockets/WebSocketDeflater.cpp:

2012-03-02  Roland Steiner  <rolandsteiner@chromium.org>

        Scoped stylesheets don't appear to work in Shadow DOM
        https://bugs.webkit.org/show_bug.cgi?id=79549

        Make the scope stack in CSSStyleSelector use ContainerNode* instead of Element*.
        Adapt using sites accordingly.
        Push the ShadowRoot to the scope stack in the same way that elements are pushed.
        Fix an issue with removedFromDocument() on destruction.

        Reviewed by Antti Koivisto.

        Test: fast/css/style-scoped/style-scoped-in-shadow.html

        * css/CSSStyleSelector.cpp:
        (RuleSet):
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::determineScope):
        (WebCore::CSSStyleSelector::ruleSetForScope):
        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
        (WebCore::CSSStyleSelector::setupScopeStack):
        (WebCore::CSSStyleSelector::pushScope):
        (WebCore):
        (WebCore::CSSStyleSelector::popScope):
        (WebCore::CSSStyleSelector::pushParentElement):
        (WebCore::CSSStyleSelector::popParentElement):
        (WebCore::CSSStyleSelector::pushParentShadowRoot):
        (WebCore::CSSStyleSelector::popParentShadowRoot):
        (WebCore::CSSStyleSelector::matchScopedAuthorRules):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        (WebCore::CSSStyleSelector::pushScope):
        (WebCore::CSSStyleSelector::popScope):
        (WebCore::CSSStyleSelector::MatchOptions::MatchOptions):
        (MatchOptions):
        (WebCore::CSSStyleSelector::scopeStackIsConsistent):
        (WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame):
        (ScopeStackFrame):
        * css/SelectorChecker.h:
        (SelectorCheckingContext):
        * dom/Element.cpp:
        (WebCore::StyleSelectorParentPusher::push):
        (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
        (WebCore::Element::beginParsingChildren):
        (WebCore::Element::finishParsingChildren):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::attach):
        (WebCore):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::recalcShadowTreeStyle):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::removedFromDocument):

2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Make order of attribute/method in HTMLSelectElement.idl as same as specification
        https://bugs.webkit.org/show_bug.cgi?id=80097

        Reviewed by Kent Tamura.

        No new tests. No behavior changes.

        * html/HTMLSelectElement.idl: Reorder attribute/method position.

2012-03-02  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: limit RawSourceCode usages to DebuggerPresentationModel.
        https://bugs.webkit.org/show_bug.cgi?id=80146

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.uiLocationToRawLocation):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
        * inspector/front-end/ObjectPopoverHelper.js:
        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
        * inspector/front-end/ScriptsSearchScope.js:
        (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):

2012-03-02  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: update execution line using LiveLocation.
        https://bugs.webkit.org/show_bug.cgi?id=80143

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.updateExecutionLine):
        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):

2012-03-02  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Build fix for LocalizedStringsBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=80099

        Unreviewed build fix.

        * platform/blackberry/LocalizedStringsBlackBerry.cpp:

2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Fix build on AppleWebKit after 109548.

        * WebCore.exp.in:

2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Make order of attribute/method in HTMLOptionElement.idl as same as specification
        https://bugs.webkit.org/show_bug.cgi?id=80095

        Reviewed by Kentaro Hara.

        No new tests. No behavior changes.

        * html/HTMLOptionElement.idl: Reorder attribute/method position.

2012-03-02  Adam Barth  <abarth@webkit.org>

        WorkerContext shouldn't know about IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=80094

        Reviewed by Kentaro Hara.

        There are still a couple IndexedDB stragglers we should clean up in
        WebCore proper.  This patch moves some IndexedDB logic from
        WorkerContext into the indexeddb module.

        In the process of writing this patch, I noticed that some IndexedDB
        files were missing from various build systems, so I added them.  I
        suspect that means IndexedDB is only enabled by default on Chromium.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Modules/indexeddb/WorkerContextIndexedDatabase.cpp: Added.
        (WebCore):
        (WebCore::WorkerContextIndexedDatabase::WorkerContextIndexedDatabase):
        (WebCore::WorkerContextIndexedDatabase::~WorkerContextIndexedDatabase):
        (WebCore::WorkerContextIndexedDatabase::from):
        (WebCore::WorkerContextIndexedDatabase::webkitIndexedDB):
        * Modules/indexeddb/WorkerContextIndexedDatabase.h: Added.
        (WebCore):
        (WorkerContextIndexedDatabase):
        * Modules/indexeddb/WorkerContextIndexedDatabase.idl: Added.
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * workers/WorkerContext.cpp:
        (WebCore):
        * workers/WorkerContext.h:
        (WebCore):
        (WorkerContext):
        * workers/WorkerContext.idl:

2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Compile WebCore without QtWidgets
        https://bugs.webkit.org/show_bug.cgi?id=80141

        Reviewed by Tor Arne Vestbø.

        * Target.pri: Don't add widgets to QT.
        * WebCore.pri: Use QT += opengl only with Qt 4, because it has an implicit QtWidgets
        dependency. With Qt 5 all necessary OpenGL API is part of QtGui (with a QOpenGL* prefix).

2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Make order of attribute/method in HTMLFormElement.idl as same as specification
        https://bugs.webkit.org/show_bug.cgi?id=80093

        Reviewed by Kentaro Hara.

        No new tests. No behavior changes

        * html/HTMLFormElement.idl: Reorder attribute/method position.

2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Make order of attribute/method in HTMLButtonElement.idl as same as specification
        https://bugs.webkit.org/show_bug.cgi?id=80091

        Reviewed by Kentaro Hara.

        No new tests. No behavior changes.

        * html/HTMLButtonElement.idl: Reorder attribute/method position.

2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Suspend/Resume API for pausing timers and animations.
        https://bugs.webkit.org/show_bug.cgi?id=76063

        Reviewed by Kenneth Rohde Christiansen.

        * dom/ActiveDOMObject.h:
            New ReasonForSuspension: PageWillBePaused.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::suspend): Handle new ReasonForSuspension.
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::setDocument):
        (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
        (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
        * page/Frame.h:
        (WebCore::Frame::activeDOMObjectsAndAnimationsSuspended):
            Frame now maintains a state of suspending animation and ActiveDOMObjects,
            which is inherited to all child-frames.
        * page/Page.cpp:
        (WebCore::Page::suspendActiveDOMObjectsAndAnimations):
        (WebCore::Page::resumeActiveDOMObjectsAndAnimations):
        * page/Page.h:
            Functions for suspending and resuming active DOM objects and animations in all frames.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::willRenderImage):
            WillRenderImage now checks for suspension. This causes animated images to pause
            together with all other types of animations.

2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Make order of attribute/method in HTMLFieldSetElement.idl as same as specification
        https://bugs.webkit.org/show_bug.cgi?id=80092

        Reviewed by Kentaro Hara.

        No new tests. No behavior changes.

        * html/HTMLFieldSetElement.idl: Reorder attribute/method position.

2012-03-02  Antti Koivisto  <antti@apple.com>

        possible regression: r104060 maybe causing crashes
        https://bugs.webkit.org/show_bug.cgi?id=75676

        Rubber-stamped by Simon Hausmann.

        Remove the speculative fix (the problem was elsewhere, http://trac.webkit.org/changeset/104845).

        Also remove the debugging code added for this bug.
    
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::clearStyleSelector):
        (WebCore::Document::updateActiveStylesheets):
        * dom/Document.h:
        (Document):

2012-03-01  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Implement suggestions in Watch Expressions
        https://bugs.webkit.org/show_bug.cgi?id=79912

        Drive-by: make subproperties in ObjectPropertySections editable

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        (WebInspector.ConsoleView.prototype.completionsForTextPrompt):
        * inspector/front-end/DatabaseQueryView.js:
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
        (WebInspector.ObjectPropertyTreeElement.prototype.renderPromptAsBlock):
        (WebInspector.ObjectPropertyTreeElement.prototype.elementAndValueToEdit):
        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing.blurListener):
        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
        (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded):
        (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled):
        (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted):
        (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
        (WebInspector.ObjectPropertyPrompt):
        * inspector/front-end/StylesSidebarPane.js:
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.complete):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionTreeElement.prototype.renderPromptAsBlock):
        (WebInspector.WatchExpressionTreeElement.prototype.elementAndValueToEdit):
        (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
        * inspector/front-end/inspector.css:
        (.watch-expressions > li.editing-sub-part .text-prompt):

2012-03-02  Antti Koivisto  <antti@apple.com>

        REGRESSION (r104060): Page contents not painted if inserting a new stylesheet and temporary body node
        https://bugs.webkit.org/show_bug.cgi?id=76590

        Reviewed by Maciej Stachowiak.

        Test: fast/css/pending-stylesheet-repaint.html
        
        If there has been a style recalc with a pending stylesheet, the forced repaint will need to be triggered even
        if the stylesheet doesn't affect the rendering. Otherwise we may end up never painting at all.

        * dom/Document.cpp:
        (WebCore::Document::styleSelectorChanged):

2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Move QStyle theming code out of WebCore into WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=80128

        Reviewed by Kenneth Rohde Christiansen.

        Moved QStyle dependant code into WebKit1, where it's okay to depend on
        QtWidgets/QStyle. Added factory hooks into RenderThemeQt to allow changing
        the default "mobile" style to QStyle on start-up.

        * Target.pri:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore):
        (WebCore::RenderThemeQt::setCustomTheme):
        (WebCore::RenderThemeQt::customScrollbarTheme):
        (WebCore::createTheme):
        (WebCore::RenderTheme::themeForPage):
        (WebCore::RenderThemeQt::extraDefaultStyleSheet):
        * platform/qt/RenderThemeQt.h:
        (WebCore):
        (RenderThemeQt):
        * platform/qt/RenderThemeQtMobile.cpp:
        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::ScrollbarTheme::nativeTheme):

2012-03-02  Luke Macpherson   <macpherson@chromium.org>

        Handle CSSPropertyWebkitColumnRuleStyle in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=80085

        Reviewed by Eric Seidel.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-02  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: enable Timeline panel for workers
        https://bugs.webkit.org/show_bug.cgi?id=80130

        Enabled Timeline panel for worker inspector. Refactored
        JS function calls instrumentation to work for both
        worker contexts and documents.

        Reviewed by Pavel Feldman.

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSMainThreadExecState.h:
        (WebCore):
        (WebCore::JSMainThreadExecState::instrumentedCall):
        * bindings/js/ScriptState.cpp:
        (WebCore::scriptExecutionContextFromScriptState):
        (WebCore):
        * bindings/js/ScriptState.h:
        (WebCore):
        * bindings/v8/ScriptState.cpp:
        (WebCore::ScriptState::scriptExecutionContext):
        (WebCore):
        (WebCore::scriptExecutionContextFromScriptState):
        * bindings/v8/ScriptState.h:
        (WebCore):
        (ScriptState):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::instrumentedCallFunction):
        * bindings/v8/V8WorkerContextEventListener.cpp:
        (WebCore::V8WorkerContextEventListener::callListenerFunction):
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::callFunctionWithEvalEnabled):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore):
        (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::willCallFunction):
        (WebCore):
        (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        (WebCore::WorkerInspectorController::connectFrontend):
        (WebCore::WorkerInspectorController::disconnectFrontend):
        (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
        * inspector/WorkerInspectorController.h:
        (WebCore):
        (WorkerInspectorController):
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):

2012-03-02  Kenichi Ishibashi  <bashi@chromium.org>

        Adding WebSocket per-frame DEFLATE extension
        https://bugs.webkit.org/show_bug.cgi?id=77522

        Add WebSocketDeflateFramer class which handles deflate-frame extension.
        This class encapsulates WebSocketDeflater and WebSocketInflater classes,
        which depend on zlib, so that WebSocketChannel is not necessary to aware
        zlib dependency.

        Reviewed by Kent Tamura.

        Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
               http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
               http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
               http/tests/websocket/tests/hybi/deflate-frame-parameter.html

        * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.gyp/WebCore.gyp: Added zlib dependency.
        * WebCore.vcproj/WebCore.vcproj: Added WebSocketDeflateFramer.(cpp|h)
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::didConnect): Set m_extensions.
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
        (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
        (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
        (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
        * websockets/WebSocketChannel.h:
        * websockets/WebSocketDeflateFramer.cpp: Added.
        (WebCore):
        (WebSocketExtensionDeflateFrame):
        (WebCore::WebSocketExtensionDeflateFrame::create):
        (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
        (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
        (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
        (WebCore::WebSocketExtensionDeflateFrame::processResponse):
        (WebCore::DeflateResultHolder::DeflateResultHolder):
        (WebCore::DeflateResultHolder::~DeflateResultHolder):
        (WebCore::DeflateResultHolder::fail):
        (WebCore::InflateResultHolder::InflateResultHolder):
        (WebCore::InflateResultHolder::~InflateResultHolder):
        (WebCore::InflateResultHolder::fail):
        (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
        (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
        (WebCore::WebSocketDeflateFramer::canDeflate):
        (WebCore::WebSocketDeflateFramer::enableDeflate):
        (WebCore::WebSocketDeflateFramer::deflate):
        (WebCore::WebSocketDeflateFramer::resetDeflateContext):
        (WebCore::WebSocketDeflateFramer::inflate):
        (WebCore::WebSocketDeflateFramer::resetInflateContext):
        (WebCore::WebSocketDeflateFramer::didFail):
        * websockets/WebSocketDeflateFramer.h: Added.
        (WebCore):
        (DeflateResultHolder):
        (WebCore::DeflateResultHolder::succeeded):
        (WebCore::DeflateResultHolder::failureReason):
        (InflateResultHolder):
        (WebCore::InflateResultHolder::succeeded):
        (WebCore::InflateResultHolder::failureReason):
        (WebSocketDeflateFramer):
        (WebCore::WebSocketDeflateFramer::enabled):

2012-03-01  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [InspectorIndexedDB] Show meaningful description for object store items values.
        https://bugs.webkit.org/show_bug.cgi?id=79691

        Reviewed by Pavel Feldman.

        * inspector/front-end/IndexedDBModel.js:
        (WebInspector.IndexedDBModel.idbKeyFromKey):
        * inspector/front-end/IndexedDBViews.js:
        (WebInspector.IDBDataView.prototype._updateData.callback):
        (WebInspector.IDBDataView.prototype._updateData):
        (WebInspector.IDBDataGridNode.prototype.createCell):
        (WebInspector.IDBDataGridNode.prototype._formatValue):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.LocalJSONObject.prototype.get subtype):
        * inspector/front-end/indexedDBViews.css:
        (.indexed-db-data-view .data-grid .data-container td):
        (.indexed-db-data-view .data-grid .data-container td.primaryKey-column):
        (.indexed-db-data-view .data-grid .data-container td.primaryKey-column div.primitive-value):
        (.indexed-db-data-view .data-grid .data-container td .section .header .title):

2012-03-02  Wei James  <james.wei@intel.com>

        [Chromium] Layout Test webaudio/audiobuffersource-channels.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=79765

        Reviewed by Chris Rogers.

        * webaudio/AudioBuffer.cpp:
        (WebCore::AudioBuffer::create):
        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::setBuffer):
        * webaudio/AudioContext.h:
        (WebCore):
        (AudioContext):
        (WebCore::AudioContext::maxNumberOfChannels):
        * webaudio/AudioNodeOutput.cpp:
        (WebCore::AudioNodeOutput::AudioNodeOutput):
        (WebCore::AudioNodeOutput::setNumberOfChannels):

2012-03-02  Luke Macpherson   <macpherson@chromium.org>

        Handle CSSPropertyWebkitRegionBreakAfter, CSSPropertyWebkitRegionBreakBefore and CSSPropertyWebkitRegionBreakInside in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=80066

        Reviewed by Eric Seidel.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-02  Pablo Flouret  <pablof@motorola.com>

        Implement DefaultParagraphSeparator execCommand, to let authors choose the default block element
        https://bugs.webkit.org/show_bug.cgi?id=59961

        Reviewed by Ryosuke Niwa.

        http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#the-defaultparagraphseparator-command

        Test: editing/execCommand/default-paragraph-separator.html

        * editing/Editor.cpp:
        (WebCore::Editor::Editor):
        * editing/Editor.h:
        (WebCore::Editor::defaultParagraphSeparator):
        (WebCore::Editor::setDefaultParagraphSeparator):
        (Editor):
        * editing/EditorCommand.cpp:
        (WebCore::executeDefaultParagraphSeparator):
        (WebCore):
        (WebCore::valueDefaultParagraphSeparator):
        (WebCore::createCommandMap):
        * editing/htmlediting.cpp:
        (WebCore::createDefaultParagraphElement):

        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::create):
        (WebCore):
        * html/HTMLParagraphElement.h:
        (HTMLParagraphElement):
            Added create(Document*) method that defaults to pTag as the QualifiedName.

2012-03-02  Kenneth Russell  <kbr@google.com>

        [chromium] Fix errors in LayerRendererChromium cleanup
        https://bugs.webkit.org/show_bug.cgi?id=80064

        Reviewed by James Robinson.

        Tested manually by forcing lost context while rendering Flash on
        Mac OS in a Debug build.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::cleanupSharedObjects):

2012-03-02  Andy Estes  <aestes@apple.com>

        Fix errors found when building the Mac port with ICONDATABASE disabled.
        https://bugs.webkit.org/show_bug.cgi?id=80059

        Reviewed by Brady Eidson.

        * WebCore.exp.in: Only export IconDatabase symbols when the feature is
        enabled.
        * loader/icon/IconDatabase.h:
        (WebCore::IconDatabase::create): WebKit calls this static method, so it
        should be defined on the stub class.
        (WebCore::IconDatabase::allowDatabaseCleanup): Ditto.
        (WebCore::IconDatabase::checkIntegrityBeforeOpening): Ditto.

2012-03-02  Luke Macpherson   <macpherson@chromium.org>

        Handle CSSPropertyWebkitColorCorrection in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=80056

        Reviewed by Eric Seidel.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-02  John Bauman  <jbauman@chromium.org>

        [chromium] Send didCommitAndDrawFrame after swap
        https://bugs.webkit.org/show_bug.cgi?id=80052

        Reviewed by James Robinson.

        Sending didCommitAndDrawFrame before the swap was causing plugins to
        redraw themselves between compositing and the swap, which reduces
        opportunities for optimization.

        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::compositeAndReadback):
        (WebCore::CCSingleThreadProxy::compositeImmediately):
        (WebCore::CCSingleThreadProxy::doComposite):
        (WebCore):
        (WebCore::CCSingleThreadProxy::didSwapFrame):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):

2012-03-02  Raymond Toy  <rtoy@google.com>

        AudioParam needs tests for the parameter automation routines.
        https://bugs.webkit.org/show_bug.cgi?id=77666

        Reviewed by Chris Rogers.

        Tests: webaudio/audioparam-linearRampToValueAtTime.html
               webaudio/audioparam-setTargetValueAtTime.html
               webaudio/audioparam-setValueAtTime.html
               webaudio/audioparam-setValueCurveAtTime.html

        * webaudio/AudioParamTimeline.cpp:
        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Round the
        curveIndex to fix timing issue in setValueCurveAtTime.

2012-03-01  Pablo Flouret  <pablof@motorola.com>

        Fix code generators to correctly guard header declarations that have a [Conditional] attribute.
        https://bugs.webkit.org/show_bug.cgi?id=79375

        Reviewed by Kentaro Hara.

        In most cases code generators weren't checking the Conditional attribute
        when generating code in headers for function/attribute/constants, they
        were just guarding against the Conditional for the whole interface.

        * bindings/scripts/CodeGeneratorCPP.pm:
        (GenerateHeader):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateHeader):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        * bindings/scripts/test/CPP/WebDOMTestInterface.h:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestInterface.h:
        (JSTestInterface):
        (WebCore):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestInterface.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:


2012-03-01  Dana Jansens  <danakj@chromium.org>

        [chromium] Make opaque paint tracker aware of SkCanvas layers
        https://bugs.webkit.org/show_bug.cgi?id=79145

        Reviewed by Stephen White.

        The current opaque paint tracker ignored SkCanvas layers entirely. But
        SkCanvas layers can be used to apply things like alpha. So we make it
        know about layers, and apply any clipping and SkPaint objects for layers
        when tracking a paint.

        Image clipping is done via a layer, so we can now also remove the
        special-case code around image clipping in PlatformContextSkia and
        OpaqueRegionSkia.

        Unit test: PlatformContextSkiaTest.contextTransparencyLayerTest

        Test: compositing/culling/clear-fixed-iframe.html

        * platform/graphics/skia/OpaqueRegionSkia.cpp:
        (WebCore::OpaqueRegionSkia::didDrawRect):
        (WebCore::OpaqueRegionSkia::didDrawPath):
        (WebCore::OpaqueRegionSkia::didDrawPoints):
        (WebCore::OpaqueRegionSkia::didDrawBounded):
        (WebCore::OpaqueRegionSkia::didDraw):
        (WebCore):
        * platform/graphics/skia/OpaqueRegionSkia.h:
        (OpaqueRegionSkia):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        * platform/graphics/skia/PlatformContextSkia.h:
        (PlatformContextSkia):

2012-03-02  Kent Tamura  <tkent@chromium.org>

        Add HTML-capable popup API to ChromeClient
        https://bugs.webkit.org/show_bug.cgi?id=79078

        Reviewed by Dimitri Glazkov.

        This API will be used to implement a calendar picker of <input type=date>.
        The code is enclosed with ENABLE_PAGE_POPUP, and doesn't change any
        behavior for now.

        * page/ChromeClient.h: Added declarations of openPagePopup() and closePagePopup().
        * loader/EmptyClients.h:
        (EmptyChromeClient): Add empty implementations of new ChromeClient functions.
        * page/PagePopup.h: Added.
        (PagePopup): Define an empty interface
        * page/PagePopupClient.h: Added.
        (PagePopupClient): Define an interface to provide various information to HTMLPopup.

2012-03-01  Hironori Bono  <hbono@chromium.org>

        Render overflow controls of an RTL element to its left-side.
        https://bugs.webkit.org/show_bug.cgi?id=54623

        This change adds a new flag WTF_USE_RTL_SCROLLBAR and render the
        vertical scrollbars and resizers of RTL elements to their left side if
        this new flag is enabled.

        Reviewed by Ryosuke Niwa.

        Test: platform/chromium/fast/events/rtl-scrollbar.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addOverflowFromPositionedObjects): Move child elements right.
        (WebCore::RenderBlock::determineLogicalLeftPositionForChild): ditto.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::overflowClipRect): Move the content rectangle right.
        * rendering/RenderLayer.cpp:
        (WebCore::cornerStart): Added a function that calculates the X position of a resizer.
        (WebCore):
        (WebCore::cornerRect): Use cornerStart to move a resizer.
        (WebCore::RenderLayer::verticalScrollbarStart): Added a function that calculates
        the X position of a vertical scrollbar.
        (WebCore::RenderLayer::horizontalScrollbarStart): Added a function that calculates
        the X position of a horizontal scrollbar.
        (WebCore::RenderLayer::scrollbarOffset): Render a vertical scrollbar to the left side
        and move a horizontal scrollbar right by the width of the vertical scrollbar.
        (WebCore::RenderLayer::invalidateScrollbarRect): ditto.
        (WebCore::RenderLayer::positionOverflowControls): ditto.
        (WebCore::RenderLayer::hitTestOverflowControls): ditto.
        * rendering/RenderLayer.h:
        (RenderLayer):
        * rendering/style/RenderStyle.h: Added shouldPlaceBlockDirectionScrollbarOnLogicalLeft,
        which returns if we need to move a left scrollbar to its right side.

2012-03-01  Kent Tamura  <tkent@chromium.org>

        REGRESSION(90089): Input type='search' text shakes up and down when the style is changed.
        https://bugs.webkit.org/show_bug.cgi?id=79445

        Reviewed by Dimitri Glazkov.

        If the inner text height of a search field is smaller than the
        content box height of the <input>, the height of the container
        element should be same as the content box height.

        When the element style is changed, the RenderStyle height of the
        container element is cleared, but the renderer height of the
        container element remains. We had a bug that layout() didn't set
        the RenderStyle height in a case that the renderer height was the
        desired height. It shrunk the renderer height as the result of
        layout for children.

        Tests: fast/forms/search/search-shaking-text.html

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        Always set the RenderStyle height explicitly.

2012-03-01  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rebaselined run-bindings-tests results.

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:

2012-03-01  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10942540> REGRESSION (r108956): Safari Webpage Preview Fetcher crashes in WebCore::localizedString() when using a WebKit nightly build
        https://bugs.webkit.org/show_bug.cgi?id=80034

        Reviewed by Benjamin Poulain.

        Safari Webpage Preview Fetcher can’t access the WebCore framework when launched from a WebKit
        nightly build. After r108956, this causes it to crash.

        * platform/mac/LocalizedStringsMac.cpp:
        (WebCore::localizedString): Added a null-check for the value returned from
        CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebCore")).

2012-03-01  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry]Array of Cookies in HTTP request header are not in order.
        https://bugs.webkit.org/show_bug.cgi?id=79870

        Std::sort and HashMap are not stable. So cookies with the same creating
        time sometimes are sent disorder.
        Change std::sort with std::stable-sort.
        We don't need using HashMap to save so few cookies for one domain.
        It is a wast of time to create HashMap, too.
        So change it with vector.

        Reviewed by George Staikos.

        Test: http/tests/cookies/resources/setArraycookies.php

        * platform/blackberry/CookieManager.cpp:
        (WebCore::cookieSorter):
        (WebCore::CookieManager::getRawCookies):
        (WebCore::CookieManager::checkAndTreatCookie):
        (WebCore::CookieManager::addCookieToMap):
        * platform/blackberry/CookieManager.h:
        * platform/blackberry/CookieMap.cpp:
        (WebCore::CookieMap::addOrReplaceCookie):
        (WebCore::CookieMap::removeCookieAtIndex):
        (WebCore::CookieMap::removeCookie):
        (WebCore):
        (WebCore::CookieMap::getAllCookies):
        (WebCore::CookieMap::updateOldestCookie):
        (WebCore::CookieMap::deleteAllCookiesAndDomains):
        * platform/blackberry/CookieMap.h:
        (WebCore::CookieMap::count):
        (CookieMap):

2012-03-01  Adam Barth  <abarth@webkit.org>

        Move WebCore/storage/IDB* files into WebCore/Modules/indexeddb
        https://bugs.webkit.org/show_bug.cgi?id=80071

        Reviewed by Kentaro Hara.

        Now that we've removed all the ENABLE(INDEXED_DATABASE) ifdefs from
        WebCore proper, we can move IndexedDB into its own module.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Modules/indexeddb/IDBAny.cpp: Copied from Source/WebCore/storage/IDBAny.cpp.
        * Modules/indexeddb/IDBAny.h: Copied from Source/WebCore/storage/IDBAny.h.
        * Modules/indexeddb/IDBAny.idl: Copied from Source/WebCore/storage/IDBAny.idl.
        * Modules/indexeddb/IDBBackingStore.h: Copied from Source/WebCore/storage/IDBBackingStore.h.
        * Modules/indexeddb/IDBCallbacks.h: Copied from Source/WebCore/storage/IDBCallbacks.h.
        * Modules/indexeddb/IDBCursor.cpp: Copied from Source/WebCore/storage/IDBCursor.cpp.
        * Modules/indexeddb/IDBCursor.h: Copied from Source/WebCore/storage/IDBCursor.h.
        * Modules/indexeddb/IDBCursor.idl: Copied from Source/WebCore/storage/IDBCursor.idl.
        * Modules/indexeddb/IDBCursorBackendImpl.cpp: Copied from Source/WebCore/storage/IDBCursorBackendImpl.cpp.
        * Modules/indexeddb/IDBCursorBackendImpl.h: Copied from Source/WebCore/storage/IDBCursorBackendImpl.h.
        * Modules/indexeddb/IDBCursorBackendInterface.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h.
        * Modules/indexeddb/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursorWithValue.cpp.
        * Modules/indexeddb/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorWithValue.h.
        * Modules/indexeddb/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursorWithValue.idl.
        * Modules/indexeddb/IDBDatabase.cpp: Copied from Source/WebCore/storage/IDBDatabase.cpp.
        * Modules/indexeddb/IDBDatabase.h: Copied from Source/WebCore/storage/IDBDatabase.h.
        * Modules/indexeddb/IDBDatabase.idl: Copied from Source/WebCore/storage/IDBDatabase.idl.
        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseBackendImpl.cpp.
        * Modules/indexeddb/IDBDatabaseBackendImpl.h: Copied from Source/WebCore/storage/IDBDatabaseBackendImpl.h.
        * Modules/indexeddb/IDBDatabaseBackendInterface.h: Copied from Source/WebCore/storage/IDBDatabaseBackendInterface.h.
        * Modules/indexeddb/IDBDatabaseCallbacks.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
        * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseCallbacksImpl.cpp.
        * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacksImpl.h.
        * Modules/indexeddb/IDBDatabaseError.h: Copied from Source/WebCore/storage/IDBDatabaseError.h.
        * Modules/indexeddb/IDBDatabaseError.idl: Copied from Source/WebCore/storage/IDBDatabaseError.idl.
        * Modules/indexeddb/IDBDatabaseException.cpp: Copied from Source/WebCore/storage/IDBDatabaseException.cpp.
        * Modules/indexeddb/IDBDatabaseException.h: Copied from Source/WebCore/storage/IDBDatabaseException.h.
        * Modules/indexeddb/IDBDatabaseException.idl: Copied from Source/WebCore/storage/IDBDatabaseException.idl.
        * Modules/indexeddb/IDBEventDispatcher.cpp: Copied from Source/WebCore/storage/IDBEventDispatcher.cpp.
        * Modules/indexeddb/IDBEventDispatcher.h: Copied from Source/WebCore/storage/IDBEventDispatcher.h.
        * Modules/indexeddb/IDBFactory.cpp: Copied from Source/WebCore/storage/IDBFactory.cpp.
        * Modules/indexeddb/IDBFactory.h: Copied from Source/WebCore/storage/IDBFactory.h.
        * Modules/indexeddb/IDBFactory.idl: Copied from Source/WebCore/storage/IDBFactory.idl.
        * Modules/indexeddb/IDBFactoryBackendImpl.cpp: Copied from Source/WebCore/storage/IDBFactoryBackendImpl.cpp.
        * Modules/indexeddb/IDBFactoryBackendImpl.h: Copied from Source/WebCore/storage/IDBFactoryBackendImpl.h.
        * Modules/indexeddb/IDBFactoryBackendInterface.cpp: Copied from Source/WebCore/storage/IDBFactoryBackendInterface.cpp.
        * Modules/indexeddb/IDBFactoryBackendInterface.h: Copied from Source/WebCore/storage/IDBFactoryBackendInterface.h.
        * Modules/indexeddb/IDBIndex.cpp: Copied from Source/WebCore/storage/IDBIndex.cpp.
        * Modules/indexeddb/IDBIndex.h: Copied from Source/WebCore/storage/IDBIndex.h.
        * Modules/indexeddb/IDBIndex.idl: Copied from Source/WebCore/storage/IDBIndex.idl.
        * Modules/indexeddb/IDBIndexBackendImpl.cpp: Copied from Source/WebCore/storage/IDBIndexBackendImpl.cpp.
        * Modules/indexeddb/IDBIndexBackendImpl.h: Copied from Source/WebCore/storage/IDBIndexBackendImpl.h.
        * Modules/indexeddb/IDBIndexBackendInterface.h: Copied from Source/WebCore/storage/IDBIndexBackendInterface.h.
        * Modules/indexeddb/IDBKey.cpp: Copied from Source/WebCore/storage/IDBKey.cpp.
        * Modules/indexeddb/IDBKey.h: Copied from Source/WebCore/storage/IDBKey.h.
        * Modules/indexeddb/IDBKey.idl: Copied from Source/WebCore/storage/IDBKey.idl.
        * Modules/indexeddb/IDBKeyPath.cpp: Copied from Source/WebCore/storage/IDBKeyPath.cpp.
        * Modules/indexeddb/IDBKeyPath.h: Copied from Source/WebCore/storage/IDBKeyPath.h.
        * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Copied from Source/WebCore/storage/IDBKeyPathBackendImpl.cpp.
        * Modules/indexeddb/IDBKeyPathBackendImpl.h: Copied from Source/WebCore/storage/IDBKeyPathBackendImpl.h.
        * Modules/indexeddb/IDBKeyRange.cpp: Copied from Source/WebCore/storage/IDBKeyRange.cpp.
        * Modules/indexeddb/IDBKeyRange.h: Copied from Source/WebCore/storage/IDBKeyRange.h.
        * Modules/indexeddb/IDBKeyRange.idl: Copied from Source/WebCore/storage/IDBKeyRange.idl.
        * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Copied from Source/WebCore/storage/IDBLevelDBBackingStore.cpp.
        * Modules/indexeddb/IDBLevelDBBackingStore.h: Copied from Source/WebCore/storage/IDBLevelDBBackingStore.h.
        * Modules/indexeddb/IDBLevelDBCoding.cpp: Copied from Source/WebCore/storage/IDBLevelDBCoding.cpp.
        * Modules/indexeddb/IDBLevelDBCoding.h: Copied from Source/WebCore/storage/IDBLevelDBCoding.h.
        * Modules/indexeddb/IDBObjectStore.cpp: Copied from Source/WebCore/storage/IDBObjectStore.cpp.
        * Modules/indexeddb/IDBObjectStore.h: Copied from Source/WebCore/storage/IDBObjectStore.h.
        * Modules/indexeddb/IDBObjectStore.idl: Copied from Source/WebCore/storage/IDBObjectStore.idl.
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Copied from Source/WebCore/storage/IDBObjectStoreBackendImpl.cpp.
        * Modules/indexeddb/IDBObjectStoreBackendImpl.h: Copied from Source/WebCore/storage/IDBObjectStoreBackendImpl.h.
        * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Copied from Source/WebCore/storage/IDBObjectStoreBackendInterface.h.
        * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: Copied from Source/WebCore/storage/IDBPendingTransactionMonitor.cpp.
        * Modules/indexeddb/IDBPendingTransactionMonitor.h: Copied from Source/WebCore/storage/IDBPendingTransactionMonitor.h.
        * Modules/indexeddb/IDBRequest.cpp: Copied from Source/WebCore/storage/IDBRequest.cpp.
        * Modules/indexeddb/IDBRequest.h: Copied from Source/WebCore/storage/IDBRequest.h.
        * Modules/indexeddb/IDBRequest.idl: Copied from Source/WebCore/storage/IDBRequest.idl.
        * Modules/indexeddb/IDBTracing.h: Copied from Source/WebCore/storage/IDBTracing.h.
        * Modules/indexeddb/IDBTransaction.cpp: Copied from Source/WebCore/storage/IDBTransaction.cpp.
        * Modules/indexeddb/IDBTransaction.h: Copied from Source/WebCore/storage/IDBTransaction.h.
        * Modules/indexeddb/IDBTransaction.idl: Copied from Source/WebCore/storage/IDBTransaction.idl.
        * Modules/indexeddb/IDBTransactionBackendImpl.cpp: Copied from Source/WebCore/storage/IDBTransactionBackendImpl.cpp.
        * Modules/indexeddb/IDBTransactionBackendImpl.h: Copied from Source/WebCore/storage/IDBTransactionBackendImpl.h.
        * Modules/indexeddb/IDBTransactionBackendInterface.h: Copied from Source/WebCore/storage/IDBTransactionBackendInterface.h.
        * Modules/indexeddb/IDBTransactionCallbacks.h: Copied from Source/WebCore/storage/IDBTransactionCallbacks.h.
        * Modules/indexeddb/IDBTransactionCoordinator.cpp: Copied from Source/WebCore/storage/IDBTransactionCoordinator.cpp.
        * Modules/indexeddb/IDBTransactionCoordinator.h: Copied from Source/WebCore/storage/IDBTransactionCoordinator.h.
        * Modules/indexeddb/IDBVersionChangeEvent.cpp: Copied from Source/WebCore/storage/IDBVersionChangeEvent.cpp.
        * Modules/indexeddb/IDBVersionChangeEvent.h: Copied from Source/WebCore/storage/IDBVersionChangeEvent.h.
        * Modules/indexeddb/IDBVersionChangeEvent.idl: Copied from Source/WebCore/storage/IDBVersionChangeEvent.idl.
        * Modules/indexeddb/IDBVersionChangeRequest.cpp: Copied from Source/WebCore/storage/IDBVersionChangeRequest.cpp.
        * Modules/indexeddb/IDBVersionChangeRequest.h: Copied from Source/WebCore/storage/IDBVersionChangeRequest.h.
        * Modules/indexeddb/IDBVersionChangeRequest.idl: Copied from Source/WebCore/storage/IDBVersionChangeRequest.idl.
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/IDBAny.cpp: Removed.
        * storage/IDBAny.h: Removed.
        * storage/IDBAny.idl: Removed.
        * storage/IDBBackingStore.h: Removed.
        * storage/IDBCallbacks.h: Removed.
        * storage/IDBCursor.cpp: Removed.
        * storage/IDBCursor.h: Removed.
        * storage/IDBCursor.idl: Removed.
        * storage/IDBCursorBackendImpl.cpp: Removed.
        * storage/IDBCursorBackendImpl.h: Removed.
        * storage/IDBCursorBackendInterface.h: Removed.
        * storage/IDBCursorWithValue.cpp: Removed.
        * storage/IDBCursorWithValue.h: Removed.
        * storage/IDBCursorWithValue.idl: Removed.
        * storage/IDBDatabase.cpp: Removed.
        * storage/IDBDatabase.h: Removed.
        * storage/IDBDatabase.idl: Removed.
        * storage/IDBDatabaseBackendImpl.cpp: Removed.
        * storage/IDBDatabaseBackendImpl.h: Removed.
        * storage/IDBDatabaseBackendInterface.h: Removed.
        * storage/IDBDatabaseCallbacks.h: Removed.
        * storage/IDBDatabaseCallbacksImpl.cpp: Removed.
        * storage/IDBDatabaseCallbacksImpl.h: Removed.
        * storage/IDBDatabaseError.h: Removed.
        * storage/IDBDatabaseError.idl: Removed.
        * storage/IDBDatabaseException.cpp: Removed.
        * storage/IDBDatabaseException.h: Removed.
        * storage/IDBDatabaseException.idl: Removed.
        * storage/IDBEventDispatcher.cpp: Removed.
        * storage/IDBEventDispatcher.h: Removed.
        * storage/IDBFactory.cpp: Removed.
        * storage/IDBFactory.h: Removed.
        * storage/IDBFactory.idl: Removed.
        * storage/IDBFactoryBackendImpl.cpp: Removed.
        * storage/IDBFactoryBackendImpl.h: Removed.
        * storage/IDBFactoryBackendInterface.cpp: Removed.
        * storage/IDBFactoryBackendInterface.h: Removed.
        * storage/IDBIndex.cpp: Removed.
        * storage/IDBIndex.h: Removed.
        * storage/IDBIndex.idl: Removed.
        * storage/IDBIndexBackendImpl.cpp: Removed.
        * storage/IDBIndexBackendImpl.h: Removed.
        * storage/IDBIndexBackendInterface.h: Removed.
        * storage/IDBKey.cpp: Removed.
        * storage/IDBKey.h: Removed.
        * storage/IDBKey.idl: Removed.
        * storage/IDBKeyPath.cpp: Removed.
        * storage/IDBKeyPath.h: Removed.
        * storage/IDBKeyPathBackendImpl.cpp: Removed.
        * storage/IDBKeyPathBackendImpl.h: Removed.
        * storage/IDBKeyRange.cpp: Removed.
        * storage/IDBKeyRange.h: Removed.
        * storage/IDBKeyRange.idl: Removed.
        * storage/IDBLevelDBBackingStore.cpp: Removed.
        * storage/IDBLevelDBBackingStore.h: Removed.
        * storage/IDBLevelDBCoding.cpp: Removed.
        * storage/IDBLevelDBCoding.h: Removed.
        * storage/IDBObjectStore.cpp: Removed.
        * storage/IDBObjectStore.h: Removed.
        * storage/IDBObjectStore.idl: Removed.
        * storage/IDBObjectStoreBackendImpl.cpp: Removed.
        * storage/IDBObjectStoreBackendImpl.h: Removed.
        * storage/IDBObjectStoreBackendInterface.h: Removed.
        * storage/IDBPendingTransactionMonitor.cpp: Removed.
        * storage/IDBPendingTransactionMonitor.h: Removed.
        * storage/IDBRequest.cpp: Removed.
        * storage/IDBRequest.h: Removed.
        * storage/IDBRequest.idl: Removed.
        * storage/IDBTracing.h: Removed.
        * storage/IDBTransaction.cpp: Removed.
        * storage/IDBTransaction.h: Removed.
        * storage/IDBTransaction.idl: Removed.
        * storage/IDBTransactionBackendImpl.cpp: Removed.
        * storage/IDBTransactionBackendImpl.h: Removed.
        * storage/IDBTransactionBackendInterface.h: Removed.
        * storage/IDBTransactionCallbacks.h: Removed.
        * storage/IDBTransactionCoordinator.cpp: Removed.
        * storage/IDBTransactionCoordinator.h: Removed.
        * storage/IDBVersionChangeEvent.cpp: Removed.
        * storage/IDBVersionChangeEvent.h: Removed.
        * storage/IDBVersionChangeEvent.idl: Removed.
        * storage/IDBVersionChangeRequest.cpp: Removed.
        * storage/IDBVersionChangeRequest.h: Removed.
        * storage/IDBVersionChangeRequest.idl: Removed.

2012-03-01  Luke Macpherson   <macpherson@chromium.org>

        Handle CSSPropertyWebkitBorderFit in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=79998

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-01  Anders Carlsson  <andersca@apple.com>

        Crash when doing repeated double-tap-to-zoom gesture on apple startpage
        https://bugs.webkit.org/show_bug.cgi?id=80081
        <rdar://problem/10966391>

        Reviewed by Sam Weinig.

        Setting the contents scale on the tile cache layer was creating a WebTileCacheLayer presentation layer copy with a null _tileCache.

        Implement -[WebTileCacheLayer actionForKey:] and have it always return nil so we'll avoid implicit animations, and thus creating presentation layers.

        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer initWithLayer:]):
        Implement this and assert that it's never reached. We should never create presentation layers since we don't animate this layer.

        (-[WebTileCacheLayer actionForKey:]):
        Implement this and always return nil.

2012-03-01  Hajime Morrita  <morrita@chromium.org>

        Custom scrollbars do not support transparency
        https://bugs.webkit.org/show_bug.cgi?id=50547

        Reviewed by James Robinson.

        RenderScrollbar, which is used even for outermost frame when
        -webkit-scrollbar is specified, assumes that its background is
        painted by the enclosing container. But there is no such container
        for outermost frame. This causes visual glitches when the
        scrollbar has transparency.

        This change clears background region for custom
        outermostscrollbars to erase such glitches.

        Test: fast/frames/transparent-scrollbar.html

        * page/FrameView.cpp:
        (WebCore::FrameView::paintScrollbar): The background is cleared here.
        (WebCore):
        * page/FrameView.h:
        (FrameView):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::paintScrollbar): Added to hook in FrameView
        (WebCore):
        (WebCore::ScrollView::paintScrollbars):
        * platform/ScrollView.h:
        (ScrollView):

2012-03-01  Kent Tamura  <tkent@chromium.org>

        REGRESSION(r106388): Form state is restored to a wrong document.
        https://bugs.webkit.org/show_bug.cgi?id=79206

        Reviewed by Brady Eidson.

        In some cases, the URL of the current HistoryItem and the document
        URL are mismatched.
        A form state should be restored only if the document was loaded
        with a HistoryItem and the document is not loaded as a
        redirection.

        Test: fast/loader/form-state-restore-with-locked-back-forward-list.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkCompleted): Clear m_requestedHistoryItem.
        (WebCore::FrameLoader::loadItem):
        Save the requested HistoryItem for didLoadWithLodItem().
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::requestedHistoryItem):
        Added. Accessor for m_requestedHistoryItem.
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::restoreDocumentState):
        Restore a form state only if the current document was loaded with
        FrameLoader::loadItem() and not redirection.

2012-03-01  Xingnan Wang  <xingnan.wang@intel.com>

        SSE optimization for vsvesq and vmaxmgv
        https://bugs.webkit.org/show_bug.cgi?id=77950

        Reviewed by Chris Rogers.

        Achieved the performance of 3.7x on vsvesq and 4.1x on vmaxmgv.

        * platform/audio/VectorMath.cpp:
        (WebCore::VectorMath::vsvesq):
        (WebCore::VectorMath::vmaxmgv):

2012-03-01  Luke Macpherson   <macpherson@chromium.org>

        Handle CSSPropertyBoxSizing in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=80001

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-01  James Robinson  <jamesr@chromium.org>

        [chromium] LayerChromium::contentChanged is redundant with setNeedsDisplay
        https://bugs.webkit.org/show_bug.cgi?id=79708

        Reviewed by Adrienne Walker.

        Some layer types need special handling when they receive damage. WebGL layers need to know if their texture is
        updated for clear-on-swap behavior and both WebGL and canvas 2d layers have rate limiting mechanisms tied to
        receiving invalidations. This mechanism was implemented by LayerChromium::contentChanged(), but this is
        redundant with setNeedsDisplay().

        Covered by existing tests.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::setNeedsDisplay):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setNeedsDisplay):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::setNeedsDisplay):
        * platform/graphics/chromium/VideoLayerChromium.h:
        (VideoLayerChromium):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::setNeedsDisplay):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebGLLayerChromium):

2012-03-01  James Robinson  <jamesr@chromium.org>

        [chromium] Rename LayerChromium::name to debugName to be more consistent with other debug properties, make threadsafe
        https://bugs.webkit.org/show_bug.cgi?id=79723

        Reviewed by Adrienne Walker.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateNames):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::pushPropertiesTo):
        (WebCore::LayerChromium::setDebugName):
        (WebCore):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::dumpLayer):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        (WebCore::CCLayerImpl::setDebugName):
        (WebCore::CCLayerImpl::debugName):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::name):

2012-03-01  Adam Barth  <abarth@webkit.org>

        Remove last ENABLED(INDEXED_DATABASE) ifdef from WebCore proper
        https://bugs.webkit.org/show_bug.cgi?id=80061

        Reviewed by Dimitri Glazkov.

        This patch removes the last ENABLED(INDEXED_DATABASE) ifdef from
        WebCore proper by moving the backend factory out of PageGroup and into
        a supplement for PageGroup.  After this patch, we're ready to move the
        IDB code into Modules.

        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
        * WebCore.gypi:
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore::assertIDBFactory):
        * page/PageGroup.cpp:
        (WebCore):
        * page/PageGroup.h:
        (PageGroup):

2012-03-01  Dale Curtis  <dalecurtis@chromium.org>

        Remove deprecated FFmpeg build directories.
        https://bugs.webkit.org/show_bug.cgi?id=79282

        We've switched the layout of the FFmpeg repo in Chrome and these paths
        are no longer needed or valid.

        Reviewed by Dirk Pranke.

        No new tests. It either compiles or not.

        * WebCore.gyp/WebCore.gyp:

2012-03-01  Xingnan Wang  <xingnan.wang@intel.com>

        Enable IPP for Biquad filter
        https://bugs.webkit.org/show_bug.cgi?id=77509

        Reviewed by Chris Rogers.

        Use IIR filter in IPP and improve ~27% performance in linux.
        Changes are covered by current tests.

        * platform/audio/Biquad.cpp:
        (WebCore::Biquad::Biquad):
        (WebCore::Biquad::~Biquad):
        (WebCore):
        (WebCore::Biquad::process):
        (WebCore::Biquad::reset):
        (WebCore::Biquad::setLowpassParams):
        (WebCore::Biquad::setHighpassParams):
        (WebCore::Biquad::setNormalizedCoefficients):
        (WebCore::Biquad::setZeroPolePairs):
        * platform/audio/Biquad.h:
        (Biquad):

2012-03-01  Peter Kotwicz  <pkotwicz@google.com>

        Decouple scrollbar painting from Scrollbar object
        https://bugs.webkit.org/show_bug.cgi?id=78028

        Reviewed by James Robinson.

        Added interface ScrollbarThemeClient which Scrollbar inherits from.
        This allows painting via ScrollbarTheme with a proxy to a Scrollbar
        object.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::scrollbarOverlayStyle):
        (WebCore):
        (WebCore::Scrollbar::getTickmarks):
        (WebCore::Scrollbar::isScrollableAreaActive):
        (WebCore::Scrollbar::isScrollViewScrollbar):
        (WebCore::Scrollbar::setFrameRect):
        * platform/Scrollbar.h:
        (Scrollbar):
        (WebCore::Scrollbar::x):
        (WebCore::Scrollbar::y):
        (WebCore::Scrollbar::width):
        (WebCore::Scrollbar::height):
        (WebCore::Scrollbar::size):
        (WebCore::Scrollbar::location):
        (WebCore::Scrollbar::parent):
        (WebCore::Scrollbar::root):
        (WebCore::Scrollbar::frameRect):
        (WebCore::Scrollbar::invalidate):
        (WebCore::Scrollbar::convertFromContainingWindow):
        (WebCore::Scrollbar::isCustomScrollbar):
        (WebCore::Scrollbar::orientation):
        (WebCore::Scrollbar::value):
        (WebCore::Scrollbar::currentPos):
        (WebCore::Scrollbar::visibleSize):
        (WebCore::Scrollbar::totalSize):
        (WebCore::Scrollbar::maximum):
        (WebCore::Scrollbar::controlSize):
        (WebCore::Scrollbar::lineStep):
        (WebCore::Scrollbar::pageStep):
        (WebCore::Scrollbar::pressedPart):
        (WebCore::Scrollbar::hoveredPart):
        (WebCore::Scrollbar::styleChanged):
        (WebCore::Scrollbar::enabled):
        * platform/ScrollbarTheme.h:
        (WebCore):
        (WebCore::ScrollbarTheme::updateEnabledState):
        (WebCore::ScrollbarTheme::paint):
        (WebCore::ScrollbarTheme::hitTest):
        (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
        (WebCore::ScrollbarTheme::invalidateParts):
        (WebCore::ScrollbarTheme::invalidatePart):
        (WebCore::ScrollbarTheme::shouldCenterOnThumb):
        (WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
        (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb):
        (WebCore::ScrollbarTheme::thumbPosition):
        (WebCore::ScrollbarTheme::thumbLength):
        (WebCore::ScrollbarTheme::trackPosition):
        (WebCore::ScrollbarTheme::trackLength):
        (WebCore::ScrollbarTheme::registerScrollbar):
        (WebCore::ScrollbarTheme::unregisterScrollbar):
        * platform/ScrollbarThemeClient.h: Added.
        (WebCore):
        (ScrollbarThemeClient):
        (WebCore::ScrollbarThemeClient::~ScrollbarThemeClient):
        * platform/ScrollbarThemeComposite.cpp:
        (WebCore::ScrollbarThemeComposite::paint):
        (WebCore::ScrollbarThemeComposite::hitTest):
        (WebCore::ScrollbarThemeComposite::invalidatePart):
        (WebCore::ScrollbarThemeComposite::splitTrack):
        (WebCore::usedTotalSize):
        (WebCore::ScrollbarThemeComposite::thumbPosition):
        (WebCore::ScrollbarThemeComposite::thumbLength):
        (WebCore::ScrollbarThemeComposite::minimumThumbLength):
        (WebCore::ScrollbarThemeComposite::trackPosition):
        (WebCore::ScrollbarThemeComposite::trackLength):
        * platform/ScrollbarThemeComposite.h:
        (ScrollbarThemeComposite):
        (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
        (WebCore::ScrollbarThemeComposite::paintTrackBackground):
        (WebCore::ScrollbarThemeComposite::paintTrackPiece):
        (WebCore::ScrollbarThemeComposite::paintButton):
        (WebCore::ScrollbarThemeComposite::paintThumb):
        (WebCore::ScrollbarThemeComposite::paintTickmarks):
        (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
        * platform/chromium/ScrollbarThemeChromium.cpp:
        (WebCore::ScrollbarThemeChromium::hasThumb):
        (WebCore::ScrollbarThemeChromium::backButtonRect):
        (WebCore::ScrollbarThemeChromium::forwardButtonRect):
        (WebCore::ScrollbarThemeChromium::trackRect):
        (WebCore::ScrollbarThemeChromium::paintTrackBackground):
        (WebCore::ScrollbarThemeChromium::paintTickmarks):
        * platform/chromium/ScrollbarThemeChromium.h:
        (WebCore::ScrollbarThemeChromium::hasButtons):
        (ScrollbarThemeChromium):
        * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
        (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
        (WebCore::ScrollbarThemeChromiumAndroid::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeChromiumAndroid::buttonSize):
        (WebCore::ScrollbarThemeChromiumAndroid::minimumThumbLength):
        * platform/chromium/ScrollbarThemeChromiumAndroid.h:
        (ScrollbarThemeChromiumAndroid):
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
        (WebCore::ScrollbarThemeChromiumLinux::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
        (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
        * platform/chromium/ScrollbarThemeChromiumLinux.h:
        (ScrollbarThemeChromiumLinux):
        * platform/chromium/ScrollbarThemeChromiumMac.h:
        (ScrollbarThemeChromiumMac):
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::scrollbarStateToThemeState):
        (WebCore::ScrollbarThemeChromiumMac::paint):
        (WebCore::ScrollbarThemeChromiumMac::paintGivenTickmarks):
        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
        (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
        (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
        (WebCore::ScrollbarThemeChromiumWin::paintButton):
        (WebCore::ScrollbarThemeChromiumWin::paintThumb):
        (WebCore::ScrollbarThemeChromiumWin::getThemeState):
        (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
        (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState):
        (WebCore::ScrollbarThemeChromiumWin::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeChromiumWin::buttonSize):
        * platform/chromium/ScrollbarThemeChromiumWin.h:
        (ScrollbarThemeChromiumWin):
        * platform/efl/ScrollbarThemeEfl.cpp:
        (WebCore::ScrollbarThemeEfl::registerScrollbar):
        (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
        * platform/efl/ScrollbarThemeEfl.h:
        (ScrollbarThemeEfl):
        * platform/gtk/ScrollbarThemeGtk.cpp:
        (WebCore):
        (WebCore::ScrollbarThemeGtk::registerScrollbar):
        (WebCore::ScrollbarThemeGtk::unregisterScrollbar):
        (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
        (WebCore::ScrollbarThemeGtk::hasThumb):
        (WebCore::ScrollbarThemeGtk::backButtonRect):
        (WebCore::ScrollbarThemeGtk::forwardButtonRect):
        (WebCore::ScrollbarThemeGtk::trackRect):
        (WebCore::ScrollbarThemeGtk::thumbRect):
        (WebCore::ScrollbarThemeGtk::paint):
        (WebCore::ScrollbarThemeGtk::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeGtk::buttonSize):
        (WebCore::ScrollbarThemeGtk::minimumThumbLength):
        * platform/gtk/ScrollbarThemeGtk.h:
        (WebCore::ScrollbarThemeGtk::hasButtons):
        (ScrollbarThemeGtk):
        * platform/gtk/ScrollbarThemeGtk2.cpp:
        (WebCore::getWidgetForScrollbar):
        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
        (WebCore::ScrollbarThemeGtk::paintThumb):
        (WebCore::ScrollbarThemeGtk::paintButton):
        * platform/gtk/ScrollbarThemeGtk3.cpp:
        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
        (WebCore::ScrollbarThemeGtk::paintThumb):
        (WebCore::ScrollbarThemeGtk::paintButton):
        * platform/mac/ScrollbarThemeMac.h:
        (ScrollbarThemeMac):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore):
        (WebCore::ScrollbarThemeMac::registerScrollbar):
        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
        (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
        (WebCore::ScrollbarThemeMac::painterForScrollbar):
        (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
        (WebCore::ScrollbarThemeMac::hasButtons):
        (WebCore::ScrollbarThemeMac::hasThumb):
        (WebCore::ScrollbarThemeMac::backButtonRect):
        (WebCore::ScrollbarThemeMac::forwardButtonRect):
        (WebCore::ScrollbarThemeMac::trackRect):
        (WebCore::ScrollbarThemeMac::minimumThumbLength):
        (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb):
        (WebCore::ScrollbarThemeMac::updateEnabledState):
        (WebCore::ScrollbarThemeMac::paint):
        * platform/mock/ScrollbarThemeMock.cpp:
        (WebCore::ScrollbarThemeMock::trackRect):
        (WebCore::ScrollbarThemeMock::paintTrackBackground):
        (WebCore::ScrollbarThemeMock::paintThumb):
        * platform/mock/ScrollbarThemeMock.h:
        (WebCore::ScrollbarThemeMock::hasButtons):
        (WebCore::ScrollbarThemeMock::hasThumb):
        (WebCore::ScrollbarThemeMock::backButtonRect):
        (WebCore::ScrollbarThemeMock::forwardButtonRect):
        (ScrollbarThemeMock):
        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::styleOptionSlider):
        (WebCore::ScrollbarThemeQt::paint):
        (WebCore::ScrollbarThemeQt::hitTest):
        (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeQt::invalidatePart):
        (WebCore::ScrollbarThemeQt::thumbPosition):
        (WebCore::ScrollbarThemeQt::thumbLength):
        (WebCore::ScrollbarThemeQt::trackPosition):
        (WebCore::ScrollbarThemeQt::trackLength):
        * platform/qt/ScrollbarThemeQt.h:
        (ScrollbarThemeQt):
        * platform/win/ScrollbarThemeSafari.cpp:
        (WebCore::ScrollbarThemeSafari::hasButtons):
        (WebCore::ScrollbarThemeSafari::hasThumb):
        (WebCore::ScrollbarThemeSafari::backButtonRect):
        (WebCore::ScrollbarThemeSafari::forwardButtonRect):
        (WebCore::ScrollbarThemeSafari::trackRect):
        (WebCore::ScrollbarThemeSafari::minimumThumbLength):
        (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeSafari::paintTrackBackground):
        (WebCore::ScrollbarThemeSafari::paintButton):
        (WebCore::ScrollbarThemeSafari::paintThumb):
        * platform/win/ScrollbarThemeSafari.h:
        (ScrollbarThemeSafari):
        * platform/win/ScrollbarThemeWin.cpp:
        (WebCore::ScrollbarThemeWin::hasThumb):
        (WebCore::ScrollbarThemeWin::backButtonRect):
        (WebCore::ScrollbarThemeWin::forwardButtonRect):
        (WebCore::ScrollbarThemeWin::trackRect):
        (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
        (WebCore::ScrollbarThemeWin::paintTrackBackground):
        (WebCore::ScrollbarThemeWin::paintTrackPiece):
        (WebCore::ScrollbarThemeWin::paintButton):
        (WebCore::paintGripper):
        (WebCore::ScrollbarThemeWin::paintThumb):
        * platform/win/ScrollbarThemeWin.h:
        (WebCore::ScrollbarThemeWin::hasButtons):
        (ScrollbarThemeWin):
        * platform/wx/ScrollbarThemeWx.cpp:
        (WebCore::ScrollbarThemeWx::hasThumb):
        (WebCore::ScrollbarThemeWx::minimumThumbLength):
        (WebCore::ScrollbarThemeWx::buttonSize):
        (WebCore::ScrollbarThemeWx::splitTrack):
        (WebCore::ScrollbarThemeWx::backButtonRect):
        (WebCore::ScrollbarThemeWx::forwardButtonRect):
        (WebCore::ScrollbarThemeWx::trackRect):
        (WebCore::ScrollbarThemeWx::paint):
        * platform/wx/ScrollbarThemeWx.h:
        (ScrollbarThemeWx):
        (WebCore::ScrollbarThemeWx::hasButtons):
        * rendering/RenderScrollbar.h:
        (WebCore::toRenderScrollbar):
        * rendering/RenderScrollbarTheme.cpp:
        (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
        (WebCore::RenderScrollbarTheme::hasButtons):
        (WebCore::RenderScrollbarTheme::hasThumb):
        (WebCore::RenderScrollbarTheme::minimumThumbLength):
        (WebCore::RenderScrollbarTheme::backButtonRect):
        (WebCore::RenderScrollbarTheme::forwardButtonRect):
        (WebCore::RenderScrollbarTheme::trackRect):
        (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
        (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
        (WebCore::RenderScrollbarTheme::paintTrackBackground):
        (WebCore::RenderScrollbarTheme::paintTrackPiece):
        (WebCore::RenderScrollbarTheme::paintButton):
        (WebCore::RenderScrollbarTheme::paintThumb):
        * rendering/RenderScrollbarTheme.h:
        (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
        (WebCore::RenderScrollbarTheme::registerScrollbar):
        (WebCore::RenderScrollbarTheme::unregisterScrollbar):
        (RenderScrollbarTheme):

2012-03-01  Luke Macpherson   <macpherson@chromium.org>

        Implement CSSPropertyImageRendering in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=79855

        Reviewed by Eric Seidel.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-03-01  Alok Priyadarshi  <alokp@chromium.org>

        [chromium] Partial texture updates not happening with accelerated painting path
        https://bugs.webkit.org/show_bug.cgi?id=80040

        Reviewed by James Robinson.

        The order of y-flip and clip-rect was opposite of what it should be.
        The clip rect was not properly transformed to account for y-flip and hence clipping everything.  

        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):

2012-03-01  Alexey Proskuryakov  <ap@apple.com>

        FileReader read speed is way too low
        https://bugs.webkit.org/show_bug.cgi?id=77272

        Reviewed by Oliver Hunt.

        This brings performance to reasonable range, but certainly doesn't exhaust improvement opportunities.

        * platform/network/BlobResourceHandle.cpp: Use a more appropriate block size. Performing
        cross-thread messaging for every 1024 bytes is slow.

2012-03-01  Dan Bernstein  <mitz@apple.com>

        ScrollView::setFrameRect() calls contentsResized() even when the frame size is unchanged
        https://bugs.webkit.org/show_bug.cgi?id=80047

        Reviewed by Anders Carlsson.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setFrameRect): Added a check that the new frame size differs from the
        old one before calling contentsResized().

2012-03-01  James Robinson  <jamesr@chromium.org>

        [chromium] Move pageScaleDirty logic from LayerChromium to GraphicsLayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=79714

        Reviewed by Adrienne Walker.

        When the page scale changes on a composited layer we need to invalidate all of the contents on the layer in
        order to repaint them at the new scale. The sequence of calls we get make this a bit tricky, since we first
        receive a page scale changed notification and then receive the new layer bounds. The solution is to defer the
        invalidation until we have the new layer bounds, which landed in r99774.

        This moves that logic from LayerChromium into GraphicsLayerChromium since IMO this is pretty particular to the
        way WebCore is passing us invalidations and not something fundamental to the compositor.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
        (WebCore::GraphicsLayerChromium::setSize):
        (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::setBounds):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):

2012-03-01  Joe Thomas  <joethomas@motorola.com>

        :empty still applies to elements made non-empty via page dynamics.
        https://bugs.webkit.org/show_bug.cgi?id=79734

        Check for :empty style change should be made even if the RenderStyle for the element is NULL
        as changes to the element's children can trigger a change in :empty state of the parent element.

        Reviewed by Antti Koivisto.

        Test: fast/selectors/empty-element-made-non-empty.html

        * dom/Element.cpp:
        (WebCore::checkForSiblingStyleChanges):

2012-02-29  Nat Duca  <nduca@chromium.org>

        [chromium] Move context lost control code from CCSingleThreadProxy to CCLayerTreeHost
        https://bugs.webkit.org/show_bug.cgi?id=79964

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::initializeLayerRenderer):
        (WebCore::CCLayerTreeHost::recreateContext):
        (WebCore::CCLayerTreeHost::createContext):
        (WebCore::CCLayerTreeHost::didLoseContext):
        (WebCore::CCLayerTreeHost::compositeAndReadback):
        (WebCore::CCLayerTreeHost::loseContext):
        (WebCore::CCLayerTreeHost::updateLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHostClient):
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
        (WebCore::CCSingleThreadProxy::compositeAndReadback):
        (WebCore::CCSingleThreadProxy::initializeContext):
        (WebCore::CCSingleThreadProxy::recreateContext):
        (WebCore):
        (WebCore::CCSingleThreadProxy::loseContext):
        (WebCore::CCSingleThreadProxy::compositeImmediately):
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::initializeContext):
        (WebCore::CCThreadProxy::recreateContext):
        (WebCore):
        (WebCore::CCThreadProxy::loseContext):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-03-01  Abhishek Arya  <inferno@chromium.org>

        Prevent layout root to remain set on renderers getting destroyed.
        https://bugs.webkit.org/show_bug.cgi?id=79953

        Reviewed by Eric Seidel.

        Implement Julien Chaffraix's idea.

        * page/FrameView.h:
        (WebCore::FrameView::clearLayoutRoot): helper to clear layout root.
        * rendering/RenderObject.cpp:
        (WebCore::clearLayoutRootIfNeeded): if we know we are going
        away and we are the view's layout root, then we need to reset the layout
        root to prevent being used.
        (WebCore):
        (WebCore::RenderObject::willBeDestroyed): call clearLayoutRootIfNeeded at end.

2012-03-01  Kangil Han  <kangil.han@samsung.com>

        [DRT] Remove all PlainTextController usages in existing tests by adding internal API
        https://bugs.webkit.org/show_bug.cgi?id=78570

        Reviewed by Hajime Morita.

        This patch will remove all PlainTextController usages
        in existing DRT tests by adding internal API to WebCore/testing/Internals

        Changed editing/text-iterator/script-tests/basic-iteration.js to use internals.rangeAsText

        * testing/Internals.cpp:
        (WebCore::Internals::rangeAsText):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-03-01  Adam Barth  <abarth@webkit.org>

        DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
        https://bugs.webkit.org/show_bug.cgi?id=80013

        Reviewed by Kentaro Hara.

        Before this patch, DOMWindow still knew about IDB because of the
        database factory.  This patch moves the factory to
        DOMWindowIndexedDatabase.

        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
        (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
        (WebCore::DOMWindowIndexedDatabase::from):
        (WebCore):
        (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
        (DOMWindowIndexedDatabase):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::clear):
        (WebCore):
        * page/DOMWindow.h:
        (DOMWindow):

2012-03-01  Anders Carlsson  <andersca@apple.com>

        Glitchy scrolling on pages where the scroll layer needs to be updated on the main thread
        https://bugs.webkit.org/show_bug.cgi?id=80038
        <rdar://problem/10933831>

        Reviewed by Simon Fraser.

        When we need to update the scroll layer position on the main thread, we need to cache the
        scroll position we sent to the main thread and assume that that's the correct scroll position.

        * page/scrolling/mac/ScrollingTreeNodeMac.h:
        (ScrollingTreeNodeMac):
        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::update):
        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
        (WebCore::ScrollingTreeNodeMac::scrollPosition):

2012-03-01  Julien Chaffraix  <jchaffraix@webkit.org>

        Unreviewed, rolling out r109367.
        http://trac.webkit.org/changeset/109367
        https://bugs.webkit.org/show_bug.cgi?id=75568

        Some tests started to fail in a non obvious way.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::isPointInOverflowControl):
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::willBeDestroyed):
        (WebCore::RenderBox::styleDidChange):
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):
        (WebCore::RenderBox::scrollLeft):
        (WebCore::RenderBox::scrollTop):
        (WebCore::RenderBox::setScrollLeft):
        (WebCore::RenderBox::setScrollTop):
        (WebCore::RenderBox::includeVerticalScrollbarSize):
        (WebCore::RenderBox::includeHorizontalScrollbarSize):
        (WebCore::RenderBox::scrolledContentOffset):
        (WebCore::RenderBox::cachedSizeForOverflowClip):
        (WebCore::RenderBox::pushContentsClip):
        (WebCore::RenderBox::popContentsClip):
        (WebCore::RenderBox::addLayoutOverflow):
        * rendering/RenderBox.h:
        (RenderBox):
        (WebCore):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore):
        (WebCore::RenderBoxModelObject::styleDidChange):
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::requiresLayer):
        (RenderBoxModelObject):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::requiresLayer):

2012-03-01  Kenichi Ishibashi  <bashi@chromium.org>

        REGRESSION: Outlook 2007 doesn't display fonts correctly on emails composed by WebKit
        https://bugs.webkit.org/show_bug.cgi?id=79448

        Reviewed by Ryosuke Niwa.

        Don't produce single quotes around face attribute of font elements.

        Test: editing/style/font-face-unquote.html

        * editing/EditingStyle.cpp:
        (WebCore::StyleChange::extractTextStyles): Remove single quotes from m_applyFontFace.

2012-03-01  Beth Dakin  <bdakin@apple.com>

        Reviewed by Kevin Decker.

        Part of https://bugs.webkit.org/show_bug.cgi?id=79705

        Here's some of that tweaking promised in the comment. Adjusting 
        gMaximumUnpaintedAreaRatio down a bit.
        * page/Page.cpp:
        (WebCore):

2012-03-01  Levi Weintraub  <leviw@chromium.org>

        Add roundToInt method for LayoutUnits
        https://bugs.webkit.org/show_bug.cgi?id=79283

        Reviewed by Eric Seidel.

        Adding a roundToInt method that rounds a LayoutUnit to the nearest integer. This
        only has an effect once we switch to sub-pixel positioning. Points and offsets
        are rounded for painting and hit testing.

        No new tests. No change in behavior.

        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::offsetX):
        (WebCore::MouseRelatedEvent::offsetY):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlTextTrackContainerElement::updateSizes):
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::computeLineGridPaginationOrigin):
        * rendering/LayoutTypes.h:
        (WebCore::roundToInt): Stub until we switch to sub-pixel LayoutUnits.
        (WebCore):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::pageLogicalTopForOffset):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Correcting to use the
        pixel snapped methods on FloatingObjects and removing the fixme.
        (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat): Ditto.
        (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat): Ditto.
        (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat): Ditto.
        (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat): Ditto.
        (WebCore::RenderBlock::pixelSnappedLogicalWidthForFloat): Ditto.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineWidth::updateAvailableWidth):
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Using
        pixelSnappedLogicalLeft/RightOffsetForLine convenience methods for line layout. When
        we switch to sub-pixel positioning, we still pixel snap blocks before painting them,
        but text is rendered using floats. We need to ensure the text is laid out using the
        actual pixel width of the containing block to avoid bleeding out of the block.
        * rendering/RenderBoxModelObject.h: Moving the fixme to pixelSnappedWidth/Height and
        adding the necessary rounding for Left/Top.
        (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
        (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::scrollHeight): Rounding the height for scrollHeight. Scrolling
        always uses rounded values.
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::localToParentTransform): Similar to the line box tree, since
        SVG renders using floats, we need to start with pixel snapped values from the render
        tree or we'll end up with the contents not properly aligned to the rest of the page.
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):

2012-03-01  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: arrays in object properties sections do not scale.
        https://bugs.webkit.org/show_bug.cgi?id=64596

        Reviewed by Vsevolod Vlasov.

        Test: inspector/console/console-big-array.html

        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
        (WebInspector.ConsoleMessageImpl.prototype._printArray):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
        (WebInspector.ArrayGroupingTreeElement):
        (WebInspector.ArrayGroupingTreeElement.populateAsArray):
        (WebInspector.ArrayGroupingTreeElement._populate.appendElement):
        (WebInspector.ArrayGroupingTreeElement._populate):
        (WebInspector.ArrayGroupingTreeElement.prototype.onpopulate):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.release):
        (WebInspector.RemoteObject.prototype.arrayLength):
        (WebInspector.LocalJSONObject.prototype.isError):
        (WebInspector.LocalJSONObject.prototype.arrayLength):
        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype._mouseDown):
        * inspector/front-end/inspector.css:
        (.console-formatted-object, .console-formatted-node, .console-formatted-array):
        (.console-formatted-object .section, .console-formatted-node .section, .console-formatted-array .section):

2012-03-01  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r109336.
        http://trac.webkit.org/changeset/109336
        https://bugs.webkit.org/show_bug.cgi?id=80013

        It's causing some crashes

        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
        (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
        (DOMWindowIndexedDatabase):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::clear):
        (WebCore):
        (WebCore::DOMWindow::setIDBFactory):
        * page/DOMWindow.h:
        (DOMWindow):
        (WebCore::DOMWindow::idbFactory):

2012-03-01  Tom Sepez  <tsepez@chromium.org>

        Move m_frame protector from FrameLoader::changeLocation to FrameLoader::urlSelected
        https://bugs.webkit.org/show_bug.cgi?id=79882

        Reviewed by Adam Barth.

        Test: fast/frames/url-selected-crash.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::changeLocation):
        (WebCore::FrameLoader::urlSelected):

2012-03-01  Julien Chaffraix  <jchaffraix@webkit.org>

        Lazily allocate overflow: hidden layers if we have overflowing content
        https://bugs.webkit.org/show_bug.cgi?id=75568

        Reviewed by David Hyatt.

        Change covered by the existing tests and the tons of rebaselines.

        This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.

        Apart from saving some memory, it will also speed up the rendering as we don't need to
        go through the layer's machinery when painting and hit testing.

        On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
        overflow: hidden case in par with the overflow: visible case when scrolling that is a
        very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
        Changed this method to update our size cache if needed.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::isPointInOverflowControl):
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):
        (WebCore::RenderBox::scrollLeft):
        (WebCore::RenderBox::scrollTop):
        (WebCore::RenderBox::setScrollLeft):
        (WebCore::RenderBox::setScrollTop):
        (WebCore::RenderBox::includeVerticalScrollbarSize):
        (WebCore::RenderBox::includeHorizontalScrollbarSize):
        (WebCore::RenderBox::pushContentsClip):
        (WebCore::RenderBox::popContentsClip):
        (WebCore::RenderBox::addLayoutOverflow):
        Added layer() check to the previous call sites.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::ensureLayer):
        Added this function to create and add a new layer.

        (WebCore::RenderBoxModelObject::willBeDestroyed):
        (WebCore):
        (WebCore::RenderBoxModelObject::styleDidChange):
        Patched those method to handle updating / removing
        cached size entries.

        (WebCore::cachedSizeForOverflowClipMap):
        (WebCore::RenderBoxModelObject::cachedSizeForOverflowClip):
        (WebCore::RenderBoxModelObject::updateCachedSizeForOverflowClip):
        (WebCore::RenderBoxModelObject::clearCachedSizeForOverflowClip):
        This logic stores the size information for later repainting.
        It is in practice replicating what RenderLayer is doing.

        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::requiresLayer):
        Updated to call requiresLayerForOverflowClip.

        (WebCore::RenderBoxModelObject::requiresLayerForOverflowClip):
        Added this method to check if we can lazily allocate the layer.

        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        Removed some checks as they are part of updateScrollInfoAfterLayout.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::scrolledContentOffset):
        Added a layer() check.

        * rendering/RenderTableRow.h:
        (RenderTableRow):
        Added a comment about why we need a layout for table rows.

2012-03-01  Abhishek Arya  <inferno@chromium.org>

        Protect functions using two container node function, each of which can fire mutation events.
        https://bugs.webkit.org/show_bug.cgi?id=78397

        Reviewed by Ryosuke Niwa.

        Tests: fast/dom/document-set-title-mutation-crash.html
               fast/dom/option-text-mutation-crash.html

        * dom/Node.cpp:
        (WebCore::Node::setTextContent):
        * dom/Text.cpp:
        (WebCore::Text::replaceWholeText):
        * editing/markup.cpp:
        (WebCore::trimFragment):
        (WebCore::replaceChildrenWithFragment):
        (WebCore::replaceChildrenWithText):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::setText):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::setText):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::insertRow):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::setDefaultValue):
        * html/HTMLTitleElement.cpp:
        (WebCore::HTMLTitleElement::setText):

2012-03-01  Alexey Proskuryakov  <ap@apple.com>

        Some trivial file stream cleanup
        https://bugs.webkit.org/show_bug.cgi?id=79955

        Reviewed by Sam Weinig.

        No change in functionality.

        * fileapi/FileStreamProxy.cpp: Tweaked comment, and added copyright for earlier changes.

        * fileapi/FileStreamProxy.h: Added a FIXME telling that this should be in platform.

        * platform/AsyncFileStream.h: Tweaked includes and added a FIXME about this to stop being
        a subclass.

        * platform/FileStreamClient.h: Removed obvious comments, and added ones explaing in-band
        error signals.

        * platform/network/BlobResourceHandle.cpp: Removed an include outside of platform, and an
        unused constant.

2012-03-01  Shinya Kawanaka  <shinyak@chromium.org>

        Appending ShadowRoot into an element should not cause crash.
        https://bugs.webkit.org/show_bug.cgi?id=79620

        Reviewed by Dimitri Glazkov.

        We should treat ShadowRoot as a document fragment.

        Test: fast/dom/shadow/shadow-root-append.html

        * dom/ContainerNode.cpp:
        (WebCore::collectTargetNodes):

2012-03-01  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: use live location to update console message bubbles.
        https://bugs.webkit.org/show_bug.cgi?id=80023

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
        (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript.updateLocation):
        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
        (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessage):
        (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessagesToScript):
        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
        (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
        (WebInspector.DebuggerPresentationModel.prototype._scriptForURLAndLocation):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode):

2012-03-01  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [InspectorIndexedDB] Show tooltips with IndexedDB objects meta information
        https://bugs.webkit.org/show_bug.cgi?id=80022

        Reviewed by Pavel Feldman.

        Added tooltips with meta information for IndexedDB databases, object stores and indexes.
        Added keyPath: prefix to key columns in IndexedDB data grid.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/IndexedDBViews.js:
        (WebInspector.IDBDataView.prototype._createDataGrid):
        (WebInspector.IDBDataView.prototype._keyPathHeader):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.IDBDatabaseTreeElement.prototype.update):
        (WebInspector.IDBDatabaseTreeElement.prototype._updateTooltip):
        (WebInspector.IDBObjectStoreTreeElement.prototype.update):
        (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip):
        (WebInspector.IDBIndexTreeElement.prototype.update):
        (WebInspector.IDBIndexTreeElement.prototype._updateTooltip):

2012-03-01  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: hide color picker on Esc and Enter.
        https://bugs.webkit.org/show_bug.cgi?id=79915

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/Spectrum.js:
        (WebInspector.Spectrum.prototype.reposition):
        (WebInspector.Spectrum.prototype.hide):
        (WebInspector.Spectrum.prototype._onKeyDown):

2012-03-01  Huang Dongsung  <luxtella@company100.net>

        [Qt] Fixed incorrect size pixmap creation for a new transparency layer.
        https://bugs.webkit.org/show_bug.cgi?id=79658

        If QPainter does not have clipping, beginPlatformTransparencyLayer can create
        wrong size pixmap, so it causes incorrect rendering.

        Reviewed by Simon Hausmann.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::beginPlatformTransparencyLayer):

2012-03-01  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Remove dead style option code.
        https://bugs.webkit.org/show_bug.cgi?id=80017

        Reviewed by Kenneth Rohde Christiansen.

        QtStyleOptionWebComboBox provides functionality (bool multiple()) that
        is not called from anywhere (and the base class does not have it as a
        virtual function).

        * Target.pri:
        * platform/qt/QtStyleOptionWebComboBox.h: Removed.
        * platform/qt/RenderThemeQStyle.cpp:
        (WebCore::RenderThemeQStyle::paintMenuList):
        (WebCore::RenderThemeQStyle::paintMenuListButton):

2012-03-01  Stephen Chenney  <schenney@chromium.org>

        Crash in WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget
        https://bugs.webkit.org/show_bug.cgi?id=79831

        Reviewed by Eric Seidel.

        Out-of-order operations in the SVGSMILElement::removedFromDocument
        method caused its target to be removed and then re-added due to a
        later call. This led to the target being set on the animation while
        the target element itself was unaware. At deletion time, this caused a
        crash (or assert in debug builds). Thanks to Abhishek Arya for help
        with the layout test.

        Test: svg/animations/smil-element-target-crash-main.html

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::removedFromDocument):

2012-03-01  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: move heap snapshot nodes data to external array.
        https://bugs.webkit.org/show_bug.cgi?id=79911

        Reviewed by Vsevolod Vlasov.

        Tests:
        heap-shapshot.html
        heap-shapshot-loader.html

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.Int32Array):
        (WebInspector.Int32Array.prototype.get array):
        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
        (WebInspector.HeapSnapshot):
        (WebInspector.HeapSnapshot.prototype._init):

2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Introduce SMIL overrideStyle, to make SVG stop mutating CSS styles directly
        https://bugs.webkit.org/show_bug.cgi?id=79790

        Reviewed by Zoltan Herczeg.

        Next step towards enabling animVal support for XML attribute animations.
        When SVG CSS properties are animated using SMIL, we currently mutate
        the target elements style, and have to keep a baseValue around as String
        to be able to recover from the DOM mutations at the end, if fill!="freeze".

        The approach required by SMIL is to keep around an override style declaration
        set and apply it right after the inline style declarations. Implement that
        finally, to avoid mutating styles directly.

        Test: svg/animations/attributeTypes.html

        * css/CSSStyleSelector.cpp: Model "SMIL animation style" applying just like "inline style" declarations.
        (WebCore::CSSStyleSelector::addElementStyleProperties): Refactored common code from matchAllRules().
        (WebCore::CSSStyleSelector::matchAllRules): Apply "SMIL animation style" after "inline style" declarations, as specified in SMIL2.
        * css/CSSStyleSelector.h: Add new addElementStyleProperties() helper.
        * svg/SVGAnimateElement.cpp: Keep track of animation state, if it's about to end, clear "SMIL animation style" upon next applyResultToTarget() call.
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        (WebCore::SVGAnimateElement::applyResultsToTarget): Reset the CSS property we're animating int the "SMIL animation style", after animation ends.
                                                            (Instead of resetting target->style() properties to the old baseValue, as we used to do).
        (WebCore::SVGAnimateElement::endedActiveInterval): Set m_aboutToStopAnimation to true, so next call to applyResultsToTarget() knows the animation ends.
        * svg/SVGAnimateElement.h: Store bool m_aboutToSTopAnimation;
        * svg/SVGAnimationElement.cpp:
        (WebCore::setTargetAttributeAnimatedCSSValue):
        (WebCore::setTargetAttributeAnimatedXMLValue):
            Refactored both of these methods from setTargetAttributeAnimatedValue().
            Changed the CSS part, to apply property changes to the "SMIL animation style" instead of the regular StylePropertySet.
        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): Refactored code, use shouldApplyAnimation() to determine whether this animation should run.
        (WebCore::SVGAnimationElement::resetAnimationState): New helper calling setTargetAttributeAnimatedValue with a null-string for CSS attributes, when the animation ends.
                                                             This is used to detect that the CSS property should be removed from the "SMIL animation style".
        (WebCore::SVGAnimationElement::shouldApplyAnimation): Refactored from existing code, and make it more obvious how attributeType influences the animation, all according to SVG 1.1/SMIL2.
        * svg/SVGAnimationElement.h:
        * svg/SVGElement.cpp: Manage the "SMIL animation style", in SVGElementRareData, if needed. Only gets created if SMIL animations on CSS properties run.
        (WebCore::SVGElement::~SVGElement): Destroy SMIL animation style, upon destruction.
        (WebCore::SVGElement::animatedSMILStyleProperties): Returns the StylePropertySet for the "SMIL animation style", if it's available.
        (WebCore::SVGElement::ensureAnimatedSMILStyleProperties): Enforces creating the StylePropertySet for the "SMIL animation style".
        * svg/SVGElement.h: Expose new methods.
        * svg/SVGElementRareData.h: Stores the "SMIL animation style", actual managment is done by SVGElement, if needed.
        (WebCore::SVGElementRareData::animatedSMILStyleProperties): Retrieve it.
        (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties): Create it.
        (WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties): Destroy it.
        * svg/animation/SVGSMILElement.h: Make endedActiveInterval() virtual again, its needed by SVGAnimateElement now.

2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Unreviewed, rolling out r109255.
        http://trac.webkit.org/changeset/109255
        https://bugs.webkit.org/show_bug.cgi?id=79932

        Breaks rounded rects with dashed strokes in SVG

        * WebCore.exp.in:
        * platform/graphics/Path.cpp:
        (WebCore::Path::addRoundedRect):
        * platform/graphics/Path.h:
        (Path):
        * platform/graphics/cg/PathCG.cpp:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2012-03-01  Adam Barth  <abarth@webkit.org>

        DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
        https://bugs.webkit.org/show_bug.cgi?id=80013

        Reviewed by Kentaro Hara.

        Before this patch, DOMWindow still knew about IDB because of the
        database factory.  This patch moves the factory to
        DOMWindowIndexedDatabase.

        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
        (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
        (WebCore::DOMWindowIndexedDatabase::from):
        (WebCore):
        (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
        (DOMWindowIndexedDatabase):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::clear):
        (WebCore):
        * page/DOMWindow.h:
        (DOMWindow):

2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVG <use> element allows invalid contents
        https://bugs.webkit.org/show_bug.cgi?id=77764

        Reviewed by Zoltan Herczeg.

        Unbreak the world after r109299 - dozens of SVGUseElement tests fail in trunk because:
        - text nodes weren't allowed in SVG shadow subtrees
        - tagName matching ignores any prefixes, thus svg:circle fails to identify as SVGCircleElement

        * svg/SVGUseElement.cpp:
        (WebCore::isDisallowedElement):

2012-03-01  Luke Macpherson   <macpherson@chromium.org>

        Handle CSSPropertyWebkitHyphens in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=80004

        Reviewed by Eric Seidel.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-02-29  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: abstract out the common pattern of creating auto-updated locations.
        https://bugs.webkit.org/show_bug.cgi?id=79906

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.PresentationCallFrame.prototype.uiLocation):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
        (WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
        (WebInspector.DebuggerPresentationModel.Linkifier):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype.createLiveLocation):
        (WebInspector.RawSourceCode.LiveLocation):
        (WebInspector.RawSourceCode.LiveLocation.prototype.init):
        (WebInspector.RawSourceCode.LiveLocation.prototype.dispose):
        (WebInspector.RawSourceCode.LiveLocation.prototype._update):

2012-03-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Make the tiling code slightly smarter
        https://bugs.webkit.org/show_bug.cgi?id=80015

        Reviewed by Simon Hausmann.

        Avoid doing the same tranformations all over in each call to
        tileRectForCoordinate.

        Do not resize tiles and then drop them because they are not out of
        the keep rect; instead drop before resizing.

        Rename dropTilesOutsideRect to setKeepRect as it now stored the keep
        rect. This is used to avoid unneeded iteration of all tiles for
        invalidates outside the keep rect.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::invalidate):
        (WebCore):
        (WebCore::TiledBackingStore::commitScaleChange):
        (WebCore::TiledBackingStore::coverageRatio):
        (WebCore::TiledBackingStore::createTiles):
        (WebCore::TiledBackingStore::adjustForContentsRect):
        (WebCore::TiledBackingStore::resizeEdgeTiles):
        (WebCore::TiledBackingStore::setKeepRect):
        (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
        (WebCore::TiledBackingStore::tileRectForCoordinate):
        (WebCore::TiledBackingStore::setSupportsAlpha):
        * platform/graphics/TiledBackingStore.h:
        (TiledBackingStore):

2012-02-29  Kinuko Yasuda  <kinuko@chromium.org>

        Use the new createSnapshotFileAndReadMetadata API for FileEntry.file()
        https://bugs.webkit.org/show_bug.cgi?id=79928

        Reviewed by David Levin.

        No new tests: no functionality changes.
        fast/filesystem/ tests should use the new code (they should pass once
        the corresponding chromium change is rolled in).

        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::createFile): Updated to use the new API.
        * fileapi/DOMFileSystemSync.cpp:
        (WebCore::DOMFileSystemSync::createFile): Updated to use the new API.
        * fileapi/FileSystemCallbacks.cpp:
        * fileapi/FileSystemCallbacks.h:
        (FileSystemCallbacksBase):
        * platform/AsyncFileSystem.h:
        (AsyncFileSystem):
        * platform/AsyncFileSystemCallbacks.h: Added default implementation (which just calls ASSERT_NOTREACHED()) so that subclasses can focus only on the callback methods that they're interested in.

2012-02-29  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: add UISourceCode.isEditable property.
        https://bugs.webkit.org/show_bug.cgi?id=79909

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createUISourceCode):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):

2012-02-29  Shinya Kawanaka  <shinyak@chromium.org> 

        Fallback elements in non-youngest shadow tree should not be rendered.
        https://bugs.webkit.org/show_bug.cgi?id=80002

        Reviewed by Hajime Morita.

        Fallback elements in non-youngest shadow tree should not be rendered, so its phase should be
        AttachingNotDistributed instead of AttachingFallbacked.

        Tests: multiple-shadowroot-rendering.html covers this patch.

        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):

2012-02-29  Adam Barth  <abarth@webkit.org>

        ScriptExecutionContext has too many ifdef ENABLE(SQL_DATABASE)
        https://bugs.webkit.org/show_bug.cgi?id=79633

        Reviewed by Eric Seidel.

        This class creates a DatabaseContext object to supplement the
        ScriptExecutionContext with database-specific information.  This new
        object lets us remove a bunch of database-specific (and ifdefed) logic
        from ScriptExecutionContext.(cpp|h).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore):
        * dom/ScriptExecutionContext.h:
        (WebCore):
        (ScriptExecutionContext):
        * history/PageCache.cpp:
        (WebCore::logCanCacheFrameDecision):
        (WebCore::PageCache::canCachePageContainingThisFrame):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        * platform/Supplementable.h:
        (WebCore::Supplementable::provideSupplement):
        (WebCore::Supplementable::requireSupplement):
        (Supplementable):
        * storage/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::AbstractDatabase):
        * storage/AbstractDatabase.h:
        (WebCore):
        (WebCore::AbstractDatabase::databaseContext):
        (AbstractDatabase):
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::openAndVerifyVersion):
        (WebCore::Database::markAsDeletedAndClose):
        (WebCore::Database::close):
        (WebCore::Database::closeImmediately):
        (WebCore::Database::performOpenAndVerify):
        (WebCore::Database::scheduleTransaction):
        (WebCore::Database::scheduleTransactionStep):
        (WebCore::Database::transactionClient):
        (WebCore::Database::transactionCoordinator):
        (WebCore::Database::tableNames):
        (WebCore::Database::securityOrigin):
        * storage/DatabaseContext.cpp: Added.
        (WebCore):
        (WebCore::existingDatabaseContextFrom):
        (WebCore::DatabaseContext::DatabaseContext):
        (WebCore::DatabaseContext::~DatabaseContext):
        (WebCore::DatabaseContext::from):
        (WebCore::DatabaseContext::databaseThread):
        (WebCore::DatabaseContext::hasOpenDatabases):
        (WebCore::DatabaseContext::stopDatabases):
        * storage/DatabaseContext.h: Added.
        (WebCore):
        (DatabaseContext):
        (WebCore::DatabaseContext::setHasOpenDatabases):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
        (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThreadShutdownStartTask::performTask):

2012-02-29  Shinya Kawanaka  <shinyak@chromium.org>

        Refactoring: HTMLContentSelector should be InsertionPoint-aware.
        https://bugs.webkit.org/show_bug.cgi?id=79901

        Reviewed by Hajime Morita.

        ContentSelectorQuery took HTMLContentElement as argument, but patch changes it to take InsertionPoint instead.
        If InsertionPoint is not HTMLContentElement, ContentSelectorQuery will selects the rest of light children.

        Now InsertionPoint has pure virtual method 'select'. <shadow> will implement this as a method returning empty string.

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::hasInsertionPoint):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::needsReattachHostChildrenAndShadow):
        (WebCore::ShadowTree::hostChildrenChanged):
        * html/shadow/ContentSelectorQuery.cpp:
        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
        (WebCore::ContentSelectorQuery::matches):
        * html/shadow/ContentSelectorQuery.h:
        (WebCore):
        (ContentSelectorQuery):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::detach):
        * html/shadow/HTMLContentElement.h:
        (WebCore::toHTMLContentElement):
        (WebCore):
        * html/shadow/HTMLContentSelector.cpp:
        (WebCore::HTMLContentSelector::select):
        * html/shadow/HTMLContentSelector.h:
        (HTMLContentSelector):
        * html/shadow/InsertionPoint.h:
        (InsertionPoint):

2012-02-29  Luke Macpherson   <macpherson@chromium.org>

        Handle CSSPropertySpeak in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=79879

        Reviewed by Eric Seidel.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * rendering/style/RenderStyle.h:

2012-02-29  Luke Macpherson   <macpherson@chromium.org>

        Handle CSSPropertyWebkitColumnAxis in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=79869

        Reviewed by Eric Seidel.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-02-29  Erik Arvidsson  <arv@chromium.org>

        Rename DOMSelection to Selection
        https://bugs.webkit.org/show_bug.cgi?id=79688

        Reviewed by Adam Barth.

        No new tests. Existing tests have been updated to cover this.

        * page/DOMSelection.idl:
        * page/DOMWindow.idl:

2012-02-29  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: IDBDatabase.objectStoreNames and IDObjectStore.indexNames results should be sorted
        https://bugs.webkit.org/show_bug.cgi?id=79950

        Reviewed by Tony Chang.

        Test: storage/indexeddb/list-ordering.html

        * dom/DOMStringList.cpp: Added sort method, not exposed via IDL.
        (WebCore::DOMStringList::sort):
        (WebCore):
        * dom/DOMStringList.h:
        (DOMStringList):
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::objectStoreNames):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::indexNames):

2012-02-29  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Estimate pixel count for frame rate control
        https://bugs.webkit.org/show_bug.cgi?id=74982

        Reviewed by James Robinson.

        Value checks added to unit tests.

        Adds mechanism to compute and collect statistics on pixel overdraw for selected frames.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::wedgeProduct):
        (WebCore):
        (WebCore::quadArea):
        (WebCore::CCQuadCuller::cullOccludedQuads):
        * platform/graphics/chromium/cc/CCQuadCuller.h:
        (CCQuadCuller):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::optimizeQuads):
        * platform/graphics/chromium/cc/CCRenderPass.h:
        (CCOverdrawCounts):
        (WebCore):
        (CCRenderPass):

2012-02-29  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry]Make about:cache feature available in release version.
        https://bugs.webkit.org/show_bug.cgi?id=79866

        Reviewed by Antonio Gomes.

        No tests.
        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleAbout):

2012-02-29  James Simonsen  <simonjam@chromium.org>

        [chromium] Fix navigation start time on cross-renderer navigation
        https://bugs.webkit.org/show_bug.cgi?id=75922

        Reviewed by Darin Fisher.

        * loader/DocumentLoadTiming.cpp:
        (WebCore::DocumentLoadTiming::setNavigationStart): Added.
        * loader/DocumentLoadTiming.h:

2012-02-29  Stephen Chenney  <schenney@chromium.org>

        SVG <use> element allows invalid contents
        https://bugs.webkit.org/show_bug.cgi?id=77764

        Reviewed by Nikolas Zimmermann.

        Modify the isDisallowedElement method to disallow all of the
        disallowed elements, instead of just a few. It is now a whitelist
        implementation.

        This also fixes bugs 78807, 78838 and 79798 related to memory
        corruption issues.

        Tests: svg/custom/bug78807.svg
               svg/custom/bug78838.html
               svg/custom/bug79798.html

        * svg/SVGUseElement.cpp:
        (WebCore::isDisallowedElement):

2012-02-29  Ami Fischman  <fischman@chromium.org>

        Continue the search for playable mime types among <source> children of <video> even when using data: URLs
        https://bugs.webkit.org/show_bug.cgi?id=79934

        Reviewed by Eric Carlson.

        Test: media/sources-fallback-codecs.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::selectNextSourceChild):

2012-02-29  Ian Vollick  <vollick@chromium.org>

        [chromium] Add impl-thread support for animation-timing-function
        https://bugs.webkit.org/show_bug.cgi?id=79819

        Reviewed by James Robinson.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
        (WebCore::CCKeyframe::CCKeyframe):
        (WebCore):
        (WebCore::CCKeyframe::~CCKeyframe):
        (WebCore::CCKeyframe::time):
        (WebCore::CCKeyframe::timingFunction):
        (WebCore::CCFloatKeyframe::create):
        (WebCore::CCFloatKeyframe::CCFloatKeyframe):
        (WebCore::CCFloatKeyframe::~CCFloatKeyframe):
        (WebCore::CCFloatKeyframe::value):
        (WebCore::CCFloatKeyframe::clone):
        (WebCore::CCTransformKeyframe::create):
        (WebCore::CCTransformKeyframe::CCTransformKeyframe):
        (WebCore::CCTransformKeyframe::~CCTransformKeyframe):
        (WebCore::CCTransformKeyframe::value):
        (WebCore::CCTransformKeyframe::clone):
        (WebCore::CCKeyframedFloatAnimationCurve::create):
        (WebCore::CCKeyframedFloatAnimationCurve::CCKeyframedFloatAnimationCurve):
        (WebCore::CCKeyframedFloatAnimationCurve::addKeyframe):
        (WebCore::CCKeyframedFloatAnimationCurve::duration):
        (WebCore::CCKeyframedFloatAnimationCurve::clone):
        (WebCore::CCKeyframedFloatAnimationCurve::getValue):
        (WebCore::CCKeyframedTransformAnimationCurve::create):
        (WebCore::CCKeyframedTransformAnimationCurve::CCKeyframedTransformAnimationCurve):
        (WebCore::CCKeyframedTransformAnimationCurve::~CCKeyframedTransformAnimationCurve):
        (WebCore::CCKeyframedTransformAnimationCurve::addKeyframe):
        (WebCore::CCKeyframedTransformAnimationCurve::duration):
        (WebCore::CCKeyframedTransformAnimationCurve::clone):
        (WebCore::CCKeyframedTransformAnimationCurve::getValue):
        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
        (CCKeyframe):
        (CCFloatKeyframe):
        (WebCore):
        (CCTransformKeyframe):
        (CCKeyframedFloatAnimationCurve):
        (CCKeyframedTransformAnimationCurve):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        * platform/graphics/chromium/cc/CCTimingFunction.cpp: Added.
        (WebCore):
        (WebCore::CCTimingFunction::CCTimingFunction):
        (WebCore::CCTimingFunction::~CCTimingFunction):
        (WebCore::CCTimingFunction::duration):
        (WebCore::CCCubicBezierTimingFunction::create):
        (WebCore::CCCubicBezierTimingFunction::CCCubicBezierTimingFunction):
        (WebCore::CCCubicBezierTimingFunction::~CCCubicBezierTimingFunction):
        (WebCore::CCCubicBezierTimingFunction::getValue):
        (WebCore::CCCubicBezierTimingFunction::clone):
        (WebCore::CCEaseTimingFunction::create):
        (WebCore::CCEaseInTimingFunction::create):
        (WebCore::CCEaseOutTimingFunction::create):
        (WebCore::CCEaseInOutTimingFunction::create):
        * platform/graphics/chromium/cc/CCTimingFunction.h: Added.
        (WebCore):
        (CCTimingFunction):
        (CCCubicBezierTimingFunction):
        (CCEaseTimingFunction):
        (CCEaseInTimingFunction):
        (CCEaseOutTimingFunction):
        (CCEaseInOutTimingFunction):

2012-02-29  Shinya Kawanaka  <shinyak@chromium.org>

        Methods in ShadowTree and TreeScopeAdopter should be multiple shadow roots aware.
        https://bugs.webkit.org/show_bug.cgi?id=79768

        Reviewed by Hajime Morita.

        Some methods in ShadowTree and TreeScopeAdopter were not multiple shadow roots aware.
        They should consider multiple shadow roots.

        Test: fast/dom/shadow/multiple-shadowroot-adopt.html

        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::setParentTreeScope):
        (WebCore):
        (WebCore::ShadowTree::childNeedsStyleRecalc):
        (WebCore::ShadowTree::needsStyleRecalc):
        * dom/ShadowTree.h:
        (WebCore):
        (ShadowTree):
        * dom/TreeScopeAdopter.cpp:
        (WebCore::shadowTreeFor):
        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
        (WebCore::TreeScopeAdopter::moveShadowTreeToNewDocument):
        (WebCore):
        * dom/TreeScopeAdopter.h:
        (TreeScopeAdopter):

2012-02-29  David Levin  <levin@chromium.org>

        [chromium] Add the ability to turn off autoresize.
        https://bugs.webkit.org/show_bug.cgi?id=77452

        Reviewed by Darin Fisher.

        Test: fast/autoresize/turn-off-autoresize.html

        * page/FrameView.cpp:
        (WebCore::FrameView::enableAutoSizeMode): Fix the code
        path for turning off autoresize to set the scrollbars to auto.

2012-02-29  David Barton  <dbarton@mathscribe.com>

        <msubsup> setNeedsLayout() correction
        https://bugs.webkit.org/show_bug.cgi?id=79856

        Reviewed by Julien Chaffraix.

        m_scripts->setNeedsLayout(true, false); needs to be added to the fix for bug 79274.

        No new tests. It's actually difficult to test the need for this with the current code,
        because there are a lot of extra setNeedsLayout() calls right now. I caught this after
        removing some of those calls that should be redundant, for a future patch. Actually
        removing those calls now changes other behavior, due to other bugs, so I'll save all
        that for future patches. We should land this fix now though I think, as it could
        possibly matter in some cases.

        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::layout):

2012-02-29  Andreas Kling  <awesomekling@apple.com>

        IsSynchronizingStyleAttributeFlag could be purged.
        <http://webkit.org/b/79313>

        Reviewed by Anders Carlsson.

        We were using IsSynchronizingStyleAttributeFlag to prevent various things from
        happening below setAttribute() when serializing the "style" attribute based on
        an element's inline style.

        Simplify the whole thing by adding a way to set an attribute without triggering
        any callbacks (a 'notifyChanged' argument to Element::setAttribute().)
        This removes the need for IsSynchronizingStyleAttributeFlag in the first place
        and makes StyledElement::updateStyleAttribute() a bit cheaper to boot.

        * dom/Element.cpp:
        (WebCore::Element::setAttribute):
        (WebCore::Element::setAttributeInternal):
        (WebCore::Element::willModifyAttribute):
        (WebCore::Element::didModifyAttribute):
        (WebCore::Element::didRemoveAttribute):
        * dom/Element.h:
        * dom/Node.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateStyleAttribute):
        (WebCore::StyledElement::attributeChanged):
        * html/HTMLElement.cpp:
        (WebCore::StyledElement::copyNonAttributeProperties):

2012-02-29  Daniel Cheng  <dcheng@chromium.org>

        [chromium] REGRESSION: Cannot drag a file out
        https://bugs.webkit.org/show_bug.cgi?id=79817

        Reviewed by Ryosuke Niwa.

        Temporary fix for file drag out. This change won't be needed once DataTransferItemList
        support is better implemented.

        Test: platform/chromium/fast/events/drag-downloadURL.html

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::types):

2012-02-29  Luke Macpherson   <macpherson@chromium.org>

        Clean up CSSPrimitiveValue::computeLengthDouble().
        https://bugs.webkit.org/show_bug.cgi?id=77065

        Reviewed by Eric Seidel.

        Refactoring only / no behavioral change.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLengthDouble):

2012-02-29  Beth Dakin  <bdakin@apple.com>

        Speculative build-fix.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced):

2012-02-29  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=79705
        didNewFirstVisuallyNonEmptyLayout should be enhanced to look at size instead 
        of a raw tally
        -and corresponding-
        <rdar://problem/10821314>

        Reviewed by Dave Hyatt.

        Instead of firing didNewFirstVisuallyNonEmptyLayout() when a raw tally of 
        relevant painted objects has reached a port-defined threshold, this patch 
        looks at the size of those objects with respect to the view area. The patch 
        also looks at relevant objects that cannot yet be fully painted, such as 
        incrementally loading images. 

        We no longer need a HashSet for the relevant painted objects since Region can 
        do all of the heavy lifting. We now have a Region for the painted and 
        unpainted regions. We do need a HashSet for the unpainted objects though, 
        because we need to know if a painted object needs to be subtracted from the 
        unpainted region before being added to the painted region.
        * page/Page.cpp:
        (WebCore):
        (WebCore::Page::isCountingRelevantRepaintedObjects):
        (WebCore::Page::startCountingRelevantRepaintedObjects):
        (WebCore::Page::resetRelevantPaintedObjectCounter):
        (WebCore::Page::addRelevantRepaintedObject):
        (WebCore::Page::addRelevantUnpaintedObject):
        * page/Page.h:
        (Page):

        New function on Region iterates through the rects and calculates the total 
        area.
        * platform/graphics/Region.cpp:
        (WebCore::Region::totalArea):
        (WebCore):
        * platform/graphics/Region.h:
        (Region):

        Remove code from these classes since they are not actually relevant objects.
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::paint):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::paintReplaced):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):

        All of these other callers send a rect that actually represents their size 
        (usually the visualOverflowRect) instead of the paintInfo's paintRect, and 
        they call addRelevantUnpaintedObject when appropriate.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::paint):
        (WebCore::RenderEmbeddedObject::paintReplaced):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::paintReplaced):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::paintReplaced):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paintReplaced):

2012-02-29  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Resource leak with IDBObjectStore.openCursor
        https://bugs.webkit.org/show_bug.cgi?id=79835

        IDBCursor object that were never continue()'d to the end would leak due to a 
        reference cycle with IDBRequest. In addition, the IDBRequest would never be
        marked "finished" which would prevent GC from reclaiming it. IDBTransactions
        now track and notify IDBCursors to break these references when the transaction
        can no longer not process requests.

        Reviewed by Tony Chang.

        Tests: storage/indexeddb/cursor-continue.html

        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::IDBCursor): Register with IDBTransaction bookkeeping.
        (WebCore::IDBCursor::continueFunction): Early error if transaction has finished.
        (WebCore::IDBCursor::close): Break the reference cycle with IDBRequest, and notify it
        that the cursor is finished.
        (WebCore):
        * storage/IDBCursor.h:
        (WebCore):
        (IDBCursor):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::finishCursor): If there is no request in flight, mark itself as
        finished to allow GC.
        (WebCore):
        (WebCore::IDBRequest::dispatchEvent): Once an in-flight request has been processed,
        mark the request as finished if the cursor is finished, to allow GC.
        * storage/IDBRequest.h:
        (IDBRequest):
        * storage/IDBTransaction.cpp: Track open cursors, close them when finished.
        (WebCore::IDBTransaction::OpenCursorNotifier::OpenCursorNotifier):
        (WebCore):
        (WebCore::IDBTransaction::OpenCursorNotifier::~OpenCursorNotifier):
        (WebCore::IDBTransaction::registerOpenCursor):
        (WebCore::IDBTransaction::unregisterOpenCursor):
        (WebCore::IDBTransaction::closeOpenCursors):
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::onComplete):
        * storage/IDBTransaction.h:
        (WebCore):
        (OpenCursorNotifier):
        (IDBTransaction):

2012-02-29  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=79940
        <rdar://problem/10080189>
        
        Add support in WebKit for an intra-line character grid for Japanese text layout.
        
        Patch logicalLeftOffsetForLine and logicalRightOffsetForLine in order to get the
        basic edge snapping grid functionality up and running. See all the FIXMEs in the function for
        some of the issues that still have to be dealt with for it to really work well.

        Reviewed by Dan Bernstein.

        Added new tests in fast/line-grid.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::logicalLeftOffsetForLine):
        (WebCore::RenderBlock::logicalRightOffsetForLine):

2012-02-29  Anders Carlsson  <andersca@apple.com>

        [Chromium] Some Layout Tests in platform/chromium/rubberbanding and platform/chromium/compositing/rubberbanding are failing
        https://bugs.webkit.org/show_bug.cgi?id=79878

        Reviewed by James Robinson.

        Make sure that ScrollableArea::setScrollOffsetFromAnimation doesn't end up
        setting the ScrollAnimator's current scroll position by making a new function, scrollPositionChanged,
        that both notifyScrollPositionChanged and setScrollOffsetFromAnimation call and move the call to update
        the position to notifyScrollPositionChanged.

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::notifyScrollPositionChanged):
        (WebCore):
        (WebCore::ScrollableArea::scrollPositionChanged):
        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
        * platform/ScrollableArea.h:
        (ScrollableArea):

2012-02-29  Dana Jansens  <danakj@chromium.org>

        [chromium] Don't let invalidation for next frame prevent tile upload
        https://bugs.webkit.org/show_bug.cgi?id=79841

        Reviewed by James Robinson.

        We currently don't push dirty tiles to the impl thread so there are no
        tiles with garbage data on the impl thread. However, this judgement is
        overzealous and blocks tiles that get invalidated by WebKit for the
        next frame during the paint of the current frame.

        Instead, check if a tile is dirty and was not painted for the current
        frame when deciding to push the tile to the impl thread. This requires
        that we know if a tile was painted during the current frame, which we
        can do if we always reset m_updateRect to be empty each frame.

        New unit tests: TiledLayerChromiumTest.pushTilesMarkedDirtyDuringPaint
                        TiledLayerChromiumTest.pushTilesLayerMarkedDirtyDuringPaintOnNextLayer
                        TiledLayerChromiumTest.pushTilesLayerMarkedDirtyDuringPaintOnPreviousLayer

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::isDirtyForCurrentFrame):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        (WebCore::TiledLayerChromium::resetUpdateState):
        (WebCore):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (TiledLayerChromium):

2012-02-29  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: MediaStreamTrackList out-of-bounds access fix
        https://bugs.webkit.org/show_bug.cgi?id=79889

        Reviewed by Adam Barth.

        Out-of-bounds access to MediaStreamTrackList ASSERTS instead of returning 0,
        this is not according to ecmascript standard. Also fixed a similar issue in MediaStreamList.

        Test: fast/mediastream/peerconnection-mediastreamlist.html

        * Modules/mediastream/MediaStreamList.cpp:
        (WebCore::MediaStreamList::item):
        * Modules/mediastream/MediaStreamTrackList.cpp:
        (WebCore::MediaStreamTrackList::item):

2012-02-29  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatSize.h
        https://bugs.webkit.org/show_bug.cgi?id=79893

        Reviewed by Antonio Gomes.

        Add conversion convenience between WebCore::FloatSize and BlackBerry::Platform::FloatSize.

        The porting can't be built yet, no new tests.

        * platform/graphics/FloatSize.h:
        (Platform):
        (FloatSize):

2012-02-29  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatRect.h
        https://bugs.webkit.org/show_bug.cgi?id=79891

        Reviewed by Antonio Gomes.

        Add conversion convenience between WebCore::FloatRect and BlackBerry::Platform::FloatRect.

        The porting can't be built yet, no new tests.

        * platform/graphics/FloatRect.h:
        (Platform):
        (FloatRect):

2012-02-29  Tim Horton  <timothy_horton@apple.com>

        Make use of CG rounded-rect primitives
        https://bugs.webkit.org/show_bug.cgi?id=79932
        <rdar://problem/9274953>

        Reviewed by Simon Fraser.

        Dispatch to potentially platform-specific rounded rectangle path
        construction from addPathForRoundedRect. Make use of this to call
        wkCGPathAddRoundedRect on Lion and above, as long as the rounded
        corners are all equivalent.

        No new tests, as this is covered by many that use rounded corners,
        and is only a performance improvement.

        * WebCore.exp.in:
        * platform/graphics/Path.cpp:
        (WebCore::Path::addRoundedRect):
        (WebCore):
        (WebCore::Path::addPathForRoundedRect):
        * platform/graphics/Path.h:
        (Path):
        * platform/graphics/cg/PathCG.cpp:
        (WebCore::Path::addPathForRoundedRect):
        (WebCore):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2012-02-29  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatPoint.h
        https://bugs.webkit.org/show_bug.cgi?id=79887

        Reviewed by Antonio Gomes.

        Add conversion convenience between WebCore::FloatPoint and BlackBerry::Platform::FloatPoint.

        The porting can't be built yet, no new tests.

        * platform/graphics/FloatPoint.h:
        (Platform):
        (FloatPoint):

2012-02-29  Kaustubh Atrawalkar  <kaustubh@motorola.com>

        ShadowRoot need innerHTML
        https://bugs.webkit.org/show_bug.cgi?id=78473

        Reviewed by Hajime Morita.

        Refactor code for sharing common code between HTMLElement & ShadowRoot.
        Implement innerHTML attribute for ShadowRoot.

        Test: fast/dom/shadow/shadow-root-innerHTML.html

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::cloneNode):
        (WebCore):
        (WebCore::ShadowRoot::innerHTML):
        (WebCore::ShadowRoot::setInnerHTML):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        * dom/ShadowRoot.idl:
        * editing/markup.cpp:
        (WebCore::urlToMarkup):
        (WebCore):
        (WebCore::createFragmentFromSource):
        (WebCore::hasOneChild):
        (WebCore::hasOneTextChild):
        (WebCore::replaceChildrenWithFragment):
        (WebCore::replaceChildrenWithText):
        * editing/markup.h:
        * html/HTMLElement.cpp:
        (WebCore):

2012-02-29  Julien Chaffraix  <jchaffraix@webkit.org>

        Stop doubling maximalOutlineSize during painting
        https://bugs.webkit.org/show_bug.cgi?id=79724

        Reviewed by Tony Chang.

        Refactoring only, covered by existing tests (mostly repaint ones).

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintCollapsedBorders):
        Introduce a local repaint rectangle that we inflate by the maximalOutlineSize
        to simplify the comparison logic. Also tried to make it clearer what's going on
        by tweaking the existing code.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paintObject):
        Remove the doubling.

2012-02-29  Ken Buchanan  <kenrb@chromium.org>

        Crash when changing list marker locations
        https://bugs.webkit.org/show_bug.cgi?id=79681

        Reviewed by David Hyatt.

        This fixes a regression crash from r108548.

        There are some conditions where removing the anonymous block
        parent at that point can cause problems. One is when there is
        a continuation from it, and another when it is a sibling of
        lineBoxParent and it causes lineBoxParent to be deleted
        incidentally. This patch delays the destruction until after
        lineBoxParent has been used and makes an exception for
        continuations.

        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::updateMarkerLocation)

2012-02-29  Max Feil  <mfeil@rim.com>

        [BlackBerry] Add support for FLAC audio and OGG/Vorbis audio
        https://bugs.webkit.org/show_bug.cgi?id=79519

        Reviewed by Antonio Gomes.

        A layout test already exists for OGG. We do not support OGG
        video at this time, only audio.

        Test: media/media-can-play-flac-audio.html

        * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
        (WebCore):

2012-02-28  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=79868
        Overlay scrollbars should respond to AppKit's NSEventPhaseMayBegin
        -and corresponding-
        <rdar://problem/10688637>

        Reviewed by Anders Carlsson.

        Scrollbars are currently drawn on the main thread even when scrolling happens 
        on the scrolling thread, so we have to call back to the main thread for the 
        time being to make the right drawing calls for NSEventPhaseMayBegin.
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::handleWheelEventPhase):
        (WebCore):
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::handleWheelEventPhase):
        (WebCore):
        * page/scrolling/ScrollingTree.h:
        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::handleWheelEventPhase):
        (ScrollAnimator):

        Call into AppKit on NSEventPhaseMayBegin.
        * platform/mac/ScrollAnimatorMac.h:
        (ScrollAnimatorMac):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
        (WebCore):
        (WebCore::ScrollAnimatorMac::handleWheelEventPhase):
        (WebCore::ScrollAnimatorMac::handleWheelEvent):

2012-02-28  Jer Noble  <jer.noble@apple.com>

        Full screen video volume slider has "progress bar"
        https://bugs.webkit.org/show_bug.cgi?id=79812

        Reviewed by Eric Carlson.

        No new tests; strictly a platform-specific look-and-feel change.

        The full-screen volume slider has a "media-slider"" appearance, which is rendering as if
        the volume slider has a "progress".  Make a concrete "media-fullscreen-volume-slider" appearance
        which has the correct look-and-feel.

        Add two new appearance keywords, media-fullscreen-volume-slider and thumb, and their associated
        types and CSS keywords:
        * css/CSSValueKeywords.in:
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * html/shadow/MediaControlElements.h:
        * platform/ThemeTypes.h:

        Handle the new slider and thumb types when rendering:
        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
        (WebCore::RenderMediaControls::paintMediaControlsPart):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack):
        (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb):
        * rendering/RenderThemeMac.h:
        (RenderThemeMac):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
        (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack):
        (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb):
        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):

        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySlider::orientation): Mark the fullscreen volume slider as horizontal.
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::RenderSliderThumb::updateAppearance): Give MediaFullScreenVolumeSliderParts 
            MediaFullScreenVolumeSliderThumbParts.
        * css/fullscreenQuickTime.css: Change the styles for the fullscreen slider, min, and max buttons.
        (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-min-button):
        (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-slider):
        (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-max-button):
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::reset): Set the value of the fullscreen volume slider
            when resetting.

2012-02-29  Antti Koivisto  <antti@apple.com>

        Applying region style should not need to access parent rules
        https://bugs.webkit.org/show_bug.cgi?id=79910 
         
        Reviewed by Andreas Kling.

        Currently CSSStyleSelector::applyProperties looks into parent rules to see if a rule is
        part of region style. The plan is to eliminate the rule parent pointer so this needs to be refactored.
        
        Add a bit to RuleData to indicate if the StyleRule is part of a region style.

        * css/CSSStyleSelector.cpp:
        (RuleData):
        (WebCore::RuleData::isInRegionRule):
        (RuleSet):
        (WebCore::CSSStyleSelector::addMatchedProperties):
        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):

2012-02-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [InspectorIndexedDB] Add refresh to IndexedDB support.
        https://bugs.webkit.org/show_bug.cgi?id=79695

        Reviewed by Pavel Feldman.

        * inspector/front-end/IndexedDBViews.js:
        (WebInspector.IDBDataView):
        (WebInspector.IDBDataView.prototype._refreshButtonClicked):
        (WebInspector.IDBDataView.prototype.get statusBarItems):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.IndexedDBTreeElement):
        (WebInspector.IndexedDBTreeElement.prototype.onattach):
        (WebInspector.IndexedDBTreeElement.prototype._handleContextMenuEvent):
        (WebInspector.IDBDatabaseTreeElement.prototype.onattach):
        (WebInspector.IDBDatabaseTreeElement.prototype._handleContextMenuEvent):
        (WebInspector.IDBDatabaseTreeElement.prototype._refreshIndexedDB):

2012-02-29  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: timeline markers are not shown on the timeline panel
        https://bugs.webkit.org/show_bug.cgi?id=79921

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):

2012-02-29  Kenichi Ishibashi  <bashi@chromium.org>

        Align InlineBox::m_expansion to a byte boundary
        https://bugs.webkit.org/show_bug.cgi?id=79761

        Add a bit to m_expansion to align a byte boundary.
        This will make valgrind memcheck happy.
        I confirmed sizeof(InlineBox) is unchanged.

        Reviewed by Hajime Morita.

        No new tests. No behavior changes.

        * rendering/InlineBox.h:
        (InlineBox): Aligned m_expansion to a byte boundary.

2012-02-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Do not iterate all tiles for resizing when the content didn't change
        https://bugs.webkit.org/show_bug.cgi?id=79787

        Reviewed by Simon Hausmann.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::createTiles):

2012-02-29  Parag Radke  <parag@motorola.com>

        Crash in WebCore::CompositeEditCommand::insertNodeAt
        https://bugs.webkit.org/show_bug.cgi?id=67764

        Reviewed by Ryosuke Niwa.

        If caret position after deletion and destination position coincides then
        removing the node will result in removing the destination node also. Hence crash.

        Test: editing/deleting/delete-block-merge-contents-025.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::cleanupAfterDeletion):
        If the caret position after delete and the destination position
        renderes at the same place, pruning the node and making an early exit.

2012-02-29  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: remove calculator's updateBoundaries in the timeline panel.
        https://bugs.webkit.org/show_bug.cgi?id=79907

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkBaseCalculator.prototype.computeBarGraphLabels):
        (WebInspector.NetworkBaseCalculator.prototype.formatTime):
        (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels):
        (WebInspector.NetworkTimeCalculator.prototype.formatTime):
        (WebInspector.NetworkTransferTimeCalculator.prototype.formatTime):
        (WebInspector.NetworkTransferDurationCalculator.prototype.formatTime):
        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewCalculator.prototype.formatTime):
        (WebInspector.TimelineStartAtZeroOverview):
        (WebInspector.TimelineStartAtZeroOverview.prototype.update):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelinePanel.prototype.get timelinePaddingLeft):
        (WebInspector.TimelineCalculator):
        (WebInspector.TimelineCalculator.prototype.setWindow):
        (WebInspector.TimelineCalculator.prototype.setRecords):
        (WebInspector.TimelineCalculator.prototype.formatTime):
        (WebInspector.TimelineFitInWindowCalculator):
        (WebInspector.TimelineFitInWindowCalculator.prototype.setWindow):
        (WebInspector.TimelineFitInWindowCalculator.prototype.setRecords):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):

2012-02-29  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: enable Profiles panel for workers
        https://bugs.webkit.org/show_bug.cgi?id=79908

        Introduced worker profiler agent. Enabled script profiling for
        workers.

        Reviewed by Pavel Feldman.

        * bindings/js/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::startForPage):
        (WebCore):
        (WebCore::ScriptProfiler::startForWorkerContext):
        (WebCore::ScriptProfiler::stopForPage):
        (WebCore::ScriptProfiler::stopForWorkerContext):
        * bindings/js/ScriptProfiler.h:
        (WebCore):
        (ScriptProfiler):
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::startForPage):
        (WebCore):
        (WebCore::ScriptProfiler::startForWorkerContext):
        (WebCore::ScriptProfiler::stopForPage):
        (WebCore::ScriptProfiler::stopForWorkerContext):
        * bindings/v8/ScriptProfiler.h:
        (WebCore):
        (ScriptProfiler):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore):
        (PageProfilerAgent):
        (WebCore::PageProfilerAgent::PageProfilerAgent):
        (WebCore::PageProfilerAgent::~PageProfilerAgent):
        (WebCore::PageProfilerAgent::startProfiling):
        (WebCore::PageProfilerAgent::stopProfiling):
        (WebCore::InspectorProfilerAgent::create):
        (WorkerProfilerAgent):
        (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
        (WebCore::WorkerProfilerAgent::~WorkerProfilerAgent):
        (WebCore::WorkerProfilerAgent::startProfiling):
        (WebCore::WorkerProfilerAgent::stopProfiling):
        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
        (WebCore::InspectorProfilerAgent::start):
        (WebCore::InspectorProfilerAgent::stop):
        * inspector/InspectorProfilerAgent.h:
        (WebCore):
        (InspectorProfilerAgent):
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        (WebCore::WorkerInspectorController::connectFrontend):
        (WebCore::WorkerInspectorController::disconnectFrontend):
        (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
        * inspector/WorkerInspectorController.h:
        (WebCore):
        (WorkerInspectorController):
        * inspector/front-end/ProfilesPanel.js:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):

2012-02-29  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Clicking relative links fails when query string contains a slash
        https://bugs.webkit.org/show_bug.cgi?id=79905

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ResourceUtils.js:
        (WebInspector.completeURL):

2012-02-29  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: Ctrl R should reload page from the console panel as well.
        https://bugs.webkit.org/show_bug.cgi?id=79883

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):

2012-02-28  Pavel Podivilov  <podivilov@chromium.org>

        Extended attributes list should go before 'static' and 'const' modifiers in IDLs.
        https://bugs.webkit.org/show_bug.cgi?id=79807

        Reviewed by Kentaro Hara.

        No new tests. Generated code isn't changed.

        * bindings/scripts/IDLParser.pm:
        (ParseInterface):
        * bindings/scripts/IDLStructure.pm:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/TestSupplemental.idl:
        * html/DOMURL.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLTrackElement.idl:

2012-02-28  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: move DOM counter graphs out of experimental
        https://bugs.webkit.org/show_bug.cgi?id=79802

        Enable DOM counter graphs by default.

        Reveal nearest record from the left hand side when there is no
        record containing the point where the user clicked.

        Reviewed by Pavel Feldman.

        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._endSplitterDragging):
        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
        (WebInspector.TimelinePanel.prototype.sidebarResized):
        (WebInspector.TimelinePanel.prototype._resetPanel):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype.revealRecordAt):

2012-02-28  MORITA Hajime  <morrita@google.com>

        [Refactoring] Shadow related attach paths should be in ShadowTree.
        https://bugs.webkit.org/show_bug.cgi?id=79854

        Reviewed by Ryosuke Niwa.

        No new tests. No behavior change.

        This change introduces ShadowTree::attachHost() and ShadowTree::detachHost()
        and moves shadow-enabled attachment code from Element to ShadowRoot.
        This also factored out small ContainerNode method to use it from ShadowTree.

        Even after this change, the traveral order in ShadowTree
        attachment has some unclear part. Coming changes will clarify
        these. This change is aimed to be purely textural.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::attach):
        (WebCore::ContainerNode::detach):
        * dom/ContainerNode.h:
        (ContainerNode):
        (WebCore::ContainerNode::attachAsNode): Added.
        (WebCore::ContainerNode::attachChildren): Added.
        (WebCore::ContainerNode::attachChildrenIfNeeded): Added.
        (WebCore::ContainerNode::attachChildrenLazily): Added.
        (WebCore::ContainerNode::detachAsNode): Added.
        (WebCore::ContainerNode::detachChildrenIfNeeded): Added.
        (WebCore::ContainerNode::detachChildren): Added.
        * dom/Element.cpp:
        (WebCore::Element::attach):
        (WebCore::Element::detach):
        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::addShadowRoot):
        (WebCore::ShadowTree::removeAllShadowRoots):
        (WebCore::ShadowTree::detachHost):
        (WebCore):
        (WebCore::ShadowTree::attachHost):
        (WebCore::ShadowTree::reattachHostChildrenAndShadow):
        * dom/ShadowTree.h:
        (ShadowTree):

2012-02-28  Arko Saha  <arko@motorola.com>

        Microdata: Implement HTMLPropertiesCollection collection.namedItem().
        https://bugs.webkit.org/show_bug.cgi?id=73156

        Reviewed by Kentaro Hara.

        Tests: fast/dom/MicroData/nameditem-must-be-case-sensitive.html
               fast/dom/MicroData/nameditem-must-return-correct-item-properties.html
               fast/dom/MicroData/properties-collection-nameditem-test.html

        * bindings/scripts/CodeGeneratorJS.pm: Modified code generator to generate
        JS bindings code for HTMLPropertiesCollection [NamedGetter] property.
        (GenerateImplementation):
        * html/HTMLPropertiesCollection.cpp:
        (WebCore::HTMLPropertiesCollection::names):
        (WebCore):
        (WebCore::HTMLPropertiesCollection::namedItem): Returns a NodeList object
        containing any elements that add a property named name.
        (WebCore::HTMLPropertiesCollection::hasNamedItem): Checks if the items can
        be retrieved or not based on the property named name.
        * html/HTMLPropertiesCollection.h: Added namedItem(), hasProperty(),
        hasNamedItem() methods.
        (HTMLPropertiesCollection):
        * html/HTMLPropertiesCollection.idl: Added namedItem() IDL method.

2012-02-28  Kinuko Yasuda  <kinuko@chromium.org>

        Add size field to Metadata in FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=79813

        Reviewed by David Levin.

        Test: fast/filesystem/op-get-metadata.html

        * fileapi/FileSystemCallbacks.cpp:
        (WebCore::MetadataCallbacks::didReadMetadata):
        * fileapi/Metadata.h:
        (WebCore::Metadata::create):
        (WebCore::Metadata::modificationTime):
        (WebCore::Metadata::size): Added.
        (WebCore::Metadata::Metadata):
        * fileapi/Metadata.idl:

2012-02-28  Dmitry Lomov  <dslomov@google.com>

        [JSC] Implement ArrayBuffer transfer
        https://bugs.webkit.org/show_bug.cgi?id=73493.
        Implement ArrayBuffer transfer, per Khronos spec:  http://www.khronos.org/registry/typedarray/specs/latest/#9.
        This brings parity with V8 implementation of transferable typed arrays.

        Reviewed by Oliver Hunt.

        Covered by existing tests.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::handlePostMessage):
        * bindings/js/JSDictionary.cpp:
        (WebCore::JSDictionary::convertValue):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::pushState):
        (WebCore::JSHistory::replaceState):
        * bindings/js/JSMessageEventCustom.cpp:
        (WebCore::handleInitMessageEvent):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::fillMessagePortArray):
        * bindings/js/JSMessagePortCustom.h:
        (WebCore):
        (WebCore::handlePostMessage):
        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::serialize):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore):
        (WebCore::CloneSerializer::serialize):
        (CloneSerializer):
        (WebCore::CloneSerializer::CloneSerializer):
        (WebCore::CloneSerializer::fillTransferMap):
        (WebCore::CloneSerializer::dumpArrayBufferView):
        (WebCore::CloneSerializer::dumpIfTerminal):
        (WebCore::CloneDeserializer::deserialize):
        (WebCore::CloneDeserializer::CloneDeserializer):
        (WebCore::CloneDeserializer::readTerminal):
        (CloneDeserializer):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        (WebCore::SerializedScriptValue::transferArrayBuffers):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::deserialize):
        * bindings/js/SerializedScriptValue.h:
        (WebCore):
        (SerializedScriptValue):

2012-02-28  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed. Build fixes after recent bindings changes.

        * bindings/scripts/CodeGeneratorCPP.pm: 
        (ShouldSkipType):
        * testing/Internals.idl:

2012-02-28  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Spin button sometimes ignores Indeterminate of m_upDownState
        https://bugs.webkit.org/show_bug.cgi?id=79754

        Reviewed by Kent Tamura.

        This patch checks enum value Indeterminate before using m_upDownState. This make
        sure Indeterminate state doesn't act like Down state.

        m_upDownState can be Indeterminate at mousedown event if mouse pointer is on
        spin button when it is displayed.

        Test: fast/forms/number/spin-button-state.html

        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::SpinButtonElement::defaultEventHandler):
        (WebCore::SpinButtonElement::repeatingTimerFired):

2012-02-27  MORITA Hajime  <morrita@google.com>

        [Refactoring] RenderSummary and RenderDetail is no longer needed.
        https://bugs.webkit.org/show_bug.cgi?id=79641

        Reviewed by Kent Tamura.

        Removed RenderDetails and RenderSummary because its only
        modification they had is already handled by RenderBlock::styleWillChange().
        These are just a historical artifact. We could have removed these
        classes when they were switched to shadow-based implementations.

        Tests: fast/html/details-inline-expected.html
               fast/html/details-inline.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::createRenderer):
        * html/HTMLSummaryElement.cpp:
        (WebCore::HTMLSummaryElement::createRenderer):
        (WebCore::HTMLSummaryElement::defaultEventHandler):
        * rendering/RenderDetails.cpp: Removed.
        * rendering/RenderDetails.h: Removed.
        * rendering/RenderDetailsMarker.cpp:
        (WebCore::RenderDetailsMarker::isOpen):
        * rendering/RenderDetailsMarker.h:
        (RenderDetailsMarker):
        * rendering/RenderObject.h:
        (RenderObject):
        * rendering/RenderSummary.cpp: Removed.
        * rendering/RenderSummary.h: Removed.
        * rendering/RenderingAllInOne.cpp:

2012-02-28  Simon Fraser  <simon.fraser@apple.com>

        Optimize the rects being drawn into compositing layers
        https://bugs.webkit.org/show_bug.cgi?id=79852

        Reviewed by Dan Bernstein.

        Use the newly added WebKitSystemInterface method
        to limit the area being painted in a CALayer
        -drawInContext callback. This avoids redundant drawing,
        for performance.

        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):

2012-02-28  Simon Fraser  <simon.fraser@apple.com>

        Fix the SnowLeopard build.

        * WebCore.exp.in:

2012-02-28  Anders Carlsson  <andersca@apple.com>

        With tiled drawing enabled, pressing Down arrow after scrolling via mouse gesture causes page to jump back up to top
        https://bugs.webkit.org/show_bug.cgi?id=79249
        <rdar://problem/10866273>

        Reviewed by Sam Weinig.

        ScrollableArea::notifyScrollPositionChanged must make sure that the scroll animator position is kept up to date.

        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::setCurrentPosition):
        (WebCore):
        * platform/ScrollAnimator.h:
        (ScrollAnimator):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::notifyScrollPositionChanged):

2012-02-28  Daniel Cheng  <dcheng@chromium.org>

        Unreviewed, rolling out r107894.
        http://trac.webkit.org/changeset/107894
        https://bugs.webkit.org/show_bug.cgi?id=30416

        dataTransfer.types should be an Array since DOMStringList is deprecated.

        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::types):
        (WebCore):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        (WebCore::V8Clipboard::typesAccessorGetter):
        (WebCore):
        * dom/Clipboard.cpp:
        (WebCore::Clipboard::hasStringOfType):
        * dom/Clipboard.h:
        (Clipboard):
        * dom/Clipboard.idl:
        * platform/blackberry/ClipboardBlackBerry.cpp:
        (WebCore::ClipboardBlackBerry::types):
        * platform/blackberry/ClipboardBlackBerry.h:
        (ClipboardBlackBerry):
        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::types):
        * platform/chromium/ChromiumDataObject.h:
        (ChromiumDataObject):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::types):
        (WebCore::ClipboardChromium::mayUpdateItems):
        * platform/chromium/ClipboardChromium.h:
        (ClipboardChromium):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::containsHTML):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::canSmartReplace):
        (WebCore::DragData::asFragment):
        * platform/efl/ClipboardEfl.cpp:
        (WebCore::ClipboardEfl::types):
        * platform/efl/ClipboardEfl.h:
        (ClipboardEfl):
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::types):
        * platform/gtk/ClipboardGtk.h:
        (ClipboardGtk):
        * platform/mac/ClipboardMac.h:
        (ClipboardMac):
        * platform/mac/ClipboardMac.mm:
        (WebCore::addHTMLClipboardTypesForCocoaType):
        (WebCore::ClipboardMac::types):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::types):
        * platform/qt/ClipboardQt.h:
        (ClipboardQt):
        * platform/win/ClipboardWin.cpp:
        (WebCore::addMimeTypesForFormat):
        (WebCore::ClipboardWin::types):
        * platform/win/ClipboardWin.h:
        (ClipboardWin):
        * platform/wx/ClipboardWx.cpp:
        (WebCore::ClipboardWx::types):
        * platform/wx/ClipboardWx.h:
        (ClipboardWx):

2012-02-28  Simon Fraser  <simon.fraser@apple.com>

        Update WebKitSystemInterface.

        Reviewed by Sam Weinig.

        * WebCore.exp.in:
        (drawLayerContents):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2012-02-27  MORITA Hajime  <morrita@google.com>

        <content> element should behave as HTMLUnknownElement outside of a shadow DOM subtree
        https://bugs.webkit.org/show_bug.cgi?id=79551

        Reviewed by Dimitri Glazkov.

        The problem happened because HTMLContentElement doesn't create renderer anytime.
        
        This change allows it to create a renderer unless the HTMLContentElement is shadowed.
        Since this could happen not only on <content> but also on upcoming <shadow>,
        the corresponding part of the code is pulled up to InsertionPoint.

        Tests: fast/dom/shadow/content-element-outside-shadow-style-expected.html
               fast/dom/shadow/content-element-outside-shadow-style.html

        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        * dom/ShadowRoot.h:
        (WebCore):
        (WebCore::TreeScope::isShadowRoot):
        * dom/TreeScope.h:
        (TreeScope):
        * html/shadow/HTMLContentElement.h:
        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::isShadowBoundary):
        (WebCore):
        * html/shadow/InsertionPoint.h:
        (InsertionPoint):
        (WebCore::isShadowBoundary):
        (WebCore):

2012-02-28  Daniel Cheng  <dcheng@chromium.org>

        Clipboard::getData should return an empty string instead of undefined
        https://bugs.webkit.org/show_bug.cgi?id=79712

        Reviewed by Tony Chang.

        Per the spec, an empty string should be returned when there is no data for the given typestring.

        Test: fast/events/dataTransfer-getData-returns-empty-string.html

        * bindings/js/JSClipboardCustom.cpp:
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        * dom/Clipboard.h:
        (Clipboard):
        * dom/Clipboard.idl:
        * platform/blackberry/ClipboardBlackBerry.cpp:
        (WebCore::ClipboardBlackBerry::getData):
        * platform/blackberry/ClipboardBlackBerry.h:
        (ClipboardBlackBerry):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::getData):
        * platform/chromium/ClipboardChromium.h:
        (ClipboardChromium):
        * platform/efl/ClipboardEfl.cpp:
        (WebCore::ClipboardEfl::getData):
        * platform/efl/ClipboardEfl.h:
        (ClipboardEfl):
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::getData):
        * platform/gtk/ClipboardGtk.h:
        (ClipboardGtk):
        * platform/mac/ClipboardMac.h:
        (ClipboardMac):
        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::getData):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::getData):
        * platform/qt/ClipboardQt.h:
        (ClipboardQt):
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::getFullCFHTML):
        (WebCore::getURL):
        (WebCore::getPlainText):
        (WebCore::getTextHTML):
        (WebCore::getCFHTML):
        (WebCore::fragmentFromHTML):
        * platform/win/ClipboardUtilitiesWin.h:
        (WebCore):
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::getData):
        * platform/win/ClipboardWin.h:
        (ClipboardWin):
        * platform/wx/ClipboardWx.cpp:
        (WebCore::ClipboardWx::getData):
        * platform/wx/ClipboardWx.h:
        (ClipboardWx):

2012-02-28  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Uninitialized value in LocaleToScriptCodeForFontSelection
        https://bugs.webkit.org/show_bug.cgi?id=79779

        Set USCRIPT_COMMON to scriptCode as the initial value.

        Reviewed by Kent Tamura.

        No new tests. No behavior change.

        * platform/text/LocaleToScriptMappingICU.cpp:
        (WebCore::localeToScriptCodeForFontSelection):

2012-02-28  Kenneth Russell  <kbr@google.com>

        [chromium] Work around IOSurface-related corruption during readback
        https://bugs.webkit.org/show_bug.cgi?id=79735

        Reviewed by James Robinson.

        Copy the compositor's IOSurface-backed output into a temporary
        texture and perform the ReadPixels operation against that texture.

        It is infeasible to write an automated test for this issue.
        Tested manually by performing print preview multiple times against
        pages containing WebGL content on 10.7 and observing that the
        corruption in the output is no longer present.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::getFramebufferPixels):

2012-02-28  Adrienne Walker  <enne@google.com>

        [chromium] Inform v8 about extra memory used for PatternSkia clamp mode
        https://bugs.webkit.org/show_bug.cgi?id=79846

        Reviewed by James Robinson.

        For large images, creating a non-repeating Pattern in Skia can
        allocate a lot of memory. Inform v8 about this so that it can
        potentially garbage collect any Pattern objects that aren't being used
        and that are holding onto large image copies.

        * platform/graphics/Pattern.cpp:
        (WebCore::Pattern::Pattern):
        * platform/graphics/Pattern.h:
        (Pattern):
        * platform/graphics/skia/PatternSkia.cpp:
        (WebCore::Pattern::platformDestroy):
        (WebCore::Pattern::platformPattern):

2012-02-28  Jonathan Backer  <backer@chromium.org>

        [chromium] Reset damage tracker on visibility change.
        https://bugs.webkit.org/show_bug.cgi?id=79267

        Reviewed by James Robinson.

        Unit tests: CCLayerTreeHostImplTest.cpp

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::setVisible):

2012-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r108834.
        http://trac.webkit.org/changeset/108834
        https://bugs.webkit.org/show_bug.cgi?id=79840

        Seems to cause a number of crashes under
        FrameView::doDeferredRepaints (Requested by jamesr__ on
        #webkit).

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::draw):
        * svg/graphics/SVGImage.h:
        * svg/graphics/SVGImageCache.cpp:
        (WebCore::SVGImageCache::imageContentChanged):
        (WebCore::SVGImageCache::redrawTimerFired):
        * svg/graphics/SVGImageCache.h:
        (SVGImageCache):

2012-02-29  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Add support for nested event loops in RunLoop
        https://bugs.webkit.org/show_bug.cgi?id=79499

        Reviewed by Martin Robinson.

        Run a new nested mainloop if the main event loop is already
        running when calling to RunLoop::run(), and take care of stopping
        the right main loop too when RunLoop::stop() is invoked.

        * platform/RunLoop.h:
        (RunLoop):
        * platform/gtk/RunLoopGtk.cpp:
        (WebCore::RunLoop::RunLoop):
        (WebCore::RunLoop::~RunLoop):
        (WebCore::RunLoop::run):
        (WebCore::RunLoop::innermostLoop):
        (WebCore::RunLoop::pushNestedMainLoop):
        (WebCore::RunLoop::popNestedMainLoop):
        (WebCore):
        (WebCore::RunLoop::stop):

2012-02-28  Julien Chaffraix  <jchaffraix@webkit.org>

        Move RenderLayer::size() calls to a common function
        https://bugs.webkit.org/show_bug.cgi?id=76972

        Reviewed by Simon Fraser.

        Refactoring only.

        This change introduces RenderBox::cachedSizeForOverflowClip() that handles all the cached size
        requests that currently goes through the RenderLayer. This indirection helps to decouple the need
        for a RenderLayer so that we can lazily allocate RenderLayers as part of bug 75568.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::cachedSizeForOverflowClip):
        Added this function to handle the calls to RenderLayer's size(). Unfortunately a lot of the
        code calls RenderLayer::size() directly so I could not make it private.

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeRectForRepaint):
        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        (WebCore::RenderInline::computeRectForRepaint):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::computeRectForRepaint):
        Fixed the call sites above.

2012-02-28  Tim Dresser  <tdresser@chromium.org>

        Provide DefaultDeviceScaleFactor though WebSettings
        https://bugs.webkit.org/show_bug.cgi?id=79534

        Reviewed by Darin Fisher.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setDefaultDeviceScaleFactor):
        (WebCore):
        * page/Settings.h:
        (Settings):
        (WebCore::Settings::defaultDeviceScaleFactor):

2012-02-28  Oliver Hunt  <oliver@apple.com>

        Fix build.

        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::collectStyleForAttribute):

2012-02-28  Dean Jackson  <dino@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=79824

        Unreviewed build fix for when ENABLE(CSS_FILTERS) is on
        but ENABLE(CSS_SHADERS) is off.

        * css/WebKitCSSFilterValue.cpp:
        (WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):

2012-02-28  Dave Moore  <davemoore@chromium.org>

        Slow content causes choppy scrolling
        https://bugs.webkit.org/show_bug.cgi?id=79403

        Reviewed by James Robinson.

        This code helps make scrolling (via wheel or pad) less choppy
        when the content takes a long time to respond to the fake mouse moves
        generated during scrolls.


 * page/EventHandler.cpp:
        (WebCore):
        (MaximumDurationTracker):
        (WebCore::MaximumDurationTracker::MaximumDurationTracker):
        (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::clear):
        (WebCore::EventHandler::mouseMoved):
        (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
        (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad):
        * page/EventHandler.h:

2012-02-28  Andreas Kling  <awesomekling@apple.com>

        StyledElement::isPresentationAttribute() only needs the attribute name.
        <http://webkit.org/b/79828>

        Reviewed by Anders Carlsson.

        Pass the QualifiedName to isPresentationAttribute instead of the whole
        Attribute. We only need the name to know what kind of attribute it is.

        This makes the code a little less ugly and makes it possible to use
        the function without having an Attribute object.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):
        * dom/StyledElement.h:
        (WebCore::StyledElement::isPresentationAttribute):
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::isPresentationAttribute):
        * html/HTMLBRElement.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::isPresentationAttribute):
        * html/HTMLBodyElement.h:
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::isPresentationAttribute):
        * html/HTMLButtonElement.h:
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::isPresentationAttribute):
        * html/HTMLDivElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::isPresentationAttribute):
        * html/HTMLElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::isPresentationAttribute):
        * html/HTMLEmbedElement.h:
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::isPresentationAttribute):
        * html/HTMLFontElement.h:
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::isPresentationAttribute):
        * html/HTMLFrameSetElement.h:
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::isPresentationAttribute):
        * html/HTMLHRElement.h:
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::isPresentationAttribute):
        * html/HTMLIFrameElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::isPresentationAttribute):
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isPresentationAttribute):
        * html/HTMLInputElement.h:
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::isPresentationAttribute):
        * html/HTMLLIElement.h:
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::isPresentationAttribute):
        * html/HTMLMarqueeElement.h:
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::isPresentationAttribute):
        * html/HTMLOListElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::isPresentationAttribute):
        * html/HTMLObjectElement.h:
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::isPresentationAttribute):
        * html/HTMLParagraphElement.h:
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::isPresentationAttribute):
        * html/HTMLPlugInElement.h:
        * html/HTMLPreElement.cpp:
        (WebCore::HTMLPreElement::isPresentationAttribute):
        * html/HTMLPreElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::isPresentationAttribute):
        * html/HTMLSelectElement.h:
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
        * html/HTMLTableCaptionElement.h:
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::isPresentationAttribute):
        * html/HTMLTableCellElement.h:
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::isPresentationAttribute):
        * html/HTMLTableColElement.h:
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::isPresentationAttribute):
        * html/HTMLTableElement.h:
        * html/HTMLTablePartElement.cpp:
        (WebCore::HTMLTablePartElement::isPresentationAttribute):
        * html/HTMLTablePartElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::isPresentationAttribute):
        * html/HTMLTextAreaElement.h:
        * html/HTMLUListElement.cpp:
        (WebCore::HTMLUListElement::isPresentationAttribute):
        * html/HTMLUListElement.h:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::isPresentationAttribute):
        * html/HTMLVideoElement.h:
        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::isPresentationAttribute):
        * mathml/MathMLElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::isPresentationAttribute):
        * svg/SVGImageElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::isPresentationAttribute):
        * svg/SVGStyledElement.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::isPresentationAttribute):
        * svg/SVGTextContentElement.h:

2012-02-28  Enrica Casucci  <enrica@apple.com>

        More Pasteboard code cleanup.
        https://bugs.webkit.org/show_bug.cgi?id=79816

        Removing the last references to NSPasteboard.

        Reviewed by Alexey Proskuryakov.

        No new tests. No change in functionality.

        * WebCore.xcodeproj/project.pbxproj:
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::pasteWithPasteboard):
        (WebCore::Editor::takeFindStringFromSelection):
        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::setInsertionPasteboard):
        * page/DragClient.h:
        * page/EditorClient.h:
        * platform/DragData.h:
        * platform/Pasteboard.h:
        * platform/mac/ClipboardMac.h:
        * platform/mac/PasteboardHelper.h: Removed.

2012-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r109137.
        http://trac.webkit.org/changeset/109137
        https://bugs.webkit.org/show_bug.cgi?id=79833

        Broke cr-mac build (Requested by aklein on #webkit).

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore):
        (WebCore::pathFromFont):

2012-02-28  Jungshik Shin  <jshin@chromium.org>

        Add a fallback path to LineBreakIteratorPoolICU when the locale
        name from a web page is invalid and ICU fails to get a line break
        iterator instance. Also add a null check to 
        TextBreakIteratorICU::acquireLineBreakIterator.

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=67640

        Test: fast/text/invalid-locale.html

        * platform/text/LineBreakIteratorPoolICU.h:
        (WebCore::LineBreakIteratorPool::take):
        * platform/text/TextBreakIteratorICU.cpp:
        (WebCore::acquireLineBreakIterator):

2012-02-28  Abhishek Arya  <inferno@chromium.org>

        Crash due to accessing removed continuation in multi-column layout.
        https://bugs.webkit.org/show_bug.cgi?id=78417

        Reviewed by David Hyatt.

        This patch addresses two problems:
        1. Run-in block got split due to addition of a column-span child.
        The clone part was incorrectly intruding into the sibling block,
        even when it was part of the continuation chain.
        2. Like r73296, we don't need to set continuation on an
        anonymous block since we haven't split a real element.

        Test: fast/multicol/span/runin-continuation-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        (WebCore::RenderBlock::handleRunInChild):

2012-02-28  Abhishek Arya  <inferno@chromium.org>

        Incorrect before child parent calculation when adding new children
        to anonymous column blocks.
        https://bugs.webkit.org/show_bug.cgi?id=79755

        Reviewed by David Hyatt.

        before child can be wrapped in anonymous containers, so need to
        take care of that in before child parent calculation.

        Test: fast/multicol/span/before-child-anonymous-column-block.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):

2012-02-28  Ned Holbrook  <nholbrook@apple.com>

        Reimplement pathFromFont() in SimpleFontDataMac.mm
        https://bugs.webkit.org/show_bug.cgi?id=79811

        Reviewed by Dan Bernstein.

        Debug-only function, so no new tests.

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::pathFromFont): Reimplemented.

2012-02-28  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle fails for 'first-line' pseudo-element
        https://bugs.webkit.org/show_bug.cgi?id=57505

        Reviewed by Tony Chang.

        Querying the selector with a pseudo-element using getComputedStyle should work
        even if the selector was not declared in the stylesheet. When not declared, we need
        to use the RenderStyle created to do the rendering as there is no pseudo-style.
        This match the behavior of Firefox.

        No new tests : Updated expectation and extended getComputedStyle-with-pseudo-element.html.

        * dom/Element.cpp:
        (WebCore::Element::computedStyle):

2012-02-28  Ashod Nakashian  <ashodnakashian@yahoo.com>

        Move FILE_SYSTEM code out of WorkerContext and into the fileapi folder
        https://bugs.webkit.org/show_bug.cgi?id=79449

        Reviewed by Adam Barth.

        This moves FILE_SYSTEM code out of WorkerContext and into the fileapi/WorkerContextFileSystem.
        None-functional changes, no new tests necessary.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * fileapi/WorkerContextFileSystem.cpp: Added.
        (WebCore):
        (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
        (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
        * fileapi/WorkerContextFileSystem.h: Added.
        (WebCore):
        (WorkerContextFileSystem):
        * fileapi/WorkerContextFileSystem.idl: Added.
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::ensureEventTargetData):
        * workers/WorkerContext.h:
        (WebCore):
        (WorkerContext):
        * workers/WorkerContext.idl:

2012-02-28  Alexey Proskuryakov  <ap@apple.com>

        FileReader crashes when file is not readable
        https://bugs.webkit.org/show_bug.cgi?id=79715

        Reviewed by Jian Li.

        Test: fast/files/file-reader-directory-crash.html

        * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer): Crash early if a caller
        mixed up in-band error signal with length again.

        * platform/network/BlobResourceHandle.cpp:
        (WebCore): Changed errors into an enum. Added a proper domain for blob errors.
        (WebCore::BlobResourceHandle::didReceiveResponse): There is already a constant for INT_MAX
        in C/C++.
        (WebCore::BlobResourceHandle::didRead): Don't send "-1" for failure down the success path.
        (WebCore::BlobResourceHandle::notifyFail): Use a proper domain for blob errors, and a non-
        empty message.

2012-02-28  Adam Klein  <adamk@chromium.org>

        Unreviewed, fix cr-win build after r109119.

        * platform/graphics/chromium/TransparencyWin.h:
        (TransparencyWin):

2012-02-28  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
        https://bugs.webkit.org/show_bug.cgi?id=79496

        Reviewed by Martin Robinson.

        Updated places where raw pointers to GMainLoop and GMainContext
        were being used, replacing them with GRefPtr-based code.

        * platform/RunLoop.h:
        (RunLoop):
        * platform/gtk/RunLoopGtk.cpp:
        (WebCore::RunLoop::RunLoop):
        (WebCore::RunLoop::~RunLoop):
        (WebCore::RunLoop::mainLoop):
        (WebCore::RunLoop::stop):
        (WebCore::RunLoop::wakeUp):
        (WebCore::RunLoop::TimerBase::start):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCoreSynchronousLoader):
        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::WebCoreSynchronousLoader::run):

2012-02-28  Alok Priyadarshi  <alokp@chromium.org>

        Heap-use-after-free in WebCore::RenderLayer::addChild
        https://bugs.webkit.org/show_bug.cgi?id=79698

        Reviewed by Simon Fraser.

        This patch fixes a regression introduced in r108659.
        The reflection layer was moved to the parent by mistake. It was then
        deleted and the parent was left holding on to a deleted pointer. This
        patch restores the location where reflection layer is removed - before
        moving the child layers.

        Test: fast/reflections/toggle-reflection-crash.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::removeOnlyThisLayer):

2012-02-28  Ken Buchanan  <kenrb@chromium.org>

        Crash from list marker having inline and block children
        https://bugs.webkit.org/show_bug.cgi?id=79793

        Reviewed by Julien Chaffraix.

        Crashing condition in which an anonymous block was being collapsed
        even though it had a block sibling. removeChild() was not checking
        for siblings that might precede :before content renderers, such
        as list items. This patch corrects that.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild)

2012-02-28  Adam Klein  <adamk@chromium.org>

        Unreviewed, speculative test fix after r109016.

        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): Explicitly pass a scale of 1 to ImageBuffer::create.
        * platform/graphics/chromium/TransparencyWin.h:
        (WebCore): Update names of re-enabled tests.

2012-02-28  Antti Koivisto  <antti@apple.com>

        Give StyleRule files of its own
        https://bugs.webkit.org/show_bug.cgi?id=79778

        Totally rubber-stamped by Andreas Kling.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSParser.cpp:
        * css/CSSStyleRule.cpp:
        (WebCore):
        (WebCore::CSSStyleRule::style):
        * css/CSSStyleRule.h:
        (WebCore):
        (CSSStyleRule):
        * css/CSSStyleSelector.cpp:
        * css/CSSStyleSheet.cpp:
        * css/StyleRule.cpp: Copied from Source/WebCore/css/CSSStyleRule.cpp.
        (WebCore):
        * css/StyleRule.h: Copied from Source/WebCore/css/CSSStyleRule.h.
        (WebCore):
        * editing/EditingStyle.cpp:
        * inspector/InspectorCSSAgent.cpp:
        * inspector/InspectorInstrumentation.cpp:
        * inspector/InspectorStyleSheet.cpp:
        * page/PageSerializer.cpp:

2012-02-28  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: remove window aspects from the timeline presentation model.
        https://bugs.webkit.org/show_bug.cgi?id=79803

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.accept):
        (WebInspector.TimelineOverviewPane.prototype._setWindowIndices):
        (WebInspector.TimelineOverviewPane.prototype.windowLeft):
        (WebInspector.TimelineOverviewPane.prototype.windowRight):
        (WebInspector.TimelineOverviewPane.prototype._fireWindowChanged):
        (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
        (WebInspector.TimelineOverviewPane.WindowSelector):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
        (WebInspector.TimelinePanel.prototype._updateBoundaries):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.prototype.reset):
        (WebInspector.TimelineCategory):
        (WebInspector.TimelineCategory.prototype.get hidden):
        (WebInspector.TimelineCategory.prototype.set hidden):

2012-02-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Improve the visual of the tiling
        https://bugs.webkit.org/show_bug.cgi?id=79648

        Reviewed by Noam Rosenthal.

        When we cover the view with tiles[1], we do so from the center
        and out, in bigger and bigger cicles by finding the current minimum
        covered distance.

        This looks like painting a rect, then a cross, then a rect, ...
        and can be noticed when a page blocks during tiling.

        We can do this better by only covering with tiles in rects at a time.

        The original code was done so that it gave preference to tiles in
        vertical direction due to that being the most common scrolling
        direction. This is not needed anymore as we are now using the
        trajectory vector when panning, which always gives preference for
        creating tiles in the panned direction.

        [1] It should be noted that we always cover the visibleRect in one go,
            and that we here are talking about covering the coverRect beyond
            the visibleRect

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::tileDistance):

2012-02-28  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: preserve memory counters size after frontend reopening
        https://bugs.webkit.org/show_bug.cgi?id=79792

        Clear collected counter values when timeline panel is reset. Persist
        timeline grid/counters splitter position to restore it when front-end
        is opened next time.

        Reviewed by Pavel Feldman.

        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.MemoryStatistics.prototype.reset):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._setSplitterPosition):
        (WebInspector.TimelinePanel.prototype._resetPanel):
        * inspector/front-end/timelinePanel.css:
        (#counter-values-bar):

2012-02-28  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: move filtering of the timeline records into the presentation model.
        https://bugs.webkit.org/show_bug.cgi?id=79789

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/TimelineModel.js:
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
        (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
        (WebInspector.TimelineOverviewPane.prototype.accept):
        (WebInspector.TimelineOverviewPane.prototype._setWindowIndices):
        (WebInspector.TimelineStartAtZeroOverview):
        (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
        (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
        (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
        (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.prototype._resetPanel):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype.revealRecordAt):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelineExpandableElement.prototype._update):
        (WebInspector.TimelineCategoryFilter):
        (WebInspector.TimelineCategoryFilter.prototype.accept):
        (WebInspector.TimelineIsLongFilter):
        (WebInspector.TimelineIsLongFilter.prototype.accept):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel):
        (WebInspector.TimelinePresentationModel.prototype.addFilter):
        (WebInspector.TimelinePresentationModel.prototype.reset):
        (WebInspector.TimelinePresentationModel.prototype.minimumRecordTime):
        (WebInspector.TimelinePresentationModel.prototype.maximumRecordTime):
        (WebInspector.TimelinePresentationModel.prototype.addRecord):
        (WebInspector.TimelinePresentationModel.prototype._updateBoundaries):
        (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
        (WebInspector.TimelinePresentationModel.prototype.setGlueRecords):
        (WebInspector.TimelinePresentationModel.prototype.fireWindowChanged):
        (WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
        (WebInspector.TimelinePresentationModel.prototype.filteredRecords):
        (WebInspector.TimelinePresentationModel.prototype._filterRecords):
        (WebInspector.TimelinePresentationModel.Record.prototype.get visibleChildrenCount):
        (WebInspector.TimelinePresentationModel.Record.prototype.get invisibleChildrenCount):
        (WebInspector.TimelinePresentationModel.Filter):
        (WebInspector.TimelinePresentationModel.Filter.prototype.accept):

2012-02-28  Florin Malita  <fmalita@google.com>

        Percent width/height SVG not always scaled on window resize
        https://bugs.webkit.org/show_bug.cgi?id=79490

        Reviewed by Nikolas Zimmermann.

        Tests: fast/repaint/percent-minheight-resize-expected.html
               fast/repaint/percent-minheight-resize.html
               svg/custom/svg-percent-scale-expected.html
               svg/custom/svg-percent-scale-vonly-expected.html
               svg/custom/svg-percent-scale-vonly.html
               svg/custom/svg-percent-scale.html

        Fix a couple of problems preventing correct SVG scaling on window resize:

        - RenderReplaced::computePreferredLogicalWidths is not SVG attribute aware and computes
        a non-zero m_minPreferredLogicalWidth even when the SVG widh/height are percentages.

        - RenderBlock::layoutInlineChildren is also not SVG attribute aware and does not trigger
        percent height child layouts on vertical-only resizes.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        Use hasRelativeDimensions() instead of direct width/height->isPercent tests. This also fixes
        an HTML issue where percent {min,max}Height inline elements are not updated on vertical-only resizes.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::hasRelativeDimensions):
        (WebCore):
        * rendering/RenderBox.h:
        (RenderBox):
        Add virtual hasRelativeDimensions() method.

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computePreferredLogicalWidths):
        Use hasRelativeDimensions() instead of direct width/height->isPercent tests.

        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
        (WebCore::RenderSVGRoot::willBeDestroyed):
        Register percent-height SVG elements with the gPercentHeightDescendantsMap, and clean-up on destruction
        or height unit change.

        (WebCore::RenderSVGRoot::hasRelativeDimensions):
        (WebCore):
        * rendering/svg/RenderSVGRoot.h:
        (RenderSVGRoot):
        SVG-aware hasRelativeDimensions() override.

2012-02-28  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: show resource dividers on memory counter graphs
        https://bugs.webkit.org/show_bug.cgi?id=79782

        Resource dividers are drawn on the memory counter graphs.

        Reviewed by Pavel Feldman.

        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.MemoryStatistics.prototype.updateDividers):
        (WebInspector.MemoryStatistics.prototype.setMainTimelineGrid):
        (WebInspector.MemoryStatistics.prototype._updateSize):
        (WebInspector.MemoryStatistics.prototype.show):
        (WebInspector.MemoryStatistics.prototype.refresh):
        (WebInspector.MemoryStatistics.prototype._refreshDividers):
        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.get dividersElement):
        (WebInspector.TimelineGrid.prototype.updateDividers):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelinePanel.prototype.get timlinePaddingLeft):
        * inspector/front-end/timelinePanel.css:
        (#memory-graphs-canvas-container):
        (#memory-graphs-canvas-container .resources-dividers):

2012-02-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Integrate SVGUseElement within the new shadow root concept
        https://bugs.webkit.org/show_bug.cgi?id=78902

        Reviewed by Zoltan Herczeg.

        Replace SVG shadow tree implementation with the new, modern #shadow-root implementation.

        Current situation in trunk:
        SVGUseElement doesn't create/hold the shadow tree, unlike its expected in
        the modern #shadow-root concept, but its renderer RenderSVGShadowTreeRootContainer.
        That creates a cycle, as the actual DOM tree is stored as RefPtr<SVGGElement> inside
        a renderer - that's weak conceptually, and has lead to sublte security bugs in the past.

        Whenever a target element of a <use> element changed, invalidateShadowTree() is called
        which calls setNeedsStyleRecalc(), and sets m_needsShadodwTreeRecreation to true.
        Once style recalculation happens, the RenderSVGShadowTreeRootContainer then eventually
        built the shadow tree, by cloning the target node, building the SVGElementInstance tree
        etc, -- all within the render tree.

        To easy reviewing, here's a dump of the current render tree for a simple <use> example:
        <defs><rect id="rect"/></defs><use xlink:href="#rect"/>

        Dump of render tree:
        RenderSVGHiddenContainer {defs}        // <defs> (SVGDefsElement)
            RenderSVGRect {rect}               // <rect> (SVGRectElement)
        RenderSVGShadowTreeRootContainer {use} // <use> (SVGUseElement)
            RenderSVGContainer {g}             // <g> (SVGShadowTreeRootElement)
                RenderSVGRect {rect}           // <rect> (SVGRectElement, clone of <rect> in <defs>)

        The SVGShadowTreeRootElement is created & stored by RenderSVGShadowTreeRootContainer,
        the renderer of the <use> element. The RenderSVGTransformableContainer renderer created
        for the SVGShadowTreeRootElement stores the x/y translation induced by the <use> attributes.

        There are lots of places all over WebCore that assume the existance of a <g> renderer
        as first child of the <use> element, representing the "SVG shadow tree root".

        Summary of this patch:
        Let SVGUseElement create&maintain a #shadow-root, and append the cloned target elements
        into this shadow root. We no longer have to take care of attachment/detachment, style
        recalculation, etc. - that's handled transparenly by ShadowRoot(List) now.

        This makes SVGShadowTreeElements & RenderSVGShadowTreeRootContainer obsolete. Switch
        SVGUseElement to create a RenderSVGTransformableContainer as its renderer, and make
        it respect the translation induced by the x/y attributes, given for a <use> element.

        Remove all occourences of SVGShadowRoot, remove all special cases it induced.

        It's all covered by existing tests, took a while to make them all pass again.

        * CMakeLists.txt: Remove SVGShadowTreeElements/RenderSVGShadowTreeRootContainer from build.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList): Enable fast path for selector checking, now that special shadow tree rules are gone.
        * css/SelectorChecker.cpp:
        (WebCore::linkAttribute): No need to guard this code with ENABLE(SVG).
        (WebCore::SelectorChecker::checkSelector): Remove obsolete SVG shadow root special case.
        * dom/EventDispatcher.cpp:
        (WebCore::eventTargetRespectingSVGTargetRules): Remove loop, simplify & cleanup this code.
        (WebCore::EventDispatcher::adjustToShadowBoundaries): s/isShadowRootOrSVGShadowRoot/isShadowRoot/.
        (WebCore::EventDispatcher::adjustRelatedTarget): Ditto.
        (WebCore::EventDispatcher::ensureEventAncestors): Simplify logic for SVG, fixed a FIXME.
        * dom/Node.cpp: Remove obsolete svgShadowHost().
        (WebCore::Node::shadowTreeRootNode): Remove obsolete isSVGShadowRoot() checks.
        (WebCore::Node::nonBoundaryShadowTreeRootNode): Ditto.
        (WebCore::Node::isInShadowTree): Make it const.
        * dom/Node.h: Remove isSVGShadowRoot/svgShadowHost.
        (WebCore::Node::isShadowRoot): s/IsShadowRootOrSVGShadowRootFlag/isShadowRoot/.
        (WebCore::Node::parentNode): Augment comments.
        (WebCore::Node::parentNodeGuaranteedHostFree): Ditto.
        * dom/Range.cpp:
        (WebCore::Range::checkNodeBA): Remove obsolete SVG shadow root special case.
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::prepareScript): Ditto.
        * rendering/RenderObject.h: Remove isSVGShadowTreeRootContainer.
        (WebCore::RenderObject::isSVGTransformableContainer): Added.
        * rendering/svg/RenderSVGAllInOne.cpp: Remove SVGShadowTreeElements/RenderSVGShadowTreeRootContainer from build.
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::isGraphicsElement): To check for <use>, a tag name comparision is needed now, as it no longer has a special renderer.
        * rendering/svg/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Ditto.
        (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect): Ditto.
        (WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto.
        * rendering/svg/RenderSVGResourceContainer.cpp: Remove RenderSVGShadowTreeRootContainer.h include.
        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: Removed.
        * rendering/svg/RenderSVGShadowTreeRootContainer.h: Removed.
        * rendering/svg/RenderSVGTransformableContainer.cpp: Keep track of last used additional x/y translation.
        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Handle x/y translation for <use> contains here, instead of storing it in the SVGShadowTreeRootElement.
        * rendering/svg/RenderSVGTransformableContainer.h: Store last used x/y translation.
        (WebCore::RenderSVGTransformableContainer::isSVGTransformableContainer): Return true.
        (WebCore::toRenderSVGTransformableContainer): Add conversion helpers.
        * rendering/svg/RenderSVGViewportContainer.cpp: Ditto.
        (WebCore::RenderSVGViewportContainer::calcViewport): Handle width/height attributes inheritance from the <use> element, if we're a <svg> or <symbol> replacement in the shadow tree.
        * rendering/svg/RenderSVGViewportContainer.h: Remove isSVGContainer() override which is not needed here (already present in RenderSVGContainer).
        * rendering/svg/SVGShadowTreeElements.cpp: Removed.
        * rendering/svg/SVGShadowTreeElements.h: Removed.
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::createRenderer): Check if parentNode is really a SVGElement, before casting.
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::isOutermostSVGSVGElement): Early exit if tag name isn't <svg>, or if we're in a shadow tree (can't be an outermost <svg> element then).
        (WebCore::hasLoadListener): Deploy parentOrHostElement() usage to remove any special cases, related to shadow boundaries.
        (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
        (WebCore::SVGElement::customStyleForRenderer): Ditto.
        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Call updateStyleIfNeeded() instead of updateLayoutIgnorePendingStylesheets().
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::rendererIsNeeded): s/parentNode/parentOrHostElement/ - we need to cross shadow boundaries now.
        * svg/SVGGElement.h: Remove obsolete isShadowTreeContainerElement().
        * svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::nearestViewportElement): s/parentNode/parentOrHostElement/ - we need to cross shadow boundaries now.
        (WebCore::SVGLocatable::farthestViewportElement): Ditto.
        (WebCore::SVGLocatable::computeCTM): Ditto.
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::title): Ditto. (+ simplify code a lot, no need to walk the shadow tree to find its root anymore, use isInShadowTree() helper.)
        (WebCore::SVGStyledElement::rendererIsNeeded): Ditto.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement): Remove no longer needed m_updatesBlocked.
        (WebCore::SVGUseElement::create): Always call ensureShadowRoot(), to create a #shadow-root, upon creating a SVGUseElement.
        (WebCore::SVGUseElement::insertedIntoDocument): Align with SVGFEImageElement/SVGTRefElement - call buildPendingResource() from insertedIntoDocument(), finally! (no renderer needed anymore to update the SVG shadow subtree).
        (WebCore::SVGUseElement::removedFromDocument): Align with SVGFEImageElement/SVGTRefElement - immediately release the SVGElementInstance & shadow tree, once we're removed from the document.
        (WebCore::SVGUseElement::svgAttributeChanged): Simplify code a lot, no longer need to deal with x/y/width/height attributes, the renderes in the shadow tree grab these values from their corresponding <use> elements automatically now.
        (WebCore::SVGUseElement::willRecalcStyle):
            New main part of the logic. invalidateShadowTree() calls setNeedsStyleRecalc, and sets m_needsShadowTreeRecreation=true. If we encounter this case, force rebuilding the SVG shadow tree
            and the SVGElementInstance tree, immediately, before executing the actual style recalc. This allows us to lazily rebuild the SVG shadow tree for the <use> element. Consider:
            <defs><rect id="rect"></defs> <use xlink:href="#rect"/>. Now from a script we change the rect x/y/width/height attributes:
            rect.setAttribute("x", "10"); rect.setAttribute("y", "10")... each call will lead to a SVGUseElement::invalidateShadowTree() call by SVGElementInstance::invalidateAllInstancesOfElement, invoked after the <rect> element got parsed.
            This won't update the shadow tree four times, but only once upon the next style recalculation - otherwise performance is a nightmare.
            This will serve as future starting point, to explore partial SVG subtree re-clones, which should easily be doable now.
        (WebCore::dumpInstanceTree): Add a 'static' to allow DUMP_INSTANCE_TREE to be used in clang builds.
        (WebCore::SVGUseElement::clearResourceReferences): Added helper to release instance & shadow tree.
        (WebCore::SVGUseElement::buildPendingResource): Modeled exactly like SVGFEImageElement/SVGTRefElement. It's possible to share more code between these in future.
        (WebCore::SVGUseElement::buildShadowAndInstanceTree): Cleanup code, adapt to new shadow-root concept.
        (WebCore::SVGUseElement::createRenderer): Create a RenderSVGTransformableContainer, no longer a <use> specific renderer.
        (WebCore::removeDisallowedElementsFromSubtree): Use new replacedChild/appendChild variants, that don't require a ExceptionCode to be passed in.
        (WebCore::SVGUseElement::buildShadowTree): Ditto.
        (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto.
        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto.
        (WebCore::SVGUseElement::invalidateShadowTree): Only trigger style recalculations if needed.
        * svg/SVGUseElement.h: Remove lots of now unnecessary overrides: attach/detach/didRecalcStyle/updateContainerOffset/updateContainerSizes/etc..
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::insertedIntoDocument): No need to walk the shadow tree to find its root anymore, use isInShadowTree() helper.

2012-02-28  Shinya Kawanaka  <shinyak@chromium.org>

        Element should be able to have multiple shadow roots.
        https://bugs.webkit.org/show_bug.cgi?id=77931

        Reviewed by Hajime Morita.

        This patch enables us to add multiple shadow subtrees into elements.
        Note that multiple shadow subtrees are enabled
        only if RuntimeEnabledFeatures::multipleShadowSubtrees is enabled.

        Since we don't have <shadow> element yet, only the youngest shadow tree
        will be rendered. This patch includes tests to confirm adding a new shadow
        tree dynamically to confirm only the youngest shadow tree is renderered.

        Tests: fast/dom/shadow/multiple-shadowroot-rendering.html
               fast/dom/shadow/multiple-shadowroot.html

        * WebCore.exp.in:
        * dom/Element.cpp:
          Uses ShadowRootList interfaces directly instead of ShadowRootList emulation methods.
        (WebCore::Element::~Element):
        (WebCore::Element::attach):
        (WebCore::Element::addShadowRoot):
        (WebCore::Element::removeShadowRootList):
        * dom/Element.h:
        (Element):
        * dom/NodeRenderingContext.cpp:
          Makes non-youngest shadow subtrees hidden.
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::NodeRenderingContext::hostChildrenChanged):
          Since non-youngest children may be changed, make sure host children are changed.
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
        * dom/ShadowRoot.h:
          Utility methods to make code intention clear are added.
        (WebCore::ShadowRoot::youngerShadowRoot):
        (WebCore::ShadowRoot::olderShadowRoot):
        (ShadowRoot):
        (WebCore::ShadowRoot::isYoungest):
        (WebCore::ShadowRoot::isOldest):
        * dom/ShadowRootList.cpp:
        (WebCore::ShadowRootList::popShadowRoot):
        (WebCore::ShadowRootList::attach):
        (WebCore::ShadowRootList::detach):
          Detaches shadow subtrees.
        * testing/Internals.cpp:
        (WebCore::Internals::address):
        (WebCore):
        (WebCore::Internals::youngerShadowRoot):
        (WebCore::Internals::olderShadowRoot):
        (WebCore::Internals::removeShadowRoot):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-02-28  Antti Koivisto  <antti@apple.com>

        Split CSSStyleRule into internal and CSSOM type
        https://bugs.webkit.org/show_bug.cgi?id=79763

        Reviewed by Andreas Kling.

        - Split the data out as StyleRule
        - Make CSSStyleSelector operate on StyleRule instead of CSSStyleRule
        
        This is an intermediate step. Both CSSStyleRule and StyleRule are still always constructed so
        the patch increases memory consumption by a few pointers per css rule. Upcoming
        patches will make CSSStyleRules to be constructed on demand.
        
        The patch does not yet move StyleRule to a file of its own.

        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::CSSPageRule):
        * css/CSSPageRule.h:
        (WebCore::CSSPageRule::create):
        (CSSPageRule):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createPageRule):
        * css/CSSRule.h:
        (WebCore::CSSRule::CSSRule):
        (CSSRule):
        * css/CSSStyleRule.cpp:
        (WebCore::StyleRule::StyleRule):
        (WebCore):
        (WebCore::StyleRule::~StyleRule):
        (WebCore::StyleRule::addSubresourceStyleURLs):
        (WebCore::StyleRule::ensureCSSStyleRule):
        (WebCore::CSSStyleRule::CSSStyleRule):
        (WebCore::CSSStyleRule::~CSSStyleRule):
        (WebCore::CSSStyleRule::generateSelectorText):
        (WebCore::CSSStyleRule::setSelectorText):
        (WebCore::CSSStyleRule::cssText):
        * css/CSSStyleRule.h:
        (WebCore):
        (StyleRule):
        (WebCore::StyleRule::selectorList):
        (WebCore::StyleRule::properties):
        (WebCore::StyleRule::sourceLine):
        (WebCore::StyleRule::adoptSelectorVector):
        (WebCore::StyleRule::adoptSelectorList):
        (WebCore::StyleRule::setProperties):
        (WebCore::CSSStyleRule::create):
        (WebCore::CSSStyleRule::style):
        (CSSStyleRule):
        (WebCore::CSSStyleRule::styleRule):
        * css/CSSStyleSelector.cpp:
        (RuleData):
        (WebCore::RuleData::rule):
        (RuleSet):
        (WebCore::CSSStyleSelector::addMatchedProperties):
        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::RuleSelectorPair::RuleSelectorPair):
        (RuleSelectorPair):
        (MatchResult):
        (CSSStyleSelector):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
        * editing/EditingStyle.cpp:
        (WebCore::styleFromMatchedRulesForElement):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::SelectorProfile::startSelector):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willMatchRuleImpl):
        (WebCore::InspectorInstrumentation::willProcessRuleImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore):
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::willMatchRule):
        (WebCore::InspectorInstrumentation::willProcessRule):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        (WebCore::InspectorStyleSheet::revalidateStyle):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::serializeFrame):
        (WebCore::PageSerializer::serializeCSSStyleSheet):
        (WebCore::PageSerializer::retrieveResourcesForRule):
        (WebCore::PageSerializer::retrieveResourcesForProperties):
        * page/PageSerializer.h:
        (WebCore):
        (PageSerializer):

2012-02-28  Roland Steiner  <rolandsteiner@chromium.org>

        RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled should not be inline
        https://bugs.webkit.org/show_bug.cgi?id=79753

        Moved the function implementation to the .cpp file.

        Reviewed by Hajime Morita.

        No new tests. (no functional change)

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled):
        (WebCore):
        * bindings/generic/RuntimeEnabledFeatures.h:
        (RuntimeEnabledFeatures):

2012-02-28  Noel Gordon  <noel.gordon@gmail.com>

        Fix comment about RGB swizzle decoding and Adobe transform=0 images
        https://bugs.webkit.org/show_bug.cgi?id=79457

        Unreviewed. No new tests, comment change only.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode):

2012-02-27  Shinya Kawanaka  <shinyak@chromium.org>

        Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
        https://bugs.webkit.org/show_bug.cgi?id=78313

        Reviewed by Hajime Morita.

        This patch is for refactoring ShadowTree related code.
          (1) Element::removeShadowRoot() and Element::setShadowRoot() are moved into ShadowTree.
          (2) ShadowTree is now put on its own heap.

        No new tests, no change in behavior.

        * WebCore.exp.in:
        * dom/Element.cpp:
        (WebCore::Element::~Element):
        (WebCore::Element::shadowTree):
        (WebCore::Element::ensureShadowTree):
          Ensure the existence of ShadowTree. This does not ensure ShadowRoot exists.
        * dom/Element.h:
        (Element):
        * dom/ElementRareData.h:
          Makes ShadowTree on Heap.
        (ElementRareData):
        (WebCore::ElementRareData::~ElementRareData):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
        * dom/ShadowTree.cpp:
        (WebCore::validateShadowRoot):
        (WebCore):
        (WebCore::ShadowTree::addShadowRoot):
        (WebCore::ShadowTree::removeAllShadowRoots):
        * dom/ShadowTree.h:
        (ShadowTree):
        * testing/Internals.cpp:
        (WebCore::Internals::removeShadowRoot):

2012-02-27  David Barton  <dbarton@mathscribe.com>

        Fix <msubsup> formatting, especially for a tall base, subscript, or superscript
        https://bugs.webkit.org/show_bug.cgi?id=79274

        Reviewed by Julien Chaffraix.

        Move the <msubsup> formatting code in stretchToHeight() to layout(). Then revise the
        combined code to produce more vertically accurate results, and without extra white
        space. Finally, don't multiply msub/msup/msubsup operator stretching by 1.2.

        Test: Added the bug report's attached test case to mathml/presentation/subsup.xhtml, and
        it and 5 other test files in mathml/presentation now produce improved results. The
        integral sign in mo-stretch.html is no longer scaled up by an extra 1.2, and baselines
        are more accurate so the base is higher in msubsup-sub-changed.png. Several examples are
        slightly tighter vertically, because their (somewhat) anonymous blocks wrapping
        subscripts and superscripts now have the correct font size.

        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore):
        (WebCore::RenderMathMLSubSup::addChild):
        (WebCore::RenderMathMLSubSup::stretchToHeight):
        (WebCore::RenderMathMLSubSup::layout):
        * rendering/mathml/RenderMathMLSubSup.h:
        (RenderMathMLSubSup):
        * rendering/style/RenderStyle.h:

2012-02-27  Ned Holbrook  <nholbrook@apple.com>

        kCTFontTableOptionExcludeSynthetic is unneeded
        https://bugs.webkit.org/show_bug.cgi?id=79744

        Reviewed by Dan Bernstein.

        The aforementioned option is a no-op, so no new tests.

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::fontHasVerticalGlyphs): Specify no options.

2012-02-27  Wei James  <james.wei@intel.com>

        Multi-Channel support in AudioBufferSourceNode
        https://bugs.webkit.org/show_bug.cgi?id=79202

        Reviewed by Chris Rogers.

        Test: webaudio/audiobuffersource-multi-channels.html

        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping):
        (WebCore::AudioBufferSourceNode::renderFromBuffer):
        (WebCore::AudioBufferSourceNode::setBuffer):
        * webaudio/AudioBufferSourceNode.h:
        (AudioBufferSourceNode):

2012-02-27  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntRect.h
        https://bugs.webkit.org/show_bug.cgi?id=79732

        Reviewed by Antonio Gomes.

        Add conversion convenience between WebCore::IntRect and BlackBerry::Platform::IntRect.

        The porting can't be built yet, no new tests.

        * platform/graphics/IntRect.h:
        (Platform):
        (IntRect):

2012-02-27  Emil A Eklund  <eae@chromium.org>

        Printed font-size should not be dependant on zoom level
        https://bugs.webkit.org/show_bug.cgi?id=79717

        Reviewed by Adam Barth.

        Ignore full page zoom level when printing a document.

        Test: printing/zoomed-document.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-02-27  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Unreviewed gardening, further compile fixes for
        TransparencyWinTest.

        * platform/graphics/chromium/TransparencyWin.h:
        (WebCore):

2012-02-27  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Unreviewed gardening, fix compile error after r109043

        * platform/graphics/chromium/TransparencyWin.h:
        (TransparencyWin):

2012-02-27  Adam Barth  <abarth@webkit.org>

        EventFactory.in should be named EventNames.in
        https://bugs.webkit.org/show_bug.cgi?id=79727

        Reviewed by Kentaro Hara.

        Originally EventFactory.in was just used to generate EventFactory.cpp,
        but now we're able to generate a bunch of other Event-related code from
        this "in" file.

        In writing some documentation about how to use these mechanisms, the
        name EventFactory.in didn't seem like the right name.  This patch
        renames EventFactory.in to EventNames.in, which more accurately
        describes the role of this file (and matches the naming convention of
        HTMLTagNames.in).

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_makenames.py:
        (main):
        * WebCore.xcodeproj/project.pbxproj:
        * dom/EventNames.in: Copied from Source/WebCore/dom/EventFactory.in.
        * dom/EventFactory.in: Removed.

2012-02-27  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Make order of attribute/method in HTMLInputElement.idl as same as specification
        https://bugs.webkit.org/show_bug.cgi?id=79622

        For ease of maintainability, this patch reorders attributes and methods declaration
        matching with specification.

        Reviewed by Adam Barth.

        No new tests. No behavior change.

        * html/HTMLInputElement.idl: Reorder and remove obsolete comments.

2012-02-27  Luke Macpherson   <macpherson@chromium.org>

        Sort CSSStyleSelector property handler constructors by CSS property name.
        https://bugs.webkit.org/show_bug.cgi?id=79713

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        This patch is simply an automated sort of the property constructors.
        Presently they are all over the place and it is difficult to know where to insert new rules.
        This patch provides a clear pattern and should reduce future conflicts when adding properties.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

2012-02-27  James Kozianski  <koz@chromium.org>

        [chromium] Plumb extensionGroup into didCreateScriptContext().
        https://bugs.webkit.org/show_bug.cgi?id=79072

        Reviewed by Darin Fisher.

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::V8IsolatedContext):
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
        * loader/FrameLoaderClient.h:
        (FrameLoaderClient):

2012-02-27  Huang Dongsung  <luxtella@company100.net>

        Fixed a typo in CanvasRenderingContext2D::drawImage(HTMLCanvasElement);
        incorrect source and destination rect used.
        https://bugs.webkit.org/show_bug.cgi?id=79566

        Pass dstRect and bufferSrcRect to
        CanvasRenderingContext2D::fullCanvasCompositedDrawImage() for the destination
        and source rect, respectively.

        Reviewed by Daniel Bates.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):

2012-02-27  Hyowon Kim  <hw1008.kim@samsung.com>

        [EFL] Initial implementation of GraphicsContext3DPrivate
        https://bugs.webkit.org/show_bug.cgi?id=62961

        Reviewed by Noam Rosenthal.

        This patch adds the GraphicsContext3DPrivate class using Evas_GL.
        GraphicsContext3DPrivate delegates all GL function calls to Evas_GL_API.

        * platform/graphics/efl/GraphicsContext3DPrivate.cpp: Added.
        (WebCore):
        (WebCore::GraphicsContext3DPrivate::create):
        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::initialize):
        (WebCore::GraphicsContext3DPrivate::createSurface):
        (WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D):
        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
        (WebCore::GraphicsContext3DPrivate::isGLES2Compliant):
        (WebCore::GraphicsContext3DPrivate::activeTexture):
        (WebCore::GraphicsContext3DPrivate::attachShader):
        (WebCore::GraphicsContext3DPrivate::bindAttribLocation):
        (WebCore::GraphicsContext3DPrivate::bindBuffer):
        (WebCore::GraphicsContext3DPrivate::bindFramebuffer):
        (WebCore::GraphicsContext3DPrivate::bindRenderbuffer):
        (WebCore::GraphicsContext3DPrivate::bindTexture):
        (WebCore::GraphicsContext3DPrivate::blendColor):
        (WebCore::GraphicsContext3DPrivate::blendEquation):
        (WebCore::GraphicsContext3DPrivate::blendEquationSeparate):
        (WebCore::GraphicsContext3DPrivate::blendFunc):
        (WebCore::GraphicsContext3DPrivate::blendFuncSeparate):
        (WebCore::GraphicsContext3DPrivate::bufferData):
        (WebCore::GraphicsContext3DPrivate::bufferSubData):
        (WebCore::GraphicsContext3DPrivate::checkFramebufferStatus):
        (WebCore::GraphicsContext3DPrivate::clear):
        (WebCore::GraphicsContext3DPrivate::clearColor):
        (WebCore::GraphicsContext3DPrivate::clearDepth):
        (WebCore::GraphicsContext3DPrivate::clearStencil):
        (WebCore::GraphicsContext3DPrivate::colorMask):
        (WebCore::GraphicsContext3DPrivate::compileShader):
        (WebCore::GraphicsContext3DPrivate::copyTexImage2D):
        (WebCore::GraphicsContext3DPrivate::copyTexSubImage2D):
        (WebCore::GraphicsContext3DPrivate::cullFace):
        (WebCore::GraphicsContext3DPrivate::depthFunc):
        (WebCore::GraphicsContext3DPrivate::depthMask):
        (WebCore::GraphicsContext3DPrivate::depthRange):
        (WebCore::GraphicsContext3DPrivate::detachShader):
        (WebCore::GraphicsContext3DPrivate::disable):
        (WebCore::GraphicsContext3DPrivate::disableVertexAttribArray):
        (WebCore::GraphicsContext3DPrivate::drawArrays):
        (WebCore::GraphicsContext3DPrivate::drawElements):
        (WebCore::GraphicsContext3DPrivate::enable):
        (WebCore::GraphicsContext3DPrivate::enableVertexAttribArray):
        (WebCore::GraphicsContext3DPrivate::finish):
        (WebCore::GraphicsContext3DPrivate::flush):
        (WebCore::GraphicsContext3DPrivate::framebufferRenderbuffer):
        (WebCore::GraphicsContext3DPrivate::framebufferTexture2D):
        (WebCore::GraphicsContext3DPrivate::frontFace):
        (WebCore::GraphicsContext3DPrivate::generateMipmap):
        (WebCore::GraphicsContext3DPrivate::getActiveAttrib):
        (WebCore::GraphicsContext3DPrivate::getActiveUniform):
        (WebCore::GraphicsContext3DPrivate::getAttachedShaders):
        (WebCore::GraphicsContext3DPrivate::getAttribLocation):
        (WebCore::GraphicsContext3DPrivate::getBooleanv):
        (WebCore::GraphicsContext3DPrivate::getBufferParameteriv):
        (WebCore::GraphicsContext3DPrivate::getContextAttributes):
        (WebCore::GraphicsContext3DPrivate::getError):
        (WebCore::GraphicsContext3DPrivate::getFloatv):
        (WebCore::GraphicsContext3DPrivate::getFramebufferAttachmentParameteriv):
        (WebCore::GraphicsContext3DPrivate::getIntegerv):
        (WebCore::GraphicsContext3DPrivate::getProgramiv):
        (WebCore::GraphicsContext3DPrivate::getProgramInfoLog):
        (WebCore::GraphicsContext3DPrivate::getRenderbufferParameteriv):
        (WebCore::GraphicsContext3DPrivate::getShaderiv):
        (WebCore::GraphicsContext3DPrivate::getShaderInfoLog):
        (WebCore::GraphicsContext3DPrivate::getShaderSource):
        (WebCore::GraphicsContext3DPrivate::getString):
        (WebCore::GraphicsContext3DPrivate::getTexParameterfv):
        (WebCore::GraphicsContext3DPrivate::getTexParameteriv):
        (WebCore::GraphicsContext3DPrivate::getUniformfv):
        (WebCore::GraphicsContext3DPrivate::getUniformiv):
        (WebCore::GraphicsContext3DPrivate::getUniformLocation):
        (WebCore::GraphicsContext3DPrivate::getVertexAttribfv):
        (WebCore::GraphicsContext3DPrivate::getVertexAttribiv):
        (WebCore::GraphicsContext3DPrivate::getVertexAttribOffset):
        (WebCore::GraphicsContext3DPrivate::hint):
        (WebCore::GraphicsContext3DPrivate::isBuffer):
        (WebCore::GraphicsContext3DPrivate::isEnabled):
        (WebCore::GraphicsContext3DPrivate::isFramebuffer):
        (WebCore::GraphicsContext3DPrivate::isProgram):
        (WebCore::GraphicsContext3DPrivate::isRenderbuffer):
        (WebCore::GraphicsContext3DPrivate::isShader):
        (WebCore::GraphicsContext3DPrivate::isTexture):
        (WebCore::GraphicsContext3DPrivate::lineWidth):
        (WebCore::GraphicsContext3DPrivate::linkProgram):
        (WebCore::GraphicsContext3DPrivate::pixelStorei):
        (WebCore::GraphicsContext3DPrivate::polygonOffset):
        (WebCore::GraphicsContext3DPrivate::readPixels):
        (WebCore::GraphicsContext3DPrivate::renderbufferStorage):
        (WebCore::GraphicsContext3DPrivate::sampleCoverage):
        (WebCore::GraphicsContext3DPrivate::scissor):
        (WebCore::GraphicsContext3DPrivate::shaderSource):
        (WebCore::GraphicsContext3DPrivate::stencilFunc):
        (WebCore::GraphicsContext3DPrivate::stencilFuncSeparate):
        (WebCore::GraphicsContext3DPrivate::stencilMask):
        (WebCore::GraphicsContext3DPrivate::stencilMaskSeparate):
        (WebCore::GraphicsContext3DPrivate::stencilOp):
        (WebCore::GraphicsContext3DPrivate::stencilOpSeparate):
        (WebCore::GraphicsContext3DPrivate::texImage2D):
        (WebCore::GraphicsContext3DPrivate::texParameterf):
        (WebCore::GraphicsContext3DPrivate::texParameteri):
        (WebCore::GraphicsContext3DPrivate::texSubImage2D):
        (WebCore::GraphicsContext3DPrivate::uniform1f):
        (WebCore::GraphicsContext3DPrivate::uniform1fv):
        (WebCore::GraphicsContext3DPrivate::uniform1i):
        (WebCore::GraphicsContext3DPrivate::uniform1iv):
        (WebCore::GraphicsContext3DPrivate::uniform2f):
        (WebCore::GraphicsContext3DPrivate::uniform2fv):
        (WebCore::GraphicsContext3DPrivate::uniform2i):
        (WebCore::GraphicsContext3DPrivate::uniform2iv):
        (WebCore::GraphicsContext3DPrivate::uniform3f):
        (WebCore::GraphicsContext3DPrivate::uniform3fv):
        (WebCore::GraphicsContext3DPrivate::uniform3i):
        (WebCore::GraphicsContext3DPrivate::uniform3iv):
        (WebCore::GraphicsContext3DPrivate::uniform4f):
        (WebCore::GraphicsContext3DPrivate::uniform4fv):
        (WebCore::GraphicsContext3DPrivate::uniform4i):
        (WebCore::GraphicsContext3DPrivate::uniform4iv):
        (WebCore::GraphicsContext3DPrivate::uniformMatrix2fv):
        (WebCore::GraphicsContext3DPrivate::uniformMatrix3fv):
        (WebCore::GraphicsContext3DPrivate::uniformMatrix4fv):
        (WebCore::GraphicsContext3DPrivate::useProgram):
        (WebCore::GraphicsContext3DPrivate::validateProgram):
        (WebCore::GraphicsContext3DPrivate::vertexAttrib1f):
        (WebCore::GraphicsContext3DPrivate::vertexAttrib1fv):
        (WebCore::GraphicsContext3DPrivate::vertexAttrib2f):
        (WebCore::GraphicsContext3DPrivate::vertexAttrib2fv):
        (WebCore::GraphicsContext3DPrivate::vertexAttrib3f):
        (WebCore::GraphicsContext3DPrivate::vertexAttrib3fv):
        (WebCore::GraphicsContext3DPrivate::vertexAttrib4f):
        (WebCore::GraphicsContext3DPrivate::vertexAttrib4fv):
        (WebCore::GraphicsContext3DPrivate::vertexAttribPointer):
        (WebCore::GraphicsContext3DPrivate::viewport):
        (WebCore::GraphicsContext3DPrivate::createBuffer):
        (WebCore::GraphicsContext3DPrivate::createFramebuffer):
        (WebCore::GraphicsContext3DPrivate::createProgram):
        (WebCore::GraphicsContext3DPrivate::createRenderbuffer):
        (WebCore::GraphicsContext3DPrivate::createShader):
        (WebCore::GraphicsContext3DPrivate::createTexture):
        (WebCore::GraphicsContext3DPrivate::deleteBuffer):
        (WebCore::GraphicsContext3DPrivate::deleteFramebuffer):
        (WebCore::GraphicsContext3DPrivate::deleteProgram):
        (WebCore::GraphicsContext3DPrivate::deleteRenderbuffer):
        (WebCore::GraphicsContext3DPrivate::deleteShader):
        (WebCore::GraphicsContext3DPrivate::deleteTexture):
        (WebCore::GraphicsContext3DPrivate::synthesizeGLError):
        (WebCore::GraphicsContext3DPrivate::getExtensions):
        * platform/graphics/efl/GraphicsContext3DPrivate.h: Added.
        (WebCore):
        (GraphicsContext3DPrivate):

2012-02-27  Shawn Singh  <shawnsingh@chromium.org>

        RenderLayer ClipRect not accounting for transforms
        https://bugs.webkit.org/show_bug.cgi?id=76486

        Reviewed by Simon Fraser.

        Test: compositing/layer-creation/overlap-transformed-and-clipped.html

        This patch changes calculateClipRects() so that the clipRect
        offset is allowed to be converted across layers with
        transforms. This is necessary because the RenderLayerCompositor
        needs clipRects in document space, rather than with respect to
        some local clipping layer.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateClipRects):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::localToContainerPoint):
        (WebCore):
        * rendering/RenderObject.h:
        (RenderObject):

2012-02-27  Adam Klein  <adamk@chromium.org>

        [MutationObservers] Clear pending mutation records on disconnect()
        https://bugs.webkit.org/show_bug.cgi?id=78639

        Reviewed by Ojan Vafai.

        Test: fast/mutation/disconnect-cancel-pending.html

        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::disconnect): Clear pending records.
        (WebCore::WebKitMutationObserver::deliver): Avoid calling the callback if no records are pending delivery.

2012-02-27  Adam Klein  <adamk@chromium.org>

        Always notify subtree of removal in ContainerNode::removeChildren
        https://bugs.webkit.org/show_bug.cgi?id=79316

        Reviewed by Ryosuke Niwa.

        In the inDocument case, Node::removedFromDocument is called.
        In the out-of-document case, call ContainerNode::removedFromTree to ensure,
        e.g., form-associated elements are properly disconnected.

        Test: fast/forms/form-associated-element-removal.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChildren):

2012-02-27  Adam Barth  <abarth@webkit.org>

        Repair license blocks for files created during modularization
        https://bugs.webkit.org/show_bug.cgi?id=79721

        Reviewed by Eric Seidel.

        We failed to copy the license blocks correctly when moving code into
        these files.  This patch restores the correct license blocks.

        * Modules/geolocation/NavigatorGeolocation.cpp:
        * Modules/geolocation/NavigatorGeolocation.h:
        * Modules/mediastream/NavigatorMediaStream.cpp:
        * Modules/mediastream/NavigatorMediaStream.h:
        * bindings/js/JSDOMWindowWebAudioCustom.cpp:
        * bindings/js/JSDOMWindowWebSocketCustom.cpp:
        * storage/DOMWindowSQLDatabase.cpp:
        * storage/DOMWindowSQLDatabase.h:

2012-02-27  Julien Chaffraix  <jchaffraix@webkit.org>

        Extract the logic for computing the dirty rows / columns out of RenderTableSection::paintObject
        https://bugs.webkit.org/show_bug.cgi?id=79580

        Reviewed by Eric Seidel.

        Refactoring only.

        * rendering/RenderTableSection.h:
        (CellSpan):
        (WebCore::CellSpan::CellSpan):
        (WebCore::CellSpan::start):
        (WebCore::CellSpan::end):
        Added this class to hold the span information.

        (WebCore::RenderTableSection::fullTableRowSpan):
        (WebCore::RenderTableSection::fullTableColumnSpan):
        Those functions return the span corresponding to the full table.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::dirtiedRows):
        (WebCore::RenderTableSection::dirtiedColumns):
        Those functions compute the rows / columns impacted by a |damageRect|. On the slow painting path, they
        return the full table span.

        (WebCore::RenderTableSection::paintObject):
        Updated this function to call the new ones. Also we now inflate the local rectangle with the outlineSize.
        This wasn't done previously and we had to manually patch some size comparison to account for the outline.

2012-02-27  Kentaro Hara  <haraken@chromium.org>

        Rename resolve-supplemental.pl to preprocess-idls.pl
        https://bugs.webkit.org/show_bug.cgi?id=79660

        Reviewed by Adam Barth.

        Due to r108322, resolve-supplemental.pl not only resolves supplemental
        dependencies but also runs IDL attribute checker. For clarification,
        this patch renames resolve-supplemental.pl to preprocess-idls.pl.

        No tests. Confirm that all builds pass.

        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * UseJSC.cmake:
        * UseV8.cmake:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.vcproj/MigrateScripts:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/preprocess-idls.pl: Renamed from Source/WebCore/bindings/scripts/resolve-supplemental.pl.

2012-02-27  Kentaro Hara  <haraken@chromium.org>

        [JSC] Add [ConstructorParameters=] to all custom constructors
        https://bugs.webkit.org/show_bug.cgi?id=78221

        Reviewed by Adam Barth.

        This patch adds [ConstructorParameters=X] to IDL files that have
        custom constructors, where X is the maximum number of arguments
        of the constructor. [ConstructorParameters=X] is needed for custom
        constructors, because custom constructors do not have a signature
        in IDL files and thus CodeGeneratorJS.pm cannot know the number of
        constructor arguments.

        Test: fast/js/constructor-length.html

        * dom/WebKitMutationObserver.idl:
        * html/DOMFormData.idl:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/DataView.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        * webaudio/AudioContext.idl:

        * bindings/scripts/test/TestTypedArray.idl:

        * bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests results.
        (WebCore::JSFloat64ArrayConstructor::finishCreation):

2012-02-23  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [BlackBerry][EFL] Provide dummy RunLoop implementations.
        https://bugs.webkit.org/show_bug.cgi?id=79398

        Reviewed by Antonio Gomes.

        r108067 fixed the EFL build by not building RunLoop.cpp on EFL and
        BlackBerry, as both platforms lack an implementation that provides the
        missing methods for the RunLoop class.

        However, RunLoop.cpp is a generic file which should not be included
        directly in PlatformWinCE.cmake (plus it helps in converting the
        AppleWin port to CMake).

        Fix this by providing a dummy implementation of the missing RunLoop
        methods for both EFL and BlackBerry.

        * CMakeLists.txt:
        * PlatformBlackBerry.cmake:
        * PlatformEfl.cmake:
        * PlatformWinCE.cmake:
        * platform/blackberry/RunLoopBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::RunLoop::RunLoop):
        (WebCore::RunLoop::~RunLoop):
        (WebCore::RunLoop::wakeUp):
        * platform/efl/RunLoopEfl.cpp: Added.
        (WebCore):
        (WebCore::RunLoop::RunLoop):
        (WebCore::RunLoop::~RunLoop):
        (WebCore::RunLoop::wakeUp):

2012-02-27  John Sullivan  <sullivan@apple.com>

        Build fix (on Lion at least).

        * dom/Attr.cpp:
        (WebCore::Attr::childrenChanged):
        Removed names of unused parameters.
        
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::childrenChanged):
        Ditto.

2012-02-27  Kentaro Hara  <haraken@chromium.org>

        Remove [ConstructorParameters] from IDL files that have [Constructor]
        https://bugs.webkit.org/show_bug.cgi?id=79643

        Reviewed by Adam Barth.

        This patch removes [ConstructorParameters] from IDL files that have [Constructor],
        since CodeGeneratorJS.pm can automatically detect the number of constructor
        arguments by the [Constructor(...)] signature.

        Test: fast/js/constructor-length.html

        * Modules/mediastream/PeerConnection.idl:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateConstructorDefinition):
        * css/WebKitCSSMatrix.idl:
        * page/EventSource.idl:
        * workers/SharedWorker.idl:
        * workers/Worker.idl:

2012-02-27  Julien Chaffraix  <jchaffraix@webkit.org>

        Avoid doing 2 hash lookups if we override RenderBox's logical width / height
        https://bugs.webkit.org/show_bug.cgi?id=79591

        Reviewed by Antonio Gomes.

        Refactoring only.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::clearOverrideSize):
        Instead of doing one hash lookup as part of hasOverride{Height|Width}, let's
        just directly call HashMap::remove that will do the lookup instead.

2012-02-27  Adam Klein  <adamk@chromium.org>

        Move WebCore-internal DOM notification methods from Node to ContainerNode where appropriate
        https://bugs.webkit.org/show_bug.cgi?id=79697

        Reviewed by Ryosuke Niwa.

        insertedIntoTree/removedFromTree are only used by subclasses of
        ContainerNode. Moreover, attempting to make use of these notifications
        in a non-container Node would currently not work, because
        Node::removedFromDocument/insertedIntoDocument do not dispatch to these methods.
        Rather than adding useless calls to an always-empty virtual method,
        this patch moves these methods to ContainerNode.

        Meanwhile, childrenChanged moves to ContainerNode for an obvious reason:
        non-container Nodes have no children to change.

        No new tests, refactoring only.

        * dom/Attr.cpp:
        (WebCore::Attr::childrenChanged): Remove call to now-nonexistent Node::childrenChanged.
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChild): Check that the removed child is a container node before notifying it of removal.
        (WebCore::ContainerNode::parserRemoveChild): ditto.
        (WebCore::ContainerNode::insertedIntoTree): Remove call to now-nonexistent Node::insertedIntoTree.
        (WebCore::ContainerNode::removedFromTree): Remove call to now-nonexistent Node::removedFromTree.
        (WebCore::ContainerNode::childrenChanged): Remove call to now-nonexistent Node::childrenChanged.
        (WebCore::notifyChildInserted): Check that the inserted child is a container node before notifying it of insertion.
        * dom/ContainerNode.h:
        (ContainerNode): Migrate comments from Node.h, point back at it for more notification methods.
        * dom/Node.h:
        (Node): Move methods, update comments to point at ContainerNode.h.

2012-02-27  Chris Rogers  <crogers@google.com>

        Implement static compression curve parameters for DynamicsCompressorNode
        https://bugs.webkit.org/show_bug.cgi?id=78937

        Reviewed by Kenneth Russell.

        Test: webaudio/dynamicscompressor-basic.html

        * platform/audio/DynamicsCompressor.cpp:
        (WebCore::DynamicsCompressor::setParameterValue):
        (WebCore):
        (WebCore::DynamicsCompressor::initializeParameters):
        (WebCore::DynamicsCompressor::process):
        * platform/audio/DynamicsCompressor.h:
        * platform/audio/DynamicsCompressorKernel.cpp:
        (WebCore):
        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
        (WebCore::DynamicsCompressorKernel::setPreDelayTime):
        (WebCore::DynamicsCompressorKernel::kneeCurve):
        (WebCore::DynamicsCompressorKernel::saturate):
        (WebCore::DynamicsCompressorKernel::slopeAt):
        (WebCore::DynamicsCompressorKernel::kAtSlope):
        (WebCore::DynamicsCompressorKernel::updateStaticCurveParameters):
        (WebCore::DynamicsCompressorKernel::process):
        * platform/audio/DynamicsCompressorKernel.h:
        (DynamicsCompressorKernel):
        (WebCore::DynamicsCompressorKernel::meteringGain):
        * webaudio/DynamicsCompressorNode.cpp:
        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
        (WebCore::DynamicsCompressorNode::process):
        * webaudio/DynamicsCompressorNode.h:
        (WebCore):
        (WebCore::DynamicsCompressorNode::create):
        (DynamicsCompressorNode):
        (WebCore::DynamicsCompressorNode::threshold):
        (WebCore::DynamicsCompressorNode::knee):
        (WebCore::DynamicsCompressorNode::ratio):
        (WebCore::DynamicsCompressorNode::reduction):
        * webaudio/DynamicsCompressorNode.idl:

2012-02-27  Enrica Casucci  <enrica@apple.com>

        WebKit2: implement platform strategy to access Pasteboard in the UI process.
        https://bugs.webkit.org/show_bug.cgi?id=79253
        <rdar://problem/9971876>

        Reviewed by Alexey Proskuryakov.

        No new tests. No behavior change.

        * platform/mac/PlatformPasteboardMac.mm:
        (WebCore::PlatformPasteboard::bufferForType): There is no need
        to create a SharedBuffer object if there is no NSData in the pasteboard
        for the given pasteboard type.

2012-02-27  Adrienne Walker  <enne@google.com>

        [chromium] Unreviewed speculative Chromium win build fix.

        mdelaney's http://trac.webkit.org/changeset/109016 changed the
        interface on ImageBuffer, but didn't update TransparencyWin.

        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::OwnedBuffers::canHandleSize):

2012-02-27  Matthew Delaney  <mdelaney@apple.com>

        Add ImageBuffer support for having a hi-res backing store. This allows
        ImageBuffer clients to specify a scale factor upon creation so that they
        don't have to maintain that info themselves as they use/pass around the ImageBuffer.
        https://bugs.webkit.org/show_bug.cgi?id=79395

        Reviewed by Dan Bernstein.

        No new tests. This patch doesn't change behavior.

        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::create): Scale the backing store by the resolution scale.
        (WebCore::ImageBuffer::logicalSize): Differentiate the logical size from the backing store's size.
        (WebCore::ImageBuffer::internalSize): The backing store's size.

        * platform/graphics/cg/ImageBufferCG.cpp: Prefer the explicit use of logicalSize and internalSize.

        Explicitly state a 1x scale for all ImageBuffer creation sites
        since this is what they currently assume.
        * html/HTMLCanvasElement.cpp:
        * html/canvas/CanvasRenderingContext2D.cpp:
        * html/canvas/WebGLRenderingContext.cpp:
        * page/Frame.cpp:
        * platform/graphics/CrossfadeGeneratedImage.cpp:
        * platform/graphics/ShadowBlur.cpp:
        * platform/graphics/filters/FEColorMatrix.cpp:
        * platform/graphics/filters/FEDropShadow.cpp:
        * platform/graphics/filters/FilterEffect.cpp:
        * platform/mac/ScrollbarThemeMac.mm:
        * rendering/FilterEffectRenderer.cpp:
        * rendering/RenderThemeMac.mm:
        * rendering/svg/SVGImageBufferTools.cpp:
        * svg/graphics/SVGImage.cpp:
        * svg/graphics/SVGImageCache.cpp:

        Update ImageBuffer::size() calls to new versions.
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/ImageBuffer.cpp:
        * platform/graphics/skia/PlatformContextSkia.cpp:

2012-02-27  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]-webkit-flow-into initial value should be none instead of auto
        https://bugs.webkit.org/show_bug.cgi?id=79670

        Reviewed by Simon Fraser.

        No new tests, modified expectations for existing tests.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFlowThread):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

2012-02-27  Ojan Vafai  <ojan@chromium.org>

        implement display: -webkit-inline-flexbox
        https://bugs.webkit.org/show_bug.cgi?id=77772

        Reviewed by David Hyatt.

        Tests: css3/flexbox/inline-flexbox-expected.html
               css3/flexbox/inline-flexbox.html

        * rendering/style/RenderStyle.h:
        -Add INLINE_FLEXBOX to the list of replaced display types.
        -Restructure the isDisplayInline methods to avoid code duplication.

2012-02-27  Ken Buchanan  <kenrb@chromium.org>

        Absolute positioned elements with Inline Relative Positioned Container are not layout correctly
        https://bugs.webkit.org/show_bug.cgi?id=78713

        Reviewed by David Hyatt.

        Test: fast/css/positioned-in-relative-position-inline-crash.html

        Patch originally by Robin Cao.

        This is a regression. r104183 changes containingBlock() so that it returns the container
        of an anonymous block for positioned objects, not the anonymous block itself. We should
        change markContainingBlocksForLayout() to match the change in containingBlock().

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::markContainingBlocksForLayout):

2012-02-27  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: move record formatting into the timeline presentation model.
        https://bugs.webkit.org/show_bug.cgi?id=79684

        Drive-by: fix for stop recording in reset; cpu time restored.

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/TimelineModel.js:
        (WebInspector.TimelineModel.prototype.reset):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype.update.updateBoundaries):
        (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._rootRecord):
        (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
        (WebInspector.TimelinePanel.prototype._repopulateRecords):
        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.prototype._resetPanel):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype._updateBoundaries):
        (WebInspector.TimelinePanel.prototype._filterRecords):
        (WebInspector.TimelinePanel.prototype.revealRecordAt):
        (WebInspector.TimelinePanel.prototype._showPopover):
        (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
        (WebInspector.TimelineCalculator.prototype.updateBoundaries):
        (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages):
        (WebInspector.TimelineRecordGraphRow):
        (WebInspector.TimelineRecordGraphRow.prototype.update):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel):
        (WebInspector.TimelinePresentationModel.prototype.createFormattedRecord):
        (WebInspector.TimelinePresentationModel.prototype._createRootRecord):
        (WebInspector.TimelinePresentationModel.prototype.rootRecord):
        (WebInspector.TimelinePresentationModel.prototype.reset):
        (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
        (WebInspector.TimelinePresentationModel.prototype._resetWindow):
        (WebInspector.TimelinePresentationModel.prototype._addCategory):
        (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility):
        (WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
        (WebInspector.TimelinePresentationModel.Record):
        (WebInspector.TimelinePresentationModel.Record.prototype.get lastChildEndTime):
        (WebInspector.TimelinePresentationModel.Record.prototype.set lastChildEndTime):
        (WebInspector.TimelinePresentationModel.Record.prototype.get selfTime):
        (WebInspector.TimelinePresentationModel.Record.prototype.set selfTime):
        (WebInspector.TimelinePresentationModel.Record.prototype.get cpuTime):
        (WebInspector.TimelinePresentationModel.Record.prototype.isLong):
        (WebInspector.TimelinePresentationModel.Record.prototype.get children):
        (WebInspector.TimelinePresentationModel.Record.prototype.containsTime):
        (WebInspector.TimelinePresentationModel.Record.prototype._generateAggregatedInfo):
        (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
        (WebInspector.TimelinePresentationModel.Record.prototype._refreshDetails):
        (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
        (WebInspector.TimelinePresentationModel.Record.prototype._linkifyLocation):
        (WebInspector.TimelinePresentationModel.Record.prototype._linkifyCallFrame):
        (WebInspector.TimelinePresentationModel.Record.prototype._linkifyTopCallFrame):
        (WebInspector.TimelinePresentationModel.Record.prototype._linkifyScriptLocation):
        (WebInspector.TimelinePresentationModel.Record.prototype.calculateAggregatedStats):
        (WebInspector.TimelinePresentationModel.Record.prototype.get aggregatedStats):
        (WebInspector.TimelinePresentationModel.PopupContentHelper):
        (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._createCell):
        (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendTextRow):
        (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendElementRow):
        (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendStackTrace):
        * inspector/front-end/timelinePanel.css:
        (.timeline-graph-bar.cpu):

2012-02-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Scripts navigator overlay should not consume mouse actions.
        https://bugs.webkit.org/show_bug.cgi?id=79674

        Reviewed by Pavel Feldman.

        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.registerShortcut):
        (WebInspector.Panel.prototype.unregisterShortcut):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._editorClosed):
        (WebInspector.ScriptsPanel.prototype._editorSelected):
        (WebInspector.ScriptsPanel.prototype._fileSelected):
        (WebInspector.ScriptsPanel.prototype._escDownWhileNavigatorOverlayOpen):
        (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay):
        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
        (WebInspector.ScriptsPanel.prototype._navigatorOverlayWasShown):
        * inspector/front-end/SidebarOverlay.js:
        (WebInspector.SidebarOverlay):
        (WebInspector.SidebarOverlay.prototype.show):
        (WebInspector.SidebarOverlay.prototype._containingElementFocused):
        (WebInspector.SidebarOverlay.prototype.position):
        (WebInspector.SidebarOverlay.prototype.hide):
        (WebInspector.SidebarOverlay.prototype._setWidth):
        * inspector/front-end/dialog.css:
        (.go-to-line-dialog button:active):
        * inspector/front-end/scriptsPanel.css:
        (#scripts-editor-view .sidebar-overlay):
        * inspector/front-end/splitView.css:
        (.split-view-resizer):
        (.sidebar-overlay):
        (.sidebar-overlay-resizer):

2012-02-27  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] 0.11 support in MediaPlayerPrivateGStreamer
        https://bugs.webkit.org/show_bug.cgi?id=77089

        Reviewed by Martin Robinson.

        Basic port to GStreamer 0.11 APIs. This patch excludes the video
        painting changes and the GStreamerGWorld changes which are handled
        in two other patches (bugs 77087 and 77088).

        * GNUmakefile.list.am: Add GStreamerVersioning files to the build.
        * Source/WebCore/PlatformEfl.cmake: Ditto.
        * Source/WebCore/Target.pri: Ditto.
        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
        (WTF::GstElement):
        (WTF::GstPad):
        (WTF::GstPadTemplate):
        (WTF::GstTask):
        * platform/graphics/gstreamer/GStreamerVersioning.cpp: Added.
        (webkit_gst_object_ref_sink):
        (webkit_gst_element_get_pad_caps):
        * platform/graphics/gstreamer/GStreamerVersioning.h: Added.
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::isAvailable):
        (WebCore::MediaPlayerPrivateGStreamer::duration):
        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):

2012-02-27  Philip Rogers  <pdr@google.com>

        Stop recomputing SVG path data twice during layout
        https://bugs.webkit.org/show_bug.cgi?id=79672

        Reviewed by Nikolas Zimmermann.

        * rendering/svg/RenderSVGShape.cpp:
        (WebCore::RenderSVGShape::layout):

2012-02-27  Timothy Hatcher  <timothy@apple.com>

        Updated for WebKit2 string changes.

        https://webkit.org/b/79649

        Reviewed by John Sullivan.

        * English.lproj/Localizable.strings: Updated.

2012-02-27  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: Ctrl+K should not zoom in
        https://bugs.webkit.org/show_bug.cgi?id=79676

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):

2012-02-27  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: extract TimelineModel and TimelinePresentationModel into their own files.
        https://bugs.webkit.org/show_bug.cgi?id=79675

        Reviewed by Vsevolod Vlasov.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/TimelineAgent.js: Removed.
        * inspector/front-end/TimelineModel.js: Added.
        (WebInspector.TimelineModel):
        (WebInspector.TimelineModel.prototype.startRecord):
        (WebInspector.TimelineModel.prototype.stopRecord):
        (WebInspector.TimelineModel.prototype.get records):
        (WebInspector.TimelineModel.prototype._onRecordAdded):
        (WebInspector.TimelineModel.prototype._addRecord):
        (WebInspector.TimelineModel.prototype._loadNextChunk):
        (WebInspector.TimelineModel.prototype._loadFromFile):
        (WebInspector.TimelineModel.prototype._loadFromFile.onError):
        (WebInspector.TimelineModel.prototype._saveToFile):
        (WebInspector.TimelineModel.prototype._reset):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype.get _recordStyles):
        (WebInspector.TimelinePanel.prototype._createEventDivider):
        (WebInspector.TimelinePanel.prototype._findParentRecord):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelinePanel.FormattedRecord):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
        * inspector/front-end/TimelinePresentationModel.js: Added.
        (WebInspector.TimelinePresentationModel):
        (WebInspector.TimelinePresentationModel.prototype.reset):
        (WebInspector.TimelinePresentationModel.prototype.get categories):
        (WebInspector.TimelinePresentationModel.prototype.addCategory):
        (WebInspector.TimelinePresentationModel.prototype.setWindowPosition):
        (WebInspector.TimelinePresentationModel.prototype.setWindowIndices):
        (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-02-27  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Allow adding CSS properties anywhere in the style declaration, not only at the end
        https://bugs.webkit.org/show_bug.cgi?id=79662

        Reviewed by Pavel Feldman.

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setValue):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype._applyUserInput):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick):
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
        (WebInspector.StylePropertyTreeElement.prototype):
        (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
        (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert):

2012-02-27  Pavel Feldman  <pfeldman@google.com>

        [Shadow]: Expose one ShadowRoot in the Elements panel (under experiment flag)
        https://bugs.webkit.org/show_bug.cgi?id=78202

        Reviewed by Yury Semikhatsky.

        * dom/ShadowTree.cpp:
        (WebCore::ShadowTree::pushShadowRoot):
        (WebCore::ShadowTree::popShadowRoot):
        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::unbind):
        (WebCore::InspectorDOMAgent::assertEditableNode):
        (WebCore::InspectorDOMAgent::assertEditableElement):
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::setAttributeValue):
        (WebCore::InspectorDOMAgent::setAttributesAsText):
        (WebCore::InspectorDOMAgent::removeAttribute):
        (WebCore::InspectorDOMAgent::removeNode):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::setNodeValue):
        (WebCore::InspectorDOMAgent::moveTo):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::didPushShadowRoot):
        (WebCore):
        (WebCore::InspectorDOMAgent::willPopShadowRoot):
        * inspector/InspectorDOMAgent.h:
        (WebCore):
        (InspectorDOMAgent):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didPushShadowRootImpl):
        (WebCore):
        (WebCore::InspectorInstrumentation::willPopShadowRootImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore):
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::didPushShadowRoot):
        (WebCore::InspectorInstrumentation::willPopShadowRoot):
        * inspector/PageConsoleAgent.cpp:
        (WebCore::PageConsoleAgent::addInspectedNode):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.DOMNode.prototype.hasChildNodes):
        (WebInspector.DOMNode.prototype.isInShadowTree):
        (WebInspector.DOMNode.prototype._insertChild):
        (WebInspector.DOMNode.prototype._setChildrenPayload):
        (WebInspector.DOMDocument):
        (WebInspector.DOMAgent.prototype._setDetachedRoot):
        (WebInspector.DOMAgent.prototype._shadowRootPopped):
        (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
        (WebInspector.DOMDispatcher.prototype.shadowRootPushed):
        (WebInspector.DOMDispatcher.prototype.shadowRootPopped):
        * inspector/front-end/ElementsTreeOutline.js:
        * inspector/front-end/MemoryStatistics.js:
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/inspector.css:
        (.webkit-html-tag.shadow, .webkit-html-fragment.shadow):

2012-02-27  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] remove dependencies from TimelinePanel from most of FormattedRecord
        https://bugs.webkit.org/show_bug.cgi?id=79665

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.FormattedRecord):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyLocation):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyCallFrame):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyTopCallFrame):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyScriptLocation):
        (WebInspector.TimelinePanel.PopupContentHelper):
        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):

2012-02-27  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: reveal corresponding timeline record when user clicks on memory graph
        https://bugs.webkit.org/show_bug.cgi?id=79669

        When user clicks on DOM counter graph corresponding timeline record is
        revealed in timelime grid and all its ancestors are expanded.

        Reviewed by Pavel Feldman.

        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.MemoryStatistics.prototype._onClick):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype.update):
        (WebInspector.HeapGraph.prototype.update):
        (WebInspector.HeapGraph.prototype._clear):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype.revealRecordAt.recordFinder):
        (WebInspector.TimelinePanel.prototype.revealRecordAt):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelinePanel.forAllRecords):
        (WebInspector.TimelinePanel.FormattedRecord.prototype.containsTime):

2012-02-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed single line fix for r108983.

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype.willHide):

2012-02-27  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: repaint counter graphs when timeline splitter moves
        https://bugs.webkit.org/show_bug.cgi?id=79644

        Immediately refresh timeline panel on splitter move.

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._splitterDragging):

2012-02-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.am: Add missing files.
        * GNUmakefile.list.am: Ditto.

2012-02-27  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Build fix after r108709.

        * CMakeLists.txt: Move DOMWindowSVG.idl to the other IDL files.

2012-02-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: [chromium] Profiles - Tooltip with object/property types stays on screen when another tab selected
        https://bugs.webkit.org/show_bug.cgi?id=79654

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype.willHide):

2012-02-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Remove page/PageSupplement.h from WebCore's Target.pri

        The file itself was removed in r108958.

        Reviewed by Kenneth Rohde Christiansen.

        * Target.pri:

2012-02-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Use USE() macro instead of ENABLE() for using the Qt image decoder

        Reviewed by Kenneth Rohde Christiansen..

        * Target.pri:
        * WebCore.pri:
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):
        (WebCore::initializeSupportedImageMIMETypesForEncoding):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageFrame::getAddr):
        (ImageFrame):
        * platform/image-decoders/qt/ImageFrameQt.cpp:
        (WebCore):
        (WebCore::ImageFrame::asNewNativeImage):

2012-02-27  MORITA Hajime  <morrita@google.com>

        Removing <ul>, <li> inside shadow DOM triggers assertion in updateListMarkerNumbers
        https://bugs.webkit.org/show_bug.cgi?id=72440

        Reviewed by Ryosuke Niwa.

        This problem was caused by the inconsistent detach order of DOM tree where
        Element::detach() called ContainerNode::detach() before shadow tree is detached.
        This resulted the renderer of the element being destroyed even if its children,
        each of which came from an element in the shadow tree, are alive.
        In principle, child renderers should be destroyed before its parent.

        This change aligns the detach order with the attach order. The shadow tree is
        now deatched before parent's ContainerNode::detach() is called.

        Test: fast/dom/shadow/shadow-ul-li.html

        * dom/Element.cpp:
        (WebCore::Element::detach):

2012-02-27  Keishi Hattori  <keishi@webkit.org>

        Color input type should be clickable through keyboard
        https://bugs.webkit.org/show_bug.cgi?id=79629

        Reviewed by Kent Tamura.

        Introduced BaseClickableWithKeyInputType that represents an input type
        that can be clicked by pressing space/return keys.
        ColorInputType, FileInputType directly inherit it because it doesn't
        want the other methods(like appendFormData) in BaseButtonInputType.

        * CMakeLists.txt: Added BaseClickableWithKeyInputType.cpp
        * GNUmakefile.list.am: Added BaseClickableWithKeyInputType.{cpp,h}
        * Target.pri: Added BaseClickableWithKeyInputType.{cpp,h}
        * WebCore.gypi: Added BaseClickableWithKeyInputType.{cpp,h}
        * WebCore.vcproj/WebCore.vcproj: Added BaseClickableWithKeyInputType.{cpp,h}
        * WebCore.xcodeproj/project.pbxproj: Added BaseClickableWithKeyInputType.{cpp,h}
        * html/BaseButtonInputType.cpp:
        * html/BaseButtonInputType.h:
        (WebCore::BaseButtonInputType::BaseButtonInputType): Inherits BaseClickableWithKeyInputType now.
        (BaseButtonInputType):
        * html/BaseCheckableInputType.cpp: Changed comment.
        * html/BaseClickableWithKeyInputType.cpp:
        (WebCore):
        (WebCore::BaseClickableWithKeyInputType::handleKeydownEvent): Moved from BaseButtonInputType
        (WebCore::BaseClickableWithKeyInputType::handleKeypressEvent): Moved from BaseButtonInputType
        (WebCore::BaseClickableWithKeyInputType::handleKeyupEvent): Moved from BaseButtonInputType
        (WebCore::BaseClickableWithKeyInputType::accessKeyAction): Moved from BaseButtonInputType
        * html/BaseClickableWithKeyInputType.h:
        (WebCore):
        (BaseClickableWithKeyInputType): Input type that can be clicked by pressing space/return keys.
        (WebCore::BaseClickableWithKeyInputType::BaseClickableWithKeyInputType):
        * html/ColorInputType.h:
        (WebCore::ColorInputType::ColorInputType): Inherits BaseClickableWithKeyInputType now.
        * html/FileInputType.cpp:
        (WebCore::FileInputType::FileInputType):
        * html/FileInputType.h:
        (FileInputType): Inherits BaseClickableWithKeyInputType now.
        * html/RangeInputType.cpp: Changed comment.
        (WebCore):

2012-02-27  Keishi Hattori  <keishi@webkit.org>

        Add missing include to ColorInputType.cpp
        https://bugs.webkit.org/show_bug.cgi?id=79632

        Reviewed by Kent Tamura.

        * html/ColorInputType.cpp: Include ShadowTree.h

2012-02-27  Andrey Kosyakov  <caseq@chromium.org>

        Use built-in bind in ExtensionAPI.js

        Web Inspector: [Extensions API] get rid of custom bind() in favor of built-in
        https://bugs.webkit.org/show_bug.cgi?id=79570

        Reviewed by Pavel Feldman.

        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.EventSinkImpl.prototype.addListener):
        (injectedExtensionAPI):
        (injectedExtensionAPI.Panels.prototype.create):
        (injectedExtensionAPI.AuditResultImpl):
        (injectedExtensionAPI.ExtensionServerClient):

2012-02-21  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: get rid of RawSourceCode.sourceMapping getter.
        https://bugs.webkit.org/show_bug.cgi?id=79461

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
        (WebInspector.BreakpointManager.prototype.setBreakpoint):
        (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
        (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype.get location):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.rawLocationToUILocation):
        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
        (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
        (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
        (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
        (WebInspector.DebuggerPresentationModel.prototype._restoreExecutionLine):
        (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        (WebInspector.PresentationCallFrame.prototype.uiLocation):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
        (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
        (WebInspector.RawSourceCode.prototype.uiSourceCodeList):
        (WebInspector.RawSourceCode.prototype._saveSourceMapping):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._updateCallFrame):
        * inspector/front-end/ScriptsSearchScope.js:
        (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):

2012-02-27  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Implement NamedFlow::getRegionsByContentNode
        https://bugs.webkit.org/show_bug.cgi?id=77746

        Reviewed by David Hyatt.

        Tests: fast/regions/get-regions-by-content-node-horiz-bt.html
               fast/regions/get-regions-by-content-node-horiz-tb.html
               fast/regions/get-regions-by-content-node-vert-lr.html
               fast/regions/get-regions-by-content-node-vert-rl.html
               fast/regions/get-regions-by-content-node.html
               fast/regions/get-regions-by-content-node2.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Node.cpp:
        (WebCore::Node::removeCachedRegionNodeList):
        (WebCore):
        (WebCore::Node::getRegionsByContentNode):
        (WebCore::NodeListsNodeData::invalidateCaches):
        (WebCore::NodeListsNodeData::isEmpty):
        * dom/Node.h:
        (WebCore):
        (Node):
        * dom/NodeRareData.h:
        (NodeListsNodeData):
        * dom/RegionNodeList.cpp:
        (WebCore):
        (WebCore::RegionNodeList::RegionNodeList):
        (WebCore::RegionNodeList::~RegionNodeList):
        (WebCore::RegionNodeList::nodeMatches):
        * dom/RegionNodeList.h:
        (WebCore):
        (RegionNodeList):
        (WebCore::RegionNodeList::create):
        * dom/WebKitNamedFlow.cpp:
        (WebCore::WebKitNamedFlow::getRegionsByContentNode):
        (WebCore):
        * dom/WebKitNamedFlow.h:
        (WebCore):
        (WebKitNamedFlow):
        * dom/WebKitNamedFlow.idl:
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::regionInRange):
        (WebCore):
        (WebCore::RenderFlowThread::objectInFlowRegion):
        * rendering/RenderFlowThread.h:
        * rendering/RenderRegion.h:
        (WebCore::RenderRegion::flowThread):

2012-02-27  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: counter graphs should resize after console showing
        https://bugs.webkit.org/show_bug.cgi?id=79640

        Invoke Panel.doResize after showing drawer.

        Reviewed by Pavel Feldman.

        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):

2012-02-27  Dan Beam  <dbeam@chromium.org>

        Web Inspector: Close TabbedPanes on middle click of tab handle
        https://bugs.webkit.org/show_bug.cgi?id=79518

        Reviewed by Pavel Feldman.

        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPaneTab.prototype._createTabElement):
        (WebInspector.TabbedPaneTab.prototype._tabClicked):

2012-02-26  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: crash in fake workers
        https://bugs.webkit.org/show_bug.cgi?id=79637

        Notify front-end about worker creation/destruction synchronously instead of
        posting a task.

        Reviewed by Pavel Feldman.

        * inspector/InspectorAgent.cpp:
        (WebCore):
        (WebCore::InspectorAgent::didCreateWorker):
        (WebCore::InspectorAgent::didDestroyWorker):
        * inspector/InspectorAgent.h:
        (InspectorAgent):

2012-02-26  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Fix some warnings in the build from referencing the non-existent
        websockets directory.

        * WebCore.gyp/WebCore.gyp:

2012-02-26  Shinya Kawanaka  <shinyak@chromium.org>

        Rename ShadowRootList to ShadowTree.
        https://bugs.webkit.org/show_bug.cgi?id=79342

        Reviewed by Hajime Morita.

        This patch renames ShadowRootList ot ShadowTree.

        No new tests, no change in behavior.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/Document.cpp:
        (WebCore::Document::buildAccessKeyMap):
        * dom/Element.cpp:
        (WebCore::Element::willRemove):
        (WebCore::Element::insertedIntoDocument):
        (WebCore::Element::removedFromDocument):
        (WebCore::Element::insertedIntoTree):
        (WebCore::Element::removedFromTree):
        (WebCore::Element::attach):
        (WebCore::Element::detach):
        (WebCore::Element::recalcStyle):
        (WebCore::Element::hasShadowRoot):
        (WebCore::Element::shadowTree):
        (WebCore::Element::setShadowRoot):
        (WebCore::Element::ensureShadowRoot):
        (WebCore::Element::removeShadowRoot):
        (WebCore::Element::childrenChanged):
        * dom/Element.h:
        (WebCore):
        (Element):
        * dom/ElementRareData.h:
        (ElementRareData):
        (WebCore::ElementRareData::~ElementRareData):
        * dom/Node.cpp:
        (WebCore::oldestShadowRoot):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::NodeRenderingContext::hostChildrenChanged):
        (WebCore::NodeRenderingContext::shouldCreateRenderer):
        * dom/NodeRenderingContext.h:
        (WebCore):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::tree):
        (WebCore::ShadowRoot::attach):
        * dom/ShadowRoot.h:
        (WebCore):
        (ShadowRoot):
        * dom/ShadowTree.cpp: Renamed from Source/WebCore/dom/ShadowRootList.cpp.
        (WebCore):
        (WebCore::ShadowTree::ShadowTree):
        (WebCore::ShadowTree::~ShadowTree):
        (WebCore::ShadowTree::pushShadowRoot):
        (WebCore::ShadowTree::popShadowRoot):
        (WebCore::ShadowTree::insertedIntoDocument):
        (WebCore::ShadowTree::removedFromDocument):
        (WebCore::ShadowTree::insertedIntoTree):
        (WebCore::ShadowTree::removedFromTree):
        (WebCore::ShadowTree::willRemove):
        (WebCore::ShadowTree::attach):
        (WebCore::ShadowTree::detach):
        (WebCore::ShadowTree::insertionPointFor):
        (WebCore::ShadowTree::isSelectorActive):
        (WebCore::ShadowTree::reattach):
        (WebCore::ShadowTree::childNeedsStyleRecalc):
        (WebCore::ShadowTree::needsStyleRecalc):
        (WebCore::ShadowTree::recalcShadowTreeStyle):
        (WebCore::ShadowTree::needsReattachHostChildrenAndShadow):
        (WebCore::ShadowTree::hostChildrenChanged):
        (WebCore::ShadowTree::setNeedsReattachHostChildrenAndShadow):
        (WebCore::ShadowTree::reattachHostChildrenAndShadow):
        (WebCore::ShadowTree::ensureSelector):
        * dom/ShadowTree.h: Renamed from Source/WebCore/dom/ShadowRootList.h.
        (WebCore):
        (ShadowTree):
        (WebCore::ShadowTree::hasShadowRoot):
        (WebCore::ShadowTree::youngestShadowRoot):
        (WebCore::ShadowTree::oldestShadowRoot):
        (WebCore::ShadowTree::selector):
        (WebCore::ShadowTree::clearNeedsReattachHostChildrenAndShadow):
        (WebCore::ShadowTree::host):
        * dom/TreeScopeAdopter.cpp:
        (WebCore::shadowRootFor):
        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::createShadowSubtree):
        (WebCore::ColorInputType::shadowColorSwatch):
        * html/FileInputType.cpp:
        (WebCore::FileInputType::createShadowSubtree):
        (WebCore::FileInputType::multipleAttributeChanged):
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::findMainSummary):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::shadowSelect):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaControls):
        (WebCore::HTMLMediaElement::hasMediaControls):
        * html/HTMLSummaryElement.cpp:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::innerTextElement):
        (WebCore::HTMLTextAreaElement::updatePlaceholderText):
        * html/InputType.cpp:
        (WebCore::InputType::destroyShadowSubtree):
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleMouseDownEvent):
        (WebCore::RangeInputType::createShadowSubtree):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::createShadowSubtree):
        (WebCore::TextFieldInputType::updatePlaceholderText):
        * html/ValidationMessage.cpp:
        (WebCore::ValidationMessage::deleteBubbleTree):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::attach):
        (WebCore::HTMLContentElement::detach):
        (WebCore::HTMLContentElement::parseAttribute):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::sliderThumbElementOf):
        (WebCore::RenderSliderContainer::layout):
        (WebCore::trackLimiterElementOf):
        * page/FocusController.cpp:
        (WebCore::shadowRoot):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::uploadButton):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::updateReferencedText):
        (WebCore::SVGTRefElement::detachTarget):
        * testing/Internals.cpp:
        (WebCore::Internals::ensureShadowRoot):
        (WebCore::Internals::youngestShadowRoot):
        (WebCore::Internals::oldestShadowRoot):

2012-02-26  Adam Barth  <abarth@webkit.org>

        Extract Supplementable base class from Page and Navigator
        https://bugs.webkit.org/show_bug.cgi?id=79624

        Reviewed by Hajime Morita.

        We'll use this pattern again soon for ScriptExecutionContext.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Modules/gamepad/NavigatorGamepad.cpp:
        (WebCore::NavigatorGamepad::from):
        * Modules/gamepad/NavigatorGamepad.h:
        * Modules/geolocation/NavigatorGeolocation.cpp:
        (WebCore::NavigatorGeolocation::from):
        * Modules/geolocation/NavigatorGeolocation.h:
        * Modules/mediastream/NavigatorMediaStream.cpp:
        (WebCore::NavigatorMediaStream::webkitGetUserMedia):
        * Modules/mediastream/UserMediaController.cpp:
        (WebCore::provideUserMediaTo):
        * Modules/mediastream/UserMediaController.h:
        (WebCore::UserMediaController::from):
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DeviceMotionController.cpp:
        (WebCore::provideDeviceMotionTo):
        * dom/DeviceMotionController.h:
        (WebCore::DeviceMotionController::from):
        * dom/DeviceOrientationController.cpp:
        (WebCore::provideDeviceOrientationTo):
        * dom/DeviceOrientationController.h:
        (WebCore):
        (WebCore::DeviceOrientationController::from):
        * notifications/NotificationController.cpp:
        (WebCore::provideNotification):
        * notifications/NotificationController.h:
        (WebCore):
        (WebCore::NotificationController::from):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::page):
        (WebCore):
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        (WebCore::DOMWindow::removeAllEventListeners):
        * page/DOMWindow.h:
        (WebCore):
        (DOMWindow):
        * page/Navigator.cpp:
        (WebCore):
        * page/Navigator.h:
        (Navigator):
        * page/NavigatorSupplement.cpp: Removed.
        * page/NavigatorSupplement.h: Removed.
        * page/Page.cpp:
        (WebCore):
        * page/Page.h:
        (Page):
        * page/PageSupplement.cpp: Removed.
        * page/PageSupplement.h: Removed.
        * page/SpeechInput.cpp:
        (WebCore::provideSpeechInputTo):
        * page/SpeechInput.h:
        (WebCore::SpeechInput::from):
        * platform/Supplementable.h: Added.
        (WebCore):
        (Supplement):
        (WebCore::Supplement::~Supplement):
        (WebCore::Supplement::provideTo):
        (WebCore::Supplement::from):
        (Supplementable):
        (WebCore::Supplementable::provideSupplement):
        (WebCore::Supplementable::requireSupplement):

2012-02-26  Hajime Morrita  <morrita@chromium.org>

        Move ChromeClient::showContextMenu() to ContextMenuClient
        https://bugs.webkit.org/show_bug.cgi?id=79427

        Reviewed by Adam Barth.

        - Removed ChromeClient::showContextMenu(), Chrome::showContextMenu()
        - Added ContextMenuController::showContextMenuAt(), ContextMenuClient::showContextMenu()
        - Hided showContextMenu() behind ACCESSIBILITY_CONTEXT_MENUS

        This change localizes context menu related code and will make it easy to
        modularize CONTEXT_MENUS code.

        Refactoring. No new tests.

        * WebCore.exp.in:
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
        * loader/EmptyClients.h:
        (EmptyContextMenuClient):
        (WebCore::EmptyContextMenuClient::showContextMenu):
        * page/ContextMenuClient.h:
        (ContextMenuClient):
        * page/ContextMenuController.cpp:
        (WebCore):
        (WebCore::ContextMenuController::showContextMenuAt):
        * page/ContextMenuController.h:
        (ContextMenuController):
        * page/Chrome.cpp:
        * page/Chrome.h:
        (Chrome):
        * page/ChromeClient.h:
        (ChromeClient):

2012-02-26  Benjamin Poulain  <bpoulain@apple.com>

        [Mac] Release localized Strings instead of AutoRelease
        https://bugs.webkit.org/show_bug.cgi?id=79552

        Reviewed by Sam Weinig.

        By using the CoreFoundation API, we can release the memory as soon as
        the WTF::String is created.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/LocalizedStringsMac.cpp: Renamed from Source/WebCore/platform/mac/LocalizedStringsMac.mm.
        (WebCore):
        (WebCore::localizedString):

2012-02-26  Adam Barth  <abarth@webkit.org>

        ContextDestructionObserver should live in its own file
        https://bugs.webkit.org/show_bug.cgi?id=79619

        Reviewed by Hajime Morita.

        WebKit prefers to have one class per file.  (This patch is paying a
        build system hacking debt I incurred earlier.)

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ActiveDOMObject.cpp:
        (WebCore):
        * dom/ActiveDOMObject.h:
        (ActiveDOMObject):
        (WebCore::ActiveDOMObject::suspendIfNeededCalled):
        (WebCore::ActiveDOMObject::setPendingActivity):
        (WebCore::ActiveDOMObject::unsetPendingActivity):
        * dom/ContextDestructionObserver.cpp: Added.
        (WebCore):
        (WebCore::ContextDestructionObserver::ContextDestructionObserver):
        (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
        (WebCore::ContextDestructionObserver::contextDestroyed):
        * dom/ContextDestructionObserver.h: Added.
        (WebCore):
        (ContextDestructionObserver):
        (WebCore::ContextDestructionObserver::scriptExecutionContext):
        * dom/DOMAllInOne.cpp:

2012-02-26  Dirk Schulze  <krit@webkit.org>

        Cleanup of Adobes copyright text. The text got harmonized with copyright texts of other companies. 

        Rubber stamped by.

        * css/CSSWrapShapes.cpp:
        * css/CSSWrapShapes.h:
        * css/WebKitCSSRegionRule.cpp:
        * css/WebKitCSSRegionRule.h:
        * css/WebKitCSSRegionRule.idl:
        * css/WebKitCSSShaderValue.cpp:
        * css/WebKitCSSShaderValue.h:
        * dom/WebKitNamedFlow.cpp:
        * dom/WebKitNamedFlow.h:
        * dom/WebKitNamedFlow.idl:
        * loader/cache/CachedShader.cpp:
        * loader/cache/CachedShader.h:
        * platform/graphics/filters/CustomFilterMesh.cpp:
        * platform/graphics/filters/CustomFilterMesh.h:
        * platform/graphics/filters/CustomFilterNumberParameter.h:
        * platform/graphics/filters/CustomFilterOperation.cpp:
        * platform/graphics/filters/CustomFilterOperation.h:
        * platform/graphics/filters/CustomFilterParameter.h:
        * platform/graphics/filters/CustomFilterProgram.cpp:
        * platform/graphics/filters/CustomFilterProgram.h:
        * platform/graphics/filters/CustomFilterProgramClient.h:
        * platform/graphics/filters/CustomFilterShader.cpp:
        * platform/graphics/filters/CustomFilterShader.h:
        * platform/graphics/filters/FECustomFilter.cpp:
        * platform/graphics/filters/FECustomFilter.h:
        * rendering/FilterEffectObserver.h:
        * rendering/RenderFlowThread.cpp:
        * rendering/RenderFlowThread.h:
        * rendering/RenderRegion.cpp:
        * rendering/RenderRegion.h:
        * rendering/style/StyleCachedShader.cpp:
        * rendering/style/StyleCachedShader.h:
        * rendering/style/StyleCustomFilterProgram.h:
        * rendering/style/StylePendingShader.h:
        * rendering/style/StyleShader.h:

2012-02-26  Hyowon Kim  <hw1008.kim@samsung.com>

        [EFL] Implementation of GraphicsContext3D for EFL port
        https://bugs.webkit.org/show_bug.cgi?id=79452

        Reviewed by Noam Rosenthal.

        Evas_GL is used to do OpenGL rendering on Evas, in which
        a structure 'Evas_GL_API' contains all the OpenGL functions.

        GraphicsContext3D in EFL port should call OpenGL functions indirectly
        through the Evas_GL_API, and not use GraphicsContext3DOpenGL(Common).

        So, we use the GraphicsContext3DPrivate to delegate all OpenGL function calls,
        and it will be implemented to use Evas_GL (bug 62961).

        No new tests. No behavior change.

        * platform/graphics/efl/GraphicsContext3DEfl.cpp: Added.
        (WebCore):
        (WebCore::GraphicsContext3D::create):
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        (WebCore::GraphicsContext3D::~GraphicsContext3D):
        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
        (WebCore::GraphicsContext3D::platformLayer):
        (WebCore::GraphicsContext3D::makeContextCurrent):
        (WebCore::GraphicsContext3D::isGLES2Compliant):
        (WebCore::GraphicsContext3D::activeTexture):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::blendColor):
        (WebCore::GraphicsContext3D::blendEquation):
        (WebCore::GraphicsContext3D::blendEquationSeparate):
        (WebCore::GraphicsContext3D::blendFunc):
        (WebCore::GraphicsContext3D::blendFuncSeparate):
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        (WebCore::GraphicsContext3D::checkFramebufferStatus):
        (WebCore::GraphicsContext3D::clear):
        (WebCore::GraphicsContext3D::clearColor):
        (WebCore::GraphicsContext3D::clearDepth):
        (WebCore::GraphicsContext3D::clearStencil):
        (WebCore::GraphicsContext3D::colorMask):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::copyTexImage2D):
        (WebCore::GraphicsContext3D::copyTexSubImage2D):
        (WebCore::GraphicsContext3D::cullFace):
        (WebCore::GraphicsContext3D::depthFunc):
        (WebCore::GraphicsContext3D::depthMask):
        (WebCore::GraphicsContext3D::depthRange):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::disable):
        (WebCore::GraphicsContext3D::disableVertexAttribArray):
        (WebCore::GraphicsContext3D::drawArrays):
        (WebCore::GraphicsContext3D::drawElements):
        (WebCore::GraphicsContext3D::enable):
        (WebCore::GraphicsContext3D::enableVertexAttribArray):
        (WebCore::GraphicsContext3D::finish):
        (WebCore::GraphicsContext3D::flush):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::frontFace):
        (WebCore::GraphicsContext3D::generateMipmap):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::getAttachedShaders):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::getBooleanv):
        (WebCore::GraphicsContext3D::getBufferParameteriv):
        (WebCore::GraphicsContext3D::getContextAttributes):
        (WebCore::GraphicsContext3D::getError):
        (WebCore::GraphicsContext3D::getFloatv):
        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
        (WebCore::GraphicsContext3D::getIntegerv):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):
        (WebCore::GraphicsContext3D::getString):
        (WebCore::GraphicsContext3D::getTexParameterfv):
        (WebCore::GraphicsContext3D::getTexParameteriv):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):
        (WebCore::GraphicsContext3D::getVertexAttribfv):
        (WebCore::GraphicsContext3D::getVertexAttribiv):
        (WebCore::GraphicsContext3D::getVertexAttribOffset):
        (WebCore::GraphicsContext3D::hint):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isEnabled):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::isTexture):
        (WebCore::GraphicsContext3D::lineWidth):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::pixelStorei):
        (WebCore::GraphicsContext3D::polygonOffset):
        (WebCore::GraphicsContext3D::readPixels):
        (WebCore::GraphicsContext3D::releaseShaderCompiler):
        (WebCore::GraphicsContext3D::renderbufferStorage):
        (WebCore::GraphicsContext3D::sampleCoverage):
        (WebCore::GraphicsContext3D::scissor):
        (WebCore::GraphicsContext3D::shaderSource):
        (WebCore::GraphicsContext3D::stencilFunc):
        (WebCore::GraphicsContext3D::stencilFuncSeparate):
        (WebCore::GraphicsContext3D::stencilMask):
        (WebCore::GraphicsContext3D::stencilMaskSeparate):
        (WebCore::GraphicsContext3D::stencilOp):
        (WebCore::GraphicsContext3D::stencilOpSeparate):
        (WebCore::GraphicsContext3D::texImage2D):
        (WebCore::GraphicsContext3D::texParameterf):
        (WebCore::GraphicsContext3D::texParameteri):
        (WebCore::GraphicsContext3D::texSubImage2D):
        (WebCore::GraphicsContext3D::uniform1f):
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform1i):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2f):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform2i):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3f):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform3i):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4f):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform4i):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::vertexAttrib1f):
        (WebCore::GraphicsContext3D::vertexAttrib1fv):
        (WebCore::GraphicsContext3D::vertexAttrib2f):
        (WebCore::GraphicsContext3D::vertexAttrib2fv):
        (WebCore::GraphicsContext3D::vertexAttrib3f):
        (WebCore::GraphicsContext3D::vertexAttrib3fv):
        (WebCore::GraphicsContext3D::vertexAttrib4f):
        (WebCore::GraphicsContext3D::vertexAttrib4fv):
        (WebCore::GraphicsContext3D::vertexAttribPointer):
        (WebCore::GraphicsContext3D::viewport):
        (WebCore::GraphicsContext3D::reshape):
        (WebCore::GraphicsContext3D::markContextChanged):
        (WebCore::GraphicsContext3D::markLayerComposited):
        (WebCore::GraphicsContext3D::layerComposited):
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
        (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
        (WebCore::GraphicsContext3D::createBuffer):
        (WebCore::GraphicsContext3D::createFramebuffer):
        (WebCore::GraphicsContext3D::createProgram):
        (WebCore::GraphicsContext3D::createRenderbuffer):
        (WebCore::GraphicsContext3D::createShader):
        (WebCore::GraphicsContext3D::createTexture):
        (WebCore::GraphicsContext3D::deleteBuffer):
        (WebCore::GraphicsContext3D::deleteFramebuffer):
        (WebCore::GraphicsContext3D::deleteProgram):
        (WebCore::GraphicsContext3D::deleteRenderbuffer):
        (WebCore::GraphicsContext3D::deleteShader):
        (WebCore::GraphicsContext3D::deleteTexture):
        (WebCore::GraphicsContext3D::synthesizeGLError):
        (WebCore::GraphicsContext3D::getExtensions):
        (WebCore::GraphicsContext3D::getInternalFramebufferSize):
        (WebCore::GraphicsContext3D::setContextLostCallback):
        (WebCore::GraphicsContext3D::getImageData):
        (WebCore::GraphicsContext3D::validateAttributes):
        (WebCore::GraphicsContext3D::readRenderingResults):
        (WebCore::GraphicsContext3D::reshapeFBOs):
        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
        (WebCore::GraphicsContext3D::isResourceSafe):

2012-02-26  James Robinson  <jamesr@chromium.org>

        [chromium] Wire up shouldUpdateScrollPositionOnMainThread and nonFastScrollableRegion to compositor
        https://bugs.webkit.org/show_bug.cgi?id=79155

        Reviewed by Adam Barth.

        This hooks up ScrollingCoordinator::setNonFastScrollableRegion() and
        ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread() to the chromium compositor
        implementation and implements them on the impl thread.

        New compositor behavior is covered by unit tests in LayerChromiumTests and CCLayerTreeHostImplTests. The rest is
        just glue code.

        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::setShouldScrollOnMainThread):
        (WebCore):
        (WebCore::LayerChromium::setNonFastScrollableRegion):
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore):
        (LayerChromium):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::shouldScrollOnMainThread):
        (WebCore::CCLayerImpl::setShouldScrollOnMainThread):
        (CCLayerImpl):
        (WebCore::CCLayerImpl::nonFastScrollableRegion):
        (WebCore::CCLayerImpl::setNonFastScrollableRegion):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::scrollBegin):

2012-02-26  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        (webkit_dom_test_interface_supplemental_method4):

2012-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r108547.
        http://trac.webkit.org/changeset/108547
        https://bugs.webkit.org/show_bug.cgi?id=79606

        Crashes on ClusterFuzz (Requested by inferno-sec on #webkit).

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):

2012-02-25  Adam Barth  <abarth@webkit.org>

        Move websockets to Modules/websockets
        https://bugs.webkit.org/show_bug.cgi?id=79598

        Reviewed by Eric Seidel.

        Nowadays, the only ENABLE(WEB_SOCKETS) ifdef in WebCore proper is in
        WebCore::Settings, and that will be removed (soon?) once Apple drops
        support for the old WebSockets protocol.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Modules/websockets: Copied from Source/WebCore/websockets.
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * WebCore.xcodeproj/project.pbxproj:
        * websockets: Removed.
        * websockets/CloseEvent.h: Removed.
        * websockets/CloseEvent.idl: Removed.
        * websockets/DOMWindowWebSocket.idl: Removed.
        * websockets/ThreadableWebSocketChannel.cpp: Removed.
        * websockets/ThreadableWebSocketChannel.h: Removed.
        * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Removed.
        * websockets/ThreadableWebSocketChannelClientWrapper.h: Removed.
        * websockets/WebSocket.cpp: Removed.
        * websockets/WebSocket.h: Removed.
        * websockets/WebSocket.idl: Removed.
        * websockets/WebSocketChannel.cpp: Removed.
        * websockets/WebSocketChannel.h: Removed.
        * websockets/WebSocketChannelClient.h: Removed.
        * websockets/WebSocketDeflater.cpp: Removed.
        * websockets/WebSocketDeflater.h: Removed.
        * websockets/WebSocketExtensionDispatcher.cpp: Removed.
        * websockets/WebSocketExtensionDispatcher.h: Removed.
        * websockets/WebSocketExtensionProcessor.h: Removed.
        * websockets/WebSocketFrame.h: Removed.
        * websockets/WebSocketHandshake.cpp: Removed.
        * websockets/WebSocketHandshake.h: Removed.
        * websockets/WebSocketHandshakeRequest.cpp: Removed.
        * websockets/WebSocketHandshakeRequest.h: Removed.
        * websockets/WebSocketHandshakeResponse.cpp: Removed.
        * websockets/WebSocketHandshakeResponse.h: Removed.
        * websockets/WorkerThreadableWebSocketChannel.cpp: Removed.
        * websockets/WorkerThreadableWebSocketChannel.h: Removed.

2012-02-25  Benjamin Poulain  <benjamin@webkit.org>

        Get rid of KURL::deprecatedString()
        https://bugs.webkit.org/show_bug.cgi?id=79594

        Reviewed by Andreas Kling.

        The method KURL::deprecatedString() is unused, remove it from WebCore.

        The last reference to the method was removed in r96779.

        * platform/KURL.cpp:
        (WebCore):
        * platform/KURL.h:
        (KURL):
        * platform/KURLGoogle.cpp:
        (WebCore):
        * platform/KURLWTFURL.cpp:
        (WebCore):

2012-02-25  Benjamin Poulain  <benjamin@webkit.org>

        Get rid of copyParsedQueryTo()
        https://bugs.webkit.org/show_bug.cgi?id=79590

        Reviewed by Andreas Kling.

        The function KURL::copyParsedQueryTo() is unused. Remove it from WebCore.

        The function was used by HTMLAnchorElement::getParameter() but that feature
        was removed in r100164.

        * WebCore.order:
        * platform/KURL.cpp:
        (WebCore):
        * platform/KURL.h:
        (WebCore):
        (KURL):
        * platform/KURLGoogle.cpp:
        (WebCore):
        * platform/KURLWTFURL.cpp:
        (WebCore):

2012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r108924.
        http://trac.webkit.org/changeset/108924
        https://bugs.webkit.org/show_bug.cgi?id=79597

        broke 4 inspector tests (Requested by kling on #webkit).

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::parseAttribute):

2012-02-25  Adam Barth  <abarth@webkit.org>

        Fix typo in comment.  This #endif is for a different ENABLE macro.

        * page/NavigatorRegisterProtocolHandler.cpp:

2012-02-25  Anders Carlsson  <andersca@apple.com>

        Move an ASSERT to avoid it firing due to a race condition
        https://bugs.webkit.org/show_bug.cgi?id=79596

        Reviewed by Andreas Kling.

        ScrollingThread::isCurrentThread() can return false if called too early.
        Move it into ScrollingThread::initializeRunLoop where we know that the thread has
        been set up correctly.

        * page/scrolling/ScrollingThread.cpp:
        (WebCore::ScrollingThread::threadBody):
        * page/scrolling/mac/ScrollingThreadMac.mm:
        (WebCore::ScrollingThread::initializeRunLoop):

2012-02-25  Andreas Kling  <awesomekling@apple.com>

        Setting style="" should destroy the element's inline style.
        <http://webkit.org/b/79595>

        Reviewed by Anders Carlsson.

        There's no reason for an element with style="" to have an inline style object.
        Remove the inline style in that case, just like we do when removing the style
        attribute altogether.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::parseAttribute):

2012-02-25  Andreas Kling  <awesomekling@apple.com>

        Allow matched property cache for elements with additional attribute style.
        <http://webkit.org/b/79583>

        Reviewed by Antti Koivisto.

        There's no reason to disallow the matched style property cache for elements
        that return something from additionalAttributeStyle(). The only requirement
        for a property set to be cached is that it either doesn't mutate OR that it
        invalidates the document's CSSStyleSelector when doing so.

        This allows some more match caching for table-related elements, though we
        are still held back by explicitly 'inherited' properties in html.css.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):

2012-02-25  Julien Chaffraix  <jchaffraix@webkit.org>

        Clean-up RenderTableSection::calcRowLogicalHeight
        https://bugs.webkit.org/show_bug.cgi?id=77705

        Reviewed by Nikolas Zimmermann.

        Refactoring / simplication of the code.

        This change removes some variables that were unneeded and were
        hiding what the code was really doing. Also some of the code was
        split and moved down to RenderTableCell.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::logicalHeightForRowSizing):
        * rendering/RenderTableCell.h:
        (RenderTableCell):
        Added the previous helper function to calculate the cell's
        adjusted logical height.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        Removed some variables, simplified the rowspan logic to be clearer
        (and added a comment about how we handle rowspans).

2012-02-25  Benjamin Poulain  <benjamin@webkit.org>

        Add an empty skeleton of KURL for WTFURL
        https://bugs.webkit.org/show_bug.cgi?id=78990

        Reviewed by Adam Barth.

        Add an empty skeleton of KURL based on WTFURL.

        With WTFURL, the data of KURL is in an implicitely shared object
        named KURLWTFURLImpl.

        In KURLWTFURLImpl, KURL created with invalid URL would be stored
        as a String. A valid URL would be stored as a ParsedURL.

        * ForwardingHeaders/wtf/url/ParsedURL.h: Added.
        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/KURL.cpp:
        (WebCore):
        * platform/KURL.h:
        (KURL):
        (WebCore::KURL::KURL):
        (WebCore::KURL::isHashTableDeletedValue):
        (WebCore):
        * platform/KURLWTFURL.cpp: Added.
        (WebCore):
        (WebCore::KURL::KURL):
        (WebCore::KURL::copy):
        (WebCore::KURL::isNull):
        (WebCore::KURL::isEmpty):
        (WebCore::KURL::isValid):
        (WebCore::KURL::hasPath):
        (WebCore::KURL::string):
        (WebCore::KURL::protocol):
        (WebCore::KURL::host):
        (WebCore::KURL::port):
        (WebCore::KURL::hasPort):
        (WebCore::KURL::user):
        (WebCore::KURL::pass):
        (WebCore::KURL::path):
        (WebCore::KURL::lastPathComponent):
        (WebCore::KURL::query):
        (WebCore::KURL::fragmentIdentifier):
        (WebCore::KURL::hasFragmentIdentifier):
        (WebCore::KURL::copyParsedQueryTo):
        (WebCore::KURL::baseAsString):
        (WebCore::KURL::deprecatedString):
        (WebCore::KURL::fileSystemPath):
        (WebCore::KURL::protocolIs):
        (WebCore::KURL::protocolIsInHTTPFamily):
        (WebCore::KURL::setProtocol):
        (WebCore::KURL::setHost):
        (WebCore::KURL::removePort):
        (WebCore::KURL::setPort):
        (WebCore::KURL::setHostAndPort):
        (WebCore::KURL::setUser):
        (WebCore::KURL::setPass):
        (WebCore::KURL::setPath):
        (WebCore::KURL::setQuery):
        (WebCore::KURL::setFragmentIdentifier):
        (WebCore::KURL::removeFragmentIdentifier):
        (WebCore::KURL::hostStart):
        (WebCore::KURL::hostEnd):
        (WebCore::KURL::pathStart):
        (WebCore::KURL::pathEnd):
        (WebCore::KURL::pathAfterLastSlash):
        (WebCore::KURL::invalidate):
        (WebCore::KURL::isHierarchical):
        (WebCore::protocolIs):
        (WebCore::equalIgnoringFragmentIdentifier):
        (WebCore::protocolHostAndPortAreEqual):
        (WebCore::encodeWithURLEscapeSequences):
        (WebCore::decodeURLEscapeSequences):
        * platform/KURLWTFURLImpl.h: Copied from Source/WebCore/platform/mac/KURLMac.mm.
        (WebCore):
        (KURLWTFURLImpl):
        * platform/cf/KURLCFNet.cpp:
        (WebCore):
        (WebCore::KURL::KURL):
        (WebCore::KURL::createCFURL):
        * platform/mac/KURLMac.mm:
        (WebCore):
        (WebCore::KURL::KURL):
        (WebCore::KURL::operator NSURL *):

2012-02-25  Anders Carlsson  <andersca@apple.com>

        Make the libc++ workaround more targeted
        https://bugs.webkit.org/show_bug.cgi?id=79578
        <rdar://problem/10933150>

        Reviewed by Sam Weinig.

        Change the std::move implementation to take a WebCore::TimerHeapReference directly so 
        WebCore still builds with a version of libc++ that has the right std::move function template.

        * WebCorePrefix.h:
        (WebCore):
        (move):

2012-02-25  Andreas Kling  <awesomekling@apple.com>

        Remove HTMLEmbedElement::insertedIntoDocument().
        <http://webkit.org/b/79576>

        Reviewed by Anders Carlsson.

        * html/HTMLEmbedElement.cpp:
        * html/HTMLEmbedElement.h:

2012-02-25  Adrienne Walker  <enne@google.com>

        Fix unused variable warnings in HarfBuzzShaperBase
        https://bugs.webkit.org/show_bug.cgi?id=79575

        Reviewed by Andreas Kling.

        In builds where asserts are not enabled, the error variable is unused.

        * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
        (WebCore::normalizeSpacesAndMirrorChars):

2012-02-25  Andreas Kling  <awesomekling@apple.com>

        Remove HTMLTableElement::attach().
        <http://webkit.org/b/79574>

        Reviewed by Anders Carlsson.

        Remove this attach() override since it was only used to assert that
        we're not already attached, and this is already done by Node::attach().

        * html/HTMLTableElement.cpp:
        * html/HTMLTableElement.h:

2012-02-25  Andreas Kling  <awesomekling@apple.com>

        HTMLTableElement: Avoid CSSParser in createSharedCellStyle().
        <http://webkit.org/b/79573>

        Reviewed by Anders Carlsson.

        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::createSharedCellStyle):

2012-02-25  Nikolas Zimmermann  <nzimmermann@rim.com>

        Unreviewed, rolling out r108557.
        http://trac.webkit.org/changeset/108557
        https://bugs.webkit.org/show_bug.cgi?id=77705

        Broke svg/zoom/page/zoom-replated-intrinsic-ratio-001.htm.

        * rendering/RenderTableCell.cpp:
        * rendering/RenderTableCell.h:
        (RenderTableCell):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):

2012-02-25  Andreas Kling  <awesomekling@apple.com>

        HTMLParamElement: Clean up name/value attribute handling.
        <http://webkit.org/b/79559>

        Reviewed by Anders Carlsson.

        Out-of-line name() and value(), and move the logic from parseAttribute()
        into them instead. This makes the class a bit simpler and shrinks it by
        two AtomicStrings. Also reduced isURLAttribute() to a two-liner.

        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::name):
        (WebCore::HTMLParamElement::value):
        (WebCore::HTMLParamElement::isURLAttribute):
        * html/HTMLParamElement.h:

2012-02-24  Tien-Ren Chen  <trchen@chromium.org>

        [chromium] Replace RefPtr with OwnPtr for CCLayerImpl tree structure
        https://bugs.webkit.org/show_bug.cgi?id=78404

        Reviewed by James Robinson.

        No new tests. Updated existing test to reflect changes.

        * platform/graphics/chromium/CanvasLayerChromium.cpp:
        (WebCore::CanvasLayerChromium::createCCLayerImpl):
        * platform/graphics/chromium/CanvasLayerChromium.h:
        (CanvasLayerChromium):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::createCCLayerImpl):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/PluginLayerChromium.cpp:
        (WebCore::PluginLayerChromium::createCCLayerImpl):
        * platform/graphics/chromium/PluginLayerChromium.h:
        (PluginLayerChromium):
        * platform/graphics/chromium/SolidColorLayerChromium.cpp:
        (WebCore::SolidColorLayerChromium::createCCLayerImpl):
        * platform/graphics/chromium/SolidColorLayerChromium.h:
        (SolidColorLayerChromium):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::createCCLayerImpl):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (TiledLayerChromium):
        * platform/graphics/chromium/TreeSynchronizer.cpp:
        (WebCore::TreeSynchronizer::synchronizeTrees):
        (WebCore::TreeSynchronizer::collectExistingCCLayerImplRecursive):
        (WebCore):
        (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
        (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
        * platform/graphics/chromium/TreeSynchronizer.h:
        (TreeSynchronizer):
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::createCCLayerImpl):
        * platform/graphics/chromium/VideoLayerChromium.h:
        (VideoLayerChromium):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
        (WebCore::CCCanvasLayerImpl::create):
        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::CCDamageTracker::updateDamageTrackingState):
        (WebCore::CCDamageTracker::trackDamageFromActiveLayers):
        * platform/graphics/chromium/cc/CCDamageTracker.h:
        (CCDamageTracker):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        (WebCore::CCLayerImpl::addChild):
        (WebCore::sortLayers):
        (WebCore::CCLayerImpl::setMaskLayer):
        (WebCore::CCLayerImpl::setReplicaLayer):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::create):
        (WebCore::CCLayerImpl::children):
        (CCLayerImpl):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerIterator.cpp:
        (WebCore):
        (WebCore::CCLayerIteratorActions::BackToFront::begin):
        (WebCore::CCLayerIteratorActions::BackToFront::end):
        (WebCore::CCLayerIteratorActions::BackToFront::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
        (WebCore::CCLayerIteratorActions::FrontToBack::end):
        (WebCore::CCLayerIteratorActions::FrontToBack::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
        * platform/graphics/chromium/cc/CCLayerIterator.h:
        (WebCore):
        (CCLayerIterator):
        (WebCore::CCLayerIterator::begin):
        (WebCore::CCLayerIterator::end):
        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
        (WebCore::CCLayerIterator::CCLayerIterator):
        (WebCore::CCLayerIterator::getRawPtr):
        (WebCore::CCLayerIterator::currentLayer):
        (WebCore::CCLayerIterator::targetRenderSurfaceChildren):
        (BackToFront):
        (FrontToBack):
        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
        (WebCore::CCLayerSorter::createGraphNodes):
        * platform/graphics/chromium/cc/CCLayerSorter.h:
        (CCLayerSorter):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
        (WebCore::CCLayerTreeHost::reserveTextures):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        (WebCore::walkLayersAndCalculateVisibleLayerRects):
        (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
        (CCLayerTreeHostCommon):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        (WebCore::CCLayerTreeHostImpl::setRootLayer):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::releaseRootLayer):
        (WebCore::CCLayerTreeHostImpl::scrollLayer):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
        (WebCore::CCPluginLayerImpl::create):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (WebCore::CCRenderSurface::layerList):
        (CCRenderSurface):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
        (WebCore::CCSolidColorLayerImpl::create):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (WebCore::CCTiledLayerImpl::create):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (WebCore::CCVideoLayerImpl::create):

2012-02-24  Andreas Kling  <awesomekling@apple.com>

        Don't pass constant strings to CSSParser for presentation attributes.
        <http://webkit.org/b/79530>

        Reviewed by Anders Carlsson.

        "both" -> CSSValueBoth.
        "center" -> CSSValueCenter.

        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::collectStyleForAttribute):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::collectStyleForAttribute):

2012-02-24  Yael Aharon  <yael.aharon@nokia.com>

        [Texmap] Add const-ness to TextureMapperShaderManager
        https://bugs.webkit.org/show_bug.cgi?id=79545

        Reviewed by Noam Rosenthal.
        
        Add const to new methods.
        No new tests.

        * platform/graphics/texmap/TextureMapperShaderManager.cpp:
        (WebCore::TextureMapperShaderProgramSimple::vertexShaderSource):
        (WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
        * platform/graphics/texmap/TextureMapperShaderManager.h:
        (WebCore::TextureMapperShaderProgram::matrixVariable):
        (WebCore::TextureMapperShaderProgram::sourceMatrixVariable):
        (WebCore::TextureMapperShaderProgram::sourceTextureVariable):
        (WebCore::TextureMapperShaderProgram::opacityVariable):
        (TextureMapperShaderProgram):
        (TextureMapperShaderProgramSimple):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):
        (TextureMapperShaderProgramOpacityAndMask):

2012-02-24  Tom Sepez  <tsepez@chromium.org>

        XSS Auditor targeting legitimate frames as false positives.
        https://bugs.webkit.org/show_bug.cgi?id=79397

        Reviewed by Adam Barth.

        Test: http/tests/security/xssAuditor/script-tag-safe4.html

        * html/parser/XSSAuditor.cpp:
        (WebCore::XSSAuditor::filterCharacterToken):
        (WebCore::XSSAuditor::filterScriptToken):
        (WebCore::XSSAuditor::filterObjectToken):
        (WebCore::XSSAuditor::filterEmbedToken):
        (WebCore::XSSAuditor::filterAppletToken):
        (WebCore::XSSAuditor::filterIframeToken):
        (WebCore::XSSAuditor::decodedSnippetForToken):
        (WebCore):
        (WebCore::XSSAuditor::decodedSnippetForName):
        (WebCore::XSSAuditor::decodedSnippetForAttribute):
        (WebCore::XSSAuditor::decodedSnippetForJavascript):
        (WebCore::XSSAuditor::isContainedInRequest):
        (WebCore::XSSAuditor::isSameOriginResource):
        * html/parser/XSSAuditor.h:

2012-02-24  Ian Vollick  <vollick@chromium.org>

        [chromium] Plumb animation started notifications from CCLayerTreeHost to GraphicsLayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=77646

        Reviewed by James Robinson.

        * WebCore.gypi:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (std):
        (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
        (WebCore::GraphicsLayerChromium::addAnimation):
        (WebCore::GraphicsLayerChromium::pauseAnimation):
        (WebCore::GraphicsLayerChromium::removeAnimation):
        (WebCore::GraphicsLayerChromium::suspendAnimations):
        (WebCore::GraphicsLayerChromium::resumeAnimations):
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        (WebCore::GraphicsLayerChromium::mapAnimationNameToId):
        (WebCore):
        (WebCore::GraphicsLayerChromium::notifyAnimationStarted):
        (WebCore::GraphicsLayerChromium::notifyAnimationFinished):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (GraphicsLayerChromium):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::setAnimationEvent):
        (WebCore):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore):
        (LayerChromium):
        (WebCore::LayerChromium::setLayerAnimationDelegate):
        * platform/graphics/chromium/cc/CCAnimationEvents.cpp: Added.
        (WebCore):
        (WebCore::CCAnimationEvent::CCAnimationEvent):
        (WebCore::CCAnimationEvent::~CCAnimationEvent):
        (WebCore::CCAnimationEvent::toAnimationStartedEvent):
        (WebCore::CCAnimationEvent::toAnimationFinishedEvent):
        (WebCore::CCAnimationStartedEvent::create):
        (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
        (WebCore::CCAnimationStartedEvent::~CCAnimationStartedEvent):
        (WebCore::CCAnimationStartedEvent::type):
        (WebCore::CCAnimationFinishedEvent::create):
        (WebCore::CCAnimationFinishedEvent::CCAnimationFinishedEvent):
        (WebCore::CCAnimationFinishedEvent::~CCAnimationFinishedEvent):
        (WebCore::CCAnimationFinishedEvent::type):
        * platform/graphics/chromium/cc/CCAnimationEvents.h:
        (WebCore):
        (CCAnimationEvent):
        (WebCore::CCAnimationEvent::layerId):
        (CCAnimationStartedEvent):
        (WebCore::CCAnimationStartedEvent::startTime):
        (CCAnimationFinishedEvent):
        (WebCore::CCAnimationFinishedEvent::animationId):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
        (WebCore::CCLayerAnimationControllerImpl::animate):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
        (WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations):
        (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
        (CCLayerAnimationControllerImpl):
        * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCAnimationEvents.h.
        (WebCore):
        (CCLayerAnimationDelegate):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setAnimationEvents):
        (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:

2012-02-24  Abhishek Arya  <inferno@chromium.org>

        Regression(r107477): Crash in StaticNodeList::itemWithName.
        https://bugs.webkit.org/show_bug.cgi?id=79532

        Reviewed by Andreas Kling.

        Make sure that node is an element node before checking its id attribute.

        Test: fast/mutation/mutation-callback-non-element-crash.html

        * dom/StaticNodeList.cpp:
        (WebCore::StaticNodeList::itemWithName):

2012-02-24  Tony Chang  <tony@chromium.org>

        More refactoring in RenderFlexibleBox
        https://bugs.webkit.org/show_bug.cgi?id=79533

        Reviewed by Ojan Vafai.

        No new tests, just refactoring.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutFlexItems): Move the flipping of RTL+column positions to its own method.
        This might be a tiny bit slower, but it's clearer since it's not related to alignment.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Move the logical height calculation out of the loop.  We only need the final height.
        (WebCore::RenderFlexibleBox::alignChildren):
        (WebCore::RenderFlexibleBox::flipForRightToLeftColumn):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-02-24  Abhishek Arya  <inferno@chromium.org>

        Positioned objects not cleared when moving children
        to clone block in multi-column layout.
        https://bugs.webkit.org/show_bug.cgi?id=78416

        Reviewed by Eric Seidel.

        Test: fast/multicol/span/positioned-child-not-removed-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitBlocks):

2012-02-24  Michael Saboff  <msaboff@apple.com>

        Unreviewed, Windows build fix.  Changed "-1" to newly
        created constant JSC::Yarr::offsetNoMatch added in r108858.

        * platform/text/RegularExpression.cpp:
        (WebCore::RegularExpression::match):

2012-02-24  Eric Carlson  <eric.carlson@apple.com>

        Update TextTrackCue API
        https://bugs.webkit.org/show_bug.cgi?id=79368

        Change TextTrackCue.alignment to .align, TextTrackCue.linePosition and .textPosition to .line
        and .position, and TextTrackCue.direction to .vertical. Change direction values "horizontal" 
        to "","vertical" to "rl", and "vertical-lr" to "lr".

        Reviewed by Eric Seidel.

        No new tests, updated existing tests for API changes.

        * html/track/TextTrackCue.cpp:
        (WebCore::horizontalKeyword):
        (WebCore::verticalGrowingLeftKeyword):
        (WebCore):
        (WebCore::verticalGrowingRightKeyword):
        (WebCore::verticalKeywordOLD):
        (WebCore::verticallrKeywordOLD):
        (WebCore::TextTrackCue::TextTrackCue):
        (WebCore::TextTrackCue::vertical):
        (WebCore::TextTrackCue::setVertical):
        (WebCore::TextTrackCue::setLine):
        (WebCore::TextTrackCue::setPosition):
        (WebCore::TextTrackCue::align):
        (WebCore::TextTrackCue::setAlign):
        (WebCore::TextTrackCue::parseSettings):
        * html/track/TextTrackCue.h:
        (TextTrackCue):
        (WebCore::TextTrackCue::line):
        (WebCore::TextTrackCue::position):
        * html/track/TextTrackCue.idl:

2012-02-24  Adrienne Walker  <enne@google.com>

        Fix uninitialized variables in HarfBuzzShaperBase
        https://bugs.webkit.org/show_bug.cgi?id=79546

        Reviewed by Dirk Pranke.

        These were introduced in r108733.

        * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
        (WebCore::HarfBuzzShaperBase::HarfBuzzShaperBase):

2012-02-24  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] JPEG RGB image with Adode Marker fails to turbo swizzle decode
        https://bugs.webkit.org/show_bug.cgi?id=79457

        Reviewed by Adam Barth.

        If a JPEG has no JFIF marker, the Adode Marker must be used to determine the image
        color space for decoding via that markers transform value. Transform 0 images with
        3 color components (RGB) fail to decode with libjpeg-turbo when a swizzle decoding
        is active. Detect this case and decode using JCS_RGB output color space instead.

        Test: fast/images/rgb-jpeg-with-abode-marker-only.html

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode):

2012-02-24  Joshua Bell  <jsbell@chromium.org>

        [V8] IndexedDB: IDBTransaction objects leak in Workers
        https://bugs.webkit.org/show_bug.cgi?id=79308

        Use a V8RecursionScope whenever Workers call into script, so that
        post-script side-effects can be executed.

        Reviewed by Tony Chang.

        Test: storage/indexeddb/transaction-abort-workers.html

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/v8/V8WorkerContextErrorHandler.cpp:
        (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
        * bindings/v8/V8WorkerContextEventListener.cpp:
        (WebCore::V8WorkerContextEventListener::callListenerFunction):
        * bindings/v8/WorkerContextExecutionProxy.cpp: Replace custom recursion tracking.
        (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
        (WebCore::WorkerContextExecutionProxy::runScript):
        * bindings/v8/WorkerContextExecutionProxy.h:
        (WorkerContextExecutionProxy):

2012-02-24  Gregg Tavares  <gman@google.com>

        Limit WebGL Errors in Console to 10 per context
        https://bugs.webkit.org/show_bug.cgi?id=79387

        Reviewed by Kenneth Russell.
        
        Some apps generated enough errors to overload
        the Dev Tools so limit the number of errors.
        For a correct app there should never be any
        errors so seeing the first few should be enough
        to debug.

        No new tests as no new functionality

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContextErrorMessageCallback::onErrorMessage):
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::initializeNewContext):
        (WebCore::WebGLRenderingContext::printGLErrorToConsole):
        (WebCore::WebGLRenderingContext::synthesizeGLError):
        * html/canvas/WebGLRenderingContext.h:
        (WebGLRenderingContext):

2012-02-24  Michael Saboff  <msaboff@apple.com>

        ASSERT(position < 0) in JSC::Yarr::Interpreter::InputStream::readChecked
        https://bugs.webkit.org/show_bug.cgi?id=73728

        Reviewed by Gavin Barraclough.

        No new tests, refactored usage of JSC::Yarr interpreter.
        Should be covered by existing tests.

        Changed WebCore callers of JSC::Yarr:Interpreter::interpret() to match the
        new signature with unsigned offsets.

        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::findMagicComment):
        * platform/text/RegularExpression.cpp:
        (WebCore::RegularExpression::match):

2012-02-24  Hans Muller  <hmuller@adobe.com>

        onclick is not reliable for transformed SVG elements
        https://bugs.webkit.org/show_bug.cgi?id=34714

        Reviewed by Dirk Schulze.

        Use FloatPoints in RenderSVGRoot::nodeAtPoint() when converting the incoming
        point to local coordinates.

        Test: svg/hittest/svg-small-viewbox.xhtml

        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::nodeAtPoint):

2012-02-24  Julien Chaffraix  <jchaffraix@webkit.org>

        Implement limited parsing of -webkit-grid-column and -webkit-grid-row
        https://bugs.webkit.org/show_bug.cgi?id=79151

        Reviewed by Ojan Vafai.

        Test: fast/css-grid-layout/grid-item-column-row-get-set.html

        This change implements a subset of the grammar:

        -webkit-grid-{row|column} := <integer> | 'auto'

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Added the new files to our build systems.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForGridPosition): Check that we have the right translated grammar
        (this function will be more useful once we implement more of the grammar).
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Added handling for the new properties.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        Allow only 'auto' or <integer>.

        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        grid-colum and grid-row are not inherited.

        * css/CSSPropertyNames.in:
        Added the 2 new properties.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleGridItemData.cpp: Added.
        (WebCore::StyleGridItemData::StyleGridItemData):
        * rendering/style/StyleGridItemData.h: Added.
        (StyleGridItemData):
        (WebCore::StyleGridItemData::create):
        (WebCore::StyleGridItemData::copy):
        (WebCore::StyleGridItemData::operator==):
        (WebCore::StyleGridItemData::operator!=):
        Implemented the minimum working class.

        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:
        (StyleRareNonInheritedData):
        Added StyleGridItemData to the class StyleRareNonInheritedData.

2012-02-24  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: IDBObjectStore.count() and IDBIndex.count() should accept key argument
        https://bugs.webkit.org/show_bug.cgi?id=79422

        Reviewed by Tony Chang.

        Tests: storage/indexeddb/index-count.html
               storage/indexeddb/objectstore-count.html

        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::count):
        (WebCore):
        * storage/IDBIndex.h:
        (WebCore::IDBIndex::count):
        (IDBIndex):
        * storage/IDBIndex.idl:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::deleteFunction):
        (WebCore::IDBObjectStore::count):
        (WebCore):
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::count):
        (IDBObjectStore):
        * storage/IDBObjectStore.idl:

2012-02-24  Adam Barth  <abarth@webkit.org>

        Move mediastream into Modules/mediastream
        https://bugs.webkit.org/show_bug.cgi?id=79517

        Reviewed by Eric Seidel.

        This patch moves the mediastream directory into Modules.  mediastream
        is a self-contained feature and is a good candidate for being a module.

        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Modules/mediastream: Copied from Source/WebCore/mediastream.
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * mediastream: Removed.
        * mediastream/DOMWindowMediaStream.idl: Removed.
        * mediastream/LocalMediaStream.cpp: Removed.
        * mediastream/LocalMediaStream.h: Removed.
        * mediastream/LocalMediaStream.idl: Removed.
        * mediastream/MediaStream.cpp: Removed.
        * mediastream/MediaStream.h: Removed.
        * mediastream/MediaStream.idl: Removed.
        * mediastream/MediaStreamEvent.cpp: Removed.
        * mediastream/MediaStreamEvent.h: Removed.
        * mediastream/MediaStreamEvent.idl: Removed.
        * mediastream/MediaStreamList.cpp: Removed.
        * mediastream/MediaStreamList.h: Removed.
        * mediastream/MediaStreamList.idl: Removed.
        * mediastream/MediaStreamRegistry.cpp: Removed.
        * mediastream/MediaStreamRegistry.h: Removed.
        * mediastream/MediaStreamTrack.cpp: Removed.
        * mediastream/MediaStreamTrack.h: Removed.
        * mediastream/MediaStreamTrack.idl: Removed.
        * mediastream/MediaStreamTrackList.cpp: Removed.
        * mediastream/MediaStreamTrackList.h: Removed.
        * mediastream/MediaStreamTrackList.idl: Removed.
        * mediastream/NavigatorMediaStream.cpp: Removed.
        * mediastream/NavigatorMediaStream.h: Removed.
        * mediastream/NavigatorMediaStream.idl: Removed.
        * mediastream/NavigatorUserMediaError.h: Removed.
        * mediastream/NavigatorUserMediaError.idl: Removed.
        * mediastream/NavigatorUserMediaErrorCallback.h: Removed.
        * mediastream/NavigatorUserMediaErrorCallback.idl: Removed.
        * mediastream/NavigatorUserMediaSuccessCallback.h: Removed.
        * mediastream/NavigatorUserMediaSuccessCallback.idl: Removed.
        * mediastream/PeerConnection.cpp: Removed.
        * mediastream/PeerConnection.h: Removed.
        * mediastream/PeerConnection.idl: Removed.
        * mediastream/SignalingCallback.h: Removed.
        * mediastream/SignalingCallback.idl: Removed.
        * mediastream/UserMediaClient.h: Removed.
        * mediastream/UserMediaController.cpp: Removed.
        * mediastream/UserMediaController.h: Removed.
        * mediastream/UserMediaRequest.cpp: Removed.
        * mediastream/UserMediaRequest.h: Removed.

2012-02-24  Abhishek Arya  <inferno@chromium.org>

        Overhanging floats not removed from new flex box.
        https://bugs.webkit.org/show_bug.cgi?id=79522

        Reviewed by Ojan Vafai.

        Similar to r69476.

        Test: fast/flexbox/overhanging-floats-not-removed-crash.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):

2012-02-24  Brent Fulgham  <bfulgham@webkit.org>

        [WinCairo] Compute more acurate font heights.
        https://bugs.webkit.org/show_bug.cgi?id=79524

        Reviewed by Adam Roben.

        Adjust font handling as suggested by Lynn Neir to use the proper
        xHeight value for the font, rather than the fall-back guess
        used in the current code.

        css1/text_properties/line_height.html

        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
        (WebCore::SimpleFontData::platformInit): Properly initialize a
          few elements.
        (WebCore::SimpleFontData::platformWidthForGlyph): Use the Cairo
          cairo_scaled_font_text_extents call, rather than attempting
          to compute the value from ::GetGlyphOutline.

2012-02-24  Tim Horton  <timothy_horton@apple.com>

        Infinite repaint loop with SVGImageCache and deferred repaint timers
        https://bugs.webkit.org/show_bug.cgi?id=78315
        <rdar://problem/10651634>

        Reviewed by Dean Jackson.

        Only defer image redraw on a timer if we're in layout. This breaks
        the repaint loop while still preventing us from drawing inside layout.

        No new tests, as the problem only occurs in a nonstandard configuration.

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::draw):
        (WebCore::SVGImage::frameView):
        (WebCore):
        * svg/graphics/SVGImage.h:
        (WebCore):
        * svg/graphics/SVGImageCache.cpp:
        (WebCore::SVGImageCache::imageContentChanged):
        (WebCore::SVGImageCache::redraw):
        (WebCore::SVGImageCache::redrawTimerFired):
        (WebCore):
        * svg/graphics/SVGImageCache.h:
        (SVGImageCache):

2012-02-24  Tim Horton  <timothy_horton@apple.com>

        SVG should be supported in Dashboard compatibility mode
        https://bugs.webkit.org/show_bug.cgi?id=78322
        <rdar://problem/5861278>

        Reviewed by Dean Jackson.

        Enable SVG elements inside Dashboard, more or less reverting r21418.

        Tests: http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html
               svg/custom/embedded-svg-allowed-in-dashboard.xml
               svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html
               svg/custom/manually-parsed-svg-allowed-in-dashboard.html
               svg/custom/svg-allowed-in-dashboard-object.html

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * dom/Document.cpp:
        (WebCore::Document::importNode):
        * dom/make_names.pl:
        (printFactoryCppFile):

2012-02-24  Min Qin  <qinmin@google.com>

        Expose a setting to exempt media playback from user gesture requirement after a user gesture is initiated on loading/playing a media
        https://bugs.webkit.org/show_bug.cgi?id=79167

        Reviewed by Adam Barth.

        Test: media/video-play-require-user-gesture.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::load):
        (WebCore::HTMLMediaElement::play):
        (WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture):
        (WebCore):
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):
        * testing/Internals.cpp:
        (WebCore::Internals::setMediaPlaybackRequiresUserGesture):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-02-24  Adam Barth  <abarth@webkit.org>

        DOMWindow*.idl should have had the same license block as DOMWindow.idl did originally
        https://bugs.webkit.org/show_bug.cgi?id=79507

        Reviewed by Alexey Proskuryakov.

        In moving pieces of DOMWindow.idl into separate files, we mistakenly
        changed some of the license blocks.  All these files should have a
        license block that matches the file that originally contained the code.

        * Modules/intents/DOMWindowIntents.idl:
        * fileapi/DOMWindowFileSystem.idl:
        * html/DOMWindowHTML.idl:
        * html/canvas/DOMWindowWebGL.idl:
        * mediastream/DOMWindowMediaStream.idl:
        * storage/DOMWindowSQLDatabase.idl:
        * svg/DOMWindowSVG.idl:
        * webaudio/DOMWindowWebAudio.idl:
        * websockets/DOMWindowWebSocket.idl:
        * workers/DOMWindowWorker.idl:
        * xml/DOMWindowXML.idl:

2012-02-24  David Kilzer  <ddkilzer@apple.com>

        Use xcrun to find compiler paths for Generate Derived Sources build phase script
        <http://webkit.org/b/79512>

        Reviewed by Mark Rowe.

        * WebCore.xcodeproj/project.pbxproj:
        (Generate Derived Sources): Use xcrun to find the path to the
        compiler since that works on both iOS and OS X.

2012-02-24  Anders Carlsson  <andersca@apple.com>

        Crash in TileCache::revalidateTiles
        https://bugs.webkit.org/show_bug.cgi?id=79510
        <rdar://problem/10928035>

        Reviewed by Sam Weinig.

        Handle the tile cache layer's PlatformCALayer going away before the
        CALayer itself has been deallocated.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::revalidateTiles):

2012-02-24  Adam Klein  <adamk@chromium.org>

        Don't notify the inspector of Node insertions initiated by the parser
        https://bugs.webkit.org/show_bug.cgi?id=79388

        Reviewed by Adam Barth.

        This is part of a series of changes to make ContainerNode's
        implementation simpler and more internally consistent.

        I don't know of a way to break on parser-initiated insertions,
        and the code already doesn't notify on parser-initiated removes
        (in ContainerNode::parserRemoveChild).

        No new tests, should already be covered by
        inspector/debugger/dom-breakpoints.html.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::parserInsertBefore):
        (WebCore::ContainerNode::parserAddChild):

2012-02-24  Daniel Bates  <dbates@webkit.org>

        Attempt to fix the Windows and WinCE build after changeset r108809
        <http://trac.webkit.org/changeset/108809> (https://bugs.webkit.org/show_bug.cgi?id=38995)

        Substitute styleLoadEventSender() for loadEventSender() in HTMLStyleElement.cpp
        and substitute linkLoadEventSender() for loadEventSender() in HTMLLinkElement.cpp. 

        * html/HTMLLinkElement.cpp:
        (WebCore::linkLoadEventSender):
        (WebCore::HTMLLinkElement::~HTMLLinkElement):
        (WebCore::HTMLLinkElement::dispatchPendingLoadEvents):
        (WebCore::HTMLLinkElement::dispatchPendingEvent):
        (WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources):
        * html/HTMLStyleElement.cpp:
        (WebCore::styleLoadEventSender):
        (WebCore::HTMLStyleElement::~HTMLStyleElement):
        (WebCore::HTMLStyleElement::dispatchPendingLoadEvents):
        (WebCore::HTMLStyleElement::dispatchPendingEvent):
        (WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources):

2012-02-24  Peter Beverloo  <peter@chromium.org>

        [Chromium] Fix Chromium Android build by building HarfBuzzShaperBase.cpp
        https://bugs.webkit.org/show_bug.cgi?id=79497

        Reviewed by Tony Gentilcore.

        The Chromium Android build was broken by revision r108733, as the
        HarfBuzzShaperBase.cpp file also should have been included for Android.
        Fix the build by including it.

        * WebCore.gyp/WebCore.gyp:

2012-02-24  Yael Aharon  <yael.aharon@nokia.com>

        [Texmap] Consolidate the common parts of TextureMapperGL::drawTexture
        https://bugs.webkit.org/show_bug.cgi?id=79143

        Reviewed by Noam Rosenthal.

        Combine the two drawTexture methods into one, and extract the part that
        could not be combined into its own method.
        No new tests. Refactoring only.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore):
        (WebCore::TextureMapperGL::drawTexture):
        * platform/graphics/texmap/TextureMapperGL.h:
        (WebCore):
        (BitmapTextureGL):
        (WebCore::BitmapTextureGL::~BitmapTextureGL):
        (WebCore::BitmapTextureGL::id):
        (WebCore::BitmapTextureGL::relativeSize):
        (WebCore::BitmapTextureGL::setTextureMapper):
        (WebCore::BitmapTextureGL::BitmapTextureGL):
        * platform/graphics/texmap/TextureMapperShaderManager.cpp:
        (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
        (WebCore):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::prepare):
        * platform/graphics/texmap/TextureMapperShaderManager.h:
        (WebCore):
        (WebCore::TextureMapperShaderProgram::prepare):
        (WebCore::TextureMapperShaderProgram::matrixVariable):
        (WebCore::TextureMapperShaderProgram::sourceMatrixVariable):
        (WebCore::TextureMapperShaderProgram::sourceTextureVariable):
        (WebCore::TextureMapperShaderProgram::opacityVariable):
        (TextureMapperShaderProgram):
        (TextureMapperShaderProgramSimple):
        (TextureMapperShaderProgramOpacityAndMask):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):

2012-02-24  Daniel Bates  <dbates@webkit.org>

        style element and link element for CSS stylesheet should emit load/error event when sheet loads/fails to load
        https://bugs.webkit.org/show_bug.cgi?id=38995

        Reviewed by Adam Barth and Nate Chapin.

        Tests: fast/dom/HTMLLinkElement/link-onerror-stylesheet-with-existent-and-non-existent-import.html
               fast/dom/HTMLLinkElement/link-onerror-stylesheet-with-non-existent-import.html
               fast/dom/HTMLLinkElement/link-onerror.html
               fast/dom/HTMLLinkElement/link-onload-before-page-load.html
               fast/dom/HTMLLinkElement/link-onload-stylesheet-with-import.html
               fast/dom/HTMLLinkElement/link-onload.html
               fast/dom/HTMLLinkElement/link-onload2.html
               fast/dom/HTMLLinkElement/programmatically-add-link-with-onerror-handler.html
               fast/dom/HTMLLinkElement/programmatically-add-link-with-onload-handler.html
               fast/dom/HTMLStyleElement/programmatically-add-style-with-onerror-handler.html
               fast/dom/HTMLStyleElement/programmatically-add-style-with-onload-handler.html
               fast/dom/HTMLStyleElement/style-onerror-with-existent-and-non-existent-import.html
               fast/dom/HTMLStyleElement/style-onerror.html
               fast/dom/HTMLStyleElement/style-onload-before-page-load.html
               fast/dom/HTMLStyleElement/style-onload.html
               fast/dom/HTMLStyleElement/style-onload2.html

        Implements support for firing Load and Error events at HTML Link and HTML Style elements as per
        the HTML5 spec. (draft 05/25/2011) section "The link element" <http://www.w3.org/TR/html5/semantics.html#the-link-element>
        and "The style element" <http://www.w3.org/TR/html5/semantics.html#the-style-element>, respectively.

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::setCSSStyleSheet): Modified to call CSSStyleSheet::notifyLoadedSheet()
        after the style sheet associated with the @import rule loaded.
        * css/CSSStyleSheet.cpp: Added instance variable m_didLoadErrorOccur to track whether a network error
        occurred while loading any @import style sheets.
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        (WebCore::CSSStyleSheet::checkLoaded):
        (WebCore):
        (WebCore::CSSStyleSheet::notifyLoadedSheet): Added; update m_didLoadErrorOccur to reflect if a network
        error occurred while loading a style sheet associated with an @import rule.
        * css/CSSStyleSheet.h:
        (WebCore):
        (CSSStyleSheet):
        * dom/Document.cpp:
        (WebCore::Document::implicitClose): Call HTML{LinkElement, StyleElement}::dispatchPendingLoadEvents() to
        ensure that all pending Load events for link and style elements are dispatched before we fire the Load
        event for the window.
        * dom/Node.h:
        (WebCore::Node::notifyLoadedSheetAndAllCriticalSubresources): Added; as stated in its name, this method is
        called once a style sheet and all its critical subresources (@imports) have loaded.
        * html/HTMLLinkElement.cpp:
        (WebCore::loadEventSender):
        (WebCore):
        (WebCore::HTMLLinkElement::HTMLLinkElement):
        (WebCore::HTMLLinkElement::~HTMLLinkElement): Modified to cancel all pending Load events on destruction.
        (WebCore::HTMLLinkElement::parseAttribute): Register event listeners for Load and Error events regardless of whether we
        built with link prefetch support.
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        (WebCore::HTMLLinkElement::dispatchPendingLoadEvents): Added; called from Document::implicitClose() to
        ensure that all pending Load events for link elements have been dispatched before we fire the Load event
        for the window.
        (WebCore::HTMLLinkElement::dispatchPendingEvent): Added; called by EventSender.
        (WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources): Added.
        * html/HTMLLinkElement.h:
        (WebCore):
        (HTMLLinkElement):
        * html/HTMLStyleElement.cpp:
        (WebCore::loadEventSender):
        (WebCore):
        (WebCore::HTMLStyleElement::HTMLStyleElement):
        (WebCore::HTMLStyleElement::~HTMLStyleElement): Modified to cancel all pending Load events on destruction.
        (WebCore::HTMLStyleElement::parseAttribute): Register event listeners for Load and Error events.
        (WebCore::HTMLStyleElement::dispatchPendingLoadEvents): Added; called from Document::implicitClose() to
        ensure that all pending Load events for link elements have been dispatched before we fire the Load event
        for the window.
        (WebCore::HTMLStyleElement::dispatchPendingEvent): Added; called by EventSender.
        (WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources): Added.
        * html/HTMLStyleElement.h:
        (WebCore):
        (HTMLStyleElement):

2012-02-24  Adam Roben  <aroben@apple.com>

        Mac build fix after r108698

        * page/scrolling/mac/ScrollingCoordinatorMac.mm: Added missing #import.

2012-02-24  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed speculative buildfix after r108785 for ENABLE(SVG) && !ENABLE(XSLT) case.

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::canRequest):

2012-02-24  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Do not show scripts panel navigator automatically more than once to the same user.
        https://bugs.webkit.org/show_bug.cgi?id=79489

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsPanel.js:

2012-02-24  Philippe Normand  <pnormand@igalia.com>

        Fix GTK WebAudio build for WebKitGTK 1.7.90.

        Patch by Priit Laes <plaes@plaes.org> on 2012-02-24
        Rubber-stamped by Philippe Normand.

        * GNUmakefile.list.am: Add AudioBufferCallback.h and
        DenormalDisabler.h to the list of files so they get disted in the
        tarballs.

2012-02-24  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: show all counters on one graph
        https://bugs.webkit.org/show_bug.cgi?id=79484

        Now it is possible to hide any counter. All graphs share the same area.
        Current values are displayed above that area.

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.MemoryStatistics.getDocumentCount):
        (WebInspector.MemoryStatistics.getNodeCount):
        (WebInspector.MemoryStatistics.getListenerCount):
        (WebInspector.MemoryStatistics):
        (WebInspector.SwatchCheckbox):
        (WebInspector.SwatchCheckbox.prototype.get checked):
        (WebInspector.SwatchCheckbox.prototype.set checked):
        (WebInspector.SwatchCheckbox.prototype._toggleCheckbox):
        (WebInspector.CounterUI):
        (WebInspector.CounterUI.prototype._toggleCounterGraph):
        (WebInspector.CounterUI.prototype.setRange):
        (WebInspector.CounterUI.prototype.updateCurrentValue):
        (WebInspector.CounterUI.prototype.clearCurrentValueAndMarker):
        (WebInspector.CounterUI.prototype.get visible):
        (WebInspector.CounterUI.prototype.saveImageUnderMarker):
        (WebInspector.CounterUI.prototype.restoreImageUnderMarker):
        (WebInspector.CounterUI.prototype.discardImageUnderMarker):
        (WebInspector.MemoryStatistics.prototype._updateSize):
        (WebInspector.MemoryStatistics.prototype._draw):
        (WebInspector.MemoryStatistics.prototype._onMouseOut):
        (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
        (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
        (WebInspector.MemoryStatistics.prototype._drawGraph):
        (WebInspector.MemoryStatistics.prototype._clear):
        * inspector/front-end/timelinePanel.css:
        (.memory-counter-sidebar-info):
        (.memory-counter-sidebar-info .swatch):
        (.memory-counter-sidebar-info .title):
        (.memory-counter-value):
        (#counter-values-bar):

2012-02-24  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: map Ctrl/Cmd +/- to zoom in hosted mode.
        https://bugs.webkit.org/show_bug.cgi?id=79475

        (In remote front-end mode, default zoom actions are working.)

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::setZoomFactor):
        (WebCore):
        * inspector/InspectorFrontendHost.h:
        (InspectorFrontendHost):
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub):
        (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
        (.WebInspector.InspectorFrontendHostStub.prototype.setZoomFactor):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/inspector.js:
        (WebInspector._initializeCapability):
        (WebInspector._zoomIn):
        (WebInspector._zoomOut):
        (WebInspector._resetZoom):
        (WebInspector._requestZoom.set InspectorFrontendHost):
        (WebInspector._requestZoom):
        (WebInspector._doLoadedDoneWithCapabilities.get if):
        (WebInspector.documentKeyDown):

2012-02-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Refactor EventHandler::handleGestureEvent.
        https://bugs.webkit.org/show_bug.cgi?id=79476

        Reviewed by Kenneth Rohde Christiansen.

        No new tests. No behavior change.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        (WebCore::EventHandler::handleGestureTap):
        (WebCore::EventHandler::handleGestureScrollUpdate):
        * page/EventHandler.h:

2012-02-24  Zoltan Horvath  <zoltan@webkit.org>

        [Qt] Allow to use WebCore imagedecoders
        https://bugs.webkit.org/show_bug.cgi?id=32410

        Add ENABLE(QT_IMAGE_DECODER) guards around Qt imagedecoders and set it to default.
        By passing ENABLE_QT_IMAGE_DECODER=0 define to the build system, WebKit will build
        with WebCore's imagedecoders.

        I added NO_RETURN attribute and PLATFORM(QT) conditionals to 2 functions of PNG and
        JPEG decoders to avoid compiler warnings because in Qt-port we treat warning as errors (-Werror).

        I'm continuing the refactoring of this area and try to use Qt imagedecoders only in
        cases when WebCore doesn't support the image format.

        Reviewed by Simon Hausmann.

        No behavior change, no need new tests.

        * Target.pri:
        * WebCore.pri:
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):
        (WebCore::initializeSupportedImageMIMETypesForEncoding):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageFrame::getAddr):
        (ImageFrame):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        NO_RETURN has been added to a function to avoid warning message.
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        NO_RETURN has been added to a function to avoid warning message.
        (WebCore):
        * platform/image-decoders/qt/ImageFrameQt.cpp:
        (WebCore):
        (WebCore::ImageFrame::asNewNativeImage):

2012-02-24  Lynn Neir <lynn.neir@skype.net>

        [Windows, WinCairo] Handle indeterminate checkbox state
        https://bugs.webkit.org/show_bug.cgi?id=79288

        Reviewed by Adam Roben.

        Tested by fast/forms/indeterminate.html

        * rendering/RenderThemeWin.cpp: Add code to check for indeterminate
          state in CheckBox.

2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Font related problem with newer Qt5
        https://bugs.webkit.org/show_bug.cgi?id=79402

        Reviewed by Kenneth Rohde Christiansen.

        Apply the descent += 1 workaround needed to produce correct metrics only for Qt 4,
        because the behaviour has been corrected in Qt 5.

        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::platformInit):

2012-02-24  Kentaro Hara  <haraken@chromium.org>

        Move XML-related APIs from DOMWindow.idl to DOMWindowXML.idl
        https://bugs.webkit.org/show_bug.cgi?id=79434

        Reviewed by Adam Barth.

        For WebKit modularization, this patch moves XML-related APIs
        from DOMWindow.idl to DOMWIndowXML.idl.

        No tests. No change in behavior.

        * xml/DOMWindowXML.idl: Added.
        * page/DOMWindow.idl:

        * CMakeLists.txt: Added "DOMWindowXML.idl".
        * DerivedSources.make: Ditto.
        * DerivedSources.pri: Ditto.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

2012-02-24  Renata Hodovan  <reni@webkit.org>

        External <use> xlink:href references do not work
        https://bugs.webkit.org/show_bug.cgi?id=12499

        Reviewed by Nikolas Zimmermann.

        Support external references on <use> by introducing CachedSVGDocument.
        CachedSVGDocument is a CachedResource specialized for SVGDocuments.
        This CachedSVGDocument will be stored for every use element with external reference.
        This first patch only contains the new classes to test whether it works on every platform.
        So they aren't used anywhere and just a follow-up patch will bind them into the caching system.

        No new tests - no change in functionality.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/cache/CachedResource.cpp:
        (WebCore::defaultPriorityForResourceType):
        (WebCore::cachedResourceTypeToTargetType):
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceClient.h:
        (CachedResourceClient):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::createResource):
        (WebCore::CachedResourceLoader::checkInsecureContent):
        (WebCore::CachedResourceLoader::canRequest):
        * loader/cache/CachedSVGDocument.cpp: Added.
        (WebCore):
        (WebCore::CachedSVGDocument::CachedSVGDocument):
        (WebCore::CachedSVGDocument::~CachedSVGDocument):
        (WebCore::CachedSVGDocument::setEncoding):
        (WebCore::CachedSVGDocument::encoding):
        (WebCore::CachedSVGDocument::data):
        * loader/cache/CachedSVGDocument.h: Added.
        (WebCore):
        (CachedSVGDocument):
        (WebCore::CachedSVGDocument::document):
        (WebCore::CachedSVGDocument::schedule):
        (CachedSVGDocumentClient):
        (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
        (WebCore::CachedSVGDocumentClient::expectedType):
        (WebCore::CachedSVGDocumentClient::resourceClientType):

2012-02-24  Alexis Menard  <alexis.menard@openbossa.org>

        Little optimization in CSSParser::parseShorthand.
        https://bugs.webkit.org/show_bug.cgi?id=79356

        Reviewed by Tony Chang.

        Remove one loop by initializing array values at declaration time.
        Also early return when the number of properties parsed are equals
        with longhands count of the shorthand. It happens to be very often
        the case (e.g. border). Instruments shows an improvement from 19ms
        to 17ms on the time spent in this function for the css-parser-yui
        benchmark.

        No new tests : refactor, exisiting ones should cover.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseShorthand):

2012-02-24  Kentaro Hara  <haraken@chromium.org>

        Move HTML-related APIs from DOMWindow.idl to DOMWindowHTML.idl
        https://bugs.webkit.org/show_bug.cgi?id=79436

        Reviewed by Adam Barth.

        For WebKit modularization, this patch moves HTML-related APIs
        from DOMWindow.idl to DOMWindowHTML.idl.

        No tests. No change in behavior.

        * html/DOMWindowHTML.idl:
        * page/DOMWindow.idl:

2012-02-24  Jochen Eisinger  <jochen@chromium.org>

        [v8] when a named item on document goes out of scope, actually remove it
        https://bugs.webkit.org/show_bug.cgi?id=79409

        Reviewed by Adam Barth.

        The original change already included the code, but it led to some
        problems, so it was reverted in http://trac.webkit.org/changeset/63845.
        However, not removing the items leaks a considerable amount of memory,
        so I'm adding the code back. The bug that led to the revert was that
        the accessor was removed unconditionally. I'm now only removing it,
        when the last item with that name is removed.

        Test: fast/dom/HTMLDocument/named-item.html

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::namedItemRemoved):

2012-02-24  Kentaro Hara  <haraken@chromium.org>

        Move Worker-related APIs from DOMWindow.idl to DOMWindowWorker.idl
        https://bugs.webkit.org/show_bug.cgi?id=79442

        Reviewed by Adam Barth.

        For WebKit modularization, this patch moves Worker-related APIs
        from DOMWindow.idl to DOMWindowWorker.idl.

        No tests. No change in behavior.

        * workers/DOMWindowWorker.idl: Added.
        * page/DOMWindow.idl:

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:

2012-02-24  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream helper classes for skia
        https://bugs.webkit.org/show_bug.cgi?id=79216

        Reviewed by Antonio Gomes.

        Initial upstreaming, no new tests.

        * platform/graphics/blackberry/skia/ImageBufferData.h: Added.
        (WebCore):
        (ImageBufferData):
        * platform/graphics/blackberry/skia/PlatformSupport.cpp: Added.
        (WebCore):
        (WebCore::setFontRenderStyleDefaults):
        (WebCore::PlatformSupport::getRenderStyleForStrike):
        (WebCore::PlatformSupport::getFontFamilyForCharacters):
        * platform/graphics/blackberry/skia/PlatformSupport.h: Added.
        (WebCore):
        (PlatformSupport):
        (FontFamily):

2012-02-24  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream ImageBlackBerry in platform/graphics/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=79212

        Reviewed by Antonio Gomes.

        Initial upstreaming, no new tests.

        * PlatformBlackBerry.cmake:
        * platform/graphics/blackberry/ImageBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::Image::loadPlatformResource):

2012-02-24  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntSize.h
        https://bugs.webkit.org/show_bug.cgi?id=79430

        Reviewed by Antonio Gomes.

        Add conversion convenience between WebCore::IntSize and BlackBerry::Platform::IntSize.

        The porting can't be built yet, no new tests.

        * platform/graphics/IntSize.h:
        (Platform):
        (IntSize):

2012-02-24  Shinya Kawanaka  <shinyak@chromium.org>

        SpellCheckRequest needs to know the context where the spellcheck happened.
        https://bugs.webkit.org/show_bug.cgi?id=79320

        Reviewed by Hajime Morita.

        WebKit clients should be able to get the context how the spellcheck happended.
        For example, WebKit clients may want to change the behavior by a spellcheck request is
        invoked in typing or in pasting.

        This patch added an enum in SpellCheckRequest so that WebKit clients can understand the context.

        * editing/Editor.cpp:
        (WebCore::Editor::replaceSelectionWithFragment):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/SpellChecker.cpp:
        (WebCore::SpellCheckRequest::SpellCheckRequest):
        (WebCore::SpellCheckRequest::create):
        (WebCore::SpellChecker::invokeRequest):
        * editing/SpellChecker.h:
        (SpellCheckRequest):
        (WebCore::SpellCheckRequest::textCheckingRequest):
        (WebCore::SpellCheckRequest::processType):
        * loader/EmptyClients.h:
        (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
        * platform/text/TextCheckerClient.h:
        (WebCore):
        (TextCheckerClient):
        * platform/text/TextChecking.h:
        (TextCheckingRequest):
        (WebCore::TextCheckingRequest::TextCheckingRequest):
        (WebCore::TextCheckingRequest::setSequence):
        (WebCore::TextCheckingRequest::sequence):
        (WebCore::TextCheckingRequest::text):
        (WebCore::TextCheckingRequest::mask):
        (WebCore::TextCheckingRequest::processType):
        (WebCore):

2012-02-24  Hayato Ito  <hayato@chromium.org>

        Make Node::showTreeForThis (and Node::showTreeForThisAcrossFrame) dump multiple shadow roots.
        https://bugs.webkit.org/show_bug.cgi?id=79351

        Reviewed by Dimitri Glazkov.

        No new tests since these utility functions are only available in debug build.
        I manually tested in GDB session.

        * dom/Node.cpp:
        (WebCore::oldestShadowRootFor):
        (WebCore::traverseTreeAndMark):
        (WebCore::parentOrHostOrFrameOwner):
        (WebCore::showSubTreeAcrossFrame):
        * dom/ShadowRoot.h:
        (WebCore::ShadowRoot::youngerShadowRoot):
        (WebCore::ShadowRoot::olderShadowRoot):
        (WebCore::toShadowRoot):
        (WebCore):

2012-02-24  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: follow up to inspector's r108331, using more general condition.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):

2012-02-24  Kentaro Hara  <haraken@chromium.org>

        Move WebGL APIs from DOMWindow.idl to DOMWindowWebGL.idl
        https://bugs.webkit.org/show_bug.cgi?id=79432

        Reviewed by Adam Barth.

        For WebKit modularization, this patch moves WebGL-related APIs
        from DOMWindow.idl to DOMWindowWebGL.idl.

        No tests. No change in behavior.

        * html/canvas/DOMWindowWebGL.idl: Added.
        * page/DOMWindow.idl:

        * DerivedSources.make: Added DOMWindowWebGL.idl.
        * DerivedSources.pri: Ditto.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

2012-02-24  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] network worker tests crash on qt.
        https://bugs.webkit.org/show_bug.cgi?id=79263

        Reviewed by Pavel Feldman.

        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::createDecoder):
        (WebCore::InspectorPageAgent::cachedResourceContent):

2012-02-24  Andreas Kling  <awesomekling@apple.com>

        Miscellaneous CSSParser dodging in presentation attribute parsing.
        <http://webkit.org/b/79468>

        Reviewed by Antti Koivisto.

        - Bypass CSSParser when adding constant values to attribute styles.
        - Added fast paths for the valid HTMLTablePartElement align values.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::collectStyleForAttribute):
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::collectStyleForAttribute):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::collectStyleForAttribute):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::collectStyleForAttribute):
        * html/HTMLTablePartElement.cpp:
        (WebCore::HTMLTablePartElement::collectStyleForAttribute):

2012-02-24  Dana Jansens  <danakj@chromium.org>

        [chromium] Avoid culling work for fully-non-opaque tiles, and add tracing for draw culling
        https://bugs.webkit.org/show_bug.cgi?id=79183

        Reviewed by James Robinson.

        Addresses performance issues with draw culling by avoiding the work
        of mapRect and other function calls when the quad has no opaque area.
        And adds a TRACE_EVENT to watch the time spent in draw culling.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::cullOccludedQuads):

2012-02-24  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Scripts panel navigator overlay should be shown automatically only one time.
        https://bugs.webkit.org/show_bug.cgi?id=79467

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
        (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide):

2012-02-23  MORITA Hajime  <morrita@google.com>

        Adding a ShadowRoot to image-backed element causes a crash
        https://bugs.webkit.org/show_bug.cgi?id=78878

        Reviewed by Dimitri Glazkov.

        The crash happened because NodeRenderingContext tried to append a
        child to a renderer regardless one isn't capable of holding any
        children if it appears in the shadow attaching phase. RenderImage
        is one of such renderer classes which aren't capable.

        NodeRenderingContext decide whether the contextual node as a child
        can create its renderer based on RenderObject::canHaveChildren()
        and Node::childShouldCreateRenderer(). But the responsibility
        between these two methods are getting confused. which results this
        unfortuante crash path.

        This change re-aligns the responsibility:

        - Now canHaveChildren() purely declares the ability of the
          renderer. If the renderer is capable of having children, it
          return true regardless of HTML semantics.

        - On the other hand, childShouldCreateRenderer() cares about the
          semantics. If the element doesn't allow children to be rendered,
          this returns false.

        - Note that these decision on elements are contextual. Each element
          needs to know which role it is playing in the tree composition
          algorithm of Shadow DOM. That's why the method parameter is changed
          from Node* to NodeRenderingContext.

        - Fixed updateFirstLetter() which relied on this confused assumption.
          This change introduces RenderDeprecatedFlexibleBox::buttonText()
          to refine the relying assumption.

        With this change, some decision points are moved from a renderer to an
        element. Following renderers no longer stop reject having children:

        - RenderButton, RenderListBox, RenderMenuList, RenderMeter,
          RenderProgress, RenderTextControl.

        Corresponding element for such a render (HTMLProgressElement of
        RenderProgress for exaple) now cares about that.

        Reviewed by Dimitri Glazkov.

        Tests: fast/dom/shadow/shadow-on-image-expected.html
               fast/dom/shadow/shadow-on-image.html

        * dom/Element.cpp:
        (WebCore::Element::childShouldCreateRenderer):
        * dom/Element.h:
        (Element):
        * dom/Node.h:
        (WebCore::Node::childShouldCreateRenderer):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::shouldCreateRenderer):
        * dom/NodeRenderingContext.h:
        (NodeRenderingContext):
        (WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
        (WebCore):
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
        * html/HTMLDetailsElement.h:
        (HTMLDetailsElement):
        * html/HTMLMediaElement.cpp:
        (WebCore):
        (WebCore::HTMLMediaElement::childShouldCreateRenderer):
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::childShouldCreateRenderer):
        (WebCore):
        * html/HTMLMeterElement.h:
        (HTMLMeterElement):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::childShouldCreateRenderer):
        (WebCore):
        * html/HTMLProgressElement.h:
        (HTMLProgressElement):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::childShouldCreateRenderer):
        (WebCore):
        * html/HTMLSelectElement.h:
        (HTMLSelectElement):
        * html/HTMLSummaryElement.cpp:
        (WebCore::HTMLSummaryElement::childShouldCreateRenderer):
        (WebCore):
        * html/HTMLSummaryElement.h:
        (HTMLSummaryElement):
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::childShouldCreateRenderer):
        (WebCore):
        * html/HTMLTextFormControlElement.h:
        (HTMLTextFormControlElement):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter):
        * rendering/RenderButton.cpp:
        * rendering/RenderButton.h:
        (RenderButton):
        * rendering/RenderDeprecatedFlexibleBox.h:
        (WebCore::RenderDeprecatedFlexibleBox::buttonText):
        * rendering/RenderListBox.h:
        (RenderListBox):
        * rendering/RenderMedia.h:
        (WebCore::RenderMedia::canHaveChildren):
        * rendering/RenderMenuList.h:
        (RenderMenuList):
        (WebCore::RenderMenuList::hasControlClip):
        * rendering/RenderMeter.h:
        * rendering/RenderProgress.h:
        * rendering/RenderTextControl.h:
        * rendering/svg/RenderSVGRoot.h:
        (WebCore::RenderSVGRoot::canHaveChildren):
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::childShouldCreateRenderer):
        * svg/SVGAElement.h:
        (SVGAElement):
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
        * svg/SVGAltGlyphElement.h:
        (SVGAltGlyphElement):
        * svg/SVGDocument.cpp:
        (WebCore::SVGDocument::childShouldCreateRenderer):
        * svg/SVGDocument.h:
        (SVGDocument):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::childShouldCreateRenderer):
        * svg/SVGElement.h:
        (SVGElement):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
        * svg/SVGForeignObjectElement.h:
        (SVGForeignObjectElement):
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
        * svg/SVGSwitchElement.h:
        (SVGSwitchElement):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::childShouldCreateRenderer):
        * svg/SVGTRefElement.h:
        (SVGTRefElement):
        * svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::childShouldCreateRenderer):
        * svg/SVGTSpanElement.h:
        (SVGTSpanElement):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::childShouldCreateRenderer):
        * svg/SVGTextElement.h:
        (SVGTextElement):
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::childShouldCreateRenderer):
        * svg/SVGTextPathElement.h:

2012-02-24  Kentaro Hara  <haraken@chromium.org>

        Support [Supplemental] on static methods
        https://bugs.webkit.org/show_bug.cgi?id=79357

        Reviewed by Adam Barth.

        [Supplemental] on static methods does not work in CodeGeneratorJS.pm
        and CodeGeneratorV8.pm due to mis-ordered if-elsif statements.
        This patch fixes it and supports [Supplemental] on static methods.

        Test: bindings/scripts/test/TestSupplemental.idl

        * bindings/scripts/CodeGeneratorJS.pm: Modified as described above.
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        (GenerateFunctionCallString):

        * bindings/scripts/test/TestSupplemental.idl: Added a test case.

        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated run-bindings-tests results.
        (WebDOMTestInterface::supplementalMethod4):
        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
        (webkit_dom_test_interface_supplemental_method4):
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
        (WebCore):
        (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
        (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
        (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4):
        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
        (-[DOMTestInterface supplementalMethod4]):
        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
        (TestInterfaceInternal):
        (WebCore::TestInterfaceInternal::supplementalMethod4Callback):
        (WebCore::ConfigureV8TestInterfaceTemplate):

2012-02-24  Tony Chang  <tony@chromium.org>

        Small refactor in RenderFlexibleBox::layoutAndPlaceChildren
        https://bugs.webkit.org/show_bug.cgi?id=79420

        Reviewed by Ojan Vafai.

        No new tests, just a refactor.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Share some of the logic
        in computing the cross axis length.

2012-02-24  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: cannot drag timeline overview window when clicking inside the window
        https://bugs.webkit.org/show_bug.cgi?id=79453

        Reviewed by Pavel Feldman.

        * inspector/front-end/timelinePanel.css:
        (.timeline-overview-window-rulers):

2012-02-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r108731.
        http://trac.webkit.org/changeset/108731
        https://bugs.webkit.org/show_bug.cgi?id=79464

        Broke Chromium Win tests (Requested by bashi on #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::didConnect):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::connect):
        (WebCore::WebSocketChannel::fail):
        (WebCore::WebSocketChannel::processFrame):
        (WebCore::WebSocketChannel::sendFrame):
        * websockets/WebSocketChannel.h:
        * websockets/WebSocketDeflateFramer.cpp: Removed.
        * websockets/WebSocketDeflateFramer.h: Removed.

2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Show scripts panel navigator overlay on the first scripts panel opening.
        https://bugs.webkit.org/show_bug.cgi?id=79248

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.wasShown):
        (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay):
        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):

2012-02-24  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc(): handle non-negative values
        https://bugs.webkit.org/show_bug.cgi?id=79188

        Reviewed by Daniel Bates.

        Some CSS properties (e.g. padding) are required to be non-negative. These
        are now restricted to the correct range.

        Tests: css3/calc/negative-padding-expected.html
               css3/calc/negative-padding.html

        * css/CSSCalculationValue.cpp:
        (WebCore):
        (WebCore::CSSCalcValue::clampToPermittedRange): Added
        (WebCore::CSSCalcValue::doubleValue):
        (WebCore::CSSCalcValue::isNegative): Added
        (WebCore::CSSCalcValue::computeLengthPx):
        (WebCore::CSSCalcValue::create):
        * css/CSSCalculationValue.h:
        (CSSCalcValue):
        (WebCore::CSSCalcValue::CSSCalcValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::validCalculationUnit):
        (WebCore::CSSParser::parseCalculation):
        * css/CSSParser.h:
        * platform/CalculationValue.h:

2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] xhr tests are crashing after r108506.
        https://bugs.webkit.org/show_bug.cgi?id=79265

        Reviewed by Pavel Feldman.

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::setInitialScriptContent):
        (WebCore::InspectorResourceAgent::setInitialXHRContent):

2012-02-24  Huang Dongsung  <luxtella@company100.net>

        Rename LocalStorageThread to StorageThread and LocalStorageTask to StorageTask.
        https://bugs.webkit.org/show_bug.cgi?id=79358

        Revision 45124 commented FIXME to rename these classes.

        Reviewed by Kentaro Hara.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/LocalStorageTask.h: Removed.
        * storage/StorageSyncManager.cpp:
        (WebCore::StorageSyncManager::StorageSyncManager):
        (WebCore::StorageSyncManager::scheduleImport):
        (WebCore::StorageSyncManager::scheduleSync):
        (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
        * storage/StorageSyncManager.h:
        (WebCore):
        (StorageSyncManager):
        * storage/StorageTask.cpp: Renamed from Source/WebCore/storage/LocalStorageTask.cpp.
        (WebCore):
        (WebCore::StorageTask::StorageTask):
        (WebCore::StorageTask::~StorageTask):
        (WebCore::StorageTask::performTask):
        * storage/StorageTask.h: Added.
        (WebCore):
        (StorageTask):
        (WebCore::StorageTask::createImport):
        (WebCore::StorageTask::createSync):
        (WebCore::StorageTask::createDeleteEmptyDatabase):
        (WebCore::StorageTask::createOriginIdentifiersImport):
        (WebCore::StorageTask::createSetOriginDetails):
        (WebCore::StorageTask::createDeleteOrigin):
        (WebCore::StorageTask::createDeleteAllOrigins):
        (WebCore::StorageTask::createTerminate):
        * storage/StorageThread.cpp: Renamed from Source/WebCore/storage/LocalStorageThread.cpp.
        (WebCore):
        (WebCore::StorageThread::create):
        (WebCore::StorageThread::StorageThread):
        (WebCore::StorageThread::~StorageThread):
        (WebCore::StorageThread::start):
        (WebCore::StorageThread::threadEntryPointCallback):
        (WebCore::StorageThread::threadEntryPoint):
        (WebCore::StorageThread::scheduleTask):
        (WebCore::StorageThread::terminate):
        (WebCore::StorageThread::performTerminate):
        * storage/StorageThread.h: Renamed from Source/WebCore/storage/LocalStorageThread.h.
        (WebCore):
        (StorageThread):
        * storage/StorageTracker.cpp:
        (WebCore::StorageTracker::StorageTracker):
        (WebCore::StorageTracker::importOriginIdentifiers):
        (WebCore::StorageTracker::setOriginDetails):
        (WebCore::StorageTracker::scheduleTask):
        (WebCore::StorageTracker::deleteAllOrigins):
        (WebCore::StorageTracker::deleteOrigin):
        * storage/StorageTracker.h:
        (WebCore):
        (StorageTracker):
        * storage/wince/StorageThreadWinCE.cpp: Renamed from Source/WebCore/storage/wince/LocalStorageThreadWinCE.cpp.
        (WebCore):
        (WebCore::StorageThread::StorageThread):
        (WebCore::StorageThread::~StorageThread):
        (WebCore::StorageThread::start):
        (WebCore::StorageThread::timerFired):
        (WebCore::StorageThread::scheduleImport):
        (WebCore::StorageThread::scheduleSync):
        (WebCore::StorageThread::terminate):
        (WebCore::StorageThread::performTerminate):
        * storage/wince/StorageThreadWinCE.h: Renamed from Source/WebCore/storage/wince/LocalStorageThreadWinCE.h.
        (WebCore):
        (StorageThread):
        (WebCore::StorageThread::create):

2012-02-23  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: prepare border images on timelines to enable zooming.
        https://bugs.webkit.org/show_bug.cgi?id=79360

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/Images/timelineBarBlue.png:
        * inspector/front-end/Images/timelineBarGray.png:
        * inspector/front-end/Images/timelineBarGreen.png:
        * inspector/front-end/Images/timelineBarOrange.png:
        * inspector/front-end/Images/timelineBarPurple.png:
        * inspector/front-end/Images/timelineBarRed.png:
        * inspector/front-end/Images/timelineBarYellow.png:
        * inspector/front-end/Images/timelineHollowPillBlue.png:
        * inspector/front-end/Images/timelineHollowPillGray.png:
        * inspector/front-end/Images/timelineHollowPillGreen.png:
        * inspector/front-end/Images/timelineHollowPillOrange.png:
        * inspector/front-end/Images/timelineHollowPillPurple.png:
        * inspector/front-end/Images/timelineHollowPillRed.png:
        * inspector/front-end/Images/timelineHollowPillYellow.png:
        * inspector/front-end/Images/timelinePillBlue.png:
        * inspector/front-end/Images/timelinePillGray.png:
        * inspector/front-end/Images/timelinePillGreen.png:
        * inspector/front-end/Images/timelinePillOrange.png:
        * inspector/front-end/Images/timelinePillPurple.png:
        * inspector/front-end/Images/timelinePillRed.png:
        * inspector/front-end/Images/timelinePillYellow.png:
        * inspector/front-end/inspectorCommon.css:
        (body):
        * inspector/front-end/networkLogView.css:
        (.network-graph-bar):
        (.resource-cached .network-graph-bar):
        (.network-category-documents .network-graph-bar):
        (.network-category-documents.resource-cached .network-graph-bar):
        (.network-category-stylesheets .network-graph-bar):
        (.network-category-stylesheets.resource-cached .network-graph-bar):
        (.network-category-images.resource-cached .network-graph-bar):
        (.network-category-fonts .network-graph-bar):
        (.network-category-fonts.resource-cached .network-graph-bar):
        (.network-category-scripts .network-graph-bar):
        (.network-category-scripts.resource-cached .network-graph-bar):
        (.network-category-xhr .network-graph-bar):
        (.network-category-xhr.resource-cached .network-graph-bar):
        (.network-category-websockets .network-graph-bar):
        (.network-category-websockets.resource-cached .network-graph-bar):

2012-02-23  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: exception in front-end on selecting an element in heap snapshot
        https://bugs.webkit.org/show_bug.cgi?id=79447

        Fixed a typo in method name and added a check that selected node has
        corresponding heap snapshot object before adding that object to the console
        as $0 entry.

        Reviewed by Pavel Feldman.

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged):

2012-02-23  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: hide color picker upon panel switch.
        https://bugs.webkit.org/show_bug.cgi?id=79355

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.willHide):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
        (WebInspector.StylesSidebarPane.prototype.willHide):

2012-02-23  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make color review larger in the color picker.
        https://bugs.webkit.org/show_bug.cgi?id=79339

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/Popover.js:
        (WebInspector.Popover.prototype.hide):
        * inspector/front-end/Spectrum.js:
        * inspector/front-end/elementsPanel.css:
        (.spectrum-container):
        (.spectrum-color):
        (.spectrum-display-value):
        (.spectrum-hue):
        (.spectrum-fill):
        (.spectrum-range-container label):
        (.spectrum-range-container input):
        (.spectrum-slider):
        (.spectrum-container .swatch):
        * inspector/front-end/inspector.css:
        (.swatch):

2012-02-23  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Add HarfBuzzShaperBase class
        https://bugs.webkit.org/show_bug.cgi?id=79336

        Extract a part of ComplexTextControllerHarfBuzz class as
        HarfBuzzShaperBase class. This patch intends to share the code between
        old HarfBuzz and HarfBuzz-ng.

        Reviewed by Tony Chang.

        No new tests. No behavior change. Existing tests in fast/text should pass.

        * PlatformBlackBerry.cmake: Added HarfBuzzShaperBase.cpp.
        * WebCore.gyp/WebCore.gyp: Added HarfBuzzShaperBase.(cpp|h).
        * WebCore.gypi: Ditto.
        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
        (WebCore::ComplexTextController::ComplexTextController): Removed redundant arguments.
        (WebCore::ComplexTextController::nextScriptRun): Use m_normalizedBuffer and m_normalizedBufferLength instead of m_run.
        (WebCore::ComplexTextController::setupFontForScriptRun): Ditto.
        (WebCore::ComplexTextController::setGlyphPositions): Ditto.
        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h:
        (ComplexTextController):
        * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
        (WebCore::Font::drawComplexText): Removed redundant arguments of ComplexTextController constructor.
        (WebCore::Font::floatWidthForComplexText): Ditto.
        (WebCore::Font::offsetForPositionForComplexText): Ditto.
        (WebCore::Font::selectionRectForComplexText): Ditto.
        * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp: Added.
        (WebCore):
        (WebCore::HarfBuzzShaperBase::HarfBuzzShaperBase):
        (WebCore::normalizeSpacesAndMirrorChars):
        (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
        (WebCore::HarfBuzzShaperBase::isWordEnd):
        (WebCore::HarfBuzzShaperBase::determineWordBreakSpacing):
        (WebCore::HarfBuzzShaperBase::setPadding):
        * platform/graphics/harfbuzz/HarfBuzzShaperBase.h: Added.
        (WebCore):
        (HarfBuzzShaperBase):
        (WebCore::HarfBuzzShaperBase::~HarfBuzzShaperBase):
        (WebCore::HarfBuzzShaperBase::isCodepointSpace):

2012-02-23  Kenichi Ishibashi  <bashi@chromium.org>

        Adding WebSocket per-frame DEFLATE extension
        https://bugs.webkit.org/show_bug.cgi?id=77522

        Add WebSocketDeflateFramer class which handles deflate-frame extension.
        This class encapsulates WebSocketDeflater and WebSocketInflater classes,
        which depend on zlib, so that WebSocketChannel is not necessary to aware
        zlib dependency.

        This is the second patch to land. The previous patch broke Chromium Win
        release build. r108600 should fix the build failure. I also added
        zlib entry to |export_dependent_settings| of |webcore_prerequisites|
        target.

        Reviewed by Kent Tamura.

        Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
               http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
               http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
               http/tests/websocket/tests/hybi/deflate-frame-parameter.html

        * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.gyp/WebCore.gyp: Added zlib dependency.
        * WebCore.vcproj/WebCore.vcproj: Added WebSocketDeflateFramer.(cpp|h)
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::didConnect): Set m_extensions.
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
        (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
        (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
        (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
        * websockets/WebSocketChannel.h:
        * websockets/WebSocketDeflateFramer.cpp: Added.
        (WebCore):
        (WebSocketExtensionDeflateFrame):
        (WebCore::WebSocketExtensionDeflateFrame::create):
        (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
        (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
        (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
        (WebCore::WebSocketExtensionDeflateFrame::processResponse):
        (WebCore::DeflateResultHolder::DeflateResultHolder):
        (WebCore::DeflateResultHolder::~DeflateResultHolder):
        (WebCore::DeflateResultHolder::fail):
        (WebCore::InflateResultHolder::InflateResultHolder):
        (WebCore::InflateResultHolder::~InflateResultHolder):
        (WebCore::InflateResultHolder::fail):
        (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
        (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
        (WebCore::WebSocketDeflateFramer::canDeflate):
        (WebCore::WebSocketDeflateFramer::enableDeflate):
        (WebCore::WebSocketDeflateFramer::deflate):
        (WebCore::WebSocketDeflateFramer::resetDeflateContext):
        (WebCore::WebSocketDeflateFramer::inflate):
        (WebCore::WebSocketDeflateFramer::resetInflateContext):
        (WebCore::WebSocketDeflateFramer::didFail):
        * websockets/WebSocketDeflateFramer.h: Added.
        (WebCore):
        (DeflateResultHolder):
        (WebCore::DeflateResultHolder::succeeded):
        (WebCore::DeflateResultHolder::failureReason):
        (InflateResultHolder):
        (WebCore::InflateResultHolder::succeeded):
        (WebCore::InflateResultHolder::failureReason):
        (WebSocketDeflateFramer):
        (WebCore::WebSocketDeflateFramer::enabled):

2012-02-23  Andy Estes  <aestes@apple.com>

        Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
        https://bugs.webkit.org/show_bug.cgi?id=79433

        Reviewed by Dan Bernstein.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        (WebCore::Document::visualUpdatesAllowed):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setSuppressesIncrementalRendering):
        (WebCore::Settings::suppressesIncrementalRendering):
        (Settings):

2012-02-23  Erik Arvidsson  <arv@chromium.org>

        Rename DOMWindow to Window in the bindings
        https://bugs.webkit.org/show_bug.cgi?id=78721

        Reviewed by Adam Barth.

        Covered by existing tests.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get isWindow):
        (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
        * page/DOMWindow.idl:

2012-02-23  Shinya Kawanaka  <shinyak@chromium.org>

        NodeRenderingContext should have ShadowRootList instead of ShadowRoot.
        https://bugs.webkit.org/show_bug.cgi?id=79079

        Reviewed by Dimitri Glazkov.

        Apparently NodeRenderingContext should have ShadowRootList instead of ShadowRoot.
        This patch changes it.

        No new tests. Simple refactoring.

        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::NodeRenderingContext::hostChildrenChanged):
        (WebCore::NodeRenderingContext::shouldCreateRenderer):
        * dom/NodeRenderingContext.h:
        (WebCore):

2012-02-23  Ian Vollick  <vollick@chromium.org>

        [chromium] Implement keyframed animations for the cc thread.
        https://bugs.webkit.org/show_bug.cgi?id=77229

        Reviewed by James Robinson.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::hasActiveAnimation):
        (WebCore):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
        (WebCore::CCActiveAnimation::CCActiveAnimation):
        (WebCore::CCActiveAnimation::isFinishedAt):
        (WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
        (WebCore::CCActiveAnimation::cloneForImplThread):
        * platform/graphics/chromium/cc/CCActiveAnimation.h:
        (WebCore::CCActiveAnimation::curve):
        (CCActiveAnimation):
        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: Added.
        (WebCore::CCKeyframedFloatAnimationCurve::create):
        (WebCore):
        (WebCore::CCKeyframedFloatAnimationCurve::CCKeyframedFloatAnimationCurve):
        (WebCore::CCKeyframedFloatAnimationCurve::~CCKeyframedFloatAnimationCurve):
        (WebCore::CCKeyframedFloatAnimationCurve::duration):
        (WebCore::CCKeyframedFloatAnimationCurve::clone):
        (WebCore::CCKeyframedFloatAnimationCurve::getValue):
        (WebCore::CCKeyframedTransformAnimationCurve::create):
        (WebCore::CCKeyframedTransformAnimationCurve::CCKeyframedTransformAnimationCurve):
        (WebCore::CCKeyframedTransformAnimationCurve::~CCKeyframedTransformAnimationCurve):
        (WebCore::CCKeyframedTransformAnimationCurve::duration):
        (WebCore::CCKeyframedTransformAnimationCurve::clone):
        (WebCore::CCKeyframedTransformAnimationCurve::getValue):
        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: Added.
        (WebCore):
        (WebCore::CCFloatKeyframe::CCFloatKeyframe):
        (CCFloatKeyframe):
        (WebCore::CCTransformKeyframe::CCTransformKeyframe):
        (CCTransformKeyframe):
        (CCKeyframedFloatAnimationCurve):
        (CCKeyframedTransformAnimationCurve):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
        (WebCore::CCLayerAnimationController::addAnimation):
        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
        (WebCore::CCLayerAnimationController::hasActiveAnimation):
        (CCLayerAnimationController):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
        (WebCore::CCLayerAnimationControllerImpl::tickAnimations):

2012-02-23  Raymond Toy  <rtoy@google.com>

        Use MathExtras round() in timeToSampleFrame
        https://bugs.webkit.org/show_bug.cgi?id=79281

        Reviewed by Chris Rogers.

        No new tests. Existing tests cover this change.

        * platform/audio/AudioUtilities.cpp:
        (WebCore::AudioUtilities::timeToSampleFrame): Use round(). 

2012-02-23  Greg Billock  <gbillock@google.com>

        Don't clear IntentRequest callback pointers on stop()

        This causes re-entry into ScriptExecutionContext when
        the ActiveDOMCallback objects get deleted, which crashes.
        Instead, just de-activate the object and wait for
        context destruction to clean up.

        Test crashes consistently without fix and passes with fix.
        Added some test infrastructure to support this test.
        https://bugs.webkit.org/show_bug.cgi?id=78638

        Reviewed by Adam Barth.

        * Modules/intents/IntentRequest.cpp:
        (WebCore::IntentRequest::IntentRequest):
        (WebCore::IntentRequest::stop):
        (WebCore::IntentRequest::postResult):
        (WebCore::IntentRequest::postFailure):
        * Modules/intents/IntentRequest.h:
        (IntentRequest):

2012-02-23  Konrad Piascik  <kpiascik@rim.com>

        Upstream BlackBerry Cookie Management Classes
        https://bugs.webkit.org/show_bug.cgi?id=73654

        Reviewed by Rob Buis.

        Added ManualTests/cookieSpeedTest.html as well as tested functionality
        on the BlackBerry port with http://testsuites.opera.com/cookies/
        Passes all non Cookie 2 tests since Cookie 2 is not implemented/supported at this time.
        Error handling and extended tests do not all pass and will be updated with future bugs/patches.

        * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: Added.
        * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h: Added.
        * platform/blackberry/CookieJarBlackBerry.cpp: Added.
        * platform/blackberry/CookieManager.cpp: Added.
        * platform/blackberry/CookieManager.h: Added.
        * platform/blackberry/CookieMap.cpp: Added.
        * platform/blackberry/CookieMap.h: Added.
        * platform/blackberry/CookieParser.cpp: Added.
        * platform/blackberry/CookieParser.h: Added.
        * platform/blackberry/ParsedCookie.cpp: Added.
        * platform/blackberry/ParsedCookie.h: Added.

2012-02-23  Levi Weintraub  <leviw@chromium.org>

        Switch drawLineForBoxSide to use integers
        https://bugs.webkit.org/show_bug.cgi?id=78647

        Reviewed by Eric Seidel.

        drawLineForBoxSide handles painting lines for boxes which must be done on pixel boundaries.
        Its interface doesn't make it possible to pixel snap properly within the function itself --
        it draws one side of the box at a time, and the logical right and bottom lines can only be
        properly determined using the logical top and left positions -- so it needs to be treated 
        like a graphics context function, whereby the caller handles the proper pixel snapping before
        passing the values in.

        No new tests. No change in behavior.

        * rendering/LayoutTypes.h:
        (WebCore::pixelSnappedIntRectFromEdges): convenience function for returning a pixel snapped
        int rect from four LayoutUnits that are its edges (as opposed to position and size).
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintColumnRules): Pixel snapping the column rule rect.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintOneBorderSide): Side rects are now IntRects by the time
        they get to paintOneBorderSide.
        (WebCore::calculateSideRect): Properly use RoundedRect as IntRects instead of LayoutRects.
        (WebCore::RenderBoxModelObject::paintBorderSides): Ditto.
        (WebCore::RenderBoxModelObject::paintBorder): Ditto.
        (WebCore::calculateSideRectIncludingInner): Ditto.
        * rendering/RenderBoxModelObject.h:
        (RenderBoxModelObject):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutlineForLine): Outline widths are related to borders and stored
        as ints. Removing an unnecessary conversion to LayoutUnits. Pixel snapping the edges of the box.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawLineForBoxSide): Moving back to integers and removing an
        unnecessary pixelSnappedIntRect call.
        (WebCore::RenderObject::paintOutline): Pixel snapping the column rule rect and using an integer
        for outlineOffset.
        * rendering/RenderObject.h:
        (RenderObject):

2012-02-23  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntPoint.h
        https://bugs.webkit.org/show_bug.cgi?id=79094

        Reviewed by Antonio Gomes.

        Add conversion convenience between WebCore::IntPoint and BlackBerry::Platform::IntPoint.

        The porting can't be built yet, no new tests.

        * platform/graphics/IntPoint.h:
        (Platform):
        (IntPoint):

2012-02-23  Justin Novosad  <junov@chromium.org>

        [Chromium] Add profiling trace for deferred canvas rendering
        https://bugs.webkit.org/show_bug.cgi?id=79376

        Reviewed by Stephen White.

        No new tests.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        Profiling trace for the entire method, as well as for
        calls to canvas flush and context flush, both of which may
        cause deferred operation to be executed.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::bitmap):
        Inserting a profiling trace in this method because it may cause
        deferred draw commands to be executed.

2012-02-23  Shinya Kawanaka  <shinyak@chromium.org>

        ShadowRootList should have recalculation flag instead of ShadowRoot.
        https://bugs.webkit.org/show_bug.cgi?id=79071

        Reviewed by Hajime Morita.

        When light children or shadow children are changed, we currently re-construct a shadow subtree.
        However, when supporting multiple shadow subtrees, all shadow subtrees should be re-constructed.
        So ShadowRootList should have re-construction flag instead of ShadowRoot.

        Also, re-construction methods in ShadowRoot should be moved to ShadowRootList.

        No new tests, should be convered by existing tests.

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        (WebCore::Element::childrenChanged):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::hostChildrenChanged):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::ShadowRoot):
        (WebCore::ShadowRoot::list):
        * dom/ShadowRoot.h:
        (WebCore):
        (ShadowRoot):
        * dom/ShadowRootList.cpp:
        (WebCore::ShadowRootList::ShadowRootList):
        (WebCore::ShadowRootList::reattach):
        (WebCore):
        (WebCore::ShadowRootList::childNeedsStyleRecalc):
        (WebCore::ShadowRootList::needsStyleRecalc):
        (WebCore::ShadowRootList::recalcShadowTreeStyle):
        (WebCore::ShadowRootList::needsReattachHostChildrenAndShadow):
        (WebCore::ShadowRootList::hostChildrenChanged):
        (WebCore::ShadowRootList::setNeedsReattachHostChildrenAndShadow):
        (WebCore::ShadowRootList::reattachHostChildrenAndShadow):
        * dom/ShadowRootList.h:
        (WebCore):
        (ShadowRootList):
        (WebCore::ShadowRootList::clearNeedsReattachHostChildrenAndShadow):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::attach):
        (WebCore::HTMLContentElement::detach):
        (WebCore::HTMLContentElement::parseAttribute):

2012-02-23  Roland Steiner  <rolandsteiner@chromium.org>

        Unreviewed: add clause in ASSERT missing from r108474.

        No new tests. (fix)

        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::willRemove):

2012-02-23  Eric Seidel  <eric@webkit.org>

        Split out HTML constructors into new DOMWindowHTML suplemental idl
        https://bugs.webkit.org/show_bug.cgi?id=79377

        Reviewed by Adam Barth.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * html/DOMWindowHTML.idl: Added.
        * page/DOMWindow.idl:

2012-02-23  Eric Seidel  <eric@webkit.org>

        Move SVG element constructors out of DOMWindow.idl into a new DOMWindowSVG.idl suplemental
        https://bugs.webkit.org/show_bug.cgi?id=79379

        Reviewed by Adam Barth.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * page/DOMWindow.idl:
        * svg/DOMWindowSVG.idl: Added.

2012-02-23  Jonathan Backer  <backer@chromium.org>

        [chromium] Plumb video damage to the damage tracker.
        https://bugs.webkit.org/show_bug.cgi?id=79373

        Reviewed by James Robinson.

        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::contentChanged):
        (WebCore):
        * platform/graphics/chromium/VideoLayerChromium.h:
        (VideoLayerChromium):

2012-02-23  MORITA Hajime  <morrita@google.com>

        This test checks select attribute of content element is valid.
        https://bugs.webkit.org/show_bug.cgi?id=65595

        Reviewed by Dimitri Glazkov.

        This change introduces FrameTree::scopedChild() and
        FrameTree::scopedChild(), which can be used for scope-aware
        frame lookup. Using these, the named accessor and the indexed
        acceccor on Document, and Window.length are now TreeScope
        aware. They don't count iframes in Shadow DOM.

        This change also removes FrameTree::m_childCount since
        Frame::childCount() is no longer in the hot
        path. m_scopedChildCount is added instead.

        Test: fast/dom/shadow/iframe-shadow.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::childFrameGetter):
        (WebCore::indexGetter):
        (WebCore::JSDOMWindow::getOwnPropertySlot):
        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::indexedPropertyGetter):
        (WebCore::V8DOMWindow::namedPropertyGetter):
        (WebCore::V8DOMWindow::namedSecurityCheck):
        (WebCore::V8DOMWindow::indexedSecurityCheck):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::length):
        * page/Frame.cpp:
        (WebCore::Frame::inScope):
        (WebCore):
        * page/Frame.h:
        (WebCore):
        (Frame):
        * page/FrameTree.cpp:
        (WebCore::FrameTree::actuallyAppendChild):
        (WebCore::FrameTree::removeChild):
        (WebCore::FrameTree::scopedChild):
        (WebCore):
        (WebCore::FrameTree::scopedChildCount):
        (WebCore::FrameTree::childCount):
        * page/FrameTree.h:
        (WebCore):
        (FrameTree):
        (WebCore::FrameTree::FrameTree):

2012-02-23  Philip Rogers  <pdr@google.com>

        Recompute font metrics on scale changes
        https://bugs.webkit.org/show_bug.cgi?id=75091

        Reviewed by Nikolas Zimmermann.

        SVG text metrics depend on the transform from renderer to the svg root
        which requires that we propagate transform changes down to text.
        This change adds a boolean for tracking transform changes to
        SVGViewportContainers and SVGTransformableContainers, and updates
        RenderSVGText::layout() to recalculate text metrics if the transform
        of an ancestor has changed.

        Tests: platform/mac/svg/text/text-rescale.html
               platform/mac/svg/text/text-viewbox-rescale.html
               svg/text/text-rescale.html
               svg/text/text-viewbox-rescale.html

        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSVGTransformableContainer):
        (WebCore::RenderObject::isSVGViewportContainer):
        * rendering/svg/RenderSVGContainer.h:
        (WebCore::RenderSVGContainer::didTransformToRootUpdate):
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::RenderSVGText):
        (WebCore::RenderSVGText::layout):
        * rendering/svg/RenderSVGText.h:
        (WebCore::RenderSVGText::setNeedsTextMetricsUpdate):
        (RenderSVGText):
        * rendering/svg/RenderSVGTransformableContainer.cpp:
        (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
        * rendering/svg/RenderSVGTransformableContainer.h:
        (WebCore::RenderSVGTransformableContainer::isSVGTransformableContainer):
        (WebCore::RenderSVGTransformableContainer::didTransformToRootUpdate):
        (RenderSVGTransformableContainer):
        * rendering/svg/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
        (WebCore::RenderSVGViewportContainer::calcViewport):
        * rendering/svg/RenderSVGViewportContainer.h:
        (WebCore::RenderSVGViewportContainer::didTransformToRootUpdate):
        (RenderSVGViewportContainer):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::transformToRootChanged):
        (WebCore):
        (WebCore::SVGRenderSupport::layoutChildren):
        * rendering/svg/SVGRenderSupport.h:
        (SVGRenderSupport):

2012-02-21  James Robinson  <jamesr@chromium.org>

        [chromium] Notify compositor of wheel event registration via ScrollingCoordinator
        https://bugs.webkit.org/show_bug.cgi?id=79133

        Reviewed by Dimitri Glazkov.

        This notifies the chromium compositor of changes to the number of wheel event handlers via ScrollingCoordinator
        instead of through ChromeClient/WebViewImpl. This is the path we'll use for other properties in the future and
        is more extensible for handling things other than the root layer.

        Property behavior is covered by new unit tests in LayerChromiumTests and CCLayerTreeHostImplTest.

        * page/scrolling/ScrollingCoordinator.cpp:
        * page/scrolling/ScrollingCoordinator.h:
        (WebCore):
        (ScrollingCoordinator):
            Add a ScrollingCoordinatorPrivate so implementations can tack on additional data without having to #ifdef up
            ScrollingCoordinator.h/cpp
        * page/scrolling/ScrollingCoordinatorNone.cpp:
        (WebCore):
        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
        (ScrollingCoordinatorPrivate):
            ScrollingCoordinatorPrivate in the chromium implementation keeps a reference to the scroll layer.
        (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
        (WebCore::ScrollingCoordinatorPrivate::~ScrollingCoordinatorPrivate):
        (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
        (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
        (WebCore):
        (WebCore::ScrollingCoordinator::create):
        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::setScrollLayer):
        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::setScrollParameters):
        (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
        (WebCore):
        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::setHaveWheelEventHandlers):
        (WebCore):
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/cc/CCInputHandler.h:
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::haveWheelEventHandlers):
        (WebCore::CCLayerImpl::setHaveWheelEventHandlers):
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::scrollBegin):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):

2012-02-23  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][WK2] Clipping is broken
        https://bugs.webkit.org/show_bug.cgi?id=78677

        Reviewed by Simon Hausmann.

        Rework the clipping stack in TextureMapperGL.
        Instead of saving a stack of IntRect scissor clips, we save every clipping change in the
        stack, and reapply it when we end the clip. Popping the stack is almost free, since we
        don't reapply the stencil but simply change the stencil test index.

        In addition, we don't use a special shader for clipping, and we don't apply clipping for
        masked children, since they're already clipped because they're rendered into an intermediate
        buffer.

        This fixes exiting tests in LayoutTests/compositing/overflow.
        It also fixes asserts in the leaves demo, as well as asserts in nytimes.com and other sites.

        * page/FrameView.cpp:
        (WebCore::FrameView::paintContents):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (ClipState):
        (WebCore::TextureMapperGLData::SharedGLData::ClipState::ClipState):
        (SharedGLData):
        (WebCore::TextureMapperGLData::SharedGLData::pushClipState):
        (WebCore::TextureMapperGLData::SharedGLData::popClipState):
        (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
        (WebCore::TextureMapperGLData::SharedGLData::applyCurrentClip):
        (TextureMapperGLData):
        (BitmapTextureGL):
        (WebCore::TextureMapperGLData::initStencil):
        (WebCore):
        (WebCore::TextureMapperGL::beginPainting):
        (WebCore::TextureMapperGL::endPainting):
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::BitmapTextureGL::initStencil):
        (WebCore::BitmapTextureGL::bind):
        (WebCore::BitmapTextureGL::destroy):
        (WebCore::TextureMapperGL::bindSurface):
        (WebCore::TextureMapperGL::beginScissorClip):
        (WebCore::TextureMapperGL::beginClip):
        (WebCore::TextureMapperGL::endClip):
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::paintSelfAndChildren):
        * platform/graphics/texmap/TextureMapperShaderManager.cpp:
        * platform/graphics/texmap/TextureMapperShaderManager.h:

2012-02-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r108685.
        http://trac.webkit.org/changeset/108685
        https://bugs.webkit.org/show_bug.cgi?id=79414

        Broke Chromium builds (Requested by enne on #webkit).

        * Target.pri:
        * WebCore.pri:
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):
        (WebCore::initializeSupportedImageMIMETypesForEncoding):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageFrame::getAddr):
        (ImageFrame):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore):
        * platform/image-decoders/qt/ImageFrameQt.cpp:

2012-02-23  Koji Ishii  <kojiishi@gmail.com>

        CSS2:text-decoration: <rt> element should not inherit text-decoration property
        https://bugs.webkit.org/show_bug.cgi?id=71266

        Reviewed by Kentaro Hara.

        Tests: fast/ruby/text-decoration-in-descendants-ruby-expected.html
               fast/ruby/text-decoration-in-descendants-ruby.html

        The spec says "text decorations are not propagated to any out-of-flow descendants":
        http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
        Floats etc. are fixed in bug 18611, but <rt> is not inline either and therefore
        it should be included; it was confirmed at a discussion at www-style.
        http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::getTextDecorationColors):

2012-02-23  Zoltan Horvath  <zoltan@webkit.org>

        [Qt] Allow to use WebCore imagedecoders
        https://bugs.webkit.org/show_bug.cgi?id=32410

        Add ENABLE(QT_IMAGE_DECODER) guards around Qt imagedecoders and set it to default.
        By passing ENABLE_QT_IMAGE_DECODER=0 define to the build system WebKit will build
        with WebCore's imagedecoders.

        I added NO_RETURN attribute to 2 functions of PNG and JPEG decoders to avoid compiler warnings
        because in Qt-port we treat warning as errors (-Werror).

        I'm continuing the refactoring of this area and try to use Qt imagedecoders only in 
        cases when WebCore doesn't support the image format.

        Reviewed by Simon Hausmann.

        No behavior change, no need new tests.

        * Target.pri:
        * WebCore.pri:
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):
        (WebCore::initializeSupportedImageMIMETypesForEncoding):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageFrame::getAddr):
        (ImageFrame):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        NO_RETURN has been added to a function to avoid warning message.
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        NO_RETURN has been added to a function to avoid warning message.
        (WebCore):
        * platform/image-decoders/qt/ImageFrameQt.cpp:
        (WebCore):
        (WebCore::ImageFrame::asNewNativeImage):

2012-02-23  Dana Jansens  <danakj@chromium.org>

        [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
        https://bugs.webkit.org/show_bug.cgi?id=75864

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerIterator.cpp:
        (WebCore::CCLayerIteratorActions::BackToFront::begin):
        (WebCore::CCLayerIteratorActions::BackToFront::end):
        (WebCore::CCLayerIteratorActions::BackToFront::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
        (WebCore::CCLayerIteratorActions::FrontToBack::end):
        (WebCore::CCLayerIteratorActions::FrontToBack::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
        * platform/graphics/chromium/cc/CCLayerIterator.h:
        (WebCore::CCLayerIterator::CCLayerIterator):
        (WebCore::CCLayerIterator::operator++):
        (WebCore::CCLayerIterator::operator==):
        (WebCore::CCLayerIterator::operator->):
        (WebCore::CCLayerIterator::operator*):
        (WebCore::CCLayerIterator::representsTargetRenderSurface):
        (WebCore::CCLayerIterator::representsContributingRenderSurface):
        (WebCore::CCLayerIterator::currentLayer):
        (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface):
        (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface):
        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
        (WebCore::CCLayerIterator::targetRenderSurface):
        (WebCore::CCLayerIterator::targetRenderSurfaceChildren):
        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.

2012-02-23  Daniel Sievers  <sievers@chromium.org>

        [Chromium] Add video stream texture support
        https://bugs.webkit.org/show_bug.cgi?id=78398

        This upstreams the abstraction used on Android for
        hardware video decoding with the compositor.

        Most of the interfaces are kept generic and the core
        of this change is to allow texturing from an external
        texture while receiving notifications (on the compositor
        thread if we are running it) when there are new frames to
        be displayed.

        Reviewed by James Robinson.

        * platform/graphics/chromium/Extensions3DChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
        (WebCore::LayerRendererChromium::drawRGBA):
        (WebCore::LayerRendererChromium::drawNativeTexture):
        (WebCore):
        (WebCore::LayerRendererChromium::drawStreamTexture):
        (WebCore::LayerRendererChromium::drawVideoQuad):
        (WebCore::LayerRendererChromium::streamTextureLayerProgram):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/ShaderChromium.cpp:
        (WebCore::VertexShaderVideoTransform::VertexShaderVideoTransform):
        (WebCore):
        (WebCore::VertexShaderVideoTransform::init):
        (WebCore::VertexShaderVideoTransform::getShaderString):
        (WebCore::FragmentShaderOESImageExternal::init):
        (WebCore::FragmentShaderOESImageExternal::getShaderString):
        * platform/graphics/chromium/ShaderChromium.h:
        (VertexShaderVideoTransform):
        (WebCore::VertexShaderVideoTransform::matrixLocation):
        (WebCore::VertexShaderVideoTransform::texTransformLocation):
        (WebCore::VertexShaderVideoTransform::texMatrixLocation):
        (WebCore):
        (FragmentShaderOESImageExternal):
        * platform/graphics/chromium/VideoFrameChromium.h:
        * platform/graphics/chromium/VideoFrameProvider.h:
        (Client):
        (VideoFrameProvider):
        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
        * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
        (WebCore::CCVideoDrawQuad::matrix):
        (CCVideoDrawQuad):
        (WebCore::CCVideoDrawQuad::setMatrix):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore):
        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
        (WebCore::convertVFCFormatToGC3DFormat):
        (WebCore::CCVideoLayerImpl::appendQuads):
        (WebCore::CCVideoLayerImpl::didReceiveFrame):
        (WebCore::CCVideoLayerImpl::didUpdateMatrix):
        (WebCore::CCVideoLayerImpl::setNeedsRedraw):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (WebCore):
        (CCVideoLayerImpl):

2012-02-23  Stephen White  <senorblanco@chromium.org>

        [chromium] Implement drop-shadow() CSS filter on composited layers.
        https://bugs.webkit.org/show_bug.cgi?id=79386

        Reviewed by James Robinson.

        Covered by css3/filters/effect-drop-shadow-hw.html

        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
        (WebCore::CCRenderSurfaceFilters::apply):
        * platform/graphics/filters/FilterOperation.h:
        (WebCore::DropShadowFilterOperation::movesPixels):

2012-02-23  Erik Arvidsson  <arv@chromium.org>

        Add support for InterfaceName in the bindings
        https://bugs.webkit.org/show_bug.cgi?id=79384

        Reviewed by Adam Barth.

        This makes the interface name part of the idl file instead of being hard coded into the code generators.

        * bindings/scripts/CodeGenerator.pm:
        (GetVisibleInterfaceName): Extracted from CodeGenerator{JS,V8}.pm and changed to look at the extended attribute.
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        (GenerateConstructorDefinition):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateImplementation):
        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::ConfigureV8TestObjTemplate):
        * dom/DOMCoreException.idl: Set the InterfaceName.
        * html/DOMFormData.idl: Ditto.
        * plugins/DOMMimeType.idl: Ditto.
        * plugins/DOMMimeTypeArray.idl: Ditto.
        * plugins/DOMPlugin.idl: Ditto.
        * plugins/DOMPluginArray.idl: Ditto.

2012-02-22  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r99076): WebKit pastes the trailing newline into a single-line text field
        https://bugs.webkit.org/show_bug.cgi?id=79305

        Reviewed by Tony Chang.

        The bug was caused by ReplacementFragment::m_hasInterchangeNewlineAtEnd not reset even when
        text field's beforeTextInserted event handler removed interchange new lines at the end.
        Because the event handler is responsible for trimming new lines, we need to recompute the values
        for m_hasInterchangeNewlineAt* after the event dispatch.

        Test: editing/input/paste-text-ending-with-interchange-newline.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):

2012-02-23  Andreas Kling  <awesomekling@apple.com>

        Make use of StylePropertySet::setProperty(propertyID, CSSValue).
        <http://webkit.org/b/79374>

        Reviewed by Antti Koivisto.

        Use the new setProperty() overload that takes a CSSValue in more places. This allows us
        to get rid of 1/3 setProperty() overloads that don't expand shorthands.

        * css/StylePropertySet.h:
        * css/StylePropertySet.cpp:

            Remove the setProperty() overload for specific primitive value types. StyledElement
            can take care of this without help from StylePropertySet.

        * dom/StyledElement.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::setInlineStyleProperty):
        (WebCore::StyledElement::addPropertyToAttributeStyle):

            Switch some functions over to using the setProperty() overload that takes a CSSValue.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::applyBorderAttributeToStyle):
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::collectStyleForAttribute):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::collectStyleForAttribute):
        * html/HTMLTablePartElement.cpp:
        (WebCore::HTMLTablePartElement::collectStyleForAttribute):

            Use shorthands where possible to shrink the code a bit. Pass border widths as CSS_PX
            values directly instead of making a CSSParser round-trip.

2012-02-23  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, use the strings in LocalizedStrings.cpp.

        * platform/wx/LocalizedStringsWx.cpp:
        (WebCore::localizedString):
        (WebCore):

2012-02-23  Alok Priyadarshi  <alokp@chromium.org>

        Microsoft IE fishtank demo causes assertion in RenderLayer::convertToLayerCoords
        https://bugs.webkit.org/show_bug.cgi?id=61964

        Reviewed by James Robinson.
        
        The assertion is caused with the following callstack:
        WebCore::RenderLayer::convertToLayerCoords
        WebCore::RenderLayerCompositor::layerWillBeRemoved
        WebCore::RenderLayer::removeChild
        WebCore::RenderLayer::removeOnlyThisLayer
        
        WebCore::RenderLayer::removeOnlyThisLayer removes itself from the parent
        before moving its children to its parent. When WebCore::RenderLayer::convertToLayerCoords
        is called for one of the children, it tries to walk to root only to stop at the immediate
        parent which was disconnected from the tree in WebCore::RenderLayer::removeOnlyThisLayer.
        If removal of layer is delayed until the children has been moved, the ASSERT is avoided.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::removeOnlyThisLayer):

2012-02-23  Matthew Delaney  <mdelaney@apple.com>

        Fix for canvas breakage caused by r108597 from the following:
        https://bugs.webkit.org/show_bug.cgi?id=79317

        Reviewed by Oliver Hunt.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):

2012-02-23  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: mad Redo to Cmd+Shift+Z, not Cmd+Y on a Mac.
        https://bugs.webkit.org/show_bug.cgi?id=79341

        Reviewed by Timothy Hatcher.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.handleShortcut):

2012-02-23  Ryosuke Niwa  <rniwa@webkit.org>

        Mac build fix after 108629.

        * WebCore.exp.in:

2012-02-23  Tom Sepez  <tsepez@chromium.org>

        [chromium] XSS Auditor bypass via javascript url and control characters
        https://bugs.webkit.org/show_bug.cgi?id=79154

        Reviewed by Adam Barth.

        Test: http/tests/security/xssAuditor/javascript-link-control-char2.html

        * html/parser/XSSAuditor.cpp:
        (WebCore):
        (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):

2012-02-23  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
        https://bugs.webkit.org/show_bug.cgi?id=79371

        Reviewed by Daniel Bates.

        * CMakeLists.txt:

2012-02-23  Julien Chaffraix  <jchaffraix@webkit.org>

        Cleanup RenderBlock::moveChildrenTo
        https://bugs.webkit.org/show_bug.cgi?id=79319

        Reviewed by Eric Seidel.

        Refactoring, no change in behavior expected.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::moveChildrenTo):
        Removed inline check that was redundant, switched to |while| to a |for|
        to show what's going on more closely and adds a call to moveChildTo to
        share more code between the 2 functions.

2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Add support for touch cancellation
        https://bugs.webkit.org/show_bug.cgi?id=79348

        Reviewed by Kenneth Rohde Christiansen.

        Map Qt touch cancel events to the WebCore equivalent.

        No new tests, unskipped existing test for Qt 5.

        * platform/PlatformTouchPoint.h:
        (PlatformTouchPoint):
        * platform/qt/PlatformTouchEventQt.cpp:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        * platform/qt/PlatformTouchPointQt.cpp:
        (WebCore::PlatformTouchPoint::PlatformTouchPoint):

2012-02-23  Erik Arvidsson  <arv@chromium.org>

        Unreviewed. Rebaseline binding test files.

        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        (webkit_dom_test_interface_supplemental_method1):
        (webkit_dom_test_interface_supplemental_method2):
        (webkit_dom_test_interface_get_supplemental_str1):
        (webkit_dom_test_interface_get_supplemental_str2):
        (webkit_dom_test_interface_set_supplemental_str2):
        (webkit_dom_test_interface_get_supplemental_node):
        (webkit_dom_test_interface_set_supplemental_node):
        (webkit_dom_test_interface_set_property):
        (webkit_dom_test_interface_get_property):

2012-02-23  Anders Carlsson  <andersca@apple.com>

        Crash in ScrollElasticityController::snapRubberBandTimerFired()
        https://bugs.webkit.org/show_bug.cgi?id=79372
        <rdar://problem/10915193>

        Reviewed by Andreas Kling.

        Invalidate the rubber-band timer in the ScrollingTreeNodeMac destructor.

        * page/scrolling/mac/ScrollingTreeNodeMac.h:
        (ScrollingTreeNodeMac):
        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::~ScrollingTreeNodeMac):
        (WebCore):

2012-02-23  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: add experiment that loads stylesheets as links
        https://bugs.webkit.org/show_bug.cgi?id=79340

        Reviewed by Timothy Hatcher.

        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/View.js:
        (WebInspector.View.prototype._doLoadCSS):

2012-02-23  Adam Roben  <aroben@apple.com>

        Mac build fix after r108615

        * WebCore.exp.in: Added a missing export.

2012-02-23  Adam Barth  <abarth@webkit.org>

        Move MediaStream related declarations from DOMWindow to DOMWindowMediaStream
        https://bugs.webkit.org/show_bug.cgi?id=79343

        Reviewed by Eric Seidel.

        These declarations belong in the MEDIA_STREAM module.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * mediastream/DOMWindowMediaStream.idl: Added.
        * page/DOMWindow.idl:

2012-02-22  Igor Oliveira  <igor.o@sisa.samsung.com>

        Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2)
        https://bugs.webkit.org/show_bug.cgi?id=38025

        This patchs implements updateAnimationTimerForRenderer, it just checks the timeToNextService for
        the current RenderObject reducing the amount of iterations.

        Reviewed by Simon Fraser.

        * page/animation/AnimationController.cpp:
        (WebCore):
        (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
        (WebCore::AnimationController::updateAnimations):
        * page/animation/AnimationControllerPrivate.h:
        (AnimationControllerPrivate):

2012-02-22  Hajime Morrita  <morrita@chromium.org>

        NOTIFICATIONS should be implemented as PageSupplement
        https://bugs.webkit.org/show_bug.cgi?id=79052

        Reviewed by Adam Barth.

        Turned NotificationController to a PageSupplement.

        No new tests. No behavior change.

        * notifications/NotificationController.cpp:
        (WebCore::NotificationController::clientFrom):
        (WebCore):
        (WebCore::NotificationController::supplementName):
        (WebCore::provideNotification):
        * notifications/NotificationController.h:
        (NotificationController):
        (WebCore::NotificationController::from):
        * notifications/NotificationPresenter.h:
        (WebCore):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitNotifications):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        (WebCore):
        (PageClients):
        (Page):

2012-02-22  Dmitry Lomov  <dslomov@google.com>

        [Chromium][V8] Support Uint8ClampedArray in postMessage
        https://bugs.webkit.org/show_bug.cgi?id=79291.

        Reviewed by Kenneth Russell.

        Covered by existing tests.

        * bindings/v8/SerializedScriptValue.cpp:

2012-02-22  Kentaro Hara  <haraken@chromium.org>

        Enable Geolocation bindings for GObject
        https://bugs.webkit.org/show_bug.cgi?id=79293

        Reviewed by Adam Barth.

        This patch adds "WebCore::" to supplemental method calls.
        This will solve the GTK build failure we have observed in the Geolocation API,
        and thus this patch enables the Geolocation API.

        * Modules/geolocation/NavigatorGeolocation.idl:
        * bindings/scripts/CodeGeneratorGObject.pm:
        (GenerateProperty):
        (GenerateFunction):

2012-02-22  MORITA Hajime  <morrita@google.com>

        [Refactoring] Align supplementName() values.
        https://bugs.webkit.org/show_bug.cgi?id=79311

        Reviewed by Adam Barth.

        No new tests. No behavioral change.

        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::supplementName):
        * mediastream/UserMediaController.cpp:
        (WebCore::UserMediaController::supplementName):

2012-02-22  Yuta Kitamura  <yutak@chromium.org>

        Unreviewed, rolling out r108602.
        http://trac.webkit.org/changeset/108602
        https://bugs.webkit.org/show_bug.cgi?id=78878

        Caused a couple of layout test failures on Chromium bots.

        * dom/Element.cpp:
        (WebCore::Element::childShouldCreateRenderer):
        * dom/Element.h:
        (Element):
        * dom/Node.h:
        (WebCore::Node::childShouldCreateRenderer):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::shouldCreateRenderer):
        * dom/NodeRenderingContext.h:
        (NodeRenderingContext):
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
        * html/HTMLDetailsElement.h:
        (HTMLDetailsElement):
        * html/HTMLMediaElement.cpp:
        (WebCore):
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):
        * html/HTMLMeterElement.cpp:
        * html/HTMLMeterElement.h:
        (HTMLMeterElement):
        * html/HTMLProgressElement.cpp:
        * html/HTMLProgressElement.h:
        (HTMLProgressElement):
        * html/HTMLSelectElement.cpp:
        * html/HTMLSelectElement.h:
        (HTMLSelectElement):
        * html/HTMLSummaryElement.cpp:
        * html/HTMLSummaryElement.h:
        (HTMLSummaryElement):
        * html/HTMLTextFormControlElement.cpp:
        * html/HTMLTextFormControlElement.h:
        (HTMLTextFormControlElement):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::canHaveChildren):
        (WebCore):
        * rendering/RenderButton.h:
        (RenderButton):
        * rendering/RenderListBox.h:
        (WebCore::RenderListBox::canHaveChildren):
        (RenderListBox):
        * rendering/RenderMedia.h:
        * rendering/RenderMenuList.h:
        (WebCore::RenderMenuList::canHaveChildren):
        * rendering/RenderMeter.h:
        (WebCore::RenderMeter::canHaveChildren):
        * rendering/RenderProgress.h:
        (WebCore::RenderProgress::canHaveChildren):
        * rendering/RenderTextControl.h:
        (WebCore::RenderTextControl::canHaveChildren):
        * rendering/svg/RenderSVGRoot.h:
        (WebCore::RenderSVGRoot::canHaveChildren):
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::childShouldCreateRenderer):
        * svg/SVGAElement.h:
        (SVGAElement):
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
        * svg/SVGAltGlyphElement.h:
        (SVGAltGlyphElement):
        * svg/SVGDocument.cpp:
        (WebCore::SVGDocument::childShouldCreateRenderer):
        * svg/SVGDocument.h:
        (SVGDocument):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::childShouldCreateRenderer):
        * svg/SVGElement.h:
        (SVGElement):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
        * svg/SVGForeignObjectElement.h:
        (SVGForeignObjectElement):
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
        * svg/SVGSwitchElement.h:
        (SVGSwitchElement):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::childShouldCreateRenderer):
        * svg/SVGTRefElement.h:
        (SVGTRefElement):
        * svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::childShouldCreateRenderer):
        * svg/SVGTSpanElement.h:
        (SVGTSpanElement):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::childShouldCreateRenderer):
        * svg/SVGTextElement.h:
        (SVGTextElement):
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::childShouldCreateRenderer):
        * svg/SVGTextPathElement.h:

2012-02-22  Abhishek Arya  <inferno@chromium.org>

        Crash in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
        https://bugs.webkit.org/show_bug.cgi?id=79043

        Reviewed by Julien Chaffraix.

        Tests: fast/runin/runin-div-before-child.html
               fast/runin/runin-table-before-child.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): handle
        the case of run-in elements and strengthen code to handle cases where
        beforeChild is incorrectly set.
        * rendering/RenderObject.h: remove anonymousContainer function since
        the new logic in RenderBlock does not need it.

2012-02-22  Hayato Ito  <hayato@chromium.org>

        Make ShadowRootList manage a node distribution.
        https://bugs.webkit.org/show_bug.cgi?id=79008

        Reviewed by Dimitri Glazkov.

        The result of node distributions is currently stored in
        ShadowRoot. To support multiple ShadowRoots, such node distribution
        information should be managed in one place per shadow host. Now
        ShadowRootList takes this responsibility on behalf of owing
        multiple ShadowRoots. Clients should ask ShadowRootList for such
        information, not for each ShadowRoot.

        No tests. No change in behavior.

        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
        (WebCore::ShadowRoot::attach):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        * dom/ShadowRootList.cpp:
        (WebCore::ShadowRootList::insertionPointFor):
        (WebCore):
        (WebCore::ShadowRootList::isSelectorActive):
        (WebCore::ShadowRootList::ensureSelector):
        * dom/ShadowRootList.h:
        (WebCore):
        (ShadowRootList):
        (WebCore::ShadowRootList::hasShadowRoot):
        (WebCore::ShadowRootList::youngestShadowRoot):
        (WebCore::ShadowRootList::oldestShadowRoot):
        (WebCore::ShadowRootList::selector):
        (WebCore::ShadowRootList::host):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::attach):
        (WebCore::HTMLContentElement::detach):
        * html/shadow/HTMLContentSelector.cpp:
        (WebCore::HTMLContentSelector::willSelectOver):
        * html/shadow/HTMLContentSelector.h:
        (HTMLContentSelector):

2012-02-22  Wei James  <james.wei@intel.com>

        Add multi channels support in AudioBus and AudioBufferSourceNode
        https://bugs.webkit.org/show_bug.cgi?id=79017

        Reviewed by Chris Rogers.

        Tests: webaudio/up-mixing-mono-51.html
               webaudio/up-mixing-mono-stereo.html
               webaudio/up-mixing-stereo-51.html

        * platform/audio/AudioBus.cpp:
        (WebCore::AudioBus::copyFrom):
        (WebCore::AudioBus::sumFrom):
        (WebCore::AudioBus::processWithGainFromMonoStereo):
        (WebCore::AudioBus::processWithGainFrom):

2012-02-22  Kentaro Hara  <haraken@chromium.org>

        [Supplemental] should support constants
        https://bugs.webkit.org/show_bug.cgi?id=79303

        Reviewed by Adam Barth.

        Given that we have

            interface [Supplemental=Y] X { constant int A = 123; }

        then the code generator should generate

            X::A

        to refer to the constant. However, the current code generator generates Y::A instead.
        This patch fixes it.

        Test: bindings/scripts/test/TestSupplemental.idl

        * bindings/scripts/CodeGenerator.pm: Modified as described above.
        (GenerateCompileTimeCheckForEnumsIfNeeded):

        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
        (WebCore):
        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
        (WebCore):

        * page/DOMWindow.h: Moved DOMWindow::FileSystemType to DOMWindowFileSystem::FileSystemType.
        (DOMWindow):
        * fileapi/DOMWindowFileSystem.h: Ditto.
        (DOMWindowFileSystem):
        * fileapi/DOMWindowFileSystem.cpp: Ditto.
        (WebCore):

2012-02-22  MORITA Hajime  <morrita@google.com>

        Adding a ShadowRoot to image-backed element causes a crash
        https://bugs.webkit.org/show_bug.cgi?id=78878

        Reviewed by Dimitri Glazkov.

        The crash happened because NodeRenderingContext tried to append a
        child to a renderer regardless one isn't capable of holding any
        children if it appears in the shadow attaching phase. RenderImage
        is one of such renderer classes which aren't capable.

        NodeRenderingContext decide whether the contextual node as a child
        can create its renderer based on RenderObject::canHaveChildren()
        and Node::childShouldCreateRenderer(). But the responsibility
        between these two methods are getting confused. which results this
        unfortuante crash path.

        This change re-aligns the responsibility:

        - Now canHaveChildren() purely declares the ability of the
          renderer. If the renderer is capable of having children, it
          return true regardless of HTML semantics.

        - On the other hand, childShouldCreateRenderer() cares about the
          semantics. If the element doesn't allow children to be rendered,
          this returns false.

        - Note that these decision on elements are contextual. Each element
          needs to know which role it is playing in the tree composition
          algorithm of Shadow DOM. That's why the method parameter is changed
          from Node* to NodeRenderingContext.

        With this change, some decision points are moved from a renderer to an
        element. Following renderers no longer stop reject having children:

        - RenderButton, RenderListBox, RenderMenuList, RenderMeter,
          RenderProgress, RenderTextControl.

        Corresponding element for such a render (HTMLProgressElement of
        RenderProgress for exaple) now cares about that.

        Tests: fast/dom/shadow/shadow-on-image-expected.html
        fast/dom/shadow/shadow-on-image.html

        * dom/Element.cpp:
        (WebCore::Element::childShouldCreateRenderer):
        * dom/Element.h:
        (Element):
        * dom/Node.h:
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::shouldCreateRenderer):
        * dom/NodeRenderingContext.h:
        (NodeRenderingContext):
        (WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
        (WebCore):
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
        * html/HTMLDetailsElement.h:
        (HTMLDetailsElement):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::childShouldCreateRenderer):
        (WebCore):
        * html/HTMLMeterElement.h:
        (HTMLMeterElement):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::childShouldCreateRenderer):
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::childShouldCreateRenderer):
        (WebCore):
        * html/HTMLProgressElement.h:
        (HTMLProgressElement):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::childShouldCreateRenderer):
        (WebCore):
        * html/HTMLSelectElement.h:
        (HTMLSelectElement):
        * html/HTMLSummaryElement.cpp:
        * html/HTMLSummaryElement.h:
        (HTMLSummaryElement):
        * html/HTMLTextFormControlElement.cpp:
        * html/HTMLTextFormControlElement.h:
        (HTMLTextFormControlElement):
        * rendering/RenderButton.cpp:
        * rendering/RenderButton.h:
        (RenderButton):
        * rendering/RenderListBox.h:
        (RenderListBox):
        * rendering/RenderMedia.h:
        (WebCore::RenderMedia::canHaveChildren):
        * rendering/RenderMenuList.h:
        * rendering/RenderMeter.h:
        * rendering/RenderProgress.h:
        * rendering/RenderTextControl.h:
        * rendering/svg/RenderSVGRoot.h:
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::childShouldCreateRenderer):
        * svg/SVGAElement.h:
        (SVGAElement):
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
        * svg/SVGAltGlyphElement.h:
        (SVGAltGlyphElement):
        * svg/SVGDocument.cpp:
        (WebCore::SVGDocument::childShouldCreateRenderer):
        * svg/SVGDocument.h:
        (SVGDocument):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::childShouldCreateRenderer):
        * svg/SVGElement.h:
        (SVGElement):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
        * svg/SVGForeignObjectElement.h:
        (SVGForeignObjectElement):
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
        * svg/SVGSwitchElement.h:
        (SVGSwitchElement):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::childShouldCreateRenderer):
        * svg/SVGTRefElement.h:
        (SVGTRefElement):
        * svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::childShouldCreateRenderer):
        * svg/SVGTSpanElement.h:
        (SVGTSpanElement):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::childShouldCreateRenderer):
        * svg/SVGTextElement.h:
        (SVGTextElement):
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::childShouldCreateRenderer):
        * svg/SVGTextPathElement.h:

2012-02-22  Yong Li  <yoli@rim.com>

        [BlackBerry] NetworkJob can access deleted objects.
        https://bugs.webkit.org/show_bug.cgi?id=79246

        Reviewed by Antonio Gomes.

        When a NetworkJob is created by unload handler, we still need
        to send the request to the server, but we shouldn't save and
        keep using the Frame pointer because the frame is being detached.
        The NetworkJob will be cancelled by PingLoader as soon as it gets
        first response from host.
        Also see https://bugs.webkit.org/show_bug.cgi?id=30457.

        No new tests because existing test case is good enough like
        LayoutTests/http/tests/navigation/image-load-in-unload-handler.html.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::NetworkJob):
        (WebCore::NetworkJob::initialize):

2012-02-22  Kenichi Ishibashi  <bashi@chromium.org>

        [WebSocket] Remove zlib.h from WebSocketDeflater.h
        https://bugs.webkit.org/show_bug.cgi?id=79298

        Use forward declaration and OwnPtr for z_stream to move zlib.h from
        .h file to .cpp file.

        Reviewed by Kent Tamura.

        No new tests. No behavior change.

        * websockets/WebSocketDeflater.cpp:
        (WebCore::WebSocketDeflater::WebSocketDeflater):
        (WebCore::WebSocketDeflater::initialize):
        (WebCore::WebSocketDeflater::~WebSocketDeflater):
        (WebCore::setStreamParameter):
        (WebCore::WebSocketDeflater::addBytes):
        (WebCore::WebSocketDeflater::finish):
        (WebCore::WebSocketDeflater::reset):
        (WebCore::WebSocketInflater::WebSocketInflater):
        (WebCore::WebSocketInflater::initialize):
        (WebCore::WebSocketInflater::~WebSocketInflater):
        (WebCore::WebSocketInflater::addBytes):
        (WebCore::WebSocketInflater::finish):
        * websockets/WebSocketDeflater.h:
        (WebSocketDeflater): Use OwnPtr for m_stream.
        (WebSocketInflater): Ditto.

2012-02-22  James Robinson  <jamesr@chromium.org>

        Remove GraphicsContext3D::paintsIntoCanvasBuffer and unify WebGL and canvas 2d logic
        https://bugs.webkit.org/show_bug.cgi?id=79317

        Reviewed by Kenneth Russell.

        HTMLCanvasElement::paint needs to know whether to attempt to paint the canvas buffer for its context. In the
        case of an accelerated canvas or WebGL context, unless we are printing it is typically the composited layer's
        responsibility to present the contents and the element itself is only responsible for backgrounds, borders and
        the like.  This removes a rather indirect path that WebGL content used to take to accomplish this and unifies
        the logic with CanvasRenderingContext2D's, which has the exact same needs.

        Covered by existing canvas layout tests.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
        (WebCore):
        (WebCore::HTMLCanvasElement::paint):
        * html/HTMLCanvasElement.h:
        (HTMLCanvasElement):
        * html/canvas/CanvasRenderingContext.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        * html/canvas/CanvasRenderingContext2D.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        * html/canvas/WebGLRenderingContext.h:
        * platform/graphics/GraphicsContext3D.h:

2012-02-22  Pablo Flouret  <pablof@motorola.com>

        PopStateEvent.state should use the same object as history.state
        https://bugs.webkit.org/show_bug.cgi?id=77493

        Reviewed by Kentaro Hara.

        Tests: fast/loader/stateobjects/state-attribute-history-getter.html
               fast/loader/stateobjects/state-attribute-popstate-event.html

        * bindings/js/JSPopStateEventCustom.cpp:
        (WebCore):
        (WebCore::cacheState):
        (WebCore::JSPopStateEvent::state):
        * bindings/v8/V8HiddenPropertyName.h:
        (WebCore):
        * bindings/v8/custom/V8HistoryCustom.cpp:
        (WebCore::V8History::stateAccessorGetter):
        (WebCore::V8History::pushStateCallback):
        (WebCore::V8History::replaceStateCallback):
        * bindings/v8/custom/V8PopStateEventCustom.cpp:
        (WebCore):
        (WebCore::cacheState):
        (WebCore::V8PopStateEvent::stateAccessorGetter):
        * dom/Document.cpp:
        (WebCore::Document::enqueuePopstateEvent):
        * dom/PopStateEvent.cpp:
        (WebCore::PopStateEvent::PopStateEvent):
        (WebCore::PopStateEvent::create):
        * dom/PopStateEvent.h:
        (WebCore):
        (PopStateEvent):
        (WebCore::PopStateEvent::history):
        * dom/PopStateEvent.idl:
        * page/History.cpp:
        (WebCore::History::stateChanged):
        (WebCore):
        (WebCore::History::isSameAsCurrentState):
        * page/History.h:
        (History):

2012-02-22  Adam Klein  <adamk@chromium.org>

        Remove obsolete FIXMEs from ContainerNode
        https://bugs.webkit.org/show_bug.cgi?id=79295

        Reviewed by Ryosuke Niwa.

        Each of these three identical FIXMEs has since been fixed by adding
        "RefPtr<Node> protect(this)" at the top of each method.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::removeChild):
2012-02-22  Dmitry Lomov  <dslomov@google.com>

        [JSC] Implement ArrayBuffer and typed array cloning in JSC
        https://bugs.webkit.org/show_bug.cgi?id=79294

        Reviewed by Oliver Hunt.

        Covered by existing tests.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::typedArrayElementSize):
        (WebCore):
        (WebCore::CloneSerializer::dumpArrayBufferView):
        (CloneSerializer):
        (WebCore::CloneSerializer::dumpIfTerminal):
        (WebCore::CloneSerializer::write):
        (WebCore::CloneDeserializer::readArrayBufferViewSubtag):
        (CloneDeserializer):
        (WebCore::CloneDeserializer::readArrayBuffer):
        (WebCore::CloneDeserializer::readArrayBufferView):
        (WebCore::CloneDeserializer::getJSValue):
        (WebCore::CloneDeserializer::readTerminal):

2012-02-22  Adrienne Walker  <enne@google.com>

        [chromium] Unreviewed speculative chromium-mac build fix.
        https://bugs.webkit.org/show_bug.cgi?id=75874

        This broke in r108581.

        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
        (WebCore):

2012-02-22  Raymond Toy  <rtoy@google.com>

        exponentialRampToValue doesn't use starting value
        https://bugs.webkit.org/show_bug.cgi?id=78035

        Reviewed by Chris Rogers.

        Test: webaudio/audioparam-exponentialRampToValueAtTime.html

        * webaudio/AudioParamTimeline.cpp:
        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Set
        starting value for exponential ramp.

2012-02-22  Andreas Kling  <awesomekling@apple.com>

        Make parsing color presentation attributes do less pointless work.
        <http://webkit.org/b/79304>

        Reviewed by Antti Koivisto.

        Let HTMLElement::addHTMLColorToStyle() construct the color CSSValue directly
        rather than passing a string that has to go through CSSParser.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::setProperty):
        * css/StylePropertySet.h:

            Added a setProperty(propertyID, CSSValue) overload that expands shorthand
            properties if necessary. Also added a little comment about the behavior
            differences between setProperty() overloads.

        * html/HTMLElement.cpp:
        (WebCore::parseColorStringWithCrazyLegacyRules):

            Changed this to return an RGBA32.

        (WebCore::HTMLElement::addHTMLColorToStyle):

            Figure out the RGB value and construct a (pooled) CSSValue directly.

2012-02-22  Ian Vollick  <vollick@chromium.org>

        [chromium] Plumb from GraphicsLayer to the cc thread animation code
        https://bugs.webkit.org/show_bug.cgi?id=75874

        Reviewed by James Robinson.

        * WebCore.gypi:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setThreadedAnimationEnabled):
        (WebCore::Settings::threadedAnimationEnabled):
        (Settings):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (std):
        (WebCore::GraphicsLayerChromium::addChild):
        (WebCore::GraphicsLayerChromium::addAnimation):
        (WebCore):
        (WebCore::GraphicsLayerChromium::pauseAnimation):
        (WebCore::GraphicsLayerChromium::removeAnimation):
        (WebCore::GraphicsLayerChromium::suspendAnimations):
        (WebCore::GraphicsLayerChromium::resumeAnimations):
        (WebCore::GraphicsLayerChromium::setContentsToMedia):
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        (WebCore::GraphicsLayerChromium::mapAnimationNameToId):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (GraphicsLayerChromium):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::addAnimation):
        (WebCore):
        (WebCore::LayerChromium::pauseAnimation):
        (WebCore::LayerChromium::removeAnimation):
        (WebCore::LayerChromium::suspendAnimations):
        (WebCore::LayerChromium::resumeAnimations):
        (WebCore::LayerChromium::setLayerAnimationController):
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore):
        (LayerChromium):
        (WebCore::LayerChromium::layerAnimationController):
        (WebCore::LayerChromium::numChildren):
        * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
        (WebCore::CCActiveAnimation::create):
        (WebCore):
        (WebCore::CCActiveAnimation::CCActiveAnimation):
        (WebCore::CCActiveAnimation::~CCActiveAnimation):
        (WebCore::CCActiveAnimation::isWaiting):
        (WebCore::CCActiveAnimation::isRunningOrHasRun):
        (WebCore::CCActiveAnimation::cloneForImplThread):
        (WebCore::CCActiveAnimation::synchronizeProperties):
        * platform/graphics/chromium/cc/CCActiveAnimation.h:
        (CCActiveAnimation):
        (WebCore::CCActiveAnimation::AnimationSignature::AnimationSignature):
        (AnimationSignature):
        (WebCore::CCActiveAnimation::id):
        (WebCore::CCActiveAnimation::group):
        (WebCore::CCActiveAnimation::signature):
        * platform/graphics/chromium/cc/CCAnimationCurve.h:
        (CCAnimationCurve):
        (CCTransformAnimationCurve):
        * platform/graphics/chromium/cc/CCAnimationEvents.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCAnimationCurve.h.
        (WebCore):
        (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
        (CCAnimationStartedEvent):
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: Added.
        (WebCore):
        (WebCore::CCLayerAnimationController::CCLayerAnimationController):
        (WebCore::CCLayerAnimationController::~CCLayerAnimationController):
        (WebCore::CCLayerAnimationController::create):
        (WebCore::CCLayerAnimationController::addAnimation):
        (WebCore::CCLayerAnimationController::pauseAnimation):
        (WebCore::CCLayerAnimationController::removeAnimation):
        (WebCore::CCLayerAnimationController::suspendAnimations):
        (WebCore::CCLayerAnimationController::resumeAnimations):
        (WebCore::CCLayerAnimationController::synchronizeAnimations):
        (WebCore::CCLayerAnimationController::removeCompletedAnimations):
        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
        (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
        (WebCore::CCLayerAnimationController::pushAnimationProperties):
        (WebCore::CCLayerAnimationController::getActiveAnimation):
        (WebCore::CCLayerAnimationController::remove):
        * platform/graphics/chromium/cc/CCLayerAnimationController.h: Added.
        (WebCore):
        (CCLayerAnimationController):
        (WebCore::CCLayerAnimationController::activeAnimations):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
        (WebCore::CCLayerAnimationControllerImpl::~CCLayerAnimationControllerImpl):
        (WebCore):
        (WebCore::CCLayerAnimationControllerImpl::animate):
        (WebCore::CCLayerAnimationControllerImpl::add):
        (WebCore::CCLayerAnimationControllerImpl::getActiveAnimation):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
        (WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations):
        (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
        (CCLayerAnimationControllerImplClient):
        (CCLayerAnimationControllerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (CCLayerImpl):
        (WebCore::CCLayerImpl::id):
        (WebCore::CCLayerImpl::opacity):
        (WebCore::CCLayerImpl::transform):
        (WebCore::CCLayerImpl::bounds):
        (WebCore::CCLayerImpl::layerAnimationController):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::setAnimationEvents):
        (WebCore):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        (CCSettings):
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::animate):
        (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::animatePageScale):
        (WebCore::CCLayerTreeHostImpl::animateLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImplClient):
        (CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::needsAnimateLayers):
        (WebCore::CCLayerTreeHostImpl::setNeedsAnimateLayers):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::postAnimationEventsToMainThreadOnImplThread):
        (WebCore):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):
        (WebCore):
        (DebugScopedSetMainThread):
        (WebCore::DebugScopedSetMainThread::DebugScopedSetMainThread):
        (WebCore::DebugScopedSetMainThread::~DebugScopedSetMainThread):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
        (WebCore):
        (WebCore::CCThreadProxy::setAnimationEvents):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-02-22  Anders Carlsson  <andersca@apple.com>

        Subframes with scrollable areas must be added to the non-fast scrollable region
        https://bugs.webkit.org/show_bug.cgi?id=79306
        <rdar://problem/10915564>

        Reviewed by Andreas Kling.

        When computing the non-fast scrollable region, add subframes with scrollable regions to the region.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::computeNonFastScrollableRegion):

2012-02-22  Nate Chapin  <japhet@chromium.org>

        CachedResourceLoader ignores the Range header
        in determineRavlidationPolicy(), resulting in incorrect
        cache hits.

        Reviewed by Adam Barth.

        Test: http/tests/xmlhttprequest/range-test.html
        Test written by Aaron Colwell (acolwell@chromium.org).

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::determineRevalidationPolicy):

2012-02-22  Antti Koivisto  <antti@apple.com>

        REGRESSION (r104060): Web font is not loaded if specified by link element dynamically inserted
        https://bugs.webkit.org/show_bug.cgi?id=79186

        Reviewed by Andreas Kling.

        Test: fast/css/font-face-insert-link.html
        
        If a dynamically inserted stylesheet contains @font-face rules, we may fail to update the rendering.
        
        Before r104060 the style selector was destroyed on every style change, and the font selector along with it.
        This is no longer the case and we can't rely on comparing font selector pointers when comparing Fonts
        for equality. This patch adds version number to the font selector and checks it in Font::operator==.
        The version number is incremented when new font-face rules are added to the font selector.
        
        FontFallbackList is an object shared between Fonts so the extra field shouldn't matter much in terms
        of memory.

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::CSSFontSelector):
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSFontSelector.h:
        (CSSFontSelector):
        * platform/graphics/Font.cpp:
        (WebCore::Font::operator==):
        * platform/graphics/FontFallbackList.cpp:
        (WebCore::FontFallbackList::FontFallbackList):
        (WebCore::FontFallbackList::invalidate):
        * platform/graphics/FontFallbackList.h:
        (FontFallbackList):
        (WebCore::FontFallbackList::fontSelectorVersion):
        * platform/graphics/FontSelector.h:
        (FontSelector):

2012-02-22  Nate Chapin  <japhet@chromium.org>

        Prevent CachedRawResource from sending the same data
        chunk multiple times.
        https://bugs.webkit.org/show_bug.cgi?id=78810

        Reviewed by Adam Barth.

        If a CachedRawResource receives data while a CachedRawResourceCallback
        timer is active, the incremental data will be sent to the client, followed
        but all data received so far, resulting in invalid data. Resolving this adds
        complexity to CachedRawResource and requires making a few more CachedResource
        functions virtual, so push the callback logic into CachedResource where it can
        be implemented more cleanly.

        Test: inspector/debugger/script-formatter-console.html
            should no longer be flaky.

        * loader/cache/CachedRawResource.cpp: CachedRawResourceCallback renamed and moved to CachedResource.
        (WebCore::CachedRawResource::didAddClient): More or less the same as sendCallbacks() was.
        * loader/cache/CachedRawResource.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::addClient): Check the return value of addClientToSet() to determine whether
            or not to call didAddClient.
        (WebCore::CachedResource::didAddClient): May be called during addClient(), or may be called on a timer.
            If called on a timer, move the client between sets.
        (WebCore::CachedResource::addClientToSet): Determine whether didAddClient() can be called synchronously and
            return true if it can.
        (WebCore::CachedResource::removeClient): Ensure we cancel pending callbacks if necessary.
        (WebCore::CachedResource::CachedResourceCallback::CachedResourceCallback): Renamed and moved from CachedRawResource.
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::hasClients): Check m_clientsAwaitingCallback as well as m_clients.
        (WebCore::CachedResource::CachedResourceCallback::schedule):
        (WebCore::CachedResource::hasClient): Helper for calling contains() on both m_clientsAwaitingCallback and m_clients.

2012-02-22  Daniel Bates  <dbates@webkit.org>

        Update change log entry for r108561 to reflect removal of "if (m_dispatchSoonList.isEmpty())".
        https://bugs.webkit.org/show_bug.cgi?id=78840

        Mention removal of unnecessary check for empty list m_dispatchSoonList in EventSender::cancelEvent().

        Also, fix the date in the change log entry for changeset r108562 since it landed today (02/22/2012).

2012-02-22  Ryosuke Niwa  <rniwa@webkit.org>

        Remove the remaining uses of CSSStyleDeclaration in Editor
        https://bugs.webkit.org/show_bug.cgi?id=78939

        Reviewed by Enrica Casucci.

        Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
        applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
        to StylePropertySet.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/Editor.cpp:
        (WebCore::Editor::applyStyle):
        (WebCore::Editor::shouldApplyStyle):
        (WebCore::Editor::applyParagraphStyle):
        (WebCore::Editor::applyStyleToSelection):
        (WebCore::Editor::applyParagraphStyleToSelection):
        (WebCore::Editor::setBaseWritingDirection):
        (WebCore::Editor::computeAndSetTypingStyle):
        * editing/Editor.h:
        (WebCore):
        (Editor):
        * editing/EditorCommand.cpp:
        (WebCore::applyCommandToFrame):
        (WebCore::executeApplyParagraphStyle):
        (WebCore::executeMakeTextWritingDirectionLeftToRight):
        (WebCore::executeMakeTextWritingDirectionNatural):
        (WebCore::executeMakeTextWritingDirectionRightToLeft):
        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::shouldApplyStyle):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        * page/EditorClient.h:
        (WebCore):
        (EditorClient):

2012-02-22  Daniel Bates  <dbates@webkit.org>

        Abstract ImageEventSender into a general purpose EventSender
        https://bugs.webkit.org/show_bug.cgi?id=78840

        Reviewed by Adam Barth.

        Abstract the functionality in ImageEventSender so that it can be used again.
        This functionality may be useful in fixing WebKit Bug #38995.

        No functionality was changed; no new tests.

        * GNUmakefile.list.am: Added EventSender.h.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * dom/EventSender.h: Added.
        (WebCore):
        (EventSender):
        (WebCore::EventSender::eventType):
        (WebCore::EventSender::hasPendingEvents):
        (WebCore::EventSender::timerFired):
        (WebCore::::EventSender):
        (WebCore::::dispatchEventSoon):
        (WebCore::::cancelEvent): Removed unnecessary check for empty list m_dispatchSoonList;
        As far as I can tell this is an artifact of using a
        QPtrList data structure for this functionality when it was originally in
        DocumentImpl::removeImage() (see <http://trac.webkit.org/browser/trunk/WebCore/khtml/xml/DocumentImpl.cpp?rev=12515#L2302>),
        which actually removed items from a list (as opposed to zeroing them out as we do
        now).
        (WebCore::::dispatchPendingEvents):
        * loader/ImageLoader.cpp: Modified to use EventSender.
        (WebCore):
        (WebCore::ImageLoader::dispatchPendingEvent): Added; called by EventSender when the ImageLoader
        should dispatch a pending BeforeLoad or Load event.
        * loader/ImageLoader.h:
        (WebCore):
        (ImageLoader):

2012-02-22  Max Vujovic  <mvujovic@adobe.com>

        Paddings and borders on root SVG element with viewbox causes child SVG elements to be rendered with the incorrect size
        https://bugs.webkit.org/show_bug.cgi?id=78613

        Reviewed by Nikolas Zimmermann.

        When computing its localToBorderBoxTransform, RenderSVGRoot was using its width and height
        as the dimensions of the SVG viewport. However, width and height include CSS borders and
        paddings, which are not part of the SVG viewport area. Now, RenderSVGRoot uses its
        contentWidth and contentHeight, which correspond to the SVG viewport area.

        Tests: svg/custom/svg-root-padding-border-margin-expected.html
               svg/custom/svg-root-padding-border-margin.html

        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):

2012-02-22  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [EFL] Get rid of GeolocationServiceEfl
        https://bugs.webkit.org/show_bug.cgi?id=79270

        Reviewed by Adam Barth.

        These were just a bunch of dummy files with no real functionality, and
        removing them helps the preparation of bug 78853, which will make
        client-based geolocation the default.

        No new tests, this functionality was not used.

        * PlatformEfl.cmake:
        * platform/efl/GeolocationServiceEfl.cpp: Removed.
        * platform/efl/GeolocationServiceEfl.h: Removed.

2012-02-22  Julien Chaffraix  <jchaffraix@webkit.org>

        Clean-up RenderTableSection::calcRowLogicalHeight
        https://bugs.webkit.org/show_bug.cgi?id=77705

        Reviewed by Eric Seidel.

        Refactoring / simplication of the code.

        This change removes some variables that were unneeded and were
        hiding what the code was really doing. Also some of the code was
        split and moved down to RenderTableCell.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::logicalHeightForRowSizing):
        * rendering/RenderTableCell.h:
        (RenderTableCell):
        Added the previous helper function to calculate the cell's
        adjusted logical height.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        Removed some variables, simplified the rowspan logic to be clearer
        (and added a comment about how we handle rowspans).

2012-02-22  Adam Barth  <abarth@webkit.org>

        Move FILE_SYSTEM code out of DOMWindow and into the fileapi folder
        https://bugs.webkit.org/show_bug.cgi?id=79259

        Reviewed by Eric Seidel.

        This patch is part of our ongoing effort to remove ifdefs from code
        classes.  The FILE_SYSTEM code in DOMWindow doesn't really have any
        necessary connection to DOMWindow.  DOMWindow is just the context
        object that the API hangs off of.

        This patch moves the FILE_SYSTEM code into the fileapi folder using
        [Supplemental].

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * fileapi/DOMWindowFileSystem.cpp: Added.
        (WebCore):
        (WebCore::DOMWindowFileSystem::DOMWindowFileSystem):
        (WebCore::DOMWindowFileSystem::~DOMWindowFileSystem):
        (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
        (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
        * fileapi/DOMWindowFileSystem.h: Added.
        (WebCore):
        (DOMWindowFileSystem):
        * fileapi/DOMWindowFileSystem.idl: Added.
        * page/DOMWindow.cpp:
        (WebCore):
        * page/DOMWindow.h:
        (WebCore):
        (DOMWindow):
        * page/DOMWindow.idl:

2012-02-22  Luke Macpherson   <macpherson@chromium.org>

        Re-implement many more HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macros in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=79200

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * rendering/style/RenderStyle.h:

2012-02-22  Tom Sepez  <tsepez@chromium.org>

        XSSAuditor bypass with <svg> tags and html-entities.
        https://bugs.webkit.org/show_bug.cgi?id=78836

        Reviewed by Adam Barth.

        Tests: http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html
               http/tests/security/xssAuditor/script-tag-inside-svg-tag.html
               http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html
               http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html

        * html/parser/XSSAuditor.cpp:
        (WebCore::isNonCanonicalCharacter):
        (WebCore::isTerminatingCharacter):
        (WebCore):
        (WebCore::startsHTMLCommentAt):
        (WebCore::startsSingleLineCommentAt):
        (WebCore::fullyDecodeString):
        (WebCore::XSSAuditor::XSSAuditor):
        (WebCore::XSSAuditor::init):
        (WebCore::XSSAuditor::filterToken):
        (WebCore::XSSAuditor::filterStartToken):
        (WebCore::XSSAuditor::filterEndToken):
        (WebCore::XSSAuditor::filterCharacterToken):
        (WebCore::XSSAuditor::filterScriptToken):
        (WebCore::XSSAuditor::filterObjectToken):
        (WebCore::XSSAuditor::filterParamToken):
        (WebCore::XSSAuditor::filterEmbedToken):
        (WebCore::XSSAuditor::filterAppletToken):
        (WebCore::XSSAuditor::filterIframeToken):
        (WebCore::XSSAuditor::filterMetaToken):
        (WebCore::XSSAuditor::filterBaseToken):
        (WebCore::XSSAuditor::filterFormToken):
        (WebCore::XSSAuditor::decodedSnippetForAttribute):
        (WebCore::XSSAuditor::snippetForJavaScript):
        * html/parser/XSSAuditor.h:
        (XSSAuditor):

2012-02-22  Anders Carlsson  <andersca@apple.com>

        Crash when marking cached pages for full style recalc
        https://bugs.webkit.org/show_bug.cgi?id=79276
        <rdar://problem/10884036>

        Reviewed by Beth Dakin.

        Guard against a null history item.

        * history/BackForwardController.cpp:
        (WebCore::BackForwardController::markPagesForFullStyleRecalc):

2012-02-22  Ken Buchanan  <kenrb@chromium.org>

        Crash from empty anonymous block preceding :before content
        https://bugs.webkit.org/show_bug.cgi?id=78250

        Reviewed by David Hyatt.

        RenderListMarkers getting removed from the tree in updateMarkerLocation()
        can leave parent anonymous blocks behind with no children. This was
        confusing updateBeforeAfterContent() because it does not expect
        an empty block to precede :before content renderers.

        Fix is to remove the anonymous block if it will lose all of its children.

        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::updateMarkerLocation):

2012-02-22  Abhishek Arya  <inferno@chromium.org>

        Crash due to accessing removed parent lineboxes when clearing view selection.
        https://bugs.webkit.org/show_bug.cgi?id=79264

        Reviewed by Eric Seidel.

        When our block needed a full layout, we were deleting our own lineboxes
        and letting descendant children (at any level in hierarchy and not just 
        immediate children) clear their own lineboxes as we keep laying them out.
        This was problematic because those descendant children lineboxes were
        pointing to removed parent lineboxes in the meantime. An example scenario
        where this would go wrong is first-letter object removal, which can cause
        clearing view selection, leading to accessing parent lineboxes. The patch
        modifies clearing the entire linebox tree upfront. It shouldn't introduce
        performance issues since it will eventually happen as we are laying out
        those children.
 
        Test: fast/css-generated-content/first-letter-textbox-parent-crash.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):

2012-02-22  Abhishek Arya  <inferno@chromium.org>

        Cloning and linebox issues in multi-column layout.
        https://bugs.webkit.org/show_bug.cgi?id=78273

        Reviewed by Eric Seidel.

        Tests: fast/multicol/span/clone-flexbox.html
               fast/multicol/span/clone-summary.html
               fast/multicol/span/textbox-not-removed-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clone): Fix cloning algorithm to take
        care of cloning descendant classes of RenderBlock.
        (WebCore::RenderBlock::splitBlocks): When we move our inline children
        to cloneBlock, we need to clear our entire line box tree. Any descendant
        child in the hierarchy could be a part of our line box tree and will
        never get cleared since the child has moved to new parent cloneBlock.

2012-02-22  Tim Dresser  <tdresser@chromium.org>

        CCLayerTreeHostImpl calls didDraw more frequently than willDraw
        https://bugs.webkit.org/show_bug.cgi?id=79139

        Reviewed by James Robinson.

        Ensure that didDraw is called if and only if willDraw was called previously.

        CCLayerTreeHostImplTest.didDrawNotCalledOnHiddenLayer has been added to ensure that
        hidden layers, for which willDraw is not called, will also not have didDraw called.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::didDraw):

2012-02-22  Levi Weintraub  <leviw@chromium.org>

        ScrollbarThemeComposite::thumbPosition uses the result of a divide by zero
        https://bugs.webkit.org/show_bug.cgi?id=78910

        Reviewed by Eric Seidel.

        Adding a check to avoid doing a floating point divide by zero and assigning NaN to an integer.
        This causes problems with our conversion to subpixel layout, which asserts when we overflow.

        * platform/ScrollbarThemeComposite.cpp:
        (WebCore::ScrollbarThemeComposite::thumbPosition):

2012-02-22  Raymond Liu  <raymond.liu@intel.com>

        Have the DynamicsCompressorNode support multi-channel data
        https://bugs.webkit.org/show_bug.cgi?id=77856

        Reviewed by Chris Rogers.

        * platform/audio/DynamicsCompressor.cpp:
        (WebCore::DynamicsCompressor::DynamicsCompressor):
        (WebCore::DynamicsCompressor::setEmphasisStageParameters):
        (WebCore::DynamicsCompressor::process):
        (WebCore::DynamicsCompressor::reset):
        (WebCore::DynamicsCompressor::setNumberOfChannels):
        (WebCore):
        * platform/audio/DynamicsCompressor.h:
        (DynamicsCompressor):
        * platform/audio/DynamicsCompressorKernel.cpp:
        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
        (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
        (WebCore):
        (WebCore::DynamicsCompressorKernel::setPreDelayTime):
        (WebCore::DynamicsCompressorKernel::process):
        (WebCore::DynamicsCompressorKernel::reset):
        * platform/audio/DynamicsCompressorKernel.h:
        (DynamicsCompressorKernel):
        * webaudio/DynamicsCompressorNode.cpp:
        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
        (WebCore::DynamicsCompressorNode::initialize):

2012-02-22  Bear Travis  <betravis@adobe.com>

        Not correctly recalculating layout for elements within nested SVG elements
        https://bugs.webkit.org/show_bug.cgi?id=77535

        Reviewed by Dirk Schulze.

        Relatively positioned text is not correctly updating its position when the
        size of its nearest viewport changes. Updating to mark text for layout when
        viewPort size changes.
        
        Test: svg/repaint/inner-svg-change-viewPort-relative.svg

        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::layoutChildren):

2012-02-22  Alexei Svitkine  <asvitkine@chromium.org>

        [chromium] Fix remaining compositing/rubberbanding test failures
        https://bugs.webkit.org/show_bug.cgi?id=78008

        These were happening due to the fact that ScrollView wasn't updating
        the overhang layer when the contentsSize was updated. This is necessary
        because calculateOverhangAreasForPainting() takes the contentsSize into
        account when determining whether the overhang areas are visible.

        Reviewed by James Robinson.

        Re-enabled the following tests with updated baselines:
        * platform/chromium/compositing/rubberbanding/transform-overhang-e-expected.png:
        * platform/chromium/compositing/rubberbanding/transform-overhang-s-expected.png:
        * platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png:
        * platform/chromium/test_expectations.txt:

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setContentsSize):
        (WebCore::ScrollView::scrollContents):
        (WebCore::ScrollView::updateOverhangAreas):
        (WebCore):
        * platform/ScrollView.h:
        (ScrollView):

2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] network worker tests crash on qt.
        https://bugs.webkit.org/show_bug.cgi?id=79263

        Reviewed by Pavel Feldman.

        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::createDecoder):
        (WebCore::InspectorPageAgent::cachedResourceContent):

2012-02-22  Adrienne Walker  <enne@google.com>

        Unreviewed, rolling out r108518.
        http://trac.webkit.org/changeset/108518
        https://bugs.webkit.org/show_bug.cgi?id=75864

        Breaks surfaceOcclusionWithOverlappingSiblingSurfaces unit test.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCLayerIterator.cpp:
        (WebCore):
        (WebCore::CCLayerIteratorActions::BackToFront::begin):
        (WebCore::CCLayerIteratorActions::BackToFront::end):
        (WebCore::CCLayerIteratorActions::BackToFront::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
        (WebCore::CCLayerIteratorActions::FrontToBack::end):
        (WebCore::CCLayerIteratorActions::FrontToBack::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
        * platform/graphics/chromium/cc/CCLayerIterator.h:
        (WebCore):
        (WebCore::CCLayerIterator::CCLayerIterator):
        (WebCore::CCLayerIterator::operator++):
        (WebCore::CCLayerIterator::operator==):
        (WebCore::CCLayerIterator::operator->):
        (WebCore::CCLayerIterator::operator*):
        (WebCore::CCLayerIterator::representsTargetRenderSurface):
        (WebCore::CCLayerIterator::representsContributingRenderSurface):
        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
        (CCLayerIterator):
        (BackToFront):
        (FrontToBack):
        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
        (WebCore):
        (CCLayerIteratorPositionValue):
        (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
        (CCLayerIteratorPosition):
        (WebCore::CCLayerIteratorPosition::currentLayer):
        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
        (WebCore::CCLayerIteratorPosition::targetRenderSurface):
        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
        (WebCore::CCLayerIteratorPosition::operator==):

2012-02-22  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r62632): page-break-inside: avoid is ignored
        https://bugs.webkit.org/show_bug.cgi?id=79262

        Reviewed by Adele Peterson.

        This was disabled in r62632 because of <http://webkit.org/b/41532>. Changes to the
        pagination code since then have invalidated that bug, so enabling the feature again does not
        re-introduce the bug.

        Updated expected results for printing/page-break-inside-avoid.html.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustForUnsplittableChild):

2012-02-22  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer
        https://bugs.webkit.org/show_bug.cgi?id=79236

        Reviewed by Martin Robinson.

        Store a pointer to the MediaPlayer object in the private structure
        of the WebKitWebSrc element so we can call its public methods,
        like ::referrer().

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (_WebKitWebSrcPrivate):
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:

2012-02-22  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Clean build is broken when using make -j
        https://bugs.webkit.org/show_bug.cgi?id=76388

        No new tests. This is just a build fix.

        Use order-only dependencies to ensure that built sources are built before
        files that depend on them.

        * GNUmakefile.am: Establish an order-only dependency on some built sources before starting
        to build non-generated sources. Rename some temporary files and variables to be more consistent.
        * bindings/gobject/GNUmakefile.am: Updated to reflect new variable names.

2012-02-22  Dana Jansens  <danakj@chromium.org>

        [Chromium] New CCOcclusionTracker class with tests
        https://bugs.webkit.org/show_bug.cgi?id=78549

        Reviewed by James Robinson.

        Adds a CCOcclusionTrackerBase template class that is able to track occlusion
        of layers while traversing the layer tree from front-to-back, with typedefed
        versions for the main and impl threads.

        At each step of the front-to-back traversal, the class should be notified of
        changes to the current render target, and when done working with a layer, the
        layer is added the tracked occlusion.

        The class provides tests for checking if a rect in content space
        for a layer/surface is occluded by others in front of it.

        Unit tests: CCOcclusionTrackerTest.cpp

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
        (WebCore):
        (WebCore::::enterTargetRenderSurface):
        (WebCore::::finishedTargetRenderSurface):
        (WebCore::transformSurfaceOpaqueRegion):
        (WebCore::::leaveToTargetRenderSurface):
        (WebCore::contentToScreenSpaceTransform):
        (WebCore::contentToTargetSurfaceTransform):
        (WebCore::computeOcclusionBehindLayer):
        (WebCore::::markOccludedBehindLayer):
        (WebCore::testContentRectOccluded):
        (WebCore::::occluded):
        (WebCore::::surfaceOccluded):
        (WebCore::rectSubtractRegion):
        (WebCore::computeUnoccludedContentRect):
        (WebCore::::unoccludedContentRect):
        (WebCore::::surfaceUnoccludedContentRect):
        (WebCore::::currentOcclusionInScreenSpace):
        (WebCore::::currentOcclusionInTargetSurface):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
        (WebCore):
        (CCOcclusionTrackerBase):
        (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
        (StackObject):

2012-02-22  Joshua Bell  <jsbell@chromium.org>

        [Chromium] IndexedDB: Integrate with about:tracing
        https://bugs.webkit.org/show_bug.cgi?id=78831

        Annotate interesting IDB functions so they show up in the
        tracing utility included in the Chromium port.

        Reviewed by Tony Chang.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
        (WebCore::injectIDBKeyIntoSerializedValue):
        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::direction):
        (WebCore::IDBCursor::key):
        (WebCore::IDBCursor::primaryKey):
        (WebCore::IDBCursor::value):
        (WebCore::IDBCursor::update):
        (WebCore::IDBCursor::continueFunction):
        (WebCore::IDBCursor::deleteFunction):
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::direction):
        (WebCore::IDBCursorBackendImpl::key):
        (WebCore::IDBCursorBackendImpl::primaryKey):
        (WebCore::IDBCursorBackendImpl::value):
        (WebCore::IDBCursorBackendImpl::update):
        (WebCore::IDBCursorBackendImpl::continueFunction):
        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
        (WebCore::IDBCursorBackendImpl::deleteFunction):
        (WebCore::IDBCursorBackendImpl::prefetchContinue):
        (WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
        (WebCore::IDBCursorBackendImpl::prefetchReset):
        (WebCore::IDBCursorBackendImpl::close):
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::dispatchEvent):
        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::count):
        (WebCore::IDBIndex::openKeyCursor):
        (WebCore::IDBIndex::get):
        (WebCore::IDBIndex::getKey):
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursorInternal):
        (WebCore::IDBIndexBackendImpl::openCursor):
        (WebCore::IDBIndexBackendImpl::openKeyCursor):
        (WebCore::IDBIndexBackendImpl::countInternal):
        (WebCore::IDBIndexBackendImpl::count):
        (WebCore::IDBIndexBackendImpl::getInternal):
        (WebCore::IDBIndexBackendImpl::get):
        (WebCore::IDBIndexBackendImpl::getKey):
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::name):
        (WebCore::IDBObjectStore::keyPath):
        (WebCore::IDBObjectStore::indexNames):
        (WebCore::IDBObjectStore::transaction):
        (WebCore::IDBObjectStore::get):
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        (WebCore::IDBObjectStore::deleteFunction):
        (WebCore::IDBObjectStore::clear):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::index):
        (WebCore::IDBObjectStore::openCursor):
        (WebCore::IDBObjectStore::count):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::getInternal):
        (WebCore::fetchKeyFromKeyPath):
        (WebCore::injectKeyIntoKeyPath):
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
        (WebCore::IDBObjectStoreBackendImpl::clear):
        (WebCore::IDBObjectStoreBackendImpl::openCursor):
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
        (WebCore::IDBObjectStoreBackendImpl::count):
        (WebCore::IDBObjectStoreBackendImpl::countInternal):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::onSuccessWithContinuation):
        (WebCore::IDBRequest::dispatchEvent):
        * storage/IDBTracing.h: Added.
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::dispatchEvent):
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::abort):
        (WebCore::IDBTransactionBackendImpl::commit):
        (WebCore::IDBTransactionBackendImpl::taskTimerFired):
        (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):

2012-02-22  Dana Jansens  <danakj@chromium.org>

        [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
        https://bugs.webkit.org/show_bug.cgi?id=75864

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerIterator.cpp:
        (WebCore::CCLayerIteratorActions::BackToFront::begin):
        (WebCore::CCLayerIteratorActions::BackToFront::end):
        (WebCore::CCLayerIteratorActions::BackToFront::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
        (WebCore::CCLayerIteratorActions::FrontToBack::end):
        (WebCore::CCLayerIteratorActions::FrontToBack::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
        * platform/graphics/chromium/cc/CCLayerIterator.h:
        (WebCore::CCLayerIterator::CCLayerIterator):
        (WebCore::CCLayerIterator::operator++):
        (WebCore::CCLayerIterator::operator==):
        (WebCore::CCLayerIterator::operator->):
        (WebCore::CCLayerIterator::operator*):
        (WebCore::CCLayerIterator::representsTargetRenderSurface):
        (WebCore::CCLayerIterator::representsContributingRenderSurface):
        (WebCore::CCLayerIterator::currentLayer):
        (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface):
        (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface):
        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
        (WebCore::CCLayerIterator::targetRenderSurface):
        (WebCore::CCLayerIterator::targetRenderSurfaceChildren):
        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.

2012-02-22  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: console doesn't show properly arrays from which tail values have been deleted
        https://bugs.webkit.org/show_bug.cgi?id=79242

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._printArray.appendUndefined):
        (WebInspector.ConsoleMessageImpl.prototype._printArray):

2012-02-22  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: warning external font mime (font/font/woff).
        https://bugs.webkit.org/show_bug.cgi?id=79244

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/Resource.js:

2012-02-22  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: use dots as markers on the counter graphs
        https://bugs.webkit.org/show_bug.cgi?id=79243

        Changed counter graphs marker and counter text styles.

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.MemoryStatistics):
        (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
        (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
        (WebInspector.MemoryStatistics.prototype._draw):
        (WebInspector.MemoryStatistics.prototype._onMouseOut):
        (WebInspector.MemoryStatistics.prototype._onMouseOver):
        (WebInspector.MemoryStatistics.prototype._onMouseMove):
        (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
        (WebInspector.MemoryStatistics.prototype._recordIndexAt):
        (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
        (WebInspector.MemoryStatistics.prototype._clearMarkers):
        (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
        (WebInspector.MemoryStatistics.prototype.refresh):
        (WebInspector.MemoryStatistics.prototype._drawPolyline):
        (WebInspector.MemoryStatistics.prototype._clear):
        * inspector/front-end/timelinePanel.css:
        (.memory-counter-sidebar-info):
        (.memory-counter-sidebar-info .title):
        (.memory-counter-sidebar-info .counter-value):

2012-02-22  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: make 'glue asynchronous events' optional.
        https://bugs.webkit.org/show_bug.cgi?id=79240

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/Images/statusbarButtonGlyphs.png:
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype.get statusBarItems):
        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
        (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
        (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
        (WebInspector.TimelinePanel.prototype._repopulateRecords):
        (WebInspector.TimelinePanel.prototype._findParentRecord):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.prototype.sidebarResized):
        (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
        (WebInspector.TimelineRecordGraphRow):
        (WebInspector.TimelineRecordGraphRow.prototype.update):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
        * inspector/front-end/timelinePanel.css:
        (.glue-async-status-bar-item .glyph):
        (.timeline-start-at-zero-status-bar-item .glyph):

2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672.
        https://bugs.webkit.org/show_bug.cgi?id=79229

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/console-xhr-logging-async.html

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::setInitialScriptContent):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didFinishLoading):

2012-02-22  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: fix memory counters and start-at-zero modes of timeline panels to co-exist nicely
        https://bugs.webkit.org/show_bug.cgi?id=79241

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
        (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):

2012-02-22  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [experimental] add a mode to display timeline events aligned by the start time
        https://bugs.webkit.org/show_bug.cgi?id=79123

        Reviewed by Pavel Feldman.

        * inspector/front-end/Images/statusbarButtonGlyphs.png:
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
        (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
        (WebInspector.TimelineOverviewPane.prototype.update):
        (WebInspector.TimelineOverviewPane.prototype.reset):
        (WebInspector.TimelineOverviewWindow):
        (WebInspector.TimelineOverviewWindow.prototype.reset):
        (WebInspector.TimelineOverviewWindow.prototype._setWindowPosition):
        (WebInspector.TimelineOverviewWindow.prototype.scrollWindow):
        (WebInspector.TimelineStartAtZeroOverview):
        (WebInspector.TimelineStartAtZeroOverview.prototype.reset):
        (WebInspector.TimelineStartAtZeroOverview.prototype.update):
        (WebInspector.TimelineStartAtZeroOverview.prototype._filterRecords):
        (WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
        (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype.get statusBarItems):
        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
        (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
        (WebInspector.TimelinePanel.prototype.get _startAtZero):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.prototype.sidebarResized):
        (WebInspector.TimelinePanel.prototype._onRecordsCleared):
        (WebInspector.TimelinePanel.prototype._resetPanel):
        (WebInspector.TimelinePanel.prototype._scheduleRefresh):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype._filterRecords):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
        (WebInspector.TimelineStartAtZeroCalculator):
        (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages):
        (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphWindowPosition):
        (WebInspector.TimelineStartAtZeroCalculator.prototype.calculateWindow):
        (WebInspector.TimelineStartAtZeroCalculator.prototype.reset):
        (WebInspector.TimelineStartAtZeroCalculator.prototype.updateBoundaries):
        (WebInspector.TimelineStartAtZeroCalculator.prototype.formatValue):
        (WebInspector.TimelinePanel.FormattedRecord):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
        (WebInspector.TimelinePanel.FormattedRecord.prototype.get aggregatedStats):
        (WebInspector.TimelineModel.prototype.get records):
        (WebInspector.TimelinePresentationModel):
        (WebInspector.TimelinePresentationModel.prototype.reset):
        (WebInspector.TimelinePresentationModel.prototype.setWindowIndices):
        (WebInspector.TimelineRecordFilter):
        (WebInspector.TimelineRecordFilter.prototype.accept):
        (WebInspector.TimelineStartAtZeroRecordFilter):
        (WebInspector.TimelineStartAtZeroRecordFilter.prototype.accept):
        * inspector/front-end/timelinePanel.css:
        (.timeline-start-at-zero #timeline-overview-sidebar):
        (.timeline-start-at-zero #timeline-overview-grid):
        (.timeline-overview-window):
        (.timeline-start-at-zero .timeline-overview-window):
        (.timeline-start-at-zero .timeline-overview-dividers-background):
        (.timeline-overview-window-rulers):
        (.timeline-start-at-zero #timeline-overview-memory):
        (.popover .timeline-loading):
        (.popover .timeline-scripting):
        (.popover .timeline-rendering):
        (.timeline-start-at-zero-status-bar-item .glyph):
        (.timeline-start-at-zero-status-bar-item.toggled-on .glyph):
        (.timeline-overview-start-at-zero):
        (.timeline-overview-start-at-zero-bars):
        (.timeline-overview-start-at-zero-bars .padding):
        (.timeline-overview-start-at-zero-bars .timeline-bar-vertical):
        (.timeline-bar-vertical div:first-child):
        (.timeline-bar-vertical .timeline-loading):
        (.timeline-bar-vertical .timeline-scripting):
        (.timeline-bar-vertical .timeline-rendering):

2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        [Qt] Disregard previous backing store as soon as possible
        https://bugs.webkit.org/show_bug.cgi?id=79232

        Reviewed by Simon Hausmann and No'am Rosenthal.

        Make it possible to drop non-visible tiles and to test
        if the current visible rect is fully covered.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::visibleContentsRect):
        (WebCore::TiledBackingStore::coverageRatio):
        (WebCore::TiledBackingStore::visibleAreaIsCovered):
        (WebCore):
        (WebCore::TiledBackingStore::createTiles):
        (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
        * platform/graphics/TiledBackingStore.h:
        (TiledBackingStore):

2012-02-22  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Move QMenu dependant scrollbar context menu handling out of WebCore
        https://bugs.webkit.org/show_bug.cgi?id=79233

        Reviewed by Kenneth Rohde Christiansen.

        Move the code into WebKit/qt/Api/qwebpage.cpp, the only place where it is called from.

        * Target.pri: Remove ScrollbarQt.cpp from build.
        * platform/Scrollbar.h: Remove Qt-only context menu handling but make moveThum
        accessible from the outside.
        * platform/qt/ScrollbarQt.cpp: Removed. Not needed anymore.

2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: retrieving content for some XHR requests crashes inspected page renderer
        https://bugs.webkit.org/show_bug.cgi?id=79026

        Reviewed by Pavel Feldman.

        Fixed loading empty xhr content and xhr content decoding that was
        broken in r107672.

        Tests: http/tests/inspector/network/network-cyrillic-xhr.html
               http/tests/inspector/network/network-empty-xhr.html

        * inspector/InspectorPageAgent.cpp:
        (WebCore):
        (WebCore::InspectorPageAgent::createDecoder):
        (WebCore::InspectorPageAgent::cachedResourceContent):
        * inspector/InspectorPageAgent.h:
        (WebCore):
        * inspector/NetworkResourcesData.cpp:
        (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
        (WebCore::NetworkResourcesData::responseReceived):
        * inspector/NetworkResourcesData.h:
        (WebCore::NetworkResourcesData::ResourceData::decoder):
        (WebCore::NetworkResourcesData::ResourceData::setDecoder):

2012-02-22  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: remove neural-net-style constructions
        https://bugs.webkit.org/show_bug.cgi?id=79153

        Reviewed by Yury Semikhatsky.

        CParamType class removed completely, some ("virtual") methods are
        removed. TypeModel notion is added instead with some minor helper
        classes and methods.

        * inspector/CodeGeneratorInspector.py:
        (DomainNameFixes):
        (RawTypes.BaseType):
        (RawTypes.String):
        (RawTypes.String.get_raw_type_model):
        (RawTypes.Int):
        (RawTypes.Int.get_raw_type_model):
        (RawTypes.Number):
        (RawTypes.Number.get_raw_type_model):
        (RawTypes.Bool):
        (RawTypes.Bool.get_raw_type_model):
        (RawTypes.Object):
        (RawTypes.Object.get_raw_type_model):
        (RawTypes.Any):
        (RawTypes.Any.get_raw_type_model):
        (RawTypes.Array):
        (RawTypes.Array.get_raw_type_model):
        (replace_right_shift):
        (CommandReturnPassModel):
        (CommandReturnPassModel.ByReference):
        (CommandReturnPassModel.ByReference.__init__):
        (CommandReturnPassModel.ByReference.get_return_var_type):
        (CommandReturnPassModel.get_output_argument_prefix):
        (CommandReturnPassModel.get_output_to_raw_expression):
        (CommandReturnPassModel.get_output_parameter_type):
        (CommandReturnPassModel.get_set_return_condition):
        (CommandReturnPassModel.ByPointer):
        (CommandReturnPassModel.ByPointer.__init__):
        (CommandReturnPassModel.ByPointer.get_return_var_type):
        (TypeModel):
        (TypeModel.RefPtrBased):
        (TypeModel.RefPtrBased.__init__):
        (TypeModel.RefPtrBased.get_optional):
        (TypeModel.RefPtrBased.get_command_return_pass_model):
        (TypeModel.RefPtrBased.get_input_param_type_text):
        (TypeModel.RefPtrBased.get_event_setter_expression_pattern):
        (TypeModel.Enum):
        (TypeModel.Enum.__init__):
        (TypeModel.Enum.get_optional):
        (TypeModel.Enum.get_optional.EnumOptional):
        (TypeModel.Enum.get_optional.EnumOptional.get_optional):
        (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
        (TypeModel.Enum.get_input_param_type_text):
        (TypeModel.Enum.get_event_setter_expression_pattern):
        (TypeModel.Enum.get_command_return_pass_model):
        (TypeModel.ValueType):
        (TypeModel.ValueType.__init__):
        (TypeModel.ValueType.get_optional):
        (TypeModel.ValueType.get_command_return_pass_model):
        (TypeModel.ValueType.get_input_param_type_text):
        (TypeModel.ValueType.get_event_setter_expression_pattern):
        (TypeModel.ValueType.ValueOptional):
        (TypeModel.ValueType.ValueOptional.__init__):
        (TypeModel.ValueType.ValueOptional.get_optional):
        (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
        (TypeModel.ValueType.ValueOptional.get_input_param_type_text):
        (TypeModel.ValueType.ValueOptional.get_event_setter_expression_pattern):
        (TypeModel.init_class):
        (TypeBindings.create_ad_hoc_type_declaration.Helper):
        (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
        (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
        (TypeBindings.create_type_declaration_.EnumBinding):
        (TypeBindings.create_type_declaration_.EnumBinding.get_type_model):
        (TypeBindings.create_type_declaration_):
        (TypeBindings.create_type_declaration_.get_type_model):
        (TypeBindings.create_type_declaration_.get_array_item_c_type_text):
        (get_type_model):
        (AdHocTypeContextImpl.__init__):
        (PlainObjectBinding):
        (PlainObjectBinding.get_type_model):
        (AdHocTypeContext):
        (ArrayBinding.get_array_item_c_type_text):
        (ArrayBinding):
        (ArrayBinding.get_type_model):
        (RawTypeBinding.get_validator_call_text):
        (RawTypeBinding.reduce_to_raw_type):
        (RawTypeBinding):
        (RawTypeBinding.get_type_model):
        (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
        (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
        (MethodGenerateModes.CombinedMode.get_c_param_type_text):
        (Generator.go):
        (Generator.process_event):
        (Generator.process_command):
        (Generator.resolve_type_and_generate_ad_hoc):
        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::didParseSource):

2012-02-21  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [InspectorIndexedDB] Show IndexedDB views on selection IndexedDB elements in resources panel.
        https://bugs.webkit.org/show_bug.cgi?id=79098

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore):
        * inspector/compile-front-end.sh:
        * inspector/front-end/IndexedDBModel.js:
        (WebInspector.IndexedDBModel.prototype._assertFrameId):
        (WebInspector.IndexedDBModel.prototype.loadObjectStoreData):
        (WebInspector.IndexedDBModel.prototype.loadIndexData):
        * inspector/front-end/IndexedDBViews.js: Added.
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection):
        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.showIndexedDB):
        (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
        (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
        (WebInspector.IDBDatabaseTreeElement):
        (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
        (WebInspector.IDBDatabaseTreeElement.prototype.update):
        (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
        (WebInspector.IDBObjectStoreTreeElement):
        (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
        (WebInspector.IDBObjectStoreTreeElement.prototype.update):
        (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
        (WebInspector.IDBIndexTreeElement):
        (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
        (WebInspector.IDBIndexTreeElement.prototype.update):
        (WebInspector.IDBIndexTreeElement.prototype.onselect):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/externs.js:
        * inspector/front-end/indexedDBViews.css: Added.
        * inspector/front-end/inspector.html:

2012-02-22  Nikolas Zimmermann  <nzimmermann@rim.com>

        REGRESSION(58212): html foreignObjects with positions other than static not hidden correctly when parent has display:none
        https://bugs.webkit.org/show_bug.cgi?id=41386

        Reviewed by Zoltan Herczeg.

        r58212 gave SVGGElements a renderer, regardless if "display: none" was set or not, for various reasons (see change set).
        The <g> renderer for such cases is a RenderSVGHiddenContainer. We make sure in SVG that such subtrees are never used
        for painting & hittesting - they only exist for the purpose of SVG DOM (query getCTM, etc..) and to create renderers
        for child resources, like <g display="none"><linearGradient>.

        This concept still works fine for: <g display="none"><foreignObject><body>Foobar</body></foreignObject></g>, as
        RenderSVGForeignObject::paint is never called thus we never paint the subtree of the <fO>. If the <body> elements
        contains "position: relative" a new layer is created for the <body>. When the document paints we have two seperated
        layers, and the <body> layer doesn't know that it's actually inside a "SVG hidden subtree", and gets painted, where it
        shouldn't. HTML doesn't have this problems, as a display: none object, never creates a renderer.

        The fix is to disallow layer creation in hidden SVG subtrees, to mimic what would happen if we'd follow HTML rules
        to not create renderers for display: none objects. This avoids any indirections - as no layers are created anymore.

        Tests: svg/foreignObject/fO-display-none-with-relative-pos-content.svg
               svg/foreignObject/fO-display-none.svg
               svg/foreignObject/fO-parent-display-changes.svg
               svg/foreignObject/fO-parent-display-none-with-relative-pos-content.svg
               svg/foreignObject/fO-parent-display-none.svg
               svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content.svg
               svg/foreignObject/fO-parent-of-parent-display-none.svg

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::styleDidChange): Only create layers, if its allowed -- layerCreationAllowedForSubtree() will always return true for HTML, and only false for layers inside a hidden SVG subtree.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild): Only create layers, if its allowed.
        * rendering/RenderObject.h: Add inline layerCreationAllowedForSubtree() helper, that craws the tree to find a RenderSVGHiddenContainer ancestor, if not present, return true.

2012-02-22  Zoltan Herczeg  <zherczeg@webkit.org>

        Drop clipToImageBuffer from RenderBoxModelObject
        https://bugs.webkit.org/show_bug.cgi?id=79225

        Reviewed by Nikolas Zimmermann.

        -webkit-background-clip: text is a rarely used non-standard
        feature uses clipToImageBuffer. It is replaced by
        CompositeDestinationIn on a transparent layer. The new
        approach has the same speed as the old one.

        Existing tests cover this issue.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):

2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
        the more descriptive coverWithTilesIfNeeded
        https://bugs.webkit.org/show_bug.cgi?id=79230

        Reviewed by Simon Hausmann.

        Both setVisibleRectTrajectoryVector and the adjustVisibleRect are
        used for initiating re-tiling, so make that more obvious and merge
        the two.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
        * platform/graphics/TiledBackingStore.h:
        (TiledBackingStore):

2012-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        REGRESSION: unbalanced transparency layers for clipPath
        https://bugs.webkit.org/show_bug.cgi?id=78074

        Reviewed by Zoltan Herczeg.

        If we're rendering to a mask image buffer, all children are rendered with opacity=1, regardless what their RenderStyles specify.
        SVGRenderSupport::finishRenderSVGContent() did not take this into account and always called endTransparencyLayer(). Fix that
        by checking if we're rendering to a mask image buffer, if so don't call endTransparencyLayer().

        Add new reftest covering both the visual & logical correctness (no assertion).

        Tests: svg/clip-path/opacity-assertion-expected.svg
               svg/clip-path/opacity-assertion.svg

        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::isRenderingMaskImage): Extraced as sharable helper function.
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Factor out isRenderingMaskImage() function.
        (WebCore::SVGRenderSupport::finishRenderSVGContent): Only call endTransparencyLayer(), if we actually called beginTL() first. 

2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Improve comments in tiling code.

        Rubberstamped by Simon Hausmann.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::createTiles):

2012-02-22  'Pavel Feldman'  <pfeldman@google.com>

        Not reviewed: build fix.

        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        (InspectorController):

2012-02-21  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: do not filter out requestAnimationFrame from timeline, implement stop on animation events.
        https://bugs.webkit.org/show_bug.cgi?id=79116

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * dom/ScriptedAnimationController.cpp:
        (WebCore::ScriptedAnimationController::registerCallback):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore):
        (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallbackImpl):
        (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
        (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallback):
        * inspector/InspectorTimelineAgent.cpp:
        (TimelineRecordType):
        (WebCore::InspectorTimelineAgent::didRequestAnimationFrameCallback):
        (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
        (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
        (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
        * inspector/InspectorTimelineAgent.h:
        (InspectorTimelineAgent):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.EventListenerBreakpointsSidebarPane):
        (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
        * inspector/front-end/TimelineAgent.js:
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype.get _recordStyles):
        (WebInspector.TimelinePanel.prototype._findParentRecord):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.prototype._onRecordsCleared):
        (WebInspector.TimelinePanel.FormattedRecord):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):

2012-02-22  Changhun Kang  <temoochin@company100.net>

        Remove unused class declaration in WebCore/page/scrolling/ScrollingCoordinator.h
        https://bugs.webkit.org/show_bug.cgi?id=79175

        Reviewed by Kentaro Hara.

        * page/scrolling/ScrollingCoordinator.h:
        Remove PlatformGestureEvent class declaration.
        (WebCore):

2012-02-22  Andras Becsi  <andras.becsi@nokia.com>

        [Qt][WK2] Fix the N9 build
        https://bugs.webkit.org/show_bug.cgi?id=79101

        Reviewed by Simon Hausmann.

        Fixed the include order of the rolled out r108359 not to break
        the build with CONFIG+=force_static_libs_as_shared.

        * platform/graphics/OpenGLShims.h: Add missing include.

2012-02-22  Shinya Kawanaka  <shinyak@chromium.org>

        firstRendererOf() should also return a fallback element renderer in NodeRenderingContext.
        https://bugs.webkit.org/show_bug.cgi?id=79180

        Reviewed by Hajime Morita.

        Currently we have handled AttachingFallback in some special mannger, however if firstRendererOf
        and lastRendererOf return a fallback element renderer, we don't need to handle it in such a manner.

        We have introduced new attaching phase: AttachingFallbacked, and AttachingNotFallbacked.
        They are used for fallback elements.

        Added new test cases in:
          fast/dom/shadow/shadow-contents-fallback.html
          fast/dom/shadow/shadow-contents-fallback-dynamic.html

        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::firstRendererOf):
        (WebCore::lastRendererOf):
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::previousRenderer):
        (WebCore::NodeRenderingContext::shouldCreateRenderer):
        * dom/NodeRenderingContext.h:
        * html/shadow/InsertionPoint.h:
        (WebCore::isInsertionPoint):
        (WebCore):
        (WebCore::toInsertionPoint):

2012-02-22  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed gardening after r108464.

        * Target.pri:

2012-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r108468.
        http://trac.webkit.org/changeset/108468
        https://bugs.webkit.org/show_bug.cgi?id=79219

        Broke Chromium Win release build (Requested by bashi on
        #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::didConnect):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::connect):
        (WebCore::WebSocketChannel::fail):
        (WebCore::WebSocketChannel::processFrame):
        (WebCore::WebSocketChannel::sendFrame):
        * websockets/WebSocketChannel.h:
        * websockets/WebSocketDeflateFramer.cpp: Removed.
        * websockets/WebSocketDeflateFramer.h: Removed.

2012-02-20  Roland Steiner  <rolandsteiner@chromium.org>

        <style scoped>: Add runtime-flag
        https://bugs.webkit.org/show_bug.cgi?id=79074

        Added runtime-flag.
        Query runtime flag when (un)registering a <style scoped> element, and when determineing a style sheet's scope.

        Reviewed by Dimitri Glazkov.

        No new tests. (no change in functionality)

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * bindings/generic/RuntimeEnabledFeatures.h:
        (RuntimeEnabledFeatures):
        (WebCore::RuntimeEnabledFeatures::styleScopedEnabled):
        (WebCore::RuntimeEnabledFeatures::setStyleScopedEnabled):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::determineScopingElement):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::registerWithScopingNode):
        (WebCore::HTMLStyleElement::unregisterWithScopingNode):
        * html/HTMLStyleElement.idl:

2012-02-21  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Audit rules to recommend unprefixing supported CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=78985

        Reviewed by Pavel Feldman.

        * inspector/front-end/AuditCategories.js:
        (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.CSSRuleBase):
        (WebInspector.AuditRules.CSSRuleBase.prototype.doRun.sheetsCallback):
        (WebInspector.AuditRules.CSSRuleBase.prototype.doRun):
        (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet.sheetCallback):
        (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet):
        (WebInspector.AuditRules.CSSRuleBase.prototype._visitRule):
        (WebInspector.AuditRules.CSSRuleBase.prototype.visitStyleSheet):
        (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitStyleSheet):
        (WebInspector.AuditRules.CSSRuleBase.prototype.visitRule):
        (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitRule):
        (WebInspector.AuditRules.CSSRuleBase.prototype.visitProperty):
        (WebInspector.AuditRules.VendorPrefixedCSSProperties):
        (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitStyleSheet):
        (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitRule):
        (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitRule):
        (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
        * inspector/front-end/ResourceUtils.js:

2012-02-22  Shinya Kawanaka  <shinyak@chromium.org>

        Node::attach() should be after attaching children in Element::attach().
        https://bugs.webkit.org/show_bug.cgi?id=79201

        Reviewed by Hajime Morita.

        In Element::attach(), Node::attach() is called before attaching children if a shaodw root exists.
        This may cause O(N^2) problem in NodeRenderingContext.

        No new tests. Existing tests should cover this.

        * dom/Element.cpp:
        (WebCore::Element::attach):

2012-02-22  Kenichi Ishibashi  <bashi@chromium.org>

        Adding WebSocket per-frame DEFLATE extension
        https://bugs.webkit.org/show_bug.cgi?id=77522

        Add WebSocketDeflateFramer class which handles deflate-frame extension.
        This class encapsulates WebSocketDeflater and WebSocketInflater classes,
        which depend on zlib, so that WebSocketChannel is not necessary to aware
        zlib dependency.

        Reviewed by Kent Tamura.

        Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
               http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
               http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
               http/tests/websocket/tests/hybi/deflate-frame-parameter.html

        * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::didConnect): Set m_extensions.
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
        (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
        (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
        (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
        * websockets/WebSocketChannel.h:
        * websockets/WebSocketDeflateFramer.cpp: Added.
        (WebCore):
        (WebSocketExtensionDeflateFrame):
        (WebCore::WebSocketExtensionDeflateFrame::create):
        (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
        (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
        (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
        (WebCore::WebSocketExtensionDeflateFrame::processResponse):
        (WebCore::DeflateResultHolder::DeflateResultHolder):
        (WebCore::DeflateResultHolder::~DeflateResultHolder):
        (WebCore::DeflateResultHolder::fail):
        (WebCore::InflateResultHolder::InflateResultHolder):
        (WebCore::InflateResultHolder::~InflateResultHolder):
        (WebCore::InflateResultHolder::fail):
        (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
        (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
        (WebCore::WebSocketDeflateFramer::canDeflate):
        (WebCore::WebSocketDeflateFramer::enableDeflate):
        (WebCore::WebSocketDeflateFramer::deflate):
        (WebCore::WebSocketDeflateFramer::resetDeflateContext):
        (WebCore::WebSocketDeflateFramer::inflate):
        (WebCore::WebSocketDeflateFramer::resetInflateContext):
        (WebCore::WebSocketDeflateFramer::didFail):
        * websockets/WebSocketDeflateFramer.h: Added.
        (WebCore):
        (DeflateResultHolder):
        (WebCore::DeflateResultHolder::succeeded):
        (WebCore::DeflateResultHolder::failureReason):
        (InflateResultHolder):
        (WebCore::InflateResultHolder::succeeded):
        (WebCore::InflateResultHolder::failureReason):
        (WebSocketDeflateFramer):
        (WebCore::WebSocketDeflateFramer::enabled):

2012-02-22  Yuta Kitamura  <yutak@chromium.org>

        Unreviewed, rolling out r108453.
        http://trac.webkit.org/changeset/108453
        https://bugs.webkit.org/show_bug.cgi?id=78549

        Broke Chromium's webkit_unit_tests.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed.
        * platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed.

2012-02-22  Zoltan Herczeg  <zherczeg@webkit.org>

        [Qt] clipToImageBuffer assertion fix in debug mode on Qt.

        Rubber stamped by Csaba Osztrogonác.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::restorePlatformState):

2012-02-22  Adam Barth  <abarth@webkit.org>

        [GTK] fast/frames/frame-dead-region.html crash
        https://bugs.webkit.org/show_bug.cgi?id=79205

        Unreviewed.

        Apparently we're not supposed to call willDetachPage from
        CachedFrame::destroy.  This call got added in
        http://trac.webkit.org/changeset/108428, but it seems to cause a crash.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::closeAndRemoveChild):
        (WebCore::FrameLoader::detachFromParent):
        * page/Frame.h:
        (WebCore::Frame::detachFromPage):
        * page/Page.cpp:
        (WebCore::Page::~Page):

2012-02-22  Adam Barth  <abarth@webkit.org>

        Move Geolocation code into Modules/geolocation
        https://bugs.webkit.org/show_bug.cgi?id=79204

        Reviewed by Hajime Morita.

        There are still some dangling references into the Geolocation module,
        which I will clean up in a followup patch.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Modules/geolocation/Geolocation.cpp: Copied from Source/WebCore/page/Geolocation.cpp.
        * Modules/geolocation/Geolocation.h: Copied from Source/WebCore/page/Geolocation.h.
        * Modules/geolocation/Geolocation.idl: Copied from Source/WebCore/page/Geolocation.idl.
        * Modules/geolocation/GeolocationController.cpp: Copied from Source/WebCore/page/GeolocationController.cpp.
        * Modules/geolocation/GeolocationController.h: Copied from Source/WebCore/page/GeolocationController.h.
        * Modules/geolocation/GeolocationError.h: Copied from Source/WebCore/page/GeolocationError.h.
        * Modules/geolocation/GeolocationPosition.h: Copied from Source/WebCore/page/GeolocationPosition.h.
        * Modules/geolocation/Geoposition.h: Copied from Source/WebCore/page/Geoposition.h.
        * Modules/geolocation/Geoposition.idl: Copied from Source/WebCore/page/Geoposition.idl.
        * Modules/geolocation/PositionCallback.h: Copied from Source/WebCore/page/PositionCallback.h.
        * Modules/geolocation/PositionCallback.idl: Copied from Source/WebCore/page/PositionCallback.idl.
        * Modules/geolocation/PositionError.h: Copied from Source/WebCore/page/PositionError.h.
        * Modules/geolocation/PositionError.idl: Copied from Source/WebCore/page/PositionError.idl.
        * Modules/geolocation/PositionErrorCallback.h: Copied from Source/WebCore/page/PositionErrorCallback.h.
        * Modules/geolocation/PositionErrorCallback.idl: Copied from Source/WebCore/page/PositionErrorCallback.idl.
        * Modules/geolocation/PositionOptions.h: Copied from Source/WebCore/page/PositionOptions.h.
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Geolocation.cpp: Removed.
        * page/Geolocation.h: Removed.
        * page/Geolocation.idl: Removed.
        * page/GeolocationController.cpp: Removed.
        * page/GeolocationController.h: Removed.
        * page/GeolocationError.h: Removed.
        * page/GeolocationPosition.h: Removed.
        * page/Geoposition.h: Removed.
        * page/Geoposition.idl: Removed.
        * page/PositionCallback.h: Removed.
        * page/PositionCallback.idl: Removed.
        * page/PositionError.h: Removed.
        * page/PositionError.idl: Removed.
        * page/PositionErrorCallback.h: Removed.
        * page/PositionErrorCallback.idl: Removed.
        * page/PositionOptions.h: Removed.

2012-02-22  Frederik Gladhorn  <frederik.gladhorn@nokia.com>

        [gtk] Accessibility: use find funtion in vector instead of for.
        https://bugs.webkit.org/show_bug.cgi?id=77878

        Reviewed by Hajime Morita.

        Minor cleanup, use the find function from vector.

        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
        (webkitAccessibleGetIndexInParent):

2012-02-22  Ryosuke Niwa  <rniwa@webkit.org>

        Remove the remaining uses of CSSStyleDeclaration in Editor
        https://bugs.webkit.org/show_bug.cgi?id=78939

        Reviewed by Enrica Casucci.

        Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
        applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
        to StylePropertySet.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/Editor.cpp:
        (WebCore::Editor::applyStyle):
        (WebCore::Editor::shouldApplyStyle):
        (WebCore::Editor::applyParagraphStyle):
        (WebCore::Editor::applyStyleToSelection):
        (WebCore::Editor::applyParagraphStyleToSelection):
        (WebCore::Editor::setBaseWritingDirection):
        (WebCore::Editor::computeAndSetTypingStyle):
        * editing/Editor.h:
        (WebCore):
        (Editor):
        * editing/EditorCommand.cpp:
        (WebCore::applyCommandToFrame):
        (WebCore::executeApplyParagraphStyle):
        (WebCore::executeMakeTextWritingDirectionLeftToRight):
        (WebCore::executeMakeTextWritingDirectionNatural):
        (WebCore::executeMakeTextWritingDirectionRightToLeft):
        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::shouldApplyStyle):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        * page/EditorClient.h:
        (WebCore):
        (EditorClient):

2012-02-22  Dana Jansens  <danakj@chromium.org>

        [chromium] Cull quads outside of the scissoring damage rect
        https://bugs.webkit.org/show_bug.cgi?id=79181

        Reviewed by James Robinson.

        Quads outside of the partial swap cause us to execute GL operations
        that actually use a fair amount of CPU time (enough to affect power
        usage). Here we cull quads by only keeping their intersection
        with the damage rect used for partial swap.

        Unit test: CCQuadCuller.cpp

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::cullOccludedQuads):
        * platform/graphics/chromium/cc/CCQuadCuller.h:
        (CCQuadCuller):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::optimizeQuads):
        * platform/graphics/chromium/cc/CCRenderPass.h:
        (CCRenderPass):

2012-02-21  Dana Jansens  <danakj@chromium.org>

        [Chromium] New CCOcclusionTracker class with tests
        https://bugs.webkit.org/show_bug.cgi?id=78549

        Reviewed by James Robinson.

        Adds a CCOcclusionTrackerBase template class that is able to track occlusion
        of layers while traversing the layer tree from front-to-back, with typedefed
        versions for the main and impl threads.

        At each step of the front-to-back traversal, the class should be notified of
        changes to the current render target, and when done working with a layer, the
        layer is added the tracked occlusion.

        The class provides tests for checking if a rect in content space
        for a layer/surface is occluded by others in front of it.

        Unit tests: CCOcclusionTrackerTest.cpp

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
        (WebCore):
        (WebCore::::enterTargetRenderSurface):
        (WebCore::::finishedTargetRenderSurface):
        (WebCore::transformSurfaceOpaqueRegion):
        (WebCore::::leaveToTargetRenderSurface):
        (WebCore::contentToScreenSpaceTransform):
        (WebCore::contentToTargetSurfaceTransform):
        (WebCore::computeOcclusionBehindLayer):
        (WebCore::::markOccludedBehindLayer):
        (WebCore::testContentRectOccluded):
        (WebCore::::occluded):
        (WebCore::::surfaceOccluded):
        (WebCore::rectSubtractRegion):
        (WebCore::computeUnoccludedContentRect):
        (WebCore::::unoccludedContentRect):
        (WebCore::::surfaceUnoccludedContentRect):
        (WebCore::::currentOcclusionInScreenSpace):
        (WebCore::::currentOcclusionInTargetSurface):
        * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
        (WebCore):
        (CCOcclusionTrackerBase):
        (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
        (StackObject):

2012-02-21  Andreas Kling  <awesomekling@apple.com>

        Cache <font face> family lists in CSSValuePool.
        <http://webkit.org/b/79195>

        Reviewed by Antti Koivisto.

        HTMLFontElements with "face" attributes are very common in legacy web content.
        Add a String->CSSValue cache for these in CSSValuePool and use it to avoid
        reparsing and recreating duplicate font face values.

        This knocks 20ms (~1.5%) worth of samples off of the Moz page cycler on my system.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFontFaceValue):
        * css/CSSParser.h:
        * css/CSSValuePool.cpp:
        (WebCore::CSSValuePool::createFontFaceValue):
        * css/CSSValuePool.h:
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::collectStyleForAttribute):

2012-02-21  Adam Barth  <abarth@webkit.org>

        Separate the implementation of registerProtocolHandler from Navigator.cpp
        https://bugs.webkit.org/show_bug.cgi?id=78945

        Reviewed by Eric Seidel.

        The implementation of registerProtocolHandler needlessly complicates
        the implementation of Navigator.cpp.  In principle,
        registerProtocolHandler (and possibly registerContentHandler, when we
        implement that feature) could be its own module, but that seems like
        overkill for one or two files.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Navigator.cpp:
        (WebCore):
        * page/Navigator.h:
        (Navigator):
        * page/Navigator.idl:

2012-02-21  MORITA Hajime  <morrita@google.com>

        HasIDFlag and HasClassFlag can be removed.
        https://bugs.webkit.org/show_bug.cgi?id=77861

        Reviewed by Andreas Kling.

        Replaced HasIDFlag and HasClassFlag with a check against
        ElementAttributeData. It looks these flags (originally bitfields)
        were legacy of ancient era, where we didn't cache @id and @class
        values and needed a hash lookup for each check.

        No new tests. No behavioral change.

        * dom/Element.cpp:
        (WebCore::Element::idAttributeChanged):
        * dom/Element.h:
        (WebCore::Element::hasID):
        (WebCore):
        (WebCore::Element::hasClass):
        (WebCore::Node::hasID):
        (WebCore::Node::hasClass):
        * dom/ElementAttributeData.h:
        (WebCore::ElementAttributeData::hasID):
        (WebCore::ElementAttributeData::hasClass):
        (ElementAttributeData):
        * dom/Node.h:
        (Node):
        (WebCore::nodeStyleChangeShift):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::classAttributeChanged):

2012-02-21  Matthew Delaney  <mdelaney@apple.com>

        2D Canvas setTransform makes unnecessary matrix mults
        https://bugs.webkit.org/show_bug.cgi?id=79190

        Reviewed by Dan Bernstein.

        No new tests - plenty of current tests using setTransform.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setTransform):

2012-02-21  MORITA Hajime <morrita@google.com>

        INPUT_SPEECH should be implemented as a PageSupplement.
        https://bugs.webkit.org/show_bug.cgi?id=79051

        Turned SpeechInput to a PageSupplement.

        Reviewed by Adam Barth.

        No new tests. No behavior change.

        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::speechInput):
        (WebCore::InputFieldSpeechButtonElement::attach):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        (WebCore):
        (PageClients):
        (Page):
        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::supplementName):
        (WebCore):
        (WebCore::provideSpeechInputTo):
        * page/SpeechInput.h:
        (SpeechInput):
        (WebCore::SpeechInput::from):
        * page/SpeechInputClient.h:
        (WebCore):

2012-02-21  Alexandre Elias  <aelias@google.com>

        [chromium] Add three small zoom gesture features
        https://bugs.webkit.org/show_bug.cgi?id=74216

        Reviewed by James Robinson.

        1. Support panning around with two fingers.
        2. When double-tap zooming, issue the commit at final/scroll scale as
        early as possible.
        3. When pinch zooming out, issue a commit at minimum scale to avoid
        showing checkerboard.

        Added test for panning to CCLayerTreeHostImplTest::pinchGesture.
        (The other features are heuristics whose exact behavior we don't need
        to lock in with a test.)

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
        (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
        (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
        (WebCore::CCLayerTreeHostImpl::computeDoubleTapZoomDeltas):
        (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
        (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

2012-02-21  Filip Pizlo  <fpizlo@apple.com>

        JSC should be a triple-tier VM
        https://bugs.webkit.org/show_bug.cgi?id=75812
        <rdar://problem/10079694>

        Reviewed by Gavin Barraclough.
        
        No new tests, because there is no change in behavior.

        * CMakeLists.txt:

2012-02-21  Kentaro Hara  <haraken@chromium.org>

        NavigatorMediaStream.idl defines an interface for NavigatorGamepad
        https://bugs.webkit.org/show_bug.cgi?id=79152

        Reviewed by Adam Barth.

        Fixed a typo: NavigatorGamepad => NavigatorMediaStream

        This typo fix just changes the name of generated files:

        - V8NavigatorGamepad.h => V8NavigatorMediaStream.h
        - V8NavigatorGamepad.cpp => V8NavigatorMediaStream.cpp

        The reason why the typo has not caused any serious build issues is that
        the generate files for supplemental interfaces are "empty" and not important.
        They just exist to control makefile dependencies.

        No tests. No change in behavior.

        * mediastream/NavigatorMediaStream.idl:

2012-02-21  Daniel Sievers  <sievers@chromium.org>

        [Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
        https://bugs.webkit.org/show_bug.cgi?id=76017

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawSolidColorQuad):

2012-02-21  Max Vujovic  <mvujovic@adobe.com>

        getCTM() on SVG root element with borders, paddings, and viewbox returns incorrect values
        https://bugs.webkit.org/show_bug.cgi?id=78631

        Reviewed by Eric Seidel.

        SVGSVGElement::currentViewportSize was returning the size of the SVG viewport plus CSS
        borders and paddings, causing the CTM calculation to be off.

        Test: svg/dom/SVGLocatable-getCTM-svg-root.html

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::currentViewportSize):

            SVGSVGElement::currentViewportSize now uses the contentBoxRect instead of the frameRect.
            The contentBoxRect corresponds to the SVG viewport and does not include borders and
            paddings.

2012-02-21  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream Icon class in platform/graphics/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=79088

        Reviewed by Antonio Gomes.

        Initial upstreaming, no new tests.

        * platform/graphics/blackberry/IconBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::Icon::~Icon):
        (WebCore::Icon::paint):
        (WebCore::Icon::createIconForFiles):

2012-02-21  Kenichi Ishibashi  <bashi@chromium.org>

        Rename "reserved1" flag of WebSocketFrame to compress
        https://bugs.webkit.org/show_bug.cgi?id=79187

        WebSocket deflate-frame extension draft specification defines COMP bit.
        http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-05#page-11

        Reviewed by Kent Tamura.

        No new tests. http/tests/websocket/tests/hybi/reserved-bits.html is revised to follow the change.

        * websockets/WebSocketChannel.cpp:
        (WebCore):
        (WebCore::WebSocketChannel::parseFrame): "reserved1" renamed "compress".
        (WebCore::WebSocketChannel::processFrame): Removed reserved1 flag check.
        (WebCore::makeFrameData):
        (WebCore::WebSocketChannel::sendFrame):
        * websockets/WebSocketFrame.h: "reserved1" flag renamed "compress".
        (WebCore::WebSocketFrame::WebSocketFrame):
        (WebSocketFrame):

2012-02-21  Yael Aharon  <yael.aharon@nokia.com>

        [Texmap] Move all TextureMapper related files to graphics/texmap
        https://bugs.webkit.org/show_bug.cgi?id=79141

        Reviewed by Martin Robinson.

        Move TextureMaooerGL and TextureMapperShaderManager files to graphics/texmap.
        No new tests. 

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * platform/graphics/qt/GraphicsContext3DQt.cpp
        * platform/graphics/opengl/TextureMapperGL.cpp: Removed.
        * platform/graphics/opengl/TextureMapperGL.h: Removed.
        * platform/graphics/opengl/TextureMapperShaderManager.cpp: Removed.
        * platform/graphics/opengl/TextureMapperShaderManager.h: Removed.
        * platform/graphics/texmap/TextureMapperGL.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.cpp.
        * platform/graphics/texmap/TextureMapperGL.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.h.
        * platform/graphics/texmap/TextureMapperShaderManager.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.cpp.
        * platform/graphics/texmap/TextureMapperShaderManager.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.h.

2012-02-20  MORITA Hajime  <morrita@google.com>

        MEDIA_STREAM should be implemented as a PageSupplement.
        https://bugs.webkit.org/show_bug.cgi?id=79050

        Reviewed by Adam Barth.

        Added UserMediaController which implements PageSupplement. This
        controller mediates WebCore-to-client communication and lifecycle
        management. Then pushed UserMediaController out as a
        PageSupplement module.

        No new tests. No behavior change.

        * WebCore.gypi:
        * GNUmakefile.list.am:
        * mediastream/NavigatorMediaStream.cpp:
        (WebCore::NavigatorMediaStream::webkitGetUserMedia):
        * mediastream/UserMediaClient.h:
        (WebCore):
        * mediastream/UserMediaController.cpp: Added.
        (WebCore):
        (WebCore::UserMediaController::supplementName):
        (WebCore::UserMediaController::UserMediaController):
        (WebCore::UserMediaController::~UserMediaController):
        (WebCore::UserMediaController::create):
        (WebCore::provideUserMediaTo):
        * mediastream/UserMediaController.h: Added.
        (WebCore):
        (UserMediaController):
        (WebCore::UserMediaController::client):
        (WebCore::UserMediaController::from):
        (WebCore::UserMediaController::requestUserMedia):
        (WebCore::UserMediaController::cancelUserMediaRequest):
        * mediastream/UserMediaRequest.cpp:
        (WebCore::UserMediaRequest::create):
        (WebCore::UserMediaRequest::UserMediaRequest):
        (WebCore::UserMediaRequest::didCompleteQuery):
        (WebCore::UserMediaRequest::contextDestroyed):
        * mediastream/UserMediaRequest.h:
        (WebCore):
        (UserMediaRequest):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::~Page):
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        (WebCore):
        (PageClients):
        (Page):

2012-02-21  James Robinson  <jamesr@chromium.org>

        Node::isContentEditable should only update styles, not layout
        https://bugs.webkit.org/show_bug.cgi?id=78637

        Reviewed by Ryosuke Niwa.

        isContentEditable depends on knowing the node's current computed style, so it has to update styles if they are
        out of date.  It does not depend on knowing any layout-derived properties, however, so updating layout is just a
        waste of time.

        Behavior is covered by existing layout tests, primarily in editing/

        * dom/Node.cpp:
        (WebCore::Node::isContentEditable):
        (WebCore::Node::isContentRichlyEditable):

2012-02-21  James Robinson  <jamesr@chromium.org>

        Partially revert r108418 - move allowEventDispatch() call back to where it used to be.

        Rubber-stamped by Ryosuke Niwa.

        Tested by fast/text/find-layout-crash.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChildren):

2012-02-21  Anders Carlsson  <andersca@apple.com>

        Background jitters on pages with background-attachment: fixed
        https://bugs.webkit.org/show_bug.cgi?id=79182

        Reviewed by Dan Bernstein.

        Make sure to update the main frame scroll position before updating the scrolling layer.
        This also fixes a (purely theoretical) bug where we wouldn't be updating the main frame
        position if the main frame didn't have a scroll layer.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):

2012-02-21  Dana Jansens  <danakj@chromium.org>

        Early-out in Region::unite() for adding an empty region.
        https://bugs.webkit.org/show_bug.cgi?id=79174

        Reviewed by Anders Carlsson.

        * platform/graphics/Region.cpp:
        (WebCore::Region::unite):

2012-02-21  Dana Jansens  <danakj@chromium.org>

        [chromium] Painting a layer clears opaque rect in untouched tiles
        https://bugs.webkit.org/show_bug.cgi?id=79157

        Reviewed by James Robinson.

        When painting a tiled layer, we would throw away the saved opaque rect
        for any tiles that were not part of the paint. So now we check
        if we are able to save the existing saved opaque rect in a more
        proper way:
        1. If any pixels of the saved rect are painted non-opaque, we replace
        the saved rect.
        2. If an opaque rect is drawn outside of the saved rect, we replace
        the saved rect.

        Unit test: TiledLayerChromiumTest.cpp

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):

2012-02-21  Raymond Toy  <rtoy@google.com>

        Small typo in AudioPannerNode.cpp
        https://bugs.webkit.org/show_bug.cgi?id=75890

        Change to check elevation as intended instead of azimuth.
        
        Reviewed by Chris Rogers.

        No new tests for correction of typo.

        * webaudio/AudioPannerNode.cpp:
        (WebCore::AudioPannerNode::getAzimuthElevation):

2012-02-21  Adam Barth  <abarth@webkit.org>

        Frame and Navigator shouldn't need to worry about Geolocation
        https://bugs.webkit.org/show_bug.cgi?id=78860

        Reviewed by Eric Seidel.

        This patch removes some Geolocation-specific code from Frame and
        Navigator in favor of our new supplemental module mechanism.  We're
        still refining the module system, but we seem to be converging on a
        simple Observer/Supplement design.

        In a future patch, I'll move the remaining Geolocation-related files in
        WebCore into Modules/geolocation.  This patch appears to be the first
        patch that introduces a module used by all the various build systems,
        which is why there's a bit more build system overhead than usual.

        * Modules/geolocation: Added.
        * Modules/geolocation/NavigatorGeolocation.cpp: Added.
        (WebCore):
        (WebCore::NavigatorGeolocation::NavigatorGeolocation):
        (WebCore::NavigatorGeolocation::~NavigatorGeolocation):
        (WebCore::NavigatorGeolocation::pageDestroyed):
        (WebCore::NavigatorGeolocation::from):
        (WebCore::NavigatorGeolocation::geolocation):
        * Modules/geolocation/NavigatorGeolocation.h: Added.
        (WebCore):
        (NavigatorGeolocation):
        * Modules/geolocation/NavigatorGeolocation.idl: Added.
            - I've temporarily disabled this API for GObject because it generates
              a strange compile error.  Once I land this patch, I'll spend some
              more time fixing the compile error.
        * page/DOMWindow.cpp:
        (WebCore):
        * page/DOMWindow.h:
        (DOMWindow):
        * page/Frame.cpp:
        (WebCore::Frame::pageDestroyed):
        (WebCore::Frame::transferChildFrameToNewDocument):
        * page/FrameDestructionObserver.cpp:
        (WebCore::FrameDestructionObserver::pageDestroyed):
        (WebCore):
        * page/FrameDestructionObserver.h:
        (FrameDestructionObserver):
        * page/Navigator.cpp:
        (WebCore):
        * page/Navigator.h:
        (WebCore):
        (Navigator):
        * page/Navigator.idl:

2012-02-21  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface logic
        https://bugs.webkit.org/show_bug.cgi?id=78936

        Reviewed by James Robinson.

        No change in behavior, the code moved around already covered by existing tests.

        In calculateDrawTransformsAndVisibility(), there are two separate
        if-else statements where setTargetRenderSurface logic is
        performed, and this makes the code less readable and more error
        prone. This patch merges the logic, removing the redundant if-else
        statements.

        This code also merges one other set of if-statements that are
        equivalent, if (layer->parent()) and if (layer!=rootLayer).

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::createRenderSurface):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::createRenderSurface):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):

2012-02-21  Kentaro Hara  <haraken@chromium.org>

        Remove FIXME from resolve-supplemental.pl
        https://bugs.webkit.org/show_bug.cgi?id=79160

        Reviewed by Adam Barth.

        The IDL attribute checker has been enabled in all build systems.
        This patch removes FIXME in resolve-supplemental.pl.
        Also, this patch improves a comment in IDLAttributes.txt.

        No tests. No change in behavior.

        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/resolve-supplemental.pl:

2012-02-21  Emil A Eklund  <eae@chromium.org>

        Add FractionalLayoutRect for sub-pixel layout
        https://bugs.webkit.org/show_bug.cgi?id=78924

        Reviewed by Eric Seidel.

        Add FractionalLayoutUnit version of Rect class. Uses FractionalLayoutPoint
        and FractionalLayoutSize internally.

        Also add conversions to int/float versions of same.

        No new tests.

        * GNUmakefile.list.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/FloatRect.cpp:
        (WebCore::FloatRect::FloatRect):
        (WebCore):
        * platform/graphics/FloatRect.h:
        (WebCore):
        (FloatRect):
        * platform/graphics/FractionalLayoutRect.cpp: Added.
        (WebCore):
        (WebCore::FractionalLayoutRect::FractionalLayoutRect):
        (WebCore::FractionalLayoutRect::intersects):
        (WebCore::FractionalLayoutRect::contains):
        (WebCore::FractionalLayoutRect::intersect):
        (WebCore::FractionalLayoutRect::unite):
        (WebCore::FractionalLayoutRect::uniteIfNonZero):
        (WebCore::FractionalLayoutRect::scale):
        (WebCore::unionRect):
        (WebCore::enclosingIntRect):
        (WebCore::enclosingFractionalLayoutRect):
        (WebCore::pixelSnappedIntRect):
        * platform/graphics/FractionalLayoutRect.h: Added.
        (WebCore):
        (FractionalLayoutRect):
        (WebCore::FractionalLayoutRect::FractionalLayoutRect):
        (WebCore::FractionalLayoutRect::location):
        (WebCore::FractionalLayoutRect::size):
        (WebCore::FractionalLayoutRect::setLocation):
        (WebCore::FractionalLayoutRect::setSize):
        (WebCore::FractionalLayoutRect::x):
        (WebCore::FractionalLayoutRect::y):
        (WebCore::FractionalLayoutRect::maxX):
        (WebCore::FractionalLayoutRect::maxY):
        (WebCore::FractionalLayoutRect::width):
        (WebCore::FractionalLayoutRect::height):
        (WebCore::FractionalLayoutRect::setX):
        (WebCore::FractionalLayoutRect::setY):
        (WebCore::FractionalLayoutRect::setWidth):
        (WebCore::FractionalLayoutRect::setHeight):
        (WebCore::FractionalLayoutRect::isEmpty):
        (WebCore::FractionalLayoutRect::center):
        (WebCore::FractionalLayoutRect::move):
        (WebCore::FractionalLayoutRect::moveBy):
        (WebCore::FractionalLayoutRect::expand):
        (WebCore::FractionalLayoutRect::contract):
        (WebCore::FractionalLayoutRect::shiftXEdgeTo):
        (WebCore::FractionalLayoutRect::shiftMaxXEdgeTo):
        (WebCore::FractionalLayoutRect::shiftYEdgeTo):
        (WebCore::FractionalLayoutRect::shiftMaxYEdgeTo):
        (WebCore::FractionalLayoutRect::minXMinYCorner):
        (WebCore::FractionalLayoutRect::maxXMinYCorner):
        (WebCore::FractionalLayoutRect::minXMaxYCorner):
        (WebCore::FractionalLayoutRect::maxXMaxYCorner):
        (WebCore::FractionalLayoutRect::contains):
        (WebCore::FractionalLayoutRect::inflateX):
        (WebCore::FractionalLayoutRect::inflateY):
        (WebCore::FractionalLayoutRect::inflate):
        (WebCore::FractionalLayoutRect::transposedRect):
        (WebCore::FractionalLayoutRect::infiniteRect):
        (WebCore::intersection):
        (WebCore::unionRect):
        (WebCore::operator==):
        (WebCore::operator!=):
        * platform/graphics/IntRect.cpp:
        (WebCore::IntRect::IntRect):
        (WebCore):
        * platform/graphics/IntRect.h:
        (WebCore):
        (IntRect):

2012-02-21  James Robinson  <jamesr@chromium.org>

        Enable ScrollingCoordinator in chromium whenever compositing is enabled
        https://bugs.webkit.org/show_bug.cgi?id=79165

        Reviewed by Adam Barth.

        As the title says.

        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::setScrollLayer):
        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::setScrollParameters):
        (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
            Remove ASSERT_NOT_REACHED()ed from these functions, they are now expected to be called but do nothing.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
            Guard a mac-specific piece of code in #if PLATFORM(MAC). This code already has a FIXME.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::shouldCompositeOverflowControls):
            Make coordinatesScroll..() sufficient but not necessary for compositing overflow controls. In chromium, we
            want to composite overflow controls even for FrameViews that we aren't coordinating via the
            ScrollingCoordinator.

2012-02-21  Adam Klein  <adamk@chromium.org>

        Setting innerText causes DOMSubtreeModified to be dispatched too early
        https://bugs.webkit.org/show_bug.cgi?id=79140

        Reviewed by Ryosuke Niwa.

        Followup to r108152: move children change notifications later in
        ContainerNode::removeChildren(), thus making sure Node::inDocument()
        is in the correct state when we call into script.

        Tests: fast/dom/getElementById-consistency3.html
               fast/dom/getElementById-consistency4.html
               fast/dom/getElementById-consistency5.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChildren):

2012-02-15  Ryosuke Niwa  <rniwa@webkit.org>

        Assertion failure in TextIterator::handleTextBox
        https://bugs.webkit.org/show_bug.cgi?id=78530

        Reviewed by Eric Seidel.

        The assertion failure was caused by handleTextNodeFirstLetter's updating m_text without clearing
        m_sortedTextBoxesPosition. Re-structured handleTextNode so that we always reset m_sortedTextBoxesPosition
        when we have a first-letter.

        Test: editing/text-iterator/rtl-first-letter-text-iterator-crash.html

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleTextNode):
        (WebCore::TextIterator::handleTextBox):
        (WebCore::TextIterator::handleTextNodeFirstLetter):

2012-02-21  Yael Aharon  <yael.aharon@nokia.com>

        Unreviewed build fix.

        No new tests.

        * platform/graphics/opengl/TextureMapperGL.cpp:

2012-02-21  Adam Klein  <adamk@chromium.org>

        ContainerNode::childrenChanged must be called immediately after removing children
        https://bugs.webkit.org/show_bug.cgi?id=79162

        Reviewed by Ryosuke Niwa.

        In r108152, a call to childrenChanged() was erroneously moved
        below the call to child->removedFromDocument(). This breaks, at the
        least, the behavior of the <title> element. This patch corrects the
        mistake and adds a test.

        Test: fast/dom/title-directionality-removeChild.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChild):

2012-02-21  Luke Macpherson   <macpherson@chromium.org>

        Implement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=79067

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * rendering/style/RenderStyle.h:

2012-02-21  Jon Lee  <jonlee@apple.com>

        Bring notifications support to WK1 mac
        https://bugs.webkit.org/show_bug.cgi?id=78783
        <rdar://problem/10610578>

        Reviewed by Anders Carlsson.

        * WebCore.exp.in: Expose dispatchErrorEvent on Notification.

2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt] Previous web page appears outside content rect
        https://bugs.webkit.org/show_bug.cgi?id=78816

        Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and
        not sizes.

        Reviewed by Kenneth Rohde Christiansen.

        No new functionality.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::scissorClip):

2012-02-21  Victor Carbune  <vcarbune@adobe.com>

        Added support for pause-on-exit flag on a TextTrackCue.
        https://bugs.webkit.org/show_bug.cgi?id=72173

        Reviewed by Eric Carlson.

        Test: media/track/track-cues-pause-on-exit.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Implemented
        support for pausing the video if the pause-on-exit flag is set on
        a cue that is currently exiting.

2012-02-21  Kentaro Hara  <haraken@chromium.org>

        Enable the IDL attribute checker in all build systems
        https://bugs.webkit.org/show_bug.cgi?id=79090

        Reviewed by Adam Barth.

        We have enabled the IDL attribute checker in Chromium in r108322.
        This patch enables the IDL attribute checker in all other
        build systems.

        No tests. I manually checked that [Custommm], [CallWith=],
        [CallWith=ScriptExecutionContext|Foo] cause build failures.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * UseJSC.cmake:
        * UseV8.cmake:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/IDLAttributes.txt: Added [ObjCCustomImplementation]
        since I forgot to add it in r108322.

2012-02-21  Yael Aharon  <yael.aharon@nokia.com>

        [Texmap] Better management of shaders in TextureMapperGL
        https://bugs.webkit.org/show_bug.cgi?id=78674
 
        Reviewed by Noam Rosenthal.
 
        Split TextureMapperGL.cpp into two files.
        Get rid of the enums that we were using to identify shaders and to identify variables.
        Switch flip and opaque from using bool to using enums.
 
        No new tests. This is refactoring only.
 
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * platform/graphics/OpenGLShims.h:
        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore):
        (SharedGLData):
        (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
        (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
        (WebCore::TextureMapperGLData::TextureMapperGLData):
        (TextureMapperGLData):
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::TextureMapperGL::drawTextureWithMaskAndOpacity):
        (WebCore::TextureMapperGL::drawTextureSimple):
        (WebCore::TextureMapperGL::beginClip):
        * platform/graphics/opengl/TextureMapperGL.h:
        * platform/graphics/opengl/TextureMapperShaderManager.cpp: Added.
        (WebCore):
        (WebCore::FRAGMENT_SHADER):
        (WebCore::TextureMapperShaderProgram::initializeProgram):
        (WebCore::TextureMapperShaderProgram::getUniformLocation):
        (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
        (WebCore::TextureMapperShaderProgramSimple::create):
        (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
        (WebCore::TextureMapperShaderProgramSimple::vertexShaderSource):
        (WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::create):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
        (WebCore::TextureMapperShaderProgramClip::create):
        (WebCore::TextureMapperShaderProgramClip::TextureMapperShaderProgramClip):
        (WebCore::TextureMapperShaderProgramClip::vertexShaderSource):
        (WebCore::TextureMapperShaderProgramClip::fragmentShaderSource):
        (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
        (WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
        * platform/graphics/opengl/TextureMapperShaderManager.h: Added.
        (WebCore):
        (WebCore::debugGLCommand):
        (TextureMapperShaderProgram):
        (WebCore::TextureMapperShaderProgram::id):
        (WebCore::TextureMapperShaderProgram::vertexAttrib):
        (WebCore::TextureMapperShaderProgram::shaderType):
        (TextureMapperShaderProgramSimple):
        (WebCore::TextureMapperShaderProgramSimple::matrixVariable):
        (WebCore::TextureMapperShaderProgramSimple::sourceMatrixVariable):
        (WebCore::TextureMapperShaderProgramSimple::sourceTextureVariable):
        (WebCore::TextureMapperShaderProgramSimple::opacityVariable):
        (TextureMapperShaderProgramOpacityAndMask):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceMatrixVariable):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::matrixVariable):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceTextureVariable):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):
        (WebCore::TextureMapperShaderProgramOpacityAndMask::opacityVariable):
        (TextureMapperShaderProgramClip):
        (WebCore::TextureMapperShaderProgramClip::matrixVariable):
        (TextureMapperShaderManager):
        (WebCore::TextureMapperShaderManager::getShaderProgram):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::BitmapTexture::reset):
        (WebCore::BitmapTexture::isOpaque):
        (BitmapTexture):

2012-02-21  Anders Carlsson  <andersca@apple.com>

        The tile cache should keep track of the tile coverage rect
        https://bugs.webkit.org/show_bug.cgi?id=79149
        <rdar://problem/10877338>

        Reviewed by Andreas Kling.

        Keep track of the tile coverage rect and use it to avoid trying to iterate over non-existent tiles on large pages.

        * platform/graphics/ca/mac/TileCache.h:
        (TileCache):
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::setNeedsDisplayInRect):
        (WebCore::TileCache::revalidateTiles):

2012-02-21  Andreas Kling  <awesomekling@apple.com>

        Make WebKitCSSShaderValue inherit directly from CSSValue.
        <http://webkit.org/b/79144>

        Reviewed by Antti Koivisto.

        WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used
        it for storing the shader URL. Moved that to a String member instead.

        WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so
        there should be no behavior change whatsoever here.

        * css/WebKitCSSShaderValue.cpp:
        (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
        (WebCore::WebKitCSSShaderValue::cachedShader):
        (WebCore::WebKitCSSShaderValue::customCssText):
        * css/WebKitCSSShaderValue.h:
        (WebKitCSSShaderValue):

2012-02-21  James Robinson  <jamesr@chromium.org>

        Unreviewed windows build fix - avoid return statement after return if USE(ACCELERATED_COMPOSITING) is set.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):

2012-02-21  James Robinson  <jamesr@chromium.org>

        ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active
        https://bugs.webkit.org/show_bug.cgi?id=79126

        Reviewed by Anders Carlsson.

        The ScrollingCoordinator should only attempt to coordinate scrolling when compositing is active, since it's all
        about manipulating GraphicsLayers. Adds a runtime check.

        Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView.

        * page/FrameView.cpp:
        (WebCore::FrameView::addFixedObject):
        (WebCore::FrameView::removeFixedObject):
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
        (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):

2012-02-21  James Robinson  <jamesr@chromium.org>

        Chromium build fix. Unreviwed but rubber-stamped by Antti.

        * dom/Document.cpp:
        * editing/ReplaceSelectionCommand.cpp:
        * inspector/InspectorStyleSheet.h:

2012-02-21  Eric Carlson  <eric.carlson@apple.com>

        Set Referrer header for media downloads
        https://bugs.webkit.org/show_bug.cgi?id=78614

        Reviewed by Alexey Proskuryakov.

        Test: http/tests/media/video-referer.html was modified to test this change.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerReferrer): New, return the document's referer.
        * html/HTMLMediaElement.h:

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::referrer): New, return the client's mediaPlayerReferrer.
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerReferrer):

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to add
            a referer header.

2012-02-21  Antti Koivisto  <antti@apple.com>

        Not reviewed.

        Remove some obsolete comments, use consistent name for propertyID.

        * css/StylePropertySet.h:
        (StylePropertySet):

2012-02-21  Antti Koivisto  <antti@apple.com>

        Clean up StylePropertySet included headers
        https://bugs.webkit.org/show_bug.cgi?id=79134

        Reviewed by Andreas Kling.

        Remove unneccesary includes.

        * bindings/js/JSDOMBinding.h:
        * css/StylePropertySet.cpp:
        * css/StylePropertySet.h:
        (WebCore):
        (StylePropertySet):
        * editing/RemoveCSSPropertyCommand.cpp:

2012-02-21  Lin Wei  <wei.a.lin@intel.com>

        Fix bug from r107672.
        https://bugs.webkit.org/show_bug.cgi?id=78773

        Before set MediaStreamTrack disable/enable operation,
        checking the status of MediaStream that contains this MediaStreamTrack.
        if MediaStream is finished, then skipping operation of 
        didSetMediaStreamTrackEnabled().

        Reviewed by Adam Barth.
        * mediastream/MediaStreamTrack.cpp:
        (WebCore::MediaStreamTrack::setEnabled):

2012-02-21  Julien Chaffraix  <jchaffraix@webkit.org>

        Move RenderLayer::scrolledContentOffset calls to a common function
        https://bugs.webkit.org/show_bug.cgi?id=76971

        Reviewed by David Hyatt.

        Refactoring without any change in behavior.

        This change adds a RenderBox::scrolledContentOffset function to handle all
        the calls that goes through the layer(). This indirection will enable us to
        add layer() checks without patching a lot of call sites as part of bug 75568.

        We also moved down the concept of scroll offset down to RenderBox where it belongs!

        * rendering/RenderLayer.h:
        (RenderLayer):
        (WebCore::RenderLayer::scrolledContentOffset):
        Moved scrolledContent to the private section of the class to prevent misuse.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrolledContentOffset):
        New function to add an indirection with RenderLayer.

        * editing/visible_units.cpp:
        (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::selectionGapRectsForRepaint):
        (WebCore::RenderBlock::paintSelection):
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::offsetForContents):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::computeRectForRepaint):
        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        (WebCore::RenderInline::computeRectForRepaint):
        (WebCore::RenderInline::offsetFromContainer):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::computeRectForRepaint):
        (WebCore::RenderObject::mapLocalToContainer):
        (WebCore::RenderObject::mapAbsoluteToLocalPoint):
        (WebCore::RenderObject::offsetFromContainer):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlInnerBlock::positionForPoint):
        Patched all those call sites to use the new function.

2012-02-21  Emil A Eklund  <eae@chromium.org>

        Remove obsolete float comparison FIXMEs
        https://bugs.webkit.org/show_bug.cgi?id=79127

        Reviewed by Eric Seidel.

        Remove obsolete FIXME comments added back when we were planning to use
        floating point units for layout.

        No new tests, no code changes.

        * page/FrameView.cpp:
        (WebCore::FrameView::init):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
        (WebCore::RenderBlock::getClearDelta):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalHeight):
        (WebCore::RenderBox::computeLogicalHeightUsing):
        (WebCore::RenderBox::computePercentageLogicalHeight):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):

2012-02-21  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: it is nearly impossible to select and copy text on the Elements panel.
        https://bugs.webkit.org/show_bug.cgi?id=60814

        Reviewed by Pavel Feldman.

        * inspector/front-end/inspector.js:
        (WebInspector.documentClick.followLink):
        (WebInspector.documentClick):

2012-02-21  Abhishek Arya  <inferno@chromium.org>

        Crash in RenderTableSection::nodeAtPoint.
        https://bugs.webkit.org/show_bug.cgi?id=78922

        Reviewed by Julien Chaffraix.

        Test: fast/table/table-section-node-at-point-crash.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint): recalc cells if the
        m_needsCellRecalc is set. Otherwise, we will end up accessing
        removed table cells.

2012-02-21  Antti Koivisto  <antti@apple.com>

        Move PropertySetCSSStyleDeclaration to a file of its own
        https://bugs.webkit.org/show_bug.cgi?id=79121

        Rubber-stamped by Andreas Kling.

        This makes StylePropertySet.cpp more readable.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/PropertySetCSSStyleDeclaration.cpp: Copied from Source/WebCore/css/StylePropertySet.cpp.
        (WebCore::PropertySetCSSStyleDeclaration::ref):
        (WebCore::PropertySetCSSStyleDeclaration::deref):
        (WebCore):
        * css/PropertySetCSSStyleDeclaration.h: Added.
        (WebCore):
        (PropertySetCSSStyleDeclaration):
        (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
        (WebCore::PropertySetCSSStyleDeclaration::parentElement):
        (WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
        (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
        (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
        (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
        (RuleCSSStyleDeclaration):
        (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
        (WebCore::RuleCSSStyleDeclaration::parentRule):
        (WebCore::RuleCSSStyleDeclaration::clearParentRule):
        (InlineCSSStyleDeclaration):
        (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
        (WebCore::InlineCSSStyleDeclaration::parentElement):
        (WebCore::InlineCSSStyleDeclaration::clearParentElement):
        * css/StylePropertySet.cpp:
        (WebCore):

2012-02-21  Philippe Normand  <pnormand@igalia.com>

        [GTK] WebAudio build is broken
        https://bugs.webkit.org/show_bug.cgi?id=79113

        Reviewed by Martin Robinson.

        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
        (webKitWebAudioGStreamerChannelPosition): Set a default value for
        the position variable.
        * platform/audio/gtk/AudioBusGtk.cpp: Include CString.h, needed
        for sharedResourcesPath().

2012-02-21  Andreas Kling  <awesomekling@apple.com>

        Kill FontFamilyValue.
        <http://webkit.org/b/79103>

        Reviewed by Antti Koivisto.

        Remove FontFamilyValue and replace all usage by CSSPrimitiveValue.
        The class was only used to filter font family names, removing bracketed
        suffixes, e.g "[Xft]".

        This was added to KHTML in 2002 to support the use of specific X11 font
        families inside KMail: <https://bugs.kde.org/show_bug.cgi?id=38808>

        Test: fast/css/font-family-trailing-bracket-gunk.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSParser.cpp:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        * css/CSSValue.h:
        * css/CSSValuePool.cpp:
        (WebCore::CSSValuePool::createFontFamilyValue):
        * css/CSSValuePool.h:
        (CSSValuePool):
        * css/FontFamilyValue.cpp: Removed.
        * css/FontFamilyValue.h: Removed.

2012-02-21  Alexis Menard  <alexis.menard@openbossa.org>

        Little optimization for CSSParser::parseFillShorthand.
        https://bugs.webkit.org/show_bug.cgi?id=79042

        Reviewed by Hajime Morita.

        Remove one extra loop that we can combine with the following one
        which adds the properties to the parser's list of properties. I also
        removed a useless check.
        Instruments shows on the css-parser-yui benchmark an improvement
        of 13ms (from 77ms spent in the function to 64ms).

        No new tests : refactoring, existings tests should cover.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFillShorthand):

2012-02-20  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=79046
        
        width of overflow:hidden blocks is wrong when their margins overlap floats.
        
        Relevant discussion is here: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html
        
        This patch makes the following changes to how objects shrink when avoiding floats:
        (1) The containing block width used for percentage calculations is now constant. This means that
        an overflow:hidden block with a margin-left of 10% will no longer change what 10% means depending
        on the available line width. From a code perspective, containingBlockLogicalWidthForContent and
        containingBlockLogicalWidthForContentInRegion no longer contain any special-case code for
        shrinkToAvoidFloats() objects.

        (2) Now the computation of the logical width for the shrinking object itself handles the adjustments.
        Two kinds of adjustments are made for both the start and end margins. Conceptually what we do is shrink
        the object to the available line width minus our margins, and then expand the width back out to the content edge
        or to the float edge as necessary. If the float fully fits in the margin, then we expand back out to the
        content edge. Otherwise if the float doesn't fit, then we expand only to the float edge, making sure our
        margin overlaps with the float. This expansion is not performed for negative margins, since our result is already
        correct in that case.
        
        Reviewed by Dan Bernstein.

        Added the new tests from the thread on www-style about this issue (from Alan Gresley and George Talbot)
        in fast/block/float.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::containsFloat):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::containsFloats):
        Changed to be const.

        (WebCore::RenderBlock::endOffsetForLine):
        (WebCore::RenderBlock::endOffsetForContent):
        Added endOffsetForXXX methods to mirror their startOffset counterparts. Used by the width adjustment code.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
        New method that handles shrinking the logical width to the line width (and then re-expanding back out to the
        float and/or content edges as needed).

        (WebCore::RenderBox::containingBlockLogicalWidthForContent):
        (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
        Patched to no longer do the shrinking of objects to avoid floats.

        (WebCore::RenderBox::computeLogicalWidthInRegion):
        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
        Patched to handle calling the new shrinking code to adjust our logical width.

        * rendering/RenderBox.h:
        (RenderBox):
        The signature of computeLogicalWithUsing changed to be region-specific and to carry along enough information
        to efficiently perform the shrinking.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        Patched to handle calling the new shrinking code to adjust our logical width.

2012-02-21  Sam Weinig  <sam@webkit.org>

        Attempt to fix the Snow Leopard build.

        * Configurations/Base.xcconfig:

2012-02-21  Sam Weinig  <sam@webkit.org>

        Use libc++ when building with Clang on Mac
        https://bugs.webkit.org/show_bug.cgi?id=78981

        Reviewed by Dan Bernstein.

        * Configurations/Base.xcconfig:

2012-02-21  Adam Roben  <aroben@apple.com>

        Mac build fix

        * WebCore.xcodeproj/project.pbxproj: Mark TextTrack.h and TextTrackCue.h private so that
        WebKit can include them.

2012-02-21  Andras Becsi  <andras.becsi@nokia.com>

        [Qt][WK2] Fix the N9 build
        https://bugs.webkit.org/show_bug.cgi?id=79101

        Reviewed by Noam Rosenthal.

        No new tests needed.

        * platform/graphics/opengl/TextureMapperGL.cpp: Add missing include.

2012-02-21  Adam Roben  <aroben@apple.com>

        Roll out r108309, r108323, and r108326

        They broke the 32-bit Lion build.

        Original bugs is <http://webkit.org/b/75812> <rdar://problem/10079694>.

        * CMakeLists.txt:

2012-02-21  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [SuggestBox] textPrompt.css disablement displays garbled suggest box
        https://bugs.webkit.org/show_bug.cgi?id=79107

        Reviewed by Pavel Feldman.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.SuggestBox):
        (WebInspector.TextPrompt.SuggestBox.prototype.get visible):
        (WebInspector.TextPrompt.SuggestBox.prototype.hide):
        (WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
        * inspector/front-end/textPrompt.css:
        (.suggest-box):

2012-02-21  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: timeline hangs on a page with deep chain of nested events.
        https://bugs.webkit.org/show_bug.cgi?id=79106

        Use stack of states instead of recursive calls when traversing records tree to
        avoid stack overflow.

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._filterRecords):

2012-02-21  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: [crash] upon style modification after navigation
        https://bugs.webkit.org/show_bug.cgi?id=79108

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorHistory.cpp:
        (WebCore::InspectorHistory::undo):
        (WebCore::InspectorHistory::redo):
        (WebCore::InspectorHistory::reset):

2012-02-21  Patrick Gansterer  <paroga@webkit.org>

        Use WTF::cryptographicallyRandomValues in FileSystemWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=79089

        Reviewed by Adam Roben.

        Avoid loading and unloading of the crypto library during every
        call to openTemporaryFile() and make the code easier.

        * platform/win/FileSystemWin.cpp:
        (WebCore::openTemporaryFile):

2012-02-21  Alexander Færøy  <alexander.faeroy@nokia.com>

        Remove stylesheet pointer from StylePropertySet
        https://bugs.webkit.org/show_bug.cgi?id=79092

        Reviewed by Csaba Osztrogonác.

        Qt buildfix after r108345.

        * css/CSSParser.cpp:
        (WebCore::parseColorValue):

2012-02-21  Csaba Osztrogonác  <ossy@webkit.org>

        Remove stylesheet pointer from StylePropertySet
        https://bugs.webkit.org/show_bug.cgi?id=79092

        Reviewed by Antti Koivisto.

        Qt buildfix after r108345. We need this workaround because of buggy gcc (4.4.5), which
        reported a false warning: 'value$m_ptr' may be used uninitialized in this function

        * css/CSSParser.cpp:
        (WebCore::parseSimpleLengthValue):

2012-02-21  Andreas Kling  <awesomekling@apple.com>

        Shrink attribute style property sets after populating them.
        <http://webkit.org/b/78972>

        Reviewed by Antti Koivisto.

        Add a StylePropertySet::shrinkToFit() and call it at the end of updateStyleAttribute()
        to minimize the amount of wasted space.

        * css/StylePropertySet.h:
        (WebCore::StylePropertySet::shrinkToFit):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateAttributeStyle):

2012-02-21  Antti Koivisto  <antti@apple.com>

        Remove stylesheet pointer from StylePropertySet
        https://bugs.webkit.org/show_bug.cgi?id=79092

        Reviewed by Andreas Kling.

        The context should be passed as an argument for CSS parser invoking setters that actually need it.
        
        - Remove the context stylesheet pointer.
        - Add context stylesheet argument to setters.
        - Drop an unnecessary StylePropertySet constructor, pass strict parsing flag directly.
        - Adapt to changes by passing in the context stylesheet where needed.
        - Add StyledElement::applyPresentationAttributeToStyle helpers for building up the attribute style.

        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::addSubresourceStyleURLs):
        * css/CSSParser.cpp:
        (WebCore::parseColorValue):
        (WebCore::parseSimpleLengthValue):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        (WebCore::CSSParser::createPageRule):
        (WebCore::CSSParser::createKeyframeRule):
        * css/CSSParser.h:
        (CSSParser):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::addSubresourceStyleURLs):
        * css/StylePropertySet.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
        (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
        (RuleCSSStyleDeclaration):
        (InlineCSSStyleDeclaration):
        (WebCore):
        (WebCore::StylePropertySet::StylePropertySet):
        (WebCore::StylePropertySet::setProperty):
        (WebCore::StylePropertySet::parseDeclaration):
        (WebCore::StylePropertySet::addSubresourceStyleURLs):
        (WebCore::StylePropertySet::clearParentRule):
        (WebCore::StylePropertySet::clearParentElement):
        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
        (WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
        (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc):
        (WebCore::RuleCSSStyleDeclaration::contextStyleSheet):
        (WebCore::InlineCSSStyleDeclaration::contextStyleSheet):
        (SameSizeAsStylePropertySet):
        * css/StylePropertySet.h:
        (WebCore::StylePropertySet::create):
        (StylePropertySet):
        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::setMatrixValue):
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::ensureInlineStyleDecl):
        * dom/StyledElement.cpp:
        (WebCore):
        (WebCore::StyledElement::parseAttribute):
        (WebCore::StyledElement::setInlineStyleProperty):
        (WebCore::StyledElement::addSubresourceAttributeURLs):
        (WebCore::StyledElement::updateAttributeStyle):
        * dom/StyledElement.h:
        (StyledElement):
        (WebCore::StyledElement::applyPresentationAttributeToStyle):
        (WebCore):
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::collectStyleForAttribute):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::collectStyleForAttribute):
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::collectStyleForAttribute):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::applyBorderAttributeToStyle):
        (WebCore::HTMLElement::mapLanguageAttributeToLocale):
        (WebCore::HTMLElement::collectStyleForAttribute):
        (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
        (WebCore::HTMLElement::addHTMLLengthToStyle):
        (WebCore::HTMLElement::addHTMLColorToStyle):
        * html/HTMLElement.h:
        (HTMLElement):
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::collectStyleForAttribute):
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::collectStyleForAttribute):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::collectStyleForAttribute):
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::collectStyleForAttribute):
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::collectStyleForAttribute):
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::collectStyleForAttribute):
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::collectStyleForAttribute):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::collectStyleForAttribute):
        * html/HTMLTablePartElement.cpp:
        (WebCore::HTMLTablePartElement::collectStyleForAttribute):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
        * html/HTMLUListElement.cpp:
        (WebCore::HTMLUListElement::collectStyleForAttribute):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setFont):
        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::collectStyleForAttribute):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::insertedIntoDocument):
        (WebCore::SVGFontFaceElement::removedFromDocument):
        (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::collectStyleForAttribute):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::collectStyleForAttribute):
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::collectStyleForAttribute):

2012-02-21  Yury Semikhatsky  <yurys@chromium.org>

        [V8] Web Inspector: set breakpoint/pause doesn't work when worker is in a tight loop
        https://bugs.webkit.org/show_bug.cgi?id=79097

        Worker script will be interrupted to dispatch all arriving inspector commands.
        This way debugger will be operable even if worker is in a tight loop.

        Reviewed by Pavel Feldman.

        * bindings/js/ScriptDebugServer.h:
        (Task):
        (WebCore::ScriptDebugServer::Task::~Task):
        (ScriptDebugServer):
        * bindings/js/WorkerScriptDebugServer.cpp:
        (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
        (WebCore):
        * bindings/js/WorkerScriptDebugServer.h:
        (WorkerScriptDebugServer):
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::interruptAndRun):
        * bindings/v8/ScriptDebugServer.h:
        (ScriptDebugServer):
        * bindings/v8/WorkerScriptDebugServer.cpp:
        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
        (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
        (WebCore):
        * bindings/v8/WorkerScriptDebugServer.h:
        (v8):
        (WebCore):
        (WorkerScriptDebugServer):
        * inspector/WorkerDebuggerAgent.cpp:
        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
        (WebCore):
        (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
        * inspector/WorkerDebuggerAgent.h:
        (WebCore):
        (WorkerDebuggerAgent):
        * workers/WorkerMessagingProxy.cpp:
        (WebCore):
        (WebCore::WorkerMessagingProxy::sendMessageToInspector):
        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::run):
        (WebCore::WorkerRunLoop::runInMode):
        * workers/WorkerRunLoop.h:
        (WorkerRunLoop):

2012-02-21  'Pavel Feldman'  <pfeldman@google.com>

        Not reviewed: fixing Mac build (take 2).

        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::setShowPaintRects):

2012-02-21  'Pavel Feldman'  <pfeldman@google.com>

        Not reviewed: fixing Mac build.

        * inspector/DOMNodeHighlighter.cpp:
        (WebCore::DOMNodeHighlighter::drawOutline):
        * inspector/DOMNodeHighlighter.h:
        (DOMNodeHighlighter):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willPaintImpl):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::willPaint):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::InspectorPageAgent):
        (WebCore::InspectorPageAgent::willPaint):
        (WebCore::InspectorPageAgent::didPaint):
        * inspector/InspectorPageAgent.h:

2012-02-21  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: Switch Debugger agent to TypeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=78390

        Reviewed by Vsevolod Vlasov.

        Client code is switched to TypeBuilder.

        * inspector/CodeGeneratorInspector.py:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::getFunctionDetails):
        (WebCore::InjectedScript::getProperties):
        (WebCore::InjectedScript::wrapCallFrames):
        * inspector/InjectedScript.h:
        (InjectedScript):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        (WebCore::InspectorDebuggerAgent::currentCallFrames):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):

2012-02-21  'Pavel Feldman'  <pfeldman@google.com>

        Not reviewed: fixing poor merge in r108332.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
        * inspector/front-end/externs.js:

2012-02-21  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Rule source URL tooltip should show line number
        https://bugs.webkit.org/show_bug.cgi?id=79087

        Reviewed by Pavel Feldman.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):

2012-02-21  Pavel Feldman  <pfeldman@chomium.org>

        Web Inspector: clicking empty space should not re-enter edit mode
        https://bugs.webkit.org/show_bug.cgi?id=79024

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceMouseDown):
        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):

2012-02-21  Pavel Feldman  <pfeldman@chomium.org>

        Web Inspector: evaluate on hover does not work for large files.
        https://bugs.webkit.org/show_bug.cgi?id=79015

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
        (WebInspector.JavaScriptSourceFrame.prototype._highlightExpression):
        * inspector/front-end/Popover.js:
        (WebInspector.PopoverHelper.prototype._handleMouseAction):
        * inspector/front-end/SourceJavaScriptTokenizer.js:
        (WebInspector.SourceJavaScriptTokenizer):
        (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
        * inspector/front-end/SourceJavaScriptTokenizer.re2js:

2012-02-21  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: add "show paint rectangles" setting.
        https://bugs.webkit.org/show_bug.cgi?id=79030

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/DOMNodeHighlighter.cpp:
        (WebCore::DOMNodeHighlighter::drawOutline):
        (DOMNodeHighlighter):
        * inspector/DOMNodeHighlighter.h:
        (WebCore):
        (DOMNodeHighlighter):
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willPaintImpl):
        (WebCore::InspectorInstrumentation::didPaintImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore):
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::willPaint):
        * inspector/InspectorPageAgent.cpp:
        (PageAgentState):
        (WebCore::InspectorPageAgent::create):
        (WebCore::InspectorPageAgent::InspectorPageAgent):
        (WebCore::InspectorPageAgent::setShowPaintRects):
        (WebCore):
        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
        (WebCore::InspectorPageAgent::willPaint):
        (WebCore::InspectorPageAgent::didPaint):
        (WebCore::InspectorPageAgent::buildObjectForFrame):
        * inspector/InspectorPageAgent.h:
        (WebCore):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        (WebInspector.SettingsScreen.prototype._showPaintRectsChanged):
        * inspector/front-end/inspector.js:
        * page/FrameView.cpp:
        (WebCore::FrameView::paintContents):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintContents):

2012-02-21  Andras Becsi  <andras.becsi@nokia.com>

        [Qt] Clean-up project file after r108310

        Reviewed by Csaba Osztrogonác.

        No new tests needed.

        * Target.pri: Fix path for TextTrack headers.

2012-02-17  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] media/W3C failures
        https://bugs.webkit.org/show_bug.cgi?id=75078

        Reviewed by Martin Robinson.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::load): Clean out everything
        after file:// url path to cope with media/W3C tests loading
        file:///path/to/media.ext?some parameters.

2012-02-21  Matt Lilek  <mrl@apple.com>

        Not reviewed, build fix for non-client-based Geolocation builds after r107982.

        * page/Geolocation.cpp:

2012-02-21  Yury Semikhatsky  <yurys@chromium.org>

        [V8] Web Inspector: simplify worker debugger implementation
        https://bugs.webkit.org/show_bug.cgi?id=79085

        There is one instance of WorkerScriptDebugServer per worker thread. We don't
        need to resolve WorkerContext from V8::Context anymore.

        Reviewed by Pavel Feldman.

        * bindings/v8/WorkerScriptDebugServer.cpp:
        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
        (WebCore::WorkerScriptDebugServer::addListener):
        (WebCore::WorkerScriptDebugServer::removeListener):
        (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
        * bindings/v8/WorkerScriptDebugServer.h:
        (WorkerScriptDebugServer):
        * inspector/WorkerDebuggerAgent.cpp:
        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
        (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):

2012-02-21  Kentaro Hara  <haraken@chromium.org>

        Enable the IDL attribute checker in Chromium
        https://bugs.webkit.org/show_bug.cgi?id=79082

        Reviewed by Adam Barth.

        We have fixed 10~ bugs caused by typos of IDL attributes.
        This patch adds an IDL attribute checker, which checks if all IDL attributes
        used in IDL files are implemented by code generators.

            - The IDL attribute checker uses IDLAttributes.txt, which lists all
              IDL attributes implemented in code generators. If we want to add
              a new IDL attribute, we need to add it to IDLAttributes.txt manually.
            - The IDL attribute checker checks if all IDL attributes used in IDL files
              are listed in IDLAttributes.txt.
            - If the IDL attribute checker fails, the build fails with a verbose error message.

        No tests. I manually checked that [Custommm], [CallWith=],
        [CallWith=ScriptExecutionContext|Foo] cause build failures.

        * WebCore.gyp/WebCore.gyp: Modified to enable the IDL attribute checker.

        * bindings/scripts/resolve-supplemental.pl:
        (loadIDLAttributes): This method loads a list of IDL attributes from IDLAttributes.txt.
        (checkIDLAttributes): This method implementes the IDL attribute checker as described above.
        (checkIfIDLAttributesExists):

        * bindings/scripts/IDLParser.pm: "1" is not good to represent that
        the IDL attribute does not have any value. This patch changed it to "VALUE_IS_MISSING".
        (parseExtendedAttributes):
        (ParseInterface):
        * bindings/scripts/CodeGenerator.pm: Ditto.
        (ContentAttributeName):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        (GenerateNormalAttrGetter):
        (GenerateNormalAttrSetter):
        (GenerateSingleBatchedAttribute):
        (GetRuntimeEnableFunctionName):
        * bindings/scripts/IDLAttributes.txt: Added. This file lists all IDL attributes implemented
        in code generators.

2012-02-21  Patrick Gansterer  <paroga@webkit.org>

        Use Win32 API to get file information
        https://bugs.webkit.org/show_bug.cgi?id=55336

        Reviewed by Adam Roben.

        Use FindFirstFile() in favour over _wstat64() to share the code with WinCE.

        * platform/win/FileSystemWin.cpp:
        (WebCore):
        (WebCore::getFindData):
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::fileExists):

2012-02-20  Adam Barth  <abarth@webkit.org>

        Invalid cast in WebCore::toElement / WebCore::HTMLElementStack::ElementRecord::element
        https://bugs.webkit.org/show_bug.cgi?id=78975

        Reviewed by Eric Seidel.

        We're supposed to set the action attribute on the form element we just
        created.  Previously, we assumed the newly created form element would
        be on the top of the stack of open elements, but if we're in the table
        body insertion mode, the form element gets treated as self closing and
        is therefore popped off the stack of open elements.

        Fortunately, we already cache a pointer to the most recently inserted
        form element on the HTMLConstructionSite, so we can just grab the
        element from there.

        Test: html5lib/runner.html

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
        (WebCore):

2012-02-20  Adam Barth  <abarth@webkit.org>

        Unite TextTrack-related files with their friends in WebCore/html/track
        https://bugs.webkit.org/show_bug.cgi?id=78941

        Reviewed by Eric Seidel.

        The code that supports <track> seems to be split between the
        WebCore/html directory and the WebCore/html/track directory.  This
        patch unites this code in the WebCore/html/track directory.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * html/LoadableTextTrack.cpp: Removed.
        * html/LoadableTextTrack.h: Removed.
        * html/TextTrack.cpp: Removed.
        * html/TextTrack.h: Removed.
        * html/TextTrack.idl: Removed.
        * html/TextTrackCue.cpp: Removed.
        * html/TextTrackCue.h: Removed.
        * html/TextTrackCue.idl: Removed.
        * html/TextTrackCueList.cpp: Removed.
        * html/TextTrackCueList.h: Removed.
        * html/TextTrackCueList.idl: Removed.
        * html/track/LoadableTextTrack.cpp: Copied from Source/WebCore/html/LoadableTextTrack.cpp.
        * html/track/LoadableTextTrack.h: Copied from Source/WebCore/html/LoadableTextTrack.h.
        * html/track/TextTrack.cpp: Copied from Source/WebCore/html/TextTrack.cpp.
        * html/track/TextTrack.h: Copied from Source/WebCore/html/TextTrack.h.
        * html/track/TextTrack.idl: Copied from Source/WebCore/html/TextTrack.idl.
        * html/track/TextTrackCue.cpp: Copied from Source/WebCore/html/TextTrackCue.cpp.
        * html/track/TextTrackCue.h: Copied from Source/WebCore/html/TextTrackCue.h.
        * html/track/TextTrackCue.idl: Copied from Source/WebCore/html/TextTrackCue.idl.
        * html/track/TextTrackCueList.cpp: Copied from Source/WebCore/html/TextTrackCueList.cpp.
        * html/track/TextTrackCueList.h: Copied from Source/WebCore/html/TextTrackCueList.h.
        * html/track/TextTrackCueList.idl: Copied from Source/WebCore/html/TextTrackCueList.idl.

2012-02-20  Filip Pizlo  <fpizlo@apple.com>

        JSC should be a triple-tier VM
        https://bugs.webkit.org/show_bug.cgi?id=75812
        <rdar://problem/10079694>

        Reviewed by Gavin Barraclough.
        
        No new tests, because there is no change in behavior.

        * CMakeLists.txt:

2012-02-20  Benjamin Poulain  <benjamin@webkit.org>

        Get rid of the LocalizationStrategy
        https://bugs.webkit.org/show_bug.cgi?id=78324

        Reviewed by Sam Weinig.

        Remove LocalizationStrategy and unify the localization behind
        LocalizedStrings.h and LocalizedStrings.cpp.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/DefaultLocalizationStrategy.cpp: Removed.
        * platform/DefaultLocalizationStrategy.h: Removed.
        * platform/LocalizationStrategy.h: Removed.
        * platform/LocalizedStrings.cpp:
        * platform/LocalizedStrings.h:
        (WebCore):
        * platform/PlatformStrategies.cpp:
        * platform/PlatformStrategies.h:
        (WebCore):
        (WebCore::PlatformStrategies::PlatformStrategies):
        (PlatformStrategies):
        * platform/qt/LocalizedStringsQt.cpp: Copied from Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp.

2012-02-20  Kentaro Hara  <haraken@chromium.org>

        Remove [TreatReturnedNullStringAsNull] from HTMLMediaElement.mediaGroup
        https://bugs.webkit.org/show_bug.cgi?id=79064

        Reviewed by Hajime Morita.

        [TreatReturnedNullStringAsNull] is a typo of [TreatReturnedNullStringAs=Null].
        But as far as I read the spec
        (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#attr-media-mediagroup),
        there is no statement about what value should be returned when HTMLMediaElement.mediaGroup
        is not yet initialized. In particular, there is no statement that says "null should
        be returned when HTMLMediaElement.mediaGroup is not initialized". Thus, instead of
        fixing the typo, just removing [TreatReturnedNullStringAsNull] would make sense.
        Removing [TreatReturnedNullStringAsNull] does not change the current behavior.

        Test: media/media-controller.html (No change in the test results.)

        * html/HTMLMediaElement.idl:

2012-02-20  Hayato Ito  <hayato@chromium.org>

        Use InsertinonPoint instead of HTMLContentElement.
        https://bugs.webkit.org/show_bug.cgi?id=78778

        Reviewed by Hajime Morita.

        Replace HTMLContentElement with InsertionPoint in NodeRenderingContext and HTMLContentSelection.
        This is one of followup patches for r108207.

        No new tests, no change in behavior.

        * dom/NodeRenderingContext.cpp:
        (WebCore::nextRendererOf):
        (WebCore::previousRendererOf):
        (WebCore::firstRendererOf):
        (WebCore::lastRendererOf):
        * dom/NodeRenderingContext.h:
        (WebCore):
        (NodeRenderingContext):
        (WebCore::NodeRenderingContext::insertionPoint):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::insertionPointFor):
        * dom/ShadowRoot.h:
        (WebCore):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::HTMLContentElement):
        (WebCore::HTMLContentElement::attach):
        (WebCore::HTMLContentElement::detach):
        * html/shadow/HTMLContentElement.h:
        (HTMLContentElement):
        * html/shadow/HTMLContentSelector.cpp:
        (WebCore::HTMLContentSelector::select):
        * html/shadow/HTMLContentSelector.h:
        (WebCore):
        (HTMLContentSelection):
        (WebCore::HTMLContentSelection::insertionPoint):
        (WebCore::HTMLContentSelection::HTMLContentSelection):
        (WebCore::HTMLContentSelection::create):
        * html/shadow/InsertionPoint.cpp:
        (WebCore::InsertionPoint::InsertionPoint):
        * html/shadow/InsertionPoint.h:
        (WebCore::InsertionPoint::selections):
        (WebCore::InsertionPoint::hasSelection):
        (InsertionPoint):

2012-02-20  David Barton  <dbarton@mathscribe.com>

        MathML internals - code clean-up for RenderMathMLSubSup
        https://bugs.webkit.org/show_bug.cgi?id=79063

        Reviewed by Eric Seidel.

        In the next patch, I will shrink and revise the <msubsup> formatting code. To make this
        easier to follow, I am first doing some simple code clean-up.

        No new tests.

        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::layout):
        * rendering/mathml/RenderMathMLRow.h:
        (WebCore::RenderMathMLRow::isRenderMathMLRow):
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::stretchToHeight):
        (WebCore::RenderMathMLSubSup::layout):
            - There is no need to iterate over baseWrapper's children since it should have only
              one child, the base of the <msubsup>.

2012-02-20  Kentaro Hara  <haraken@chromium.org>

        Replace [V8Custom=DOMWindowNOP] with [V8Custom]
        https://bugs.webkit.org/show_bug.cgi?id=79062

        Reviewed by Adam Barth.

        [V8Custom=DOMWindowNOP] is not implemented by CodeGeneratorV8.pm.
        This patch replaces it with [V8Custom].

        No new tests. No change in behavior.

        * page/DOMWindow.idl:

2012-02-20  Kentaro Hara  <haraken@chromium.org>

        [JSGenerateIsReachable=ImplRoot] is not implemented, it should be [JSGenerateIsReachable]
        https://bugs.webkit.org/show_bug.cgi?id=79061

        Reviewed by Adam Barth.

        CSSStyleDeclaration.idl uses [JSGenerateIsReachable=ImplRoot],
        but "ImplRoot" is not implemented in CodeGeneratorJS.pm.
        This patch replaces [JSGenerateIsReachable=ImplRoot] with [JSGenerateIsReachable].

        No tests. No change in behavior.

        * css/CSSStyleDeclaration.idl:

2012-02-20  Kentaro Hara  <haraken@chromium.org>

        [EnabledAtRuntime] in HTMLShadowElement.idl should be [V8EnabledAtRuntime]
        https://bugs.webkit.org/show_bug.cgi?id=79058

        Reviewed by Adam Barth.

        [EnabledAtRuntime] does not exist any longer. It should be [V8EnabledAtRuntime].

        No tests.

        * html/shadow/HTMLShadowElement.idl:

2012-02-20  Kentaro Hara  <haraken@chromium.org>

        Replace [Callback=FunctionOnly] with [Callback]
        https://bugs.webkit.org/show_bug.cgi?id=79060

        Reviewed by Adam Barth.

        [Callback=FunctionOnly] is not implemented by any code generator.
        This patch replaces it with [Callback].

        No tests. No change in behavior.

        * Modules/intents/IntentResultCallback.idl:
        * Modules/intents/NavigatorIntents.idl:
        * dom/RequestAnimationFrameCallback.idl:
        * mediastream/NavigatorMediaStream.idl:
        * mediastream/NavigatorUserMediaErrorCallback.idl:
        * mediastream/NavigatorUserMediaSuccessCallback.idl:
        * mediastream/PeerConnection.idl:
        * mediastream/SignalingCallback.idl:
        * page/PositionCallback.idl:
        * page/PositionErrorCallback.idl:

2012-02-20  Andy Chen  <andchen@rim.com>

        2012-02-17  Andy Chen  <andchen@rim.com>

        [BlackBerry] Need to override active/inactive text search highlight color for RenderThemeBlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=78920

        Override two functions for text search highlight colors so that we can
        provide platform specified colors.

        Reviewed by Antonio Gomes.

        No function change so no new tests.

        * platform/blackberry/RenderThemeBlackBerry.cpp:
        (WebCore::RenderThemeBlackBerry::platformActiveTextSearchHighlightColor):
        (WebCore::RenderThemeBlackBerry::platformInactiveTextSearchHighlightColor):
        * platform/blackberry/RenderThemeBlackBerry.h:

2012-02-20  John Knottenbelt  <jknotten@chromium.org>

        Default canvas backing store to be 1:1 with specified dimensions.
        https://bugs.webkit.org/show_bug.cgi?id=78971

        Reviewed by Adam Barth.

        Although the canvas specification states that the backing image may
        be larger than the user-specified dimensions, there are a number of
        philip canvas tests that fail when the backing image data is not
        1:1 with the specified canvas dimensions. These failures are
        tracked in https://bugs.webkit.org/show_bug.cgi?id=73645

        This change defaults the canvas backing store to be 1:1 with the
        user-specified dimensions, while also providing an
        ENABLE(HIGH_DPI_CANVAS) build option to reinstate the original
        behaviour, so that the above bug may be more easily fixed.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement):

2012-02-20  Mary Wu  <mary.wu@torchmobile.com.cn>

        Upstream RenderThemeBlackberry.h/.cpp into WebCore/platform/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=78785

        Main Contributors:
        Daniel Bates <dbates@rim.com>
        Bryan Gislason <bgislason@rim.com>
        Akash Vaswani <akvaswani@rim.com>
        Dave Battista <dbattista@rim.com>
        Robin Cao  <robin.cao@torchmobile.com.cn>
        Genevieve Mak <gmak@rim.com>
        Mike Fenton  <mifenton@rim.com>

        Reviewed by Antonio Gomes.

        Initial upstream, no new tests.

        * platform/blackberry/RenderThemeBlackBerry.cpp: Added.
        * platform/blackberry/RenderThemeBlackBerry.h: Added.

2012-02-20  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [EFL] Collapse duplicate WebGL support code
        https://bugs.webkit.org/show_bug.cgi?id=78970

        Reviewed by Gustavo Noronha Silva.

        No new tests. This just cleans up duplicated code.

        Centralize duplicated WebGL code for EFL and GTK+ in the Cairo
        directory. This is in preparation for the changes necessary to
        connect WebGL to the TextureMapper AC.

        * GNUmakefile.list.am: Update source list.
        * PlatformEfl.cmake: Update source list.
        * platform/graphics/cairo/DrawingBufferCairo.cpp: Renamed from Source/WebCore/platform/graphics/gtk/DrawingBufferGtk.cpp.
        * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Integrated the code From GraphicsContext3DGtk.cpp.
        * platform/graphics/efl/DrawingBufferEfl.cpp: Removed.
        * platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed.
        * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Removed.

2012-02-20  Martin Robinson  <mrobinson@igalia.com>

        [UNIX] Plugin information fields are not interpreted as UTF-8
        https://bugs.webkit.org/show_bug.cgi?id=78635

        Reviewed by Gustavo Noronha Silva.

        Interpret plugin metadata as UTF8 aways. This matches the behavior
        of Chromium and the Totem plugin.

        This is tested by a change to TestNetscapePlugin and expectations updates.

        * plugins/efl/PluginPackageEfl.cpp:
        (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
        * plugins/gtk/PluginPackageGtk.cpp:
        (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.

2012-02-20  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Web content oftens steals focus from other widgets
        https://bugs.webkit.org/show_bug.cgi?id=77791

        Reviewed by Gustavo Noronha Silva.

        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::setFocus): No longer do anything special to try
        to grab "real" widget focus. This matches the behavior on Qt.
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::setFocus): Moved the focus handling to here.
        This ensures that behavior for plugins does not change.

2012-02-20  Yael Aharon  <yael.aharon@nokia.com>

        Regression (108135) isOpaque() returns uninitialized variable.
        https://bugs.webkit.org/show_bug.cgi?id=79049

        Reviewed by Noam Rosenthal.

        isOpaque() should use the new m_flags instead of the old m_isOpaque.
        No new tests. No new functionality.

        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::BitmapTexture::reset):
        (WebCore::BitmapTexture::isOpaque):
        (BitmapTexture):

2012-02-20  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
        * bindings/scripts/test/CPP/WebDOMTestInterface.h:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:

2012-02-20  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][WK2] Clipping is broken
        https://bugs.webkit.org/show_bug.cgi?id=78677

        It's not necessary to add a full-viewport rect to the scissor clip stack.
        It creates a situation where if there's a clip in the page, we return to
        the viewport clip instead of applying the WebView's clip we got from the
        scenegraph.

        Also, it's unnecessary to clip before we paint the layer's content, we should
        only clip afterwards, before painting the children. 

        Reviewed by Kenneth Rohde Christiansen.

        No new functionality.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::size):
        (WebCore::scissorClip):
        (WebCore):
        (WebCore::TextureMapperGL::beginScissorClip):
        (WebCore::TextureMapperGL::endScissorClip):
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::paintSelfAndChildren):

2012-02-20  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Layers and tiles appear to have missing pixels in their right/bottom borders
        https://bugs.webkit.org/show_bug.cgi?id=78961

        The relativeSize member should point to one pixel before the edge, since it's used
        by glVertexAttribPointer, which takes edge points and not sizes.

        Reviewed by Kenneth Rohde Christiansen.

        No new funcionality.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::didReset):

2012-02-20  Kihong Kwon  <kihong.kwon@samsung.com>

        Add a new API for the Vibration API(W3C).
        https://bugs.webkit.org/show_bug.cgi?id=72010

        http://dev.w3.org/2009/dap/vibration/
        This patch implements navigator.webkitvibrate() API.
        This API operates differently depending upon a given parameter:
        1. It cancels vibration when given 0 or [].
        2. It gives a vibration duration in milliseconds when given as a single integer value.
        3. It gives a vibration pattern when given as an integer array. For instance, [1000 300 1000] generates a vibration of 1000ms followed by 300ms of idle time, and then creates another vibration of 1000ms.

        Reviewed by Hajime Morita.

        Test: fast/dom/navigator-vibration.html

        * CMakeLists.txt:
        * Modules/vibration/NavigatorVibration.cpp: Added.
        (WebCore):
        (WebCore::NavigatorVibration::NavigatorVibration):
        (WebCore::NavigatorVibration::~NavigatorVibration):
        (WebCore::NavigatorVibration::webkitVibrate):
        Add webkitVibrate method to get an array or single integer parameter for vibrating.
        They check vibration is activated in the platform, and then call vibrate() in the Vibration class.
        * Modules/vibration/NavigatorVibration.h: Added.
        (WebCore):
        (NavigatorVibration):
        * Modules/vibration/NavigatorVibration.idl: Added.
        * Modules/vibration/Vibration.cpp: Added.
        This class implements the entire vibration logic.
        (WebCore):
        (WebCore::Vibration::Vibration):
        (WebCore::Vibration::~Vibration):
        (WebCore::Vibration::create):
        (WebCore::Vibration::vibrate):
        (WebCore::Vibration::cancelVibration):
        (WebCore::Vibration::suspendVibration):
        (WebCore::Vibration::resumeVibration):
        (WebCore::Vibration::timerStartFired):
        (WebCore::Vibration::timerStopFired):
        (WebCore::Vibration::supplementName):
        (WebCore::Vibration::isActive):
        (WebCore::provideVibrationTo):
        * Modules/vibration/Vibration.h: Added.
        (WebCore):
        (Vibration):
        (WebCore::Vibration::from):
        * Modules/vibration/VibrationClient.h: Added.
        vibrate() and cancelVibrate() need to be implemented in the VibrationClient.
        (WebCore):
        (VibrationClient):
        (WebCore::VibrationClient::~VibrationClient):

2012-02-20  Yuta Kitamura  <yutak@chromium.org>

        Unreviewed, rolling out r108263.
        http://trac.webkit.org/changeset/108263
        https://bugs.webkit.org/show_bug.cgi?id=77856

        Broke Chromium Windows build.

        * platform/audio/DynamicsCompressor.cpp:
        (WebCore::DynamicsCompressor::DynamicsCompressor):
        (WebCore::DynamicsCompressor::setEmphasisStageParameters):
        (WebCore::DynamicsCompressor::process):
        (WebCore::DynamicsCompressor::reset):
        * platform/audio/DynamicsCompressor.h:
        (WebCore::DynamicsCompressor::isStereo):
        (DynamicsCompressor):
        * platform/audio/DynamicsCompressorKernel.cpp:
        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
        (WebCore::DynamicsCompressorKernel::setPreDelayTime):
        (WebCore::DynamicsCompressorKernel::process):
        (WebCore::DynamicsCompressorKernel::reset):
        * platform/audio/DynamicsCompressorKernel.h:
        (DynamicsCompressorKernel):
        * webaudio/DynamicsCompressorNode.cpp:
        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
        (WebCore::DynamicsCompressorNode::initialize):

2012-02-20  Raymond Liu  <raymond.liu@intel.com>

        Have the DynamicsCompressorNode support multi-channel data
        https://bugs.webkit.org/show_bug.cgi?id=77856

        Reviewed by Chris Rogers.

        * platform/audio/DynamicsCompressor.cpp:
        (WebCore::DynamicsCompressor::DynamicsCompressor):
        (WebCore::DynamicsCompressor::setEmphasisStageParameters):
        (WebCore::DynamicsCompressor::process):
        (WebCore::DynamicsCompressor::reset):
        (WebCore::DynamicsCompressor::setNumberOfChannels):
        (WebCore):
        * platform/audio/DynamicsCompressor.h:
        (DynamicsCompressor):
        * platform/audio/DynamicsCompressorKernel.cpp:
        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
        (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
        (WebCore):
        (WebCore::DynamicsCompressorKernel::setPreDelayTime):
        (WebCore::DynamicsCompressorKernel::process):
        (WebCore::DynamicsCompressorKernel::reset):
        * platform/audio/DynamicsCompressorKernel.h:
        (DynamicsCompressorKernel):
        * webaudio/DynamicsCompressorNode.cpp:
        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
        (WebCore::DynamicsCompressorNode::initialize):

2012-02-20  David Barton  <dbarton@mathscribe.com>

        RenderMathMLRow::baselinePosition() only if linePositionMode == PositionOnContainingLine
        https://bugs.webkit.org/show_bug.cgi?id=79039

        Reviewed by Eric Seidel.

        RenderMathMLRow::baselinePosition() is actually unnecessary, but I am deleting it in two
        steps. First we add a guard to restrict it to the intended PositionOnContainingLine
        case, leaving PositionOfInteriorLineBoxes to a superclass, RenderBlock. This removes
        some randomness, and tightens up the results of four existing test files.

        Test: mathml/presentation/row.xhtml, fenced.xhtml, mo.xhtml, and mo-stretch.html

        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::baselinePosition):

2012-02-18  Jon Lee  <jonlee@apple.com>

        HTML input file control "No File Selected" needs more room in some languages
        https://bugs.webkit.org/show_bug.cgi?id=32366
        <rdar://problem/4481028>

        Reviewed by David Hyatt.

        The patch exposes a function to return the "no file(s) selected" label text.

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::fileListDefaultLabel): Added to expose the text for the label in
        file upload controls when nothing has been selected.
        (WebCore::RenderTheme::fileListNameForWidth): Refactor to use fileListDefaultLabel().
        * rendering/RenderTheme.h: Change fileListNameForWidth() to be a const function.

        * rendering/RenderThemeMac.h: Update fileListNameForWidth() to be a const function for
        platform implementations.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::fileListNameForWidth): Refactor to use fileListDefaultLabel().

        Update fileListNameForWidth() to be a const function for platform implementations.
        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/RenderThemeGtk.cpp:
        * platform/qt/RenderThemeQt.h:
        * platform/qt/RenderThemeQt.cpp:

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Change the calculation
        of the max preferred logical width. Calculate the length of the "no file(s) selected" text,
        and include the button and after-button margin. Take the max of that and the original
        default width, which was a string of 34 (defaultWidthNumChars) "0"'s, in the case that the
        label text is too short.

2012-02-20  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Sam Weinig.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::allowsAccessFrom):
            - Errk, remove dead code from end of function.

2012-02-16  Gavin Barraclough  <barraclough@apple.com>

        Move special __proto__ property to Object.prototype
        https://bugs.webkit.org/show_bug.cgi?id=78409

        Reviewed by Oliver Hunt.

        Re-implement this as a regular accessor property.  This has three key benefits:
        1) It makes it possible for objects to be given properties named __proto__.
        2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
        3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::allowsAccessFrom):
        (WebCore):
            - expose allowsAccessFrom check to JSC.
        * bindings/js/JSDOMWindowBase.h:
        (JSDOMWindowBase):
            - expose allowsAccessFrom check to JSC.

2012-02-20  Benjamin Poulain  <benjamin@webkit.org>

        Make JSCSSStyleDeclaration work directly with CSS Property ID
        https://bugs.webkit.org/show_bug.cgi?id=79014

        Reviewed by Geoffrey Garen.

        Previously, accessing the CSS property was done by converting from
        the JavaScript name to the CSS name, then converting that name to a lowercase
        character array, and finally getting the CSS property ID.

        This patch cut the indirection and make the code go directly from the
        JavaScript name conversion to the CSS property ID.

        This improves the performance mainly due to the following:
        -avoid dynamic memory allocation
        -cut the conversion early when possible
        -do not parse the string twice
        The previous fast-path optimization was removed because it is no longer
        necessary with this change.

        The improvement are the following:
        -previous fast-path: no change
        -previous slow-path: ~3 times faster

        Test: fast/dom/CSSStyleDeclaration/access-longest-css-property.html
        This just test the edge case of CSSPropertyName.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::writeWebKitPrefix):
        (WebCore::writeEpubPrefix):
        (WebCore::cssPropertyIDForJSCSSPropertyName):
        (WebCore::isCSSPropertyName):
        (WebCore::JSCSSStyleDeclaration::nameGetter):
        (WebCore::JSCSSStyleDeclaration::putDelegate):
        * css/CSSParser.cpp:
        (WebCore::cssPropertyID):
        (WebCore):
        (WebCore::cssPropertyNameIOSAliasing):
        * css/CSSParser.h:
        (WebCore):

2012-02-20  Dan Bernstein  <mitz@apple.com>

        Updated Localizable.strings after r107440.

        Rubber-stamped by Joseph Pecoraro.

        * English.lproj/Localizable.strings:

2012-02-20  David Barton  <dbarton@mathscribe.com>

        MathML internals - remove nonOperatorHeight(), hasBase()
        https://bugs.webkit.org/show_bug.cgi?id=78977

        Reviewed by Eric Seidel.

        Stretchy operators, including embellished ones, should stretch to the largest height of
        the non-stretchy items in the same explicit or implicit <mrow>.
        RenderMathMLRow::layout() used to use hasBase(), isRenderMathMLOperator(), and
        nonOperatorHeight() to approximate this height. We now use unembellishedOperator() to
        improve this approximation, while also simplifying the code. More plainly, the code used
        to skip all operators when estimating this height, instead of just the stretchy ones. We
        continue to do that for now, but we more accurately skip all embellished operators
        (using our currently implemented approximate definition of this), and use the simple and
        true height of the remaining items. In case all items in the row are stretchy,
        style()->fontSize() is better than using whatever heights these items currently happen
        to be stretched to.

        Test: mathml/presentation/mo-stretch.html, and many existing tests

        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore):
        * rendering/mathml/RenderMathMLBlock.h:
        (WebCore::RenderMathMLBlock::unembellishedOperator):
        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore):
        (WebCore::RenderMathMLRow::layout):
        * rendering/mathml/RenderMathMLRow.h:
        (WebCore::RenderMathMLRow::isRenderMathMLRow):
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore):
        * rendering/mathml/RenderMathMLSubSup.h:
        (RenderMathMLSubSup):
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore):
        * rendering/mathml/RenderMathMLUnderOver.h:
        (RenderMathMLUnderOver):

2012-02-17  Anders Carlsson  <andersca@apple.com>

        Stop the committer timer when the page is destroyed
        https://bugs.webkit.org/show_bug.cgi?id=78907

        Reviewed by Adam Roben.

        We don't want the committer timer to fire after the scrolling tree has been invalidated,
        so stop the committer timer to prevent it from firing and trying to access the scrolling tree.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::pageDestroyed):

2012-02-20  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Allow compiling FileSystem without CoreFoundation.
        https://bugs.webkit.org/show_bug.cgi?id=79032

        Reviewed by Adam Roben.

        Add #if USE(CF) around code using the CoreFoundation functions.

        * platform/FileSystem.h:
        * platform/win/FileSystemWin.cpp:

2012-02-20  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Upstream the first few files in platform/graphics/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=79023

        Reviewed by Antonio Gomes.

        Initial upstreaming, no new tests.

        * platform/graphics/blackberry/FloatPointBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::FloatPoint::FloatPoint):
        (WebCore::FloatPoint::operator BlackBerry::Platform::FloatPoint):
        * platform/graphics/blackberry/FloatRectBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::FloatRect::FloatRect):
        (WebCore::FloatRect::operator BlackBerry::Platform::FloatRect):
        * platform/graphics/blackberry/FloatSizeBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::FloatSize::FloatSize):
        (WebCore::FloatSize::operator BlackBerry::Platform::FloatSize):
        * platform/graphics/blackberry/IntPointBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::IntPoint::IntPoint):
        (WebCore::IntPoint::operator BlackBerry::Platform::IntPoint):
        * platform/graphics/blackberry/IntRectBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::IntRect::IntRect):
        (WebCore::IntRect::operator BlackBerry::Platform::IntRect):
        * platform/graphics/blackberry/IntSizeBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::IntSize::IntSize):
        (WebCore::IntSize::operator BlackBerry::Platform::IntSize):

2012-02-20  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Share openTemporaryFile with WinCE
        https://bugs.webkit.org/show_bug.cgi?id=58750

        Reviewed by Adam Roben.

        Use pathByAppendingComponent instead of PathCombine to share the
        code with WinCE. Also use the wide version of Windows functions.

        * platform/win/FileSystemWin.cpp:
        (WebCore::openTemporaryFile):

2012-02-20  Victor Carbune  <victor@rosedu.org>

        Added code to support dispatching of missed cues in case of normal playback
        and event sorting in case of simultaneous event triggering.

        <track>-related events cuechange, enter, and exit should be sorted and filtered before dispatching
        https://bugs.webkit.org/show_bug.cgi?id=72171

        Reviewed by Eric Carlson.

        Tests: media/track/track-cues-missed.html
               media/track/track-cues-sorted-before-dispatch.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Added initialization code
        for newly added state variables.
        (WebCore::trackIndexCompare): Static boolean compare function between
        the index of two tracks.
        (WebCore):
        (WebCore::eventTimeCueCompare): Static boolean compare function between
        events associated with text track cues.
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Added code to
        sort the events associated with text track cues before dispatching.
        Each step from the specification is commented within the code.
        (WebCore::HTMLMediaElement::finishSeek): Added a boolean variable that
        is needed within the text track update function, to know whether a seek
        event has occured before or not.
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Moved the update
        call for text tracks at the beginning of the function instead of the end.
        'ended' events for video should be dispatched after track specific events.
        * html/HTMLMediaElement.h: Added variables to keep
        state information required by the text track update algorithm (last time
        the algorithm was run, and whether a seeking event has occured)
        (HTMLMediaElement):

        * html/LoadableTextTrack.cpp: Refactored fireCueChangeEvent method
        (WebCore::LoadableTextTrack::fireCueChangeEvent): The method dispatches a
        synchronous cue change event for the track element.
        * html/LoadableTextTrack.h:
        (LoadableTextTrack):
        * html/TextTrack.cpp: Modified the fireCueChange method, cached track index.
        (WebCore::TextTrack::TextTrack):
        (WebCore::TextTrack::trackIndex): Cached the track index.
        (WebCore):
        (WebCore::TextTrack::invalidateTrackIndex): Invalidates the track. Used
        when a new track is added in a TextTrackList instance.
        * html/TextTrack.h:
        (TextTrack):
        (WebCore::TextTrack::fireCueChangeEvent): The fireCueChangeEvent has been changed,
        as events need to be fired asyncronously.
        * html/TextTrackCue.cpp: Added internal variables to keep the current index
        position in the track cue order. This is invalidated when an element is
        inserted before.
        (WebCore::TextTrackCue::TextTrackCue):
        (WebCore::TextTrackCue::cueIndex): Getter for the cueIndex.
        (WebCore):
        (WebCore::TextTrackCue::invalidateCueIndex): Invalidates the currently stored
        cue index.
        (WebCore::TextTrackCue::dispatchEvent): Event dispatching is done asynchronously
        now. This should be the only method used for event dispatching.
        (WebCore::TextTrackCue::setIsActive): The setIsActive method no longer dispatches
        events, but rather just changes the m_isActive variable.
        * html/TextTrackCue.h:
        (TextTrackCue):

        * html/TextTrackCueList.cpp:
        (WebCore::TextTrackCueList::getCueIndex): Retrieves the cue index, in the track cue
        order, of a given cue.
        (WebCore):
        (WebCore::TextTrackCueList::add): Modified the add method such that all the next cue
        indexes are invalidated.
        (WebCore::TextTrackCueList::invalidateCueIndexes): Invalidates all cue indexes starting
        with a specific position.
        * html/TextTrackCueList.h:
        (TextTrackCueList):
        * html/track/TextTrackList.cpp:
        (TextTrackList::getTrackIndex): Retrieves the track index position.
        (TextTrackList::append): Added method for invalidating the text track index in case of
        changing the list contents.
        * html/track/TextTrackList.h:
        (TextTrackList):

2012-02-20  Kenichi Ishibashi  <bashi@chromium.org>

        [WebSocket] Move WebSocketChannel::FrameData into a separate header file
        https://bugs.webkit.org/show_bug.cgi?id=78682

        Extract WebSocketChannel::FrameData as WebSocketFrame. This brings
        flexibility to add classes which want to do something for
        incoming/outgoing frames (e.g. compression/decompression).

        Reviewed by Kent Tamura.

        No new tests. No behavior change.

        * GNUmakefile.list.am: AddedWebSocketFrame.h
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * websockets/WebSocketChannel.cpp: Modified to use WebSocketFrame instead of FrameData
        (WebCore):
        (WebCore::WebSocketChannel::send):
        (WebCore::WebSocketChannel::startClosingHandshake):
        (WebCore::WebSocketChannel::parseFrame):
        (WebCore::WebSocketChannel::processFrame):
        (WebCore::WebSocketChannel::enqueueTextFrame):
        (WebCore::WebSocketChannel::enqueueRawFrame):
        (WebCore::WebSocketChannel::enqueueBlobFrame):
        (WebCore::appendMaskedFramePayload): Added.
        (WebCore::makeFrameData): Added.
        (WebCore::WebSocketChannel::sendFrame):
        * websockets/WebSocketChannel.h: Removed FrameData.
        (WebSocketChannel):
        (QueuedFrame):
        * websockets/WebSocketFrame.h: Added.
        (WebCore):
        (WebSocketFrame):
        (WebCore::WebSocketFrame::isNonControlOpCode):
        (WebCore::WebSocketFrame::isControlOpCode):
        (WebCore::WebSocketFrame::isReservedOpCode):
        (WebCore::WebSocketFrame::WebSocketFrame):

2012-02-20  Adam Roben  <aroben@apple.com>

        32-bit build fix

        * platform/FractionalLayoutUnit.h:
        (WebCore::FractionalLayoutUnit::setRawValue): Explicitly cast long long to int, since they
        are different widths in 32-bit.

2012-02-20  Adam Roben  <aroben@apple.com>

        Clang build fix

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::willModifyDOMAttr): Removed unused parameter.

2012-02-20  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed manual rollout of r107970 which breaks table column widths
        updates from javascript (e.g. inspector's network panel).

        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray):
        * rendering/RenderTableCol.h:
        (RenderTableCol):

2012-02-20  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Inconsistent alignment of non-parsed properties (having an exclamation mark)
        https://bugs.webkit.org/show_bug.cgi?id=79028

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/elementsPanel.css:
        (.styles-section .properties li.not-parsed-ok img.exclamation-mark):

2012-02-20  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: DOMAttrModified should not be fired if the attribute value remains the same
        https://bugs.webkit.org/show_bug.cgi?id=79025

        Reviewed by Pavel Feldman.

        * dom/Element.cpp:
        (WebCore::Element::willModifyAttribute):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::willModifyDOMAttr):
        (WebCore):
        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::willModifyDOMAttr):

2012-02-20  Kwonjin Jeong  <gram@company100.net>

        Correct a typo error in ScrollingCoordinator.h
        https://bugs.webkit.org/show_bug.cgi?id=79012

        Reviewed by Andreas Kling.

        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):

2012-02-20  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] box-shadow and -webkit-box-shadow properties are not considered color-aware
        https://bugs.webkit.org/show_bug.cgi?id=78988

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/CSSKeywordCompletions.js:

2012-02-20  Yosifumi Inoue  <yosin@chromium.org>

        [Forms] Spin buttons of number input type should fire both input and change event
        https://bugs.webkit.org/show_bug.cgi?id=75067

        Reviewed by Kent Tamura.

        This patch makes spin button in number input field clicks to fire input and change events as described in WHATWG HTML5 specification.
        To implement this behavior, this patch introduces new value DispatchInputAndChangeEvent in TextFieldEventBehavior.

        Test: fast/forms/number/spin-button-events.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::stepUpFromRenderer): Pass DispatchInputAndChangeEvent instead of DispatchChangeEvent to applyStep, setValue, and setValueAsNumber.
        * html/HTMLTextFormControlElement.h: Add new enum value DispatchInputAndChangeEvent to TextFieldEventBehavior.
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::setValue): Handle DispatchInputAndChangeEvent and use RefPtr for element to keep reference.

2012-02-20  Shinya Kawanaka  <shinyak@chromium.org>

        Attached/Detached state must be testable
        https://bugs.webkit.org/show_bug.cgi?id=79010

        Reviewed by Hajime Morita.

        Added a method to check an element attached or not.

        Test: fast/dom/shadow/shadow-root-attached.html

        * testing/Internals.cpp:
        (WebCore::Internals::attached):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-02-20  Kenichi Ishibashi  <bashi@chromium.org>

        [WebSocket] Add deflater/inflater classes
        https://bugs.webkit.org/show_bug.cgi?id=78449

        Add WebSocketDeflater/WebSocketInflater classes which wrap zlib
        functions. These classes are not used yet, but will be used for
        supporting WebSocket deflate-frame extension.

        This patch is second try. The previous patch broke Chromium Win
        build. I added dependency of zlib to WebCore.gyp. I think it's
        OK because Chromium already depends on zlib.

        Reviewed by Kent Tamura.

        No new tests except for chromium port. Behavior is unchanged.

        * GNUmakefile.list.am: Added WebSocketDeflater.(cpp|h).
        * WebCore.gyp/WebCore.gyp: Added zlib dependency.
        * WebCore.gypi: Added WebSocketDeflater.(cpp|h).
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * websockets/WebSocketDeflater.cpp: Added.
        (WebCore):
        (WebCore::WebSocketDeflater::create):
        (WebCore::WebSocketDeflater::WebSocketDeflater):
        (WebCore::WebSocketDeflater::initialize):
        (WebCore::WebSocketDeflater::~WebSocketDeflater):
        (WebCore::setStreamParameter):
        (WebCore::WebSocketDeflater::addBytes):
        (WebCore::WebSocketDeflater::finish):
        (WebCore::WebSocketDeflater::reset):
        (WebCore::WebSocketInflater::create):
        (WebCore::WebSocketInflater::WebSocketInflater):
        (WebCore::WebSocketInflater::initialize):
        (WebCore::WebSocketInflater::~WebSocketInflater):
        (WebCore::WebSocketInflater::addBytes):
        (WebCore::WebSocketInflater::finish):
        (WebCore::WebSocketInflater::reset):
        * websockets/WebSocketDeflater.h: Added.
        (WebCore):
        (WebSocketDeflater):
        (WebCore::WebSocketDeflater::data):
        (WebCore::WebSocketDeflater::size):
        (WebSocketInflater):
        (WebCore::WebSocketInflater::data):
        (WebCore::WebSocketInflater::size):

2012-02-20  pfeldman@chomium.org  <pavel.feldman@gmail.com>

        Web Inspector: consume undo/redo shortcuts.
        https://bugs.webkit.org/show_bug.cgi?id=79016

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.handleShortcut):

2012-02-20  Philippe Normand  <pnormand@igalia.com>

        MediaPlayer: MediaPlayerPrivate registration cleanup
        https://bugs.webkit.org/show_bug.cgi?id=78897

        Reviewed by Martin Robinson.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::installedMediaEngines): Simplified GStreamer Private
        player registration by using the PlatformMediaEngineClassName
        macro like other players do.

2012-02-17  Yury Semikhatsky  <yurys@chromium.org>

        [Chromium] Web Inspector: terminated workers are not removed from dedicated worker list
        https://bugs.webkit.org/show_bug.cgi?id=78899

        Notify inspector about starting context from WorkerContextProxy not from Worker.

        Reviewed by Pavel Feldman.

        * workers/Worker.cpp:
        (WebCore::Worker::notifyFinished):
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerMessagingProxy::startWorkerContext):

2012-02-19  Keishi Hattori  <keishi@webkit.org>

        Use shadowRootList for ColorInputType
        https://bugs.webkit.org/show_bug.cgi?id=79007

        Reviewed by Kent Tamura.

        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::createShadowSubtree): Changed shadowRoot to shadowRootList.
        (WebCore::ColorInputType::shadowColorSwatch): Changed shadowRoot to shadowRootList.

2012-02-19  Shinya Kawanaka  <shinyak@chromium.org>

        Introduce InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.
        https://bugs.webkit.org/show_bug.cgi?id=78771

        Reviewed by Hajime Morita.

        This patch introduces InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.

        This is a step for rendering <shadow> correctly, because <shadow> has almost the same function of <content>.
        After this patch, we will change NodeRenderingContext and related classes to accept InsertionPoint instead of
        HTMLContentElement only.

        No new tests, no change in behavior.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::HTMLContentElement):
        (WebCore::HTMLContentElement::attach):
        (WebCore::HTMLContentElement::detach):
        (WebCore::HTMLContentElement::parseAttribute):
        * html/shadow/HTMLContentElement.h:
        * html/shadow/InsertionPoint.cpp: Added.
        (WebCore):
        (WebCore::InsertionPoint::InsertionPoint):
        (WebCore::InsertionPoint::~InsertionPoint):
        * html/shadow/InsertionPoint.h: Added.
        (WebCore):
        (InsertionPoint):

2012-02-19  Paweł Forysiuk  <tuxator@o2.pl>

        [GTK] Can't find webinspector and error page redirection on Windows
        https://bugs.webkit.org/show_bug.cgi?id=51616

        Create and use an abstraction for finding shared resources on Windows.

        Reviewed by Martin Robinson.

        * platform/FileSystem.h:
        (WebCore):
        * platform/audio/gtk/AudioBusGtk.cpp:
        (WebCore::AudioBus::loadPlatformResource):
        * platform/graphics/gtk/ImageGtk.cpp:
        (WebCore::getPathToImageResource):
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::sharedResourcesPath):
        (WebCore):

2012-02-19  James Robinson  <jamesr@chromium.org>

        Move stub implementations of ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp
        https://bugs.webkit.org/show_bug.cgi?id=78951

        Reviewed by Adam Barth.

        This move stubs for ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp instead of #ifdefing inside
        ScrollingCoordinator.cpp.  The mac port uses ScrollingCoordinator when #if ENABLE(THREADED_SCROLLING) is not set
        and implementations in ScrollingCoordinator.cpp / ScrollingCoordinatorMac.mm otherwise.  The chromium port
        always uses implementations in ScrollingCoordinatorChromium.cpp.  All other ports use
        ScrollingCoordinatorNone.cpp.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbx:
        * page/scrolling/ScrollingCoordinator.cpp:
        * page/scrolling/ScrollingCoordinatorNone.cpp:
        (WebCore):
        (WebCore::ScrollingCoordinator::create):
        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::setScrollLayer):
        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::setScrollParameters):
        (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinator::create):
        (WebCore):

2012-02-19  Kentaro Hara  <haraken@chromium.org>

        Rename [CheckDomainSecurity] to [CheckSecurity]
        https://bugs.webkit.org/show_bug.cgi?id=78874

        Reviewed by Adam Barth.

        "Domain security" isn't a term that's used elsewhere.
        This patch renames IDL attributes as follows:

        - [CheckDomainSecurity] => [CheckSecurity]
        - [DoNotCheckDomainSecurity] => [DoNotCheckSecurity]
        - [DoNotCheckDomainSecurityOnGetter] => [DoNotCheckSecurityOnGetter]
        - [DoNotCheckDomainSecurityOnSetter] => [DoNotCheckSecurityOnSetter]

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (IsVisibleAcrossOrigins):
        (GenerateFunctionCallback):
        (GenerateSingleBatchedAttribute):
        (GenerateImplementation):
        (GenerateToV8Converters):
        * bindings/scripts/test/TestDomainSecurity.idl:
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
        * page/DOMWindow.idl:
        * page/History.idl:
        * page/Location.idl:

2012-02-19  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r108195.
        http://trac.webkit.org/changeset/108195
        https://bugs.webkit.org/show_bug.cgi?id=77700

        Lots of failing ASSERT()s on v8 bots, requested by kling on
        #webkit

        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):

2012-02-19  Kentaro Hara  <haraken@chromium.org>

        Rename [CheckAccessToNode] to [CheckSecurityForNode]
        https://bugs.webkit.org/show_bug.cgi?id=78991

        Reviewed by Adam Barth.

        For naming consistency with [CheckSecurity], this patch renames
        [CheckAccessToNode] to [CheckSecurityForNode].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateFunctionCallback):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):
        * html/HTMLEmbedElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLObjectElement.idl:
        * page/DOMWindow.idl:

2012-02-19  James Robinson  <jamesr@chromium.org>

        Sort WebCore Xcode project files with sort-Xcode-project-files script. Unreviewed.

        * WebCore.xcodeproj/project.pbxproj:

2012-02-19  Andreas Kling  <awesomekling@apple.com>

        Make CSSValue wrapper getters return unique objects every time.
        <http://webkit.org/b/77700>

        Reviewed by Antti Koivisto.

        Change the behavior of CSSValue getters to return unique JS wrappers every
        time they are called. This means we no longer have to deal with the risk
        of leaking custom properties between unrelated documents, and are free to
        implement global value sharing across WebCore.

        This patch will be followed by one making CSSValuePool globally shared,
        it's done in two steps to monitor the impact of this change.

        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (IsCSSValueType):

2012-02-19  Abhishek Arya  <inferno@chromium.org>

        Crash in RenderBlock::splitAnonymousBlocksAroundChild.
        https://bugs.webkit.org/show_bug.cgi?id=78994

        Reviewed by Eric Seidel.

        Generalize splitTablePartsAroundChild to handle splitting
        in nested tables.
        Table->Table Section->Table Row->Table Cell->Table->Table Section->Table Row

        Test: fast/table/table-split-inside-table.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitTablePartsAroundChild):

2012-02-19  Kalev Lember  <kalevlember@gmail.com>

        [GTK] Fix build on platforms where UChar is wchar_t
        https://bugs.webkit.org/show_bug.cgi?id=78996

        Reviewed by Martin Robinson.

        The ICU backend defines UChar as wchar_t for platforms where wchar_t is
        16 bits wide, e.g. win32.

        * platform/graphics/pango/FontPango.cpp:
        (WebCore::utf16ToUtf8): Use reinterpret_cast instead of static_cast.
        * platform/gtk/GtkPopupMenu.cpp:
        (WebCore::GtkPopupMenu::typeAheadFind): Ditto.

2012-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck issues.

        * GNUmakefile.list.am: Add missing header.

2012-02-18  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: inline-box-002.htm fails
        https://bugs.webkit.org/show_bug.cgi?id=69210

        Reviewed by David Hyatt.

        Tests: css2.1/20110323/dynamic-top-change-005.htm
               css2.1/20110323/dynamic-top-change-005a.htm
               css2.1/20110323/dynamic-top-change-005b.htm
               css2.1/20110323/inline-box-002.htm
               fast/css/relative-positioned-block-nested-with-inline-parent-dynamic-removed.html
               fast/css/relative-positioned-block-nested-with-inline-parent-dynamic.html
               fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html
               fast/css/relative-positioned-block-nested-with-inline-parent.html
               fast/css/relative-positioned-block-with-inline-ancestor-and-parent-dynamic.html
               fast/css/relative-positioned-block-with-inline-ancestor-dynamic-removed.html
               fast/css/relative-positioned-block-with-inline-ancestor-dynamic.html
               fast/css/relative-positioned-block-with-inline-ancestor.html
               fast/css/relative-positioned-block-with-inline-parent-dynamic-removed.html
               fast/css/relative-positioned-block-with-inline-parent-dynamic.html
               fast/css/relative-positioned-block-with-inline-parent-keeps-style.html
               fast/css/relative-positioned-block-with-inline-parent.html

        A block within an inline is affected by relative positioning on the inline box. Give
        the anonymous block containing the block a layer and make it relative positioned. Then
        calculate the offset of the anonymous block's layer by accumulating the offsets from its
        inline continuation and the inline continuation's inline parents.
        If the position of an inline changes from or to relative positioned then ensure that any
        descendant blocks update their position and layer accordingly.

        * rendering/RenderBoxModelObject.cpp:
        (): add an enum RelPosAxis
        (WebCore::accumulateRelativePositionOffsets): 
        Total up the offsets of all relatively positioned inlines that are de-facto parents of the relatively 
        positioned anonymous block's child block.

        (WebCore):
        (WebCore::RenderBoxModelObject::relativePositionOffsetX): 
        Use accumulateRelativePositionOffsets when calculating the relative position offset of a relatively positioned anonymous block.

        (WebCore::RenderBoxModelObject::relativePositionOffsetY): ditto

        * rendering/RenderInline.cpp:
        (WebCore::hasRelPositionedInlineAncestor): 
        Detects if the anonymous block contains a block that is the de-facto descendant of a relatively positioned inline.

        (WebCore::updateStyleOfAnonymousBlockContinuations): 
        Update the style's positioning for each anonymous block containing a block that is descendant from the inline whose style has changed.

        (WebCore::RenderInline::styleDidChange): 
        If an inline changes to or from relative positioning ensure that any descendant blocks change to or from relative positioning
        as well, unless they still have a relatively positioned ancestor after the current ancestor loses its relative positioning.

        (WebCore::RenderInline::addChildIgnoringContinuation): 
        If the anonymous block contains a block that is effectively descended from a relatively positioned inline, make it relatively
        positioned so the block will respect its inline ancestor's relative positioning.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::propagateStyleToAnonymousChildren): 
        Preserve style position in anonymous block continuations when the parent block propagates a style change. 

2012-02-18  raman Tenneti  <rtenneti@chromium.org>

        Track the NPN protocol version negotiated with the server
        https://bugs.webkit.org/show_bug.cgi?id=77349

        Reviewed by Darin Fisher..

        [chromium] Added ExtraData to WebURLResponse.
        
        No intended functionality change.

        * platform/network/chromium/ResourceResponse.h:
        (ExtraData):
        (WebCore::ResourceResponse::ExtraData::~ExtraData):
        (ResourceResponse):
        (WebCore::ResourceResponse::extraData):
        (WebCore::ResourceResponse::setExtraData):

2012-02-18  Abhishek Arya  <inferno@chromium.org>

        Unreviewed, rolling out r107965.
        http://trac.webkit.org/changeset/107965
        https://bugs.webkit.org/show_bug.cgi?id=78273

        crashes

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clone):

2012-02-18  Sam Weinig  <sam@webkit.org>

        Make WebCore compile with libc++ (Part 2)
        https://bugs.webkit.org/show_bug.cgi?id=78974

        Reviewed by Anders Carlsson.

        * config.h:
        Disable the DisallowCType check when using libc++.

2012-02-18  Sam Weinig  <sam@webkit.org>

        Fix the build.

        * page/DOMWindow.idl:

2012-02-14  Sam Weinig  <sam@webkit.org>

        Make WebCore compile with libc++ (Part 1)
        https://bugs.webkit.org/show_bug.cgi?id=78974

        Reviewed by Anders Carlsson.

        Add a workaround for <rdar://problem/10858112>, which cause the standard heap functions
        not to work when using an iterator with proxy objects for reference and pointer types.

        * WebCorePrefix.h:
        (move):
        Add an overload of std::move that the heap functions can call successfully.

2012-02-18  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fixes for C++ bindings after recent changes.
        
        * bindings/scripts/CodeGeneratorCPP.pm:
        (ShouldSkipType):
        (GenerateHeader):
        * page/DOMWindow.idl:

2012-02-18  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, add new platform method wx impl.

        * platform/wx/ContextMenuWx.cpp:
        (ContextMenu::itemCount):

2012-02-18  Sam Weinig  <sam@webkit.org>

        Fix part of the windows build failure.

        * WebCore.vcproj/WebCore.vcproj:
        Don't build JSWebKitCSSRegionRule.cpp, since it is already being built
        as part of DerivedSources.cpp.

2012-02-18  Sam Weinig  <sam@webkit.org>

        Fix the ENABLE(THREADED_SCROLLING) build.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::setScrollParameters):

2012-02-18  Andreas Kling  <awesomekling@apple.com>

        HTML: Remove unnecessary attributeChange() overrides.
        <http://webkit.org/b/78890>

        Reviewed by Anders Carlsson.

        Move logic from attributeChanged() overrides into parseAttribute().
        This is a step towards making attributeChanged() non-virtual.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseAttribute):
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::parseAttribute):
        * html/HTMLScriptElement.h:
        (HTMLScriptElement):
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::parseAttribute):
        * html/HTMLTrackElement.h:
        (HTMLTrackElement):

2012-02-18  Andreas Kling  <awesomekling@apple.com>

        Remove Element::createAttribute().
        <http://webkit.org/b/78965>

        Reviewed by Anders Carlsson.

        Switch call sites to use Attribute::create() directly, as there is no magic
        in calling Element::createAttribute() anymore (it used to be virtual and handled
        differently by StyledElement.)

        * dom/Element.cpp:
        (WebCore::Element::setAttributeInternal):
        * dom/Element.h:
        * svg/properties/SVGAnimatedPropertySynchronizer.h:

2012-02-18  Andreas Kling  <awesomekling@apple.com>

        HTMLBodyElement: Avoid synchronous style recalc when setting link/vlink/alink.
        <http://webkit.org/b/78959>

        Reviewed by Anders Carlsson.

        Mark the body element for deferred style recalc instead of doing it synchronously
        when the attributes change.

        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseAttribute):

2012-02-18  Martin Robinson  <mrobinson@igalia.com>

        Fix the TextureMapper build for non-Qt ports. Qt debug builds
        must use RTTI, but GTK+, at least, does not.

        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::updateBackingStore): Make the RTTI check
        Qt only.

2012-02-16  Andreas Kling  <awesomekling@apple.com>

        FontFamilyValue: Utilize inheritance from CSSPrimitiveValue better.
        <http://webkit.org/b/78806>

        Reviewed by Antti Koivisto.

        Now that FontFamilyValue's string doesn't change after creation, we can just
        pass the massaged family name up to the CSSPrimitiveValue constructor and get
        cached cssText() for free. This also shrinks FontFamilyValue by sizeof(String)
        though that's less of an issue now that we cache them in CSSValuePool.

        * css/FontFamilyValue.cpp:
        (WebCore::stripFontFamilyJunk):
        (WebCore::FontFamilyValue::FontFamilyValue):
        * css/FontFamilyValue.h:
        (WebCore::FontFamilyValue::familyName):
        (FontFamilyValue):

2012-02-17  Adam Klein  <adamk@chromium.org>

        Avoid inconsistency in Node::inDocument due to DOMSubtreeModified dispatch
        https://bugs.webkit.org/show_bug.cgi?id=76087

        Reviewed by Ryosuke Niwa.

        Move post-removal notifications after call to Node::removeFromDocument
        to avoid inconsistent state of Node::inDocument() and thus avoid
        inconsistent state in DocumentOrderedMap.

        Tests: fast/dom/getElementById-consistency.html
               fast/dom/getElementById-consistency2.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChild):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::updateReferencedText): Fixed to work with new timing of DOMSubtreeModified dispatch.

2012-02-17  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Support overloaded methods that take IDBKey or IDBKeyRange
        https://bugs.webkit.org/show_bug.cgi?id=78399

        Implements IDBObjectStore.delete(IDBKeyRange) to exercise the functionality.

        Reviewed by Tony Chang.

        Test: storage/indexeddb/delete-range.html

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionCallString): Use .get() to disambiguate when passing RefPtr.
        * bindings/scripts/test/V8/V8TestObj.cpp: Update test expectations.
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore):
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::deleteFunction):
        (WebCore):
        * storage/IDBObjectStore.h:
        (IDBObjectStore):
        * storage/IDBObjectStore.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
        (WebCore):
        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
        * storage/IDBObjectStoreBackendImpl.h:
        (IDBObjectStoreBackendImpl):
        * storage/IDBObjectStoreBackendInterface.h:

2012-02-17  Kentaro Hara  <haraken@chromium.org>

        Replace [V8OnInstance] with [V8Unforgeable]
        https://bugs.webkit.org/show_bug.cgi?id=78894

        Reviewed by Adam Barth.

        [V8OnInstance] means that the method should be defined
        (not on a prototype chain but) on a DOM object. It is the
        same meaning as [V8Unforgeable]. This patch replaces [V8OnInstance]
        with [V8Unforgeable].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateImplementation):
        * page/Location.idl:

2012-02-17  James Robinson  <jamesr@chromium.org>

        [chromium] Unreviewed build fix. MSVS gyp generator can't handle multiple .cpps with the same name in the same
        target from different paths.

        * WebCore.gypi:
        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Renamed from Source/WebCore/page/scrolling/chromium/ScrollingCoordinator.cpp.
        (WebCore):
        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::setScrollLayer):
        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::setScrollParameters):
        (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):

2012-02-17  James Robinson  <jamesr@chromium.org>

        Unreviewed mac compile fix pt 2

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::setScrollLayer):
        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::setScrollParameters):
        (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):

2012-02-17  James Robinson  <jamesr@chromium.org>

        Unreviewed mac compile fix (unused parameter warning)

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):

2012-02-14  James Robinson  <jamesr@chromium.org>

        Move ScrollingCoordinator out of ENABLE(THREADED_SCROLLING) ifdef and enable on all platforms
        https://bugs.webkit.org/show_bug.cgi?id=78401

        Reviewed by Adam Barth.

        Separates THREADED_SCROLLING from ScrollingCoordinator and enables ScrollingCoordinator-related code on
        chromium. ScrollingCoordinator receives scrolling information to be used with an external scrolling source.
        ENABLE(THREADED_SCROLLING) enables a codepath that uses a thread in WebCore to handle scrolling related input
        events and interact with composited layers.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * dom/Document.cpp:
        (WebCore::wheelEventHandlerCountChanged):
        * page/FrameView.cpp:
        (WebCore::FrameView::addSlowRepaintObject):
        (WebCore::FrameView::removeSlowRepaintObject):
        (WebCore::FrameView::performPostLayoutTasks):
        * page/Page.cpp:
        (WebCore::Page::~Page):
        (WebCore):
        * page/Page.h:
        (Page):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (Settings):
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
        (WebCore::ScrollingCoordinator::pageDestroyed):
        (WebCore):
        * page/scrolling/ScrollingCoordinator.h:
        (WebCore):
        (ScrollingCoordinator):
        * page/scrolling/ScrollingThread.cpp:
        (WebCore::ScrollingThread::createThreadIfNeeded):
        * page/scrolling/ScrollingTreeState.cpp:
        * page/scrolling/ScrollingTreeState.h:
        * page/scrolling/chromium/ScrollingCoordinator.cpp: Added.
        (WebCore):
        (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
        (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidScroll):
        (WebCore::shouldCompositeOverflowControls):
        (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
        (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
        (WebCore::RenderLayerCompositor::ensureRootLayer):
        (WebCore):
        * rendering/RenderLayerCompositor.h:
        (WebCore):
        (RenderLayerCompositor):

2012-02-17  Emil A Eklund  <eae@chromium.org>

        Add FractionalLayoutPoint for sub-pixel layout
        https://bugs.webkit.org/show_bug.cgi?id=78913

        Reviewed by Eric Seidel.

        Add FractionalLayoutUnit version of Point class and a couple of
        conversion methods to the Int and Float versions of same.

        No new tests.

        * GNUmakefile.list.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/FloatPoint.cpp:
        (WebCore::FloatPoint::FloatPoint):
        (WebCore):
        (WebCore::FloatPoint::moveBy):
        * platform/graphics/FloatPoint.h:
        (WebCore):
        (FloatPoint):
        * platform/graphics/FractionalLayoutPoint.h: Added.
        (WebCore):
        (FractionalLayoutPoint):
        (WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
        (WebCore::FractionalLayoutPoint::zero):
        (WebCore::FractionalLayoutPoint::x):
        (WebCore::FractionalLayoutPoint::y):
        (WebCore::FractionalLayoutPoint::setX):
        (WebCore::FractionalLayoutPoint::setY):
        (WebCore::FractionalLayoutPoint::move):
        (WebCore::FractionalLayoutPoint::moveBy):
        (WebCore::FractionalLayoutPoint::scale):
        (WebCore::FractionalLayoutPoint::expandedTo):
        (WebCore::FractionalLayoutPoint::shrunkTo):
        (WebCore::FractionalLayoutPoint::clampNegativeToZero):
        (WebCore::FractionalLayoutPoint::transposedPoint):
        (WebCore::operator+=):
        (WebCore::operator-=):
        (WebCore::operator+):
        (WebCore::operator-):
        (WebCore::operator==):
        (WebCore::operator!=):
        (WebCore::toPoint):
        (WebCore::toSize):
        (WebCore::flooredIntPoint):
        (WebCore::roundedIntPoint):
        (WebCore::ceiledIntPoint):
        * platform/graphics/FractionalLayoutSize.cpp:
        (WebCore::pixelSnappedIntSize):
        * platform/graphics/FractionalLayoutSize.h:
        (WebCore):

2012-02-17  Ryosuke Niwa  <rniwa@webkit.org>

        Move textDirectionForSelection from Editor to EditingStyle
        https://bugs.webkit.org/show_bug.cgi?id=78868

        Reviewed by Enrica Casucci.

        Move textDirectionForSelection from Editor to EditingStyle to centralize the editing code's
        dependency on CSSStyleDeclaration.

        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::textDirectionForSelection):
        (WebCore):
        * editing/EditingStyle.h:
        (EditingStyle):
        * editing/Editor.cpp:
        (WebCore):
        * editing/Editor.h:
        (Editor):
        * editing/EditorCommand.cpp:
        (WebCore::stateTextWritingDirection):
        * editing/ReplaceSelectionCommand.cpp:
        * editing/markup.cpp:

2012-02-17  David Barton  <dbarton@mathscribe.com>

        MathML internals - embellished operators, getBase() accessor functions
        https://bugs.webkit.org/show_bug.cgi?id=78617

        Reviewed by Eric Seidel.

        Define functions that return an unembellished "base", by omitting
        subscripts/superscripts, underscripts/overscripts, or denominators. This is needed in
        subsequent patches both for correct operator stretching and simple code factoring.

        No new tests.

        * rendering/mathml/RenderMathMLBlock.h:
        (WebCore):
        (RenderMathMLBlock):
        (WebCore::RenderMathMLBlock::unembellishedOperator):
        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::unembellishedOperator):
        (WebCore):
        * rendering/mathml/RenderMathMLFraction.h:
        (RenderMathMLFraction):
        * rendering/mathml/RenderMathMLOperator.h:
        (WebCore::RenderMathMLOperator::unembellishedOperator):
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::base):
        (WebCore):
        (WebCore::RenderMathMLSubSup::unembellishedOperator):
        (WebCore::RenderMathMLSubSup::stretchToHeight):
            - renamed a variable for clarity, especially in later patches
        (WebCore::RenderMathMLSubSup::layout):
            - renamed a variable for clarity, especially in later patches
        * rendering/mathml/RenderMathMLSubSup.h:
        (RenderMathMLSubSup):
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::base):
        (WebCore):
        (WebCore::RenderMathMLUnderOver::unembellishedOperator):
        (WebCore::RenderMathMLUnderOver::stretchToHeight):
        * rendering/mathml/RenderMathMLUnderOver.h:
        (RenderMathMLUnderOver):

2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][WK2] Allow opaque tiles
        https://bugs.webkit.org/show_bug.cgi?id=78809

        Replace the isOpaque boolean in BitmapTexture to a SupportsAlpha flag.
        Use reset/didReset instead of a virtual function that has to call the superclass.

        Make sure that all calls to BitmapTexture::reset() pass the correct SupportsAlpha flag,
        based on the source image.
        Since we now disable blending for opaque textures, we also have to make sure that we treat
        the depth buffer correctly and bring it back to its previous state.

        Reviewed by Kenneth Rohde Christiansen.

        No behavior changes.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (TextureMapperGLData):
        (WebCore::TextureMapperGLData::initStencil):
        (WebCore::TextureMapperGLData::TextureMapperGLData):
        (BitmapTextureGL):
        (WebCore::TextureMapperGL::beginPainting):
        (WebCore::TextureMapperGL::endPainting):
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::BitmapTextureGL::didReset):
        (WebCore::BitmapTextureGL::bind):
        (WebCore::TextureMapperGL::beginClip):
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::BitmapTexture::BitmapTexture):
        (WebCore::BitmapTexture::flags):
        (WebCore::BitmapTexture::didReset):
        (WebCore::BitmapTexture::reset):
        (BitmapTexture):
        * platform/graphics/texmap/TextureMapperBackingStore.cpp:
        (WebCore::TextureMapperTile::updateContents):
        (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
        (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
        (WebCore::TextureMapperTiledBackingStore::updateContents):
        * platform/graphics/texmap/TextureMapperBackingStore.h:
        (TextureMapperTiledBackingStore):
        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
        (WebCore::BitmapTextureImageBuffer::didReset):
        (WebCore):
        * platform/graphics/texmap/TextureMapperImageBuffer.h:
        (BitmapTextureImageBuffer):

2012-02-17  Stephen Chenney  <schenney@chromium.org>

        Crash in SVGAnimateElement due to changed target
        https://bugs.webkit.org/show_bug.cgi?id=75096

        Reviewed by Nikolas Zimmermann.

        The SVGAnimateElement object creates various internal objects
        depending on the type of property being animated, which depends on the
        target. These objects were not being recreated when the target
        changed, and crashes ensued. Now the SVGSMILElement provides a virtual
        method that is called when the target changes, and SVGAnimateElement
        updates its objects as necessary. We also deactivate the animation
        when the target changes, forcing recomputation of other derived
        objects.

        This change also removes various unnecessary calls to semi-expensive
        methods.

        Not only does this change fix the new test, it also fixes potential
        crashes in other tests that apparently never manifested before (but
        manifest when this new test is included in DRT).

        Test: svg/animations/svglength-animation-retarget-crash.html

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::hasValidAttributeType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::calculateDistance):
        (WebCore):
        (WebCore::SVGAnimateElement::targetElementDidChange):
        * svg/SVGAnimateElement.h:
        (SVGAnimateElement):
        * svg/SVGAnimatedTypeAnimator.h:
        (SVGAnimatedTypeAnimator):
        (WebCore::SVGAnimatedTypeAnimator::type):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::targetElement):
        (WebCore::SVGSMILElement::resetTargetElement):
        (WebCore):
        * svg/animation/SVGSMILElement.h:
        (SVGSMILElement):
        (WebCore::SVGSMILElement::targetElementDidChange):

2012-02-17  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=78934
        
        Add the -webkit-line-align property to support the alignment of lines in the inline direction
        to the line grid.

        Reviewed by Dan Bernstein.

        Added fast/line-grid/line-align-parsing.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore):
        (WebCore::CSSPrimitiveValue::operator LineAlign):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h:
        (StyleRareInheritedData):

2012-02-17  Emil A Eklund  <eae@chromium.org>

        Add FractionalLayoutSize for sub-pixel layout
        https://bugs.webkit.org/show_bug.cgi?id=78852

        Reviewed by Eric Seidel.

        Add FractionalLayoutUnit version of Size class and a couple of
        conversion methods to the Int and Float versions of same.

        No new tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/FloatPoint.cpp:
        (WebCore::FloatPoint::move):
        Add FractionalLayoutSize version of move.

        * platform/graphics/FloatPoint.h:
        * platform/graphics/FloatSize.cpp:
        (WebCore::FloatSize::FloatSize):
        Add FloatSize(FractionalLayoutSize) constructor.

        * platform/graphics/FloatSize.h:
        * platform/graphics/FractionalLayoutSize.cpp: Added.
        * platform/graphics/FractionalLayoutSize.h: Added.

2012-02-17  Enrica Casucci  <enrica@apple.com>

        REGRESSION (r107606): Copy Link writes malformed WebURLsWithTitlesPboardType
        data to the pasteboard.
        https://bugs.webkit.org/show_bug.cgi?id=78933
        <rdar://problem/10874553>
        
        For this format, the data needs to be placed in the pasteboard as array of arrays
        of strings. Currently is it stored as array of strings, which causes the code
        that uses this format to break.
        
        Reviewed by Ryosuke Niwa.

        * platform/mac/PlatformPasteboardMac.mm:
        (WebCore::PlatformPasteboard::setPathnamesForType):

2012-02-17  Abhishek Arya  <inferno@chromium.org>

        Incorrect placement of a new child when beforeChild and its
        previous sibling are in the same table.
        https://bugs.webkit.org/show_bug.cgi?id=78269

        Reviewed by Julien Chaffraix.

        Tests: fast/table/table-cell-split.html
               fast/table/table-row-split.html
               fast/table/table-section-split-with-after-content.html
               fast/table/table-section-split.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild): add
        call to splitTablePartsAroundChild to take care of splitting the
        table first if the child is part of table.
        (WebCore::markTableForSectionAndCellRecalculation): add helper to
        mark table for complete relayout by invalidating sections and cells.
        (WebCore):
        (WebCore::moveAllTableChildrenTo): moves children to another table.
        (WebCore::RenderBlock::splitTablePartsAroundChild): split table child
        and its next siblings into a new table. This allows adding a new
        non-table child between the tables.
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): calls
        splitTablePartsAroundChild to see if we need to split the table
        for adding this new child.
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createAnonymousTable): add helper for
        creating anonymous table.
        (WebCore):
        (WebCore::RenderObject::addChild): use the new helper for creating
        anonymous table.
        * rendering/RenderObject.h:
        (WebCore):
        (RenderObject):
        (WebCore::RenderObject::isTablePart): add helper to tell if the object
        is a table part.

2012-02-17  Andreas Kling  <awesomekling@apple.com>

        Element: Inline style selector and AX invalidation in attributeChanged().
        <http://webkit.org/b/78888>

        Reviewed by Antti Koivisto.

        Inline the updateAfterAttributeChanged() and recalcStyleIfNeededAfterAttributeChanged()
        methods into Element::attributeChanged(). They were separated when we needed them in
        StyledElement::attributeChanged(), but that's no longer the case.

        * dom/Element.cpp:
        (WebCore::Element::attributeChanged):
        * dom/Element.h:

2012-02-17  David Reveman  <reveman@chromium.org>

        [Chromium] Texture eviction doesn't show up in traces.
        https://bugs.webkit.org/show_bug.cgi?id=78851

        Reviewed by James Robinson.

        Add TextureManager::evictTexture() function with TRACE statement so
        that texture eviction shows up in traces.

        No new tests.

        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::evictTexture):
        (WebCore):
        (WebCore::TextureManager::reduceMemoryToLimit):
        * platform/graphics/chromium/TextureManager.h:
        (TextureManager):

2012-02-17  Kalev Lember  <kalevlember@gmail.com>

        Remove unused parameters from WTF threading API
        https://bugs.webkit.org/show_bug.cgi?id=78389

        Reviewed by Adam Roben.

        waitForThreadCompletion() had an out param 'void **result' to get the
        'void *' returned by ThreadFunction. However, the implementation in
        ThreadingWin.cpp ignored the out param, not filling it in. This had
        led to a situation where none of the client code made use of the param
        and just ignored it.

        To clean this up, the patch changes the signature of ThreadFunction to
        return void instead of void* and drops the the unused 'void **result'
        parameter from waitForThreadCompletion. Also, all client code is
        updated for the API change.

        As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
        though the change only affects internal API, Safari is using it
        directly and we'll need to keep the old versions around for ABI
        compatibility. For this, the patch adds compatibility wrappers with
        the old ABI.

        * bindings/js/GCController.cpp:
        (WebCore::collect):
        (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
        * fileapi/FileThread.cpp:
        (WebCore::FileThread::fileThreadStart):
        (WebCore::FileThread::runLoop):
        * fileapi/FileThread.h:
        (FileThread):
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::close):
        (WebCore::IconDatabase::iconDatabaseSyncThreadStart):
        (WebCore::IconDatabase::iconDatabaseSyncThread):
        (WebCore::IconDatabase::syncThreadMainLoop):
        * loader/icon/IconDatabase.h:
        (IconDatabase):
        * page/scrolling/ScrollingThread.cpp:
        (WebCore::ScrollingThread::threadCallback):
        * page/scrolling/ScrollingThread.h:
        (ScrollingThread):
        * platform/audio/HRTFDatabaseLoader.cpp:
        (WebCore::databaseLoaderEntry):
        (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
        * platform/audio/ReverbConvolver.cpp:
        (WebCore::backgroundThreadEntry):
        (WebCore::ReverbConvolver::~ReverbConvolver):
        * platform/network/cf/LoaderRunLoopCF.cpp:
        (WebCore::runLoaderThread):
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::databaseThreadStart):
        (WebCore::DatabaseThread::databaseThread):
        * storage/DatabaseThread.h:
        (DatabaseThread):
        * storage/LocalStorageThread.cpp:
        (WebCore::LocalStorageThread::threadEntryPointCallback):
        (WebCore::LocalStorageThread::threadEntryPoint):
        (WebCore::LocalStorageThread::terminate):
        * storage/LocalStorageThread.h:
        (LocalStorageThread):
        * webaudio/AsyncAudioDecoder.cpp:
        (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
        (WebCore::AsyncAudioDecoder::threadEntry):
        * webaudio/AsyncAudioDecoder.h:
        (AsyncAudioDecoder):
        * webaudio/OfflineAudioDestinationNode.cpp:
        (WebCore::OfflineAudioDestinationNode::uninitialize):
        (WebCore::OfflineAudioDestinationNode::renderEntry):
        * webaudio/OfflineAudioDestinationNode.h:
        (OfflineAudioDestinationNode):
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::workerThreadStart):
        (WebCore::WorkerThread::workerThread):
        * workers/WorkerThread.h:
        (WorkerThread):

2012-02-17  Robert Hogan  <robert@webkit.org>

        AppleMac Build fix for r108111

        Remove variable that is now unused.

        Unreviewed, build fix.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::alwaysRequiresLineBox): Remove lineInfo
        (WebCore::requiresLineBox): 
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):

2012-02-17  Michal Mocny  <mmocny@google.com>

        [chromium] GL_CHROMIUM_gpu_memory_manager extension
        https://bugs.webkit.org/show_bug.cgi?id=77155

        Reviewed by James Robinson.

        * platform/graphics/chromium/Extensions3DChromium.h:
        (GpuMemoryAllocationChangedCallbackCHROMIUM):
        (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
        (Extensions3DChromium):

2012-01-23  Robert Hogan  <robert@webkit.org>

        REGRESSION: empty span creates renders with non-zero height
        https://bugs.webkit.org/show_bug.cgi?id=76465

        Reviewed by David Hyatt.

        Tests: fast/css/empty-span.html
               fast/css/non-empty-span.html

        Empty inlines with line-height, vertical-alignment or font metrics should only get a linebox if there is some
        other content in the line. So only create line boxes for such elements on lines that are not empty.

        This patch fixes a regression where an empty inline with line-height was propagating its height to an empty line.
        It also fixes cases where lines with content that had a leading empty inline element weren't respecting the 
        vertical alignment or font-height of the empty inline.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::constructLine): only create line boxes for lines that are not empty.
        (WebCore::requiresLineBoxForContent): an inline flow with line-height, vertical-alignment, or font-size
         will need a linebox if the rest of the line is not empty.
        (WebCore):
        (WebCore::alwaysRequiresLineBox): rename from inlineFlowRequiresLineBox.
        (WebCore::requiresLineBox):
        (WebCore::RenderBlock::LineBreaker::nextLineBreak): if the inline flow definitely requires a line, mark
         the line non-empty - otherwise hold off.

2012-02-17  Raymond Toy  <rtoy@google.com>

        RealtimeAnalyserNode does not consistently respect .minDecibels
        https://bugs.webkit.org/show_bug.cgi?id=78729

        Make use of m_minDecibel consistent.  Clean up some style issues
        with names of local variables and style issues with float
        constants.
        
        Reviewed by Chris Rogers.

        No new tests because the changes are cosmetic for style issues.

        * webaudio/RealtimeAnalyser.cpp:
        (WebCore):
        (WebCore::RealtimeAnalyser::doFFTAnalysis):
        (WebCore::RealtimeAnalyser::getFloatFrequencyData):
        (WebCore::RealtimeAnalyser::getByteFrequencyData):
        (WebCore::RealtimeAnalyser::getByteTimeDomainData):

2012-02-17  Abhishek Arya  <inferno@chromium.org>

        :before content incorrectly placed in continuation
        when we don't have a first child.
        https://bugs.webkit.org/show_bug.cgi?id=78380

        Reviewed by David Hyatt.

        Test: fast/css-generated-content/before-content-continuation-chain.html

        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::updateBeforeAfterContent):

2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>

        CSS regions enabled by default
        https://bugs.webkit.org/show_bug.cgi?id=78525

        Reviewed by David Hyatt.

        Test: fast/regions/css-regions-disabled.html

        Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
        CSSRegions are still enabled by default.
        In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::cssRegionsEnabled):
        (WebCore):
        (WebCore::CSSParser::parseFlowThread):
        (WebCore::CSSParser::parseRegionThread):
        (WebCore::CSSParser::createRegionRule):
        * css/CSSParser.h:
        * dom/Document.cpp:
        (WebCore::Document::cssRegionsEnabled):
        (WebCore):
        (WebCore::Document::webkitGetFlowByName):
        * dom/Document.h:
        (Document):
        * dom/Element.cpp:
        (WebCore::Element::webkitRegionOverflow):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setCSSRegionsEnabled):
        (WebCore::Settings::cssRegionsEnabled):
        (Settings):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::RenderFlowThread):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::RenderRegion):

2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Implement NamedFlow::overflow
        https://bugs.webkit.org/show_bug.cgi?id=78880

        Reviewed by David Hyatt.

        Test: fast/regions/webkit-named-flow-overflow.html

        * dom/WebKitNamedFlow.cpp:
        (WebCore::WebKitNamedFlow::WebKitNamedFlow):
        (WebCore::WebKitNamedFlow::overflow):
        (WebCore):
        * dom/WebKitNamedFlow.h:
        (WebCore):
        (WebCore::WebKitNamedFlow::create):
        (WebKitNamedFlow):
        * dom/WebKitNamedFlow.idl:
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::RenderFlowThread):
        (WebCore::RenderFlowThread::ensureNamedFlow):
        (WebCore::RenderFlowThread::computeOverflowStateForRegions):
        * rendering/RenderFlowThread.h:

2012-02-17  Joe Thomas  <joethomas@motorola.com>

        flex-wrap:nowrap should be flex-wrap:none
        https://bugs.webkit.org/show_bug.cgi?id=78772

        As per the spec http://dev.w3.org/csswg/css3-flexbox/#flex-wrap0, flex-wrap:nowrap should be changed to flex-wrap:none.

        Reviewed by Ojan Vafai.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFlexWrap):
        * css/CSSValueKeywords.in:
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:

2012-02-17  Enrica Casucci  <enrica@apple.com>

        Refactor DragData class to use PlatformStrategies in the Mac implementation.
        https://bugs.webkit.org/show_bug.cgi?id=78768

        Reviewed by Darin Adler.

        No new tests. No behavior change.

        * WebCore.exp.in: Added new exported method of the PlatformPasteboard class.
        * platform/DragData.h:
        (WebCore::DragData::pasteboardName): Added pasteboardName and removed pasteboard.
        * platform/PasteboardStrategy.h: Added color() method.
        * platform/PlatformPasteboard.h: Ditto.
        * platform/mac/ClipboardMac.mm:
        (WebCore::Clipboard::create): Changed to use pasteboardName() method.
        * platform/mac/DragDataMac.mm: All the methods below have been changed to use pasteboardName
        and the pasteboardStrategy() methods.
        (WebCore::DragData::DragData):
        (WebCore::DragData::canSmartReplace):
        (WebCore::DragData::containsColor):
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::numberOfFiles):
        (WebCore::DragData::asFilenames):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::asColor):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
        * platform/mac/PlatformPasteboardMac.mm:
        (WebCore::PlatformPasteboard::color): Added implementation of the color() method.

2012-02-17  Nate Chapin  <japhet@chromium.org>

        [Chromium mac] Cursors and background images disappear.
        https://bugs.webkit.org/show_bug.cgi?id=78834

        The issue occurs because a CachedImage sees that it has no clients
        and decide it is safe to purge its m_data buffer. However,
        StyleCachedImage is holding a CachedResourceHandle to the
        CachedImage, and it can still add a client later. If it does so,
        the CachedImage says everything is loaded but has no data.

        Reviewed by Adam Barth.

        No new tests, since the known repros have resisted reduction.
        Tested manually with chrome.angrybirds.com, redfin.com and a
        couple of other sites.

        * rendering/style/StyleCachedImage.cpp:
        * rendering/style/StyleCachedImage.h: Ensure the underlying
            CachedImage has a client for the lifetime of the
            StyleCachedImage and doesn't purge its buffer. Call
            addClient(this) in the constructor and removeClient(this) in
            the destructor, then ignore all cache callbacks.

2012-02-17  Julien Chaffraix  <jchaffraix@webkit.org>

        Table cell's anonymous wrappers are left in the tree, impacting our layout
        https://bugs.webkit.org/show_bug.cgi?id=7180

        Reviewed by David Hyatt.

        Tests: fast/table/table-switch-cell-position-bad-layout-expected.html
               fast/table/table-switch-cell-position-bad-layout.html

        This patch implements cell's anonymous wrapper removal at detach time.

        Trimming the render tree when we remove objects from it would be more complex
        to generalize as several objects override the behavior to do their own clean-ups.
        This would also open more potential for programming errors.

        This change is limited to table cells' as a simple step towards fixing bug 52123
        and more generally eliminate some anonymous wrappers from the tree at detach time.

        * dom/Node.cpp:
        (WebCore::Node::detach):
        Patched detach to call destroyAndCleanupAnonymousWrappers. The Document does not need
        to clean up any anonymous wrappers on detach.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
        Added this method to wrap destroy() call and trim the render tree. To avoid slowing down
        detach in some cases, added a fast path.

        * rendering/RenderObject.h: Added destroyAndCleanupAnonymousWrappers.

2012-02-17  Rob Buis  <rbuis@rim.com>

        ASSERT (and crash) with dynamically moved <font-face>
        https://bugs.webkit.org/show_bug.cgi?id=64839

        Reviewed by Antti Koivisto.

        Reset the style declaration when rmeoving the font-face element from the document.

        Test: svg/custom/font-face-move.svg

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::removedFromDocument):

2012-02-17  Martin Robinson  <mrobinson@igalia.com>

        Fix some warnings encountered during the GTK+ build
        https://bugs.webkit.org/show_bug.cgi?id=78911

        Reviewed by Xan Lopez.

        No new tests. These are just fixes for warnings.

        * page/GestureTapHighlighter.cpp: Avoid using potentially signed operations on
        a size_t type. Use size_t for iterating over members of a vector.
        * platform/graphics/texmap/TextureMapperBackingStore.cpp: Use size_t where necessary.
        (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): Ditto.
        * platform/graphics/texmap/TextureMapperLayer.cpp: Ditto.
        (WebCore::TextureMapperLayer::computeTransformsRecursive): Ditto.
        (WebCore::TextureMapperLayer::paintSelfAndChildren): Ditto.
        (WebCore::TextureMapperLayer::intermediateSurfaceRect): Ditto.

2012-02-17  Tim Dresser  <tdresser@chromium.org>

        [chromium] Refactor video drawing to be more data driven
        https://bugs.webkit.org/show_bug.cgi?id=76720

        Reviewed by James Robinson.

        CCVideoLayerImpl no longer handles drawing itself, but produces a list of CCVideoDrawQuads.
        These quads are then drawn by LayerRendererChromium.

        CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
        CCLayerImpl::didDraw() is called directly after all drawing has been completed.
        CCLayerImpl::draw has been removed.

        willDraw and didDraw are used to handle interaction with the VideoFrameProvider
        in CCVideoLayerImpl. willDraw gets a frame from the VideoFrameProvider, and
        didDraw returns it.

        A unit test has been added: CCLayerTreeHostImplTest.didDrawCalledOnAllLayers.
        This test ensures that CCLayerImpl::didDraw() is called on all layers,
        including layers on different render surfaces.

        As this was a refactor, no other tests were added.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawYUV):
        (WebCore):
        (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
        (WebCore::LayerRendererChromium::drawRGBA):
        (WebCore::LayerRendererChromium::drawNativeTexture):
        (WebCore::LayerRendererChromium::copyFrameToTextures):
        (WebCore::LayerRendererChromium::copyPlaneToTexture):
        (WebCore::LayerRendererChromium::drawVideoQuad):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::didDraw):
        (CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
        (WebCore::CCVideoDrawQuad::create):
        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
        * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
        (CCVideoDrawQuad):
        (WebCore::CCVideoDrawQuad::textures):
        (WebCore::CCVideoDrawQuad::frame):
        (WebCore::CCVideoDrawQuad::format):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::willDraw):
        (WebCore::CCVideoLayerImpl::appendQuads):
        (WebCore::CCVideoLayerImpl::didDraw):
        (WebCore::CCVideoLayerImpl::computeVisibleSize):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (CCVideoLayerImpl):
        (WebCore::CCVideoLayerImpl::providerMutex):
        (WebCore::CCVideoLayerImpl::provider):
        (Texture):

2012-02-17  Stephen Chenney  <schenney@chromium.org>

        Crash at WebCore::SVGUseElement::expandSymbolElementsInShadowTree
        https://bugs.webkit.org/show_bug.cgi?id=77639

        Reviewed by Nikolas Zimmermann.

        Fix a SVG crash in Release builds, although it still crashes in Debug builds.
        The crash occurred when an SVG use element attempted to reference a style element while the file
        contained an error causing the error banner to display. The fix is to prevent SVGUseElement
        from recalculating style during tree building and return immediately when style is recalculated and
        the tree is building.

        Test: svg/custom/use-referencing-style-crash.svg

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::willRecalcStyle): Return false if the tree is being built.
        (WebCore::SVGUseElement::didRecalcStyle): Check and return if the tree
        is being built and we are not yet ready for style update.

2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed, rolling out r108077.
        http://trac.webkit.org/changeset/108077
        https://bugs.webkit.org/show_bug.cgi?id=78390

        it broke compilation.

        * inspector/CodeGeneratorInspector.py:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::getFunctionDetails):
        (WebCore::InjectedScript::getProperties):
        (WebCore::InjectedScript::wrapCallFrames):
        * inspector/InjectedScript.h:
        (InjectedScript):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        (WebCore::InspectorDebuggerAgent::currentCallFrames):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):

2012-02-17  Florin Malita  <fmalita@google.com>

        chrome.dll!WebCore::SVGTRefElement::updateReferencedText ReadAV@NULL (e85cb8e140071fa7790cad215b0109dc)
        https://bugs.webkit.org/show_bug.cgi?id=74858

        Reviewed by Nikolas Zimmermann.

        Tests: svg/custom/tref-remove-target-crash-expected.svg
               svg/custom/tref-remove-target-crash.svg

        Add a DOMNodeRemovedFromDocumentEvent listener to detect when the target element is removed. Upon removal,
        cleanup all listeners and re-activate the pending resource to attach if the referenced ID is added
        at a later time programmatically. Also move the DOMSubtreeModifiedEvent listener from the parent to
        the target element to simplify the implementation and reduce the scope.

        * svg/SVGTRefElement.cpp:
        (WebCore::TargetListener::create):
        (WebCore::TargetListener::cast):
        (WebCore::TargetListener::clear):
        (WebCore::TargetListener::TargetListener):
        (WebCore::TargetListener::operator==):
        (WebCore::TargetListener::handleEvent):
        (WebCore::SVGTRefElement::detachTarget):
        (WebCore::SVGTRefElement::buildPendingResource):
        * svg/SVGTRefElement.h:

2012-02-17  Simon Fraser  <simon.fraser@apple.com>

        Fix the build after r108077.

        * inspector/CodeGeneratorInspector.py:
        (RawTypes.Any.generate_validate_method):

2012-02-17  Simon Fraser  <simon.fraser@apple.com>

        Avoid using a transparency layer for rgba() border drawing when possible
        https://bugs.webkit.org/show_bug.cgi?id=63176

        Reviewed by Dan Bernstein.
        
        The non-radiused border drawing code would use a transparency layer
        when drawing any one or more borders with alpha colors. However,
        we only need to use a transparency layer when there is a corner
        join between the borders being rendered with any one color,
        so add a utility function includesAdjacentEdges() that can tell us
        that, and use it to avoid making extraneous transparency layers.

        Optimization only, no new tests.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::includesAdjacentEdges):
        (WebCore):
        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):

2012-02-17  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: Qt minimal build fix.

        * inspector/InjectedScript.h:
        (WebCore):

2012-02-17  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: Switch Debugger agent to TypeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=78390

        Reviewed by Vsevolod Vlasov.

        Client code is switched to TypeBuilder.

        * inspector/CodeGeneratorInspector.py:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::getFunctionDetails):
        (WebCore::InjectedScript::getProperties):
        (WebCore::InjectedScript::wrapCallFrames):
        * inspector/InjectedScript.h:
        (InjectedScript):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        (WebCore::InspectorDebuggerAgent::currentCallFrames):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):

2012-02-17  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: hide color picker on selected node update.
        https://bugs.webkit.org/show_bug.cgi?id=78896

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/Spectrum.js:
        (WebInspector.Spectrum.prototype.get visible):
        (WebInspector.Spectrum.prototype.toggle):
        (WebInspector.Spectrum.prototype.show):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):

2012-02-17  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: check undo-redo boundaries based on current action index, not history size.
        https://bugs.webkit.org/show_bug.cgi?id=78895

        Reviewed by Vsevolod Vlasov.

        Tests: inspector/elements/perform-undo-undo.html
               inspector/styles/perform-undo-perform-of-mergable-action.html

        * inspector/InspectorHistory.cpp:
        (WebCore::InspectorHistory::perform):

2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed, rolling out r108071.
        http://trac.webkit.org/changeset/108071
        https://bugs.webkit.org/show_bug.cgi?id=77155

        chromium-mac compilation failed

        * platform/graphics/chromium/Extensions3DChromium.h:

2012-02-17  Michal Mocny  <mmocny@google.com>

        [chromium] GL_CHROMIUM_gpu_memory_manager extension
        https://bugs.webkit.org/show_bug.cgi?id=77155

        Reviewed by James Robinson.

        * platform/graphics/chromium/Extensions3DChromium.h:
        (GpuMemoryAllocationChangedCallbackCHROMIUM):
        (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
        (Extensions3DChromium):

2012-02-17  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [CMake, EFL] Unreviewed, fix the build when building with
        SHARED_CORE=ON after r107820.

        RunLoopEfl.cpp has not been upstreamed yet, and building only
        RunLoop.cpp created an .so with some missing, unimplemented
        symbols. The BlackBerry port seems to be in the same situation.

        The best solution for now is to build RunLoop.cpp only on the
        WinCE port.

        * CMakeLists.txt: Remove RunLoop.cpp from the list of files to build.
        * PlatformWinCE.cmake: Add RunLoop.cpp to the list of files to build.

2012-02-17  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: a bit of color picker polish
        https://bugs.webkit.org/show_bug.cgi?id=78892

        - Fixed computed style swatch
        - Removed color: caption
        - Rendered value as source code, user-selectable
        - Removed scroller gap

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/Popover.js:
        (WebInspector.Popover.prototype.setCanShrink):
        (WebInspector.Popover.prototype._positionElement):
        * inspector/front-end/Spectrum.js:
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
        * inspector/front-end/elementsPanel.css:
        (.spectrum-container):
        (.spectrum-display-value):
        (.spectrum-range-container):
        * inspector/front-end/popover.css:
        (.popover .content.fixed-height):

2012-02-17  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: color picker does not allow changing the color.
        https://bugs.webkit.org/show_bug.cgi?id=78886

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
        * inspector/front-end/Popover.js:
        (WebInspector.Popover.prototype.setCanShrink):
        (WebInspector.Popover.prototype._positionElement):
        * inspector/front-end/Settings.js:
        * inspector/front-end/Spectrum.js:
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):

2012-02-17  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: new image preview has poorly positioned popover arrow.
        https://bugs.webkit.org/show_bug.cgi?id=78884

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/Popover.js:
        (WebInspector.Popover.prototype._positionElement):
        * inspector/front-end/utilities.js:
        (Element.prototype.boxInWindow):

2012-02-17  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: enable "Single click CSS editing" experiment by default.
        https://bugs.webkit.org/show_bug.cgi?id=78881

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/elementsPanel.css:
        (.styles-section .properties .enabled-button):

2012-02-17  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: split innerUpdate into rebuildUpdate and refreshUpdate, make computed styles load lazily.
        https://bugs.webkit.org/show_bug.cgi?id=78827

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylesSidebarPane.prototype._refreshUpdate.computedStyleCallback):
        (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._validateNode):
        (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
        (WebInspector.StylesSidebarPane.prototype._attributesModified):
        (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
        (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
        (WebInspector.StylesSidebarPane.prototype._innerRefreshUpdate):
        (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
        (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
        (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
        (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
        (WebInspector.ComputedStyleSidebarPane.prototype.expand):
        (WebInspector.StylePropertyTreeElement.prototype):

2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][WK2] Allow partial updates
        https://bugs.webkit.org/show_bug.cgi?id=78824

        BitmapTextureGL should not zero-fill the textures when resetting.
        This was needed in the previous buffer management system, where texture were not completely
        filled by the backing store.

        Reviewed by Simon Hausmann.

        No new behavior.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (BitmapTextureGL):
        (WebCore::texSubImage2DResourceSafe):
        (WebCore):
        (WebCore::BitmapTextureGL::reset):

2012-02-17  Yosifumi Inoue  <yosin@chromium.org>

        [Forms] Integrate InputType::dispatchChangeEventInResponseToSetValue into InputType::setValue
        https://bugs.webkit.org/show_bug.cgi?id=78873

        Reviewed by Kent Tamura.

        This patch moves event dispatch logic to InputType and TextFieldInputType from HTMLInputElement
        and merge dispatchChangeEventInResponseToSetValue to setValue.

        No new tests. No change in behavior.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue): Move dispatch logic to InputType and TextFieldInput.
        * html/InputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
        * html/InputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
        (WebCore::InputType::setValue): Move code from dispatchChangeEventInResponseToSetValue.
        * html/TextFieldInputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
        * html/TextFieldInputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
        (WebCore::TextFieldInputType::setValue): Move code from dispatchChangeEventInResponseToSetValue. Stop dispatching event in InputType::setValue.
        * html/HTMLTextFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent to public from protected for accessing from InputType class.

2012-02-17  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Mac build fix after r108047.

        * WebCore.xcodeproj/project.pbxproj:

2012-02-16  Andreas Kling  <awesomekling@apple.com>

        Removing the last presentation attribute should result in a null attributeStyle().
        <http://webkit.org/b/78812>

        Reviewed by Antti Koivisto.

        If the collectStyleForAttribute() pass in updateAttributeStyle() doesn't encounter any
        respected presentation attributes, set a null attributeStyle() instead of an empty one.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateAttributeStyle):

2012-02-16  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: use static counters for estimation of allocated Documents, Nodes and JS EventListeners
        https://bugs.webkit.org/show_bug.cgi?id=78825

        Introduced static counters of allocated Documents, Nodes and JS EventListeners.
        Their values are displayed on the Timeline panel.

        Reviewed by Pavel Feldman.

        * CMakeLists.txt:
        * English.lproj/localizedStrings.js:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::~JSEventListener):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
        (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        * dom/Document.h:
        (WebCore::Node::Node):
        * dom/Node.cpp:
        (WebCore::Node::~Node):
        * inspector/InspectorAllInOne.cpp:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorCounters.cpp: Added.
        (WebCore):
        (WebCore::InspectorCounters::counterValue):
        * inspector/InspectorCounters.h: Added.
        (WebCore):
        (InspectorCounters):
        (WebCore::InspectorCounters::incrementCounter):
        (WebCore::InspectorCounters::decrementCounter):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::didCallFunction):
        (WebCore::InspectorTimelineAgent::didDispatchEvent):
        (WebCore::InspectorTimelineAgent::didWriteHTML):
        (WebCore::InspectorTimelineAgent::didFireTimer):
        (WebCore::InspectorTimelineAgent::didEvaluateScript):
        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        * inspector/InspectorTimelineAgent.h:
        (WebCore):
        (WebCore::InspectorTimelineAgent::create):
        (InspectorTimelineAgent):
        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.MemoryStatistics):
        (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
        (WebInspector.MemoryStatistics.prototype._draw.getDocumentCount):
        (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):

2012-02-16  Cris Neckar  <cdn@chromium.org>

        Correct a misleading comment regarding string delimiters in CSS parsing.
        https://bugs.webkit.org/show_bug.cgi?id=78521

        Reviewed by Zoltan Herczeg.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::lex):

2012-02-16  Martin Robinson  <mrobinson@igalia.com>

        Fix the TextureMapper build for GTK+.

        No new tests. This is just a build fix.

        * GNUmakefile.list.am: Add missing files to the build and change spaces to tabs.

2012-02-16  Daniel Bates  <dbates@webkit.org>

        Add ENABLE(STYLE_SCOPED) around HTMLStyleElement::m_isRegisteredWithScopingNode 

        The instance variable HTMLStyleElement::m_isRegisteredWithScopingNode is only
        referenced from within ENABLE(STYLE_SCOPED)-guarded code. We should add this
        guard around its declaration.

        * html/HTMLStyleElement.h:
        (HTMLStyleElement):

2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>

        [v8] v8 doesn't assume to do 'new WebKitShadowRoot(host)'
        https://bugs.webkit.org/show_bug.cgi?id=78875

        Reviewed by Kentaro Hara.

        Since v8 does not assume that we do 'new WebkitShadowRoot(host)', a wrapper object for new WebKitShadowRoot(host)
        was saved in DOMObject storage instead of DOMNode storage.

        CodeGenerator should handle with DOMNode correctly to solve the problem.

        Test: fast/dom/shadow/shadow-root-new.html

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorCallback):

2012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed rollout r107952 because it broke shadow-boundary-events.html and related-target-focusevent.html on mac.
        see http://webkit.org/b/78832

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/EventDispatchMediator.cpp:
        (WebCore::FocusEventDispatchMediator::create):
        (WebCore):
        (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
        (WebCore::FocusEventDispatchMediator::dispatchEvent):
        (WebCore::BlurEventDispatchMediator::create):
        (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
        (WebCore::BlurEventDispatchMediator::dispatchEvent):
        * dom/EventDispatchMediator.h:
        (FocusEventDispatchMediator):
        (WebCore):
        (BlurEventDispatchMediator):
        * dom/EventFactory.in:
        * dom/FocusEvent.cpp: Removed.
        * dom/FocusEvent.h: Removed.
        * dom/FocusEvent.idl: Removed.
        * dom/Node.cpp:
        (WebCore::Node::dispatchFocusInEvent):
        (WebCore::Node::dispatchFocusOutEvent):
        * dom/UIEvent.cpp:
        (WebCore::FocusInEventDispatchMediator::create):
        (WebCore):
        (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
        (WebCore::FocusInEventDispatchMediator::dispatchEvent):
        (WebCore::FocusOutEventDispatchMediator::create):
        (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
        (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
        * dom/UIEvent.h:
        (FocusInEventDispatchMediator):
        (WebCore):
        (FocusOutEventDispatchMediator):
        * page/DOMWindow.idl:

2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>

        Another fix for viewport tests

        No new tests.

        * dom/ViewportArguments.cpp:
        (WebCore::numericPrefix): When we don't parse a number, we could either be 
        trying to parse junk, which returns NaN, or we could get an empty string, 
        which returns 0, so we need to account for that in the assert.

2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>

        Another build fix for viewport tests

        No new tests.

        * dom/ViewportArguments.cpp:
        (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
        parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
        we have NaN rather than 0.

2012-02-16  Alexandre Elias  <aelias@google.com>

        [chromium] Bundle page scale factor and limits in CCLayerTreeHost
        https://bugs.webkit.org/show_bug.cgi?id=78762

        Setting page scale factor and its limits in separate methods
        may cause clamping bugs if one of them makes it to the
        impl thread before the other.  Change the API to bundle them together,
        which matches the existing impl-side interface.

        Reviewed by James Robinson.

        No new tests (API change will disallow this type of bug).

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::setPageScaleFactorAndLimits):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):

2012-02-16  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::JSTestEventConstructorConstructor::finishCreation):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::finishCreation):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjConstructor::finishCreation):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):

2012-02-16  Sami Kyostila  <skyostil@chromium.org>

        [chromium] LayerChromium::setNeedsDisplay does not apply contents scale correctly
        https://bugs.webkit.org/show_bug.cgi?id=77464

        Use bounds() instead of contentBounds() to calculate the region to mark
        as needing painting in LayerChromium::setNeedsDisplay(). contentBounds()
        includes contents scale, while bounds() does not.

        Since this change also means that TiledLayerChromium::setNeedsDisplayRect() is
        given an unscaled rectangle, modify that function to scale the rectangle before
        using it to invalidate the underlying tiles.

        Reviewed by James Robinson.

        Tests: New tests added to LayerChromium and TiledLayerChromium unit tests.

        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setNeedsDisplay):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::setNeedsDisplayRect):

2012-02-16  Raymond Liu  <raymond.liu@intel.com>

        Lazy init for DefaultAudioDestinationNode and OfflineAudioDestinationNode
        https://bugs.webkit.org/show_bug.cgi?id=76509

        Reviewed by Eric Seidel.

        No new tests required.

        * webaudio/AudioDestinationNode.h:
        * webaudio/AudioNode.h:
        (WebCore::AudioNode::sampleRate):
        * webaudio/DefaultAudioDestinationNode.cpp:
        (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
        * webaudio/DefaultAudioDestinationNode.h:
        * webaudio/OfflineAudioDestinationNode.cpp:
        (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
        * webaudio/OfflineAudioDestinationNode.h:
        (WebCore::OfflineAudioDestinationNode::sampleRate):

2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>

        [Refactoring] Remove location from NodeRenderingContext.
        https://bugs.webkit.org/show_bug.cgi?id=78796

        Reviewed by Hajime Morita.

        This is a simple refactoring to remove m_location from NodeRenderingContext.
        TreeLocation is merged into AttachPhase like the following.
            LocationUndertermined -> Calculating
            LocationNotInTree -> AttachingNotInTree
            LocationLightChild -> AttachingStraight / AttachingNotDistributed / AttachingDistributed
            LocationShadowChild -> AttachingStraight / AttachingShadowChild / AttachingFallback

        We have renamed the enum items of AttachPhase, because not only <content> but also
        <shadow> will use the phases. Basically these words are taken from Shadow DOM spec.
        'Calculating' means NodeRenderingContext is used not for attaching but for calculating RenderObject.

        No new tests, no change in behavior.

        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::previousRenderer):
        (WebCore::NodeRenderingContext::parentRenderer):
        (WebCore::NodeRenderingContext::shouldCreateRenderer):
        * dom/NodeRenderingContext.h:
        (NodeRenderingContext):
        (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):

2012-02-16  Kent Tamura  <tkent@chromium.org>

        Run sort-Xcode-project-file.

        * WebCore.xcodeproj/project.pbxproj: Sorted.

2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>

        Another build fix for viewport tests

        No new tests.

        * dom/ViewportArguments.cpp:
        (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
        parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
        we have NaN rather than 0.

2012-02-15  Michael Nordman  <michaeln@google.com>

        [chromium] Fix bugs in the implementation of WebDatabase::closeDatabaseImmediately.
        https://bugs.webkit.org/show_bug.cgi?id=78841

        WebDatabase now delegates this function entirely to DatabaseTracker,
        a new closeDatabasesImmediately() has been added for that purpose. That
        method posts tasks to the appropiate context thread for each database
        instance that should be closed immediately.

        The DatabaseTracker getAllOpenDatabases() method has been removed from
        the chromium impl because it's unsafe, refs cannot be safely taken on
        AbstractDatabase instances in the tracker's collection of open databases.

        Add a message to the console log when a database is forcibly closed.

        Transactions initiated on a database instance that has been forcibly
        closed complete with a transaction error callback.
        
        This is part of resolving http://crbug.com/98939

        Reviewed by David Levin.

        No new layout tests, there is no common code way to closeImmediately.
        We have coverage for this in py automation tests.

        * platform/sql/SQLiteDatabase.cpp:
        The closeImmediately code path can result in the underlying sqlite3 handle being
        closed earlier than usual and trip some assertions. Updated the assertions to no
        longer trigger in this early close case.
        (WebCore::SQLiteDatabase::close):
        (WebCore::SQLiteDatabase::setMaximumSize):
        * platform/sql/SQLiteDatabase.h:
        (WebCore::SQLiteDatabase::sqlite3Handle):

        * storage/Database.cpp:
        (WebCore::Database::closeImmediately): Modified to only be called on the context thread and to log a console message.
        (WebCore::Database::changeVersion): Use the private runTransaction helper method.
        (WebCore::Database::transaction): Pass a new param required by the runTransaction helper.
        (WebCore::Database::readTransaction): Ditto.
        (WebCore::callTransactionErrorCallback): Used to defer invocation of the error callback.
        (WebCore::Database::runTransaction): Modified to detect when the database has been closed, and
        to invoke the error callback in that case. This also avoids creating a reference cycle between
        a newly created transaction and the database that previously existed due to a transction being
        added and never removed from the Q while in this state.
        * storage/Database.h:
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::closeImmediately): Modified to only be called on the context thread and to log a console message.
        * storage/DatabaseTracker.h:

        * storage/chromium/DatabaseTrackerChromium.cpp:
        Posts tasks to the appropiate context thread for execution without bumping AbstractDatabase refcounts.
        (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
        (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
        (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::performTask):
        (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
        (WebCore::DatabaseTracker::closeDatabasesImmediately): 
        (WebCore::DatabaseTracker::closeOneDatabaseImmediately):

2012-02-16  Dana Jansens  <danakj@chromium.org>

        [Chromium] Occlusion tracking with CSS filters
        https://bugs.webkit.org/show_bug.cgi?id=77498

        Reviewed by James Robinson.

        The new CSS filter support within the compositor changes how
        occlusion tracking needs to function. A filter can change the
        alpha value of pixels, making an otherwise opaque pixel no
        longer so. Secondly, a filter may move color values around
        on a surface, which can cause otherwise occluded areas to
        become visible and require painting.

        New unit tests: CCLayerTreeHostTest.cpp

        Tests: compositing/culling/filter-occlusion-alpha-large.html
               compositing/culling/filter-occlusion-alpha.html
               compositing/culling/filter-occlusion-blur-large.html
               compositing/culling/filter-occlusion-blur.html

        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::setFilters):
        (WebCore::RenderSurfaceChromium::filters):
        (WebCore::RenderSurfaceChromium::setNearestAncestorThatMovesPixels):
        (WebCore::RenderSurfaceChromium::nearestAncestorThatMovesPixels):
        (RenderSurfaceChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::enterTargetRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::subtreeShouldRenderToSeparateSurface):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::CCRenderSurface):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (WebCore::CCRenderSurface::setNearestAncestorThatMovesPixels):
        (WebCore::CCRenderSurface::nearestAncestorThatMovesPixels):
        (CCRenderSurface):
        * platform/graphics/filters/FilterOperation.h:
        (FilterOperation):
        (WebCore::FilterOperation::affectsOpacity):
        (WebCore::FilterOperation::movesPixels):
        (WebCore::ReferenceFilterOperation::affectsOpacity):
        (WebCore::ReferenceFilterOperation::movesPixels):
        (ReferenceFilterOperation):
        (WebCore::BasicComponentTransferFilterOperation::affectsOpacity):
        (BasicComponentTransferFilterOperation):
        (WebCore::BlurFilterOperation::affectsOpacity):
        (WebCore::BlurFilterOperation::movesPixels):
        (BlurFilterOperation):
        (WebCore::DropShadowFilterOperation::affectsOpacity):
        (DropShadowFilterOperation):
        * platform/graphics/filters/FilterOperations.cpp:
        (WebCore::FilterOperations::hasFilterThatAffectsOpacity):
        (WebCore):
        (WebCore::FilterOperations::hasFilterThatMovesPixels):
        * platform/graphics/filters/FilterOperations.h:
        (WebCore::FilterOperations::isEmpty):
        (FilterOperations):

2012-02-16  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Adapt to the removal of WebStringIml.h
        https://bugs.webkit.org/show_bug.cgi?id=78784

        Reviewed by Antonio Gomes.

        WebKit/blackberry/WebCoreSupport/WebStringImpl.h which hasn't been upstreamed
        has been removed internally. We should adapt to this removal for the
        upstreamed part of the BlackBerry port. Actually WebStringImpl is not necessary
        because it just inherits from WTF::StringImpl but adding nothing.

        No functionalities changed, no new tests.

        * platform/text/blackberry/StringBlackBerry.cpp:
        (WTF::String::operator WebString):

2012-02-15  Geoffrey Garen  <ggaren@apple.com>

        Made Weak<T> single-owner, adding PassWeak<T>
        https://bugs.webkit.org/show_bug.cgi?id=78740

        Reviewed by Sam Weinig.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::jsStringSlowCase): Use PassWeak<T>, as required by our new
        hash map API.

        * bindings/js/JSDOMBinding.h:
        (WebCore::getCachedWrapper):
        (WebCore::cacheWrapper): Use PassWeak<T> and raw pointer, as required by
        our new hash map API.

        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::setWrapper):
        * bindings/js/ScriptWrappable.h:
        (WebCore::ScriptWrappable::setWrapper):
        * bridge/jsc/BridgeJSC.cpp:
        (JSC::Bindings::Instance::createRuntimeObject):
        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::addRuntimeObject): Use PassWeak<T>, as
        required by our new hash map and Weak<T> APIs.

2012-02-16  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in visiblePositionForIndex
        https://bugs.webkit.org/show_bug.cgi?id=77683

        Reviewed by Eric Seidel.

        Fixed the crash.

        Test: editing/execCommand/applyblockelement-visiblepositionforindex-crash.html

        * editing/ApplyBlockElementCommand.cpp:
        (WebCore::ApplyBlockElementCommand::doApply):
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply):
        * editing/htmlediting.cpp:
        (WebCore::indexForVisiblePosition):
        * editing/htmlediting.h:
        (WebCore):

2012-02-16  Matthew Delaney  <mdelaney@apple.com>

        ShadowBlur.cpp's cached content matching needs to consider m_layerSize changes
        https://bugs.webkit.org/show_bug.cgi?id=78765

        Reviewed by Simon Fraser.

        No new tests due to the flaky nature of reproducing the issue.

        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ScratchBuffer::getScratchBuffer): Make sure to call clearScratchBuffer()
        when we create a new ImageBuffer in order to invalidate cached values.
        (WebCore::ScratchBuffer::setCachedShadowValues): Roll together matching and setting
        of cached values into one method to enforce them being the same.
        (WebCore::ScratchBuffer::setCachedInsetShadowValues): Ditto.

        Restructure to use new method described above.
        (WebCore::ShadowBlur::drawRectShadowWithoutTiling): 
        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
        (WebCore::ShadowBlur::drawRectShadowWithTiling):
        (WebCore::ShadowBlur::beginShadowLayer):

2012-02-16  Dana Jansens  <danakj@chromium.org>

        [chromium] Empty divs not transforming overflow correctly
        https://bugs.webkit.org/show_bug.cgi?id=78850

        Reviewed by James Robinson.

        Test: compositing/overflow/transform-in-empty-container.html

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setSize):

2012-02-16  Emil A Eklund  <eae@chromium.org>

        Fix use of long long in FractionalLayoutUnit::setRawValue
        https://bugs.webkit.org/show_bug.cgi?id=78835

        Reviewed by Eric Seidel.

        Change setRawValue(long long) to compare against int min and max instead
        of using abs as not all platforms we support implement a long long
        version of abs or llabs.

        No new tests.

        * platform/FractionalLayoutUnit.h:
        (WebCore::FractionalLayoutUnit::setRawValue):
        Compare against int min/max instead of just max with abs.
        
        (WebCore::FractionalLayoutUnit::isInBounds):
        Fix type mismatch warning.
        
        (WebCore::operator==):
        Fix typo.
        
        (WebCore::operator*):
        Use long long version of setRawValue.

2012-02-15  Shinya Kawanaka  <shinyak@chromium.org>

        Add an internal flag to accept multiple shadow roots for the purpose of tests.
        https://bugs.webkit.org/show_bug.cgi?id=78453

        Reviewed by Hajime Morita.

        This patch introduces a flag to enable multiple shadow subtrees.
        This flag is intended to be used for testing purpose for a while.
        We will remove it later.

        No new tests, no change in behavior.

        * WebCore.exp.in:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * bindings/generic/RuntimeEnabledFeatures.h:
        (RuntimeEnabledFeatures):
        (WebCore::RuntimeEnabledFeatures::multipleShadowSubtreesEnabled):
        (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
        * dom/ShadowRootList.cpp:
        (WebCore::ShadowRootList::pushShadowRoot):
        * testing/Internals.cpp:
        (WebCore::Internals::setMultipleShadowSubtreesEnabled):
        (WebCore):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>

        Fix the broken viewport tests
        https://bugs.webkit.org/show_bug.cgi?id=78774

        Reviewed by Kenneth Rohde Christiansen.

        No new tests.

        * dom/ViewportArguments.cpp:
        (WebCore::numericPrefix): Changed to use the new charactersToFloatWithJunk function(s).

2012-02-16  Cris Neckar  <cdn@chromium.org>

        Very large strings could cause the new quoted string to wrap.
        https://bugs.webkit.org/show_bug.cgi?id=78387

        Reviewed by Eric Seidel.

        * css/CSSParser.cpp:
        (WebCore::quoteCSSString):

2012-02-16  Eric Seidel  <eric@webkit.org>

        Add a themeChromiumAndroid.css file for android-specific default styles
        https://bugs.webkit.org/show_bug.cgi?id=78547

        Reviewed by Adam Barth.

        This includes the themeChromiumAndroid.css file from the Chromium-Android port
        as well as some addidtional changes they had to html.css.  I believe those
        changes were made before themeChromiumAndroid was created, but it's now the better place for this CSS.

        * WebCore.gyp/WebCore.gyp:
        * css/themeChromiumAndroid.css: Added.
        (select[size][multiple]):
        (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):
        * rendering/RenderThemeChromiumAndroid.cpp:
        (WebCore::RenderThemeChromiumAndroid::extraDefaultStyleSheet):
        (WebCore):
        * rendering/RenderThemeChromiumAndroid.h:
        (RenderThemeChromiumAndroid):
        (WebCore::RenderThemeChromiumAndroid::delegatesMenuListRendering):
        (WebCore::RenderThemeChromiumAndroid::platformTapHighlightColor):

2012-02-16  Brady Eidson  <beidson@apple.com>

        <rdar://problem/10616280> and https://bugs.webkit.org/show_bug.cgi?id=78767
        REGRESSION (r90471) - iAd Producer 2.0.1 produces blank pages

        Reviewed by Sam Weinig.

        No new tests. (Subtle API change attached to a specific application)

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::isLoadingInAPISense): Return true if the app needs the quirk
        and there are outstanding subresource loads.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setNeedsIsLoadingInAPISenseQuirk):
        (WebCore::Settings::needsIsLoadingInAPISenseQuirk):
        (Settings):

2012-02-16  Kentaro Hara  <haraken@chromium.org>

        Remove [ConvertScriptString] from FileReaderSync.idl
        https://bugs.webkit.org/show_bug.cgi?id=78335

        Reviewed by Eric Seidel.

        The spec says that FileReadSync should throw NOT_FOUND_ERR
        if a given blob is invalid: http://www.w3.org/TR/FileAPI/#FileReaderSync

        By this fix, we can completely remove [ConvertScriptString] from WebKit.

        Tests: fast/files/workers/worker-read-blob-sync.html
               fast/files/workers/worker-read-file-sync.html

        * fileapi/FileReaderSync.cpp: Modified to throw NOT_FOUND_ERR if a blob is invalid.
        (WebCore::FileReaderSync::readAsArrayBuffer):
        (WebCore::FileReaderSync::readAsBinaryString):
        (WebCore::FileReaderSync::readAsText):
        (WebCore::FileReaderSync::readAsDataURL):
        * fileapi/FileReaderSync.idl:

        * bindings/scripts/CodeGeneratorJS.pm: Removed [ConvertScriptString]
        since no one is using it.
        (NativeToJSValue):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        (NativeToJSValue):

        * bindings/scripts/test/TestObj.idl: Removed a test case for [ConvertScriptString].

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):


2012-02-16  Dana Jansens  <danakj@chromium.org>

        [chromium] Clipping/Transforms applied in wrong order in opaque paint tracking
        https://bugs.webkit.org/show_bug.cgi?id=78775

        Reviewed by Stephen White.

        The clip was being applied in device coordinates, before transforming the painted
        rect into device coordinates. This made any translations get doubly represented,
        and gave incorrect paint tracking results.

        Test: compositing/culling/unscrolled-within-boxshadow.html

        Unit test: PlatformContextSkiaTest.cpp

        * platform/graphics/skia/OpaqueRegionSkia.cpp:
        (WebCore::OpaqueRegionSkia::didDraw):

2012-02-16  Abhishek Arya  <inferno@chromium.org>

        Crash with tables in multi-column layout.
        https://bugs.webkit.org/show_bug.cgi?id=78415

        Reviewed by Julien Chaffraix.

        Multi-column code creates anonymous column blocks directly
        under RenderTable, thereby violating table layout assumption.
        E.g. Captions in this testcase gets reparented to these anonymous
        column blocks and when they go away, they are not able to clear
        themselves from table's m_captions list (since RenderTable::removeChild
        is not called).

        Test: fast/multicol/span/table-multi-column-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::containingColumnsBlock):

2012-02-16  ChangSeok Oh  <shivamidow@gmail.com>

        [GTK] File system api build is broken
        https://bugs.webkit.org/show_bug.cgi?id=78479

        Reviewed by Philippe Normand.

        This patch is a small step to support FileSystem API for GTK port.
        As I know, bug58443 also dealt with it, but it looks like the submitted patch
        needs to be updated. To do that, I think I need to discuss with the original author.
        So, I hope to just fix build break issue in this bug.

        No new tests. Implementing the feature is not done yet.

        * GNUmakefile.list.am: Added some missing files.
        * bindings/js/JSDirectoryEntryCustom.cpp: Added Error.h to use its API.
        * platform/AsyncFileSystem.cpp:
        (WebCore):
        (WebCore::AsyncFileSystem::create): The arguments don't match the declaration in AsyncFileSystem.h.
        * platform/gtk/AsyncFileSystemGtk.cpp: Added.
        (WebCore):
        (WebCore::AsyncFileSystem::isAvailable):
        (WebCore::AsyncFileSystem::isValidType):
        (WebCore::AsyncFileSystem::create):
        (WebCore::AsyncFileSystem::openFileSystem):
        (WebCore::AsyncFileSystem::crackFileSystemURL):
        (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
        (WebCore::AsyncFileSystemGtk::~AsyncFileSystemGtk):
        (WebCore::AsyncFileSystemGtk::toURL):
        (WebCore::AsyncFileSystemGtk::move):
        (WebCore::AsyncFileSystemGtk::copy):
        (WebCore::AsyncFileSystemGtk::remove):
        (WebCore::AsyncFileSystemGtk::removeRecursively):
        (WebCore::AsyncFileSystemGtk::readMetadata):
        (WebCore::AsyncFileSystemGtk::createFile):
        (WebCore::AsyncFileSystemGtk::createDirectory):
        (WebCore::AsyncFileSystemGtk::fileExists):
        (WebCore::AsyncFileSystemGtk::directoryExists):
        (WebCore::AsyncFileSystemGtk::readDirectory):
        (WebCore::AsyncFileSystemGtk::createWriter):
        * platform/gtk/AsyncFileSystemGtk.h: Added.
        (WebCore):
        (AsyncFileSystemGtk):

2012-02-16  Adrienne Walker  <enne@google.com>

        Handle dirty descendant visibility status in RenderLayer::updateLayerPositionsAfterScroll
        https://bugs.webkit.org/show_bug.cgi?id=78286

        Reviewed by Julien Chaffraix.

        This is an unfortunate bandaid over a corner case where sometimes the
        visible descendant status dirty flag is true when this function is
        called from FrameView::repaintFixedElementsAfterScrolling. As it
        should be cheap to refresh this flag when dirty in most cases (as it
        early outs after finding any visible descendant), just lazily update
        the dirty flag here to ensure correctness.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):

2012-02-16  Adam Barth  <abarth@webkit.org>

        Chrome::*Geolocation* are just useless pass-throughs to ChromeClient and should be removed
        https://bugs.webkit.org/show_bug.cgi?id=78844

        Reviewed by Eric Seidel.

        These function serve no useful purpose and should be removed.

        * page/Chrome.cpp:
        (WebCore):
        * page/Chrome.h:
        (Chrome):
        * page/Geolocation.cpp:
        (WebCore::Geolocation::reset):
        (WebCore::Geolocation::requestPermission):

2012-02-16  Sergio Villar Senin  <svillar@igalia.com>

        [soup] Move important SoupSession feature initialization to WebCore
        https://bugs.webkit.org/show_bug.cgi?id=68602

        Reviewed by Martin Robinson.

        Moved content sniffer and decoder initialization from WebKit to
        WebCore because network stuff will not work as expected without
        them. Added also out-of-the-box proxy support to WebCore.

        No new tests required as we're just moving stuff from WebKit to
        WebCore.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::defaultSession):

2012-02-16  Julien Chaffraix  <jchaffraix@webkit.org>

        thead in table without tbody causes table height doubling
        https://bugs.webkit.org/show_bug.cgi?id=37244

        Reviewed by Ojan Vafai.

        Tests: fast/table/double-height-table-no-tbody-expected.html
               fast/table/double-height-table-no-tbody.html

        The bug is caused by the layout code would wrongly assuming that a
        table without a <tbody> is an empty table. We would set the logical
        height to the style's logical height wrongly before inflating the
        logical height to account for the section(s). This would cause us
        to increase past our needed size thus the bug.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        A table is empty if it does not have any top section, not just a <tbody>.
        The test uncovered an issue with height distribution in layoutRows where we
        would distribute the extra height to the first <tbody> not section.

2012-02-07  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail
        https://bugs.webkit.org/show_bug.cgi?id=78027

        Reviewed by Julien Chaffraix.

        Both of these test the (slightly implicit) rule that width set on column-groups cannot
        affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
        FF, Opera and IE all pass these two tests.

        Tests: css2.1/20110323/fixed-table-layout-013.htm
               css2.1/20110323/fixed-table-layout-015.htm

        * rendering/FixedTableLayout.cpp:
        (WebCore::nextCol): A helper function for finding the next column along.
        (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups.
        * rendering/RenderTableCol.h:
        (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups.

2012-02-16  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, rolling out r107941.
        http://trac.webkit.org/changeset/107941
        https://bugs.webkit.org/show_bug.cgi?id=68602

        Broke 23 http tests on GTK

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::defaultSession):

2012-02-16  Tom Sepez  <tsepez@chromium.org>

        XSS Auditor bypass with U+2028/2029
        https://bugs.webkit.org/show_bug.cgi?id=78732

        Reviewed by Adam Barth.

        Test: http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html

        * html/parser/XSSAuditor.cpp:
        (WebCore::isJSNewline):
        (WebCore::XSSAuditor::snippetForJavaScript):

2012-02-15  Mark Rowe  <mrowe@apple.com>

        NPN_GetValueForURL / NPNURLVProxy returns DIRECT when proxy configured via PAC
        <http://webkit.org/b/78766> / <rdar://problem/10729283>

        Reviewed by Anders Carlsson.

        * platform/network/cf/ProxyServerCFNet.cpp:
        (WebCore::proxyAutoConfigurationResultCallback): Stop the runloop, and then process
        the results that we received.
        (WebCore::processProxyServers): Processing of array of proxy configuration information
        moved from addProxyServersForURL. Handling of proxy auto-configuration URLs is now handled
        by calling CFNetworkExecuteProxyAutoConfigurationURL and waiting synchronously on the result
        callback. Doing this synchronously is not great, but it's the best we can do without a lot
        of restructuring of the code that calls this. We arbitrarily time out the execution after five
        seconds to avoid permanently hanging.
        (WebCore::addProxyServersForURL): Call in to our helper function.

2012-02-16  Abhishek Arya  <inferno@chromium.org>

        Fix clone() function to handle descendant classes of RenderBlock.
        https://bugs.webkit.org/show_bug.cgi?id=78273

        Reviewed by Eric Seidel.

        Test: fast/multicol/span/clone-flexbox-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clone):

2012-02-16  Raul Hudea  <rhudea@adobe.com>

        [CSSRegions]overflowRegion tests are flaky
        https://bugs.webkit.org/show_bug.cgi?id=78761

        Reviewed by Tony Chang.

        The overflowRegion tests were updated.

        * dom/Element.cpp:
        (WebCore::Element::webkitRegionOverflow):

2012-02-16  Raul Hudea  <rhudea@adobe.com>

        [CSS Regions] Repaint issues when changing innerHTML of content
        https://bugs.webkit.org/show_bug.cgi?id=78787

        Reviewed by David Hyatt.

        The calculation of the clipping rectangle is based on the repaint rectangle,
        so it needs to be clipped to the current region, because it might spread over multiple ones.

        Test: fast/repaint/region-painting-invalidation.html

        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::repaintRectangleInRegions):

2012-02-16  Adam Roben  <aroben@apple.com>

        Roll out r107887

        It broke 32-bit builds due to truncation from "long long" to "int".

        Original bug is <http://webkit.org/b/76571> Add FractionalLayoutPoint/Size/Rect for
        sub-pixel layout

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/FractionalLayoutUnit.h:
        (WebCore::FractionalLayoutUnit::isInBounds):
        (WebCore::operator==):
        (WebCore::operator*):
        * platform/graphics/FloatPoint.cpp:
        * platform/graphics/FloatPoint.h:
        (WebCore):
        (FloatPoint):
        (WebCore::FloatPoint::move):
        (WebCore::FloatPoint::moveBy):
        * platform/graphics/FloatRect.cpp:
        * platform/graphics/FloatRect.h:
        (WebCore):
        * platform/graphics/FloatSize.cpp:
        * platform/graphics/FloatSize.h:
        (WebCore):
        * platform/graphics/FractionalLayoutPoint.h: Removed.
        * platform/graphics/FractionalLayoutRect.cpp: Removed.
        * platform/graphics/FractionalLayoutRect.h: Removed.
        * platform/graphics/FractionalLayoutSize.cpp: Removed.
        * platform/graphics/FractionalLayoutSize.h: Removed.
        * platform/graphics/IntRect.cpp:
        * platform/graphics/IntRect.h:
        (WebCore):
        (IntRect):

2012-02-16  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: cache settings values
        https://bugs.webkit.org/show_bug.cgi?id=78815

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/Settings.js:
        (WebInspector.Setting.prototype.get if):
        (WebInspector.Setting.prototype):
        (WebInspector.Setting.prototype.):
        (WebInspector.Setting.prototype.set this):

2012-02-16  Terry Anderson  <tdanderson@chromium.org>

        WebKit does not support DOM 3 Events FocusEvent
        https://bugs.webkit.org/show_bug.cgi?id=76216

        Created a new FocusEvent class (extends UIEvent) with a relatedTarget attribute.  Moved
        the {Focus,Blur,FocusIn,FocusOut}EventDispatchMediator classes inside FocusEvent.  Now when
        focusin or focusout events are dispatched, a FocusEvent is created with the relatedTarget
        attribute set accordingly.  No other logic changes have been made besides adding the
        FocusEvent class.

        Reviewed by Eric Seidel.

        Test: fast/events/related-target-focusevent.html

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
            - Included mention of FocusEvent / JSFocusEvent in the above files to
              allow the patch to build on the different platforms
        * dom/EventDispatchMediator.cpp:
        * dom/EventDispatchMediator.h:
        * dom/EventFactory.in:
        * dom/FocusEvent.cpp: Added.
        (WebCore):
        (WebCore::FocusEvent::FocusEvent):
        (WebCore::FocusEvent::~FocusEvent):
        (WebCore::FocusEvent::initFocusEvent):
        (WebCore::FocusEvent::interfaceName):
        (WebCore::FocusInEventDispatchMediator::create):
        (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
        (WebCore::FocusInEventDispatchMediator::dispatchEvent):
        (WebCore::FocusInEventDispatchMediator::event):
        (WebCore::FocusOutEventDispatchMediator::create):
        (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
        (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
        (WebCore::FocusOutEventDispatchMediator::event):
        (WebCore::FocusEventDispatchMediator::create):
        (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
        (WebCore::FocusEventDispatchMediator::dispatchEvent):
        (WebCore::BlurEventDispatchMediator::create):
        (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
        (WebCore::BlurEventDispatchMediator::dispatchEvent):
        * dom/FocusEvent.h: Copied from Source/WebCore/dom/EventDispatchMediator.h.
        (WebCore):
        (FocusEvent):
        (WebCore::FocusEvent::create):
        (WebCore::FocusEvent::relatedTarget):
        (WebCore::FocusEvent::setRelatedTarget):
        (FocusInEventDispatchMediator):
        (FocusOutEventDispatchMediator):
        (FocusEventDispatchMediator):
        (BlurEventDispatchMediator):
        * dom/FocusEvent.idl: Added.
        * dom/Node.cpp:
        (WebCore::Node::dispatchFocusInEvent):
        (WebCore::Node::dispatchFocusOutEvent):
        * dom/UIEvent.cpp:
        * dom/UIEvent.h:
        * page/DOMWindow.idl:

2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Improve the way we deal with BGRA extension
        https://bugs.webkit.org/show_bug.cgi?id=78822

        Swizzle the RGBA manually only in OpenGL ES, and only if the extension is not available.
        Pass the pixel-format of the images when updating TextureMapperTiledBackingStore.

        Reviewed by Kenneth Rohde Christiansen.

        No new behavior.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore):
        (WebCore::hasExtension):
        (WebCore::hasBgraExtension):
        (WebCore::BitmapTextureGL::updateContents):
        * platform/graphics/texmap/TextureMapperBackingStore.cpp:
        (WebCore::TextureMapperTile::updateContents):
        (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
        (WebCore::TextureMapperTiledBackingStore::updateContents):
        * platform/graphics/texmap/TextureMapperBackingStore.h:
        (TextureMapperTile):
        (TextureMapperTiledBackingStore):
        (WebCore::TextureMapperTiledBackingStore::updateContents):
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::updateBackingStore):

2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>

        [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
        https://bugs.webkit.org/show_bug.cgi?id=78800

        Reviewed by Kenneth Rohde Christiansen.

        The file is not specific to Cairo and used in other ports. Move it into
        common space.

        * GNUmakefile.list.am:
        * PlatformEfl.cmake:
        * Target.pri:
        * platform/graphics/OpenGLShims.cpp: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.cpp.
        (WebCore):
        (WebCore::openGLFunctionTable):
        (WebCore::getProcAddress):
        (WebCore::lookupOpenGLFunctionAddress):
        (WebCore::initializeOpenGLShims):
        * platform/graphics/OpenGLShims.h: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.h.
        (WebCore):
        (_OpenGLFunctionTable):
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        * platform/graphics/opengl/TextureMapperGL.cpp:
        * platform/graphics/qt/Extensions3DQt.cpp:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:

2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][WK2] Allow opaque tiles
        https://bugs.webkit.org/show_bug.cgi?id=78809

        Add a supportsAlpha property to TiledBackingStore.
        We invalidate all the tiles if that property changes, because the buffers need to be
        recreated in a different format.

        Reviewed by Kenneth Rohde Christiansen.

        No behavior changes.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::TiledBackingStore):
        (WebCore::TiledBackingStore::setSupportsAlpha):
        (WebCore):
        * platform/graphics/TiledBackingStore.h:
        (TiledBackingStore):
        (WebCore::TiledBackingStore::supportsAlpha):

2012-02-16  Sergio Villar Senin  <svillar@igalia.com>

        [soup] Move important SoupSession feature initialization to WebCore
        https://bugs.webkit.org/show_bug.cgi?id=68602

        Reviewed by Martin Robinson.

        Moved content sniffer and decoder initialization from WebKit to
        WebCore because network stuff will not work as expected without
        them. Added also out-of-the-box proxy support to WebCore.

        No new tests required as we're just moving stuff from WebKit to
        WebCore.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::defaultSession):

2012-02-16  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: remove free flow DOM editing experiment.
        https://bugs.webkit.org/show_bug.cgi?id=78813

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._markRevision):

2012-02-16  Patrick Gansterer  <paroga@webkit.org>

        WinCE build fix after r107453.

        * platform/FractionalLayoutUnit.h:
        (WebCore::FractionalLayoutUnit::isInBounds): Use fabs() instead of abs().

2012-02-15  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: explicitly mark undoable state from the front-end.
        https://bugs.webkit.org/show_bug.cgi?id=78716

        Reviewed by Vsevolod Vlasov.

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::toggleProperty):
        (WebCore::InspectorCSSAgent::setRuleSelector):
        (WebCore::InspectorCSSAgent::addRule):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setAttributeValue):
        (WebCore::InspectorDOMAgent::setAttributesAsText):
        (WebCore::InspectorDOMAgent::removeAttribute):
        (WebCore::InspectorDOMAgent::removeNode):
        (WebCore::InspectorDOMAgent::setNodeName):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::setNodeValue):
        (WebCore::InspectorDOMAgent::moveTo):
        * inspector/InspectorHistory.cpp:
        (WebCore::InspectorHistory::redo):
        * inspector/InspectorHistory.h:
        (InspectorHistory):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule.callback):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
        (WebInspector.CSSProperty.prototype.setText.callback):
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setDisabled.callback):
        (WebInspector.CSSProperty.prototype.setDisabled):
        (WebInspector.CSSStyleSheet.prototype.setText):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._markRevision):
        (WebInspector.DOMAgent.prototype.get markUndoableState):

2012-02-15  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: revert 'modification of DOM upon single click for selected nodes'.
        https://bugs.webkit.org/show_bug.cgi?id=78717

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.onattach):

2012-02-16  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: move style disable checkboxes to the left
        https://bugs.webkit.org/show_bug.cgi?id=78780

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/elementsPanel.css:
        (.styles-section.matched-styles .properties):
        (.styles-section.matched-styles .properties li):
        (.styles-section .properties li.parent::before):
        (.styles-section .properties li.parent.expanded::before):
        (.styles-section.matched-styles .properties li.parent .expand-element):
        (.styles-section.matched-styles .properties li.parent.expanded .expand-element):
        (.styles-section.computed-style .properties li.parent::before):
        (.styles-section.computed-style .properties li.parent.expanded::before):
        (.styles-section.matched-styles:not(.read-only):hover .properties .enabled-button):
        (.styles-section.matched-styles:not(.read-only) .properties li.disabled .enabled-button):
        (.styles-section .properties .enabled-button):
        (.styles-section.matched-styles .properties ol.expanded):
        * inspector/front-end/treeoutline.js:
        (TreeElement.treeElementDoubleClicked):

2012-02-16  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: show memory counter graphics when switching to memory view
        https://bugs.webkit.org/show_bug.cgi?id=78808

        Switching to memory view in timeline will display memory counters. Counter
        graphics know show fair data without approximations between sampling points.

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
        (WebInspector.MemoryStatistics.prototype._calculateXValues):
        (WebInspector.MemoryStatistics.prototype._drawPolyline):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype.get statusBarItems):
        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
        (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
        (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):

2012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: [heap snapshot] It could be useful to have access to the selected heap object from the console.
        https://bugs.webkit.org/show_bug.cgi?id=78496

        Reviewed by Yury Semikhatsky.

       * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::inspectedObject):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::InjectedScriptHost):
        (WebCore::InjectedScriptHost::InspectableObject::get):
        (WebCore):
        (WebCore::InjectedScriptHost::addInspectedObject):
        (WebCore::InjectedScriptHost::clearInspectedObjects):
        (WebCore::InjectedScriptHost::inspectedObject):
        * inspector/InjectedScriptHost.h:
        (InspectableObject):
        (WebCore::InjectedScriptHost::InspectableObject::~InspectableObject):
        (InjectedScriptHost):
        * inspector/InjectedScriptHost.idl:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::domContentLoadedEventFired):
        * inspector/InspectorConsoleAgent.cpp:
        (InspectableHeapObject):
        (WebCore::InspectableHeapObject::InspectableHeapObject):
        (WebCore::InspectableHeapObject::get):
        (WebCore):
        (WebCore::InspectorConsoleAgent::addInspectedHeapObject):
        * inspector/InspectorConsoleAgent.h:
        (InspectorConsoleAgent):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::resetState):
        * inspector/PageConsoleAgent.cpp:
        (InspectableNode):
        (WebCore::InspectableNode::InspectableNode):
        (WebCore::InspectableNode::get):
        (WebCore):
        (WebCore::PageConsoleAgent::addInspectedNode):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype._selectionChanged):
        (WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged):

2012-02-16  Kihong Kwon  <kihong.kwon@samsung.com>

        Add support for unsigned long[] to idl bindings to JSC.
        https://bugs.webkit.org/show_bug.cgi?id=78210

        Reviewed by Kentaro Hara.

        Add support for unsigned long[] parameter type in idl.
        This patch adds support just for unsigned long[] parameter type.
        (support for other types of array should be done in another patch.)

        tests added to TestObj.idl.

        * bindings/js/JSDOMBinding.h:
        (WebCore::jsUnsignedLongArrayToVector):
        * bindings/scripts/CodeGeneratorJS.pm:
        (AddIncludesForType):
        (JSValueToNative):
        (NativeToJSValue):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/TestObj.idl:

2012-02-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [InspectorIndexedDB] Add IndexedDB TreeElement to resources panel.
        https://bugs.webkit.org/show_bug.cgi?id=78609

        Reviewed by Yury Semikhatsky.

        Added IndexedDB tree element to resources panel (behind experimental setting).
        Test is currently disabled, since we don't run tests with experiments enabled.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * inspector/front-end/Images/indexedDB.png: Added.
        * inspector/front-end/Images/indexedDBIndex.png: Added.
        * inspector/front-end/Images/indexedDBObjectStore.png: Added.
        * inspector/front-end/IndexedDBModel.js:
        (WebInspector.IndexedDBModel):
        (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
        (WebInspector.IndexedDBModel.prototype.refreshDatabase):
        (WebInspector.IndexedDBModel.prototype._reset):
        (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
        (WebInspector.IndexedDBModel.prototype._originRemoved):
        (WebInspector.IndexedDBModel.prototype._databaseAdded):
        (WebInspector.IndexedDBModel.prototype._databaseRemoved):
        (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
        (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
        (WebInspector.IndexedDBModel.prototype._loadDatabase):
        (WebInspector.IndexedDBModel.Frame):
        (WebInspector.IndexedDBModel.DatabaseId):
        (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
        (WebInspector.IndexedDBModel.Database):
        (WebInspector.IndexedDBModel.Index):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.IndexedDBTreeElement):
        (WebInspector.IndexedDBTreeElement.prototype.onexpand):
        (WebInspector.IndexedDBTreeElement.prototype._createIndexedDBModel):
        (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
        (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
        (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved):
        (WebInspector.IndexedDBTreeElement.prototype._indexedDBLoaded):
        (WebInspector.IndexedDBTreeElement.prototype._idbDatabaseTreeElement):
        (WebInspector.IDBDatabaseTreeElement):
        (WebInspector.IDBDatabaseTreeElement.prototype.update):
        (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
        (WebInspector.IDBObjectStoreTreeElement):
        (WebInspector.IDBObjectStoreTreeElement.prototype.update):
        (WebInspector.IDBIndexTreeElement):
        (WebInspector.IDBIndexTreeElement.prototype.update):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/resourcesPanel.css:
        (.indexed-db-storage-tree-item .icon):
        (.indexed-db-object-store-storage-tree-item .icon):
        (.indexed-db-index-storage-tree-item .icon):

2012-02-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        REGRESSION (Safari 5.0.5 - 5.1): No animation on svg-wow.org/text-effects/text-effects.xhtml
        https://bugs.webkit.org/show_bug.cgi?id=65072

        Reviewed by Zoltan Herczeg.

        Fix EMS/EXS length resolving, when the target context has no renderer, eg.
        <text display="none" dy="1em">ABC</text>, myText.dy.baseVal.getItem(0).value()
        currently throws, even if <text> has a parent, we could use to resolve the length.

        Always fall-back to parent context, to resolve EMS/EXS units, instead of ignoring it.
        The current behaviour stays the same, if the target element is not in the document,
        then we really can't resolve lengths like this.

        Tests: svg/text/ems-display-none.svg
               svg/text/exs-display-none.svg

        * svg/SVGLengthContext.cpp:
        (WebCore::renderStyleForLengthResolving):
        (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
        (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
        (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
        (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):

2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>

        Build fix for Qt 5 without QtWidgets.

        Reviewed by Tor Arne Vestbø.

        The reason why QGLContext is included in Extensions3DQt.cpp is to
        achieve an implicit gl.h inclusion (needed for GL_FALSE). This patch
        replaces the inclusion with the OpenGLShims.h inclusions, which has
        the necessary #ifdefs in place to pull in gl.h with Qt 5 without QtWidgets.

        * platform/graphics/qt/Extensions3DQt.cpp:

2012-02-16  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Refactor CCLayerTreeHostCommon: create helper function for complex boolean condition
        https://bugs.webkit.org/show_bug.cgi?id=78539

        Reviewed by James Robinson.

        This change should introduce no change in behavior, and its
        expected behavior is already covered by existing tests.

        In calculateDrawTransformsAndVisibility, there is a complex
        boolean condition that indicates whether we should create a
        RenderSurface or not. This patch pulls out that boolean logic,
        and wraps it in a helper function for much better readability.

        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::layerShouldBeSkipped):
        (WebCore):
        (WebCore::subtreeShouldRenderToSeparateSurface):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):

2012-02-16  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] move timeline overview sidebar creation to TimelineOverviewPane
        https://bugs.webkit.org/show_bug.cgi?id=78782

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.showTimelines):
        (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
        (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype.sidebarResized):

2012-02-15  Andreas Kling  <awesomekling@apple.com>

        Share font-family CSS values through CSSValuePool.
        <http://webkit.org/b/78604>

        Reviewed by Darin Adler.

        Cache and share FontFamilyValue instances in the per-document CSSValuePool.
        This reduces memory consumption by 248 kB on the Moz page cycler (64-bit)
        and avoids a bunch of extra work.

        This is a regression from the recent attribute style refactoring; previously
        the mapped attribute declaration table would ensure that multiple 'font'
        elements with the same 'face' value would share the same FontFamilyValue.

        We're not yet sharing the entire CSSValueList returned by parseFontFamily()
        but this is a step on the way there.

        * css/FontFamilyValue.cpp:
        * css/FontFamilyValue.h:

            Removed appendSpaceSeparated(), making FontFamilyValue immutable.

        * css/CSSParser.cpp:
        (FontFamilyValueBuilder):
        (WebCore::FontFamilyValueBuilder::FontFamilyValueBuilder):
        (WebCore::FontFamilyValueBuilder::add):
        (WebCore::FontFamilyValueBuilder::commit):
        (WebCore::CSSParser::parseFontFamily):

            Refactor parseFontFamily() to defer creation of FontFamilyValue until
            the whole family name is known. Added a little helper class to avoid
            code duplication.

        * css/CSSValuePool.h:
        * css/CSSValuePool.cpp:
        (WebCore::CSSValuePool::createFontFamilyValue):

            Added a FontFamilyValue cache to CSSValuePool. All values are tied to
            the lifetime of the pool.

2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Move event conversion functions from WebCore to WebKit
        https://bugs.webkit.org/show_bug.cgi?id=78788

        Reviewed by Kenneth Rohde Christiansen.

        Move QtWidgets dependent mouse event constructors out of WebCore
        into WebKit, similar to the web event conversions of WebKit2.

        * Target.pri:
        * platform/PlatformMouseEvent.h:
        (PlatformMouseEvent):
        * platform/PlatformWheelEvent.h:
        (PlatformWheelEvent):

2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed prospective Qt 4.8/Mac build fix.

        Cast the PlatformWidget from QObject* to QWidget* to gain access
        to QWidget methods.

        * plugins/mac/PluginViewMac.mm:
        (WebCore::nativeWindowFor):
        (WebCore::cgHandleFor):
        (WebCore::topLevelOffsetFor):
        (WebCore::PluginView::setFocus):
        (WebCore::PluginView::invalidateRect):

2012-02-16  Roland Steiner  <rolandsteiner@chromium.org>

        <style scoped>: Implement scoped selector matching in the slow path
        https://bugs.webkit.org/show_bug.cgi?id=77528

        Added scope information to SelectorCheckingContext, SelectorChecker methods and CSSStyleSelector methods.
        Added matchOptions struct to CSSStyleSelector similar to SelectorCheckingContext in SelectorChecker.
        Adapted the calling sites.

        Reviewed by Antti Koivisto.

        No new tests. (extended existing tests)

        * css/CSSStyleSelector.cpp:
        (RuleData):
        (RuleSet):
        (WebCore::CSSStyleSelector::determineScopingElement):
        (WebCore::CSSStyleSelector::collectMatchingRules):
        (WebCore::CSSStyleSelector::collectMatchingRulesForRegion):
        (WebCore::CSSStyleSelector::matchScopedAuthorRules):
        (WebCore::CSSStyleSelector::matchAuthorRules):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        (MatchOptions):
        (WebCore::CSSStyleSelector::MatchOptions::MatchOptions):
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkSelector):
        * css/SelectorChecker.h:
        (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
        (SelectorCheckingContext):
        (SelectorChecker):

2012-02-15  Patrick Gansterer  <paroga@webkit.org>

        Windows build fix for !ENABLE(CSS_FILTERS) after r106593.

        * platform/graphics/ca/win/PlatformCALayerWin.cpp:

2012-02-15  Antti Koivisto  <antti@apple.com>

        Move the context invalidation code out from StylePropertySet
        https://bugs.webkit.org/show_bug.cgi?id=78589

        Reviewed by Ryosuke Niwa.

        StylePropertySet should be independent of its context so that they can in the future
        be shared between documents. The context invalidation code should move to the CSSOM wrapper.
        
        Parent rule and parent element pointers move to the CSSOM wrapper classes. 
        
        The wrapper is responsible of invalidating the element or document style on mutation.
        In case of internal mutation of style attribute, StyledElement takes care of the 
        invalidation.
        
        The StylePropertySet will still have a pointer to the context stylesheet so the patch
        doesn't actually reduce memory usage. That pointer will be factored out later.

        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
        * css/CSSFontFaceRule.h:
        (WebCore::CSSFontFaceRule::style):
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::~CSSPageRule):
        * css/CSSPageRule.h:
        (WebCore::CSSPageRule::style):
        (WebCore::CSSPageRule::setDeclaration):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        (WebCore::CSSParser::createPageRule):
        (WebCore::CSSParser::createKeyframeRule):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::~CSSStyleRule):
        * css/CSSStyleRule.h:
        (WebCore::CSSStyleRule::style):
        (WebCore::CSSStyleRule::setDeclaration):
        * css/StylePropertySet.cpp:
        (PropertySetCSSStyleDeclaration):
        (WebCore::PropertySetCSSStyleDeclaration::parentElement):
        (WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
        (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
        (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
        (RuleCSSStyleDeclaration):
        (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
        (WebCore::RuleCSSStyleDeclaration::parentRule):
        (WebCore::RuleCSSStyleDeclaration::clearParentRule):
        (WebCore):
        (InlineCSSStyleDeclaration):
        (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
        (WebCore::InlineCSSStyleDeclaration::parentElement):
        (WebCore::InlineCSSStyleDeclaration::clearParentElement):
        (WebCore::StylePropertySet::StylePropertySet):
        (WebCore::StylePropertySet::removeShorthandProperty):
        (WebCore::StylePropertySet::removeProperty):
        (WebCore::StylePropertySet::setProperty):
        (WebCore::StylePropertySet::parseDeclaration):
        (WebCore::StylePropertySet::addParsedProperties):
        (WebCore::StylePropertySet::addParsedProperty):
        (WebCore::StylePropertySet::merge):
        (WebCore::StylePropertySet::removePropertiesInSet):
        (WebCore::StylePropertySet::copy):
        (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
        (WebCore::StylePropertySet::ensureRuleCSSStyleDeclaration):
        (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
        (WebCore::StylePropertySet::clearParentRule):
        (WebCore::StylePropertySet::clearParentElement):
        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
        (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc):
        (WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc):
        * css/StylePropertySet.h:
        (WebCore::StylePropertySet::create):
        (StylePropertySet):
        (WebCore::StylePropertySet::useStrictParsing):
        (WebCore::StylePropertySet::contextStyleSheet):
        (WebCore::StylePropertySet::setContextStyleSheet):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
        (WebCore::WebKitCSSKeyframeRule::setDeclaration):
        * css/WebKitCSSKeyframeRule.h:
        (WebCore::WebKitCSSKeyframeRule::style):
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::ensureInlineStyleDecl):
        (WebCore::ElementAttributeData::destroyInlineStyleDecl):
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::insertedIntoDocument):
        (WebCore):
        (WebCore::StyledElement::removedFromDocument):
        (WebCore::StyledElement::parseAttribute):
        (WebCore::StyledElement::inlineStyleChanged):
        (WebCore::StyledElement::setInlineStyleProperty):
        (WebCore::StyledElement::removeInlineStyleProperty):
        (WebCore::StyledElement::updateAttributeStyle):
        * dom/StyledElement.h:
        (StyledElement):
        (WebCore::StyledElement::destroyInlineStyleDecl):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI):
        (WebCore::DeleteButtonController::show):
        (WebCore::DeleteButtonController::hide):
        * editing/Editor.cpp:
        (WebCore::Editor::applyEditingStyleToElement):
        * editing/RemoveCSSPropertyCommand.cpp:
        (WebCore::RemoveCSSPropertyCommand::doApply):
        (WebCore::RemoveCSSPropertyCommand::doUnapply):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::updateColorSwatch):
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
        * html/ImageDocument.cpp:
        (WebCore::ImageDocument::resizeImageToFit):
        (WebCore::ImageDocument::restoreImageSize):
        (WebCore::ImageDocument::windowSizeChanged):
        * html/ValidationMessage.cpp:
        (WebCore::adjustBubblePosition):
        (WebCore::ValidationMessage::buildBubbleTree):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlElement::show):
        (WebCore::MediaControlElement::hide):
        (WebCore::MediaControlPanelElement::setPosition):
        (WebCore::MediaControlPanelElement::resetPosition):
        (WebCore::MediaControlPanelElement::makeOpaque):
        (WebCore::MediaControlPanelElement::makeTransparent):
        (WebCore::MediaControlInputElement::show):
        (WebCore::MediaControlInputElement::hide):
        (WebCore::MediaControlTextTrackContainerElement::updateSizes):
        * html/shadow/MeterShadowElement.cpp:
        (WebCore::MeterValueElement::setWidthPercentage):
        * html/shadow/ProgressShadowElement.cpp:
        (WebCore::ProgressValueElement::setWidthPercentage):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::TrackLimiterElement::create):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::styleDidChange):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
        (WebCore::SVGFontFaceElement::insertedIntoDocument):
        (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):

2012-02-15  Daniel Cheng  <dcheng@chromium.org>

        dataTransfer.types (HTML5 drag & drop) should return DOMStringList
        https://bugs.webkit.org/show_bug.cgi?id=30416

        Reviewed by Eric Seidel.

        This change breaks backwards compatibility; however, since Firefox only supported
        event.dataTransfer.types.contains, sites already needed to check whether to use contains or
        indexOf. Therefore, the net compatibility effect of this change should be minimal.

        Test: fast/events/drag-dataTransfer-live-attributes.html

        * bindings/js/JSClipboardCustom.cpp:
        (WebCore):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        * dom/Clipboard.cpp:
        (WebCore::Clipboard::hasStringOfType):
        * dom/Clipboard.h:
        (WebCore):
        (Clipboard):
        * dom/Clipboard.idl:
        * platform/blackberry/ClipboardBlackBerry.cpp:
        (WebCore::ClipboardBlackBerry::types):
        * platform/blackberry/ClipboardBlackBerry.h:
        (ClipboardBlackBerry):
        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::types):
        * platform/chromium/ChromiumDataObject.h:
        (ChromiumDataObject):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::types):
        (WebCore::ClipboardChromium::mayUpdateItems):
        * platform/chromium/ClipboardChromium.h:
        (ClipboardChromium):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::containsHTML):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::canSmartReplace):
        (WebCore::DragData::asFragment):
        * platform/efl/ClipboardEfl.cpp:
        (WebCore::ClipboardEfl::types):
        * platform/efl/ClipboardEfl.h:
        (ClipboardEfl):
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::types):
        * platform/gtk/ClipboardGtk.h:
        (ClipboardGtk):
        * platform/mac/ClipboardMac.h:
        (ClipboardMac):
        * platform/mac/ClipboardMac.mm:
        (WebCore::addHTMLClipboardTypesForCocoaType):
        (WebCore::ClipboardMac::types):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::types):
        * platform/qt/ClipboardQt.h:
        (ClipboardQt):
        * platform/win/ClipboardWin.cpp:
        (WebCore::addMimeTypesForFormat):
        (WebCore::ClipboardWin::types):
        * platform/win/ClipboardWin.h:
        (ClipboardWin):
        * platform/wx/ClipboardWx.cpp:
        (WebCore::ClipboardWx::types):
        * platform/wx/ClipboardWx.h:
        (ClipboardWx):

2012-02-15  Bear Travis  <betravis@adobe.com>

        Repaint issues on changing 'viewBox' of inner SVG
        https://bugs.webkit.org/show_bug.cgi?id=77903

        Reviewed by Nikolas Zimmermann.

        Do not update the child viewbox/viewport transform to its parent
        coordinate system until after layout has stored the old bounds for
        repainting purposes.
        
        Test: svg/repaint/inner-svg-change-viewBox-contract.svg

        * rendering/svg/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
        (WebCore::RenderSVGViewportContainer::calcViewport):
        (WebCore):
        (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
        (WebCore::RenderSVGViewportContainer::localToParentTransform):
        * rendering/svg/RenderSVGViewportContainer.h:
        (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
        (RenderSVGViewportContainer):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::svgAttributeChanged):

2012-02-15  Bear Travis  <betravis@adobe.com>

        Repaint issues on changing 'viewBox' of inner SVG
        https://bugs.webkit.org/show_bug.cgi?id=77903

        Reviewed by Nikolas Zimmermann.

        Do not update the child viewbox/viewport transform to its parent
        coordinate system until after layout has stored the old bounds for
        repainting purposes.
        
        Test: svg/repaint/inner-svg-change-viewBox-contract.svg

        * rendering/svg/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
        (WebCore::RenderSVGViewportContainer::calcViewport):
        (WebCore):
        (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
        (WebCore::RenderSVGViewportContainer::localToParentTransform):
        * rendering/svg/RenderSVGViewportContainer.h:
        (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
        (RenderSVGViewportContainer):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::svgAttributeChanged):

2012-02-15  Daniel Cheng  <dcheng@chromium.org>

        dataTransfer.types (HTML5 drag & drop) should return DOMStringList
        https://bugs.webkit.org/show_bug.cgi?id=30416

        Reviewed by Eric Seidel.

        This change breaks backwards compatibility; however, since Firefox only supported
        event.dataTransfer.types.contains, sites already needed to check whether to use contains or
        indexOf. Therefore, the net compatibility effect of this change should be minimal.

        Test: fast/events/drag-dataTransfer-live-attributes.html

        * bindings/js/JSClipboardCustom.cpp:
        (WebCore):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        * dom/Clipboard.cpp:
        (WebCore::Clipboard::hasStringOfType):
        * dom/Clipboard.h:
        (WebCore):
        (Clipboard):
        * dom/Clipboard.idl:
        * platform/blackberry/ClipboardBlackBerry.cpp:
        (WebCore::ClipboardBlackBerry::types):
        * platform/blackberry/ClipboardBlackBerry.h:
        (ClipboardBlackBerry):
        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::types):
        * platform/chromium/ChromiumDataObject.h:
        (ChromiumDataObject):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::types):
        (WebCore::ClipboardChromium::mayUpdateItems):
        * platform/chromium/ClipboardChromium.h:
        (ClipboardChromium):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::containsHTML):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::canSmartReplace):
        (WebCore::DragData::asFragment):
        * platform/efl/ClipboardEfl.cpp:
        (WebCore::ClipboardEfl::types):
        * platform/efl/ClipboardEfl.h:
        (ClipboardEfl):
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::types):
        * platform/gtk/ClipboardGtk.h:
        (ClipboardGtk):
        * platform/mac/ClipboardMac.h:
        (ClipboardMac):
        * platform/mac/ClipboardMac.mm:
        (WebCore::addHTMLClipboardTypesForCocoaType):
        (WebCore::ClipboardMac::types):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::types):
        * platform/qt/ClipboardQt.h:
        (ClipboardQt):
        * platform/win/ClipboardWin.cpp:
        (WebCore::addMimeTypesForFormat):
        (WebCore::ClipboardWin::types):
        * platform/win/ClipboardWin.h:
        (ClipboardWin):
        * platform/wx/ClipboardWx.cpp:
        (WebCore::ClipboardWx::types):
        * platform/wx/ClipboardWx.h:
        (ClipboardWx):

2012-02-15  Bear Travis  <betravis@adobe.com>

        Repaint issues on changing 'viewBox' of inner SVG
        https://bugs.webkit.org/show_bug.cgi?id=77903

        Reviewed by Nikolas Zimmermann.

        Do not update the child viewbox/viewport transform to its parent
        coordinate system until after layout has stored the old bounds for
        repainting purposes.
        
        Test: svg/repaint/inner-svg-change-viewBox-contract.svg

        * rendering/svg/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
        (WebCore::RenderSVGViewportContainer::calcViewport):
        (WebCore):
        (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
        (WebCore::RenderSVGViewportContainer::localToParentTransform):
        * rendering/svg/RenderSVGViewportContainer.h:
        (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
        (RenderSVGViewportContainer):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::svgAttributeChanged):

2012-02-15  Anders Carlsson  <andersca@apple.com>

        Fix unused parameter warnings.

        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer setContentsScale:]):

2012-02-15  Emil A Eklund  <eae@chromium.org>

        Convert RenderFrameSet to LayoutUnits in preparation for turning on subpixel layout
        https://bugs.webkit.org/show_bug.cgi?id=78526

        Reviewed by Eric Seidel.

        Revert paintColumnBorder and paintRowBorder to IntRect and pixel snap in
        paint before calling them. This way the rounding logic is contained in a
        single place (in paint).

        No new tests, no new functionality.

        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::paintColumnBorder):
        (WebCore::RenderFrameSet::paintRowBorder):
        (WebCore::RenderFrameSet::paint):
        (WebCore::RenderFrameSet::getCursor):
        * rendering/RenderFrameSet.h:
        (RenderFrameSet):

2012-02-15  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>

        Add FractionalLayoutPoint/Size/Rect for sub-pixel layout
        https://bugs.webkit.org/show_bug.cgi?id=76571

        Reviewed by Eric Seidel.

        Add fixed point versions of the Point, Size and Rect classes using
        the new FractionalLayoutPoint type and.

        FractionalLayoutPoint, FractionalLayoutSize and FractionalLayoutRect are
        Point, Size and Rect implementations respectively using this new type.

        No new tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/FractionalLayoutUnit.h:
        Fixed a couple of typos and signed/unsigned bugs.

        * platform/graphics/FloatPoint.cpp:
        (WebCore::FloatPoint::FloatPoint):
        Add explicit FloatPoint(FractionalLayoutPoint) constructor.
        
        (WebCore::FloatPoint::move):
        Add move(FractionalLayoutSize) implementation.
        
        (WebCore::FloatPoint::moveBy):
        Add moveBy(FractionalLayoutPoint) implementation.

        * platform/graphics/FloatPoint.h:
        * platform/graphics/FloatRect.cpp:
        (WebCore::FloatRect::FloatRect):
        Add explicit FloatRectFractionalLayoutRect) constructor.
        
        * platform/graphics/FloatRect.h:
        (WebCore):
        (FloatRect):
        * platform/graphics/FloatSize.cpp:
        (WebCore::FloatSize::FloatSize):
        Add explicit FloatSize(FractionalLayoutSize) constructor.

        * platform/graphics/FloatSize.h:
        * platform/graphics/FractionalLayoutPoint.h: Added.
        * platform/graphics/FractionalLayoutRect.cpp: Added.
        * platform/graphics/FractionalLayoutRect.h: Added.
        * platform/graphics/FractionalLayoutSize.cpp: Added.
        * platform/graphics/FractionalLayoutSize.h: Added.
        * platform/graphics/IntRect.cpp:
        (WebCore::IntRect::IntRect):
        Add explicit IntRect(FractionalLayoutRect) constructor.

        * platform/graphics/IntRect.h:

2012-02-15  Kentaro Hara  <haraken@chromium.org>

        [Mac] PasteboardMac.mm build fails
        https://bugs.webkit.org/show_bug.cgi?id=78655

        Reviewed by Enrica Casucci.

        This patch fixes the code to make a plain text for pasted file names.
        The code should return a string of concatenated file names.

        Test: editing/pasteboard/drag-files-to-editable-element.html

        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::plainText):

2012-02-15  Anders Carlsson  <andersca@apple.com>

        Another attempt at fixing the Snow Leopard build.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::setContentsScale):

2012-02-15  Pablo Flouret  <pablof@motorola.com>

        Add support for the translate attribute in html elements.
        https://bugs.webkit.org/show_bug.cgi?id=78751

        Reviewed by Adam Barth.

        The translate attribute is used to specify whether an element's
        attribute values and the values of its Text node children are to be
        translated when the page is localized, or whether to leave them
        unchanged.

        Details at http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#attr-translate

        Test: fast/dom/HTMLElement/translate.html

        * html/HTMLAttributeNames.in:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::translateAttributeMode):
        (WebCore):
        (WebCore::HTMLElement::translate):
        (WebCore::HTMLElement::setTranslate):
        * html/HTMLElement.h:
        (HTMLElement):
        * html/HTMLElement.idl:

2012-02-15  Sami Kyostila  <skyostil@google.com>

        Add -webkit-overflow-scrolling CSS property
        https://bugs.webkit.org/show_bug.cgi?id=78664

        Reviewed by Eric Seidel.

        Add a CSS property indicating that an element with overflow scrolling
        should follow the platform's behavior for touch scrollable user
        interface objects. For instance, this property could enable momentum
        scrolling for the element if that is the platform convention.

        The property has two possible values: auto (default) and touch. The
        former does not alter overflow scrolling behavior, while the latter
        activates touch scrolling.

        As a side effect, enabling touch scrolling also causes an element to
        gain a stacking context. This is to allow the implementation to promote
        the scrolling contents into a render layer, which can be translated more
        efficiently.

        This property was introduced with iOS 5 WebKit. Another implementation
        is in Chrome for Android.

        Test: platform/chromium/compositing/overflow/overflow-scrolling-touch-stacking-context.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h:
        (StyleRareInheritedData):

2012-02-15  Levi Weintraub  <leviw@chromium.org>

        Add zeroLayoutUnit constant.
        https://bugs.webkit.org/show_bug.cgi?id=78747

        Reviewed by Eric Seidel.

        Converting call sites where LayoutUnits and raw zeros are in ternary operations
        and templatized function calls (like std::max and min) to use a new zeroLayoutUnit
        constant instead of the raw zero.

        No new tests. No change in behavior.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
        (WebCore::InlineFlowBox::paintFillLayer):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
        * rendering/LayoutTypes.h:
        (WebCore):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::adjustFloatingBlock):
        (WebCore::RenderBlock::paintColumnRules):
        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
        (WebCore::RenderBlock::getClearDelta):
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        (WebCore::getHeightForLineCount):
        (WebCore::RenderBlock::adjustForUnsplittableChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::paginationStrut):
        (WebCore::RenderBlock::pageLogicalOffset):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineLayoutState::updateRepaintRangeFromBox):
        (WebCore::RenderBlock::addOverflowFromInlineChildren):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::positionForPoint):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::minYVisualOverflow):
        (WebCore::RenderBox::minXVisualOverflow):
        (RenderBox):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::offsetLeft):
        (WebCore::RenderBoxModelObject::offsetTop):
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::nodeWidth):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::layout):
        (WebCore::RenderFlowThread::computeLogicalWidth):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutlineForLine):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::listIndexAtOffset):
        (WebCore::RenderListBox::verticalScrollbarWidth):
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::computePosition):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computePreferredLogicalWidths):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
        (WebCore::RenderTable::layout):
        * rendering/RenderTable.h:
        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::layout):

2012-02-15  Alexey Proskuryakov  <ap@apple.com>

        Crash after trying to use FileReader in a document with null origin string
        https://bugs.webkit.org/show_bug.cgi?id=78649

        Reviewed by Enrica Casucci.

        Test: fast/files/null-origin-string.html

        * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::~FileReaderLoader):
        HashMaps don't like empty keys, and they don't like removing keys that have never been added.

2012-02-15  Anders Carlsson  <andersca@apple.com>

        Attempt to fix the Snow Leopard build.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::createTileLayer):
        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer setContentsScale:]):

2012-02-15  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r107836): fast/box-shadow/spread.html and fast/writing-mode/box-shadow-*.html tests failing
        https://bugs.webkit.org/show_bug.cgi?id=78759

        Reviewed by Simon Fraser.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::boxShadowCanBeAppliedToBackground): Added. Returns false if
        paintFillLayer() would push a clip before painting the layer, thus preventing it from casting
        its own shadow.
        (WebCore::InlineFlowBox::paintBoxDecorations): Pass this as an additional parameter to
        boxShadowShouldBeAppliedToBackground().
        * rendering/InlineFlowBox.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended): Pass the InlineFlowBox along to
        boxShadowShouldBeAppliedToBackground().
        (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Added an InlineFlowBox
        parameter. If non-0, check boxShadowCanBeAppliedToBackground(). Also check for shadow spread,
        and for the case of border radius with a background image, in which paintFillLayerExtended uses
        clipping. Finally, fixed a bug in the for() loop for finding the last background layer which
        was noticed by Tony Chang.
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground):
        * rendering/RenderTableCell.h:

2012-02-15  Erik Arvidsson  <arv@chromium.org>

        Expose Window constructor
        https://bugs.webkit.org/show_bug.cgi?id=78722

        Reviewed by Adam Barth.

        Test: fast/dom/Window/window-constructor-presence.html

        * page/DOMWindow.idl:

2012-02-15  Kelly Norton  <knorton@google.com>

        fill-opacity does not render properly only on Chromium Mac.
        https://bugs.webkit.org/show_bug.cgi?id=78624

        Reviewed by Stephen White.

        Test: svg/text/text-fill-opacity.svg

        * platform/graphics/skia/FontSkia.cpp:
        (WebCore::Font::drawGlyphs):

2012-02-15  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream WebPageClient.h
        https://bugs.webkit.org/show_bug.cgi?id=78660

        Reviewed by Antonio Gomes.

        Header inclusion fix, no new test.

        * plugins/blackberry/PluginViewPrivateBlackBerry.h:
        Add #include <BlackBerryPlatformIntRectRegion.h>
        and #include <BlackBerryPlatformGraphics.h> because they
        are being removed from WebKit/blackberry/Api/WebPageClient.h.

2012-02-15  Tim Horton  <timothy_horton@apple.com>

        REGRESSION(r105057): Dynamically changing <tspan> offsets is broken
        https://bugs.webkit.org/show_bug.cgi?id=78385
        <rdar://problem/10832932>

        Reviewed by Simon Fraser.

        Don't short-circuit buildLayoutAttributesIfNeeded if m_textPositions is already full;
        we can't skip rebuilding the layout attributes, just walking the tree to acquire the
        positioning lists (invalidation of positioning lists is already covered by textDOMChanged).

        Test: svg/text/tspan-dynamic-positioning.svg

        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesIfNeeded):

2012-02-15  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Removing SecurityContext from the embedder API
        https://bugs.webkit.org/show_bug.cgi?id=73816

        Reviewed by Darin Fisher.

        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

        * mediastream/PeerConnection.cpp:
        (WebCore::PeerConnection::PeerConnection):
        * platform/mediastream/PeerConnectionHandler.h:
        (WebCore):
        (PeerConnectionHandler):
        * platform/mediastream/gstreamer/PeerConnectionHandler.cpp:
        (WebCore::PeerConnectionHandler::create):
        (WebCore::PeerConnectionHandler::PeerConnectionHandler):

2012-02-15  Nate Chapin  <japhet@chromium.org>

        Fix test regressons from r107672.
        https://bugs.webkit.org/show_bug.cgi?id=76564

        Move setting CachedRawResource::m_identifer from
        data() to setResponse(). WorkerScriptLoader depends
        on the identifier being set correctly during setResponse()
        in order to correctly mark itself as a ScriptResource in
        the inspector.

        Reviewed by Adam Barth.

        Fixes several worker script loading tests.

        * loader/cache/CachedRawResource.cpp:
        (WebCore::CachedRawResource::data):
        (WebCore::CachedRawResource::setResponse):

2012-02-15  Enrica Casucci  <enrica@apple.com>

        REGRESSION: "Copy image" fails...copies image URL instead.
        https://bugs.webkit.org/show_bug.cgi?id=78723
        <rdar://problem/10869104>

        During the refactoring of the Pasteboard class some code was lost.
        When placing an NSImage in the NSPasteboard as NSTIFFPboardType, we need
        to use the its TIFF representation.
        
        Reviewed by Andy Estes.

        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeImage):

2012-01-31  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [soup] Add support for multiple SoupSessions.
        https://bugs.webkit.org/show_bug.cgi?id=77341

        Reviewed by Gustavo Noronha Silva.

        Make the libsoup network backend support multiple SoupSessions. This is
        accomplished by using the NetworkingContext classes, which now have a
        `soupSession()' method when the libsoup backend is being used.

        libsoup's ResourceHandle implementation now retrieves the SoupSession
        via the NetworkingContext it receives instead of relying on
        defaultSession(). defaultSession() is still used when a null
        NetworkingContext is passed to ResourceHandle::start (for example, via
        webkit_download_start).

        The CookieJar implementation retrieves the SoupSession from the
        NetworkingContext as much as possible as well -- the functions used by
        WebKit2 could not be converted, though, as they seem to assume there is
        only one shared cookie jar.

        No new tests, covered by the existing ones.

        * platform/network/NetworkingContext.h:
        (NetworkingContext): Add soupSession() method if USE(SOUP) is set.
        * platform/network/ResourceHandleInternal.h:
        (ResourceHandleInternal):
        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::cookieJarForDocument):
        (WebCore):
        (WebCore::defaultCookieJar):
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookieRequestHeaderFieldValue):
        (WebCore::cookiesEnabled):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandleInternal::soupSession): Add method to retrieve
        a SoupSession from a NetworkingContext and fallback to defaultSession()
        if there's no valid NetworkingContext.
        (WebCore):
        (WebCore::ensureSessionIsInitialized): Only change or use the default
        cookie jar if the SoupSession being changed is the default one.
        (WebCore::sendRequestCallback):
        (WebCore::startHTTPRequest):
        (WebCore::ResourceHandle::cancel):
        (WebCore::startNonHTTPRequest):

2012-02-15  Anders Carlsson  <andersca@apple.com>

        The TileCache object should be deallocated on the main thread
        https://bugs.webkit.org/show_bug.cgi?id=78757
        <rdar://problem/10866161>

        Reviewed by Sam Weinig.

        Since the WebTileCacheLayer can be deleted on the scrolling thread, we need to make sure that the underlying
        TileCache object is actually destroyed on the main thread.

        * platform/graphics/ca/mac/TileCache.h:
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::~TileCache):
        Assert that this object is being destroyed on the main thread.

        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer dealloc]):
        If dealloc is being called from a non-main thread, make sure to delete the tile cache object on the main thread.

2012-02-15  Anders Carlsson  <andersca@apple.com>

        Scrolling Coordinator must be deleted on the main thread
        https://bugs.webkit.org/show_bug.cgi?id=78756
        <rdar://problem/10866167>

        Reviewed by Sam Weinig.

        ScrollingTree::invalidate will finish breaking the cycle between the scrolling coordinator and the
        scrolling tree by dereffing the scrolling coordinator. We need to make sure that this happens on the main
        thread because the scrolling coordinator expects to be destroyed from there.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::derefScrollingCoordinator):
        (WebCore):
        (WebCore::ScrollingTree::invalidate):

2012-02-15  Anders Carlsson  <andersca@apple.com>

        Scrolling coordinator should handle pages being restored from the page cache
        https://bugs.webkit.org/show_bug.cgi?id=78753
        <rdar://problem/10866171>

        Reviewed by Sam Weinig.

        Replace ScrollingCoordinator::frameViewScrollLayerDidChange with a new member function,
        ScrollingCoordinator::frameViewRootLayerDidChange which is called whenever the root layer
        of the frame view changes (which happens on back/forward navigation as well).

        In this function, reset the scrolling tree state from the frame view.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::scrollLayerForFrameView):
        Add a helper function.

        (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
        Reset the entire scrolling tree state.

        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
        Call the newly added helper function.

        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):
        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
        Remove frameViewScrollLayerDidChange.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::ensureRootLayer):
        Remove call to ScrollingCoordinator::frameViewScrollLayerDidChange.

        (WebCore::RenderLayerCompositor::attachRootLayer):
        Call ScrollingCoordinator::frameViewRootLayerDidChange.

2012-02-15  Enrica Casucci  <enrica@apple.com>

        Refactor ClipboardMac class to use PlatformStrategies.
        https://bugs.webkit.org/show_bug.cgi?id=78554

        Reviewed by Anders Carlsson.

        No new tests. No change in behavior.

        * WebCore.exp.in: Added new exported methods of the PlatformPasteboard class
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::newGeneralClipboard): Use name based pasteboard references.
        * page/DragClient.h:
        (WebCore::DragClient::declareAndWriteDragImage): Ditto.
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::createDraggingClipboard): Ditto.
        * platform/PasteboardStrategy.h: Added new methods to get a unique pasteboard name
        and the pasteboard change count.
        * platform/PlatformPasteboard.h: Ditto.
        * platform/mac/ClipboardMac.h:
        (WebCore::ClipboardMac::create): Using name based pasteboard.
        (WebCore::ClipboardMac::pasteboardName): Replacing the old pasteboard() method.
        * platform/mac/ClipboardMac.mm: All the methods below have been modified to avoid
        using Objective-C types and direct access to NSPasteboard object.
        (WebCore::Clipboard::create):
        (WebCore::ClipboardMac::ClipboardMac):
        (WebCore::ClipboardMac::hasData):
        (WebCore::cocoaTypeFromHTMLClipboardType):
        (WebCore::utiTypeFromCocoaType):
        (WebCore::addHTMLClipboardTypesForCocoaType):
        (WebCore::ClipboardMac::clearData):
        (WebCore::ClipboardMac::clearAllData):
        (WebCore::absoluteURLsFromPasteboardFilenames):
        (WebCore::absoluteURLsFromPasteboard):
        (WebCore::ClipboardMac::getData):
        (WebCore::ClipboardMac::setData):
        (WebCore::ClipboardMac::types):
        (WebCore::ClipboardMac::files):
        (WebCore::ClipboardMac::setDragImage):
        (WebCore::ClipboardMac::writeRange):
        (WebCore::ClipboardMac::writePlainText):
        (WebCore::ClipboardMac::writeURL):
        (WebCore::ClipboardMac::declareAndWriteDragImage):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeClipboard): Using name based pasteboard reference.
        * platform/mac/PlatformPasteboardMac.mm:
        (WebCore::PlatformPasteboard::getPathnamesForType): Fixed to support NSArray and NString content.
        (WebCore::PlatformPasteboard::changeCount): Added.
        (WebCore::PlatformPasteboard::uniqueName): Added.

2012-02-15  Anders Carlsson  <andersca@apple.com>

        TileCache needs to support setting the contents scale
        https://bugs.webkit.org/show_bug.cgi?id=78741
        <rdar://problem/10710773>

        Reviewed by Sam Weinig.

        * platform/graphics/ca/mac/TileCache.h:
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::setContentsScale):
        Update the contents scale of all the tiles and then revalidate the tile cache since tiles
        might have come and gone as a result of setting the contents scale.
        
        (WebCore::TileCache::createTileLayer):
        Set the contents scale of the tile layer.

        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer setContentsScale:]):
        Call TileCache::setContentsScale.

2012-02-15  Anders Carlsson  <andersca@apple.com>

        Try to fix the Chromium build and remove a snarky comment in the process.

        * platform/chromium/PopupListBox.cpp:
        (WebCore::PopupListBox::handleWheelEvent):

2012-02-15  Anders Carlsson  <andersca@apple.com>

        Wheel events should be re-dispatched to the scrolling thread
        https://bugs.webkit.org/show_bug.cgi?id=78731
        <rdar://problem/10866144>

        Reviewed by Sam Weinig.

        When threaded scrolling is enabled, all the state is assumed to be kept in the scrolling tree,
        on the scrolling thread. This means that even if we do end up processing an event on the main thread
        (because of wheel event handlers for example), we still have to dispatch the wheel event back to the
        scrolling thread.

        * page/FrameView.cpp:
        (WebCore::FrameView::wheelEvent):
        Move wheelEvent from ScrollView and ask the scrolling coordinator to handle the wheel event.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::handleWheelEvent):
        Dispatch the event to the scrolling thread, unless it will start a gesture. In that case we'll return false
        so that information will be passed back to the UI process.
        
        (ScrollingCoordinator):
        * platform/ScrollView.cpp:
        * platform/ScrollView.h:
        Move wheelEvent to FrameView.

2012-02-15  Mark Hahnenberg  <mhahnenberg@apple.com>

        RootObject::finalize can cause a crash in object->invalidate()
        https://bugs.webkit.org/show_bug.cgi?id=78645

        Reviewed by Geoffrey Garen.

        No new tests.

        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::finalize): Added a stack-allocated RefPtr to protect the RootObject
        during the call to invalidate().

2012-02-15  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10870238> Box shadow drawing takes an unnecessarily slow code path in some single-shadow, opaque-background cases
        https://bugs.webkit.org/show_bug.cgi?id=78728

        In some cases, when there is only one normal box shadow, and the box has an opaque background,
        it is possible to draw the box shadow by having the background cast it directly. This appears
        to be faster than the generic code path that uses a separate drawing pass to cast the shadow,
        clipping out the border box and the shadow-casting box.

        Reviewed by Dave Hyatt.

        No new tests, because behavior is unchanged.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintBoxDecorations): Changed to not paint normal box shadows if
        they are going to be cast by the background.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations): Ditto.
        * rendering/RenderBox.h: Made determineBackgroundBleedAvoidance() protected.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::applyBoxShadowForBackground): Added this helper function, which applies the first
        normal shadow from the given RenderStyle to the given GraphicsContext.
        (WebCore::RenderBoxModelObject::paintFillLayerExtended): Added calls to
        applyBoxShadowForBackground() before drawing the background color when needed.
        (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Added. Returns true
        in some of the cases where the box shadow can be cast by the background directly.
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations): Changed to not paint normal box shadows if
        they are going to be cast by the background.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintBoxDecorations): Ditto.
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground): Added this override that
        always returns false, because table cells sometimes apply a clip before drawing the background.
        * rendering/RenderTableCell.h:

2012-02-15  Ojan Vafai  <ojan@chromium.org>

        getComputedStyle of flex-item-align:auto should resolve to it's parent's flex-align value
        https://bugs.webkit.org/show_bug.cgi?id=76326

        Reviewed by Tony Chang.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2012-02-15  Sadrul Habib Chowdhury  <sadrul@chromium.org>

        Notify ChromeClient when touch-event handlers are installed/removed.
        https://bugs.webkit.org/show_bug.cgi?id=77440

        Reviewed by Darin Fisher and Ryosuke Niwa.

        Keep a count of the number of touch-event handlers and notify the
        embedder when the count changes. Depending on the count, the embedder
        can decide whether or not to dispatch touch events to webkit.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::didAddTouchEventHandler):
        (WebCore):
        (WebCore::Document::didRemoveTouchEventHandler):
        * dom/Document.h:
        (WebCore::Document::touchEventHandlerCount):
        (Document):
        * dom/Node.cpp:
        (WebCore::isTouchEventType):
        (WebCore::tryAddEventListener):
        (WebCore::tryRemoveEventListener):
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::numTouchEventHandlersChanged):
        * page/ChromeClient.h:
        (ChromeClient):
        * page/Frame.cpp:
        (WebCore::Frame::notifyChromeClientWheelEventHandlerCountChanged):
        (WebCore::Frame::notifyChromeClientTouchEventHandlerCountChanged):
        (WebCore):
        * page/Frame.h:
        (Frame):

2012-02-15  Eric Carlson  <eric.carlson@apple.com>

        Unset the active flag when TextTrackCues go away
        https://bugs.webkit.org/show_bug.cgi?id=72552

        Reviewed by Maciej Stachowiak.

        Test: media/track/track-active-cues.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadTimerFired): Configure new text tracks before preparing to load
            so we know about all tracks when resource selection begins.
        (WebCore::HTMLMediaElement::prepareForLoad): Call updateActiveTextTrackCues after setting
            to m_readyState is HAVE_NOTHING so all cues get deactivated. Don't build list of 
            available text tracks because resource selection won't actually start until after the load timer fires.
        (WebCore::HTMLMediaElement::loadInternal): Build list of non-disabled tracks.
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):  Clear the active flag on all cues
            when m_readyState is HAVE_NOTHING or m_player is 0.
        (WebCore::HTMLMediaElement::setReadyState): Don't update m_readyState when tracks which haven't
            loaded yet will prevent events from firing. Call updateActiveTextTrackCues to ensure that the
            first cue(s) are shown as soon as possible.
        (WebCore::HTMLMediaElement::userCancelledLoad): Call updateActiveTextTrackCues when when m_readyState 
            is HAVE_NOTHING so all cues get deactivated.

2012-02-15  Jessie Berlin  <jberlin@apple.com>

        WebCore build exceeds address space on 32-bit Windows builders (again).
        https://bugs.webkit.org/show_bug.cgi?id=78724

        Reviewed by Jon Honeycutt.

        Add the rest of the inspector .cpp files to the InspectorAllInOne.cpp file in Production and
        Release builds.

        * WebCore.vcproj/WebCore.vcproj:
        In the process, let VS have its way with this file.

        * inspector/InspectorAllInOne.cpp:

2012-02-15  Anders Carlsson  <andersca@apple.com>

        Remove ScrollableArea::handleGestureEvent
        https://bugs.webkit.org/show_bug.cgi?id=78661

        Reviewed by Adam Roben.

        ScrollableArea::handleGestureEvent ends up being a no-op so remove it and the related code.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        * platform/ScrollAnimator.cpp:
        * platform/ScrollAnimator.h:
        (ScrollAnimator):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        (ScrollView):
        * platform/ScrollableArea.cpp:
        * platform/ScrollableArea.h:
        (ScrollableArea):

2012-02-14  Stephen White  <senorblanco@chromium.org>

        Fix for incorrect/offset image in CSS filters (non-composited path)
        https://bugs.webkit.org/show_bug.cgi?id=78626

        Reviewed by Darin Adler.

        Test: css3/filters/multiple-filters-invalidation.html

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::prepare):
        When invalidating results, invalidate all intermediate filter
        results, not just the last effect's result.

2012-02-15  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: "Minus" (Delete) button disappears for hovered watch expression in Watches pane
        https://bugs.webkit.org/show_bug.cgi?id=78714

        Reviewed by Pavel Feldman.

        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype._mouseOut):

2012-02-15  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Move RunLoop to WebCore/platform
        https://bugs.webkit.org/show_bug.cgi?id=78504

        Reviewed by Adam Roben.

        r105475 moved RunLoop.cpp from WebKit2 to WebCore, but missed the CMake based ports.

        * CMakeLists.txt:
        * PlatformWinCE.cmake:

2012-02-15  Zoltan Herczeg  <zherczeg@webkit.org>

        Remove clipToImageBuffer from SourceAlpha and feComposite
        https://bugs.webkit.org/show_bug.cgi?id=78355

        Reviewed by Nikolas Zimmermann.

        The implementation of clipToImageBuffer is inefficient on
        non-mac platforms, so we would benefit if remove it.

        Existing tests cover this feature.

        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::platformApplySoftware):
        * platform/graphics/filters/SourceAlpha.cpp:
        (WebCore::SourceAlpha::platformApplySoftware):

2012-02-15  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Replace use of QGLWidget/QGLContext with QOpenGLContext and QSurface for Qt 5
        https://bugs.webkit.org/show_bug.cgi?id=78694

        Reviewed by Noam Rosenthal.

        Typedef PlatformGraphicsContext3D and PlatformGraphicsSurface3D to QOpenGLContext
        and QSurface for Qt 5. Use these APIs to change the current context and get the
        procedure addresses. Removed QGraphicsObject inheritance remainder while we're at it,
        because that code path is obsolete.

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/cairo/OpenGLShims.cpp:
        (WebCore::getProcAddress):
        * platform/graphics/cairo/OpenGLShims.h:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
        (WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded):
        (WebCore::GraphicsContext3D::~GraphicsContext3D):

2012-02-15  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Move Qt platform specific GL Context/Surface creation out of WebCore into WebKit
        https://bugs.webkit.org/show_bug.cgi?id=78692

        Reviewed by Noam Rosenthal.

        Replace the "glWidget" term in the GraphicsContext with "surface" and delegate
        the context and surface creation to the page client.

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
        (WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded):
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        (WebCore::GraphicsContext3D::~GraphicsContext3D):
        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
        * platform/qt/QWebPageClient.h:
        (QWebPageClient):

2012-02-15  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Support filters in TextureMapperImageBuffer
        https://bugs.webkit.org/show_bug.cgi?id=76026

        Implement GraphicsLayer::setFilters for TextureMapper, and pass the filters all the way
        to BitmapTextureImageBuffer. This does not introduce a new filters implementation, but
        rather uses the non-AC implementation. A complete implementation will be needed in
        TextureMapperGL, which can use some of the glue in this code.

        Reviewed by Kenneth Rohde Christiansen.

        Unskipped 10 tests in css3/filters.

        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore):
        (WebCore::GraphicsLayerTextureMapper::setFilters):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        (GraphicsLayerTextureMapper):
        * platform/graphics/texmap/TextureMapper.h:
        (BitmapTexture):
        (WebCore::BitmapTexture::applyFilters):
        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
        (WebCore):
        (WebCore::BitmapTextureImageBuffer::applyFilters):
        * platform/graphics/texmap/TextureMapperImageBuffer.h:
        (BitmapTextureImageBuffer):
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface):
        (WebCore):
        (WebCore::applyFilters):
        (WebCore::TextureMapperLayer::paintRecursive):
        (WebCore::TextureMapperLayer::syncCompositingStateSelf):
        * platform/graphics/texmap/TextureMapperLayer.h:
        (State):

2012-02-15  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Clean up fallback rendering of GraphicsContext3D to Canvas
        https://bugs.webkit.org/show_bug.cgi?id=78690

        Reviewed by Noam Rosenthal.

        Use the common paintRenderingResultsToCanvas code to retrieve the
        pixels from the FBO and use a Qt port specific paintToCanvas
        implementation to wrap the pixels into a QImage and render it
        into the graphics context, just like it's done for the other ports.

        This removes the QGraphicsObject based paint, which is an now 
        obsolete method of rendering.

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3D::paintToCanvas):

2012-02-14  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Eliminate first set of QtWidgets dependencies from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=78611

        Reviewed by Kenneth Rohde Christiansen.

        * bindings/js/ScriptControllerQt.cpp: Remove unused include.
        * page/qt/EventHandlerQt.cpp:
        (WebCore::EventHandler::tabsToAllFormControls): Replace import
        of private Qt(Widgets) variable with the default of Qt 5, where
        it is also not configurable.
        * platform/ContextMenu.h: Remove unused include.
        * platform/ContextMenuItem.h: Ditto.
        * platform/Widget.h: Use QObject as type for PlatformWidget
        instead of QWidget.
        * platform/graphics/Icon.h:
        (Icon): Prefer QImage over QIcon for storage.
        * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
        (WebCore): Make it compile with QWindow for Qt 5 and QWidget for Qt 4.
        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
        (FullScreenVideoWindow::FullScreenVideoWindow):
        (FullScreenVideoWindow::keyPressEvent):
        (FullScreenVideoWindow::event):
        (FullScreenVideoWindow::showFullScreen):
        (PlatformVideoWindow::PlatformVideoWindow):
        * platform/graphics/qt/IconQt.cpp: Revert the implementation of this class
        back to notImplemented(). It was trying to load the actual file as QIcon
        instead of trying to find a symbolic icon for the given file. We should
        probably use the QMimeType API in Qt 5 once it becomes available.
        (WebCore::Icon::createIconForFiles):
        (WebCore::Icon::paint):
        * platform/graphics/qt/ImageQt.cpp:
        (graphics): Remove use of QStyle for retrieving icons. Code moved to
        WebCoreSupport instead.
        * platform/qt/ContextMenuQt.cpp: Removed unused include.
        * platform/qt/PlatformScreenQt.cpp: Add #ifdefs to use QScreen API
        with Qt 5.
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/qt/QWebPageClient.h: Add hook for showing/hiding widget.
        (WebCore):
        (QWebPageClient):
        * platform/qt/SoundQt.cpp:
        (WebCore::systemBeep): Beep is not implemented in Qt 5 and its use is
        questionable. Move back to notImplemented() until proper QPA API becomes
        available in Qt 5 (if ever...).
        * platform/qt/WidgetQt.cpp: Delegate QWidget specific show/hide calls
        to the PageClient, out of WebCore.
        (WebCore::Widget::Widget):
        (WebCore::Widget::show):
        (WebCore::Widget::hide):
        * plugins/PluginView.h: Remove unused include.
        * rendering/RenderTreeAsText.cpp:
        (WebCore::RenderTreeAsText::writeRenderObject): When dumping properties of
        QWidget, use the QObject property API to retrieve the values instead of
        QWidget specific API. Removed the mask from the dump as it's not available
        as property and our layout tests don't seem to use it.

2012-02-15  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Fix minor design issues in the Spectrum color picker
        https://bugs.webkit.org/show_bug.cgi?id=78693

        Drive-by: frontend compilability fixes.

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/compile-front-end.sh:
        * inspector/front-end/ElementsPanel.js:
        * inspector/front-end/Popover.js:
        * inspector/front-end/Spectrum.js:
        (WebInspector.Spectrum.rgbaToHSVA):
        (WebInspector.Spectrum.prototype.set color):
        (WebInspector.Spectrum.prototype.get isVisible):
        (WebInspector.Spectrum.prototype.toggle):
        (WebInspector.Spectrum.prototype.show):
        (WebInspector.Spectrum.prototype.hide):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
        * inspector/front-end/elementsPanel.css:
        (.spectrum-container):
        (.spectrum-top):
        (.spectrum-color):
        (.spectrum-hue):
        (.spectrum-fill):
        (.spectrum-range-container):
        (.spectrum-range-container *):
        (.spectrum-range-container label):
        (.spectrum-range-container input):
        (.swatch, .spectrum-dragger, .spectrum-slider):
        (.spectrum-sat):
        (.spectrum-val):
        (.spectrum-dragger):
        (.spectrum-slider):
        * inspector/front-end/inspector.css:
        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:increment):

2012-02-15  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Build fix after r107806

        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::callFunctionWithEvalEnabled):
        * inspector/InjectedScript.h:
        (InjectedScript):

2012-02-15  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: crash when inspecting an element on a page with eval disabled by CSP
        https://bugs.webkit.org/show_bug.cgi?id=78705

        Inspector functions in injected script may use eval so we need to make sure
        it is allowed for inspector code on pages where it is prohibited by CSP.

        Reviewed by Pavel Feldman.

        Test: inspector/elements/resolve-node-blocked.html

        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::nodeForObjectId):
        (WebCore::InjectedScript::wrapCallFrames):
        (WebCore::InjectedScript::wrapObject):
        (WebCore::InjectedScript::releaseObjectGroup):
        (WebCore::InjectedScript::callFunctionWithEvalEnabled):
        (WebCore):
        (WebCore::InjectedScript::makeCall):
        * inspector/InjectedScript.h:
        (InjectedScript):

2012-02-13  Brian Grinstead  <briangrinstead@gmail.com>

        Web Inspector: Add colorpicker functionality to color swatches in Styles Sidebar
        https://bugs.webkit.org/show_bug.cgi?id=71262

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/Settings.js:
        * inspector/front-end/Spectrum.js: Added.
        (WebInspector.Spectrum.hueDrag):
        (WebInspector.Spectrum.colorDrag):
        (WebInspector.Spectrum.alphaDrag):
        (WebInspector.Spectrum):
        (WebInspector.Spectrum.hsvaToRGBA):
        (WebInspector.Spectrum.rgbaToHSVA):
        (WebInspector.Spectrum.draggable.prevent):
        (WebInspector.Spectrum.draggable.move):
        (WebInspector.Spectrum.draggable.start):
        (WebInspector.Spectrum.draggable.stop):
        (WebInspector.Spectrum.draggable):
        (WebInspector.Spectrum.prototype.set color):
        (WebInspector.Spectrum.prototype.get color):
        (WebInspector.Spectrum.prototype.get outputColorFormat):
        (WebInspector.Spectrum.prototype.get colorHueOnly):
        (WebInspector.Spectrum.prototype.set displayText):
        (WebInspector.Spectrum.prototype._onchange):
        (WebInspector.Spectrum.prototype._updateHelperLocations):
        (WebInspector.Spectrum.prototype._updateUI):
        (WebInspector.Spectrum.prototype.toggle):
        (WebInspector.Spectrum.prototype.show):
        (WebInspector.Spectrum.prototype.reposition):
        (WebInspector.Spectrum.prototype.hide):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.swatch):
        (.swatch-inner):
        (.spectrum-container):
        (.spectrum-top):
        (.spectrum-color):
        (.spectrum-hue):
        (.spectrum-fill):
        (.spectrum-range-container):
        (.spectrum-range-container *):
        (.spectrum-range-container label):
        (.spectrum-range-container input):
        (.swatch, .spectrum-dragger, .spectrum-slider):
        (.spectrum-sat):
        (.spectrum-val):
        (.spectrum-dragger):
        (.spectrum-slider):
        * inspector/front-end/inspector.html:

2012-02-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        [Qt] Be smarter with tile usages during tiling
        https://bugs.webkit.org/show_bug.cgi?id=78243

        Reviewed by Simon Hausmann.

        The keep rect used to know what existing tiles to keep around, is now a
        padding (in tile dimensions) around the usual cover rect. With usual,
        I mean to point out that we take our panning optimization into account.

        We also do a good effort at keeping the amount of tiles steady, by not
        simply intersecting our areas with the contentRect, but moving it
        first into legal bounds and then expanding in opposite direction to
        cover a similar amount of pixels.

        In the future the cover area should be calculated given available
        system memory.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore):
        (WebCore::TiledBackingStore::TiledBackingStore):
        (WebCore::TiledBackingStore::createTiles):
        (WebCore::TiledBackingStore::adjustForContentsRect):
        (WebCore::TiledBackingStore::computeCoverAndKeepRect):
        (WebCore::TiledBackingStore::tileRectForCoordinate):
        * platform/graphics/TiledBackingStore.h:
        (TiledBackingStore):

2012-02-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [InspectorIndexedDB] Pass data entries from object stores and indexes to front-end.
        https://bugs.webkit.org/show_bug.cgi?id=78503

        Reviewed by Yury Semikhatsky.

        Test: http/tests/inspector/indexeddb/database-data.html

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::deserializeForInspector):
        (WebCore):
        * bindings/js/SerializedScriptValue.h:
        (SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::deserializeForInspector):
        (WebCore):
        * bindings/v8/SerializedScriptValue.h:
        (SerializedScriptValue):
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::wrapObject):
        (WebCore::InjectedScript::wrapSerializedObject):
        (WebCore):
        (WebCore::InjectedScript::canAccessInspectedWindow):
        * inspector/InjectedScript.h:
        (InjectedScript):
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore):
        (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
        (WebCore::assertFrame):
        (WebCore::assertDocument):
        (WebCore::InspectorIndexedDBAgent::requestData):
        * inspector/InspectorIndexedDBAgent.h:
        (WebCore):
        (WebCore::InspectorIndexedDBAgent::create):
        (InspectorIndexedDBAgent):
        * inspector/front-end/IndexedDBModel.js:
        (WebInspector.IndexedDBModel.idbKeyFromKey):
        (WebInspector.IndexedDBModel.keyFromIDBKey):
        (WebInspector.IndexedDBModel.keyRangeFromIDBKeyRange):
        (WebInspector.IndexedDBModel.prototype._loadDatabase):
        (WebInspector.IndexedDBModel.prototype.loadObjectStoreData):
        (WebInspector.IndexedDBModel.prototype.loadIndexData):
        (WebInspector.IndexedDBModel.Entry):
        (WebInspector.IndexedDBRequestManager):
        (WebInspector.IndexedDBRequestManager.prototype._requestData.innerCallback):
        (WebInspector.IndexedDBRequestManager.prototype._requestData):
        (WebInspector.IndexedDBRequestManager.prototype.requestObjectStoreData):
        (WebInspector.IndexedDBRequestManager.prototype._objectStoreDataLoaded):
        (WebInspector.IndexedDBRequestManager.prototype.requestIndexData):
        (WebInspector.IndexedDBRequestManager.prototype._indexDataLoaded):
        (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
        (WebInspector.IndexedDBRequestManager.prototype._databaseRemoved):
        (WebInspector.IndexedDBRequestManager.prototype._reset):
        (WebInspector.IndexedDBRequestManager.DataRequest):
        (WebInspector.IndexedDBDispatcher.prototype.databaseLoaded):
        (WebInspector.IndexedDBDispatcher.prototype.objectStoreDataLoaded):
        (WebInspector.IndexedDBDispatcher.prototype.indexDataLoaded):

2012-02-15  Hajime Morrita  <morrita@chromium.org>

        REGRESSION(r107518): DeviceOrientationController doesn't remove registered DOMWindows
        https://bugs.webkit.org/show_bug.cgi?id=78683

        Reviewed by Kentaro Hara.
        
        A copy-n-paste disaster. This change fixed it by calling correct methods.

        No new tests. Needs browser side mocking for testing this.
        A Chromium automated test covers this.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::removeAllEventListeners):
        * page/Page.cpp:
        (WebCore::Page::provideSupplement):
        (WebCore::Page::requireSupplement):
        * page/Page.h: Fix typo.
        (Page):

2012-02-15  Roland Steiner  <rolandsteiner@chromium.org>

        Unreviewed, quick build fix for 107792

        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::RemoveAttributeAction::redo):

2012-02-15  Tony Gentilcore  <tonyg@chromium.org>

        [chromium] Don't use increased FontCache size on Android
        https://bugs.webkit.org/show_bug.cgi?id=78656

        Reviewed by Adam Barth.

        The chromium port uses a larger font cache size because it increases
        performance on the intl1 and intl2 page cyclers. However, on Android
        devices where resources are more constrained, it isn't desireable to
        allow the FontCache to grow so big.

        No new tests because no testable difference in functionality.

        * platform/graphics/FontCache.cpp:
        (WebCore):

2012-02-15  Roland Steiner  <rolandsteiner@chromium.org>

        <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot
        https://bugs.webkit.org/show_bug.cgi?id=77853

        Moved registration code from Element to Node. updated Internals and build files accordingly.
        Moved registration data members from ElementRareData to NodeRareData.
        Forward willRemove() from host element into shadow DOM tree.

        Reviewed by Dimitri Glazkov.

        Test: fast/css/style-scoped/registering-shadowroot.html

        * WebCore.exp.in:
        * dom/Element.cpp:
        (WebCore::Element::willRemove):
        * dom/Element.h:
        (Element):
        * dom/ElementRareData.h:
        (ElementRareData):
        (WebCore::ElementRareData::ElementRareData):
        * dom/Node.cpp:
        (WebCore):
        (WebCore::Node::hasScopedHTMLStyleChild):
        (WebCore::Node::numberOfScopedHTMLStyleChildren):
        (WebCore::Node::registerScopedHTMLStyleChild):
        (WebCore::Node::unregisterScopedHTMLStyleChild):
        * dom/Node.h:
        (Node):
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::NodeRareData):
        (NodeRareData):
        (WebCore::NodeRareData::registerScopedHTMLStyleChild):
        (WebCore::NodeRareData::unregisterScopedHTMLStyleChild):
        (WebCore::NodeRareData::hasScopedHTMLStyleChild):
        (WebCore::NodeRareData::numberOfScopedHTMLStyleChildren):
        * dom/ShadowRootList.cpp:
        (WebCore::ShadowRootList::willRemove):
        (WebCore):
        * dom/ShadowRootList.h:
        (ShadowRootList):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::registerWithScopingNode):
        (WebCore::HTMLStyleElement::unregisterWithScopingNode):
        * testing/Internals.cpp:
        (WebCore::Internals::numberOfScopedHTMLStyleChildren):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-02-14  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: implement redo for DOM actions.
        https://bugs.webkit.org/show_bug.cgi?id=78601

        Reviewed by Yury Semikhatsky.

        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::RemoveChildAction::perform):
        (WebCore::DOMEditor::RemoveChildAction::redo):
        (DOMEditor::RemoveChildAction):
        (WebCore::DOMEditor::InsertBeforeAction::redo):
        (DOMEditor::InsertBeforeAction):
        (WebCore::DOMEditor::RemoveAttributeAction::perform):
        (WebCore::DOMEditor::RemoveAttributeAction::redo):
        (DOMEditor::RemoveAttributeAction):
        (WebCore::DOMEditor::SetAttributeAction::perform):
        (WebCore::DOMEditor::SetAttributeAction::redo):
        (DOMEditor::SetAttributeAction):
        (WebCore::DOMEditor::SetOuterHTMLAction::redo):
        (DOMEditor::SetOuterHTMLAction):
        (WebCore::DOMEditor::ReplaceWholeTextAction::perform):
        (WebCore::DOMEditor::ReplaceWholeTextAction::redo):
        (DOMEditor::ReplaceWholeTextAction):
        (WebCore::DOMEditor::ReplaceChildNodeAction::perform):
        (WebCore::DOMEditor::ReplaceChildNodeAction::redo):
        (DOMEditor::ReplaceChildNodeAction):
        (WebCore::DOMEditor::SetNodeValueAction::perform):
        (WebCore::DOMEditor::SetNodeValueAction::redo):
        (DOMEditor::SetNodeValueAction):
        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::redo):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
        (InspectorCSSAgent::SetPropertyTextAction):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::redo):
        (InspectorCSSAgent::TogglePropertyAction):
        (WebCore::InspectorCSSAgent::SetRuleSelectorAction::perform):
        (WebCore::InspectorCSSAgent::SetRuleSelectorAction::redo):
        (InspectorCSSAgent::SetRuleSelectorAction):
        (WebCore::InspectorCSSAgent::AddRuleAction::perform):
        (WebCore::InspectorCSSAgent::AddRuleAction::redo):
        (InspectorCSSAgent::AddRuleAction):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setNodeValue):
        (WebCore::InspectorDOMAgent::redo):
        (WebCore):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        * inspector/InspectorHistory.cpp:
        (WebCore::InspectorHistory::InspectorHistory):
        (WebCore::InspectorHistory::perform):
        (WebCore::InspectorHistory::markUndoableState):
        (WebCore::InspectorHistory::undo):
        (WebCore::InspectorHistory::redo):
        (WebCore):
        * inspector/InspectorHistory.h:
        (Action):
        (InspectorHistory):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel):
        (WebInspector.CSSStyleModel.prototype._undoRedoRequested):
        (WebInspector.CSSStyleModel.prototype._undoRedoCompleted):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype.get undo):
        (WebInspector.DOMAgent.prototype.redo):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.handleShortcut):

2012-02-15  Yuta Kitamura  <yutak@chromium.org>

        WebSocket: MessageEvent fired during send() on workers
        https://bugs.webkit.org/show_bug.cgi?id=76521

        Reviewed by David Levin.

        WebSocket's message event should not be invoked while a synchronous operation
        (send() and bufferedAmount) is in progress.

        Test: http/tests/websocket/tests/hybi/workers/no-onmessage-in-sync-op.html

        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        Added #if ENABLE(WORKERS) because ThreadableWebSocketChannelClientWrapper is not used
        if Web Workers is not available.
        Changed access label because private members were declared as protected with no good reason.
        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
        Receive ScriptExecutionContext so we can post a task that should be executed later.
        (WebCore::ThreadableWebSocketChannelClientWrapper::create):
        (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasksCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):

2012-02-15  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Divide TextureMapperNode.cpp to 3 files.
        https://bugs.webkit.org/show_bug.cgi?id=76660

        Rename TextureMapperNode to TextureMapperLayer.

        Reviewed by Kenneth Rohde Christiansen.

        No new tests.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
        (WebCore::GraphicsLayerTextureMapper::notifyChange):
        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
        (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
        (WebCore::GraphicsLayerTextureMapper::setParent):
        (WebCore::GraphicsLayerTextureMapper::setChildren):
        (WebCore::GraphicsLayerTextureMapper::addChild):
        (WebCore::GraphicsLayerTextureMapper::addChildAtIndex):
        (WebCore::GraphicsLayerTextureMapper::addChildAbove):
        (WebCore::GraphicsLayerTextureMapper::addChildBelow):
        (WebCore::GraphicsLayerTextureMapper::replaceChild):
        (WebCore::GraphicsLayerTextureMapper::removeFromParent):
        (WebCore::GraphicsLayerTextureMapper::setMaskLayer):
        (WebCore::GraphicsLayerTextureMapper::setReplicatedByLayer):
        (WebCore::GraphicsLayerTextureMapper::setPosition):
        (WebCore::GraphicsLayerTextureMapper::setAnchorPoint):
        (WebCore::GraphicsLayerTextureMapper::setSize):
        (WebCore::GraphicsLayerTextureMapper::setTransform):
        (WebCore::GraphicsLayerTextureMapper::setChildrenTransform):
        (WebCore::GraphicsLayerTextureMapper::setPreserves3D):
        (WebCore::GraphicsLayerTextureMapper::setMasksToBounds):
        (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
        (WebCore::GraphicsLayerTextureMapper::setContentsOpaque):
        (WebCore::GraphicsLayerTextureMapper::setBackfaceVisibility):
        (WebCore::GraphicsLayerTextureMapper::setOpacity):
        (WebCore::GraphicsLayerTextureMapper::setContentsRect):
        (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
        (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
        (WebCore::GraphicsLayerTextureMapper::syncCompositingStateForThisLayerOnly):
        (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
        (WebCore::GraphicsLayerTextureMapper::addAnimation):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        (WebCore):
        (GraphicsLayerTextureMapper):
        (WebCore::GraphicsLayerTextureMapper::layer):
        * platform/graphics/texmap/TextureMapperLayer.cpp: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp.
        (WebCore):
        (WebCore::toTextureMapperLayer):
        (WebCore::TextureMapperLayer::rootLayer):
        (WebCore::TextureMapperLayer::setTransform):
        (WebCore::TextureMapperLayer::clearBackingStoresRecursive):
        (WebCore::TextureMapperLayer::computeTransformsRecursive):
        (WebCore::TextureMapperLayer::updateBackingStore):
        (WebCore::TextureMapperLayer::paint):
        (WebCore::TextureMapperLayer::paintSelf):
        (WebCore::TextureMapperLayer::compareGraphicsLayersZValue):
        (WebCore::TextureMapperLayer::sortByZOrder):
        (WebCore::TextureMapperLayer::paintSelfAndChildren):
        (WebCore::TextureMapperLayer::intermediateSurfaceRect):
        (WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface):
        (WebCore::TextureMapperLayer::isVisible):
        (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
        (WebCore::TextureMapperLayer::paintRecursive):
        (WebCore::TextureMapperLayer::~TextureMapperLayer):
        (WebCore::TextureMapperLayer::syncCompositingState):
        (WebCore::TextureMapperLayer::syncCompositingStateSelf):
        (WebCore::TextureMapperLayer::descendantsOrSelfHaveRunningAnimations):
        (WebCore::TextureMapperLayer::syncAnimations):
        (WebCore::TextureMapperLayer::syncAnimationsRecursively):
        * platform/graphics/texmap/TextureMapperLayer.h: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperNode.h.
        (WebCore):
        (TextureMapperPaintOptions):
        (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
        (TextureMapperLayer):
        (WebCore::TextureMapperLayer::TextureMapperLayer):
        (WebCore::TextureMapperLayer::size):
        (WebCore::TextureMapperLayer::setOpacity):
        (WebCore::TextureMapperLayer::setTextureMapper):
        (WebCore::TextureMapperLayer::setShouldUpdateBackingStoreFromLayer):
        (WebCore::TextureMapperLayer::setBackingStore):
        (WebCore::TextureMapperLayer::backingStore):
        (WebCore::TextureMapperLayer::texture):
        (WebCore::TextureMapperLayer::layerRect):
        (State):
        (WebCore::TextureMapperLayer::State::State):

2012-02-15  Hayato Ito  <hayato@chromium.org>

        ShadowRoot: Remove a public static factory function which doesn't have any callers.
        https://bugs.webkit.org/show_bug.cgi?id=78668

        Reviewed by Kent Tamura.

        No tests. No change in behavior.

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
        * dom/ShadowRoot.h:
        (ShadowRoot):

2012-02-14  Hao Zheng  <zhenghao@chromium.org>

        Cleanup pending transaction queue in Database.
        https://bugs.webkit.org/show_bug.cgi?id=75048

        Reviewed by David Levin.

        Each SQLTransaction has 3 SQLCallbackWrappers, and each of them
        holds a ref to WorkerContext. As a result, if the worker thread is
        stopped before all SQLTransactions are finished, the ASSERT of
        m_workerContext->hasOneRef() in WorkerThread::workerThread() would fail.

        No new tests.
        REGRESSION(r103429) fast/workers/storage/use-same-database-in-page-and-workers.html asserts

        * storage/Database.cpp:
        (WebCore::Database::close): Cleanup pending transaction queue in close().
        * storage/SQLCallbackWrapper.h:
        (WebCore::SQLCallbackWrapper::clear):
        (SafeReleaseTask): Make SafeReleaseTask a cleanup task, which is
        necessary because at the time of SafeReleaseTask is performed,
        WorkerRunLoop has been terminated and only runs cleanup tasks.
        (WebCore::SQLCallbackWrapper::SafeReleaseTask::create):
        (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask):
        (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask):
        (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask):

2012-02-14  Antti Koivisto  <antti@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=78662
        CSSStyleSelector should not rely on parent rule pointer in StylePropertySet

        Reviewed by Andreas Kling.

        Pass the rule pointer down to the style applying so we don't need to rely on
        StylePropertySet having one.

        To make this easier the patch also refactors the matched properties vector to
        be part of MatchResult object instead of a member of CSSStyleSelector.
        
        Rename Declaration -> Properties.
        
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::sweepMatchedPropertiesCache):
        (WebCore::CSSStyleSelector::addMatchedProperties):
        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
        (WebCore::CSSStyleSelector::matchScopedAuthorRules):
        (WebCore::CSSStyleSelector::matchAuthorRules):
        (WebCore::CSSStyleSelector::matchUserRules):
        (WebCore::CSSStyleSelector::matchUARules):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        (WebCore::CSSStyleSelector::matchAllRules):
        (WebCore):
        (WebCore::CSSStyleSelector::initForStyleResolve):
        (WebCore::CSSStyleSelector::matchesRuleSet):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::styleForKeyframe):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::CSSStyleSelector::styleForPage):
        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
        (WebCore::isInsideRegionRule):
        (WebCore::CSSStyleSelector::applyProperties):
        (WebCore::CSSStyleSelector::applyMatchedProperties):
        (WebCore::CSSStyleSelector::computeMatchedPropertiesHash):
        (WebCore::operator==):
        (WebCore::operator!=):
        (WebCore::CSSStyleSelector::findFromMatchedPropertiesCache):
        (WebCore::CSSStyleSelector::addToMatchedPropertiesCache):
        (WebCore::CSSStyleSelector::invalidateMatchedPropertiesCache):
        (WebCore::isCacheableInMatchedPropertiesCache):
        (WebCore::CSSStyleSelector::matchPageRules):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        (WebCore::CSSStyleSelector::addMatchedRule):
        (WebCore::CSSStyleSelector::MatchedProperties::MatchedProperties):
        (MatchedProperties):
        (MatchResult):
        (MatchedPropertiesCacheItem):

2012-02-14  Takashi Toyoshima  <toyoshim@chromium.org>

        WebSocketChannel minor refactoring for code manageability
        https://bugs.webkit.org/show_bug.cgi?id=78576

        Reviewed by Kent Tamura.

        Change the first argument type of WebSocketChannel
        from ScriptExecutionContext to Document.
        WebSocketChannel always assume this ScriptExecutionContext must
        inherit Document. Then, it results in many static cast.
        It isn't readable and dangerous against future code changes.

        * websockets/ThreadableWebSocketChannel.cpp: Pass the first argument for WebSocketChannel as Document.
        (WebCore::ThreadableWebSocketChannel::create):
        * websockets/WebSocketChannel.cpp: Replace all ScriptExecutionContext* m_context descriptions to Document* m_document.
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::connect):
        (WebCore::WebSocketChannel::fail):
        (WebCore::WebSocketChannel::disconnect):
        (WebCore::WebSocketChannel::didOpenSocketStream):
        (WebCore::WebSocketChannel::didCloseSocketStream):
        (WebCore::WebSocketChannel::didReceiveSocketStreamData):
        (WebCore::WebSocketChannel::didFailSocketStream):
        (WebCore::WebSocketChannel::processBuffer):
        (WebCore::WebSocketChannel::processOutgoingFrameQueue):
        * websockets/WebSocketChannel.h: Change the first argument for construction to Document and hold it as Document m_document.
        (WebCore):
        (WebCore::WebSocketChannel::create):
        (WebSocketChannel):
        * websockets/WorkerThreadableWebSocketChannel.cpp: Pass the first argument for WebSocketChannel as Document.
        (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):

2012-02-14  Noel Gordon  <noel.gordon@gmail.com>

        Unreviewed, rolling out r107774.
        http://trac.webkit.org/changeset/107774
        https://bugs.webkit.org/show_bug.cgi?id=78661

        Broke Chromium build

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        * platform/ScrollAnimator.cpp:
        (WebCore):
        (WebCore::ScrollAnimator::handleGestureEvent):
        * platform/ScrollAnimator.h:
        (ScrollAnimator):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        (ScrollView):
        * platform/ScrollableArea.cpp:
        (WebCore):
        (WebCore::ScrollableArea::handleGestureEvent):
        * platform/ScrollableArea.h:
        (ScrollableArea):

2012-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r107766.
        http://trac.webkit.org/changeset/107766
        https://bugs.webkit.org/show_bug.cgi?id=78665

        Breaks Chromium Win build (Requested by bashi1 on #webkit).

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * websockets/WebSocketDeflater.cpp: Removed.
        * websockets/WebSocketDeflater.h: Removed.

2012-02-14  Anders Carlsson  <andersca@apple.com>

        Remove ScrollableArea::handleGestureEvent
        https://bugs.webkit.org/show_bug.cgi?id=78661

        Reviewed by Sam Weinig.

        ScrollableArea::handleGestureEvent ends up being a no-op so remove it and the related code. 

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        * platform/ScrollAnimator.cpp:
        * platform/ScrollAnimator.h:
        (ScrollAnimator):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        (ScrollView):
        * platform/ScrollableArea.cpp:
        * platform/ScrollableArea.h:
        (ScrollableArea):

2012-02-14  Kentaro Hara  <haraken@chromium.org>

        [JSC] Cache the number of non-custom constructor arguments
        https://bugs.webkit.org/show_bug.cgi?id=78195

        Reviewed by Darin Adler.

        If [ConstructorParameters=] is specified, JSC caches the number of constructor
        arguments for performance. However, at present, [ConstructorParameters=] is specified
        on a small part of constructors (It appears that people have forgotten to
        add [ConstructorParameters=]). Thus, for non-custom constructors, this patch modifies
        CodeGeneratorJS.pm so that it caches the number of constructor arguments automatically
        without [ConstructorParameters=] (CodeGeneratorJS.pm can know the number of arguments
        by the [Constructor=...] signature).

        Test: fast/js/constructor-length.html

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateConstructorDefinition):

2012-02-14  Mark Rowe  <mrowe@apple.com>

        <http://webkit.org/b/78658> platformUserPreferredLanguages is leaking all of the language codes

        Reviewed by Darin Adler.

        * platform/mac/Language.mm:
        (WebCore::httpStyleLanguageCode): Switch to using RetainPtr's for temporaries to make the ownership
        more explicit. Switch to returning a WTF::String so that the caller doesn't have to worry about
        ownership at all. Change the name to reflect the lack of transfer of ownership.
        (WebCore::platformUserPreferredLanguages):

2012-02-14  Kentaro Hara  <haraken@chromium.org>

        [Mac] PasteboardMac.mm build fails
        https://bugs.webkit.org/show_bug.cgi?id=78655

        Reviewed by Hajime Morita.

        Although the bots have been working fine, PasteboardMac.mm build fails
        in our local Mac environments due to an uninitialized variable:

            /Users/haraken/WebKit/Source/WebCore/platform/mac/PasteboardMac.mm:322: warning: 'string' may be used uninitialized in this function

        This patch initializes the 'string' to nil to fix the build failure.

        No tests. No change in behavior.

        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::plainText):

2012-02-14  Kenichi Ishibashi  <bashi@chromium.org>

        [WebSocket] Add extension attribute support
        https://bugs.webkit.org/show_bug.cgi?id=78557

        Implement WebSocket "extensions" attribute that holds a list of
        extension the server accepted. No change in behavior at this time
        because we don't send any extension on handshake.

        Reviewed by Kent Tamura.

        No new tests. http/tests/websocket/tests/hybi/extensions.html checks the value of this attribute.

        * websockets/ThreadableWebSocketChannel.h: Add extensions().
        (ThreadableWebSocketChannel):
        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::extensions): Added.
        (WebCore):
        (WebCore::ThreadableWebSocketChannelClientWrapper::setExtensions): Added.
        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        (ThreadableWebSocketChannelClientWrapper):
        * websockets/WebSocket.cpp: Added m_extensions member variable.
        (WebCore::WebSocket::WebSocket):
        (WebCore::WebSocket::extensions): Returns m_extensions.
        * websockets/WebSocket.h:
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::extensions): Added.
        (WebCore):
        * websockets/WebSocketChannel.h:
        (WebSocketChannel):
        * websockets/WebSocketExtensionDispatcher.cpp:
        (WebCore::WebSocketExtensionDispatcher::fail): Added.
        (WebCore::WebSocketExtensionDispatcher::processHeaderValue): Stores accepted extensions.
        (WebCore::WebSocketExtensionDispatcher::acceptedExtensions): Added.
        (WebCore):
        (WebCore::WebSocketExtensionDispatcher::acceptedExtensions): Added.
        * websockets/WebSocketExtensionDispatcher.h:
        (WebSocketExtensionDispatcher):
        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::acceptedExtensions): Added.
        (WebCore):
        * websockets/WebSocketHandshake.h:
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::extensions): Added.
        (WebCore):
        (WebCore::workerContextDidConnect): Calls ThreadableWebSocketChannelClientWrapper::setExtensions().
        (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect): Passes extensions as an argument.
        * websockets/WorkerThreadableWebSocketChannel.h:
        (WorkerThreadableWebSocketChannel):

2012-02-14  Kentaro Hara  <haraken@chromium.org>

        Rename [JSGenerateToJS] to [JSGenerateToJSObject]
        https://bugs.webkit.org/show_bug.cgi?id=78490

        Reviewed by Adam Barth.

        This patch renames [JSGenerateToJS] to [JSGenerateToJSObject],
        for naming consistency with [CustomToJSObject], [JSCustomToJSObject] and [V8CustomToJSObject].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * dom/WebKitNamedFlow.idl:
        * fileapi/DirectoryEntry.idl:
        * fileapi/DirectoryEntrySync.idl:
        * fileapi/File.idl:
        * fileapi/FileEntry.idl:
        * fileapi/FileEntrySync.idl:
        * html/DOMFormData.idl:
        * html/DOMSettableTokenList.idl:
        * html/DOMURL.idl:
        * html/MediaController.idl:
        * mediastream/LocalMediaStream.idl:
        * webaudio/AudioBufferCallback.idl:
        * webaudio/AudioBufferSourceNode.idl:
        * webaudio/AudioDestinationNode.idl:
        * webaudio/AudioGain.idl:
        * webaudio/AudioGainNode.idl:
        * webaudio/AudioPannerNode.idl:
        * webaudio/AudioProcessingEvent.idl:
        * webaudio/BiquadFilterNode.idl:
        * webaudio/ConvolverNode.idl:
        * webaudio/DelayNode.idl:
        * webaudio/DynamicsCompressorNode.idl:
        * webaudio/HighPass2FilterNode.idl:
        * webaudio/JavaScriptAudioNode.idl:
        * webaudio/LowPass2FilterNode.idl:
        * webaudio/MediaElementAudioSourceNode.idl:
        * webaudio/OfflineAudioCompletionEvent.idl:
        * webaudio/RealtimeAnalyserNode.idl:
        * webaudio/WaveShaperNode.idl:
        * workers/SharedWorker.idl:
        * workers/Worker.idl:

2012-02-14  Kenichi Ishibashi  <bashi@chromium.org>

        [WebSocket] Add deflater/inflater classes
        https://bugs.webkit.org/show_bug.cgi?id=78449

        Add WebSocketDeflater/WebSocketInflater classes which wrap zlib
        functions. These classes are not used yet, but will be used for
        supporting WebSocket deflate-frame extension.

        Reviewed by Kent Tamura.

        No new tests except for chromium port. Behavior is unchanged.

        * GNUmakefile.list.am: Added.WebSocketDeflater.(cpp|h).
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * websockets/WebSocketDeflater.cpp: Added.
        (WebCore):
        (WebCore::WebSocketDeflater::create):
        (WebCore::WebSocketDeflater::WebSocketDeflater):
        (WebCore::WebSocketDeflater::initialize):
        (WebCore::WebSocketDeflater::~WebSocketDeflater):
        (WebCore::WebSocketDeflater::addBytes):
        (WebCore::WebSocketDeflater::finish):
        (WebCore::WebSocketDeflater::reset):
        (WebCore::WebSocketInflater::create):
        (WebCore::WebSocketInflater::WebSocketInflater):
        (WebCore::WebSocketInflater::initialize):
        (WebCore::WebSocketInflater::~WebSocketInflater):
        (WebCore::WebSocketInflater::addBytes):
        (WebCore::WebSocketInflater::finish):
        (WebCore::WebSocketInflater::reset):
        * websockets/WebSocketDeflater.h: Added.
        (WebCore):
        (WebSocketDeflater):
        (WebCore::WebSocketDeflater::data):
        (WebCore::WebSocketDeflater::size):
        (WebSocketInflater):
        (WebCore::WebSocketInflater::data):
        (WebCore::WebSocketInflater::size):

2012-02-14  Dana Jansens  <danakj@chromium.org>

        [chromium] Compare filters on impl thread when setting them, and test setting in unit tests
        https://bugs.webkit.org/show_bug.cgi?id=78643

        Reviewed by James Robinson.

        Add setFilters() coverage to CCLayerImplTest.cpp

        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::setFilters):

2012-02-14  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in deleteInsignificantText
        https://bugs.webkit.org/show_bug.cgi?id=78567

        Reviewed by Eric Seidel.

        Fix the crash. Also update layout at the beginning of each call to deleteInsignificantText
        since the previous call may have mutated the DOM.

        Test: editing/inserting/delete-insignificant-text-crash.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::deleteInsignificantText):

2012-02-14  Levi Weintraub  <leviw@chromium.org>

        Prepare RenderLayerBacking and RenderLayerCompositor for subpixel layout
        https://bugs.webkit.org/show_bug.cgi?id=78630

        Reviewed by Simon Fraser.

        In our transition to subpixel layout in the render tree, we continue to pass RenderLayerBacking
        and RenderLayerCompositor integer (pixel) sizes and positions. This patch moves nearly all
        methods and members on these two classes back to integers, and applies pixel snapping logic to
        LayoutUnits pulled in.

        No new tests. No change in behavior.

        * rendering/RenderBox.h:
        (WebCore::RenderBox::pixelSnappedLayoutOverflowRect): Convenience function for getting pixel
        snapped overflow bounds.
        * rendering/RenderLayerBacking.cpp:
        (WebCore):
        (WebCore::RenderLayerBacking::updateCompositedBounds): Switch to integers and pixel snapping the
        clipping bounds.
        (WebCore::clipBox): Returns a pixel snapped rect.
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Using pixelSnappedLayerCoords. Removing
        pixelSnappedIntRect calls to clipBox since this is now an IntRect.
        (WebCore::RenderLayerBacking::computeTransformOrigin): Switching to operate on a pixel snapped rect.
        (WebCore::RenderLayerBacking::computePerspectiveOrigin): Ditto.
        (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer): Returns a size based on m_compositingBounds,
        which is now an IntSize.
        (WebCore::RenderLayerBacking::contentsBox): Switching to use pixel snapped values from the render tree.
        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): This now takes in and outputs integers.
        (WebCore::RenderLayerBacking::paintIntoLayer): Uses a pixel snapped rect for the dirty rect.
        (WebCore::paintScrollbar): Scrollbars are Widgets & painted natively, so they should use integers.
        (WebCore::RenderLayerBacking::paintContents): We now properly take in an integer clip rect, as it's
        used for the scrollbars. 
        (WebCore::RenderLayerBacking::startAnimation): Using pixel snapped values for animations and transitions.
        (WebCore::RenderLayerBacking::startTransition): Ditto.
        (WebCore::RenderLayerBacking::compositedBounds): Composited bounds are now properly stored as integers.
        (WebCore::RenderLayerBacking::setCompositedBounds): Ditto.
        * rendering/RenderLayerBacking.h:
        (RenderLayerBacking):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds): Composited bounds are pixel snapped, but
        we use LayoutUnits up until we snap and return.
        (WebCore::RenderLayerCompositor::addToOverlapMap): Overlap mapping uses our integer positions. Switching
        it back to operating on them.
        (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): Ditto.
        (WebCore::RenderLayerCompositor::overlapsCompositedLayers): Ditto.
        (WebCore::RenderLayerCompositor::computeCompositingRequirements): Using integers.
        (WebCore::RenderLayerCompositor::frameViewDidChangeLocation): FrameViews are on integer bounds. We now
        properly use these as integers.
        (WebCore::RenderLayerCompositor::frameViewDidScroll): Ditto.
        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Switching to use integers and
        pixelSnappedLayerCoords.
        (WebCore::RenderLayerCompositor::repaintCompositedLayersAbsoluteRect): Ditto.
        (WebCore::RenderLayerCompositor::updateRootLayerPosition): Using integer positions, which are what
        the apis used already returned.
        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Using pixel snapped values.
        (WebCore::RenderLayerCompositor::requiresCompositingForFrame): Ditto.
        (WebCore::paintScrollbar): Scrollbars should always use integers.
        (WebCore::RenderLayerCompositor::paintContents): Switching to use an integer clip rect.
        (WebCore::RenderLayerCompositor::ensureRootLayer): Using values from new pixelSnappedLayoutOverflowRect
        method on RenderBox to ensure we're using values that are pixel snapped to the proper location.
        (WebCore::RenderLayerCompositor::destroyRootLayer): Properly calling scrollbar invalidation methods
        with integers.
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):

2012-02-14  Anders Carlsson  <andersca@apple.com>

        Swipe gestures don't work if main frame has a horizontal scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=78650
        <rdar://problem/10864993>

        Reviewed by Sam Weinig.

        Change ScrollingTree::tryToHandleWheelEvent so we can indicate that an event was
        processed by the scrolling tree but that we should indicate back to WebKit that it wasn't handled.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::ScrollingTree):
        Initialize new member variables.

        (WebCore::ScrollingTree::tryToHandleWheelEvent):
        If the wheel event will start a swipe gesture, return DidNotHandleEvent.

        (WebCore::ScrollingTree::updateBackForwardState):
        This can now be called from any thread, so use a mutex.

        (WebCore::ScrollingTree::setMainFramePinState):
        New function that will set the current main frame pin state.

        (WebCore::ScrollingTree::canGoBack):
        (WebCore::ScrollingTree::canGoForward):
        Put locks around these.

        (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
        Helper function that returns whether the given wheel event will start a swipe gesture
        because the main frame is pinned to the left/right and we can go back/forward.

        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::update):
        Call updateMainFramePinState if the frame geometry changes.

        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
        Call updateMainFramePinState.

        (WebCore::ScrollingTreeNodeMac::updateMainFramePinState):
        Compute the main frame pin state and set it on the scrolling tree.

2012-02-14  Brian Weinstein  <bweinstein@apple.com>

        Web Inspector: Add the ability to show the resources panel on launch
        https://bugs.webkit.org/show_bug.cgi?id=78641

        Reviewed by Timothy Hatcher.

        * WebCore.exp.in: Add a new function to be exported.
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::showResources): Call showResources on load.
        * inspector/InspectorFrontendClientLocal.h:
        (InspectorFrontendClientLocal):
        * inspector/front-end/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.showResources): Show the resources panel.

2012-02-14  Enrica Casucci  <enrica@apple.com>

        REGRESSION (r107568-r107627): Crash when copying in WebCore::SharedBuffer::hasPlatformData().
        https://bugs.webkit.org/show_bug.cgi?id=78577

        Reviewed by Dan Bernstein.

        * platform/mac/PlatformPasteboardMac.mm:
        (WebCore::PlatformPasteboard::setBufferForType): Missing null check when
        setting data to the NSPasteboard.

2012-02-14  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in WebCore::SVGElement::removedFromDocument
        https://bugs.webkit.org/show_bug.cgi?id=77270

        Reviewed by Adam Barth.

        Add a protector before calling NodeRemovalDispatcher::dispatch since
        NodeRemovalDispatcher::dispatch may remove the last RefPtr to this node.

        Test: fast/dom/Range/surround-contents-font-face-crash.svg

        * dom/ContainerNodeAlgorithms.h:
        (WebCore::Private::addChildNodesToDeletionQueue):

2012-02-14  Matt Lilek  <mrl@apple.com>

        Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
        https://bugs.webkit.org/show_bug.cgi?id=78629

        Reviewed by David Kilzer.

        * Configurations/FeatureDefines.xcconfig:

2012-02-14  Andreas Kling  <awesomekling@apple.com>

        Avoid full style recalc when presentation attributes change.
        <http://webkit.org/b/78636>

        Reviewed by Antti Koivisto.

        Use setNeedsStyleRecalc(InlineStyleChange) when a presentation attribute changes
        to reduce the amount of work done in recalcStyle().

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):

2012-02-14  Ramya Chandrasekaran  <cramya@google.com>

        Last character display for passwords in Android.
        https://bugs.webkit.org/show_bug.cgi?id=78532

        Reviewed by Adam Barth.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):

2012-02-14  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Invalid dates should not be valid keys
        https://bugs.webkit.org/show_bug.cgi?id=78622

        Reviewed by Tony Chang.

        Tests: storage/indexeddb/invalid-keys.html
               storage/indexeddb/factory-cmp.html

        * bindings/v8/IDBBindingUtilities.cpp: Special case for NaN Dates.
        (WebCore::createIDBKeyFromValue):

2012-02-14  Ken Buchanan  <kenrb@chromium.org>

        Crash from line break iterators in counter content
        https://bugs.webkit.org/show_bug.cgi?id=72977

        Reviewed by David Hyatt.

        Calculating the width of counter text can sometimes cause the
        underlying text buffer to change. This patch causes the iterator
        to reset appropriately when this happens.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):

2012-02-14  Levi Weintraub  <leviw@chromium.org>

        Update usage of LayoutUnits in RenderLayer
        https://bugs.webkit.org/show_bug.cgi?id=78511

        Reviewed by Simon Fraser.

        Updating RenderLayer to properly use LayoutUnits. See descriptions below for the rationale behind all
        the changes. Also adding a roundedIntSize method that takes a LayoutSize.

        No new tests. No change in behavior.

        * rendering/LayoutTypes.h:
        (WebCore::roundedIntSize): Inline method that currently does nothing, but will round a LayoutSize
        to an IntSize.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions): Switching repaint and outline boxes to LayoutRects, as
        it's important to keep the precision of these rects until handing off to the embedder (in FrameView).
        (WebCore::RenderLayer::computeRepaintRects): Repaint rects should be preserved in subpixel units until
        being passed to the embedding layer. This prevents needless repaints.
        (WebCore::RenderLayer::convertToPixelSnappedLayerCoords): Convenience function to return pixel snapped rects
        (WebCore):
        (WebCore::RenderLayer::convertToLayerCoords): Fixing a style flaw.
        (WebCore::RenderLayer::scrollRectToVisible): Pixel snapping the rect when handing off to the embedder.
        (WebCore::RenderLayer::maximumScrollPosition): Scroll offsets are rounded.
        (WebCore::RenderLayer::scrollCornerRect): Scrollbars are drawn natively and should be positioned on pixel
        boundaries.
        (WebCore::RenderLayer::scrollCornerAndResizerRect): Resize corner doesn't influence the size/position of
        render objects. It is only painted and hit tested. Therefor it should use integers.
        (WebCore::RenderLayer::offsetFromResizeCorner): Ditto.
        (WebCore::RenderLayer::positionOverflowControls): Overflow controls are drawn natively and should be
        positioned on integer boundaries.
        (WebCore::RenderLayer::paintOverflowControls): Ditto.
        (WebCore::RenderLayer::paintScrollCorner): Ditto.
        (WebCore::RenderLayer::drawPlatformResizerImage): Ditto.
        (WebCore::RenderLayer::paintResizer): Ditto.
        (WebCore::RenderLayer::hitTestOverflowControls): Hit testing & overflow controls both use integers.
        (WebCore::RenderLayer::clipToRect): Clipping to actual painted (pixel snapped) layer bounds in the
        graphics context.
        (WebCore::RenderLayer::paintLayerContents): Calling paintOverflowControls at pixel bounds.
        (WebCore::RenderLayer::hitTest): Intersecting the hit test area with pixel snapped boundaries.
        (WebCore::RenderLayer::setBackingNeedsRepaintInRect): Sending pixelSnapped rects to the backing
        store, which only cares about pixels, and hence integers.
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::scrolledContentOffset): RenderLayer's scroll offsets are used in platform
        code, so we need to return them as integers. Rounding the scroll overflow before adding it to the
        scroll offset, which was already stored in integers.
        (RenderLayer):

2012-02-14  Abhishek Arya  <inferno@chromium.org>

        Crash in NavigationScheduler::schedule.
        https://bugs.webkit.org/show_bug.cgi?id=78297

        Reviewed by Adam Barth.

        Protect frame pointer and navigation scheduler when we stop the
        load (when redirect is scheduled during a load). Also, dont fire
        the navigation scheduler timer when we know that frameloader is
        going away.

        Test: http/tests/navigation/navigation-redirect-schedule-crash.html

        * loader/NavigationScheduler.cpp:
        (WebCore::NavigationScheduler::schedule):

2012-02-14  Alexis Menard  <alexis.menard@openbossa.org>

        font shorthand with inherit keyword incorrectly parsed and rendered
        https://bugs.webkit.org/show_bug.cgi?id=20181

        Reviewed by Tony Chang.

        As stated in http://www.w3.org/TR/CSS21/changes.html#q142
        if the inherit (and also by extension initial) is encountered in the
        middle of the shorthand then the property becomes invalid.

        Test: fast/css/font-shorthand-mix-inherit.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFont):
        (WebCore::CSSParser::parseFontFamily):

2012-02-14  Abhishek Arya  <inferno@chromium.org>

        Crash due to incorrect firing of mutation event during class attribute parsing.
        https://bugs.webkit.org/show_bug.cgi?id=78537

        Reviewed by Ryosuke Niwa.

        Test: fast/dom/class-attr-change-double-mutation-fire.html

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::classAttributeChanged):

2012-02-14  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc: add isZero implementations to catch divide by zero
        https://bugs.webkit.org/show_bug.cgi?id=78603

        Reviewed by Ojan Vafai.

        * css/CSSCalculationValue.cpp:
        (WebCore::CSSCalcPrimitiveValue::isZero):
        (CSSCalcPrimitiveValue):
        (WebCore::CSSCalcBinaryOperation::isZero):
        (CSSCalcBinaryOperation):
        * css/CSSCalculationValue.h:
        (CSSCalcExpressionNode):

2012-02-12  Timothy Hatcher  <timothy@apple.com>

        Don't include CachedResources that haven't downloaded when populating the Web Inspector on load.

        https://webkit.org/b/78447
        rdar://problem/10843542

        Reviewed by Brian Weinstein.

        Test: inspector/protocol/page-agent.html

        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::cachedResourcesForFrame): Skip CachedFonts and CachedImages that
        return true for stillNeedsLoad.
        * loader/cache/CachedFont.h:
        (WebCore::CachedFont::stillNeedsLoad): Added.

2012-02-12  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: include failed and canceled in FrameResourceTree.

        https://webkit.org/b/78445

        Reviewed by Pavel Feldman.

        Test: inspector/protocol/page-agent.html

        * WebCore.xcodeproj/project.pbxproj: Added Inspector.json, Inspector-0.1.json and Inspector-1.0.json
        for quick access and easy editing.
        * inspector/Inspector.json: Added failed and canceled as optional properties to the object for resources in FrameResourceTree.
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::buildObjectForFrameTree): Set those properties.

2012-02-14  Csaba Osztrogonác  <ossy@webkit.org>

        Typo fix after r107707.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::updateBackingStore):

2012-02-14  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] extract TimelineOverviewWindow from TimelineOverviewPanel
        https://bugs.webkit.org/show_bug.cgi?id=78599

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.reset):
        (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
        (WebInspector.TimelineOverviewWindow):
        (WebInspector.TimelineOverviewWindow.prototype.reset):
        (WebInspector.TimelineOverviewWindow.prototype.scrollWindow):
        (WebInspector.TimelineOverviewWindow.prototype._windowResizeDragging):
        (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
        (WebInspector.TimelineOverviewWindow.prototype._windowSelectorDragging):
        (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
        (WebInspector.TimelineOverviewWindow.prototype._windowDragging):
        (WebInspector.TimelineOverviewWindow.prototype._resizeWindowRight):
        (WebInspector.TimelineOverviewWindow.prototype._resizeWindowMaximum):
        (WebInspector.TimelineOverviewWindow.prototype._setWindowPosition):
        (WebInspector.TimelineOverviewWindow.prototype._endWindowDragging):
        (WebInspector.TimelinePanel.WindowSelector):

2012-02-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Make ScriptsNavigator default file selector.
        https://bugs.webkit.org/show_bug.cgi?id=78349

        Reviewed by Pavel Feldman.

        Moved ScriptsNavigator out of experiments.
        Introduced new setting "useScriptsNavigator" with true as default value.
        Updated scripts panel tests related to file selector.

        Tests: inspector/debugger/scripts-combobox-file-selector-history.html
               inspector/debugger/scripts-file-selector.html

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype._removeUISourceCode):
        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
        (WebInspector.ScriptsPanel.prototype._addUISourceCode):
        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):

2012-02-14  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][Texmap] Refactor backing-store code in TextureMapper
        https://bugs.webkit.org/show_bug.cgi?id=78305

        Instead of dealing with tiling inside of TextureMapperNode, we now deal with that in a new
        TextureMapperBackingStore class. Since the class is abstract, WebKit2 can overload it to
        support remotely-managed tiles.
        The backing-store for directly composited images is handled separately, in a new class
        TextureMapperCompositedImage. The TextureMapper implementation decides the dimension of
        the tiles, for example 2000 in the case of OpenGL.
        Also, directly composited content is now handled correctly, by painting it after the regular
        content and not as part of the same texture.

        To make this work, the functions in TextureMapperPlatformLayers had to become non-const,
        thus the changes to that file and GraphicsContext3DQt.

        Reviewed by Kenneth Rohde Christiansen.

        No new functionality, no new tests.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * platform/graphics/opengl/TextureMapperGL.h:
        (WebCore::TextureMapperGL::maxTextureDimension):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
        (WebCore::GraphicsLayerTextureMapper::didSynchronize):
        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
        (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
        (WebCore::GraphicsLayerTextureMapper::addChildBelow):
        (WebCore):
        (WebCore::GraphicsLayerTextureMapper::getContentsLayer):
        (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
        (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        (GraphicsLayerTextureMapper):
        (WebCore::GraphicsLayerTextureMapper::platformLayer):
        (WebCore::GraphicsLayerTextureMapper::needsDisplay):
        (WebCore::GraphicsLayerTextureMapper::needsDisplayRect):
        * platform/graphics/texmap/TextureMapper.cpp:
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::TextureMapper::maxTextureDimension):
        (TextureMapper):
        * platform/graphics/texmap/TextureMapperBackingStore.cpp: Added.
        * platform/graphics/texmap/TextureMapperBackingStore.h: Added.
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::backingStore):
        (WebCore::TextureMapperNode::updateBackingStore):
        (WebCore::TextureMapperNode::paint):
        (WebCore::TextureMapperNode::paintSelf):
        (WebCore::TextureMapperNode::intermediateSurfaceRect):
        (WebCore::TextureMapperNode::paintRecursive):
        (WebCore::TextureMapperNode::syncCompositingStateSelf):
        (WebCore::TextureMapperNode::syncCompositingState):
        * platform/graphics/texmap/TextureMapperNode.h:
        (TextureMapperPaintOptions):
        (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
        (WebCore::TextureMapperNode::TextureMapperNode):
        (TextureMapperNode):
        (WebCore::TextureMapperNode::setBackingStore):
        (WebCore::TextureMapperNode::texture):
        (WebCore::TextureMapperNode::layerRect):
        (WebCore::TextureMapperNode::createBackingStore):
        (State):
        (WebCore::TextureMapperNode::State::State):
        * platform/graphics/texmap/TextureMapperPlatformLayer.h:
        (TextureMapperPlatformLayer):
        (WebCore::TextureMapperPlatformLayer::swapBuffers):

2012-02-14  Shinya Kawanaka  <shinyak@google.com>

        Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
        https://bugs.webkit.org/show_bug.cgi?id=78455

        Reviewed by Hajime Morita.

        Element::shadowRoot() was used for these 3 purposes.
        1. checks a shadow root exists.
        2. gets author shadow root.
        3. gets user agent shadow root.

        We have to distinguish them when implementing multiple shadow subtrees.

        Calling for (1), (2), and (3) are convered to hasShadowRoot(),
        ShadowRootList()->youngestShadowRoot(), and ShadowRootList()->oldestShadowRoot() respectively.

        No new tests, no change in behavior.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::buildAccessKeyMap):
        * dom/Element.cpp:
        (WebCore::Element::insertedIntoDocument):
        (WebCore::Element::removedFromDocument):
        (WebCore::Element::insertedIntoTree):
        (WebCore::Element::removedFromTree):
        (WebCore::Element::attach):
        (WebCore::Element::detach):
        (WebCore::Element::recalcStyle):
        (WebCore::Element::ensureShadowRoot):
        (WebCore::Element::childrenChanged):
        (WebCore::Element::focus):
        * dom/Element.h:
        (Element):
        * dom/EventDispatcher.cpp:
        (WebCore::isShadowHost):
        * dom/Node.cpp:
        (WebCore::shadowRoot):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
        * dom/ShadowRootList.cpp:
        (WebCore::ShadowRootList::insertedIntoDocument):
        (WebCore):
        (WebCore::ShadowRootList::removedFromDocument):
        (WebCore::ShadowRootList::insertedIntoTree):
        (WebCore::ShadowRootList::removedFromTree):
        (WebCore::ShadowRootList::hostChildrenChanged):
        (WebCore::ShadowRootList::attach):
        (WebCore::ShadowRootList::detach):
        * dom/ShadowRootList.h:
        (ShadowRootList):
        * dom/TreeScopeAdopter.cpp:
        (WebCore::shadowRootFor):
        * html/FileInputType.cpp:
        (WebCore::FileInputType::createShadowSubtree):
        (WebCore::FileInputType::multipleAttributeChanged):
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::createShadowSubtree):
        (WebCore::HTMLDetailsElement::findMainSummary):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::createShadowSubtree):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        (WebCore::HTMLKeygenElement::shadowSelect):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaControls):
        (WebCore::HTMLMediaElement::hasMediaControls):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::createShadowSubtree):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::createShadowSubtree):
        * html/HTMLSummaryElement.cpp:
        (WebCore::HTMLSummaryElement::createShadowSubtree):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::createShadowSubtree):
        (WebCore::HTMLTextAreaElement::innerTextElement):
        (WebCore::HTMLTextAreaElement::updatePlaceholderText):
        * html/InputType.cpp:
        (WebCore::InputType::destroyShadowSubtree):
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleMouseDownEvent):
        (WebCore::RangeInputType::createShadowSubtree):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::createShadowSubtree):
        (WebCore::TextFieldInputType::updatePlaceholderText):
        * html/ValidationMessage.cpp:
        (WebCore::ValidationMessage::deleteBubbleTree):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::sliderThumbElementOf):
        (WebCore::RenderSliderContainer::layout):
        (WebCore::trackLimiterElementOf):
        * page/FocusController.cpp:
        (WebCore::shadowRoot):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::uploadButton):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::updateReferencedText):
        * testing/Internals.cpp:
        (WebCore::Internals::ensureShadowRoot):
        (WebCore::Internals::shadowRoot):
        (WebCore):
        (WebCore::Internals::youngestShadowRoot):
        (WebCore::Internals::oldestShadowRoot):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-02-14  Alexander Pavlov  <apavlov@chromium.org>

        Elements panel needs to be able to preview images
        https://bugs.webkit.org/show_bug.cgi?id=21570

        Reviewed by Pavel Feldman.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.willHide):
        (WebInspector.ElementsPanel.prototype._getPopoverAnchor):
        (WebInspector.ElementsPanel.prototype._loadDimensionsForNode.resolvedNode.dimensions):
        (WebInspector.ElementsPanel.prototype._loadDimensionsForNode.resolvedNode):
        (WebInspector.ElementsPanel.prototype._loadDimensionsForNode):
        (WebInspector.ElementsPanel.prototype._showPopover.dimensionsCallback):
        (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
        (WebInspector.ElementsPanel.prototype._showPopover.buildPopoverContents):
        (WebInspector.ElementsPanel.prototype._showPopover):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype._onmousemove):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.get g):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
        * inspector/front-end/elementsPanel.css:
        (.image-preview-container):
        (.image-preview-container img):

2012-02-14  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: List expansion arrows is pointing down even
        when the list of eventListeners are hidden in the Elements tab
        https://bugs.webkit.org/show_bug.cgi?id=78360

        Reviewed by Timothy Hatcher.

        * inspector/front-end/elementsPanel.css:
        (.section .event-bar .header):
        (.section .event-bars .event-bar .header .title):
        (.section .event-bar .header .subtitle):
        (.section .event-bar .header::before):
        (.section .event-bar.expanded .header::before):

2012-02-14  Hayato Ito  <hayato@chromium.org>

        Make ShadowRoot.nodeType return DOCUMENT_FRAGMENT_NODE.
        https://bugs.webkit.org/show_bug.cgi?id=77514

        Reviewed by Dimitri Glazkov.

        NodeType.SHADOW_ROOT_NODE type is finally gone.

        * bindings/js/JSNodeCustom.cpp:
        (WebCore::createWrapperInline):
        * bindings/objc/DOM.mm:
        (kitClass):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):
        * dom/ContainerNode.cpp:
        (WebCore::collectTargetNodes):
        (WebCore::ContainerNode::replaceChild):
        * dom/Document.cpp:
        (WebCore::Document::importNode):
        (WebCore::Document::childTypeAllowed):
        (WebCore::Document::canReplaceChild):
        * dom/Node.cpp:
        (WebCore::Node::dumpStatistics):
        (WebCore::Node::isDefaultNamespace):
        (WebCore::Node::lookupPrefix):
        (WebCore::Node::lookupNamespaceURI):
        (WebCore::appendTextContent):
        (WebCore::Node::setTextContent):
        * dom/Node.h:
        * dom/Range.cpp:
        (WebCore::lengthOfContentsInNode):
        (WebCore::Range::processContentsBetweenOffsets):
        (WebCore::Range::insertNode):
        (WebCore::Range::checkNodeWOffset):
        (WebCore::Range::checkNodeBA):
        (WebCore::Range::selectNode):
        (WebCore::Range::selectNodeContents):
        (WebCore::Range::surroundContents):
        * dom/ShadowRoot.cpp:
        * dom/ShadowRoot.h:
        (ShadowRoot):
        (WebCore::toShadowRoot):
        * editing/FrameSelection.cpp:
        (WebCore::nodeIsDetachedFromDocument):
        (WebCore):
        (WebCore::FrameSelection::textWillBeReplaced):
        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::appendStartMarkup):
        * html/parser/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isRootNode):
        (WebCore::HTMLElementStack::pushRootNode):
        * html/parser/HTMLElementStack.h:
        (WebCore::isInHTMLNamespace):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * xml/XPathUtil.cpp:
        (WebCore::XPath::isValidContextNode):

2012-02-14  Andreas Kling  <awesomekling@apple.com>

        StylePropertySet: Try to find a CSSValuePool for identifier values.
        <http://webkit.org/b/78590>

        Reviewed by Antti Koivisto.

        For StylePropertySets with a parent element (inline and attribute style),
        grab at the parentElement()->document() to locate a CSSValuePool.
        This code will change soon in the CSSOM refactoring and moreso once we
        figure out how to have a global CSSValuePool, but I'm hoping it will buy
        us some perf back in the meantime.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::setProperty):

2012-02-14  Nikolas Zimmermann  <nzimmermann@rim.com>

        Convert svg/animations to use SMIL methods for driving the timeline
        https://bugs.webkit.org/show_bug.cgi?id=78422

        Reviewed by Hajime Morita.

        Fix last-minute typo in clearTimesWithDynamicOrigins, leading to assertions browsing the W3C SVG animation tests.
        Covered by existing tests in svg/animations.

        * svg/SVGAnimationElement.cpp: Remove unused endedActiveInterval.
        * svg/SVGAnimationElement.h: Ditto.
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::clearTimesWithDynamicOrigins): Fix order of walking the times list.
        (WebCore::SVGSMILElement::reset): Move calls to clearTimesWithDynamicOrigins into endedActiveInterval.
        (WebCore::SVGSMILElement::endedActiveInterval):
        * svg/animation/SVGSMILElement.h:
        (SVGSMILElement): Devirtualize endedActiveInterval.

2012-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r107661.
        http://trac.webkit.org/changeset/107661
        https://bugs.webkit.org/show_bug.cgi?id=78591

        crash on lion/qt bots (Requested by hayato on #webkit).

        * bindings/js/JSNodeCustom.cpp:
        (WebCore::createWrapperInline):
        * bindings/objc/DOM.mm:
        (kitClass):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):
        * dom/ContainerNode.cpp:
        (WebCore::collectTargetNodes):
        (WebCore::ContainerNode::replaceChild):
        * dom/Document.cpp:
        (WebCore::Document::importNode):
        (WebCore::Document::childTypeAllowed):
        (WebCore::Document::canReplaceChild):
        * dom/Node.cpp:
        (WebCore::Node::dumpStatistics):
        (WebCore::Node::isDefaultNamespace):
        (WebCore::Node::lookupPrefix):
        (WebCore::Node::lookupNamespaceURI):
        (WebCore::appendTextContent):
        (WebCore::Node::setTextContent):
        * dom/Node.h:
        * dom/Range.cpp:
        (WebCore::lengthOfContentsInNode):
        (WebCore::Range::processContentsBetweenOffsets):
        (WebCore::Range::insertNode):
        (WebCore::Range::checkNodeWOffset):
        (WebCore::Range::checkNodeBA):
        (WebCore::Range::selectNode):
        (WebCore::Range::selectNodeContents):
        (WebCore::Range::surroundContents):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::nodeType):
        (WebCore):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        (WebCore::toShadowRoot):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::textWillBeReplaced):
        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::appendStartMarkup):
        * html/parser/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isRootNode):
        (WebCore::HTMLElementStack::pushRootNode):
        * html/parser/HTMLElementStack.h:
        (WebCore::isInHTMLNamespace):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * xml/XPathUtil.cpp:
        (WebCore::XPath::isValidContextNode):

2012-02-14  Hayato Ito  <hayato@chromium.org>

        Fix typo. HTMLContentSeleciton -> HTMLContentSelection.
        https://bugs.webkit.org/show_bug.cgi?id=78571

        Reviewed by Hajime Morita.

        No tests. No change in behavior.

        * dom/NodeRenderingContext.cpp:
        (WebCore::nextRendererOf):
        (WebCore::previousRendererOf):
        (WebCore::firstRendererOf):
        (WebCore::lastRendererOf):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::insertionPointFor):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::attach):
        * html/shadow/HTMLContentSelector.cpp:
        (WebCore::HTMLContentSelection::append):
        (WebCore::HTMLContentSelection::unlink):
        (WebCore::HTMLContentSelectionList::find):
        (WebCore::HTMLContentSelectionList::append):
        (WebCore::HTMLContentSelector::select):
        (WebCore::HTMLContentSelector::unselect):
        (WebCore::HTMLContentSelector::findFor):
        * html/shadow/HTMLContentSelector.h:
        (HTMLContentSelection):
        (WebCore::HTMLContentSelection::next):
        (WebCore::HTMLContentSelection::previous):
        (WebCore::HTMLContentSelection::HTMLContentSelection):
        (WebCore::HTMLContentSelection::create):
        (WebCore::HTMLContentSelectionList::first):
        (WebCore::HTMLContentSelectionList::last):
        (HTMLContentSelectionList):
        (WebCore::HTMLContentSelectionSet::add):
        (WebCore::HTMLContentSelectionSet::remove):
        (HTMLContentSelectionSet):
        (WebCore::HTMLContentSelectionSet::Translator::equal):
        (WebCore::HTMLContentSelectionSet::Hash::hash):
        (WebCore::HTMLContentSelectionSet::Hash::equal):
        (WebCore::HTMLContentSelectionSet::find):
        (HTMLContentSelector):

2012-02-14  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc: embed calc expressions in CSSPrimitiveValue
        https://bugs.webkit.org/show_bug.cgi?id=78446

        Reviewed by Ojan Vafai.
        
        Adds calc expressions to CSSPrimitiveValue. This enables simple (ie no mixing of
        percents with numbers/lengths) expressions to be evaluated on most properties.

        Tests: css3/calc/block-mask-overlay-image-outset-expected.html
               css3/calc/css3-radial-gradients-expected.html
               css3/calc/gradient-color-stops-expected.html

        * css/CSSCalculationValue.cpp:
        (WebCore::CSSCalcValue::computeLengthPx):
        (WebCore):
        (WebCore::CSSCalcPrimitiveValue::doubleValue):
        (CSSCalcPrimitiveValue):
        (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
        (CSSCalcBinaryOperation):
        (WebCore::CSSCalcBinaryOperation::computeLengthPx):
        * css/CSSCalculationValue.h:
        (CSSCalcExpressionNode):
        (CSSCalcValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::createPrimitiveNumericValue):
        (WebCore::CSSParser::parseValidPrimitive):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::isValidCSSUnitTypeForDoubleConversion):
        (WebCore::CSSPrimitiveValue::primitiveType):
        (WebCore::CSSPrimitiveValue::init):
        (WebCore):
        (WebCore::CSSPrimitiveValue::cleanup):
        (WebCore::CSSPrimitiveValue::computeLengthDouble):
        (WebCore::CSSPrimitiveValue::getDoubleValue):
        (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
        (WebCore::CSSPrimitiveValue::customCssText):
        * css/CSSPrimitiveValue.h:
        (WebCore):
        (WebCore::CSSPrimitiveValue::isLength):
        (WebCore::CSSPrimitiveValue::isNumber):
        (WebCore::CSSPrimitiveValue::isPercentage):
        (WebCore::CSSPrimitiveValue::isPx):
        (WebCore::CSSPrimitiveValue::isCalculated):
        (WebCore::CSSPrimitiveValue::isCalculatedPercentageNumber):
        (WebCore::CSSPrimitiveValue::isCalculatedPercentageLength):
        (CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::getValue):
        (WebCore::CSSPrimitiveValue::cssCalcValue):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyBorderRadius::applyValue):

2012-02-14  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: follow up to r107683: protect inspector sidebar from updating
        while inserting new rule.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):

2012-02-14  Rick Byers  <rbyers@.com>

        Extend Chromium V8 tracing to cover more cases
        https://bugs.webkit.org/show_bug.cgi?id=78507

        Reviewed by Eric Seidel.

        No tests modified because this affects only chrome tracing which we
        currently don't try to validate with automated tests.

        * bindings/v8/V8EventListener.cpp:
        (WebCore::V8EventListener::callListenerFunction):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::instrumentedCallFunction):
        (WebCore::V8Proxy::newInstance):

2012-02-14  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: fire stylesheet changed event upon CSS modifications.
        https://bugs.webkit.org/show_bug.cgi?id=78500

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::mergeId):
        (InspectorCSSAgent::SetStyleSheetTextAction):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::merge):
        (WebCore::InspectorCSSAgent::setStyleSheetText):
        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::bindStyleSheet):
        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::styleSheetChanged):
        (WebCore):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::create):
        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        (WebCore::InspectorStyleSheet::setRuleSelector):
        (WebCore::InspectorStyleSheet::addRule):
        (WebCore::InspectorStyleSheet::deleteRule):
        (WebCore::InspectorStyleSheet::setPropertyText):
        (WebCore::InspectorStyleSheet::toggleProperty):
        (WebCore::InspectorStyleSheet::fireStyleSheetChanged):
        (WebCore):
        (WebCore::InspectorStyleSheetForInlineStyle::create):
        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
        * inspector/InspectorStyleSheet.h:
        (WebCore::InspectorStyleSheet::Listener::~Listener):
        (Listener):
        (InspectorStyleSheet):
        (InspectorStyleSheetForInlineStyle):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype.addRule.callback):
        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback):
        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
        (WebInspector.CSSStyleModel.prototype._undoRequested):
        (WebInspector.CSSStyleModel.prototype._undoCompleted):
        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setText.callback):
        (WebInspector.CSSProperty.prototype.setDisabled.callback):
        (WebInspector.CSSProperty.prototype.setDisabled):
        (WebInspector.CSSStyleSheet.prototype.setText):
        (WebInspector.CSSDispatcher.prototype.mediaQueryResultChanged):
        (WebInspector.CSSDispatcher.prototype.styleSheetChanged):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
        (WebInspector.DOMAgent.prototype.get undo):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.handleShortcut):

2012-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>

        Convert svg/animations to use SMIL methods for driving the timeline
        https://bugs.webkit.org/show_bug.cgi?id=78422

        Reviewed by Dirk Schulze.

        Switch the svg/animations tests to use SVGSVGElement.setCurrentTime to drive the animation timeline.
        This should fix all flakiness we previously had with these tests - and as nice side-effect we're now
        using the standard SVG methods to drive the timeline, and thus have more coverage for these methods.
        It already exposed several SMIL bugs, that had to be fixed, before this worked:

        - beginElement()/endElement() modify the begin/end times of a SVGSMILElement. When beginElement() is
          called a new begin time is added to the list - and the same happens for endElement() with the end list.
          Unfortunately the begin/end times never get removed again, leading to incorrect instance time resolving
          when begin/endElement is called repeatedly, combined with moving the timeline through setCurrentTime.

          SMIL3 specifically demands that all 'dynamic' times in the begin/endTimes list, such that got inserted
          via beginElement/endElement - get removed if the begin/endTimes list is updated. Why?
          When calling beginElement, then endElement, then beginElement again, the begin/endTimes lists should be
          identical, w/o leftovers from any previous begin/endElement call.

          To keep track of that introduce SMILTimeWithOrigin, which holds a SMILTime and an Origin enum,
          which determines whether this SMILTime was created by the parser or dynamically created via
          beginElement/endElement.

        - SMILTimeContainer::setElapsed() (called by SVGSVGElement::setCurrentTime) forgot to update the
          animation state, when it was not paused.

        - document.getElementsByTagName('animateMotion')[0], always returned 'object SVGElement', instead of
          SVGAnimateMotion element making it impossible to query the animation start time, as the interfaces
          from SVGAnimationElement were not available. Fix that by removing the last hacks from svgtags.in,
          now that all IDLs are available.

        Now that we use SVGSVGElement::setCurrentTime to drive the animation testing, we can remove
        the DRT specific sampleSVGAnimationAtTime functionality, and its code springled all over WebCore.

        Covered by all existing tests in svg/animations.

        * WebCore.exp.in: Remove sampleAnimationAtTime() symbols.
        * WebCore.order: Ditto.
        * svg/SVGAnimationElement.cpp: Add a flag to begin/endElement, SMILTimeWithOrigin::ScriptOrigin, to indicate that these are dynamic SMILTimes, added by a script. 
        (WebCore::SVGAnimationElement::beginElementAt):
        (WebCore::SVGAnimationElement::endElementAt):
        * svg/SVGDocumentExtensions.cpp: Remove sampleAnimationAtTime.
        * svg/SVGDocumentExtensions.h: Ditto.
        * svg/animation/SMILTime.h: Add SMILTimeWithOrigin helper.
        (SMILTimeWithOrigin): Needs a SMILTime and an Origin enum entry.
        (WebCore::SMILTimeWithOrigin::SMILTimeWithOrigin):
        (WebCore::SMILTimeWithOrigin::time): Returns the SMILTime.
        (WebCore::SMILTimeWithOrigin::originIsScript): Determines if this SMILTime got added by a script.
        (WebCore::operator<): Used by std::sort.
        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::setElapsed): Always call updateAnimations, even if the animation is not paused. Use the right elpased time value, to seek precisely to the desired position.
        (WebCore::SMILTimeContainer::timerFired): Cleanup code, no need for a local variable 'elapsed'.
        (WebCore::SMILTimeContainer::updateAnimations): Remove DRT specific sampling code, which is no longer needed.
        * svg/animation/SMILTimeContainer.h: Remove sampleAnimationAtTime.
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::SVGSMILElement): Only call resolveFirstInterval, not reset, from the constructor - it wastes unnecessary time, as everything is already initialized.
        (WebCore::clearTimesWithDynamicOrigins): Helper function to clear all SMILTimes from the begin/endTimes list, that are dynamic.
        (WebCore::SVGSMILElement::reset): Clear begin/endTimes lists, on any reset() call (when driving the animation timeline through setElapsed).
        (WebCore::SVGSMILElement::insertedIntoDocument): m_beginTimes now stores SMILTimeWithOrigins, adapt the code.
        (WebCore::sortTimeList): Ditto.
        (WebCore::SVGSMILElement::parseBeginOrEnd): Ditto.
        (WebCore::SVGSMILElement::addBeginTime): Ditto.
        (WebCore::SVGSMILElement::addEndTime): Ditto.
        (WebCore::extractTimeFromVector): Ditto.
        (WebCore::SVGSMILElement::findInstanceTime): Ditto.
        * svg/animation/SVGSMILElement.h: 
        * svg/svgtags.in: Enable animateMotion/hkern/mpath JS interfaces, which were not enabled, despite their IDLs existed.

2012-02-14  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: [REGRESSION] Copy Stack Trace is broken
        https://bugs.webkit.org/show_bug.cgi?id=78583

        Reviewed by Yury Semikhatsky.

        Test: inspector/debugger/copy-stack-trace.html

        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):

2012-02-14  Eric Seidel  <eric@webkit.org>

        Upstream Android's support for SK_B32_SHIFT to JPEGImageEncoder
        https://bugs.webkit.org/show_bug.cgi?id=78540

        Reviewed by Adam Barth.

        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
        (WebCore::encodePixels):

2012-02-13  Pavel Feldman  <pfeldman@chromium.org>

        [Qt] inspector/styles/undo-add-new-rule.html crashes
        https://bugs.webkit.org/show_bug.cgi?id=78502

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::deleteRule):

2012-02-13  Nate Chapin  <japhet@chromium.org>

        Reuse CachedRawResources (e.g., XHRs) that are stored
        in the MemoryCache when appropriate.
        https://bugs.webkit.org/show_bug.cgi?id=76564

        Reviewed by Antti Koivisto.

        No new tests, expected behavior covered by existing tests.

        * html/DOMURL.cpp:
        (WebCore::DOMURL::revokeObjectURL): Objects shouldn't remain in the
            MemoryCache if revokeObjectURL is called on them.
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::cachedResourceContent): Add CachedRawResource support.
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::setCacheDisabled): Immediately
            evict resources, rather than waiting for navigation, since XHRs
            should hit the cache if it has been disabled.
        * loader/cache/CachedRawResource.cpp:
        (CachedRawResourceCallback): Encapsulates the async callback for
            a cache hit for CachedRawResources.
        (WebCore::CachedRawResource::sendCallbacks): Do the work defered in didAddClient.
        (WebCore::CachedRawResource::didAddClient): Scheduled a CachedRawResourceCallback if
            we already have a response, since async XHRs may not play nicely with receiving
            their data synchronously.
        (WebCore::CachedRawResource::removeClient): Ensure we cancel a callback to a client if
            it removes itself.
        (WebCore::CachedRawResource::canReuse): Provide some basic rules for when a
            CachedRawResource can be reused.
        * loader/cache/CachedRawResource.h:
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::determineRevalidationPolicy): Don't automatically reload
            CachedRawResources, and add a check for whether this request has already been
            made conditional.
        * xml/XMLHttpRequest.cpp:

2012-02-13  Dana Jansens  <danakj@chromium.org>

        [chromium] Set opaque flag on SkBitmap in per-tile layer updater
        https://bugs.webkit.org/show_bug.cgi?id=78498

        Reviewed by Stephen White.

        No new tests.

        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
        (SkPictureCanvasLayerTextureUpdater):
        (WebCore::SkPictureCanvasLayerTextureUpdater::layerIsOpaque):

2012-02-13  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Remove obsolete zoom animation pathway.
        https://bugs.webkit.org/show_bug.cgi?id=78359

        Reviewed by James Robinson.

        Tests for existing pathways should not be broken. Tests for removed pathway removed previously.

        This patch removes dead code from the previous incarnation of zoom animation for chromium.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        * page/FrameView.cpp:
        * page/FrameView.h:
        (FrameView):
        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::ScrollAnimator):
        * platform/ScrollAnimator.h:
        (ScrollAnimator):
        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
        (WebCore::ScrollAnimatorNone::animationTimerFired):
        * platform/ScrollAnimatorNone.h:
        (ScrollAnimatorNone):
        * platform/ScrollableArea.cpp:
        * platform/ScrollableArea.h:
        * testing/InternalSettings.cpp:
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/InternalSettings.idl:
        * testing/Internals.cpp:

2012-02-13  Shinya Kawanaka  <shinyak@chromium.org>

        [Regression] r107650 broke the windows build.
        https://bugs.webkit.org/show_bug.cgi?id=78569

        Build fix, Unreviewed.

        The variable defined in switch statement should not escape from the switch statement.

        * dom/Element.cpp:
        (WebCore::Element::webkitRegionOverflow):

2012-02-13  ChangSeok Oh  <shivamidow@gmail.com>

        [GTK] Mutation Observers build is broken
        https://bugs.webkit.org/show_bug.cgi?id=78433

        Reviewed by Martin Robinson.

        Added some files missed.

        No new tests since no new feature.

        * GNUmakefile.list.am:

2012-02-13  Hayato Ito  <hayato@chromium.org>

        Make ShadowRoot.nodeType return DOCUMENT_FRAGMENT_NODE.
        https://bugs.webkit.org/show_bug.cgi?id=77514

        Reviewed by Dimitri Glazkov.

        NodeType.SHADOW_ROOT_NODE type is finally gone.

        * bindings/js/JSNodeCustom.cpp:
        (WebCore::createWrapperInline):
        * bindings/objc/DOM.mm:
        (kitClass):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):
        * dom/ContainerNode.cpp:
        (WebCore::collectTargetNodes):
        (WebCore::ContainerNode::replaceChild):
        * dom/Document.cpp:
        (WebCore::Document::importNode):
        (WebCore::Document::childTypeAllowed):
        (WebCore::Document::canReplaceChild):
        * dom/Node.cpp:
        (WebCore::Node::dumpStatistics):
        (WebCore::Node::isDefaultNamespace):
        (WebCore::Node::lookupPrefix):
        (WebCore::Node::lookupNamespaceURI):
        (WebCore::appendTextContent):
        (WebCore::Node::setTextContent):
        * dom/Node.h:
        * dom/Range.cpp:
        (WebCore::lengthOfContentsInNode):
        (WebCore::Range::processContentsBetweenOffsets):
        (WebCore::Range::insertNode):
        (WebCore::Range::checkNodeWOffset):
        (WebCore::Range::checkNodeBA):
        (WebCore::Range::selectNode):
        (WebCore::Range::selectNodeContents):
        (WebCore::Range::surroundContents):
        * dom/ShadowRoot.cpp:
        * dom/ShadowRoot.h:
        (ShadowRoot):
        (WebCore::toShadowRoot):
        * editing/FrameSelection.cpp:
        (WebCore::nodeIsDetachedFromDocument):
        (WebCore):
        (WebCore::FrameSelection::textWillBeReplaced):
        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::appendStartMarkup):
        * html/parser/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isRootNode):
        (WebCore::HTMLElementStack::pushRootNode):
        * html/parser/HTMLElementStack.h:
        (WebCore::isInHTMLNamespace):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * xml/XPathUtil.cpp:
        (WebCore::XPath::isValidContextNode):

2012-02-13  Ojan Vafai  <ojan@chromium.org>

        rtl + flex-direction:column is positioning elements incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=78555

        Reviewed by Tony Chang.

        Do the y-axis flipping after we have adjusted the y-position for
        flex-align instead of before.

        Tests: css3/flexbox/flex-align-baseline.html
               css3/flexbox/flex-align-end.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::alignChildren):
        The amount we adjust by also needs to be flipped for rtl+column,
        so the flipping needs to be done after we align the flex items.

2012-02-09  Ojan Vafai  <ojan@chromium.org>

        nesting horizontal flexboxes is broken
        https://bugs.webkit.org/show_bug.cgi?id=76867

        Reviewed by David Hyatt.

        This is copied from RenderDeprecatedFlexibleBox and updated
        for RenderFlexibleBox and to handle vertical writing mode.

        Tests: css3/flexbox/preferred-widths-orthogonal.html
               css3/flexbox/preferred-widths.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computePreferredLogicalWidths):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::marginWidthForChild):
        (WebCore):
        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-02-13  Anders Carlsson  <andersca@apple.com>

        The tile cache layer should have its background set to the page background
        https://bugs.webkit.org/show_bug.cgi?id=78560
        <rdar://problem/10857472>

        Reviewed by Sam Weinig.

        * page/FrameView.cpp:
        (WebCore::FrameView::recalculateScrollbarOverlayStyle):
        Inform the RenderLayerCompositor that the background color has changed.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::updateLayerBackgroundColor):
        For tile cache layers we don't need a separate contents layer for the background color so
        just set the background color on the layer directly.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::documentBackgroundColorDidChange):
        If the root render layer is using a tile cache layer, update its background color.

2012-02-13  Raul Hudea  <rhudea@adobe.com>

        Implement Element.webkitRegionOverflow

        [CSSRegions][CSSOM] Implement Element.regionOverflow
        https://bugs.webkit.org/show_bug.cgi?id=77863

        Reviewed by David Hyatt.

        On each layout, compute the overflowState for each region belonging to the flow thread

        Tests: fast/regions/element-region-overflow-state-vertical-rl.html
               fast/regions/element-region-overflow-state.html

        * dom/Element.cpp:
        (WebCore::Element::webkitRegionOverflow):
        (WebCore):
        * dom/Element.h:
        * dom/Element.idl:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeOverflow):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::computeOverflowStateForRegions):
        (WebCore):
        * rendering/RenderFlowThread.h:
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::RenderRegion):
        * rendering/RenderRegion.h:
        (RenderRegion):
        (WebCore::RenderRegion::regionState):
        (WebCore::RenderRegion::setRegionState):

2012-02-13  Alexey Proskuryakov  <ap@apple.com>

        File API IDLs are incorrect in Xcode project
        https://bugs.webkit.org/show_bug.cgi?id=78551

        Rubber-stamped by Dan Bernstein.

        * WebCore.xcodeproj/project.pbxproj: Corrected paths, and added missing files.

2012-02-13  Benjamin Poulain  <bpoulain@apple.com>

        SharedBuffer::getSomeData() can potentially return a pointer past the data
        https://bugs.webkit.org/show_bug.cgi?id=77799

        Reviewed by David Kilzer.

        The expected behavior from SharedBuffer::getSomeData() is to return a size and pointer of value 0
        if position is past the data.

        However, the code handling the memory mapped data is before the code ensuring the aforementioned
        condition. It is possible to return a pointer past the data, and a non-null size.

        This patch aims at preventing such invalid memory access by checking position is in the boundaries
        before any attempt is made to return the data.

        * platform/SharedBuffer.cpp:
        (WebCore::SharedBuffer::getSomeData):

2012-02-13  Benjamin Poulain  <bpoulain@apple.com>

        SharedBuffer::getSomeData() must support m_dataArray if NETWORK_CFDATA_ARRAY_CALLBACK is defined
        https://bugs.webkit.org/show_bug.cgi?id=77718

        Reviewed by David Kilzer.

        Previously, the last part of SharedBuffer::getSomeData() was systematically accessing
        the data from the segments. When NETWORK_CFDATA_ARRAY_CALLBACK is defined, there can
        be data in m_dataArray past the segment.

        The previous code was making invalid memory access pass the segment vector. This patch
        adds support for getting the data out of m_dataArray to make SharedBuffer::getSomeData()
        works with NETWORK_CFDATA_ARRAY_CALLBACK.

        This is covered by existing tests when NETWORK_CFDATA_ARRAY_CALLBACK is defined.
        The test 'fast/events/constructors/track-event-constructor.html' is a reliable test
        for this.

        * platform/SharedBuffer.cpp:
        (WebCore::SharedBuffer::getSomeData):
        * platform/SharedBuffer.h:
        (SharedBuffer):
        * platform/cf/SharedBufferCF.cpp:
        (WebCore):
        (WebCore::SharedBuffer::copySomeDataFromDataArray):

2012-02-13  Anders Carlsson  <andersca@apple.com>

        Force slow-scrolling mode when there are position:fixed elements on a page
        https://bugs.webkit.org/show_bug.cgi?id=78553
        <rdar://problem/10247934>

        Reviewed by Dan Bernstein.

        Eventually, the scrolling tree will know about fixed positioning layers so their position can be updated
        when the scroll layer position is updated. For now we'll take the simple route however.

        * page/FrameView.cpp:
        (WebCore::FrameView::addFixedObject):
        (WebCore::FrameView::removeFixedObject):
        Inform the scrolling coordinator when the number of fixed objects changes between 0 and 1.

        * page/FrameView.h:
        (WebCore::FrameView::hasFixedObjects):
        Make this public.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
        Call updateShouldUpdateScrollLayerPositionOnMainThread.

        (WebCore::ScrollingCoordinator::frameViewHasFixedObjectsDidChange):
        Call updateShouldUpdateScrollLayerPositionOnMainThread.

        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
        Make sure to update compositing layers here. Normally, they will be updated by layout but doing a layout
        here is too intrusive since it could potentially change the size of the page.

        (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
        If we have fixed objects or slow repaint objects we need to update the scroll layer position on the main thread.

2012-02-13  Adrienne Walker  <enne@google.com>

        [chromium] Use HashMap<..., OwnPtr<Tile>> for compositor tilemap
        https://bugs.webkit.org/show_bug.cgi?id=74154

        Reviewed by James Robinson.

        Covered by the compositing/ layout tests.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::create):
        (WebCore::UpdatableTile::UpdatableTile):
        (WebCore::TiledLayerChromium::createTile):
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::addTile):
        (WebCore::CCLayerTilingData::takeTile):
        (WebCore::CCLayerTilingData::tileAt):
        * platform/graphics/chromium/cc/CCLayerTilingData.h:
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::DrawableTile::create):
        (WebCore::DrawableTile::DrawableTile):
        (WebCore::CCTiledLayerImpl::createTile):

2012-02-13  Kentaro Hara  <haraken@chromium.org>

        Add [CustomToJSObject] to interfaces which have custom toJS() and toV8()
        https://bugs.webkit.org/show_bug.cgi?id=78489

        Reviewed by Adam Barth.

        This is the final step to remove hard-coding from HasCustomToV8Implementation()
        in CodeGeneratorV8.pm. This patch replaces [JSCustomToJS] with [CustomToJSObject]
        for interfaces which have custom toJS() and custom toV8().

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):

        * bindings/scripts/test/TestTypedArray.idl:
        * css/CSSRule.idl:
        * css/CSSValue.idl:
        * css/StyleSheet.idl:
        * dom/Document.idl:
        * dom/Event.idl:
        * dom/Node.idl:
        * fileapi/Blob.idl:
        * fileapi/Entry.idl:
        * fileapi/EntrySync.idl:
        * html/HTMLCollection.idl:
        * html/ImageData.idl:
        * html/canvas/ArrayBufferView.idl:
        * html/canvas/DataView.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        * storage/IDBAny.idl:
        * storage/IDBKey.idl:
        * svg/SVGPathSeg.idl:

2012-02-13  Arun Patole  <bmf834@motorola.com>

        Chrome crashes when attempting to add cue to track element
        https://bugs.webkit.org/show_bug.cgi?id=77951

        Reviewed by Eric Carlson.

        Allocate text track's text track list of cues before using it.

        * html/TextTrack.cpp:
        (WebCore::TextTrack::cues):
        (WebCore::TextTrack::addCue):
        (WebCore::TextTrack::removeCue): return if text track list of cues is not allocated.
        (WebCore::TextTrack::ensureTextTrackCueList):Added.
        * html/TextTrack.h:
        (TextTrack):

2012-02-13  Andy Estes  <aestes@apple.com>

        Fix the Windows build.

        * platform/PlatformPasteboard.h:
        (PlatformPasteboard):

2012-02-13  Abhishek Arya  <inferno@chromium.org>

        Crash with button in multi-column layout.
        https://bugs.webkit.org/show_bug.cgi?id=78378

        Reviewed by David Hyatt.

        Button creates an anonymous wrapper and expects that new children
        be added to its m_inner anonymous block. However, splitBlock code
        incorrectly creates column blocks directly under the button.

        Test: fast/multicol/span/split-flow-anonymous-wrapper-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::containingColumnsBlock):
        (WebCore::RenderBlock::columnsBlockForSpanningElement):

2012-02-09  Ojan Vafai  <ojan@chromium.org>

        nesting horizontal flexboxes is broken
        https://bugs.webkit.org/show_bug.cgi?id=76867

        Reviewed by David Hyatt.

        This is copied from RenderDeprecatedFlexibleBox and updated
        for RenderFlexibleBox and to handle vertical writing mode.

        Tests: css3/flexbox/preferred-widths-orthogonal.html
               css3/flexbox/preferred-widths.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computePreferredLogicalWidths):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::marginWidthForChild):
        (WebCore):
        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-02-13  Mihnea Ovidenie  <mihnea@adobe.com>

        Crash in RenderFlowThread::setRegionBoxesRegionStyle
        https://bugs.webkit.org/show_bug.cgi?id=78298

        Reviewed by David Hyatt.

        Test: fast/regions/set-box-style-in-region-crash.html

        We have to make sure that anonymous block objects get their information in RenderFlowThread
        removed properly.

        * dom/Node.cpp:
        (WebCore::Node::diff):
        Correct a comment.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::collapseAnonymousBoxChild):
        Remove the information for anonymous block from render flow thread.
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::removeFlowChildInfo):
        (WebCore):
        (WebCore::RenderFlowThread::setRegionRangeForBox):
        Do not set region range if the flow thread does not have regions.
        * rendering/RenderFlowThread.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::willBeDestroyed):
        Add an assert to make sure that after we remove an object, there is no remaining info
        in any render flow thread.

2012-02-13  Tony Chang  <tony@chromium.org>

        Unreviewed, rolling out r107582.
        http://trac.webkit.org/changeset/107582
        https://bugs.webkit.org/show_bug.cgi?id=78349

        Broke three inspector interactive_ui_tests

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype._removeUISourceCode.get while):
        (WebInspector.ScriptsNavigator.prototype._removeUISourceCode):
        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):

2012-02-13  Abhishek Arya  <inferno@chromium.org>

        Incorrect children placement in multi-column layout.
        https://bugs.webkit.org/show_bug.cgi?id=78160

        Reviewed by David Hyatt.

        Test: fast/multicol/span/clone-before-after-content-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clone): no longer need to take care of making
        children noninline (remove fix r105769) since moveChild functions take
        care of adding the child properly if type of children differ. this
        function just makes sure to set the right value of childrenInline property.
        (WebCore::RenderBlock::splitBlocks): similar to moveChild functions below.
        (WebCore::RenderBlock::moveChildTo): when child is fullRemoveInsert (across
        different parents, e.g clones), we should use addChild function to make sure
        it handles the case of different type of children between fromBlock and
        toBlock correctly (specifically making children non-inline/wrapping inline
        children under anonymous blocks.).
        (WebCore::RenderBlock::moveChildrenTo):
        * rendering/RenderBlock.h:
        (RenderBlock):
        (WebCore::RenderBlock::moveAllChildrenTo): Rename to->toBlock.
        (WebCore::RenderBlock::moveChildrenTo): Rename to->toBlock.

2012-02-13  Stephen White  <senorblanco@chromium.org>

        [chromium] Implement Brightness and Contrast filters on composited
        layers.  Fix Saturation filter.
        https://bugs.webkit.org/show_bug.cgi?id=78527

        Reviewed by Kenneth Russell.

        Will be covered by existing tests in css3/filters, when enabled.

        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
        (WebCore::CCRenderSurfaceFilters::apply):

2012-02-13  Anders Carlsson  <andersca@apple.com>

        Turn off edge antialiasing for tile cache tile layers
        https://bugs.webkit.org/show_bug.cgi?id=78533
        <rdar://problem/10710798>

        Reviewed by Sam Weinig.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::createTileLayer):

2012-02-13  Enrica Casucci  <enrica@apple.com>

        Build fix. Unreviewed.

        * WebCore.xcodeproj/project.pbxproj:

2012-02-13  Brady Eidson  <beidson@apple.com>

        <rdar://problem/7196487> and https://bugs.webkit.org/show_bug.cgi?id=26777
        Add https pages to the page cache in some cases

        Reviewed by Anders Carlsson.

        Test: http/tests/navigation/https-in-page-cache.html

        * history/PageCache.cpp:
        (WebCore::PageCache::canCachePageContainingThisFrame): Allow HTTPS pages that do not specify cache-control: no-cache
          or cache-control: no-store into the page cache. This will match Firefox's behavior for HTTPS in their bfcache.

2012-02-10  Enrica Casucci  <enrica@apple.com>

        Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
        https://bugs.webkit.org/show_bug.cgi?id=78282

        This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
        now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
        WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
        class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
        interface but this one more step in the direction of removing access to NSPasteboard from
        the WebProcess.
        As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.

        Reviewed by Anders Carlsson.

        No new tests. No change in behavior, just code refactoring.

        * WebCore.exp.in: Added exported class PlatformPasteboard.
        * WebCore.xcodeproj/project.pbxproj: Added new files to the build.
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::writeSelectionToPasteboard): New method signature that doesn't use OBJ-C types.
        * platform/Pasteboard.h:

        * platform/PasteboardStrategy.h: Added PasteboardStrategy abstract class.
        * platform/PlatformPasteboard.h: Added. This class implements access to NSPasteboard.
        * platform/PlatformStrategies.h:
        (WebCore::PlatformStrategies::pasteboardStrategy): Added.
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::canSmartReplace):
        (WebCore::insertablePasteboardTypes): 
        (WebCore::DragData::asURL):
        * platform/mac/PasteboardMac.mm:
        (WebCore::selectionPasteboardTypes): Changed to use Vector<String> instead of NSArray.
        (WebCore::writableTypesForURL): Ditto.
        (WebCore::createWritableTypesForImage): Ditto.
        (WebCore::writableTypesForImage): Ditto.
        (WebCore::Pasteboard::Pasteboard): Removed access to NSPasteboard.
        (WebCore::Pasteboard::clear): Modified to use platformStrategies()->pasteboardStrategy().
        (WebCore::Pasteboard::writeSelectionForTypes): Ditto.
        (WebCore::Pasteboard::writePlainText): Ditto.
        (WebCore::Pasteboard::writeSelection): Ditto.
        (WebCore::writeURLForTypes): Ditto.
        (WebCore::Pasteboard::writeURL): Ditto.
        (WebCore::writeFileWrapperAsRTFDAttachment): Ditto.
        (WebCore::Pasteboard::writeImage): Ditto.
        (WebCore::Pasteboard::writeClipboard): Ditto.
        (WebCore::Pasteboard::canSmartReplace): Ditto.
        (WebCore::Pasteboard::plainText): Ditto.
        (WebCore::documentFragmentWithRTF): Ditto.
        (WebCore::Pasteboard::documentFragment): Ditto.
        * platform/mac/PlatformPasteboardMac.mm: Added.
        (WebCore::PlatformPasteboard::PlatformPasteboard):
        (WebCore::PlatformPasteboard::getTypes):
        (WebCore::PlatformPasteboard::bufferForType):
        (WebCore::PlatformPasteboard::getPathnamesForType):
        (WebCore::PlatformPasteboard::stringForType):
        (WebCore::PlatformPasteboard::copy):
        (WebCore::PlatformPasteboard::setTypes):
        (WebCore::PlatformPasteboard::setBufferForType):
        (WebCore::PlatformPasteboard::setPathnamesForType):
        (WebCore::PlatformPasteboard::setStringForType):

2012-02-13  Raul Hudea  <rhudea@adobe.com>

        [CSS Regions] Inconsistent text selection behavior in regions
        https://bugs.webkit.org/show_bug.cgi?id=76456

        Reviewed by David Hyatt.

        Use the proper bounding rect when doing hit testing on flow threads.
        Based on initial patch by Alexandru Chiculita.

        Test: fast/regions/hit-test-region.html

        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::hitTestRegion):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTest):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::nodeAtPoint):

2012-02-12  Andy Estes  <aestes@apple.com>

        [Windows] Add API to enable inverted color drawing on a WebView
        https://bugs.webkit.org/show_bug.cgi?id=77382

        Reviewed by Adam Roben.

        Implement CACFLayerTreeHost::setShouldInvertColors(), which instructs
        the layer tree host to render composited content with inverted colors.

        Test: platform/win/inverted-colors/non-composited.html

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
        (WebCore::CACFLayerTreeHost::setShouldInvertColors):
        (WebCore):
        * platform/graphics/ca/win/CACFLayerTreeHost.h:
        (CACFLayerTreeHost):
        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Use
        SOFT_LINK_OPTIONAL since WKCACFViewSetShouldInvertColors might not
        exist in older versions of WebKitQuartzCoreAdditions.
        (WebCore::WKCACFViewLayerTreeHost::setShouldInvertColors):
        (WebCore):
        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
        (WKCACFViewLayerTreeHost):

2012-02-13  Anders Carlsson  <andersca@apple.com>

        The scrolling tree needs to know about the back forward state of the page
        https://bugs.webkit.org/show_bug.cgi?id=78523
        <rdar://problem/10756548>

        Reviewed by Sam Weinig.

        In order to know if a page should rubber-band in the horizontal direction, the scrolling tree
        needs to know about the back/forward state of the page.

        * WebCore.exp.in:
        Export new symbols.

        * WebCore.xcodeproj/project.pbxproj:
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::ScrollingTree):
        Initialize m_canGoBack and m_canGoForward.

        (WebCore::ScrollingTree::updateBackForwardState):
        Update m_canGoBack and m_canGoForward.

        * page/scrolling/ScrollingTree.h:
        (WebCore::ScrollingTree::canGoBack):
        (WebCore::ScrollingTree::canGoForward):
        Add getters.

        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::shouldRubberBandInDirection):
        Implement this, using canGoBack and canGoForward.

2012-02-13  Brady Eidson  <beidson@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=78520
        Cleanup PageCache::canCachePageContainingThisFrame readability

        Reviewed by Anders Carlsson.

        No new tests. (Code cleanup, no change in behavior)

        * history/PageCache.cpp:
        (WebCore::PageCache::canCachePageContainingThisFrame): Store three commonly
          getter-accessed variables in local variables for readability.

2012-02-13  Timothy Hatcher  <timothy@apple.com>

        Don't include a separator before the "Inspect Element" context menu item when the context menu is empty.

        https://webkit.org/b/78312

        Reviewed by Brian Weinstein.

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::addInspectElementItem): Check itemCount before appending the separator.
        * platform/gtk/ContextMenuGtk.cpp:
        (WebCore::ContextMenu::itemCount): Added. Implement so this builds on GTK.

2012-02-13  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Define HWND_MESSAGE if not done already
        https://bugs.webkit.org/show_bug.cgi?id=78341

        Reviewed by Adam Roben.

        HWND_MESSAGE is not defined on WinCE.
        Set it to 0 when not defined to avoid #ifdefs.

        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::Pasteboard):
        * platform/win/WindowsExtras.h:
        (WebCore):

2012-02-13  Chris Fleizach  <cfleizach@apple.com>

        AX: <mark> element should be exposed through attributes
        https://bugs.webkit.org/show_bug.cgi?id=75727

        Reviewed by Beth Dakin.

        Exposes an attribute indicating that an element has highlighting through attributedStringForRange.
        Also allows the search mechanism to find elements with this style.

        Test: platform/mac/accessibility/attributed-string-includes-highlighting.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
        (WebCore::AccessibilityObject::hasHighlighting):
        * accessibility/AccessibilityObject.h:
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (createAccessibilitySearchKeyMap):
        (AXAttributeStringSetStyle):

2012-02-13  Chris Fleizach  <cfleizach@apple.com>

        AX: the web area should report that focus can be set to itself
        https://bugs.webkit.org/show_bug.cgi?id=78272

        Reviewed by Beth Dakin.

        Test: platform/mac/accessibility/webarea-can-set-focus.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isDataTable):
           Fixed erroneous comment.

2012-02-13  Patrick Gansterer  <paroga@webkit.org>

        Port RunLoop to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=76781

        Reviewed by Adam Roben.

        * platform/win/RunLoopWin.cpp:
        (WebCore::RunLoop::registerRunLoopMessageWindowClass):

2012-02-10  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Make ScriptsNavigator default file selector.
        https://bugs.webkit.org/show_bug.cgi?id=78349

        Reviewed by Pavel Feldman.

        Moved ScriptsNavigator out of experiments.
        Introduced new setting "useScriptsNavigator" with true as default value.
        Updated scripts panel tests related to file selector.

        Tests: inspector/debugger/scripts-combobox-file-selector-history.html
               inspector/debugger/scripts-file-selector.html

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype._removeUISourceCode):
        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
        (WebInspector.ScriptsPanel.prototype._addUISourceCode):
        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):

2012-02-13  Andreas Kling  <awesomekling@apple.com>

        Make HTMLTableCaptionElement inherit from HTMLElement.
        <http://webkit.org/b/78505>

        Reviewed by Antti Koivisto.

        HTMLTableCaptionElement was already bypassing its base class (HTMLTablePartElement)
        and calling up to HTMLElement in all its overrides. Just make it an HTMLElement
        instead since it doesn't use anything from HTMLTablePartElement.
        Remove parseAttribute() overload since it's no longer needed.

        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
        (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
        (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
        * html/HTMLTableCaptionElement.h:

2012-02-13  Andreas Kling  <awesomekling@apple.com>

        HTMLMarqueeElement: Don't cache presence of truespeed attribute.
        <http://webkit.org/b/78483>

        Reviewed by Antti Koivisto.

        Out-of-line minimumDelay() and look up the "truespeed" attribute there instead
        of caching the minimum delay in parseAttribute().
        Remove HTMLMarqueeElement::parseAttribute() as it's no longer needed.

        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
        (WebCore::HTMLMarqueeElement::minimumDelay):
        * html/HTMLMarqueeElement.h:
        (HTMLMarqueeElement):

2012-02-13  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] factor common timeline UI state into TimelinePresentationModel
        https://bugs.webkit.org/show_bug.cgi?id=78501

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
        (WebInspector.TimelineOverviewPane.prototype.update):
        (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
        (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
        (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._createTopPane):
        (WebInspector.TimelinePanel.prototype.get statusBarItems):
        (WebInspector.TimelinePanel.prototype.get _recordStyles):
        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
        (WebInspector.TimelinePanel.prototype._createTimelineCategoryStatusBarCheckbox):
        (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.prototype.sidebarResized):
        (WebInspector.TimelinePanel.prototype._updateBoundaries):
        (WebInspector.TimelinePanel.prototype._showPopover):
        (WebInspector.TimelinePresentationModel):
        (WebInspector.TimelinePresentationModel.prototype.get categories):
        (WebInspector.TimelinePresentationModel.prototype.addCategory):
        (WebInspector.TimelinePresentationModel.prototype.setWindowPosition):
        (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility):

2012-02-13  Joel Webber  <jgw@google.com>

        Use requestAnimationFrame callbacks to pump CSS animations
        https://bugs.webkit.org/show_bug.cgi?id=64591

        Reviewed by James Robinson.

        No new tests needed (covered by tests in animations/*).

        * page/FrameView.cpp:
        (WebCore::FrameView::serviceScriptedAnimations):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateAnimations):
        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
        (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
        (WebCore::AnimationControllerPrivate::animationFrameCallbackFired):
        (WebCore::AnimationController::updateAnimations):
        (WebCore::AnimationController::serviceAnimations):
        * page/animation/AnimationController.h:
        * page/animation/AnimationControllerPrivate.h:

2012-02-13  Patrick Gansterer  <paroga@webkit.org>

        Add WindowsExtras.h
        https://bugs.webkit.org/show_bug.cgi?id=78340

        Reviewed by Adam Roben.

        Add a new file to share common code for Win32/WinCE differences.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::PopupMenuWndProc):
        * platform/win/RunLoopWin.cpp:
        (WebCore::RunLoop::RunLoopWndProc):
        * platform/win/WindowsExtras.h: Added.
        (WebCore):
        (WebCore::getWindowPointer):
        (WebCore::setWindowPointer):

2012-02-13  Andreas Kling  <awesomekling@apple.com>

        Don't mark element for style recalc when modifying its attribute style.
        <http://webkit.org/b/78497>

        Reviewed by Antti Koivisto.

        StylePropertySet::setNeedsStyleRecalc() shouldn't do anything for attribute styles.
        Their invalidation is handled exclusively by StyledElement::attributeChanged().
        Elements with presentation attributes were being marked for style recalc twice,
        once when the attribute changed, and again during attribute style update, below the
        call to collectStyleForAttribute().

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::setNeedsStyleRecalc):

2012-02-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Move attribute storage from NamedNodeMap to ElementAttributeData
        https://bugs.webkit.org/show_bug.cgi?id=77674

        Reviewed by Andreas Kling.

        Move m_attributes vector from NamedNodeMap to ElementAttributeData. Make the
        remaining callsites interact with ElementAttributeData if possible. The parsing
        code is still interacting with NamedNodeMap, so some functions remained as
        wrappers there. A next change will it use ElementAttributeData instead.

        The code for DOM exported functions remained in NamedNodeMap. This implementation
        should move to Element in a next change, too.

        * dom/Attr.h:
        (Attr):
        * dom/Element.cpp:
        (WebCore::Element::setAttribute):
        (WebCore::Element::setAttributeInternal):
        (WebCore::Element::parserSetAttributeMap):
        (WebCore::Element::removeAttribute):
        (WebCore::Element::hasAttribute):
        (WebCore::Element::hasAttributeNS):
        (WebCore::Element::normalizeAttributes):
        * dom/Element.h:
        (Element):
        (WebCore::Element::ensureUpdatedAttributes):
        (WebCore::Element::ensureAttributeData):
        (WebCore):
        (WebCore::Element::updatedAttributeData):
        (WebCore::Element::ensureUpdatedAttributeData):
        These *AttributeData functions are the correct correct way for callers to touch
        the details of attribute storage. The "updated" variants will update invalid
        attributes before return.

        (WebCore::Element::setAttributesFromElement):
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::~ElementAttributeData):
        (WebCore):
        (WebCore::ElementAttributeData::ensureInlineStyleDecl):
        (WebCore::ElementAttributeData::addAttribute):
        (WebCore::ElementAttributeData::removeAttribute):
        (WebCore::ElementAttributeData::detachAttributesFromElement):
        (WebCore::ElementAttributeData::copyAttributesToVector):
        (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
        (WebCore::ElementAttributeData::setAttributes): Make use of the assumption that
        this will only be called with a valid Element, since the only call site is an
        Element method.
        (WebCore::ElementAttributeData::clearAttributes):
        (WebCore::ElementAttributeData::replaceAttribute): Make use of the assumption
        this will only be called with a valid Element, since the only call site return
        early if there's no Element.
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        (WebCore::ElementAttributeData::length):
        (WebCore::ElementAttributeData::isEmpty):
        (WebCore::ElementAttributeData::attributeItem):
        (WebCore::ElementAttributeData::removeAttribute):
        (WebCore):
        (WebCore::ElementAttributeData::getAttributeItem):
        (WebCore::ElementAttributeData::getAttributeItemIndex):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::getNamedItem):
        (WebCore::NamedNodeMap::removeNamedItem):
        (WebCore::NamedNodeMap::setNamedItem):
        (WebCore::NamedNodeMap::item):
        (WebCore::NamedNodeMap::detachFromElement):
        * dom/NamedNodeMap.h:
        (WebCore::NamedNodeMap::length):
        (WebCore::NamedNodeMap::isEmpty):
        (WebCore::NamedNodeMap::attributeItem):
        (WebCore::NamedNodeMap::getAttributeItem):
        (WebCore::NamedNodeMap::getAttributeItemIndex):
        (WebCore::NamedNodeMap::shrinkToLength):
        (WebCore::NamedNodeMap::reserveInitialCapacity):
        (WebCore::NamedNodeMap::addAttribute):
        (WebCore::NamedNodeMap::removeAttribute):
        (NamedNodeMap):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateAttributeStyle):
        * dom/StyledElement.h:
        (WebCore::StyledElement::ensureInlineStyleDecl):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateType):
        * svg/properties/SVGAnimatedPropertySynchronizer.h:
        * xml/parser/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):

2012-02-13  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: wrong percent calculations for empty snapshot.
        https://bugs.webkit.org/show_bug.cgi?id=78329

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):

2012-02-13  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: add class filter to heap profiler.
        https://bugs.webkit.org/show_bug.cgi?id=78362

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid.prototype.insertChild):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
        (WebInspector.HeapSnapshotConstructorsDataGrid):
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._nameFilterChanged):
        (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
        * inspector/front-end/heapProfiler.css:
        (.detailed-heapshot-view .constructors-view-grid):
        (.detailed-heapshot-view .constructors-view-toolbar):
        (.detailed-heapshot-view .constructors-view-toolbar input.constructors-view-filter):

2012-02-13  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: In Inspector.json PropertyDescriptor.writable should be declared optional
        https://bugs.webkit.org/show_bug.cgi?id=77917

        Reviewed by Pavel Feldman.

        Property descriptor is fixed in Inspector.json. Also retroactively in
        0.1 and 1.0.
        Injected script in instructed to never return null property values.

        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector-0.1.json:
        * inspector/Inspector-1.0.json:
        * inspector/Inspector.json:

2012-02-13  ChangSeok Oh  <shivamidow@gmail.com>

        [GTK] Revise configuration for MHTML
        https://bugs.webkit.org/show_bug.cgi?id=78364

        Reviewed by Gustavo Noronha Silva.

        Added mhtml directory and removed target files duplicated to build when enabling mhtml.
        Archive.cpp, ArchiveFactory.cpp & their headers are included at the above line.
        This duplication has caused build-break if mhtml is enabled.

        No new tests, since no new features.

        * GNUmakefile.am:
        * GNUmakefile.list.am:

2012-02-06  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [EFL] Drop support for the Curl network backend.
        https://bugs.webkit.org/show_bug.cgi?id=77874

        Reviewed by Eric Seidel.

        Nobody seems to be maintaining the Curl backend in WebCore, the
        EFL port developers all seem to be using the Soup backend and the
        port itself has many features which are only implemented for the
        latter.

        No new tests, just some dependency plumbing.

        * PlatformEfl.cmake: Build the glib/soup source files
        unconditionally.
        * platform/efl/FileSystemEfl.cpp: Remove ENABLE(GLIB_SUPPORT) check.

2012-02-13  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: wrap settings selector text and adding a rule with undoable actions.
        https://bugs.webkit.org/show_bug.cgi?id=78482

        Reviewed by Yury Semikhatsky.

        Tests: inspector/styles/undo-add-new-rule.html
               inspector/styles/undo-set-selector-text.html

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
        (InspectorCSSAgent::StyleSheetAction):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
        (InspectorCSSAgent::SetRuleSelectorAction):
        (WebCore::InspectorCSSAgent::SetRuleSelectorAction::SetRuleSelectorAction):
        (WebCore::InspectorCSSAgent::SetRuleSelectorAction::perform):
        (WebCore::InspectorCSSAgent::SetRuleSelectorAction::undo):
        (WebCore):
        (InspectorCSSAgent::AddRuleAction):
        (WebCore::InspectorCSSAgent::AddRuleAction::AddRuleAction):
        (WebCore::InspectorCSSAgent::AddRuleAction::perform):
        (WebCore::InspectorCSSAgent::AddRuleAction::undo):
        (WebCore::InspectorCSSAgent::AddRuleAction::newRuleId):
        (WebCore::InspectorCSSAgent::setStyleSheetText):
        (WebCore::InspectorCSSAgent::setPropertyText):
        (WebCore::InspectorCSSAgent::toggleProperty):
        (WebCore::InspectorCSSAgent::setRuleSelector):
        (WebCore::InspectorCSSAgent::addRule):
        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::bindStyleSheet):
        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::styleSheetChanged):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::create):
        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        (WebCore::InspectorStyleSheet::ruleSelector):
        (WebCore):
        (WebCore::InspectorStyleSheet::setRuleSelector):
        (WebCore::InspectorStyleSheet::addRule):
        (WebCore::InspectorStyleSheet::deleteRule):
        (WebCore::InspectorStyleSheet::setPropertyText):
        (WebCore::InspectorStyleSheet::toggleProperty):
        (WebCore::InspectorStyleSheet::fireStyleSheetChanged):
        (WebCore::InspectorStyleSheetForInlineStyle::create):
        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
        * inspector/InspectorStyleSheet.h:
        (InspectorStyleSheet):
        (WebCore::InspectorStyleSheet::styleId):
        (InspectorStyleSheetForInlineStyle):

2012-02-13  Hayato Ito  <hayato@chromium.org>

        Rename names defined in ContentInclutionSelector to more intuitive names.
        https://bugs.webkit.org/show_bug.cgi?id=78333

        Reviewed by Hajime Morita.

        This is just refactoring, renaming non-intuitive names to more intuitive names
        so that they match the terms in the spec.

        No tests. No change in behavior.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::nextRendererOf):
        (WebCore::previousRendererOf):
        (WebCore::firstRendererOf):
        (WebCore::lastRendererOf):
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::previousRenderer):
        * dom/NodeRenderingContext.h:
        (NodeRenderingContext):
        (WebCore::NodeRenderingContext::insertionPoint):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::insertionPointFor):
        (WebCore::ShadowRoot::isSelectorActive):
        (WebCore::ShadowRoot::attach):
        (WebCore::ShadowRoot::selector):
        (WebCore::ShadowRoot::ensureSelector):
        * dom/ShadowRoot.h:
        (WebCore):
        (ShadowRoot):
        * html/shadow/ContentInclusionSelector.h: Removed.
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::HTMLContentElement):
        (WebCore::HTMLContentElement::attach):
        (WebCore::HTMLContentElement::detach):
        * html/shadow/HTMLContentElement.h:
        (WebCore):
        (WebCore::HTMLContentElement::selections):
        (WebCore::HTMLContentElement::hasSelection):
        (HTMLContentElement):
        * html/shadow/HTMLContentSelector.cpp: Renamed from Source/WebCore/html/shadow/ContentInclusionSelector.cpp.
        (WebCore):
        (WebCore::HTMLContentSeleciton::append):
        (WebCore::HTMLContentSeleciton::unlink):
        (WebCore::HTMLContentSelectionList::HTMLContentSelectionList):
        (WebCore::HTMLContentSelectionList::~HTMLContentSelectionList):
        (WebCore::HTMLContentSelectionList::find):
        (WebCore::HTMLContentSelectionList::clear):
        (WebCore::HTMLContentSelectionList::append):
        (WebCore::HTMLContentSelector::HTMLContentSelector):
        (WebCore::HTMLContentSelector::~HTMLContentSelector):
        (WebCore::HTMLContentSelector::select):
        (WebCore::HTMLContentSelector::unselect):
        (WebCore::HTMLContentSelector::findFor):
        (WebCore::HTMLContentSelector::didSelect):
        (WebCore::HTMLContentSelector::willSelectOver):
        * html/shadow/HTMLContentSelector.h: Added.
        (WebCore):
        (HTMLContentSeleciton):
        (WebCore::HTMLContentSeleciton::insertionPoint):
        (WebCore::HTMLContentSeleciton::node):
        (WebCore::HTMLContentSeleciton::next):
        (WebCore::HTMLContentSeleciton::previous):
        (WebCore::HTMLContentSeleciton::HTMLContentSeleciton):
        (WebCore::HTMLContentSeleciton::create):
        (HTMLContentSelectionList):
        (WebCore::HTMLContentSelectionList::first):
        (WebCore::HTMLContentSelectionList::last):
        (WebCore::HTMLContentSelectionList::isEmpty):
        (HTMLContentSelectionSet):
        (WebCore::HTMLContentSelectionSet::add):
        (WebCore::HTMLContentSelectionSet::remove):
        (WebCore::HTMLContentSelectionSet::isEmpty):
        (Translator):
        (WebCore::HTMLContentSelectionSet::Translator::hash):
        (WebCore::HTMLContentSelectionSet::Translator::equal):
        (WebCore::HTMLContentSelectionSet::Hash::hash):
        (WebCore::HTMLContentSelectionSet::Hash::equal):
        (Hash):
        (WebCore::HTMLContentSelectionSet::find):
        (HTMLContentSelector):
        (WebCore::HTMLContentSelector::hasCandidates):
        * testing/Internals.cpp:
        (WebCore::Internals::includerFor):

2012-02-13  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] morphing-cubes animation appears too close when clicking the button
        https://bugs.webkit.org/show_bug.cgi?id=78476

        Fixed bug in TextureMapperAnimation that made transform animations that go to/from identity
        to not work.

        Reviewed by Simon Hausmann.

        No behavior changes.

        * platform/graphics/texmap/TextureMapperAnimation.cpp:
        (WebCore::applyTransformAnimation):

2012-02-13  Yosifumi Inoue  <yosin@chromium.org>

        [Forms] Use enum instead of bool for HTMLInputElement::setValue
        https://bugs.webkit.org/show_bug.cgi?id=75217

        Reviewed by Kent Tamura.

        Use TextFieldEventBehavior enum instead of sendChangeEvent bool
        parameter for HTMLInputElement::setValue method. This new enum
        parameter will be extended to dispatch input and change events
        when user agent populates input field as specified in
        "Common events behavior" of HTML5 standard.

        This patch is required for fixing bug 75067 "[Forms] Spin buttons
        of number input type should fire both input and change event."

        No new tests. Existing tests cover this patch.

        * html/BaseButtonInputType.cpp:
        (WebCore::BaseButtonInputType::setValue):
        * html/BaseButtonInputType.h:
        * html/BaseCheckableInputType.cpp:
        (WebCore::BaseCheckableInputType::setValue):
        * html/BaseCheckableInputType.h:
        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
        * html/BaseDateAndTimeInputType.h:
        * html/CheckboxInputType.cpp:
        (WebCore::CheckboxInputType::willDispatchClick):
        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::setValue):
        * html/ColorInputType.h:
        * html/FileInputType.cpp:
        (WebCore::FileInputType::setValue):
        * html/FileInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::applyStep):
        (WebCore::HTMLInputElement::stepUp):
        (WebCore::HTMLInputElement::stepDown):
        (WebCore::HTMLInputElement::setChecked):
        (WebCore::HTMLInputElement::setValueForUser):
        (WebCore::HTMLInputElement::setValue):
        (WebCore::HTMLInputElement::setValueInternal):
        (WebCore::HTMLInputElement::setValueAsNumber):
        (WebCore::HTMLInputElement::stepUpFromRenderer):
        * html/HTMLInputElement.h:
        * html/HTMLTextFormControlElement.h:
        * html/HiddenInputType.cpp:
        (WebCore::HiddenInputType::setValue):
        * html/HiddenInputType.h:
        * html/InputType.cpp:
        (WebCore::InputType::setValueAsNumber):
        (WebCore::InputType::setValue):
        * html/InputType.h:
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::setValueAsNumber):
        * html/NumberInputType.h:
        * html/RadioInputType.cpp:
        (WebCore::RadioInputType::willDispatchClick):
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::setValueAsNumber):
        (WebCore::RangeInputType::handleKeydownEvent):
        (WebCore::RangeInputType::setValue):
        * html/RangeInputType.h:
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::setValue):
        * html/TextFieldInputType.h:

2012-02-13  Andreas Kling  <awesomekling@apple.com>

        Move attribute style invalidation to attributeChanged().
        <http://webkit.org/b/78461>

        Reviewed by Antti Koivisto.

        Moved attribute style invalidation out of the parseAttribute() overloads
        and added an "isPresentationAttribute(Attribute*) virtual to StyledElement.
        Returning true for a given Attribute will cause attribute style invalidation
        when that attribute passes through attributeChanged().

        Removed a couple of parseAttribute() overloads whose only remaining purpose
        was invalidating attribute style.

        For form elements that deliberately don't map the "align" attribute, added
        short-circuits in isPresentationAttribute instead of falling back to the
        respective base class (which may othweise then map "align")

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):
        * dom/StyledElement.h:
        (WebCore::StyledElement::isPresentationAttribute):
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::isPresentationAttribute):
        * html/HTMLBRElement.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::isPresentationAttribute):
        (WebCore::HTMLBodyElement::collectStyleForAttribute):
        (WebCore::HTMLBodyElement::parseAttribute):
        * html/HTMLBodyElement.h:
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::isPresentationAttribute):
        (WebCore::HTMLButtonElement::parseAttribute):
        * html/HTMLButtonElement.h:
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::isPresentationAttribute):
        * html/HTMLDivElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::isPresentationAttribute):
        (WebCore::HTMLElement::parseAttribute):
        * html/HTMLElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::isPresentationAttribute):
        (WebCore::HTMLEmbedElement::parseAttribute):
        * html/HTMLEmbedElement.h:
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::isPresentationAttribute):
        * html/HTMLFontElement.h:
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::isPresentationAttribute):
        (WebCore::HTMLFrameSetElement::parseAttribute):
        * html/HTMLFrameSetElement.h:
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::isPresentationAttribute):
        (WebCore::HTMLHRElement::collectStyleForAttribute):
        * html/HTMLHRElement.h:
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::isPresentationAttribute):
        (WebCore::HTMLIFrameElement::collectStyleForAttribute):
        (WebCore::HTMLIFrameElement::parseAttribute):
        * html/HTMLIFrameElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::isPresentationAttribute):
        (WebCore::HTMLImageElement::collectStyleForAttribute):
        (WebCore::HTMLImageElement::parseAttribute):
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isPresentationAttribute):
        (WebCore::HTMLInputElement::collectStyleForAttribute):
        (WebCore::HTMLInputElement::parseAttribute):
        * html/HTMLInputElement.h:
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::isPresentationAttribute):
        (WebCore::HTMLLIElement::parseAttribute):
        * html/HTMLLIElement.h:
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::isPresentationAttribute):
        (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
        (WebCore::HTMLMarqueeElement::parseAttribute):
        * html/HTMLMarqueeElement.h:
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::isPresentationAttribute):
        (WebCore::HTMLOListElement::parseAttribute):
        * html/HTMLOListElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::isPresentationAttribute):
        (WebCore::HTMLObjectElement::parseAttribute):
        * html/HTMLObjectElement.h:
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::isPresentationAttribute):
        * html/HTMLParagraphElement.h:
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::isPresentationAttribute):
        (WebCore::HTMLPlugInElement::collectStyleForAttribute):
        * html/HTMLPlugInElement.h:
        * html/HTMLPreElement.cpp:
        (WebCore::HTMLPreElement::isPresentationAttribute):
        (WebCore::HTMLPreElement::collectStyleForAttribute):
        * html/HTMLPreElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::isPresentationAttribute):
        (WebCore::HTMLSelectElement::parseAttribute):
        * html/HTMLSelectElement.h:
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
        (WebCore::HTMLTableCaptionElement::parseAttribute):
        * html/HTMLTableCaptionElement.h:
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::isPresentationAttribute):
        (WebCore::HTMLTableCellElement::collectStyleForAttribute):
        (WebCore::HTMLTableCellElement::parseAttribute):
        * html/HTMLTableCellElement.h:
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::isPresentationAttribute):
        (WebCore::HTMLTableColElement::parseAttribute):
        * html/HTMLTableColElement.h:
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::isPresentationAttribute):
        (WebCore::HTMLTableElement::parseAttribute):
        * html/HTMLTableElement.h:
        * html/HTMLTablePartElement.cpp:
        (WebCore::HTMLTablePartElement::isPresentationAttribute):
        (WebCore::HTMLTablePartElement::collectStyleForAttribute):
        * html/HTMLTablePartElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::isPresentationAttribute):
        (WebCore::HTMLTextAreaElement::parseAttribute):
        * html/HTMLTextAreaElement.h:
        * html/HTMLUListElement.cpp:
        (WebCore::HTMLUListElement::isPresentationAttribute):
        (WebCore::HTMLUListElement::collectStyleForAttribute):
        * html/HTMLUListElement.h:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::isPresentationAttribute):
        (WebCore::HTMLVideoElement::parseAttribute):
        * html/HTMLVideoElement.h:
        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::isPresentationAttribute):
        (WebCore::MathMLElement::collectStyleForAttribute):
        * mathml/MathMLElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::isPresentationAttribute):
        (WebCore::SVGImageElement::parseAttribute):
        * svg/SVGImageElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::isPresentationAttribute):
        (WebCore::SVGStyledElement::parseAttribute):
        * svg/SVGStyledElement.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::isPresentationAttribute):
        (WebCore::SVGTextContentElement::parseAttribute):
        * svg/SVGTextContentElement.h:

2012-02-13  Kentaro Hara  <haraken@chromium.org>

        Add [JSCustomToJSObject] IDL attribute to interfaces that have
        custom toJS() but do not have custom toV8()
        https://bugs.webkit.org/show_bug.cgi?id=78466

        Reviewed by Adam Barth.

        This is the second step to remove hard-coding in HasCustomToV8Implementation()
        in CodeGeneratorV8.pm. This patch replaces [JSCustomToJS] with [JSCustomToJSObject]
        for interfaces which have custom toJS() but do not have custom toV8().

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (HasCustomToV8Implementation): I found that AbstractWorker and CanvasRenderingContext
        are the only IDL files to which I need to add [JSCustomToJSObject].
        Other IDL files which had been listed here do not have [JSCustomToJS].
        * html/canvas/CanvasRenderingContext.idl:
        * workers/AbstractWorker.idl:

2012-02-13  Andreas Kling  <awesomekling@apple.com>

        Avoid unnecessary work when evaluating style sharing candidates.
        <http://webkit.org/b/78220>

        Reviewed by Antti Koivisto.

        Do the cheap checks (bitfields, pointers) before calling virtuals and doing hash lookups.
        Remove comparison of attributes that are reflected in the attribute styles (cellpadding.)
        Moved comparison of "type" and "readonly" attributes into the more specific
        canShareStyleWithControl() since they are only relevant for input elements. Don't bother
        calling isFormControlElement() on both elements as they already have the same tagQName().

        Altogether this knocks off ~8ms worth of samples per cycle of the "Moz" page cycler test.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithControl):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::isCommonAttributeSelectorAttribute):

2012-02-13  Arko Saha  <arko@motorola.com>

        <summary> is not keyboard accessible.
        https://bugs.webkit.org/show_bug.cgi?id=75478

        Reviewed by Hajime Morita.

        Toggle the content of <details> element on pressing Enter or Spacebar
        key on a focused <summary> element.

        Test: fast/html/details-keyboard-show-hide.html

        * html/HTMLSummaryElement.cpp:
        (WebCore::HTMLSummaryElement::supportsFocus):
        (WebCore):
        (WebCore::HTMLSummaryElement::defaultEventHandler):
        * html/HTMLSummaryElement.h:
        (HTMLSummaryElement):

2012-02-13  Gavin Barraclough  <barraclough@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=78434
        Unreviewed - temporarily reverting r107498 will I fix a couple of testcases.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore):
        * bindings/js/JSDOMWindowBase.h:
        (JSDOMWindowBase):

2012-02-13  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: get rid of cycles in containment view of an object.
        https://bugs.webkit.org/show_bug.cgi?id=78462

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):

2012-02-12  Adam Barth  <abarth@webkit.org>

        Remove ENABLE(MEDIA_STREAM) from Navigator.h
        https://bugs.webkit.org/show_bug.cgi?id=78467

        Reviewed by Kentaro Hara.

        Navigator.webkitGetUser media doesn't really have anything to do with
        Navigator.cpp.  This patch moves it into the mediastream directory and
        removes the ENABLE(MEDIA_STREAM) ifdefs in Navigator.h and
        Navigator.cpp.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * mediastream/NavigatorMediaStream.cpp: Added.
        (WebCore):
        (WebCore::NavigatorMediaStream::NavigatorMediaStream):
        (WebCore::NavigatorMediaStream::~NavigatorMediaStream):
        (WebCore::NavigatorMediaStream::webkitGetUserMedia):
        * mediastream/NavigatorMediaStream.h: Added.
        (WebCore):
        (NavigatorMediaStream):
        * mediastream/NavigatorMediaStream.idl: Added.
        * page/Navigator.cpp:
        (WebCore):
        * page/Navigator.h:
        (WebCore):
        (Navigator):
        * page/Navigator.idl:

2012-02-12  Adam Barth  <abarth@webkit.org>

        Navigator.webkitGetUserMedia doesn't need to be custom
        https://bugs.webkit.org/show_bug.cgi?id=78464

        Reviewed by Eric Seidel.

        The code generator has gotten smarter since this function was added.

        * GNUmakefile.list.am:
        * UseV8.cmake:
        * WebCore.gypi:
        * bindings/js/JSNavigatorCustom.cpp: Removed.
        * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
        * page/Navigator.idl:

2012-02-12  Adam Barth  <abarth@webkit.org>

        Move ENABLE(GAMEPAD) logic out of Navigator.h/cpp
        https://bugs.webkit.org/show_bug.cgi?id=78457

        Reviewed by Hajime Morita.

        This patch moves GAMEPAD-specific logic out of Navigator by introducing
        the concept of a NavigatorSupplement, analogous to the recently
        introduced PageSupplement.

        * Modules/gamepad/NavigatorGamepad.cpp:
        (WebCore::NavigatorGamepad::from):
        (WebCore):
        (WebCore::NavigatorGamepad::webkitGamepads):
        (WebCore::NavigatorGamepad::gamepads):
        * Modules/gamepad/NavigatorGamepad.h:
        (NavigatorGamepad):
        * WebCore.gypi:
        * dom/DeviceMotionController.cpp:
        (WebCore::DeviceMotionController::supplementName):
        * page/Navigator.cpp:
        (WebCore::Navigator::provideSupplement):
        (WebCore):
        (WebCore::Navigator::requireSupplement):
        * page/Navigator.h:
        (Navigator):
        * page/Page.h:
        (Page):
        * page/PageSupplement.h:
            - This patch cleans up some nits in PageSupplement.
        (WebCore):
        (PageSupplement):

2012-02-12  Kentaro Hara  <haraken@chromium.org>

        Add a [V8CustomToJSObject] IDL attribute
        https://bugs.webkit.org/show_bug.cgi?id=78450

        Reviewed by Adam Barth.

        This is the first step to remove hard-coding in HasCustomToV8Implementation()
        in CodeGeneratorV8.pm. This patch adds [V8CustomToJSObject]
        to interfaces which have custom toV8() but do not have custom toJS().

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm: Replaced hard-coding with [V8CustomToJSObject].
        (HasCustomToV8Implementation):

        * css/CSSStyleSheet.idl: Added [V8CustomToJSObject].
        * dom/DOMStringMap.idl:
        * dom/Element.idl:
        * dom/NamedNodeMap.idl:
        * html/DOMTokenList.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/canvas/CanvasPixelArray.idl:
        * inspector/ScriptProfile.idl:
        * inspector/ScriptProfileNode.idl:
        * page/DOMWindow.idl:
        * page/Location.idl:
        * svg/SVGDocument.idl:
        * svg/SVGElement.idl:
        * workers/WorkerContext.idl:

2012-02-12  David Barr  <davidbarr@chromium.org>

        CSS3 currentColor on outline-color gets treated as inherit
        https://bugs.webkit.org/show_bug.cgi?id=73180

        Reviewed by Antti Koivisto.

        The CSS2 and CSS3 UI modules state that outline-color
        is not inherited. Make it so.
        http://www.w3.org/TR/CSS2/ui.html#propdef-outline-color
        http://www.w3.org/TR/css3-ui/#outline-color

        Test: fast/css/outline-currentcolor.html

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

2012-02-12  Antti Koivisto  <antti@apple.com>

        CSSPageRule should inherit from CSSRule instead of CSSStyleRule
        https://bugs.webkit.org/show_bug.cgi?id=78452

        Reviewed by Anders Carlsson.

        This matches CSSOM and eliminates the only subclass of CSSStyleRule, enabling further refactoring.

        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::CSSPageRule):
        (WebCore::CSSPageRule::~CSSPageRule):
        (WebCore):
        (WebCore::CSSPageRule::selectorText):
        (WebCore::CSSPageRule::setSelectorText):
        (WebCore::CSSPageRule::cssText):
        * css/CSSPageRule.h:
        (CSSPageRule):
        (WebCore::CSSPageRule::style):
        (WebCore::CSSPageRule::selector):
        (WebCore::CSSPageRule::properties):
        (WebCore::CSSPageRule::adoptSelectorVector):
        (WebCore::CSSPageRule::setDeclaration):
        * css/CSSRule.cpp:
        (WebCore::CSSRule::cssText):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::generateSelectorText):
        * css/CSSStyleSelector.cpp:
        (WebCore::RuleSet::pageRules):
        (RuleSet):
        (WebCore::RuleSet::addPageRule):
        (WebCore::comparePageRules):
        (WebCore::CSSStyleSelector::matchPageRules):
        (WebCore::CSSStyleSelector::matchPageRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):

2012-02-12  Shinya Kawanaka  <shinyak@google.com>

        Introduce ShadowRootList.
        https://bugs.webkit.org/show_bug.cgi?id=78069

        Reviewed by Hajime Morita.

        This is a step to implement multiple shadow subtrees.

        This patch introduces a shadow root list. ShadowRootList is a doubly linked list,
        and each shadow root now has a younger shadow root and older shadow root,
        which are a previous element and a next element respectively.
        Since a visual tree traversal, which will be introduced in coming patches, will need a older shadow root,
        we make a shadow root list a doubly linked list.

        However, ShadowRootList does not have more than one shadow root now.
        This will be changed in a series of coming patches.

        Element::shadowRoot(), setShadowRoot(), ensureShadowRoot(), and removeShadowRoot() are
        emulated using ShadowRootList for a while. These API will be replaced to ShadowRootList API later.

        No new tests, no change in behavior.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/Element.cpp:
        (WebCore::Element::hasShadowRoot):
          Retruns true if an element has a shadowRoot.
        (WebCore::Element::shadowRootList):
          Gets shadow root list if any.
        (WebCore::Element::shadowRoot):
          Gets the first shadow root from the shadow root list.
        (WebCore::Element::setShadowRoot):
          Sets the first shadow root to the shadow root list.
        (WebCore::Element::removeShadowRoot):
          Removes all the shadow roots in the shadow root list.
        * dom/Element.h:
        (WebCore):
        (Element):
        * dom/ElementRareData.h:
        (ElementRareData):
        (WebCore::ElementRareData::ElementRareData):
          Has shadow root lists instead of shadow root.
        (WebCore::ElementRareData::~ElementRareData):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::ShadowRoot):
        (WebCore::ShadowRoot::~ShadowRoot):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        (WebCore::ShadowRoot::youngerShadowRoot):
        (WebCore::ShadowRoot::olderShadowRoot):
        * dom/ShadowRootList.cpp: Added.
        (WebCore):
        (WebCore::ShadowRootList::ShadowRootList):
        (WebCore::ShadowRootList::~ShadowRootList):
        (WebCore::ShadowRootList::pushShadowRoot):
          Adds a shadow root into the list. Currently we limit the list can have only one shadow root.
        (WebCore::ShadowRootList::popShadowRoot):
          Removes and returns the youngest shadow root if any.
        * dom/ShadowRootList.h: Added.
        (WebCore):
        (ShadowRootList):
        (WebCore::ShadowRootList::hasShadowRoot):
        (WebCore::ShadowRootList::youngestShadowRoot):
        (WebCore::ShadowRootList::oldestShadowRoot):

2012-02-12  Shinya Kawanaka  <shinyak@google.com>

        INPUT shouldn't create ShadowRoot dynamically.
        https://bugs.webkit.org/show_bug.cgi?id=77930

        Reviewed by Dimitri Glazkov.

        When input type is changed, ShadowRoot was being re-created. This makes it difficult to
        support multiple shadow subtrees. This patch makes input re-use the existing shadow root
        instead of re-creating a shaow root. A shadow root should be created when an element is created.

        Since media control elements are implemented using input elements, these elements should also
        create a shadow root in their construction phase.

        Test: fast/dom/shadow/input-shadow-nochange.html
        Tests related to media controls should be covered by existing tests.

        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::createShadowSubtree):
        * html/FileInputType.cpp:
        (WebCore::FileInputType::createShadowSubtree):
        (WebCore::FileInputType::multipleAttributeChanged):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::createShadowSubtree):
        * html/InputType.cpp:
        (WebCore::InputType::destroyShadowSubtree):
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::createShadowSubtree):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::createShadowSubtree):
        * html/shadow/MediaControlElements.cpp:
          Creates a shadow tree in the construction phase.
        (WebCore::MediaControlPanelMuteButtonElement::create):
        (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
        (WebCore::MediaControlPlayButtonElement::create):
        (WebCore::MediaControlSeekForwardButtonElement::create):
        (WebCore::MediaControlSeekBackButtonElement::create):
        (WebCore::MediaControlRewindButtonElement::create):
        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
        (WebCore::MediaControlTimelineElement::create):
        (WebCore::MediaControlVolumeSliderElement::create):
        (WebCore::MediaControlFullscreenVolumeSliderElement::create):
        (WebCore::MediaControlFullscreenButtonElement::create):
        (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):

2012-02-12  Shinya Kawanaka  <shinyak@google.com>

        SVGTRefElement shouldn't create a shadow root dynamically.
        https://bugs.webkit.org/show_bug.cgi?id=77938

        Reviewed by Hajime Morita.

        SVGTRefElement creates a shadow root dynamically. This will cause a problem to support
        multiple shadow subtrees. So it should be created in a constructor phase.

        Test: svg/custom/tref-shadowdom.html

        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::create):
        (WebCore::SVGTRefElement::createShadowSubtree):
        (WebCore):
        (WebCore::SVGTRefElement::updateReferencedText):
        * svg/SVGTRefElement.h:
        (SVGTRefElement):

2012-02-12  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        (WebCore):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore):
        (WebCore::JSTestActiveDOMObject::destroy):
        (WebCore::JSTestActiveDOMObject::~JSTestActiveDOMObject):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
        (JSTestActiveDOMObject):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        (WebCore):
        (WebCore::JSTestCustomNamedGetter::destroy):
        (WebCore::JSTestCustomNamedGetter::~JSTestCustomNamedGetter):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
        (JSTestCustomNamedGetter):
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore):
        (WebCore::JSTestEventConstructor::destroy):
        (WebCore::JSTestEventConstructor::~JSTestEventConstructor):
        * bindings/scripts/test/JS/JSTestEventConstructor.h:
        (JSTestEventConstructor):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore):
        (WebCore::JSTestEventTarget::destroy):
        (WebCore::JSTestEventTarget::~JSTestEventTarget):
        * bindings/scripts/test/JS/JSTestEventTarget.h:
        (JSTestEventTarget):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore):
        (WebCore::JSTestInterface::destroy):
        (WebCore::JSTestInterface::~JSTestInterface):
        * bindings/scripts/test/JS/JSTestInterface.h:
        (JSTestInterface):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore):
        (WebCore::JSTestMediaQueryListListener::destroy):
        (WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
        (JSTestMediaQueryListListener):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore):
        (WebCore::JSTestNamedConstructor::destroy):
        (WebCore::JSTestNamedConstructor::~JSTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
        (JSTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::JSTestObj::destroy):
        (WebCore::JSTestObj::~JSTestObj):
        * bindings/scripts/test/JS/JSTestObj.h:
        (JSTestObj):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore):
        (WebCore::JSTestSerializedScriptValueInterface::destroy):
        (WebCore::JSTestSerializedScriptValueInterface::~JSTestSerializedScriptValueInterface):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        (JSTestSerializedScriptValueInterface):

2012-02-12  Abhishek Arya  <inferno@chromium.org>

        Regression (r104528): Crash when moving nodes across documents.
        https://bugs.webkit.org/show_bug.cgi?id=78432

        Reviewed by Hajime Morita.

        Test: fast/dom/node-move-to-new-document-crash-main.html

        * dom/TreeScopeAdopter.cpp:
        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
        (WebCore::TreeScopeAdopter::moveNodeToNewDocument):

2012-02-12  Hajime Morrita  <morrita@chromium.org>

        Page should have less intrusive way to associate API implementation objects.
        https://bugs.webkit.org/show_bug.cgi?id=78085

        Reviewed by Adam Barth.

        Introducing PageSupplement interface to attach behind-the-flag-ish
        objects to Page instances.

        This change aims to improve modularity of Modules/ entries. With
        PageSupplement mechinary, we can eliminate ifdef conditionals from
        Page.h/Page.cpp and are able to add Modules/ entries without
        touching non-Module WebCore files. WebKit API classes like WebPage
        can "provide" these objects dynamically during the Page setup phase.

        In this change, DeviceMotionController and
        DeviceOrientationController is updated to adopt PageSupplement
        inteface for an illustrative purpose because they are going to
        move into Modules/ shortly. Other Page associated API backing
        objects also should be transformed to PageSupplement family.

        Reviewed by Adam Barth.

        No new tests. No behavior change.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DeviceMotionClient.h:
        (WebCore):
        * dom/DeviceMotionController.cpp:
        (WebCore::DeviceMotionController::supplementName):
        (WebCore):
        (WebCore::DeviceMotionController::isActiveAt):
        (WebCore::provideDeviceMotionTo):
        * dom/DeviceMotionController.h:
        (DeviceMotionController):
        (WebCore::DeviceMotionController::from):
        * dom/DeviceOrientationClient.h:
        (WebCore):
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::supplementName):
        (WebCore):
        (WebCore::DeviceOrientationController::isActiveAt):
        (WebCore::provideDeviceOrientationTo):
        * dom/DeviceOrientationController.h:
        (DeviceOrientationController):
        (WebCore::DeviceOrientationController::from):
        * dom/Document.cpp:
        (WebCore::Document::suspendActiveDOMObjects):
        (WebCore::Document::resumeActiveDOMObjects):
        * history/PageCache.cpp:
        (WebCore::logCanCachePageDecision):
        (WebCore::PageCache::canCache):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        (WebCore::DOMWindow::removeAllEventListeners):
        * page/PageSupplement.cpp:
        (WebCore::PageSupplement::~PageSupplement):
        (WebCore::PageSupplement::provideTo):
        (WebCore::PageSupplement::from):
        * page/PageSupplement.h:
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::~Page):
        (WebCore::Page::provideSupplement):
        (WebCore):
        (WebCore::Page::requireSupplement):
        (WebCore::Page::notifyDestroyedToSupplements):
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        (WebCore):
        (PageClients):
        (Page):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2012-02-12  Nico Weber  <nicolasweber@gmx.de>

        [chromium/mac] Change the type of webkit_system_interface from static_library to none
        https://bugs.webkit.org/show_bug.cgi?id=78441

        This target exists only run an action and to add a dependency to the
        action's output to targets depending on webkit_system_interface.
        This is what target type 'none' is for. With this, no dummy source
        file is needed, and no empty libwebkit_system_interface.a is created.
        This also fixes this (harmless) libtool warning:

        libtool: warning for library: libwebkit_system_interface.a the table
        of contents is empty (no object file members in the library define
        global symbols)

        Reviewed by Adam Barth.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/mac/Empty.cpp: Removed.

2012-02-12  Kenichi Ishibashi  <bashi@chromium.org>

        If @font-face does not provide an explicit italic/bold variant, regular is used.
        https://bugs.webkit.org/show_bug.cgi?id=34147

        Reviewed by Dan Bernstein.

        Update @font-face handling code so that it matches @font-face behavior to the current draft of CSS3 Font spec. The original patch was written by yusukes@chromium.org.
        - Drops support for "bolder", "lighter", and "all" value. These are no longer allowed.
        - Only allows one value for font-style and font-weight.

        Tests: fast/css/font-face-synthetic-bold-italic.html
               fast/css/font-face-weight-matching.html

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule): Removed "all", "lighter", "bolder" handling code.
        (WebCore::compareFontFaces):Updated the weight matching algortihm.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Replaced parseFontStyle() call with checking primitive values.
        (WebCore::CSSParser::parseFontWeight): Changed to allow only primitive values.
        (WebCore::CSSParser::createFontFaceRule): Removed checks for font-weight and font-style.
        (WebCore::CSSParser::deleteFontFaceOnlyValues): Ditto.
        * css/CSSParser.h: Removed parseFontStyle().

2012-02-12  David Reveman  <reveman@chromium.org>

        [Chromium] Avoid unnecessary memset in per-tile layer updater.
        https://bugs.webkit.org/show_bug.cgi?id=78426

        Reviewed by Stephen White.

        Use our own SkBitmap and call SkBitmap::allocPixels() instead of
        letting SkDevice construct a SkBitmap. This avoids an unnecessary
        memset otherwise done by SkDevice.

        No new tests.

        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
        (Texture):

2012-02-12  Joe Thomas  <joethomas@motorola.com>

        Add toText and isTextNode helpers in Text class.
        https://bugs.webkit.org/show_bug.cgi?id=78140

        Added a new helper function toText() in dom/Text.h which does the type casting operation to Text object.
        Modified the code to make use of this helper function.

        Reviewed by Adam Barth.

        No new tests.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::accessibleNameForNode):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector):
        * dom/Attr.cpp:
        (WebCore::Attr::childrenChanged):
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        * dom/Node.cpp:
        (WebCore::Node::normalize):
        * dom/Position.cpp:
        (WebCore::Position::containerText):
        (WebCore::Position::leadingWhitespacePosition):
        * dom/Range.cpp:
        (WebCore::Range::insertNode):
        (WebCore::Range::getBorderAndTextQuads):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::scriptContent):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::recalcShadowTreeStyle):
        * dom/Text.h: Added new helper function toText.
        (WebCore::toText): new helper function which does the type casting operation to Text object.
        (WebCore):
        * editing/ApplyBlockElementCommand.cpp:
        (WebCore::isNewLineAtPosition):
        (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::splitTextAtEnd):
        (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
        (WebCore::ApplyStyleCommand::joinChildTextNodes):
        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::insertNodeAt):
        (WebCore::CompositeEditCommand::positionOutsideTabSpan):
        (WebCore::CompositeEditCommand::canRebalance):
        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
        (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
        (WebCore::CompositeEditCommand::deleteInsignificantText):
        (WebCore::CompositeEditCommand::removePlaceholderAt):
        (WebCore::CompositeEditCommand::cleanupAfterDeletion):
        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
        (WebCore::DeleteSelectionCommand::fixupWhitespace):
        * editing/Editor.cpp:
        (WebCore::Editor::setComposition):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::insertTab):
        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::appendStartMarkup):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
        (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
        (WebCore::ReplaceSelectionCommand::insertAsListItems):
        (WebCore::ReplaceSelectionCommand::performTrivialReplace):
        * editing/htmlediting.cpp:
        (WebCore::lineBreakExistsAtPosition):
        * editing/visible_units.cpp:
        (WebCore::startPositionForLine):
        (WebCore::endPositionForLine):
        (WebCore::startOfParagraph):
        (WebCore::endOfParagraph):
        * html/HTMLElement.cpp:
        (WebCore::replaceChildrenWithFragment):
        (WebCore::replaceChildrenWithText):
        (WebCore::mergeWithNextTextNode):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::hasFallbackContent):
        (WebCore::HTMLObjectElement::updateDocNamedItem):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::setText):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::setText):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::defaultValue):
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::innerTextValue):
        (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
        * html/HTMLTitleElement.cpp:
        (WebCore::HTMLTitleElement::text):
        (WebCore::HTMLTitleElement::setText):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setNodeValue):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::originalText):
        * rendering/RenderTextFragment.cpp:
        (WebCore::RenderTextFragment::originalText):
        (WebCore::RenderTextFragment::previousCharacter):

2012-02-12  Kentaro Hara  <haraken@chromium.org>

        Remove [CPPCustom] from CodeGeneratorCPP.pm
        https://bugs.webkit.org/show_bug.cgi?id=78342

        Reviewed by Adam Barth.

        This patch removes [CPPCustom].

        [CPPCustom] has been used in DOMWindow.location only to indicate that
        DOMWindow.location should be ignored in CPP. However, there are many
        other attributes and methods that CPP does not support (e.g. [CallWith=...],
        [CustomSetter], etc), and they are not yet marked with [CPPCustom].
        CPP just generates "meaningless" code for those unsupported attributes
        and methods. Ideally we can mark all unsupported attributes and methods
        with [CPPCustom], but it would not be so practical. Otherwise, removing
        [CPPCustom] would make sense. The side effect of removing [CPPCustom]
        is just that CPP will generate "meaningless" code for DOMWindow.location.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorCPP.pm:
        (ShouldSkipType):
        * page/DOMWindow.idl:

2012-02-12  Kentaro Hara  <haraken@chromium.org>

        Rename [JSCustomPrototypeDefineOwnProperty] to [JSCustomDefineOwnPropertyOnPrototype]
        https://bugs.webkit.org/show_bug.cgi?id=78354

        Reviewed by Adam Barth.

        This patch renames [JSCustomPrototypeDefineOwnProperty] to
        [JSCustomDefineOwnPropertyOnPrototype], for naming consistency with
        [JSCustomDefineOwnProperty] and [JSCustomNamedGetterOnPrototype].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        * page/Location.idl:

2012-02-11  Filip Pizlo  <fpizlo@apple.com>

        It should be possible to send all JSC debug logging to a file
        https://bugs.webkit.org/show_bug.cgi?id=78418

        Reviewed by Sam Weinig.
        
        Introduced wtf/DataLog, which defines WTF::dataFile, WTF::dataLog,
        and WTF::dataLogV. Changed all debugging- and profiling-related printfs
        to use WTF::dataLog() or one of its friends. By default, debug logging
        goes to stderr, unless you change the setting in wtf/DataLog.cpp.

        No new tests because behavior is unchanged.

        * ForwardingHeaders/wtf/DataLog.h: Added.

2012-02-11  Gavin Barraclough  <barraclough@apple.com>

        Move special __proto__ property to Object.prototype
        https://bugs.webkit.org/show_bug.cgi?id=78409

        Reviewed by Oliver Hunt.

        Re-implement this as a regular accessor property.  This has three key benefits:
        1) It makes it possible for objects to be given properties named __proto__.
        2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
        3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::allowsAccessFrom):
        (WebCore):
            - expose allowsAccessFrom check to JSC.
        * bindings/js/JSDOMWindowBase.h:
        (JSDOMWindowBase):
            - expose allowsAccessFrom check to JSC.

2012-02-11  Benjamin Poulain  <benjamin@webkit.org>

        Get rid of WebCore::URLString
        https://bugs.webkit.org/show_bug.cgi?id=78429

        Reviewed by Adam Barth.

        URLString is unused, remove the class.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/KURL.cpp:
        * platform/KURL.h:
        (KURL):
        * platform/URLString.h: Removed.

2012-02-11  Sam Weinig  <sam@webkit.org>

        Fix the windows build.

        Since Windows uses an all-in-one file to compile, the isRespectedPresentationAttribute()
        functions all need unique names.

        * html/HTMLBodyElement.cpp:
        * html/HTMLHRElement.cpp:
        * html/HTMLIFrameElement.cpp:
        * html/HTMLImageElement.cpp:
        * html/HTMLInputElement.cpp:
        * html/HTMLMarqueeElement.cpp:
        * html/HTMLPlugInElement.cpp:
        * html/HTMLTableCellElement.cpp:
        * html/HTMLTablePartElement.cpp:
        * mathml/MathMLElement.cpp:

2012-02-11  Anders Carlsson  <andersca@apple.com>

        Overlay scrollbars don't appear when scrolling on the scrolling thread
        https://bugs.webkit.org/show_bug.cgi?id=78427

        Reviewed by Sam Weinig.

        Add a ScrollAnimator::notifyContentAreaScrolled and call it from ScrollAnimator::notifyContentAreaScrolled.
        It is then overridden in ScrollAnimatorMac to tickle AppKit so that overlay scrollbars will be shown.

        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::notifyContentAreaScrolled):
        (ScrollAnimator):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::notifyScrollPositionChanged):
        * platform/mac/ScrollAnimatorMac.h:
        (ScrollAnimatorMac):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::notifyPositionChanged):
        (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
        (WebCore):

2012-02-11  Anders Carlsson  <andersca@apple.com>

        Implement more ScrollElasticityControllerClient member functions
        https://bugs.webkit.org/show_bug.cgi?id=78425
        <rdar://problem/10710727>

        Reviewed by Sam Weinig.

        * page/scrolling/ScrollingTreeNode.h:
        (ScrollingTreeNode):
        (WebCore::ScrollingTreeNode::horizontalScrollElasticity):
        (WebCore::ScrollingTreeNode::verticalScrollElasticity):
        (WebCore::ScrollingTreeNode::hasEnabledHorizontalScrollbar):
        (WebCore::ScrollingTreeNode::hasEnabledVerticalScrollbar):
        Add new getters.

        * page/scrolling/mac/ScrollingTreeNodeMac.h:
        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching):
        (WebCore::ScrollingTreeNodeMac::allowsVerticalStretching):
        (WebCore::ScrollingTreeNodeMac::stretchAmount):
        (WebCore::ScrollingTreeNodeMac::pinnedInDirection):
        (WebCore::ScrollingTreeNodeMac::canScrollHorizontally):
        (WebCore::ScrollingTreeNodeMac::canScrollVertically):
        (WebCore::ScrollingTreeNodeMac::absoluteScrollPosition):
        (WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints):
        (WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer):
        (WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer):
        (WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints):
        Implement ScrollElasticityControllerClient member functions.

2012-02-11  Antti Koivisto  <antti@apple.com>

        Add size assert for Length
        https://bugs.webkit.org/show_bug.cgi?id=78420

        Rubber-stamped by Andreas Kling.

        Length type is memory critical and must not grow.

        * platform/Length.cpp:
        (SameSizeAsLength):
        (WebCore):

2012-02-11  Anders Carlsson  <andersca@apple.com>

        Pass wheel events to a scroll elasticity controller on the scrolling thread
        https://bugs.webkit.org/show_bug.cgi?id=78421

        Reviewed by Sam Weinig.

        Add a ScrollElasticityController to ScrollingTreeNodeMac and pass wheel events to it.
        Fix ScrollingTreeNodeMac::scrollBy to clamp by the minimum and maximum scroll positions.

        * page/scrolling/mac/ScrollingTreeNodeMac.h:
        (ScrollingTreeNodeMac):
        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::ScrollingTreeNodeMac):
        (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
        (WebCore::ScrollingTreeNodeMac::immediateScrollBy):
        (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
        (WebCore::ScrollingTreeNodeMac::minimumScrollPosition):
        (WebCore):
        (WebCore::ScrollingTreeNodeMac::maximumScrollPosition):
        (WebCore::ScrollingTreeNodeMac::scrollBy):

2012-02-11  Andreas Kling  <awesomekling@apple.com>

        Attribute styles should be created lazily.
        <http://webkit.org/b/78381>

        Reviewed by Antti Koivisto.

        TL;DR summary: Lazily construct the StyledElement::attributeStyle() instead of
        moving properties in/out of it in parseAttribute(). This allows us to enable
        the matched declaration cache for elements with presentation attributes.

        The matched declaration cache has been disabled for elements with presentation
        attributes because attributeStyle() was mutable, and (simply put) the cache maps
        a set of StylePropertySet pointers to a resulting RenderStyle. This requires
        that the StylePropertySets are immutable.

        To make them immutable, we now construct the attribute style lazily by adding
        a flag (to Node) that gets set in parseAttribute() when a presentation attribute
        respected by the element changes. A subsequent call to attributeStyle() checks
        the flag and rebuilds the style by looping over the attributes and calling the
        new virtual StyledElement::collectStyleForAttribute() on each one. Any dangling
        references to the previous attribute style will be garbage collected by the
        cache in CSSStyleSelector::sweepMatchedDeclarationCache().

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchAllRules):

            Enable matched declaration cache for elements with attribute style.

        * dom/Node.h:
        (WebCore::Node::attributeStyleDirty):
        (WebCore::Node::setAttributeStyleDirty):
        (WebCore::Node::clearAttributeStyleDirty):

            Add a Node flag to signify that a presentation attribute has changed and
            the attribute style needs to be rebuilt.

        * dom/ElementAttributeData.h:
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::setAttributeStyle):

            Added a setter for the attribute style, called by updateAttributeStyle().

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addHTMLLengthToStyle):
        (WebCore::StyledElement::addHTMLColorToStyle):

            Moved and renamed two of the old addCSS* helpers from StyledElement.

        (WebCore::StyledElement::updateAttributeStyle):

            Called by attributeStyle() in case the "attribute style dirty" flag is
            set. Rebuilds the attribute style from scratch by looping over the
            attribute map and calling collectStyleForAttribute() on each attribute.

        * dom/StyledElement.h:
        (WebCore::StyledElement::collectStyleForAttribute):
        (WebCore::StyledElement::attributeStyle):
        (WebCore::StyledElement::setNeedsAttributeStyleUpdate):

            Helper, sets the attribute style dirty flag and marks the element for
            full style recalc. This is what parseAttribute() calls in subclasses
            when they encounter a presentation attribute.

        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::collectStyleForAttribute):
        (WebCore::HTMLBRElement::parseAttribute):
        * html/HTMLBRElement.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::isRespectedPresentationAttribute):
        (WebCore::HTMLBodyElement::collectStyleForAttribute):
        (WebCore::HTMLBodyElement::parseAttribute):
        * html/HTMLBodyElement.h:
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::collectStyleForAttribute):
        (WebCore::HTMLDivElement::parseAttribute):
        * html/HTMLDivElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::applyBorderAttributeToStyle):
        (WebCore::HTMLElement::mapLanguageAttributeToLocale):
        (WebCore::HTMLElement::collectStyleForAttribute):
        (WebCore::HTMLElement::parseAttribute):
        (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
        * html/HTMLElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::collectStyleForAttribute):
        (WebCore::HTMLEmbedElement::parseAttribute):
        * html/HTMLEmbedElement.h:
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::collectStyleForAttribute):
        (WebCore::HTMLFontElement::parseAttribute):
        * html/HTMLFontElement.h:
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::collectStyleForAttribute):
        (WebCore::HTMLFrameSetElement::parseAttribute):
        * html/HTMLFrameSetElement.h:
        * html/HTMLHRElement.cpp:
        (WebCore::isRespectedPresentationAttribute):
        (WebCore::HTMLHRElement::collectStyleForAttribute):
        (WebCore::HTMLHRElement::parseAttribute):
        * html/HTMLHRElement.h:
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::collectStyleForAttribute):
        (WebCore::HTMLIFrameElement::parseAttribute):
        * html/HTMLIFrameElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::isRespectedPresentationAttribute):
        (WebCore::HTMLImageElement::collectStyleForAttribute):
        (WebCore::HTMLImageElement::parseAttribute):
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::isRespectedPresentationAttribute):
        (WebCore::HTMLInputElement::collectStyleForAttribute):
        (WebCore::HTMLInputElement::parseAttribute):
        * html/HTMLInputElement.h:
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::collectStyleForAttribute):
        (WebCore::HTMLLIElement::parseAttribute):
        * html/HTMLLIElement.h:
        * html/HTMLMarqueeElement.cpp:
        (WebCore::isRespectedPresentationAttribute):
        (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
        (WebCore::HTMLMarqueeElement::parseAttribute):
        * html/HTMLMarqueeElement.h:
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::collectStyleForAttribute):
        (WebCore::HTMLOListElement::parseAttribute):
        * html/HTMLOListElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::collectStyleForAttribute):
        (WebCore::HTMLObjectElement::parseAttribute):
        * html/HTMLObjectElement.h:
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::collectStyleForAttribute):
        (WebCore::HTMLParagraphElement::parseAttribute):
        * html/HTMLParagraphElement.h:
        * html/HTMLPlugInElement.cpp:
        (WebCore::isRespectedPresentationAttribute):
        (WebCore::HTMLPlugInElement::collectStyleForAttribute):
        (WebCore::HTMLPlugInElement::parseAttribute):
        * html/HTMLPlugInElement.h:
        * html/HTMLPreElement.cpp:
        (WebCore::HTMLPreElement::collectStyleForAttribute):
        (WebCore::HTMLPreElement::parseAttribute):
        * html/HTMLPreElement.h:
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
        (WebCore::HTMLTableCaptionElement::parseAttribute):
        * html/HTMLTableCaptionElement.h:
        * html/HTMLTableCellElement.cpp:
        (WebCore::isRespectedPresentationAttribute):
        (WebCore::HTMLTableCellElement::collectStyleForAttribute):
        (WebCore::HTMLTableCellElement::parseAttribute):
        * html/HTMLTableCellElement.h:
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::collectStyleForAttribute):
        (WebCore::HTMLTableColElement::parseAttribute):
        * html/HTMLTableColElement.h:
        * html/HTMLTableElement.cpp:
        (WebCore::getBordersFromFrameAttributeValue):
        (WebCore::HTMLTableElement::collectStyleForAttribute):
        (WebCore::HTMLTableElement::parseAttribute):
        * html/HTMLTableElement.h:
        * html/HTMLTablePartElement.cpp:
        (WebCore::isRespectedPresentationAttribute):
        (WebCore::HTMLTablePartElement::collectStyleForAttribute):
        (WebCore::HTMLTablePartElement::parseAttribute):
        * html/HTMLTablePartElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
        (WebCore::HTMLTextAreaElement::parseAttribute):
        * html/HTMLTextAreaElement.h:
        * html/HTMLUListElement.cpp:
        (WebCore::HTMLUListElement::collectStyleForAttribute):
        (WebCore::HTMLUListElement::parseAttribute):
        * html/HTMLUListElement.h:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::collectStyleForAttribute):
        (WebCore::HTMLVideoElement::parseAttribute):
        * html/HTMLVideoElement.h:
        * mathml/MathMLElement.cpp:
        (WebCore::isRespectedPresentationAttribute):
        (WebCore::MathMLElement::collectStyleForAttribute):
        (WebCore::MathMLElement::parseAttribute):
        * mathml/MathMLElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::collectStyleForAttribute):
        (WebCore::SVGImageElement::parseAttribute):
        * svg/SVGImageElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::collectStyleForAttribute):
        (WebCore::SVGStyledElement::parseAttribute):
        * svg/SVGStyledElement.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::collectStyleForAttribute):
        (WebCore::SVGTextContentElement::parseAttribute):
        * svg/SVGTextContentElement.h:

            Split handling of presentation attributes between parseAttribute() and
            collectStyleForAttribute() as appropriate. Some minor refactorings here and
            there (mostly in HTMLTableElement) to avoid excessive code duplication.
            Also sprinkled FIXMEs about inefficiencies we should clean up.

2012-02-11   Arko Saha  <arko@motorola.com>

        HTML 5: Support click() method on HTMLElement.
        https://bugs.webkit.org/show_bug.cgi?id=27880

        Reviewed by Timothy Hatcher.

        Test: fast/dom/click-method-on-html-element.html

        * bindings/objc/PublicDOMInterfaces.h: Added click() method in DOMHTMLElement
        with availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1.
        * html/HTMLButtonElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.
        * html/HTMLElement.idl: Added click() IDL method.
        * html/HTMLInputElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.

2012-02-11  Martin Robinson  <mrobinson@igalia.com>

        [GStreamer] html5test.com says that gstreamer ports do not support WebM for audio
        https://bugs.webkit.org/show_bug.cgi?id=78244

        Reviewed by Eric Seidel.

        Specifically advertise support for audio/webm when we support the vorbis
        audio codec. This is necessary because gstreamer doesn't advertise it.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mimeTypeCache): Add an override for audio/webm.

2012-02-11  Anders Carlsson  <andersca@apple.com>

        Try to fix the Windows build.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::scrollToRevealSelection):

2012-02-08  Stephen White  <senorblanco@chromium.org>

        [chromium] Enable CSS filters on composited layers.
        https://bugs.webkit.org/show_bug.cgi?id=77266

        Reviewed by James Robinson.

        Will be covered by existing tests in css3/filters (when enabled).

        * WebCore.gypi:
        Add CCRenderSurfaceFilters.* to the Chromium build.
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setFilters):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        Override setFilters() virtual from GraphicsLayer.
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setFilters):
        Implement setFilters() to cache the filters here...
        (WebCore::LayerChromium::pushPropertiesTo):
        ... and push them to the CCLayerImpl at commit time.
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::filters):
        Implement accessor.
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::setFilters):
        Implement stub version of setFilters(), to satisfy the templates.
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::setFilters):
        Implement setter to receive filters at commit time.
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::filters):
        Implement member var and accessor for filters.
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        Add another clause here to force creation of a RenderSurface when
        filters are present, and to forward them from the layer to the
        RenderSurface.
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::draw):
        (WebCore::CCRenderSurface::drawLayer):
        Check for filters at draw time, apply them, and forward the result
        through the drawing traversal.
        (WebCore::CCRenderSurface::drawSurface):
        If filter bitmap is present, bind it instead of the normal
        RenderSurface texture.
        (WebCore::CCRenderSurface::applyFilters):
        Apply filters to the render surface texture, and return the result.
        This function is a no-op for the threaded compositor, due to use
        of the SharedGraphicsContext3D.
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (WebCore::CCRenderSurface::setFilters):
        (WebCore::CCRenderSurface::filters):
        (CCRenderSurface):
        Filters getters and setters.
        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: Added.
        (WebCore::CCRenderSurfaceFilters::apply):
        External interface for this (static) class.  All internal
        implementation and helper functions are in the unnamed namespace.
        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h: Added.

2012-02-11  Andreas Kling  <awesomekling@apple.com>

        Node.isEqualNode() compares attributes twice.
        <http://webkit.org/b/78414>

        Reviewed by Anders Carlsson.

        A single pass across the attribute maps should be enough for anyone.

        Added a test verifying correct behavior of Node.isEqualNode() when comparing
        two elements, one of which has had attributes that were all removed,
        resulting in an empty but non-null NamedNodeMap hanging off of the element.
        Note that this change is not fixing a regression, I'm just adding the test
        since I came close to introducing a bug here.

        Test: fast/dom/isEqualNode-after-removeAttribute.html

        * dom/Node.cpp:
        (WebCore::Node::isEqualNode):

2012-02-11  Andreas Kling  <awesomekling@apple.com>

        HTMLTablePartElement: Add helper method to find parent table.
        <http://webkit.org/b/78413>

        Reviewed by Anders Carlsson.

        Add HTMLTablePartElement::findParentTable() and use that in subclasses instead
        of duplicating the code.

        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::additionalAttributeStyle):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::additionalAttributeStyle):
        * html/HTMLTablePartElement.cpp:
        (WebCore::HTMLTablePartElement::findParentTable):
        (WebCore):
        * html/HTMLTablePartElement.h:
        (WebCore):
        (HTMLTablePartElement):
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::additionalAttributeStyle):

2012-02-11  Andreas Kling  <awesomekling@apple.com>

        Use Element's hasName/hasID flags to avoid unnecessary work when looking up name/id attributes.
        <http://webkit.org/b/77845>

        Reviewed by Anders Carlsson.

        Have Element::getIdAttribute() check the hasID() flag before looking up the attribute.
        Add an Element::getNameAttribute() to do the same thing with hasName().
        Update call sites to make use of these helpers whenever possible.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityDescription):
        * dom/DocumentOrderedMap.cpp:
        (WebCore::keyMatchesId):
        * dom/Element.h:
        (Element):
        (WebCore::Element::getIdAttribute):
        (WebCore):
        (WebCore::Element::getNameAttribute):
        * dom/NameNodeList.cpp:
        (WebCore::NameNodeList::nodeMatches):
        * dom/StaticHashSetNodeList.cpp:
        (WebCore::StaticHashSetNodeList::itemWithName):
        * dom/StaticNodeList.cpp:
        (WebCore::StaticNodeList::itemWithName):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::name):
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::createRenderer):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::checkForNameMatch):
        (WebCore::HTMLCollection::updateNameCache):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::updateNameCache):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::formControlName):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::name):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::name):
        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::itemAfter):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget):
        (WebCore::HTMLObjectElement::updateDocNamedItem):
        (WebCore::HTMLObjectElement::containsJavaApplet):
        (WebCore::HTMLObjectElement::formControlName):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::buildObjectForFrame):
        * page/Frame.cpp:
        (WebCore::Frame::matchLabelsAgainstElement):
        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::getElementById):

2012-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r107435.
        http://trac.webkit.org/changeset/107435
        https://bugs.webkit.org/show_bug.cgi?id=78410

        It broke the Qt build (Requested by Ossy on #webkit).

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::writeSelectionToPasteboard):
        * platform/Pasteboard.h:
        (WebCore):
        (Pasteboard):
        * platform/PasteboardStrategy.h: Removed.
        * platform/PlatformPasteboard.h: Removed.
        * platform/PlatformStrategies.h:
        (WebCore):
        (WebCore::PlatformStrategies::PlatformStrategies):
        (PlatformStrategies):
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::canSmartReplace):
        (WebCore::insertablePasteboardTypes):
        (WebCore::DragData::asURL):
        * platform/mac/PasteboardMac.mm:
        (WebCore):
        (WebCore::selectionPasteboardTypes):
        (WebCore::writableTypesForURL):
        (WebCore::createWritableTypesForImage):
        (WebCore::writableTypesForImage):
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::clear):
        (WebCore::Pasteboard::writeSelectionForTypes):
        (WebCore::Pasteboard::writePlainText):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::writeURLForTypes):
        (WebCore::Pasteboard::writeURL):
        (WebCore::writeFileWrapperAsRTFDAttachment):
        (WebCore::Pasteboard::writeImage):
        (WebCore::Pasteboard::writeClipboard):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::documentFragmentWithRTF):
        (WebCore::Pasteboard::documentFragment):
        * platform/mac/PlatformPasteboardMac.mm: Removed.

2012-02-10  Antti Koivisto  <antti@apple.com>

        Move CSSOM wrapper pointer out of StylePropertySet
        https://bugs.webkit.org/show_bug.cgi?id=78406

        Reviewed by Andreas Kling.
        
        Most StylePropertySet instances never have CSSOM wrappers so having a pointer to one in
        each and and every object makes no sense.

        Move the PropertySetCSSStyleDeclaration instances to a global HashMap. This shrinks
        StylePropertySet by a pointer.
        
        Added COMPILE_ASSERT for StylePropertySet size.

        * css/StylePropertySet.cpp:
        (WebCore):
        (WebCore::StylePropertySet::StylePropertySet):
        (WebCore::StylePropertySet::~StylePropertySet):
        (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
        * css/StylePropertySet.h:
        (StylePropertySet):

2012-02-10  David Barton  <dbarton@mathscribe.com>

        MathML internals - use createXXX() function naming, ASSERT()s
        https://bugs.webkit.org/show_bug.cgi?id=78384

        Reviewed by Eric Seidel.

        Standard RefPtr function naming uses "createXXX" instead of "makeXXX".
        I also added a couple of ASSERT()s.

        No new tests.

        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::createBlockStyle):
        * rendering/mathml/RenderMathMLBlock.h:
        (RenderMathMLBlock):
        * rendering/mathml/RenderMathMLFenced.cpp:
        (WebCore::RenderMathMLFenced::createOperatorStyle):
        (WebCore::RenderMathMLFenced::makeFences):
        (WebCore::RenderMathMLFenced::addChild):
        * rendering/mathml/RenderMathMLFenced.h:
        (RenderMathMLFenced):
        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::addChild):
        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::addChild):
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
        (WebCore::RenderMathMLUnderOver::addChild):

2012-02-10  Dan Bernstein  <mitz@apple.com>

        Non-threaded scrolling build fix.

        * page/FrameView.cpp:
        (WebCore::FrameView::requestScrollPositionUpdate):

2012-02-10  Edward O'Connor  <eoconnor@apple.com>

        Change values for WEBKIT_KEYFRAMES_RULE, WEBKIT_KEYFRAME_RULE
        https://bugs.webkit.org/show_bug.cgi?id=71293

        Reviewed by Chris Marrin.

        Tests: animations/animation-css-rule-types.html

        * css/CSSRule.h: Change WEBKIT_KEYFRAMES_RULE to 7 and
        WEBKIT_KEYFRAME_RULE to 8.
        * css/CSSRule.idl: Ditto.

2012-02-10  Eric Seidel  <eric@webkit.org>

        AtomicMarkupTokenBase::initializeAttributes should not create a StringImpl if it doesn't need to
        https://bugs.webkit.org/show_bug.cgi?id=78394

        Reviewed by Adam Barth.

        On the very next line is passes value to Attribute::create which takes
        an AtomicString, so this code was just allocating a StringImpl (every time)
        only to (much of the time) just release that StringImpl on the next line
        when it got the AtomicString instead.

        I discovered this while looking at DOM/Events.html, but it's unclear
        if this fix actually makes that benchmark faster.

        * xml/parser/MarkupTokenBase.h:
        (WebCore::::initializeAttributes):

2012-02-10  Anders Carlsson  <andersca@apple.com>

        Always update the scroll position through the scrolling coordinator
        https://bugs.webkit.org/show_bug.cgi?id=78403

        Reviewed by Sam Weinig.

        To get correct behavior, we always want to update the scrolling layer position
        on the scrolling thread. Do this by allowing the scrolling coordinator to intercept
        scroll position update requests and send them to the scrolling tree.

        * page/FrameView.cpp:
        (WebCore::FrameView::requestScrollPositionUpdate):
        Let the scrolling coordinator have a go at updating the scroll position for this frame view.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
        If it's a frame view we're coordinating scrolling for, tell the scrolling tree to update 
        the scroll position.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::setMainFrameScrollPosition):
        Call through to the scrolling tree node.

        * page/scrolling/ScrollingTreeNode.h:
        Add a new pure virtual setScrollPosition member function.

        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
        Move most of the code from scrollBy here.

        (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
        Rename this member function from setScrollPosition to avoid conflicts.

        (WebCore::ScrollingTreeNodeMac::scrollBy):
        Just call setScsrollPosition.

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
        Call requestScrollPositionUpdate, which allows subclasses of scrollable area to intercept
        the scroll operation and call it asynchronously.

2012-02-10  Anders Carlsson  <andersca@apple.com>

        ScrollableArea should have a function for noting that the scroll position changed
        https://bugs.webkit.org/show_bug.cgi?id=78402

        Reviewed by Sam Weinig.

        The scrolling coordinator needs a specialized function to call whenever the main frame
        scrolling position has changed, so add ScrollableArea::notifyScrollPositionChanged and
        call it from the scrolling coordinator.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::notifyScrollPositionChanged):
        New function.

        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
        Call ScrollableArea::notifyScrollPositionChanged.

2012-02-09  Levi Weintraub  <leviw@chromium.org>

        Unreviewed build fix.

        Fixing the build by removing a duplicate definition of pixelSnappedIntRect in LayoutTypes.h and
        removing conflict markers from the changelog.

        * rendering/LayoutTypes.h:
        (pixelSnappedIntRect):
        * ChangeLog:

2012-02-09  Levi Weintraub  <leviw@chromium.org>

        Add pixelSnappedIntRect method
        https://bugs.webkit.org/show_bug.cgi?id=78054

        Reviewed by Eric Seidel.

        This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to
        pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics
        engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to 
        understand we're using sub-pixel units).

        No new tests. No change in behavior.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isOffScreen):
        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
        * dom/Range.cpp:
        (WebCore::Range::boundingBox):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paint):
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
        * page/Frame.cpp:
        (WebCore::Frame::nodeImage):
        * page/FrameView.cpp:
        (WebCore::FrameView::repaintContentRectangle):
        (WebCore::FrameView::doDeferredRepaints):
        (WebCore::FrameView::windowClipRectForLayer):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        * rendering/LayoutTypes.h:
        (WebCore::pixelSnappedIntRect):
        (WebCore):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintColumnContents):
        (WebCore::RenderBlock::selectionGaps):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations):
        (WebCore::RenderBox::pushContentsClip):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderDetailsMarker.cpp:
        (WebCore::RenderDetailsMarker::paint):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::paintIntoRegion):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::paintColumnBorder):
        (WebCore::RenderFrameSet::paintRowBorder):
        (WebCore::RenderFrameSet::positionFramesWithFlattening):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):
        (WebCore::RenderLayer::positionOverflowControls):
        (WebCore::RenderLayer::calculateRects):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::paintScrollbar):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawLineForBoxSide):
        (WebCore::RenderObject::addPDFURLRect):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::showPopup):
        (WebCore::RenderTextControlSingleLine::paint):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getRoundedBorderFor):
        (WebCore::RenderStyle::getRoundedInnerBorderFor):

2012-02-09  Levi Weintraub  <leviw@chromium.org>

        Add pixelSnappedIntRect method
        https://bugs.webkit.org/show_bug.cgi?id=78054

        Reviewed by Eric Seidel.

        This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to
        pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics
        engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to 
        understand we're using sub-pixel units).

        No new tests. No change in behavior.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isOffScreen):
        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
        * dom/Range.cpp:
        (WebCore::Range::boundingBox):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paint):
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
        * page/Frame.cpp:
        (WebCore::Frame::nodeImage):
        * page/FrameView.cpp:
        (WebCore::FrameView::repaintContentRectangle):
        (WebCore::FrameView::doDeferredRepaints):
        (WebCore::FrameView::windowClipRectForLayer):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        * rendering/LayoutTypes.h:
        (WebCore::pixelSnappedIntRect):
        (WebCore):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintColumnContents):
        (WebCore::RenderBlock::selectionGaps):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations):
        (WebCore::RenderBox::pushContentsClip):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderDetailsMarker.cpp:
        (WebCore::RenderDetailsMarker::paint):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::paintIntoRegion):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::paintColumnBorder):
        (WebCore::RenderFrameSet::paintRowBorder):
        (WebCore::RenderFrameSet::positionFramesWithFlattening):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced):
                * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):
        (WebCore::RenderLayer::positionOverflowControls):
        (WebCore::RenderLayer::calculateRects):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::paintScrollbar):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawLineForBoxSide):
        (WebCore::RenderObject::addPDFURLRect):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::showPopup):
        (WebCore::RenderTextControlSingleLine::paint):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getRoundedBorderFor):
        (WebCore::RenderStyle::getRoundedInnerBorderFor):

2012-02-10  Brian Weinstein  <bweinstein@apple.com>

        Web Inspector: Add the ability to jump to the source for a given frame
        https://bugs.webkit.org/show_bug.cgi?id=78396

        Reviewed by Tim Hatcher.

        * WebCore.exp.in: Add a new exported function.
        * inspector/InspectorController.cpp: Add and expose the InspectorPageAgent.
        (WebCore::InspectorController::InspectorController): Set m_pageAgent.
        * inspector/InspectorController.h: Add m_pageAgent.
        (WebCore::InspectorController::pageAgent): Return m_pageAgent.

        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::showMainResourceForFrame): Get the inspector's frame ID
            of the frame that was passed in, and add a call to evaluate on load.
        * inspector/InspectorFrontendClientLocal.h:

        * inspector/front-end/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.showMainResourceForFrame): Add a FIXME to show the source code for the main
            resource of the given frame.

2012-02-10  Vineet Chaudhary  <rgf748@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=72756
        DOMHTMLElement’s accessKey property is declared as available in WebKit version that didn’t have it. 

        Reviewed by Timothy Hatcher.

        No new tests.

        * bindings/objc/PublicDOMInterfaces.h: Moving accessKey property to DOMHTMLElement
          with an appropriate availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1.
          Also Moving accessKey property to HTMLAnchorElement, HTMLAreaElement, HTMLButtonElement,
          HTMLInputElement, HTMLLabelElement, HTMLLegendElement  and HTMLTextAreaElement idls
          with an availability macro AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_5_1.
        * html/HTMLAnchorElement.idl: Adding accessKey entries back to idls under LANGUAGE_OBJECTIVE_C.
        * html/HTMLAreaElement.idl: Ditto.
        * html/HTMLButtonElement.idl: Ditto.
        * html/HTMLInputElement.idl: Ditto.
        * html/HTMLLabelElement.idl: Ditto.
        * html/HTMLLegendElement.idl: Ditto.
        * html/HTMLTextAreaElement.idl: Ditto.

2012-02-10  Beth Dakin  <bdakin@apple.com>

        Speculative build fix.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::scrollToRevealSelection):

2012-02-10  Adam Klein  <adamk@chromium.org>

        Enable MUTATION_OBSERVERS by default on all platforms
        https://bugs.webkit.org/show_bug.cgi?id=78196

        Reviewed by Ojan Vafai.

        * Configurations/FeatureDefines.xcconfig:
        * UseV8.cmake: Add some previously-missing files.
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * bindings/js/JSBindingsAllInOne.cpp: ditto.
        * dom/DOMAllInOne.cpp: ditto.

2012-02-10  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>

        Add FractionalLayoutUnit type for sub-pixel layout
        https://bugs.webkit.org/show_bug.cgi?id=77485

        Reviewed by Eric Seidel.

        Add fixed point implementation (FractionalLayoutUnit).

        FractionalLayoutUnit represents values as multiples of 1/60th pixel. This allows us
        to represent sub-pixel values using integer math and avoids floating point precision
        problems.

        No new tests.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/FractionalLayoutUnit.h: Added.

2012-02-10  Adam Langley  <agl@chromium.org>

        Don't lowercase ping URLs.

        Previously, ping URLs would be lowercased when splitting them apart.
        URLs are not, however, case-insensitive.

        https://bugs.webkit.org/show_bug.cgi?id=78371

        Reviewed by Tony Chang.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::sendPings): Don't lowercase URL.

2012-02-10  Ojan Vafai  <ojan@chromium.org>

        flex-pack:center and flex-item-align:center should do true centering
        https://bugs.webkit.org/show_bug.cgi?id=77385

        Reviewed by Tony Chang.

        Also, removed passing totalPositiveFlexibility around. We don't
        need to know about positive/negative flex once we run the flexing algorithm.
        We used to need to know this in order to flex margins, but margins can
        no longer be flexed.

        Test: css3/flexbox/true-centering.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutFlexItems):
        (WebCore::initialPackingOffset):
        (WebCore::packingSpaceBetweenChildren):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
        (WebCore::RenderFlexibleBox::layoutColumnReverse):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-02-10  Mark Hahnenberg  <mhahnenberg@apple.com>

        Split MarkedSpace into destructor and destructor-free subspaces
        https://bugs.webkit.org/show_bug.cgi?id=77761

        Reviewed by Geoffrey Garen.

        No new tests.

        * bindings/js/JSDOMWindowShell.cpp: Removed old operator new, which was just used in the create
        function so that we can use allocateCell instead.
        (WebCore):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::create):
        (JSDOMWindowShell):
        * bindings/scripts/CodeGeneratorJS.pm: Added destructor back to root JS DOM nodes (e.g. JSNode, etc)
        because their destroy functions need to be called, so we don't want the NeedsDestructor struct to 
        think they don't need destruction due to having empty/trivial destructors.
        Removed ASSERT_HAS_TRIVIAL_DESTRUCTOR from all JS DOM wrapper auto-generated objects because their 
        ancestors now have non-trivial destructors. 
        (GenerateHeader):
        (GenerateImplementation):
        (GenerateConstructorDefinition):

2012-02-10  Anders Carlsson  <andersca@apple.com>

        Remove a bunch of unused ScrollableArea member functions
        https://bugs.webkit.org/show_bug.cgi?id=78388

        Reviewed by Beth Dakin.

        * platform/ScrollableArea.cpp:
        * platform/ScrollableArea.h:

2012-02-10  Pavel Podivilov  <podivilov@chromium.org>

        Fix a few typos in IDL exception names.
        https://bugs.webkit.org/show_bug.cgi?id=78356

        Reviewed by Adam Barth.

        * dom/Node.idl:
        * notifications/NotificationCenter.idl:
        * page/Navigator.idl:

2012-02-10  Benjamin Poulain  <bpoulain@apple.com>

        DefaultLocalizationStrategy::htmlSelectMultipleItems() should use size_t instead of int
        https://bugs.webkit.org/show_bug.cgi?id=78374

        Reviewed by Joseph Pecoraro.

        The value comes from size_t and is converted to int for no good reason. We should use
        size_t.

        * platform/DefaultLocalizationStrategy.cpp:
        (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
        * platform/DefaultLocalizationStrategy.h:
        (DefaultLocalizationStrategy):

2012-02-10  Anders Carlsson  <andersca@apple.com>

        More ScrollableArea cleanup
        https://bugs.webkit.org/show_bug.cgi?id=78383

        Reviewed by Beth Dakin.

        Get rid of setScrollOriginX and setScrollOriginY. Make ScrollableArea::setScrollOrigin private.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::setScrollOrigin):
        * platform/ScrollableArea.h:
        (ScrollableArea):

2012-02-10  Kentaro Hara  <haraken@chromium.org>

        Rename [JSCustomPrototypePutDelegate] to [JSCustomNamedGetterOnPrototype]
        https://bugs.webkit.org/show_bug.cgi?id=78353

        Reviewed by Adam Barth.

        [JSCustomPrototypePutDelegate] is used to write custom code for named
        getters on a prototype interface. "PutDelegate" is just a method name
        in implementation and not so descriptive. This patch renames it to
        [JSCustomNamedGetterOnPrototype]. This is also for naming consistency
        with [CustomNamedGetter].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * page/Location.idl:

2012-02-10  Enrica Casucci  <enrica@apple.com>

        Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
        https://bugs.webkit.org/show_bug.cgi?id=78282

        This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
        now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
        WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
        class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
        interface but this one more step in the direction of removing access to NSPasteboard from
        the WebProcess.
        As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
        
        Reviewed by Anders Carlsson.

        No new tests. No change in behavior, just code refactoring.

        * WebCore.exp.in: Added exported class PlatformPasteboard.
        * WebCore.xcodeproj/project.pbxproj: Added new files to the build.
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::writeSelectionToPasteboard): New method signature that doesn't use OBJ-C types.
        * platform/Pasteboard.h:

        * platform/PasteboardStrategy.h: Added PasteboardStrategy abstract class.
        * platform/PlatformPasteboard.h: Added. This class implements access to NSPasteboard.
        * platform/PlatformStrategies.h:
        (WebCore::PlatformStrategies::pasteboardStrategy): Added.
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::canSmartReplace):
        (WebCore::insertablePasteboardTypes): 
        (WebCore::DragData::asURL):
        * platform/mac/PasteboardMac.mm:
        (WebCore::selectionPasteboardTypes): Changed to use Vector<String> instead of NSArray.
        (WebCore::writableTypesForURL): Ditto.
        (WebCore::createWritableTypesForImage): Ditto.
        (WebCore::writableTypesForImage): Ditto.
        (WebCore::Pasteboard::Pasteboard): Removed access to NSPasteboard.
        (WebCore::Pasteboard::clear): Modified to use platformStrategies()->pasteboardStrategy().
        (WebCore::Pasteboard::writeSelectionForTypes): Ditto.
        (WebCore::Pasteboard::writePlainText): Ditto.
        (WebCore::Pasteboard::writeSelection): Ditto.
        (WebCore::writeURLForTypes): Ditto.
        (WebCore::Pasteboard::writeURL): Ditto.
        (WebCore::writeFileWrapperAsRTFDAttachment): Ditto.
        (WebCore::Pasteboard::writeImage): Ditto.
        (WebCore::Pasteboard::writeClipboard): Ditto.
        (WebCore::Pasteboard::canSmartReplace): Ditto.
        (WebCore::Pasteboard::plainText): Ditto.
        (WebCore::documentFragmentWithRTF): Ditto.
        (WebCore::Pasteboard::documentFragment): Ditto.
        * platform/mac/PlatformPasteboardMac.mm: Added.
        (WebCore::PlatformPasteboard::PlatformPasteboard):
        (WebCore::PlatformPasteboard::getTypes):
        (WebCore::PlatformPasteboard::bufferForType):
        (WebCore::PlatformPasteboard::getPathnamesForType):
        (WebCore::PlatformPasteboard::stringForType):
        (WebCore::PlatformPasteboard::copy):
        (WebCore::PlatformPasteboard::setTypes):
        (WebCore::PlatformPasteboard::setBufferForType):
        (WebCore::PlatformPasteboard::setPathnamesForType):
        (WebCore::PlatformPasteboard::setStringForType):

2012-02-10  Kentaro Hara  <haraken@chromium.org>

        Rename [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor]
        https://bugs.webkit.org/show_bug.cgi?id=78352

        Reviewed by Adam Barth.

        [JSCustomGetOwnPropertySlotDelegate] is used for "flexibly customizable"
        named getter. It allows us to write custom code for getOwnPropertySlotDelegate()
        and getOwnPropertyDescriptorDelegate(). To clarify that, we can rename
        [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateHeader):
        (GenerateImplementation):

        * html/HTMLAppletElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLObjectElement.idl:
        * page/History.idl:
        * page/Location.idl:
        * workers/WorkerContext.idl:

2012-02-10  Anders Carlsson  <andersca@apple.com>

        Minor ScrollAnimatorMac cleanup
        https://bugs.webkit.org/show_bug.cgi?id=78375

        Reviewed by Beth Dakin.

        Get rid of adjustScrollXPositionIfNecessary and adjustScrollYPositionIfNecessary.
        Also, reduce nesting in willAdd/didAdd functions by using early returns.

        * platform/mac/ScrollAnimatorMac.h:
        (ScrollAnimatorMac):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::immediateScrollBy):

2012-02-10  Anders Carlsson  <andersca@apple.com>

        Minor ScrollableArea cleanup
        https://bugs.webkit.org/show_bug.cgi?id=78372

        Reviewed by Beth Dakin.

        Get rid of scrollToXOffsetWithoutAnimation and scrollToYOffsetWithoutAnimation.

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
        * platform/ScrollableArea.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::computeLogicalHeight):
        (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
        (WebCore::RenderListBox::setScrollTop):

2012-02-10  Benjamin Poulain  <bpoulain@apple.com>

        [Mac] DYLIB_INSTALL_NAME_BASE should not be prefixed by the SDKROOT
        https://bugs.webkit.org/show_bug.cgi?id=78320

        Reviewed by Joseph Pecoraro.

        <rdar://problem/10839750>

        * Configurations/WebCore.xcconfig:

2012-02-10  Anders Carlsson  <andersca@apple.com>

        Update the non-fast-scrollable region for subframe layout as well
        https://bugs.webkit.org/show_bug.cgi?id=78366
        <rdar://problem/10844064>

        Reviewed by Beth Dakin.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::computeNonFastScrollableRegion):
        Move the non-fast-scrollable region computation out into a new function.

        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
        Always recompute the non-fast-scrollable region whenever a frame view's layout is updated,
        not just the main frame.

2012-02-09  Chris Marrin  <cmarrin@apple.com>

        Implement hardware animation of CSS filters
        https://bugs.webkit.org/show_bug.cgi?id=78155

        Added logic to PlatformCAAnimation to return enough information
        to GraphicsLayerCA to be able to construct a keyPath animation
        for each filter property. Some filters need to animate multiple
        properties per filter, so PlatformCAAnimation also returns the number
        of properties per filter and then an animation is constructed for 
        each one. Also added all the support logic to handle hardware filter
        animation in the higher level logic, just like we do for transforms and
        opacity.

        Also stubbed out new PlatformCAAnimation functions for Windows. We don't yet
        support hardware filters on Windows.

        Reviewed by Dean Jackson.

        Tests: css3/filters/filter-animation-from-none-hw.html
               css3/filters/filter-animation-from-none-multi-hw.html
               css3/filters/filter-animation-from-none-multi.html
               css3/filters/filter-animation-hw.html
               css3/filters/filter-animation-multi-hw.html
               css3/filters/filter-animation-multi.html

        * page/animation/AnimationBase.cpp:
        (WebCore):
        (PropertyWrapperAcceleratedFilter):
        (WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter):
        (WebCore::PropertyWrapperAcceleratedFilter::animationIsAccelerated):
        (WebCore::PropertyWrapperAcceleratedFilter::blend):
        (WebCore::AnimationBase::ensurePropertyMap):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore):
        (WebCore::filterOperationsAt):
        (WebCore::GraphicsLayer::validateFilterOperations):
        * platform/graphics/GraphicsLayer.h:
        (WebCore):
        (FilterAnimationValue):
        (WebCore::FilterAnimationValue::FilterAnimationValue):
        (WebCore::FilterAnimationValue::clone):
        (WebCore::FilterAnimationValue::value):
        (GraphicsLayer):
        * platform/graphics/GraphicsLayerClient.h:
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::propertyIdToString):
        (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
        (WebCore::GraphicsLayerCA::addAnimation):
        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
        (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
        (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
        (WebCore):
        (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
        (WebCore::GraphicsLayerCA::createBasicAnimation):
        (WebCore::GraphicsLayerCA::createKeyframeAnimation):
        (WebCore::GraphicsLayerCA::setFilterAnimationEndpoints):
        (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        (WebCore::GraphicsLayerCA::cloneLayer):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):
        * platform/graphics/ca/PlatformCAAnimation.h:
        (PlatformCAAnimation):
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        (PlatformCAAnimation::setFromValue):
        (PlatformCAAnimation::setToValue):
        (PlatformCAAnimation::setValues):
        (PlatformCAAnimation::numAnimatedFilterProperties):
        (PlatformCAAnimation::animatedFilterPropertyName):
        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
        (PlatformCAAnimation::setFromValue):
        (PlatformCAAnimation::setToValue):
        (PlatformCAAnimation::setValues):
        (PlatformCAAnimation::numAnimatedFilterProperties):
        (PlatformCAAnimation::animatedFilterPropertyName):
        * platform/graphics/filters/FilterOperation.h:
        (FilterOperation):
        (WebCore::FilterOperation::isDefault):
        (DefaultFilterOperation):
        (WebCore::DefaultFilterOperation::create):
        (WebCore::DefaultFilterOperation::operator==):
        (WebCore::DefaultFilterOperation::isDefault):
        (WebCore::DefaultFilterOperation::DefaultFilterOperation):
        (WebCore):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::hasFilter):
        (RenderLayer):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::startAnimation):
        (WebCore::RenderLayerBacking::startTransition):
        (WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
        (WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):

2012-02-10  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: properly resolve output types of commands
        https://bugs.webkit.org/show_bug.cgi?id=78025

        Reviewed by Vsevolod Vlasov.

        Code for generating ad-hoc types is added. It was reused from event
        generator part.

        * inspector/CodeGeneratorInspector.py:
        (Generator.process_event):
        (Generator.process_command):
        (Generator.resolve_type_and_generate_ad_hoc):
        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix):
        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix):
        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.add_type):
        (Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener):
        (Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener.add_type_data):
        (Generator.resolve_type_and_generate_ad_hoc.InterfaceResolveContext):
        (Generator.resolve_type_and_generate_ad_hoc.InterfaceGenerateContext):
        (Generator):

2012-02-10  Kentaro Hara  <haraken@chromium.org>

        Rename [CustomPropertyNames] to [CustomEnumerateProperty]
        https://bugs.webkit.org/show_bug.cgi?id=78351

        Reviewed by Adam Barth.

        This patch renames [CustomPropertyNames] to [CustomEnumerateProperty],
        for clarification and for naming consistency with [CustomDeleteProperty].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeaderNamedAndIndexedPropertyAccessors):
        (GenerateImplementationNamedPropertyGetter):

        * css/CSSStyleDeclaration.idl:
        * dom/DOMStringMap.idl:
        * page/DOMWindow.idl:
        * page/History.idl:
        * page/Location.idl:
        * storage/Storage.idl:

2012-02-09  Antti Koivisto  <antti@apple.com>

        Use underlying property set to refcount PropertySetCSSStyleDeclaration
        https://bugs.webkit.org/show_bug.cgi?id=78257

        Reviewed by Andreas Kling.

        Clean up the PropertySetCSSStyleDeclaration refcounting. PropertySetCSSStyleDeclaration now
        forwards the ref/deref to the underlying StylePropertySet.

        Also made CSSComputedStyleDeclaration construction use the standard create() pattern.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::ref):
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::deref):
        * css/CSSComputedStyleDeclaration.h:
        (WebCore::CSSComputedStyleDeclaration::create):
        (CSSComputedStyleDeclaration):
        (WebCore):
        * css/CSSStyleDeclaration.h:
        (CSSStyleDeclaration):
        * css/StylePropertySet.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
        (WebCore):
        (WebCore::StylePropertySet::~StylePropertySet):
        (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
        (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
        * css/StylePropertySet.h:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
        (WebCore::highestEmbeddingAncestor):
        (WebCore::ApplyStyleCommand::computedFontSize):
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::init):
        (WebCore::EditingStyle::removeStyleAddedByNode):
        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
        (WebCore::EditingStyle::triStateOfStyle):
        (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
        (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
        (WebCore::backgroundColorInEffect):
        * editing/Editor.cpp:
        (WebCore::Editor::textDirectionForSelection):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::getComputedStyle):
        * svg/SVGAnimateElement.cpp:
        (WebCore::getPropertyValue):
        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::baseValueFor):

2012-02-10  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [TextPrompt] TAB should complete suggestions up to their common prefix in Console
        https://bugs.webkit.org/show_bug.cgi?id=78236

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._completionsReady):
        (WebInspector.TextPrompt.prototype._completeCommonPrefix):
        (WebInspector.TextPrompt.prototype.acceptSuggestion):
        (WebInspector.TextPrompt.prototype.tabKeyPressed):

2012-02-10  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: implement undo for setOuterHTML via undo-ing nested primitive commands.
        https://bugs.webkit.org/show_bug.cgi?id=78346

        Reviewed by Yury Semikhatsky.

        Tests: inspector/elements/undo-set-outer-html-2.html
               inspector/elements/undo-set-outer-html.html

        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::RemoveChildAction::RemoveChildAction):
        (WebCore::DOMEditor::InsertBeforeAction::InsertBeforeAction):
        (WebCore::DOMEditor::InsertBeforeAction::undo):
        (WebCore::DOMEditor::RemoveAttributeAction::RemoveAttributeAction):
        (WebCore::DOMEditor::SetAttributeAction::SetAttributeAction):
        (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
        (WebCore::DOMEditor::SetOuterHTMLAction::perform):
        (WebCore::DOMEditor::SetOuterHTMLAction::undo):
        (DOMEditor::SetOuterHTMLAction):
        (WebCore::DOMEditor::ReplaceWholeTextAction::ReplaceWholeTextAction):
        (DOMEditor::ReplaceChildNodeAction):
        (WebCore::DOMEditor::ReplaceChildNodeAction::ReplaceChildNodeAction):
        (WebCore::DOMEditor::ReplaceChildNodeAction::perform):
        (WebCore::DOMEditor::ReplaceChildNodeAction::undo):
        (WebCore):
        (DOMEditor::SetNodeValueAction):
        (WebCore::DOMEditor::SetNodeValueAction::SetNodeValueAction):
        (WebCore::DOMEditor::SetNodeValueAction::perform):
        (WebCore::DOMEditor::SetNodeValueAction::undo):
        (WebCore::DOMEditor::insertBefore):
        (WebCore::DOMEditor::removeChild):
        (WebCore::DOMEditor::setAttribute):
        (WebCore::DOMEditor::removeAttribute):
        (WebCore::DOMEditor::setOuterHTML):
        (WebCore::DOMEditor::replaceWholeText):
        (WebCore::DOMEditor::replaceChild):
        (WebCore::DOMEditor::setNodeValue):
        (WebCore::populateErrorString):
        * inspector/DOMEditor.h:
        (DOMEditor):
        * inspector/DOMPatchSupport.cpp:
        (WebCore::DOMPatchSupport::patchDocument):
        (WebCore):
        (WebCore::DOMPatchSupport::DOMPatchSupport):
        (WebCore::DOMPatchSupport::patchNode):
        (WebCore::DOMPatchSupport::innerPatchNode):
        (WebCore::DOMPatchSupport::innerPatchChildren):
        (WebCore::DOMPatchSupport::insertBeforeAndMarkAsUsed):
        (WebCore::DOMPatchSupport::removeChildAndMoveToNew):
        * inspector/DOMPatchSupport.h:
        (WebCore):
        (DOMPatchSupport):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
        (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
        (InspectorCSSAgent::StyleSheetAction):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
        (WebCore::InspectorCSSAgent::setStyleSheetText):
        (WebCore::InspectorCSSAgent::setPropertyText):
        (WebCore::InspectorCSSAgent::toggleProperty):
        (WebCore::InspectorCSSAgent::assertStyleSheetForId):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::toErrorString):
        (WebCore):
        (WebCore::InspectorDOMAgent::setAttributesAsText):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::undo):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        * inspector/InspectorHistory.cpp:
        (WebCore::InspectorHistory::perform):
        (WebCore::InspectorHistory::undo):
        * inspector/InspectorHistory.h:
        (WebCore):
        (Action):
        (InspectorHistory):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::setDocumentContent):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyle::toggleProperty):
        (WebCore::InspectorStyleSheet::setPropertyText):
        (WebCore::InspectorStyleSheet::toggleProperty):
        * inspector/InspectorStyleSheet.h:
        (InspectorStyle):
        (InspectorStyleSheet):

2012-02-10  Kentaro Hara  <haraken@chromium.org>

        Replace [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack]
        https://bugs.webkit.org/show_bug.cgi?id=78327

        Reviewed by Adam Barth.

        This patch replaces [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack],
        and removes [CustomArgumentHandling].

        Test: bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGeneratorJS.pm: Modified to replace
        [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack].
        (GenerateCallWith):
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        (GenerateCallWith):
        * bindings/scripts/CodeGeneratorGObject.pm: Ditto.
        (SkipFunction):
        (GenerateFunction):
        * bindings/scripts/CodeGeneratorCPP.pm: Simply removed [CustomArgumentHandling]
        from the skipped list. By this fix, CodeGeneratorCPP.pm will generate
        meaningless code for attributes or methods which was previously marked as
        [CustomArgumentHandling], but this change will be harmless.
        (ShouldSkipType):

        * bindings/v8/custom/V8ConsoleCustom.cpp: Changed the argument order.
        (WebCore::V8Console::assertCallback):
        * page/Console.cpp: Ditto.
        (WebCore::Console::assertCondition):
        (WebCore::Console::timeEnd):
        * page/Console.h: Ditto.
        (Console):

        * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=ScriptArguments|CallStack].

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
        (WebDOMTestObj::withScriptArgumentsAndCallStackAttribute):
        (WebDOMTestObj::setWithScriptArgumentsAndCallStackAttribute):
        (WebDOMTestObj::withScriptArgumentsAndCallStack):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_with_script_arguments_and_call_stack):
        (webkit_dom_test_obj_get_with_script_arguments_and_call_stack_attribute):
        (webkit_dom_test_obj_set_with_script_arguments_and_call_stack_attribute):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj withScriptArgumentsAndCallStackAttribute]):
        (-[DOMTestObj setWithScriptArgumentsAndCallStackAttribute:]):
        (-[DOMTestObj withScriptArgumentsAndCallStack]):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrGetter):
        (TestObjInternal):
        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrSetter):
        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackCallback):
        (WebCore):
        (WebCore::ConfigureV8TestObjTemplate):

2012-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] KURL::fileSystemPath() doesn't work if uri contains #
        https://bugs.webkit.org/show_bug.cgi?id=78339

        Reviewed by Philippe Normand.

        * platform/gtk/KURLGtk.cpp:
        (WebCore::KURL::fileSystemPath): Use GFile API instead of
        g_filename_from_uri() to convert the uri to a local
        path. g_file_get_path() removes the anchor from the uri and
        returns a valid path instead of NULL.

2012-02-10  Pablo Flouret  <pablof@motorola.com>

        CodeGeneratorJS doesn't always generate visitChildren() implementation when required
        https://bugs.webkit.org/show_bug.cgi?id=78336

        Reviewed by Kentaro Hara.
        
        In an IDL for an interface that declares no functions, but has
        attributes with [CachedAttribute], the implementation of visitChildren()
        is not generated by the JSC code generator.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterface::visitChildren):
        (WebCore):

2012-02-10  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] Increase JPEG decoding performance some more
        https://bugs.webkit.org/show_bug.cgi?id=78323

        Reviewed by Adam Barth.

        Increase JPEG image decoding speed by another 9% (avg) according to libjpeg-turbo tjbench.

        No new tests. Covered by many existing tests, all requiring subsequent rebaselines.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (dctMethod): Fast decode on the jpeg-turbo using ports (Chrome Android, Chrome, Chromium).
        (WebCore::JPEGImageReader::decode): Select DCT method via a helper routine.

2012-02-10  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: FileSelector should not depend on DebuggerPresentationModel.
        https://bugs.webkit.org/show_bug.cgi?id=78337

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
        (WebInspector.ScriptsNavigator.prototype.reset):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._reset):
        (WebInspector.ScriptsPanel.FileSelector.prototype.replaceUISourceCodes):
        (WebInspector.ScriptsPanel.FileSelector.prototype.reset):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.reset):

2012-02-10  Kentaro Hara  <haraken@chromium.org>

        Remove [ConvertingNullStringTo] from CloseEvent.idl
        https://bugs.webkit.org/show_bug.cgi?id=78328

        Reviewed by Adam Barth.

        In CloseEvent.idl, [ConvertingNullStringTo] is a typo of [ConvertNullStringTo],
        (although in bug 78108, [ConvertNullStringTo] was renamed to [TreatReturnedNullStringAs]).

        Anyway, the spec says that "The reason attribute must return the value it was
        initialized to. When the object is created, this attribute must be initialized to empty string."
        http://dev.w3.org/html5/websockets/#event-definitions
        Thus, this patch removes [ConvertingNullStringTo] from CloseEvent.idl.

        Test: fast/events/constructors/close-event-constructor.html

        * websockets/CloseEvent.idl:

2012-02-10  Pavel Feldman  <pfeldman@google.com>

        [Qt] REGRESSION(r107242): It made 5 inspector tests crash in debug mode
        https://bugs.webkit.org/show_bug.cgi?id=78330

        Reviewed by Yury Semikhatsky.

        * inspector/DOMPatchSupport.cpp:
        (WebCore::DOMPatchSupport::innerPatchChildren):

2012-02-09  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] TimelineModel should not depend on TimelinePanel
        https://bugs.webkit.org/show_bug.cgi?id=78254

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._loadFromFile):
        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
        (WebInspector.TimelinePanel.prototype._clearPanel):
        (WebInspector.TimelinePanel.prototype._onRecordsCleared):
        (WebInspector.TimelineModel):
        (WebInspector.TimelineModel.prototype.startRecord):
        (WebInspector.TimelineModel.prototype.stopRecord):
        (WebInspector.TimelineModel.prototype._onRecordAdded):
        (WebInspector.TimelineModel.prototype._addRecord):
        (WebInspector.TimelineModel.prototype._loadNextChunk):
        (WebInspector.TimelineModel.prototype._loadFromFile):
        (WebInspector.TimelineModel.prototype._reset):

2012-02-09  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r107368.
        http://trac.webkit.org/changeset/107368
        https://bugs.webkit.org/show_bug.cgi?id=78327

        break GTK build

        * bindings/scripts/CodeGeneratorCPP.pm:
        (ShouldSkipType):
        * bindings/scripts/CodeGeneratorGObject.pm:
        (SkipFunction):
        (GenerateFunction):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateCallWith):
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionCallback):
        (GenerateCallWith):
        (GenerateFunctionCallString):
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj customArgsAndException:]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        (TestObjInternal):
        (WebCore):
        (WebCore::ConfigureV8TestObjTemplate):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::assertCallback):
        * page/Console.cpp:
        (WebCore::Console::assertCondition):
        (WebCore::Console::timeEnd):
        * page/Console.h:
        (Console):
        * page/Console.idl:

2012-02-09  Zoltan Herczeg  <zherczeg@webkit.org>

        Heap-buffer-overflow in WebCore::CSSParser::lex
        https://bugs.webkit.org/show_bug.cgi?id=77402

        Reviewed by Antti Koivisto.

        Comments should check only a single \0 terminator.

        Test: fast/css/parsing-css-comment.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::lex):

2012-02-09  Kentaro Hara  <haraken@chromium.org>

        Replace [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack]
        https://bugs.webkit.org/show_bug.cgi?id=78327

        Reviewed by Adam Barth.

        This patch replaces [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack],
        and removes [CustomArgumentHandling].

        Test: bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGeneratorJS.pm: Modified to replace
        [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack].
        (GenerateCallWith):
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        (GenerateCallWith):
        * bindings/scripts/CodeGeneratorCPP.pm: Simply removed [CustomArgumentHandling]
        from the skipped list. By this fix, CodeGeneratorCPP.pm will generate
        meaningless code for attributes or methods which was previously marked as
        [CustomArgumentHandling], but this change will be harmless.
        (ShouldSkipType):
        * bindings/scripts/CodeGeneratorGObject.pm: Ditto.
        (SkipFunction):
        (GenerateFunction):

        * bindings/v8/custom/V8ConsoleCustom.cpp: Changed the argument order.
        (WebCore::V8Console::assertCallback):
        * page/Console.cpp: Ditto.
        (WebCore::Console::assertCondition):
        (WebCore::Console::timeEnd):
        * page/Console.h: Ditto.
        (Console):

        * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=ScriptArguments|CallStack].

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
        (WebDOMTestObj::withScriptArgumentsAndCallStackAttribute):
        (WebDOMTestObj::setWithScriptArgumentsAndCallStackAttribute):
        (WebDOMTestObj::withScriptArgumentsAndCallStack):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_with_script_arguments_and_call_stack):
        (webkit_dom_test_obj_get_with_script_arguments_and_call_stack_attribute):
        (webkit_dom_test_obj_set_with_script_arguments_and_call_stack_attribute):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj withScriptArgumentsAndCallStackAttribute]):
        (-[DOMTestObj setWithScriptArgumentsAndCallStackAttribute:]):
        (-[DOMTestObj withScriptArgumentsAndCallStack]):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrGetter):
        (TestObjInternal):
        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrSetter):
        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackCallback):
        (WebCore):
        (WebCore::ConfigureV8TestObjTemplate):

2012-02-09  Adam Barth  <abarth@webkit.org>

        Dromaeo/dom-traverse.html should go fast
        https://bugs.webkit.org/show_bug.cgi?id=78307

        Reviewed by Eric Seidel.

        This patch improves Dromaeo/dom-traverse.html by roughly 2.5% by
        removing a branch.  Previously, we null-checked the result of
        V8DOMWrapper::getWrapper in a hot code path, but the only case where we
        return a non-empty wrapper comes from a cold code path.  By pushing the
        null check into the cold codepath, we eliminate the branch from the
        hot code path.

        This patch also annotates the branches in the hot code path with their
        likely outcome.  I didn't measure a statistically significant
        improvement with that aspect of the change, but it seems worthwhile.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::getExistingWrapperInline):
        (WebCore):
        (WebCore::V8DOMWrapper::getExistingWrapperSlow):
        (WebCore::V8DOMWrapper::getWrapperSlow):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getExistingWrapper):
        (V8DOMWrapper):
        (WebCore::V8DOMWrapper::getWrapper):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):

2012-02-09  Emil A Eklund  <eae@chromium.org>

        Convert Frame/FrameView to LayoutUnits in preparation for turning on subpixel layout
        https://bugs.webkit.org/show_bug.cgi?id=78311

        Reviewed by Eric Seidel.

        No new tests, no new functionality.

        * page/Frame.cpp:
        (WebCore::Frame::nodeImage):
        Pixel snap painting rect for image to ensure that it is painted aligned
        to device pixels. This avoids avoid unwanted anti-aliasing.

        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRectForLayer):
        Pixel snap clip rects as all window coordinates and sizes are exposed as
        integers.

        * page/GestureTapHighlighter.cpp:
        * page/Page.cpp:
        (WebCore::Page::addRelevantRepaintedObject):
        As the painting is done aligned on pixel boundaries we need to pixel snap
        the view rect when checking if it intersects the objects paint rect.

        * page/mac/FrameMac.mm:
        (WebCore::Frame::snapshotDragImage):
        (WebCore::Frame::nodeImage):
        Pixel snap painting rect for image to ensure that it is painted aligned
        to device pixels. This avoids avoid unwanted anti-aliasing.

        * page/win/FrameCGWin.cpp:
        (WebCore::Frame::nodeImage):
        Pixel snap painting rect for image to ensure that it is painted aligned
        to device pixels. This avoids avoid unwanted anti-aliasing.

        * rendering/LayoutTypes.h:
        (WebCore::pixelSnappedIntRect):
        (WebCore):
        No-op implementation of pixelSnappedIntRect for now.

2012-02-09  Kenichi Ishibashi  <bashi@chromium.org>

        Add WebSocket extension support
        https://bugs.webkit.org/show_bug.cgi?id=78079

        This patch introduces WebSocketExtensionDispatcher class, which creates client's
        Sec-WebSocket-Extensions header field and parses the server response.
        This patch doesn't add any actual extension, so no changes in behavior.

        Reviewed by Kent Tamura.

        No new tests except for chromium port.

        * CMakeLists.txt: Added WebSocketExtensionDispatcher.(cpp|h) and WebSocketExtensionProcessor.h.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * websockets/WebSocketExtensionDispatcher.cpp: Added.
        (WebCore):
        (ExtensionParser):
        (WebCore::ExtensionParser::ExtensionParser):
        (WebCore::ExtensionParser::currentToken):
        (WebCore::ExtensionParser::finished):
        (WebCore::ExtensionParser::parsedSuccessfully):
        (WebCore::isTokenCharacter):
        (WebCore::isSeparator):
        (WebCore::ExtensionParser::skipSpaces):
        (WebCore::ExtensionParser::consumeToken):
        (WebCore::ExtensionParser::consumeQuotedString):
        (WebCore::ExtensionParser::consumeQuotedStringOrToken):
        (WebCore::ExtensionParser::consumeCharacter):
        (WebCore::WebSocketExtensionDispatcher::reset):
        (WebCore::WebSocketExtensionDispatcher::addProcessor):
        (WebCore::WebSocketExtensionDispatcher::createHeaderValue):
        (WebCore::WebSocketExtensionDispatcher::processHeaderValue):
        (WebCore::WebSocketExtensionDispatcher::failureReason):
        * websockets/WebSocketExtensionDispatcher.h: Added.
        (WebCore):
        (WebSocketExtensionDispatcher):
        (WebCore::WebSocketExtensionDispatcher::WebSocketExtensionDispatcher):
        * websockets/WebSocketExtensionProcessor.h: Added.
        (WebCore):
        (WebSocketExtensionProcessor):
        (WebCore::WebSocketExtensionProcessor::~WebSocketExtensionProcessor):
        (WebCore::WebSocketExtensionProcessor::extensionToken):
        (WebCore::WebSocketExtensionProcessor::failureReason):
        (WebCore::WebSocketExtensionProcessor::WebSocketExtensionProcessor):
        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::clientHandshakeMessage): Adds extension header value if exists.
        (WebCore::WebSocketHandshake::clientHandshakeRequest): Ditto.
        (WebCore::WebSocketHandshake::reset): Resets WebSocketExtensionDispatcher object.
        (WebCore::WebSocketHandshake::serverHandshakeResponse): Removed.
        (WebCore::WebSocketHandshake::addExtensionProcessor): Added.
        (WebCore::WebSocketHandshake::readHTTPHeaders): Parses and checks every time Sec-WebSocket-Extensions header appears.
        (WebCore::WebSocketHandshake::checkResponseHeaders): Removed the check of Sec-WebSocket-Extensions.
        * websockets/WebSocketHandshake.h: Removed serverHandshakeResponse().

2012-02-09  Xianzhu Wang  <wangxianzhu@chromium.org>

        Avoid compositing invisible fixed positioned elements
        https://bugs.webkit.org/show_bug.cgi?id=78186

        Reviewed by James Robinson.

        Test: compositing/layer-creation/fixed-position-out-of-view.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):

2012-02-09  Timothy Hatcher  <timothy@apple.com>

        Prevent attaching when inspecting the Web Inspector.

        https://webkit.org/b/78304

        Reviewed by Brian Weinstein.

        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::canAttachWindow): Prevent attaching when the page is an inspector page.

2012-02-09  Dana Jansens  <danakj@chromium.org>

        [Chromium] Assertion failure minX <= maxX in Region.cpp
        https://bugs.webkit.org/show_bug.cgi?id=78038

        Reviewed by James Robinson.

        Covered by existing tests (should make them stop asserting).

        Clamp sizes for composited layers coming out of WebCore to make sure they are valid non-negative values.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setSize):

2012-02-09  Gregg Tavares  <gman@google.com>

        Make WebGLRenderingContext::printWarningToConsole safer
        https://bugs.webkit.org/show_bug.cgi?id=78284

        Reviewed by Kenneth Russell.

        No new tests because no change in functionality.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::printWarningToConsole):

2012-02-09  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Add support for starting page/scale animations on CC impl thread from WebViewImpl
        https://bugs.webkit.org/show_bug.cgi?id=77872

        Reviewed by James Robinson.

        Added unit test.

        Provides a pathway to invoke CCLayerTreeHostImpl::startPageScaleAnimation() from
        WebViewImpl. This is intended to support scale and scroll animations, such as WebInputEvent::GestureDoubleTap.

        * platform/CrossThreadCopier.h:
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::startPageScaleAnimation):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::startPageScaleAnimation):
        (WebCore):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::startPageScaleAnimation):
        (WebCore):
        (WebCore::CCThreadProxy::requestStartPageScaleAnimationOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-02-09  Xianzhu Wang  <wangxianzhu@chromium.org>

        [Chromium] TiledLayerChromium::protectVisibleTileTextures() should only protect the visible textures
        https://bugs.webkit.org/show_bug.cgi?id=78249

        Reviewed by James Robinson.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::protectVisibleTileTextures):

2012-02-09  Hayato Ito  <hayato@chromium.org>

        Add Node::isShadowElement() member function.
        https://bugs.webkit.org/show_bug.cgi?id=78201

        Reviewed by Dimitri Glazkov.

        No tests. No change in behavior. An upcoming change requires this to detect HTMLShadowElement.

        * dom/Node.h:
        (Node):
        (WebCore::Node::isShadowElement):
        * html/shadow/HTMLShadowElement.h:
        (WebCore::HTMLShadowElement::isShadowElement):

2012-02-09  Ryosuke Niwa  <rniwa@webkit.org>

        CachedResourceLoader is destroyed before CSSFontSelector is destroyed
        https://bugs.webkit.org/show_bug.cgi?id=77817

        Reviewed by Adam Barth.

        Explicitly clear style selector before destorying the cached resource loader.

        No new tests but PerformanceTests/Parser/html5-full-render.html was crashing
        on performance bots due to this bug.

        * dom/Document.cpp:
        (WebCore::Document::~Document):

2012-02-09  Anders Carlsson  <andersca@apple.com>

        Update the scroll layer position on the main thread when we have slow repaint objects
        https://bugs.webkit.org/show_bug.cgi?id=78300
        <rdar://problem/10710754>

        Reviewed by Dan Bernstein.

        When we have slow repaint objects (background-attachment: fixed), we need to update the
        scroll layer position on the main thread, otherwise the web page will appear to jiggle.
    
        * page/FrameView.cpp:
        (WebCore::FrameView::addSlowRepaintObject):
        (WebCore::FrameView::removeSlowRepaintObject):
        Call ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange if needed.

        * page/FrameView.h:
        (WebCore::FrameView::hasSlowRepaintObjects):
        Add new getter.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
        Call ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread.

        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
        New function that will update both the main frame scroll position and the scroll layer position.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition):
        Dispatch a call to ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition on the main thread.

        * page/scrolling/ScrollingTreeNode.cpp:
        (WebCore::ScrollingTreeNode::ScrollingTreeNode):
        Initialize m_shouldUpdateScrollLayerPositionOnMainThread.

        (WebCore::ScrollingTreeNode::update):
        Set m_shouldUpdateScrollLayerPositionOnMainThread.

        * page/scrolling/ScrollingTreeState.cpp:
        (WebCore::ScrollingTreeState::ScrollingTreeState):
        Initialize m_shouldUpdateScrollLayerPositionOnMainThread.

        (WebCore::ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThread):
        Update m_shouldUpdateScrollLayerPositionOnMainThread if needed.

        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
        Assert that we're not supposed to update the scroll layer position on the main thread.

        (WebCore::ScrollingTreeNodeMac::scrollBy):
        If we're supposed to update the scroll layer position on the main thread, 
        call ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidScroll):
        If the frame view has its scrolling coordinated by a scrolling coordinator, don't update the scroll layer position.

2012-02-09  Anders Carlsson  <andersca@apple.com>

        FrameView::addSlowRepaintObject() doesn't update m_canBlitOnScroll correctly
        https://bugs.webkit.org/show_bug.cgi?id=78291

        Reviewed by Dan Bernstein.

        m_slowRepaintObjectCount needs to be incremented before calling updateCanBlitOnScrollRecursively(),
        because otherwise useSlowRepaints() will return false even though we have to use slow repaints.

        I was unable to make a layout test for this because it requires that updateCanBlitOnScrollRecursively() isn't
        called again after m_slowRepaintObjectCount has been incremented.

        * page/FrameView.cpp:
        (WebCore::FrameView::addSlowRepaintObject):

2012-02-09  Ojan Vafai  <ojan@chromium.org>

        Remove TreeOrderIterator and iterate over the child boxes directly.
        https://bugs.webkit.org/show_bug.cgi?id=78294

        Reviewed by Tony Chang.

        No new tests. This is purely a refactor. No change in behavior. 

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutFlexItems):
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):
        (FlexOrderHashTraits):
        (WebCore::RenderFlexibleBox::FlexOrderHashTraits::emptyValue):
        (WebCore::RenderFlexibleBox::FlexOrderHashTraits::constructDeletedValue):
        (WebCore::RenderFlexibleBox::FlexOrderHashTraits::isDeletedValue):

2012-02-09  Kentaro Hara  <haraken@chromium.org>

        Code generators should support multiple values for the [CallWith=] attribute
        https://bugs.webkit.org/show_bug.cgi?id=78224

        Reviewed by Adam Barth.

        Currently we can specify only one value for one [CallWith=],
        like [CallWith=ScriptExecutionContext] or [CallWith=ScriptState].
        To reduce redundant IDL attributes, we are planning to support multiple
        values for [CallWith=], like [CallWith=ScriptExecutionContext|ScriptArguments|CallStack].
        This patch makes a change on code generators to support it.

        Test: bindings/scripts/test/TestObj.idl
        No change in WebKit behavior since IDL files have not yet used [CallWith=X|Y|Z].

        * bindings/scripts/CodeGenerator.pm: Modified to support [CallWith=X|Y|Z].
        (ExtendedAttributeContains):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        (GenerateCallWith):
        (GenerateParametersCheck):
        (GenerateImplementationFunctionCall):
        (GenerateConstructorDeclaration):
        (GenerateConstructorDefinition):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateNormalAttrSetter):
        (GenerateCallWith):
        (GenerateFunctionCallString):

        * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=X|Y|Z].

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
        (WebDOMTestObj::withScriptExecutionContextAndScriptStateAttribute):
        (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateAttribute):
        (WebDOMTestObj::withScriptExecutionContextAndScriptStateAttributeRaises):
        (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateAttributeRaises):
        (WebDOMTestObj::withScriptExecutionContextAndScriptStateWithSpacesAttribute):
        (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
        (WebDOMTestObj::withScriptExecutionContextAndScriptState):
        (WebDOMTestObj::withScriptExecutionContextAndScriptStateObjException):
        (WebDOMTestObj::withScriptExecutionContextAndScriptStateWithSpaces):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_with_script_execution_context_and_script_state):
        (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception):
        (webkit_dom_test_obj_with_script_execution_context_and_script_state_with_spaces):
        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute):
        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute):
        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises):
        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute_raises):
        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_with_spaces_attribute):
        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_with_spaces_attribute):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj withScriptExecutionContextAndScriptStateAttribute]):
        (-[DOMTestObj setWithScriptExecutionContextAndScriptStateAttribute:]):
        (-[DOMTestObj withScriptExecutionContextAndScriptStateAttributeRaises]):
        (-[DOMTestObj setWithScriptExecutionContextAndScriptStateAttributeRaises:]):
        (-[DOMTestObj withScriptExecutionContextAndScriptStateWithSpacesAttribute]):
        (-[DOMTestObj setWithScriptExecutionContextAndScriptStateWithSpacesAttribute:]):
        (-[DOMTestObj withScriptExecutionContextAndScriptState]):
        (-[DOMTestObj withScriptExecutionContextAndScriptStateObjException]):
        (-[DOMTestObj withScriptExecutionContextAndScriptStateWithSpaces]):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
        (TestObjInternal):
        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateCallback):
        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
        (WebCore):

2012-02-09  Kentaro Hara  <haraken@chromium.org>

        Rename [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]
        https://bugs.webkit.org/show_bug.cgi?id=78108

        Reviewed by Adam Barth.

        [ConvertNullStringTo=] is not descriptive. To clarify that it specifies
        the behavior when the null string is returned by WebCore, this patch renames
        [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]. This change is also
        for naming consistency with [TreatNullAs] and [TreatUndefinedAs].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (NativeToJSValue):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateImplementationIndexer):
        (NativeToJSValue):
        * bindings/scripts/test/TestObj.idl:
        * css/CSSCharsetRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSValue.idl:
        * css/MediaList.idl:
        * css/StyleSheet.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/Clipboard.idl:
        * dom/DOMStringList.idl:
        * dom/Document.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/MutationRecord.idl:
        * dom/Node.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * html/DOMTokenList.idl:
        * html/DOMURL.idl:
        * html/HTMLMediaElement.idl:
        * html/canvas/WebGLDebugShaders.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * page/DOMWindow.idl:
        * storage/IDBObjectStore.idl:
        * storage/IDBRequest.idl:
        * storage/Storage.idl:
        * storage/StorageEvent.idl:
        * websockets/WebSocket.idl:
        * xml/XMLHttpRequest.idl:
        * xml/XPathNSResolver.idl:
        * xml/XSLTProcessor.idl:

2012-02-09  Tony Chang  <tony@chromium.org>

        more refactoring of RenderFlexibleBox in preparation for multiline
        https://bugs.webkit.org/show_bug.cgi?id=78281

        Reviewed by Ojan Vafai.

        Previously, we were creating Vector of each flex item's preferred size in document order,
        but for multiline, we need to break the lines in the flex order.  I just removed this code
        since it was the wrong order.

        Instead, have 2 funtions, computeMainAxisPreferredSizes which only does the necessary
        layouts and margin computations to compute preferred sizes and computeFlexOrder which
        does the work of computing the flex order, preferred sizes, positive/negative flex.

        For multiline, we will have computeFlexOrder drive a while loop and it will return the
        flex items, preferred size, and positive/negative flex values for each line.

        No new tests, just refactoring.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutFlexItems):
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Only layout auto sized children and set margins.
        (WebCore::RenderFlexibleBox::computeFlexOrder): Compute flex order, preferred size, positive/negative flex.
        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Use the precomputed flex order.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use the precomputed flex order.
        (WebCore::RenderFlexibleBox::layoutColumnReverse): Use the precomputed flex order.
        (WebCore::RenderFlexibleBox::alignChildren): Use the precomputed flex order.
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-02-09  Kentaro Hara  <haraken@chromium.org>

        Rename [Optional=CallWithDefaultValue] and [Optional=CallWithNullValue]
        https://bugs.webkit.org/show_bug.cgi?id=78200

        Reviewed by Adam Barth.

        [Optional=CallWithDefaultValue] and [Optional=CallWithNullValue] are confusing.

        - [Optional=CallWithDefaultValue] indicates that a missing value should be treated
        as if the JavaScript undefined is passed.
        - [Optional=CallWithNullValue] indicates that a missing value should be treated as
        the WebKit null value (i.e. JSValue() or v8::Local<v8::Value>()).
        - Actually, the difference between [Optional=CallWithDefaultValue] and
        [Optional=CallWithNullValue] will appear only when the type of the missing value
        is DOMString. In case of [Optional=CallWithDefaultValue], the missing value is
        converted to the string "undefined". On the other hand, in case of
        [Optional=CallWithNullValue], the missing value is converted to the WebKit null string.

        With these observations, this patch renames as follows:

        - Rename [Optional=CallWithDefaultValue] to [Optional=DefaultIsUndefined].
        - Rename [Optional=CallWithNullValue] to [Optional=DefaultIsNullString].

        Test: bindings/scripts/test/TestObj.idl

        * bindings/js/JSDOMBinding.h: Renamed MissingIsEmpty to DefaultIsNullString,
        renamed MissingIsUndefined to DefaultIsUndefined.
        * bindings/v8/V8Binding.h: Ditto.
        * bindings/v8/custom/V8BindingMacros.h: Ditto.

        * bindings/scripts/CodeGeneratorJS.pm: Modified to support the renaming.
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        (GenerateParametersCheck):
        (RequiresCustomSignature):

        * bindings/scripts/test/TestObj.idl: Renamed [Optional=...] as described above.
        * bindings/scripts/test/TestInterface.idl: Ditto.
        * bindings/scripts/test/TestNamedConstructor.idl: Ditto.

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
        (WebDOMTestObj::methodWithOptionalString):
        (WebDOMTestObj::methodWithOptionalStringIsUndefinedString):
        (WebDOMTestObj::methodWithOptionalStringIsNullString):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_method_with_optional_string):
        (webkit_dom_test_obj_method_with_optional_string_is_undefined_string):
        (webkit_dom_test_obj_method_with_optional_string_is_null_string):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedString):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj methodWithOptionalString:]):
        (-[DOMTestObj methodWithOptionalStringIsUndefinedString:]):
        (-[DOMTestObj methodWithOptionalStringIsNullString:]):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::methodWithOptionalStringCallback):
        (TestObjInternal):
        (WebCore::TestObjInternal::methodWithOptionalStringIsUndefinedStringCallback):
        (WebCore::TestObjInternal::methodWithOptionalStringIsNullStringCallback):
        (WebCore):

        * Modules/gamepad/GamepadList.idl: Renamed [Optional=...] as described above.
        * Modules/intents/Intent.idl:
        * css/CSSMediaRule.idl:
        * css/CSSPrimitiveValue.idl:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSValueList.idl:
        * css/MediaList.idl:
        * css/MediaQueryList.idl:
        * css/MediaQueryListListener.idl:
        * css/StyleMedia.idl:
        * css/StyleSheetList.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * css/WebKitCSSMatrix.idl:
        * dom/CharacterData.idl:
        * dom/ClientRectList.idl:
        * dom/CompositionEvent.idl:
        * dom/CustomEvent.idl:
        * dom/DOMImplementation.idl:
        * dom/DOMStringList.idl:
        * dom/DataTransferItem.idl:
        * dom/DataTransferItemList.idl:
        * dom/DeviceMotionEvent.idl:
        * dom/DeviceOrientationEvent.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Event.idl:
        * dom/HashChangeEvent.idl:
        * dom/KeyboardEvent.idl:
        * dom/MessageEvent.idl:
        * dom/MouseEvent.idl:
        * dom/MutationEvent.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/NodeFilter.idl:
        * dom/NodeList.idl:
        * dom/OverflowEvent.idl:
        * dom/Range.idl:
        * dom/ShadowRoot.idl:
        * dom/Text.idl:
        * dom/TextEvent.idl:
        * dom/TouchEvent.idl:
        * dom/UIEvent.idl:
        * dom/WheelEvent.idl:
        * html/DOMFormData.idl:
        * html/HTMLAllCollection.idl:
        * html/HTMLAudioElement.idl:
        * html/HTMLCanvasElement.idl:
        * html/HTMLCollection.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLOptionsCollection.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/TextTrackCue.idl:
        * html/canvas/CanvasGradient.idl:
        * html/canvas/CanvasRenderingContext2D.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/OESVertexArrayObject.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        * page/Console.idl:
        * page/DOMSelection.idl:
        * page/DOMWindow.idl:
        * page/History.idl:
        * page/Location.idl:
        * plugins/DOMMimeTypeArray.idl:
        * plugins/DOMPlugin.idl:
        * plugins/DOMPluginArray.idl:
        * storage/IDBDatabase.idl:
        * storage/StorageEvent.idl:
        * svg/ElementTimeControl.idl:
        * svg/SVGDocument.idl:
        * svg/SVGElementInstanceList.idl:
        * svg/SVGFEDropShadowElement.idl:
        * svg/SVGFEGaussianBlurElement.idl:
        * svg/SVGFEMorphologyElement.idl:
        * svg/SVGFilterElement.idl:
        * svg/SVGLocatable.idl:
        * svg/SVGMarkerElement.idl:
        * svg/SVGPathElement.idl:
        * svg/SVGSVGElement.idl:
        * svg/SVGStylable.idl:
        * svg/SVGTests.idl:
        * svg/SVGTextContentElement.idl:
        * webaudio/AudioNode.idl:
        * workers/SharedWorker.idl:
        * workers/WorkerContext.idl:
        * xml/DOMParser.idl:
        * xml/XMLSerializer.idl:
        * xml/XPathEvaluator.idl:
        * xml/XPathExpression.idl:
        * xml/XPathNSResolver.idl:
        * xml/XPathResult.idl:

2012-02-09  Matthew Delaney  <mdelaney@apple.com>

        getComputedStyle() returns different values for different zoom levels
        https://bugs.webkit.org/show_bug.cgi?id=32230

        Reviewed by Beth Dakin.

        Test: fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::fillSizeToCSSValue): Pass down the RenderStyle for use in adjusting
        values to account for zoom.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Adjust additional
        properties that are affected by zoom.

2012-02-09  Kentaro Hara  <haraken@chromium.org>

        Rename [Return] to [CustomReturn]
        https://bugs.webkit.org/show_bug.cgi?id=78225

        Reviewed by Adam Barth.

        [Return] is used to handle custom code for a returned value.
        To clarify it, this patch renames [Return] to [CustomReturn].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorCPP.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorGObject.pm:
        (GenerateFunction):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateImplementation):
        * dom/Node.idl:

2012-02-09  Levi Weintraub  <leviw@chromium.org>

        Add roundedIntPoint method for LayoutPoints
        https://bugs.webkit.org/show_bug.cgi?id=78262

        Reviewed by Eric Seidel.

        Adding a roundedIntPoint method that operates on a LayoutPoint. Currently, this does
        nothing as LayoutPoint is a typedef to IntPoint. When we enable sub-pixel LayoutUnits,
        this is a critical part in our pixel snapping strategy, where we round the logical top-
        left point, then snap the right and bottom edges.

        Also using this new method where we wish to convert LayoutPoints to IntPoints, which
        we're currently doing implicitly (since they're the same thing).

        No new tests. No change in functionality.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
        (WebCore::AccessibilityRenderObject::accessibilityHitTest):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::eventMayStartDrag):
        (WebCore::EventHandler::hitTestResultAtPoint):
        (WebCore::EventHandler::selectCursor):
        * rendering/LayoutTypes.h:
        (WebCore::roundedIntPoint):
        (WebCore):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::paintIntoRegion):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::getCursor):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):
        (WebCore::RenderLayer::offsetFromResizeCorner):
        (WebCore::RenderLayer::isPointInResizeControl):
        (WebCore::RenderLayer::paintLayerContents):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintContents):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::paintContents):
        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::paint):
        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::paint):
        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):

2012-02-09  John Bates  <jbates@google.com>

        [Chromium] Add chromium-style tracing support
        https://bugs.webkit.org/show_bug.cgi?id=76885

        Reviewed by Darin Fisher.

        This code enables WebKit trace events to pass through more data to the
        chromium platform tracing API and generally to use the full tracing
        API provided by chromium.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluate): Replace old tracing API.
        * page/Console.cpp:
        (WebCore::Console::time): Replace old tracing API.
        (WebCore::Console::timeEnd): Replace old tracing API.
        * platform/chromium/PlatformSupport.h:
        * platform/chromium/TraceEvent.h:
        (WebCore::TraceEvent::TraceID::TraceID):
        (WebCore::TraceEvent::TraceID::data):
        (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
        (WebCore::TraceEvent::TraceStringWithCopy::operator const char* ):
        (WebCore::TraceEvent::setTraceValue):
        (WebCore::TraceEvent::addTraceEvent):
        (WebCore::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
        (WebCore::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
        (WebCore::TraceEvent::TraceEndOnScopeClose::initialize):
        (WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::TraceEndOnScopeCloseThreshold):
        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::~TraceEndOnScopeCloseThreshold):
        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::initialize):
        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::addEventIfEnabled):

2012-02-09  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=78256
        
        Rename line-grid-snap to line-snap so that it matches the draft proposal for the
        property.

        Reviewed by Dan Bernstein.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator LineSnap):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        (WebCore::RootInlineBox::lineSnapAdjustment):
        * rendering/RootInlineBox.h:
        (RootInlineBox):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h:
        (StyleRareInheritedData):

2012-02-09  Benjamin Poulain  <bpoulain@apple.com>

        The localization of htmlSelectMultipleItems() needs better support of pluralization
        https://bugs.webkit.org/show_bug.cgi?id=78197

        Reviewed by Joseph Pecoraro.

        For translation, the localization of 0 and 1 depends on the language.

        * English.lproj/Localizable.strings:
        * platform/DefaultLocalizationStrategy.cpp:
        (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):

2012-02-09  Anders Carlsson  <andersca@apple.com>

        ScrollingTreeNodeMac should implement ScrollElasticityController
        https://bugs.webkit.org/show_bug.cgi?id=78277

        Reviewed by Andreas Kling.

        Add stubbed out implementations of the ScrollElasticityController member functions.

        * page/scrolling/mac/ScrollingTreeNodeMac.h:
        (ScrollingTreeNodeMac):
        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching):
        (WebCore):
        (WebCore::ScrollingTreeNodeMac::allowsVerticalStretching):
        (WebCore::ScrollingTreeNodeMac::stretchAmount):
        (WebCore::ScrollingTreeNodeMac::pinnedInDirection):
        (WebCore::ScrollingTreeNodeMac::canScrollHorizontally):
        (WebCore::ScrollingTreeNodeMac::canScrollVertically):
        (WebCore::ScrollingTreeNodeMac::shouldRubberBandInDirection):
        (WebCore::ScrollingTreeNodeMac::absoluteScrollPosition):
        (WebCore::ScrollingTreeNodeMac::immediateScrollBy):
        (WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints):
        (WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer):
        (WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer):

2012-02-09  Adrienne Walker  <enne@google.com>

        [chromium] Correct potential double reserveTextures() in CCLayerTreeHost
        https://bugs.webkit.org/show_bug.cgi?id=78258

        Reviewed by James Robinson.

        This isn't a problem currently, because scrollbar layers don't create
        render surfaces. However, if this ever got used for other layers, we
        could call reserve on them twice needlessly. It's also just bad form
        to have an iterator doing the wrong thing.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::reserveTextures):

2012-02-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r107261.
        http://trac.webkit.org/changeset/107261
        https://bugs.webkit.org/show_bug.cgi?id=78274

        It has regressed svg/W3C-SVG-1.1/styling-css-05-b.svg (using
        lang() selectors) (Requested by jchaffraix on #webkit).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithControl):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::isCommonAttributeSelectorAttribute):

2012-02-09  Joshua Bell  <jsbell@chromium.org>

        [Chromium] IndexedDB: IDBVersionChangeRequest V8 wrapper not generated as ActiveDOMObject
        https://bugs.webkit.org/show_bug.cgi?id=78167

        Add ActiveDOMObject annotation to IDBVersionChangeRequest.idl; it is not
        automagically inherited from IDBRequest.idl.

        Reviewed by Adam Barth.

        Test: storage/indexeddb/versionchangerequest-activedomobject.html

        * storage/IDBVersionChangeRequest.idl:

2012-02-09  Anders Carlsson  <andersca@apple.com>

        The scrolling tree should know more about the scrollbar state
        https://bugs.webkit.org/show_bug.cgi?id=78268

        Reviewed by Andreas Kling.

        With this change, the scroll tree now keeps track of the horizontal scroll elasticity,
        the vertical scroll elasticity and whether the page has enabled scrollbars.

        This is needed in order to make rubber-banding work correctly when doing fast scrolling.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
        * page/scrolling/ScrollingTreeNode.cpp:
        (WebCore::ScrollingTreeNode::ScrollingTreeNode):
        (WebCore::ScrollingTreeNode::update):
        * page/scrolling/ScrollingTreeNode.h:
        (ScrollingTreeNode):
        * page/scrolling/ScrollingTreeState.cpp:
        (WebCore::ScrollingTreeState::ScrollingTreeState):
        (WebCore::ScrollingTreeState::setHorizontalScrollElasticity):
        (WebCore):
        (WebCore::ScrollingTreeState::setVerticalScrollElasticity):
        (WebCore::ScrollingTreeState::setHasEnabledHorizontalScrollbar):
        (WebCore::ScrollingTreeState::setHasEnabledVerticalScrollbar):
        * page/scrolling/ScrollingTreeState.h:
        (WebCore::ScrollingTreeState::horizontalScrollElasticity):
        (ScrollingTreeState):
        (WebCore::ScrollingTreeState::verticalScrollElasticity):
        (WebCore::ScrollingTreeState::hasEnabledHorizontalScrollbar):
        (WebCore::ScrollingTreeState::hasEnabledVerticalScrollbar):

2012-02-09  Xianzhu Wang  <wangxianzhu@chromium.org>

        Unnecessary and incorrect invalidation about composited fixed-position layers
        https://bugs.webkit.org/show_bug.cgi?id=75638

        When a FrameView scrolls, composited fixed-position layers should
        not contribute to the invalidation rect of the root layer.

        Reviewed by Simon Fraser.

        No new tests. Haven't found a good way to test this programatically.

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollContentsFastPath):

2012-02-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r107035.
        http://trac.webkit.org/changeset/107035
        https://bugs.webkit.org/show_bug.cgi?id=78253

        Regressed DOMDivWalk (Requested by arv on #webkit).

        * Target.pri:
        * UseV8.cmake:
        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (HasCustomToV8Implementation):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        (WebCore):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp.
        (WebCore):
        (WebCore::toV8):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):
        (WebCore):

2012-02-09  David Barton  <dbarton@mathscribe.com>

        MathML internals for bug 52444 fix - type checking, PassRefPtr
        https://bugs.webkit.org/show_bug.cgi?id=78180

        Reviewed by Eric Seidel.
        
        static_cast<Element*>(node()) is done in methods in RenderMathMLFenced.cpp and a few
        other files. It is more type-safe if the RenderMathMLFenced() or other constructor only
        accepts an Element*, not a Node*. Also a couple functions were changed to return a
        PassRefPtr instead of a RefPtr.

        No new tests.

        * rendering/mathml/RenderMathMLFenced.cpp:
        (WebCore::RenderMathMLFenced::RenderMathMLFenced):
        (WebCore::RenderMathMLFenced::updateFromElement):
        (WebCore::RenderMathMLFenced::makeOperatorStyle):
        (WebCore::RenderMathMLFenced::makeFences):
        (WebCore::RenderMathMLFenced::addChild):
        * rendering/mathml/RenderMathMLFenced.h:
        (RenderMathMLFenced):
        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::RenderMathMLFraction):
        * rendering/mathml/RenderMathMLFraction.h:
        (RenderMathMLFraction):
        * rendering/mathml/RenderMathMLMath.cpp:
        (WebCore::RenderMathMLMath::RenderMathMLMath):
        * rendering/mathml/RenderMathMLMath.h:
        (RenderMathMLMath):
        * rendering/mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::RenderMathMLOperator):
        (WebCore::RenderMathMLOperator::updateFromElement):
        (WebCore::RenderMathMLOperator::createStackableStyle):
        (WebCore::RenderMathMLOperator::createGlyph):
        * rendering/mathml/RenderMathMLOperator.h:
        (RenderMathMLOperator):
        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::RenderMathMLRoot):
        (WebCore::RenderMathMLRoot::layout):
        * rendering/mathml/RenderMathMLRoot.h:
        (RenderMathMLRoot):
        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::RenderMathMLRow):
        * rendering/mathml/RenderMathMLRow.h:
        (RenderMathMLRow):
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
        * rendering/mathml/RenderMathMLSquareRoot.h:
        (RenderMathMLSquareRoot):
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::addChild):
        * rendering/mathml/RenderMathMLSubSup.h:
        (RenderMathMLSubSup):
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
        * rendering/mathml/RenderMathMLUnderOver.h:
        (RenderMathMLUnderOver):

2012-02-09  Andreas Kling  <awesomekling@apple.com>

        Avoid unnecessary work when evaluating style sharing candidates.
        <http://webkit.org/b/78220>

        Reviewed by Antti Koivisto.

        Do the cheap checks (bitfields, pointers) before calling virtuals and doing hash lookups.
        Remove comparison of attributes that are reflected in the attribute styles (cellpadding,
        lang and xml:lang.) Moved comparison of "type" and "readonly" attributes into the more
        specific canShareStyleWithControl() since they are only relevant for input elements.
        Don't bother calling isFormControlElement() on both elements since we already know they
        have the same tagQName().

        Altogether this knocks off 8-9ms worth of samples per cycle of the "Moz" page cycler test.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithControl):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::isCommonAttributeSelectorAttribute):

2012-02-09  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc() - remove mod
        https://bugs.webkit.org/show_bug.cgi?id=78226

        mod has been removed from the spec for calc().

        Reviewed by Ojan Vafai.

        * css/CSSCalculationValue.cpp:
        (WebCore::CSSCalcBinaryOperation::create):
        (WebCore::CSSCalcBinaryOperation::evaluate):
        (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
        * css/CSSGrammar.y:
        * platform/CalculationValue.h:

2012-02-09  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: rename DOMEditor to DOMPatchSupport, move undoable actions from
        InspectorDOMAgent to the new DOMEditor.
        https://bugs.webkit.org/show_bug.cgi?id=78245

        Reviewed by Yury Semikhatsky.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/DOMEditor.cpp:
        (DOMEditor::DOMAction):
        (WebCore::DOMEditor::DOMAction::DOMAction):
        (WebCore::DOMEditor::DOMAction::perform):
        (WebCore::DOMEditor::DOMAction::undo):
        (DOMEditor::RemoveChildAction):
        (WebCore::DOMEditor::RemoveChildAction::RemoveChildAction):
        (WebCore::DOMEditor::RemoveChildAction::perform):
        (WebCore::DOMEditor::RemoveChildAction::undo):
        (DOMEditor::InsertBeforeAction):
        (WebCore::DOMEditor::InsertBeforeAction::InsertBeforeAction):
        (WebCore::DOMEditor::InsertBeforeAction::perform):
        (WebCore::DOMEditor::InsertBeforeAction::undo):
        (DOMEditor::RemoveAttributeAction):
        (WebCore::DOMEditor::RemoveAttributeAction::RemoveAttributeAction):
        (WebCore::DOMEditor::RemoveAttributeAction::perform):
        (WebCore::DOMEditor::RemoveAttributeAction::undo):
        (DOMEditor::SetAttributeAction):
        (WebCore::DOMEditor::SetAttributeAction::SetAttributeAction):
        (WebCore::DOMEditor::SetAttributeAction::perform):
        (WebCore::DOMEditor::SetAttributeAction::undo):
        (DOMEditor::SetOuterHTMLAction):
        (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
        (WebCore::DOMEditor::SetOuterHTMLAction::perform):
        (WebCore::DOMEditor::SetOuterHTMLAction::undo):
        (WebCore::DOMEditor::SetOuterHTMLAction::newNode):
        (DOMEditor::ReplaceWholeTextAction):
        (WebCore::DOMEditor::ReplaceWholeTextAction::ReplaceWholeTextAction):
        (WebCore::DOMEditor::ReplaceWholeTextAction::perform):
        (WebCore::DOMEditor::ReplaceWholeTextAction::undo):
        (WebCore::DOMEditor::DOMEditor):
        (WebCore):
        (WebCore::DOMEditor::~DOMEditor):
        (WebCore::DOMEditor::insertBefore):
        (WebCore::DOMEditor::removeChild):
        (WebCore::DOMEditor::setAttribute):
        (WebCore::DOMEditor::removeAttribute):
        (WebCore::DOMEditor::setOuterHTML):
        (WebCore::DOMEditor::replaceWholeText):
        * inspector/DOMEditor.h:
        (WebCore):
        (DOMEditor):
        * inspector/DOMPatchSupport.cpp: Copied from Source/WebCore/inspector/DOMEditor.cpp.
        (WebCore::DOMPatchSupport::DOMPatchSupport):
        (WebCore::DOMPatchSupport::~DOMPatchSupport):
        (WebCore::DOMPatchSupport::patchDocument):
        (WebCore::DOMPatchSupport::patchNode):
        (WebCore::DOMPatchSupport::innerPatchNode):
        (WebCore):
        (WebCore::DOMPatchSupport::diff):
        (WebCore::DOMPatchSupport::innerPatchChildren):
        (WebCore::DOMPatchSupport::createDigest):
        (WebCore::DOMPatchSupport::insertBefore):
        (WebCore::DOMPatchSupport::removeChild):
        (WebCore::DOMPatchSupport::markNodeAsUsed):
        (WebCore::DOMPatchSupport::dumpMap):
        * inspector/DOMPatchSupport.h: Copied from Source/WebCore/inspector/DOMEditor.h.
        (DOMPatchSupport):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::setFrontend):
        (WebCore::InspectorDOMAgent::clearFrontend):
        (WebCore::InspectorDOMAgent::reset):
        (WebCore::InspectorDOMAgent::setAttributeValue):
        (WebCore::InspectorDOMAgent::setAttributesAsText):
        (WebCore::InspectorDOMAgent::removeAttribute):
        (WebCore::InspectorDOMAgent::removeNode):
        (WebCore::InspectorDOMAgent::setNodeName):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::setNodeValue):
        (WebCore::InspectorDOMAgent::moveTo):
        * inspector/InspectorDOMAgent.h:
        (WebCore):
        (InspectorDOMAgent):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::setDocumentContent):

2012-02-09  Mark Rowe  <mrowe@apple.com>

        REGRESSION (r104746): iframes load PDFs as media documents
        <http://webkit.org/b/77079> / <rdar://problem/10757933>

        Roll out r104746 since it completely broke support for loading PDF documents in subframes.

        Reviewed by Adam Treat.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):

2012-02-09  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] take _showShortEvents out of timeline calculator
        https://bugs.webkit.org/show_bug.cgi?id=78230

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype._addToRecordsWindow):

2012-02-08  Dan Vrátil  <dvratil@redhat.com>, Milan Crha <mcrha@redhat.com>

        [GTK] Embedded GtkWidgets are not drawn
        https://bugs.webkit.org/show_bug.cgi?id=63451

        Remove widget from it's parent container when GtkPluginWidget is destroyed.
        Remove paint() method because real expose even is used for drawing child widgets now.

        Reviewed by Martin Robinson.

        * platform/gtk/GtkPluginWidget.cpp:
        (WebCore::GtkPluginWidget::~GtkPluginWidget):
        (WebCore):
        * platform/gtk/GtkPluginWidget.h:
        (GtkPluginWidget):

2012-02-09  Arun Patole  <arun.patole@motorola.com>

        Setting media element 'src' attribute to "" should trigger load
        https://bugs.webkit.org/show_bug.cgi?id=47907

        Reviewed by Eric Carlson.

        Test: media/video-src-empty.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::attributeChanged):Trigger a load, as long as the 'src' attribute is present.

2012-02-09  Jonathan Backer  <backer@chromium.org>

        [chromium] Add setNeedsRedraw to WebWidget
        https://bugs.webkit.org/show_bug.cgi?id=77555

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setNeedsRedraw):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::setNeedsRedraw):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::setNeedsRedraw):
        (WebCore::CCThreadProxy::setFullRootLayerDamageOnImplThread):
        (WebCore):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-02-09  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: fix setOuterHTML for the case that adds / removes duplicate.
        https://bugs.webkit.org/show_bug.cgi?id=78235

        Reviewed by Yury Semikhatsky.

        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::diff):
        (WebCore::DOMEditor::innerPatchChildren):
        (WebCore):
        (WebCore::nodeName):
        (WebCore::DOMEditor::dumpMap):
        * inspector/DOMEditor.h:
        (DOMEditor):

2012-02-09  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Ensure timers and other active DOM objects do not fire in suspended documents.
        https://bugs.webkit.org/show_bug.cgi?id=53733

        ScriptExecutionContext now remembers it has suspended active DOM objects
        and suspends all newly installed active DOM objects as well.

        All create-calls active DOM objects now calls the post constructor method
        suspendIfNeeded that updates the suspend state. It is post constructor
        because the suspend/resume functions are virtual and thus can not be called
        from constructors.

        Reviewed by Mihai Parparita.

        Test: fast/events/suspend-timers.html

        * Modules/intents/IntentRequest.cpp:
        (WebCore::IntentRequest::create):
        * bindings/generic/ActiveDOMCallback.cpp:
        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
        * dom/ActiveDOMObject.cpp:
        (WebCore::ActiveDOMObject::ActiveDOMObject):
        (WebCore::ActiveDOMObject::~ActiveDOMObject):
        (WebCore::ActiveDOMObject::suspendIfNeeded):
        * dom/ActiveDOMObject.h:
        (WebCore::ActiveDOMObject::suspendIfNeededCalled):
        * dom/DocumentEventQueue.cpp:
        (WebCore::DocumentEventQueue::DocumentEventQueue):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
        (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
        * dom/ScriptExecutionContext.h:
        (ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::create):
        * fileapi/FileReader.cpp:
        (WebCore::FileReader::create):
        * fileapi/FileReader.h:
        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::create):
        * fileapi/FileWriter.h:
        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):
        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::create):
        (WebCore::HTMLAudioElement::createForJSConstructor):
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::create):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::create):
        * mediastream/PeerConnection.cpp:
        (WebCore::PeerConnection::create):
        * notifications/Notification.cpp:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::create):
        * notifications/NotificationCenter.h:
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::install):
        (WebCore::DOMTimer::fired):
        * page/EventSource.cpp:
        (WebCore::EventSource::create):
        * page/SuspendableTimer.cpp:
        (WebCore::SuspendableTimer::SuspendableTimer):
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::create):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::create):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::create):
        * storage/IDBVersionChangeRequest.cpp:
        (WebCore::IDBVersionChangeRequest::create):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::create):
        (WebCore::AudioContext::createOfflineContext):
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::create):
        * websockets/WebSocket.h:
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::create):
        * workers/Worker.cpp:
        (WebCore::Worker::create):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::create):

2012-02-09  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed followup for r107235.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
        (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide):

2012-02-09  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Support hiding scripts panel debug sidebar.
        https://bugs.webkit.org/show_bug.cgi?id=77543

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/Dialog.js:
        (WebInspector.Dialog):
        (WebInspector.DialogDelegate.prototype.show):
        * inspector/front-end/Images/navigatorPinButton.png: Added.
        * inspector/front-end/Images/navigatorShowHideButton.png: Added.
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        (WebInspector.ScriptsNavigator.prototype.get view):
        (WebInspector.ScriptsNavigator.prototype.get element):
        (WebInspector.ScriptsNavigator.prototype.show):
        (WebInspector.ScriptsNavigator.prototype.focus):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._fileSelected):
        (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
        (WebInspector.ScriptsPanel.prototype._createNavigatorControls):
        (WebInspector.ScriptsPanel.prototype._createNavigatorControlButton):
        (WebInspector.ScriptsPanel.prototype._toggleNavigator):
        (WebInspector.ScriptsPanel.prototype._hidePinnedNavigator):
        (WebInspector.ScriptsPanel.prototype.set _pinNavigator):
        (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay):
        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
        (WebInspector.ScriptsPanel.prototype._navigatorOverlayWasShown):
        (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide):
        * inspector/front-end/SidebarOverlay.js: Added.
        * inspector/front-end/SplitView.js:
        (WebInspector.SplitView.prototype.get resizable):
        (WebInspector.SplitView.prototype.hideMainElement):
        (WebInspector.SplitView.prototype.showMainElement):
        (WebInspector.SplitView.prototype.hideSidebarElement):
        (WebInspector.SplitView.prototype.showSidebarElement):
        (WebInspector.SplitView.prototype._resizerDragging):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer.prototype.get element):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/dialog.css:
        * inspector/front-end/inspector.html:
        * inspector/front-end/scriptsPanel.css:

2012-02-09  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Show percentage by default in heap profiler.
        https://bugs.webkit.org/show_bug.cgi?id=78103

        Reviewed by Pavel Feldman.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
        (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.profileCallback):
        (WebInspector.DetailedHeapshotView):
        (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
        (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
        (WebInspector.DetailedHeapshotView.prototype._updateFilterOptions):
        * inspector/front-end/UIUtils.js:
        (Number.withThousandsSeparator):
        * inspector/front-end/heapProfiler.css:
        (.detailed-heapshot-view .data-grid span.percent-column):

2012-02-09  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Timeline memory graph would have been more useful if it had used minUsedHeapSize as the lower bound. Currently it uses zero as the lower bound.
        https://bugs.webkit.org/show_bug.cgi?id=78222

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.HeapGraph):
        (WebInspector.HeapGraph.prototype.update):
        * inspector/front-end/timelinePanel.css:
        (.memory-graph-label):
        (.max.memory-graph-label):
        (.min.memory-graph-label):

2012-02-09  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Update protocol and UI to follow bug 77204 (Kill per-Attribute style declarations)
        https://bugs.webkit.org/show_bug.cgi?id=77962

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
        (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.getInlineStylesAsync):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate.inlineCallback):
        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.get continue):

2012-02-08  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: toggle Edit as HTML on F2, drag nodes up / down upon Ctrl(Cmd) Up / Down.
        https://bugs.webkit.org/show_bug.cgi?id=78123

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
        (InspectorDOMAgent::SetOuterHTMLAction):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._registerShortcuts):
        (WebInspector.ElementsPanel.prototype.handleShortcut):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype._ondragstart):
        (WebInspector.ElementsTreeOutline.prototype._ondragover):
        (WebInspector.ElementsTreeOutline.prototype._doMove):
        (WebInspector.ElementsTreeOutline.prototype._ondragend):
        (WebInspector.ElementsTreeOutline.prototype._populateContextMenu):
        (WebInspector.ElementsTreeOutline.prototype.handleShortcut):
        (WebInspector.ElementsTreeOutline.prototype._toggleEditAsHTML):
        (WebInspector.ElementsTreeOutline.prototype._selectNodeAfterEdit):
        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.commit):
        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
        * inspector/front-end/UIUtils.js:

2012-02-09  Roland Steiner  <rolandsteiner@chromium.org>

        SelectorChecker::checkSelector: move parameters into a struct
        https://bugs.webkit.org/show_bug.cgi?id=77525

        Added 'SelectorCheckingContext' struct to hold parameters for the function.
        Adapted calling sites.
        (fixing change log after the commit message got bungled up).

        Reviewed by Antti Koivisto.

        No new tests. (refactoring)

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::checkSelector):
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkSelector):
        (WebCore):
        (WebCore::SelectorChecker::checkOneSelector):
        * css/SelectorChecker.h:
        (SelectorCheckingContext):
        (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
        (SelectorChecker):

2012-02-09  Philip Rogers  <pdr@google.com>

        Fix mirroring with SVG fonts
        https://bugs.webkit.org/show_bug.cgi?id=77067

        Reviewed by Nikolas Zimmermann.

        SVG fonts were incorrectly handling mirrored characters in bidi text.
        In this change I added the function createStringWithMirroredCharacters
        which handles mirroring the characters when selecting glyphs for SVG
        fonts. I also made a small cosmetic change in the function
        charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
        which better reflects what it actually does.

        Several new tests were added to test mirroring with SVG fonts in the
        presence of Arabic forms and non-BMP characters.

        Tests: svg/custom/glyph-selection-arabic-forms.svg
               svg/custom/glyph-selection-bidi-mirror.svg
               svg/custom/glyph-selection-non-bmp.svg

        * platform/graphics/SVGGlyph.cpp:
        (WebCore::charactersWithArabicForm):
        * svg/SVGFontData.cpp:
        (WebCore::SVGFontData::applySVGGlyphSelection):
        (WebCore::SVGFontData::createStringWithMirroredCharacters):
        * svg/SVGFontData.h:
        (SVGFontData):

2012-02-09  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Scripts navigator fails to reopen previously closed script.
        https://bugs.webkit.org/show_bug.cgi?id=78212

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._reset):
        (WebInspector.ScriptsPanel.prototype._showFile):
        (WebInspector.ScriptsPanel.prototype._editorClosed):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer.prototype._tabClosed):

2012-02-09  Shinya Kawanaka  <shinyak@google.com>

        ASSERT_NO_EXCEPTION should be initialized with non-zero value.
        https://bugs.webkit.org/show_bug.cgi?id=78194

        Reviewed by Hajime Morita.

        ExceptionCode should not be checked without initializing it.
        However, we encountered a bug that breaks this rule.
        It was missed until now because ExceptionCode is sometimes set to 0 even if it is not initialized.
        This patch ensures it is initialized as non-zero value.

        No new tests, no change in behavior.

        * dom/ExceptionCodePlaceholder.cpp:
        (WebCore::NoExceptionAssertionChecker::NoExceptionAssertionChecker):
        (WebCore::NoExceptionAssertionChecker::~NoExceptionAssertionChecker):
        * dom/ExceptionCodePlaceholder.h:
        (NoExceptionAssertionChecker):

2012-02-09  Roland Steiner  <rolandsteiner@chromium.org>

        Unreviewed, rolling out r107197.
        http://trac.webkit.org/changeset/107197
        https://bugs.webkit.org/show_bug.cgi?id=77525

        broke Chromium Linux

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::checkSelector):
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkSelector):
        (WebCore):
        (WebCore::SelectorChecker::checkOneSelector):
        * css/SelectorChecker.h:

2012-02-09  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r107182, r107186, r107189, r107191,
        and r107199.
        http://trac.webkit.org/changeset/107182
        http://trac.webkit.org/changeset/107186
        http://trac.webkit.org/changeset/107189
        http://trac.webkit.org/changeset/107191
        http://trac.webkit.org/changeset/107199
        https://bugs.webkit.org/show_bug.cgi?id=78200

        Layout tests of JSC-related port are crashing

        * Modules/gamepad/GamepadList.idl:
        * Modules/intents/Intent.idl:
        * bindings/js/JSDOMBinding.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateParametersCheck):
        (NativeToJSValue):
        (GenerateConstructorDefinition):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateParametersCheck):
        (GenerateImplementationIndexer):
        (RequiresCustomSignature):
        (NativeToJSValue):
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
        (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::jsTestEventTargetPrototypeFunctionItem):
        (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
        (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
        (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
        (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
        (WebCore::jsTestObjPrototypeFunctionConvert1):
        (WebCore::jsTestObjPrototypeFunctionConvert2):
        (WebCore::jsTestObjPrototypeFunctionConvert3):
        (WebCore::jsTestObjPrototypeFunctionConvert4):
        (WebCore::jsTestObjPrototypeFunctionConvert5):
        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        * bindings/scripts/test/TestInterface.idl:
        * bindings/scripts/test/TestNamedConstructor.idl:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore::Float64ArrayInternal::fooCallback):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (WebCore::TestActiveDOMObjectInternal::excitingFunctionCallback):
        (WebCore::TestActiveDOMObjectInternal::postMessageCallback):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (WebCore::TestEventTargetInternal::itemCallback):
        (WebCore::TestEventTargetInternal::dispatchEventCallback):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
        (WebCore::V8TestInterface::constructorCallback):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::TestMediaQueryListListenerInternal::methodCallback):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
        (WebCore::TestObjInternal::intMethodWithArgsCallback):
        (WebCore::TestObjInternal::objMethodWithArgsCallback):
        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
        (WebCore::TestObjInternal::idbKeyCallback):
        (WebCore::TestObjInternal::optionsObjectCallback):
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
        (WebCore::TestObjInternal::overloadedMethod1Callback):
        (WebCore::TestObjInternal::overloadedMethod2Callback):
        (WebCore::TestObjInternal::overloadedMethod3Callback):
        (WebCore::TestObjInternal::overloadedMethod4Callback):
        (WebCore::TestObjInternal::overloadedMethod6Callback):
        (WebCore::TestObjInternal::overloadedMethod7Callback):
        (WebCore::TestObjInternal::classMethodWithOptionalCallback):
        (WebCore::TestObjInternal::overloadedMethod11Callback):
        (WebCore::TestObjInternal::overloadedMethod12Callback):
        (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
        (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
        (WebCore::TestObjInternal::convert1Callback):
        (WebCore::TestObjInternal::convert2Callback):
        (WebCore::TestObjInternal::convert3Callback):
        (WebCore::TestObjInternal::convert4Callback):
        (WebCore::TestObjInternal::convert5Callback):
        (WebCore::TestObjInternal::strictFunctionCallback):
        (WebCore):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
        * bindings/v8/V8Binding.h:
        * bindings/v8/custom/V8BindingMacros.h:
        * css/CSSCharsetRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSMediaRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSPrimitiveValue.idl:
        * css/CSSRule.idl:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSValue.idl:
        * css/CSSValueList.idl:
        * css/MediaList.idl:
        * css/MediaQueryList.idl:
        * css/MediaQueryListListener.idl:
        * css/StyleMedia.idl:
        * css/StyleSheet.idl:
        * css/StyleSheetList.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * css/WebKitCSSMatrix.idl:
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/ClientRectList.idl:
        * dom/Clipboard.idl:
        * dom/CompositionEvent.idl:
        * dom/CustomEvent.idl:
        * dom/DOMImplementation.idl:
        * dom/DOMStringList.idl:
        * dom/DataTransferItem.idl:
        * dom/DataTransferItemList.idl:
        * dom/DeviceMotionEvent.idl:
        * dom/DeviceOrientationEvent.idl:
        * dom/Document.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/Event.idl:
        * dom/HashChangeEvent.idl:
        * dom/KeyboardEvent.idl:
        * dom/MessageEvent.idl:
        * dom/MouseEvent.idl:
        * dom/MutationEvent.idl:
        * dom/MutationRecord.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/NodeFilter.idl:
        * dom/NodeList.idl:
        * dom/Notation.idl:
        * dom/OverflowEvent.idl:
        * dom/ProcessingInstruction.idl:
        * dom/Range.idl:
        * dom/ShadowRoot.idl:
        * dom/Text.idl:
        * dom/TextEvent.idl:
        * dom/TouchEvent.idl:
        * dom/UIEvent.idl:
        * dom/WheelEvent.idl:
        * html/DOMFormData.idl:
        * html/DOMTokenList.idl:
        * html/DOMURL.idl:
        * html/HTMLAllCollection.idl:
        * html/HTMLAudioElement.idl:
        * html/HTMLCanvasElement.idl:
        * html/HTMLCollection.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLOptionsCollection.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/TextTrackCue.idl:
        * html/canvas/CanvasGradient.idl:
        * html/canvas/CanvasRenderingContext2D.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/OESVertexArrayObject.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        * html/canvas/WebGLDebugShaders.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * page/Console.idl:
        * page/DOMSelection.idl:
        * page/DOMWindow.idl:
        * page/History.idl:
        * page/Location.idl:
        * plugins/DOMMimeTypeArray.idl:
        * plugins/DOMPlugin.idl:
        * plugins/DOMPluginArray.idl:
        * storage/IDBDatabase.idl:
        * storage/IDBObjectStore.idl:
        * storage/IDBRequest.idl:
        * storage/Storage.idl:
        * storage/StorageEvent.idl:
        * svg/ElementTimeControl.idl:
        * svg/SVGDocument.idl:
        * svg/SVGElementInstanceList.idl:
        * svg/SVGFEDropShadowElement.idl:
        * svg/SVGFEGaussianBlurElement.idl:
        * svg/SVGFEMorphologyElement.idl:
        * svg/SVGFilterElement.idl:
        * svg/SVGLocatable.idl:
        * svg/SVGMarkerElement.idl:
        * svg/SVGPathElement.idl:
        * svg/SVGSVGElement.idl:
        * svg/SVGStylable.idl:
        * svg/SVGTests.idl:
        * svg/SVGTextContentElement.idl:
        * webaudio/AudioNode.idl:
        * websockets/WebSocket.idl:
        * workers/SharedWorker.idl:
        * workers/WorkerContext.idl:
        * xml/DOMParser.idl:
        * xml/XMLHttpRequest.idl:
        * xml/XMLSerializer.idl:
        * xml/XPathEvaluator.idl:
        * xml/XPathExpression.idl:
        * xml/XPathNSResolver.idl:
        * xml/XPathResult.idl:
        * xml/XSLTProcessor.idl:

2012-02-09  Shinya Kawanaka  <shinyak@google.com>

        Disable adding a shadow root to elements having a dynamic built-in shadow root.
        https://bugs.webkit.org/show_bug.cgi?id=77935

        Reviewed by Hajime Morita.

        We temporarily disable adding a shadow root in elements having a dynamic user agent shadow root.
        These shadow roots are currently created using Element::ensureShadowRoot.
        So we don't check the condition if a shadow root is created eaither using Element::ensureShadowRoot
        or ShadowRoot::CreatingUserAgentShadowRoot is specified for ShadowRoot::create.

        Test: fast/dom/shadow/shadow-disable.html

        * dom/Element.cpp:
        (WebCore::Element::ensureShadowRoot):
        * dom/ShadowRoot.cpp:
        (WebCore::allowsUserShadowRoot):
        (WebCore):
        (WebCore::ShadowRoot::create):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::createShadowSubtree):
          ShadowRoot::CreatingUserAgentShadowRoot is specified.
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement): ditto.
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::createShadowSubtree): ditto.
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::createShadowSubtree): ditto.
        * html/HTMLSummaryElement.cpp:
        (WebCore::HTMLSummaryElement::createShadowSubtree): ditto.
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::createShadowSubtree): ditto.

2012-02-08  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: hovering over element with :hover style halts inspector
        https://bugs.webkit.org/show_bug.cgi?id=78086

        Reviewed by Pavel Feldman.

        Test: inspector/styles/updates-throttled.html

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
        (WebInspector.StylesSidebarPane.prototype._innerUpdate):

2012-02-09  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Fix build failure caused by r107191.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateParametersCheck):

2012-02-09  Roland Steiner  <rolandsteiner@chromium.org>

        SelectorChecker::checkSelector: move parameters into a struct
        https://bugs.webkit.org/show_bug.cgi?id=77525

        Added 'SelectorCheckingContext' struct to hold parameters for the function.
        Adapted calling sites.

        Reviewed by Antti Koivisto.

        No new tests. (refactoring)

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::checkSelector):
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkSelector):
        (WebCore):
        (WebCore::SelectorChecker::checkOneSelector):
        * css/SelectorChecker.h:
        (SelectorCheckingContext):
        (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
        (SelectorChecker):

2012-02-09  Kent Tamura  <tkent@chromium.org>

        Do not localize numbers in scientific notation
        https://bugs.webkit.org/show_bug.cgi?id=78208

        Reviewed by Hajime Morita.

        For a preparation of fixing http://wkb.ug/62939, we stop supporting
        localized numbers in scientific notation in <input type=number>.

        We're going to change number localization processing so that it replaces
        letters one by one. It will be very hard to support scientific notation.

        * html/NumberInputType.cpp:
        (WebCore::isE): A helper functio for String::find() to detect scientific notation.
        (WebCore::NumberInputType::visibleValue): Avoid localization for scientific notation.
        (WebCore::NumberInputType::convertFromVisibleValue): ditto.
        (WebCore::NumberInputType::isAcceptableValue):
        Use convertFromVisibleValue, also stop accepting a standard format as a fallback.

2012-02-09  Leo Yang  <leo.yang@torchmobile.com.cn>

        EntryBase.cpp is missing in CMake build system when turning on ENABLE_FILE_SYSTEM
        https://bugs.webkit.org/show_bug.cgi?id=78190

        Reviewed by Antonio Gomes.

        EntryBase.cpp is not in the CMake build system, which causes build failure (undefined
        symbols to EntryBase) when turning on ENABLE_FILE_SYSTEM.

        Build system fix, no new tests.

        * CMakeLists.txt:

2012-02-09  Andreas Kling  <awesomekling@apple.com>

        REGRESSION(r53878): Input elements don't share their styles if the document contains no validity style rules.
        <http://webkit.org/b/69400>

        Reviewed by Kent Tamura.

        Don't reject style sharing candidates prematurely just because the document doesn't
        have any :valid or :invalid selectors.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithControl):

2012-02-09  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Fixed typo in the following files. [TreatUndefinedAs] => [TreatAsUndefined].

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateParametersCheck):

        * bindings/scripts/test/TestObj.idl:

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
        (WebDOMTestObj::methodWithOptionalIsUndefinedString):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_method_with_optional_is_undefined_string):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsUndefinedString):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString):
        (WebCore::jsTestObjPrototypeFunctionConvert5):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj methodWithOptionalIsUndefinedString:]):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::methodWithOptionalIsUndefinedStringCallback):
        (WebCore):

2012-02-09  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Fixed typo in the following files. [TreatReturnedNullStringTo=] => [TreatReturnedNullStringAs=].

        * bindings/scripts/test/TestObj.idl:
        * css/CSSCharsetRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSValue.idl:
        * css/MediaList.idl:
        * css/StyleSheet.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/Clipboard.idl:
        * dom/DOMStringList.idl:
        * dom/Document.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/MutationRecord.idl:
        * dom/Node.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * html/DOMTokenList.idl:
        * html/DOMURL.idl:
        * html/HTMLMediaElement.idl:
        * html/canvas/WebGLDebugShaders.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * page/DOMWindow.idl:
        * storage/IDBObjectStore.idl:
        * storage/IDBRequest.idl:
        * storage/Storage.idl:
        * storage/StorageEvent.idl:
        * websockets/WebSocket.idl:
        * xml/XMLHttpRequest.idl:
        * xml/XPathNSResolver.idl:
        * xml/XSLTProcessor.idl:

2012-02-08  Kentaro Hara  <haraken@chromium.org>

        Rename [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]
        https://bugs.webkit.org/show_bug.cgi?id=78108

        Reviewed by Adam Barth.

        [ConvertNullStringTo=] is not descriptive. To clarify that it specifies
        the behavior when the null string is returned by WebCore, this patch renames
        [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]. This change is also
        for naming consistency with [TreatNullAs] and [TreatUndefinedAs].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (NativeToJSValue):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateImplementationIndexer):
        (NativeToJSValue):

        * bindings/scripts/test/TestObj.idl: No change in run-bindings-tests results.

        * css/CSSCharsetRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSValue.idl:
        * css/MediaList.idl:
        * css/StyleSheet.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/Clipboard.idl:
        * dom/DOMStringList.idl:
        * dom/Document.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/MutationRecord.idl:
        * dom/Node.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * html/DOMTokenList.idl:
        * html/DOMURL.idl:
        * html/HTMLMediaElement.idl:
        * html/canvas/WebGLDebugShaders.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * page/DOMWindow.idl:
        * storage/IDBObjectStore.idl:
        * storage/IDBRequest.idl:
        * storage/Storage.idl:
        * storage/StorageEvent.idl:
        * websockets/WebSocket.idl:
        * xml/XMLHttpRequest.idl:
        * xml/XPathNSResolver.idl:
        * xml/XSLTProcessor.idl:

2012-02-08  Andreas Kling  <awesomekling@apple.com>

        Simplify ownership of StyledElement::additionalAttributeStyles().
        <http://webkit.org/b/78204>

        Reviewed by Anders Carlsson.

        Change additionalAttributeStyle() to return a raw pointer rather than a PassRefPtr.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchAllRules):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        * dom/StyledElement.h:
        (WebCore::StyledElement::additionalAttributeStyle):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::additionalAttributeStyle):
        * html/HTMLTableCellElement.h:
        (HTMLTableCellElement):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::additionalAttributeStyle):
        * html/HTMLTableColElement.h:
        (HTMLTableColElement):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyle):
        (WebCore::HTMLTableElement::additionalCellStyle):
        (WebCore::HTMLTableElement::additionalGroupStyle):
        * html/HTMLTableElement.h:
        (HTMLTableElement):
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
        * html/HTMLTableSectionElement.h:
        (HTMLTableSectionElement):

2012-02-08  Kentaro Hara  <haraken@chromium.org>

        Rename [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue]
        https://bugs.webkit.org/show_bug.cgi?id=78200

        Reviewed by Adam Barth.

        [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue] are confusing.

        - [Optional=CallWithDefalutValue] indicates that a missing value should be treated
        as if the JavaScript undefined is passed.
        - [Optional=CallWithNullValue] indicates that a missing value should be treated as
        the WebKit null value (i.e. JSValue() or v8::Local<v8::Value>()).
        - Actually, the difference between [Optional=CallWithDefalutValue] and
        [Optional=CallWithNullValue] appears only when the type of the missing value is DOMString.
        In case of [Optional=CallWithDefalutValue], the missing value is converted to the string
        "undefined". On the other hand, in case of [Optional=CallWithNullValue], the missing
        value is converted to the WebKit null string.

        With these observations, this patch renames them as follows:

        - Rename [Optional=CallWithDefalutValue] to [Optional=TreatAsUndefined].
        - Remove [Optional=CallWithNullValue]. Instead, we use
        [Optional=TreatAsUndefined, TreatUndefinedAs=NullString].

        Test: bindings/scripts/test/TestInterface.idl

        * bindings/js/JSDOMBinding.h: Renamed MissingIsUndefined to MissingIsUndefinedValue,
        renamed MissingIsEmpty to MissingIsNullValue.
        * bindings/v8/V8Binding.h: Ditto.
        * bindings/v8/custom/V8BindingMacros.h: Ditto.

        * bindings/scripts/CodeGeneratorJS.pm: Modified to support the IDL attribute renaming.
        (GenerateParametersCheck):
        (GenerateConstructorDefinition):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        (GenerateParametersCheck):
        (RequiresCustomSignature):

        * Modules/gamepad/GamepadList.idl: Renamed IDL attributes as described above.
        * Modules/intents/Intent.idl:
        * css/CSSMediaRule.idl:
        * css/CSSPrimitiveValue.idl:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSValueList.idl:
        * css/MediaList.idl:
        * css/MediaQueryList.idl:
        * css/MediaQueryListListener.idl:
        * css/StyleMedia.idl:
        * css/StyleSheetList.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * css/WebKitCSSMatrix.idl:
        * dom/CharacterData.idl:
        * dom/ClientRectList.idl:
        * dom/CompositionEvent.idl:
        * dom/CustomEvent.idl:
        * dom/DOMImplementation.idl:
        * dom/DOMStringList.idl:
        * dom/DataTransferItem.idl:
        * dom/DataTransferItemList.idl:
        * dom/DeviceMotionEvent.idl:
        * dom/DeviceOrientationEvent.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Event.idl:
        * dom/HashChangeEvent.idl:
        * dom/KeyboardEvent.idl:
        * dom/MessageEvent.idl:
        * dom/MouseEvent.idl:
        * dom/MutationEvent.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/NodeFilter.idl:
        * dom/NodeList.idl:
        * dom/OverflowEvent.idl:
        * dom/Range.idl:
        * dom/ShadowRoot.idl:
        * dom/Text.idl:
        * dom/TextEvent.idl:
        * dom/TouchEvent.idl:
        * dom/UIEvent.idl:
        * dom/WheelEvent.idl:
        * html/DOMFormData.idl:
        * html/HTMLAllCollection.idl:
        * html/HTMLAudioElement.idl:
        * html/HTMLCanvasElement.idl:
        * html/HTMLCollection.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLOptionsCollection.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/TextTrackCue.idl:
        * html/canvas/CanvasGradient.idl:
        * html/canvas/CanvasRenderingContext2D.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/OESVertexArrayObject.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        * page/Console.idl:
        * page/DOMSelection.idl:
        * page/DOMWindow.idl:
        * page/History.idl:
        * page/Location.idl:
        * plugins/DOMMimeTypeArray.idl:
        * plugins/DOMPlugin.idl:
        * plugins/DOMPluginArray.idl:
        * storage/IDBDatabase.idl:
        * storage/StorageEvent.idl:
        * svg/ElementTimeControl.idl:
        * svg/SVGDocument.idl:
        * svg/SVGElementInstanceList.idl:
        * svg/SVGFEDropShadowElement.idl:
        * svg/SVGFEGaussianBlurElement.idl:
        * svg/SVGFEMorphologyElement.idl:
        * svg/SVGFilterElement.idl:
        * svg/SVGLocatable.idl:
        * svg/SVGMarkerElement.idl:
        * svg/SVGPathElement.idl:
        * svg/SVGSVGElement.idl:
        * svg/SVGStylable.idl:
        * svg/SVGTests.idl:
        * svg/SVGTextContentElement.idl:
        * webaudio/AudioNode.idl:
        * workers/SharedWorker.idl:
        * workers/WorkerContext.idl:
        * xml/DOMParser.idl:
        * xml/XMLSerializer.idl:
        * xml/XPathEvaluator.idl:
        * xml/XPathExpression.idl:
        * xml/XPathNSResolver.idl:
        * xml/XPathResult.idl:

        * bindings/scripts/test/TestInterface.idl: Added test cases for [Optional],
        [Optional=TreatAsUndefined] and [Optional=TreatAsUndefined, TreatUndefinedAs=NullString]
        * bindings/scripts/test/TestNamedConstructor.idl: Renamed IDL attributes as described above.
        * bindings/scripts/test/TestObj.idl: Ditto.

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
        (WebDOMTestObj::methodWithOptionalString):
        (WebDOMTestObj::methodWithOptionalIsTreatAsUndefinedString):
        (WebDOMTestObj::methodWithOptionalIsNullStringString):
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        (webkit_dom_test_obj_method_with_optional_string):
        (webkit_dom_test_obj_method_with_optional_is_treat_as_undefined_string):
        (webkit_dom_test_obj_method_with_optional_is_null_string_string):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSFloat64Array.cpp: Ditto.
        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Ditto.
        (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
        (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
        (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
        (WebCore::jsTestEventTargetPrototypeFunctionItem):
        (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        (WebCore):
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsTreatAsUndefinedString):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
        (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
        (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
        (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
        (WebCore::jsTestObjPrototypeFunctionConvert1):
        (WebCore::jsTestObjPrototypeFunctionConvert2):
        (WebCore::jsTestObjPrototypeFunctionConvert3):
        (WebCore::jsTestObjPrototypeFunctionConvert4):
        (WebCore::jsTestObjPrototypeFunctionConvert5):
        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        (WebCore):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
        (-[DOMTestObj methodWithOptionalString:]):
        (-[DOMTestObj methodWithOptionalIsTreatAsUndefinedString:]):
        (-[DOMTestObj methodWithOptionalIsNullStringString:]):
        * bindings/scripts/test/V8/V8Float64Array.cpp: Ditto.
        (WebCore::Float64ArrayInternal::fooCallback):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Ditto.
        (WebCore::TestActiveDOMObjectInternal::excitingFunctionCallback):
        (WebCore::TestActiveDOMObjectInternal::postMessageCallback):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
        (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp: Ditto.
        (WebCore::TestEventTargetInternal::itemCallback):
        (WebCore::TestEventTargetInternal::dispatchEventCallback):
        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
        (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
        (WebCore::V8TestInterface::constructorCallback):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
        (WebCore::TestMediaQueryListListenerInternal::methodCallback):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
        (WebCore::TestObjInternal::intMethodWithArgsCallback):
        (WebCore::TestObjInternal::objMethodWithArgsCallback):
        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
        (WebCore::TestObjInternal::idbKeyCallback):
        (WebCore::TestObjInternal::optionsObjectCallback):
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
        (WebCore::TestObjInternal::methodWithOptionalStringCallback):
        (TestObjInternal):
        (WebCore::TestObjInternal::methodWithOptionalIsTreatAsUndefinedStringCallback):
        (WebCore::TestObjInternal::methodWithOptionalIsNullStringStringCallback):
        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
        (WebCore::TestObjInternal::overloadedMethod1Callback):
        (WebCore::TestObjInternal::overloadedMethod2Callback):
        (WebCore::TestObjInternal::overloadedMethod3Callback):
        (WebCore::TestObjInternal::overloadedMethod4Callback):
        (WebCore::TestObjInternal::overloadedMethod6Callback):
        (WebCore::TestObjInternal::overloadedMethod7Callback):
        (WebCore::TestObjInternal::classMethodWithOptionalCallback):
        (WebCore::TestObjInternal::overloadedMethod11Callback):
        (WebCore::TestObjInternal::overloadedMethod12Callback):
        (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
        (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
        (WebCore::TestObjInternal::convert1Callback):
        (WebCore::TestObjInternal::convert2Callback):
        (WebCore::TestObjInternal::convert3Callback):
        (WebCore::TestObjInternal::convert4Callback):
        (WebCore::TestObjInternal::convert5Callback):
        (WebCore::TestObjInternal::strictFunctionCallback):
        (WebCore):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Ditto.
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

2012-02-08  Kentaro Hara  <haraken@chromium.org>

        Rename [HasNumericIndexGetter] to [NumericIndexedGetter]
        https://bugs.webkit.org/show_bug.cgi?id=78096

        Reviewed by Adam Barth.

        This patch renames [HasNumericIndexGetter] to [NumericIndexedGetter],
        for naming consistency with [IndexedGetter] and [CustomIndexedGetter].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeaderNamedAndIndexedPropertyAccessors):
        (GenerateImplementationIndexer):

        * bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.

        * html/canvas/CanvasPixelArray.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:

2012-02-08  Tony Chang  <tony@chromium.org>

        refactor RenderFlexibleBox to return preferred sizes of all children
        https://bugs.webkit.org/show_bug.cgi?id=78169

        Reviewed by Ojan Vafai.

        This is in preparation for multi-line flexbox. We need the preferred
        size of each child so we can compute where the multi-line breaks happen.

        No new tests, just refactoring.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Renamed from preferredMainAxisContentExtentForFlexItem because
        other methods are ForChild rather than ForFlexItem.
        (WebCore::RenderFlexibleBox::layoutFlexItems):
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-02-08  Shinya Kawanaka  <shinyak@google.com>

        Stop calling Element::ensureShadowRoot() if it is used in construction phase.
        https://bugs.webkit.org/show_bug.cgi?id=77929

        Reviewed by Hajime Morita.

        ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
        So we want to remove Element::ensureShadowRoot().
        This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.

        No new tests, no change in behavior.

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
          Initialize exception code before calling appendChild.
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::createShadowSubtree):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::createShadowSubtree):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::createShadowSubtree):
        * html/HTMLSummaryElement.cpp:
        (WebCore::HTMLSummaryElement::createShadowSubtree):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::createShadowSubtree):

2012-02-08  David Reveman  <reveman@chromium.org>

        [Chromium] Avoid unnecessary full tile updates without breaking atomicity of commits.
        https://bugs.webkit.org/show_bug.cgi?id=76740

        Reviewed by James Robinson.

        Allow the final batch of texture uploads to be performed without
        allocating new textures and re-painting complete tiles.

        This patch is tested by the following unit test:
        - CCLayerTreeHostTestAtomicCommitWithPartialUpdate.runMultiThread
        - TiledLayerChromiumTest.partialUpdates

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::UpdatableTile):
        (UpdatableTile):
        (WebCore::TiledLayerChromium::updateCompositorResources):
        (WebCore):
        (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
        (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (TiledLayerChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::initializeLayerRenderer):
        (WebCore::CCLayerTreeHost::updateLayers):
        (WebCore::CCLayerTreeHost::requestPartialTextureUpdate):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        (CCSettings):
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doCommit):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore::CCSingleThreadProxy::maxPartialTextureUpdates):
        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
        (WebCore::CCTextureUpdater::append):
        (WebCore):
        (WebCore::CCTextureUpdater::appendPartial):
        (WebCore::CCTextureUpdater::hasMoreUpdates):
        (WebCore::CCTextureUpdater::update):
        (WebCore::CCTextureUpdater::clear):
        * platform/graphics/chromium/cc/CCTextureUpdater.h:
        (CCTextureUpdater):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WTF):
        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
        (WebCore::CCThreadProxy::maxPartialTextureUpdates):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-02-07  MORITA Hajime  <morrita@google.com>

        Replacement text should be available from the marker.
        https://bugs.webkit.org/show_bug.cgi?id=77934

        Reviewed by Kent Tamura.

        On spellchecking, TextCheckingResult can contain a replacement text
        which is usable both for an automatic replacement and for showing a suggestion.

        But when marking a misspelled word ragarding to returned
        TextCheckingResult, Editor uses only the misspelled range data and
        discards the replacement value. Then it asks the same value again
        when showing suggestion/autocorrection.

        It would be great if the marker holds the replacement text
        and Editor can use it on suggesting a correction, without any re-request.
        This is especially true in the case when it needs IPC messaging for spellchecking:
        We can save one round-trip by this technique.

        Here is actual change:

        - Passed the replacement text to addMarker() for for misspelling markers.
          Note that this is done only for the unified checker path because legacy
          TextCheckerClient API doesn't provide such a replacement.
        - Added an Internals API to retrieve a description text on a marker.

        Test: editing/spelling/spelling-marker-description.html

        * WebCore.exp.in:
        * editing/Editor.cpp:
        (WebCore::Editor::markAndReplaceFor):
        * testing/Internals.cpp:
        (WebCore::Internals::markerAt):
        (WebCore):
        (WebCore::Internals::markerRangeForNode):
        (WebCore::Internals::markerDescriptionForNode):
        * testing/Internals.h:
        (WebCore):
        (Internals):
        * testing/Internals.idl:

2012-02-08  Eric Seidel  <eric@webkit.org>

        Remove more cruft now that HTMLIsIndexElement is gone
        https://bugs.webkit.org/show_bug.cgi?id=77887

        Reviewed by Darin Adler.

        Just removing dead code, thus no tests.
        There is likely more to remove after this.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLInputElement.cpp:
        * html/HTMLInputElement.h:
        (HTMLInputElement):
        * html/InputType.cpp:
        (WebCore::createInputTypeFactoryMap):
        * html/InputType.h:
        (InputTypeNames):
        * html/IsIndexInputType.cpp: Removed.
        * html/IsIndexInputType.h: Removed.
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::isContentEditable):

2012-02-08  Andreas Kling  <awesomekling@apple.com>

        Increased style sharing for elements with presentation attributes.
        <http://webkit.org/b/78199>

        Reviewed by Antti Koivisto.

        When determining whether two elements can share style, we can do a lot better.
        Instead of comparing the attribute maps for exact equality, do a property-by-property
        comparison of the attributeStyle() and the additionalAttributeStyle() (if any.)

        This increases our style sharing hit rate and shaves 100ms off of each cycle on
        Chromium's "Moz" page cycler test on my machine.

        The function that compares attribute styles has O(n^2) runtime in the worst case,
        where n is the number of properties in the styles. However, given the low number of
        properties found in attribute styles, this should be fine, and it doesn't seem to
        heat up in profiles.

        * css/CSSStyleSelector.cpp:
        (WebCore::attributeStylesEqual):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):

2012-02-08  Raymond Liu  <raymond.liu@intel.com>

        Fix the caculation of preDelayFrames in DynamicsCompressorKernel
        https://bugs.webkit.org/show_bug.cgi?id=78057

        Reviewed by Chris Rogers.

        No new tests required.

        * platform/audio/DynamicsCompressorKernel.cpp:
        (WebCore::DynamicsCompressorKernel::setPreDelayTime):

2012-02-08  Adam Klein  <adamk@chromium.org>

        DOM mutations should not be delivered on worker threads
        https://bugs.webkit.org/show_bug.cgi?id=77898

        Reviewed by Dmitry Titov.

        In V8RecursionScope, only call WebKitMutationObserver::deliverAllMutations
        if in a Document context.

        This is accomplished through a change to V8Proxy::instrumentedCallFunction
        (which now takes a Frame* instead of a Page*), requiring an update to all
        callers of that function (accounting for the majority of files changed
        in this patch).

        Added ASSERT(isMainThread()) in a deliverAllMutations to confirm that
        it's no longer called on worker threads, and in enqueueMutationRecord,
        where the same global store of active observers is accessed.

        See also http://crbug.com/112586, where the problem was initially
        reported.

        * bindings/v8/ScriptFunctionCall.cpp:
        (WebCore::ScriptCallback::call):
        * bindings/v8/V8NodeFilterCondition.cpp:
        (WebCore::V8NodeFilterCondition::acceptNode):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::runScript):
        (WebCore::V8Proxy::callFunction):
        (WebCore::V8Proxy::instrumentedCallFunction):
        * bindings/v8/V8Proxy.h:
        (WebCore):
        (V8Proxy):
        * bindings/v8/V8RecursionScope.cpp:
        (WebCore::V8RecursionScope::didLeaveScriptContext):
        * bindings/v8/V8RecursionScope.h:
        (WebCore):
        (WebCore::V8RecursionScope::V8RecursionScope):
        (V8RecursionScope):
        (WebCore::V8RecursionScope::~V8RecursionScope):
        * bindings/v8/V8WindowErrorHandler.cpp:
        (WebCore::V8WindowErrorHandler::callListenerFunction):
        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::invokeCallback):
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::enqueueMutationRecord):
        (WebCore::WebKitMutationObserver::deliverAllMutations):

2012-02-08  Anders Carlsson  <andersca@apple.com>

        Don't use the wheel event handler count to track if a page has horizontal scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=78192

        Reviewed by Andreas Kling.

        Stop calling Document::didAddWheelEventHandler and Document::didRemoveWheelEventHandler when
        adding and removing scrollbars.

        * page/FrameView.cpp:
        * page/FrameView.h:
        (FrameView):
        * rendering/RenderLayer.cpp:
        * rendering/RenderLayer.h:

2012-02-08  Igor Oliveira  <igor.o@sisa.samsung.com>

        Implement reverse animation direction

        Implement reverse animation direction
        https://bugs.webkit.org/show_bug.cgi?id=60525

        Implement reverse and alternate-reverse direction.

        Reviewed by Dean Jackson.

        Tests: animations/animation-direction-alternate-reverse.html
               animations/animation-direction-reverse.html
               animations/fill-mode-reverse.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseAnimationDirection):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::mapAnimationDirection):
        * css/CSSValueKeywords.in:
        * page/WebKitAnimation.cpp:
        (WebCore::WebKitAnimation::direction):
        * page/WebKitAnimation.h:
        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::fractionalTime):
        * platform/animation/Animation.h:
        (Animation):
        * platform/graphics/texmap/TextureMapperAnimation.cpp:
        (WebCore):
        (WebCore::shouldReverseAnimationValue):
        (WebCore::normalizedAnimationValue):

2012-02-08  James Robinson  <jamesr@chromium.org>

        [chromium] Avoid creating a temporary GraphicsContext3D if someone requests the WebView's GraphicsContext3D before initialization is complete
        https://bugs.webkit.org/show_bug.cgi?id=78154

        Reviewed by Kenneth Russell.

        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::context):

2012-02-08  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=78157
        
        Make multi-column layout work with line grids that are outside of the multi-column
        block.

        Reviewed by Dan Bernstein.

        Added new tests in fast/line-grid.

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        (WebCore::LayoutState::propagateLineGridInfo):
        (WebCore::LayoutState::establishLineGrid):
        (WebCore):
        (WebCore::LayoutState::computeLineGridPaginationOrigin):
        * rendering/LayoutState.h:
        (WebCore::LayoutState::LayoutState):
        (WebCore::LayoutState::lineGrid):
        (WebCore::LayoutState::lineGridOffset):
        (WebCore::LayoutState::lineGridPaginationOrigin):
        (WebCore::LayoutState::needsBlockDirectionLocationSetBeforeLayout):
        (LayoutState):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        * rendering/RenderView.h:
        (WebCore::RenderView::pushLayoutState):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::lineGridSnapAdjustment):

2012-02-08  Matthew Delaney  <mdelaney@apple.com>

        GeneratorGeneratedImage::drawPattern does not factor in its destination context's scale when generating its image tiles

        https://bugs.webkit.org/show_bug.cgi?id=67729
        <rdar://problem/10087050>

        Reviewed by Beth Dakin.

        No new tests, current pixel tests will cover this. Though some pixel results might improve to become less pixel-y.

        * platform/graphics/GeneratorGeneratedImage.cpp:
        (WebCore::GeneratorGeneratedImage::draw): Updated context to destContext for consistency.
        (WebCore::GeneratorGeneratedImage::drawPattern): Taught drawPattern about the destination
        scale factor to avoid having low-res generated images such as gradients in certain cases.
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::createCompatibleBuffer): Have the image buffer match the
        context acceleration setting as well.

2012-02-08  Adam Klein  <adamk@chromium.org>

        Simplify and correct mutation delivery timing for JSC
        https://bugs.webkit.org/show_bug.cgi?id=78172

        Reviewed by Adam Barth.

        Instead of keeping a static recursion counter in JSMainThreadExecState,
        simply wait for a state change from non-null ExecState to null ExecState.
        Because s_mainThreadState is initially null, this equivalent to
        waiting for s_recursionLevel to rewind to zero.

        This also properly handles the usage of JSMainThreadNullState (and
        does not do mutation delivery), since that class is only used by
        non-JS bindings. Now fast/mutation/end-of-task-delivery.html properly
        fails, whereas it was passing before due to usage of the ObjC DOM API
        from DumpRenderTree.

        * bindings/js/JSMainThreadExecState.cpp:
        (WebCore):
        * bindings/js/JSMainThreadExecState.h: Added a comment explaining the purpose of JSMainThreadNullState.
        (WebCore::JSMainThreadExecState::JSMainThreadExecState):
        (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
        (JSMainThreadExecState):
        (WebCore):

2012-02-08  Kentaro Hara  <haraken@chromium.org>

        Remove [ConvertToString] from CodeGeneratorCPP.pm and rename
        it to [ObjCImplementedAsUnsignedLong]
        https://bugs.webkit.org/show_bug.cgi?id=78100

        Reviewed by Eric Seidel.

        Now [ConvertToString] is used by ObjC's HTMLElement.size only.
        This patch removes [ConvertToString] code from CodeGeneratorCPP.pm,
        and renames [ConvertToString] to [ObjCImplementedAsUnsignedLong].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorCPP.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateImplementation):
        * html/HTMLInputElement.idl: Removed FIXME comment, because the latest spec
        says HTMLInputElement.size should be unsigned long.
        (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#the-input-element)

2012-02-08  Leo Yang  <leo.yang@torchmobile.com.cn>

        REGRESSION(r84194): Build fails when turning on ENABLE_FILE_SYSTEM
        https://bugs.webkit.org/show_bug.cgi?id=78088

        Reviewed by Antonio Gomes.

        WebCore::getDOMObjectWrapper was changed to WebCore::wrap in r84194.
        Adapt to this change in JSEntryCustom.cpp and JSEntrySyncCustom.cpp.

        Build fix, no new tests.

        * bindings/js/JSEntryCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSEntrySyncCustom.cpp:
        (WebCore::toJS):

2012-02-08  Dana Jansens  <danakj@chromium.org>

        [Chromium] Fix opaque tracking for box shadows and non-composited child elements
        https://bugs.webkit.org/show_bug.cgi?id=78073

        Reviewed by Stephen White.

        Tests: compositing/culling/scrolled-within-boxshadow.html
               compositing/culling/translated-boxshadow.html

        Unit tests: PlatformContextSkiaTest.cpp

        When painting a box shadow, a filter is applied to the skia canvas, that can make
        pixels painted with an opaque color end up non-opaque. So consider image/mask/color
        filters when deciding if a paint is opaque.

        Also when painting the background of an element with a box shadow, the background is
        painted with a transform on the skia canvas based on the size of the box shadow. This
        transform needs to be considered when tracking an opaque paint.

        However, when a layer's contentRect position is non-zero, we translate the GraphicsContext
        to put the contentRect at 0,0 in the skia canvas. For tracking opaque regions in the resulting
        layer, we need to unto this translation. Scaling can also occur which we must undo. So we pass
        the transform in to PlatformContextSkia to go from the SkCanvas back to the layer's content
        coordinate space. Opaque paints can then be tracked in the layer's content space rather than
        in the skia canvas space.

        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
        (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
        (WebCore::CanvasLayerTextureUpdater::paintContents):
        * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
        (WebCore):
        (CanvasLayerTextureUpdater):
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
        * platform/graphics/skia/OpaqueRegionSkia.cpp:
        (WebCore::paintIsOpaque):
        (WebCore::OpaqueRegionSkia::didDrawRect):
        (WebCore::OpaqueRegionSkia::didDrawPath):
        (WebCore::OpaqueRegionSkia::didDrawPoints):
        (WebCore::OpaqueRegionSkia::didDrawBounded):
        (WebCore::OpaqueRegionSkia::didDraw):
        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
        (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
        * platform/graphics/skia/OpaqueRegionSkia.h:
        (WebCore):
        (OpaqueRegionSkia):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::didDrawRect):
        (WebCore::PlatformContextSkia::didDrawPath):
        (WebCore::PlatformContextSkia::didDrawPoints):
        (WebCore::PlatformContextSkia::didDrawBounded):
        * platform/graphics/skia/PlatformContextSkia.h:
        (PlatformContextSkia):
        (WebCore::PlatformContextSkia::setOpaqueRegionTransform):

2012-02-08  Kentaro Hara  <haraken@chromium.org>

        Remove [CustomHeader] from CanvasPixelArray and rename [CustomHeader] to [JSCustomHeader]
        https://bugs.webkit.org/show_bug.cgi?id=78089

        Reviewed by Adam Barth.

        This patch removes [CustomHeader] from CanvasPixelArray.idl, since CanvasPixelArrayCustom.h
        does not exist. (The reason why missing CanvasPixelArrayCustom.h has not caused build failure
        is that [CustomHeader] has been JSC-specific and JSC has not enabled CanvasPixelArray.)
        Also, this patch renames [CustomHeader] to [JSCustomHeader], since whether a given class
        should have custom header or not will depend on JavaScript bindings.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        * dom/Node.idl:
        * html/canvas/CanvasPixelArray.idl:

2012-02-08  Zalan Bujtas  <zbujtas@gmail.com>

        Dispatch updateViewportArguments(), when Document is finished
        restoring from page cache.

        https://bugs.webkit.org/show_bug.cgi?id=77943

        Reviewed by Kenneth Rohde Christiansen.

        Move updateViewportArguments() call from setPageInCache() to
        documentDidResumeFromPageCache() to ensure, that the Document is
        fully resumed from the page cache and attached to the mainframe,
        when the viewport arguments are updated.

        No tests. No change in behaviour.

        * dom/Document.cpp:
        (WebCore::Document::setInPageCache):
        (WebCore::Document::documentDidResumeFromPageCache):

2012-02-08  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Remove incorrect early exit in CCDamageTracker
        https://bugs.webkit.org/show_bug.cgi?id=76924

        Reviewed by James Robinson.

        New unit test added to CCDamageTrackerTest.cpp

        This patch does three things: (1) adds unit test that demonstrates
        that early exiting in CCDamageTracker is wrong, (2) removes the
        early exit and cleans up the surrounding code, and (3) re-names
        several functions in CCDamageTracker so that state updating is
        implied by the name, and not just a bad side-effect of the functions.

        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::CCDamageTracker::updateDamageTrackingState):
        (WebCore::CCDamageTracker::trackDamageFromActiveLayers):
        (WebCore::CCDamageTracker::trackDamageFromSurfaceMask):
        (WebCore::CCDamageTracker::trackDamageFromLeftoverRects):
        * platform/graphics/chromium/cc/CCDamageTracker.h:
        (CCDamageTracker):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):

2012-02-08  James Robinson  <jamesr@chromium.org>

        [chromium] Check that we can make the SharedGraphicsContext3D current before returning
        https://bugs.webkit.org/show_bug.cgi?id=78142

        Reviewed by Stephen White.

        If we can't make the context current, we can't use it.

        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::get):

2012-02-08  Abhishek Arya  <inferno@chromium.org>

        Crash in Node::normalize.
        https://bugs.webkit.org/show_bug.cgi?id=78135

        Reviewed by Ryosuke Niwa.

        No new tests. Original testcase does not reduce to manageable
        extent.

        * dom/Node.cpp:
        (WebCore::Node::normalize):

2012-02-08  Antoine Labour  <piman@chromium.org>

        Make WebGL context current early to check validity
        https://bugs.webkit.org/show_bug.cgi?id=78141

        Reviewed by James Robinson.

        Covered by existing tests

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::create):

2012-02-08  Jonathan Backer  <backer@chromium.org>

        [chromium] Disable root layer clears on release builds.
        https://bugs.webkit.org/show_bug.cgi?id=77478

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::clearRenderSurface):
        (WebCore::LayerRendererChromium::drawRenderPass):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (LayerRendererChromium):

2012-02-08  Anders Carlsson  <andersca@apple.com>

        Add a content shadow layer to the render layer compositor
        https://bugs.webkit.org/show_bug.cgi?id=78133
        <rdar://problem/10797742>

        Reviewed by Beth Dakin.

        Have the render layer compositor optionally create a content shadow layer,
        and add a ScrollbarTheme::setUpContentShadowLayer member function that subclasses
        can use to set content shadow properties.

        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::setUpContentShadowLayer):
        Set the layer properties once, and set the shadow path on every call, since we know that this
        function will be called every time the size of the content shadow layer changes.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
        Reposition the content shadow layer, and call ScrollbarTheme::setUpContentShadowLayer if the size changes.

        (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
        Add new helper function.

        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
        Create a content shadow layer if needed.

2012-02-07  Andy Estes  <aestes@apple.com>

        REGRESSION (r102983): ClicktoFlash drawing of old style youtube embeds missing until resize
        https://bugs.webkit.org/show_bug.cgi?id=77167

        Reviewed by Eric Seidel.

        Test: plugins/layout-in-beforeload-listener-affects-plugin-loading.html

        r102983 made FrameView::updateWidgets() check if the DOM node actually
        needs a widget update before calling updateWidget(). Due to historical
        reasons, however, updateWidget() can be legitimately called twice: once
        at attach time for non-Netscape plug-ins and once at layout time for
        Netscape plug-ins.

        If the widget represents a Netscape plug-in, but updateWidget() is
        called for the CreateOnlyNonNetscapePlugins case after the DOM node was
        marked as needing an update, updateWidget() will clear the update flag
        and prevent a second call to updateWidget() at layout time for the
        CreateAnyWidgetType case.

        As much as I loathe adding to the code duplication between
        HTMLEmbedElement::updateWidget() and HTMLObjectElement::updateWidget(),
        the simplest solution seems to be marking the DOM node as needing
        update in the case where we are calling updateWidget() for the
        CreateOnlyNonNetscapePlugins case and we know we will be loading a
        Netscape plug-in.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget): Call
        setNeedsWidgetUpdate(true) if pluginCreationOption is
        CreateOnlyNonNetscapePlugins but we will load a Netscape plug-in.
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget): Ditto.
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::guardedDispatchBeforeLoadEvent): Remove an
        invalid assertion that prevents the layout test from running in a Debug
        configuration.

2012-02-07  Ojan Vafai  <ojan@chromium.org>

        Floated flexboxes render as regular RenderBlocks
        https://bugs.webkit.org/show_bug.cgi?id=77909

        Reviewed by Eric Seidel.

        Add grid/flexbox cases to adjusting the display of floated/positioned
        elements. Also, move this logic into a switch statement. This makes
        the code more readable and gives compile warnings when new display types
        are added that aren't handled here.

        Test: css3/flexbox/floated-flexbox.html

        * css/CSSStyleSelector.cpp:
        (WebCore::adjustDisplay):
        (WebCore):
        (WebCore::CSSStyleSelector::adjustRenderStyle):

2012-02-08  Dirk Schulze  <krit@webkit.org>

        viewBox on nested SVG causes wrong content size for relative values
        https://bugs.webkit.org/show_bug.cgi?id=69459

        Reviewed by Nikolas.

        In the past we just checked the change of the viewport size of the root SVG element. If the size changed, all childs
        with relative length values needed a relayout. We did not consider that we might have other viewports in the document.
        Childs with relative lengths had a strange zooming, if just the viewport size of an inner SVG element changed.

        With this patch we check if the size of the nearest viewport changes. Is this the case, childs with relative lengths
        need a relayout.

        Test: inner-svg-change-viewBox.svg

        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        * rendering/svg/RenderSVGContainer.h:
        (RenderSVGContainer):
        (WebCore::RenderSVGContainer::determineIfLayoutSizeChanged): Check if we need layout and have relative length values.
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout): Remove resetting 'viewport size changed' flag for code operability. No influence on the layout.
        * rendering/svg/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): Add a flag that indicates that the viewport size changes.
        (WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged): The flag gets set during the layout phase of the SVG element if the size changes.
        (WebCore):
        * rendering/svg/RenderSVGViewportContainer.h:
        (WebCore::RenderSVGViewportContainer::isLayoutSizeChanged): Added getter to get flag status.
        (RenderSVGViewportContainer):
        (WebCore::toRenderSVGViewportContainer): Added casting function for constant RenderObjects.
        (WebCore):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::layoutSizeOfNearestViewportChanged): Search the nearest viewport and check if the size changed.
        (WebCore):
        (WebCore::SVGRenderSupport::layoutChildren): Don't check the roots viewport for size changes, but the nearest viewport.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::svgAttributeChanged): Added viewBoxAttr to the list of attributes that cause relayout.

2012-02-08  Gregg Tavares  <gman@google.com>

        Implement new WEBGL compressed texture extensions
        https://bugs.webkit.org/show_bug.cgi?id=77066

        This removes the old experimental compressed
        texture extension and implements the first new
        one.

        A test is in the WebGL conformance tests in
        extensions/webgl-compressed-texture-s3tc.html
        and will be copied here in a future patch.

        Reviewed by Kenneth Russell.

        No new tests. Test coming in future patch.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        * html/canvas/WebGLCompressedTextureS3TC.cpp: Added.
        (WebCore):
        (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
        (WebCore::WebGLCompressedTextureS3TC::~WebGLCompressedTextureS3TC):
        (WebCore::WebGLCompressedTextureS3TC::getName):
        (WebCore::WebGLCompressedTextureS3TC::create):
        (WebCore::WebGLCompressedTextureS3TC::supported):
        * html/canvas/WebGLCompressedTextureS3TC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
        (WebCore):
        (WebGLCompressedTextureS3TC):
        * html/canvas/WebGLCompressedTextureS3TC.idl: Renamed from Source/WebCore/html/canvas/WebGLCompressedTextures.idl.
        * html/canvas/WebGLCompressedTextures.cpp: Removed.
        * html/canvas/WebGLCompressedTextures.h: Removed.
        * html/canvas/WebGLExtension.h:
        * html/canvas/WebGLGetInfo.cpp:
        (WebCore::WebGLGetInfo::WebGLGetInfo):
        (WebCore):
        (WebCore::WebGLGetInfo::getWebGLUnsignedIntArray):
        * html/canvas/WebGLGetInfo.h:
        * html/canvas/WebGLObject.cpp:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::addCompressedTextureFormat):
        (WebCore::WebGLRenderingContext::compressedTexImage2D):
        (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
        (WebCore::WebGLRenderingContext::getExtension):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getSupportedExtensions):
        (WebCore::WebGLRenderingContext::validateCompressedTexFormat):
        (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
        (WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
        (WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore):
        (WebGLRenderingContext):
        * html/canvas/WebGLRenderingContext.idl:

2012-02-08  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: heap snapshot: implement Distance column in Object's retaining tree.
        https://bugs.webkit.org/show_bug.cgi?id=78113

        Retaining path list was replaced with Retaining tree some time ago.
        But it was not so useful when we want to track the retaining path from an object to a DOM Window node.

        Drive by fix: sort doesn't work in retaining tree panel.
        Drive by fix: save/load child nodes doesn't work for the retaining tree panel.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotObjectNode):
        (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity): save/load children fix
        (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode): save/load children fix
        (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
        (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotContainmentDataGrid):
        (WebInspector.HeapSnapshotRetainmentDataGrid):
        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotRetainerEdge.prototype.set retainerIndex):
        (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
        (WebInspector.HeapSnapshotRetainerEdge.prototype.get _node):
        (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
        (WebInspector.HeapSnapshotNode.prototype.get distanceToWindow):
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype._buildRetainers):
        (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
        (WebInspector.HeapSnapshot.prototype._bfs):
        (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName):
        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeAndNode):
        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndEdge):
        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndNode):
        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
        (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
        * inspector/front-end/heapProfiler.css:
        (.detailed-heapshot-view .data-grid td.distanceToWindow-column):

2012-02-08  Anders Carlsson  <andersca@apple.com>

        Fix assertion in svg/dom/SVGStyledElement-pendingResource-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=78126

        Reviewed by Dan Bernstein.

        This broke in r106977 when I tried to change an early return into an ASSERT,
        so let's bring back the early return.

        * page/FrameView.cpp:
        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):

2012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106920, r106924, r106933, r106939,
        and r107090.
        http://trac.webkit.org/changeset/106920
        http://trac.webkit.org/changeset/106924
        http://trac.webkit.org/changeset/106933
        http://trac.webkit.org/changeset/106939
        http://trac.webkit.org/changeset/107090
        https://bugs.webkit.org/show_bug.cgi?id=78124

        Something is completely wrong this change (Requested by
        Ossy_gardener on #webkit).

        * platform/FileSystem.h:
        (WebCore):
        * platform/qt/FileSystemQt.cpp:

2012-02-08  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=78122
        
        Add support for the "contains" value for line-grid-snap. This value centers the line box in between the
        text-top and text-bottom of the minimum number of grid lines that enclose the line box. This is useful for
        centering headers in a line grid.

        Reviewed by Adam Roben.

        Added a new test in fast/line-grid.

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::lineGridSnapAdjustment):

2012-02-08  Cary Clark  <caryclark@google.com>

        [Skia Mac] Make misspelling underline dots unclipped
        https://bugs.webkit.org/show_bug.cgi?id=78117
        http://code.google.com/p/chromium/issues/detail?id=113154

        Reviewed by Stephen White.

        No new tests. Existing layout tests cover this.

        As is done on the CoreGraphics Mac platform, adjust the
        underline width to remove partial dots, not including the
        trailing transparent pixel column.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawLineForTextChecking):

2012-02-08  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: bind entire subtree upon childNodeInserted so that text node were accounted.
        https://bugs.webkit.org/show_bug.cgi?id=78116

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.DOMDocument):
        (WebInspector.DOMAgent.prototype._setDocument):
        (WebInspector.DOMAgent.prototype._setDetachedRoot):
        (WebInspector.DOMAgent.prototype._setChildNodes):
        (WebInspector.DOMAgent.prototype._childNodeRemoved):
        (WebInspector.DOMAgent.prototype._unbind):

2012-02-08  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: Optional out arguments are not supported in the Web Inspector protocol, which breaks the implementation
        https://bugs.webkit.org/show_bug.cgi?id=77967

        Reviewed by Yury Semikhatsky.

        Condition for RefPtr-based types added. This is more-or-less a hack
        and it's should be redone together with the switch to type-safe API.

        * inspector/CodeGeneratorInspector.py:
        (Generator.process_command):

2012-02-07  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: inspected object wrapper should be released by InjectedScript when popover closes
        https://bugs.webkit.org/show_bug.cgi?id=77972

        When object popover is shown the object under cursor is resolved and its
        wrapper is put into 'popover' object wrapper group. The group is discarded
        when the popover closes.

        Reviewed by Pavel Feldman.

        * bindings/js/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::objectByHeapObjectId):
        * bindings/js/ScriptProfiler.h:
        (WebCore):
        (ScriptProfiler):
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::objectByHeapObjectId):
        (WebCore):
        * bindings/v8/ScriptProfiler.h:
        (WebCore):
        (ScriptProfiler):
        * inspector/Inspector.json:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
        * inspector/InspectorProfilerAgent.h:
        (InspectorProfilerAgent):
        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype._resolveObjectForPopover):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
        (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
        * inspector/front-end/ObjectPopoverHelper.js:
        (WebInspector.ObjectPopoverHelper):
        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
        (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):

2012-02-08  Mario Sanchez Prada  <msanchez@igalia.com>

        [Gtk] atk_text_get_text_at_offset() fails to provide the correct line for list items whose text wraps
        https://bugs.webkit.org/show_bug.cgi?id=73431

        Reviewed by Chris Fleizach.

        Don't replace item's markers with the objectReplacementCharacter
        character, as they will be treated in an special way later on.

        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
        (textForRenderer): Don't append the objectReplacementCharacter
        character for list item's markers.

2012-02-08  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: do not clear entire tree map upon last element deletion.
        https://bugs.webkit.org/show_bug.cgi?id=78112

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype._forgetChildrenRecursive):

2012-02-08  Kaustubh Atrawalkar  <kaustubh@motorola.com>

        Migrate createObjectURL & revokeObjectURL to static (Class) methods.
        https://bugs.webkit.org/show_bug.cgi?id=74386

        Reviewed by Kentaro Hara.

        Move createObjectURL & revokeObjectURL from DOMURL implementation to
        static methods as per specs - http://www.w3.org/TR/FileAPI/#creating-revoking

        Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
        Already Existing:
            fast/files/revoke-blob-url.html
            fast/dom/window-domurl-crash.html
            fast/files/apply-blob-url-to-img.html
            fast/files/create-blob-url-crash.html
            fast/files/workers/inline-worker-via-blob-url.html

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::fileThread):
        (WebCore):
        (WebCore::ScriptExecutionContext::publicURLManager):
        * dom/ScriptExecutionContext.h:
        (WebCore):
        (ScriptExecutionContext):
        * html/DOMURL.cpp:
        (WebCore):
        (WebCore::DOMURL::createObjectURL): Changed to static.
        (WebCore::DOMURL::revokeObjectURL): ditto.
        * html/DOMURL.h:
        (DOMURL):
        (WebCore::DOMURL::create):
        * html/DOMURL.idl:
        * html/PublicURLManager.h: Added.
        (WebCore):
        (PublicURLManager):
        (WebCore::PublicURLManager::create):
        (WebCore::PublicURLManager::contextDestroyed):
        (WebCore::PublicURLManager::blobURLs):
        (WebCore::PublicURLManager::streamURLs):
        * page/DOMWindow.cpp: Removed object initialization for DOMURL.
        (WebCore):
        * page/DOMWindow.h: ditto.
        (DOMWindow):
        * page/DOMWindow.idl:
        * workers/WorkerContext.cpp:
        (WebCore):
        * workers/WorkerContext.h:
        (WorkerContext):
        * workers/WorkerContext.idl:

2012-02-01  Brian Grinstead  <briangrinstead@gmail.com>

        Web Inspector: Add changes for Spectrum colorpicker
        https://bugs.webkit.org/show_bug.cgi?id=75454

        Reviewed by Pavel Feldman.

        * inspector/front-end/Color.js:
        (WebInspector.Color.fromRGB):
        * inspector/front-end/utilities.js:
        (Element.prototype.totalOffsetLeft):
        (Element.prototype.totalOffsetTop):
        (Element.prototype.totalOffset):
        (Element.prototype.scrollOffset):
        ():

2012-02-08  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Avoid an avalanche of "class" attribute modifications in WatchExpressionsSidebarPane
        https://bugs.webkit.org/show_bug.cgi?id=78102

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):

2012-02-08  Antaryami Pandia  <antaryami.pandia@motorola.com>

        CSS2 overflow: scrollbar not visible on SELECT elements when overflow: scroll is set.
        https://bugs.webkit.org/show_bug.cgi?id=69993

        Reviewed by Simon Fraser.

        The issue was that for overflow:scroll, currently webkit always places the horizontal
        and vertical scrollbar. But Since the listbox renderer handles its scrolling,
        we should not set scrollbar for list-box.

        Tests: fast/css/getComputedStyle/computed-style-select-overflow.html
               fast/forms/select-overflow-scroll-inherited.html
               fast/forms/select-overflow-scroll.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):

2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        feImage doesn't invalidate when its target SVG element is animated
        https://bugs.webkit.org/show_bug.cgi?id=73860

        Reviewed by Dirk Schulze.

        Consider following testcase:
        <defs>
            <rect id="rect" fill="red" width="50" height="50"/>
            <filter id="filter">
                <feImage xlink:href="#rect"/>
            </filter>
        </defs>
        <rect width="50" height="50" filter="url(#filter)"/>

        If the <rect id="rect"> gets changed dynamically (attribute/property/style change) the <feImage>
        doesn't notice this, as there's no link between the <rect> and the <feImage>, as the <rect> is not
        a child of the <feImage/>. To get invalidations working for these situations, we have to track
        the referencingElement & referencedElement in SVGDocumentExtensions.

        Fixes parts the SVG-Wow twirl testcase and David Daileys SVG waves example.

        Tests: svg/filters/feImage-animated-transform-on-target-rect.svg
               svg/filters/feImage-late-indirect-update.svg
               svg/filters/feImage-mutliple-targets-id-change.svg
               svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg
               svg/filters/feImage-target-attribute-change-with-use-indirection.svg
               svg/filters/feImage-target-attribute-change.svg
               svg/filters/feImage-target-inline-style-change.svg
               svg/filters/feImage-target-property-change.svg
               svg/filters/feImage-target-style-change.svg

        * rendering/svg/RenderSVGResource.cpp:
        (WebCore::removeFromFilterCacheAndInvalidateDependencies): Renamed from removeFromFilterCache, as it has another purpose now.
        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): s/removeFromFilterCache/removeFromFilterCacheAndInvalidateDependencies/.
        * rendering/svg/RenderSVGResource.h: Removed removeFromFilterCache, it got inlined.
        * svg/SVGDocumentExtensions.cpp: Add a new HashMap<SVGElement*, OwnPtr<HashSet<SVGElement*> > > used for dependency tracking.
        (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): Returns all elements the passed in element depends on.
        (WebCore::SVGDocumentExtensions::addElementReferencingTarget): Register element 'a' referencing target 'b'.
        (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): Called by element 'a' on destruction or any target change.
        (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): Called by element 'b' on destruction.
        * svg/SVGDocumentExtensions.h: Expose new methods.
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::~SVGElement): Call remove removeAllElementReferencesForTarget on destruction.
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::clearResourceReferences):
        (WebCore::SVGFEImageElement::buildPendingResource):

2012-02-08  Kihong Kwon  <kihong.kwon@samsung.com>

        [EFL] Using string method instead of char* operation in the platformLanguage().
        https://bugs.webkit.org/show_bug.cgi?id=78077

        Reviewed by Andreas Kling.

        No new tests. Just fix a bug of platformLanguage function.

        * platform/efl/LanguageEfl.cpp:
        (WebCore::platformLanguage):
        Change char* operation to string operation.

2012-02-08  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Touch event emulation fails for iframes
        https://bugs.webkit.org/show_bug.cgi?id=77987

        Reviewed by Pavel Feldman.

        Test: fast/events/touch/emulated-touch-iframe.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseReleaseEvent):

2012-02-08  Andreas Kling  <awesomekling@apple.com>

        StyledElement: Manully setNeedsStyleRecalc() after adding CSSProperties directly.
        <http://webkit.org/b/78068>

        Rubber-stamped by Ryosuke Niwa.

        Turns out that setProperty() with a CSSProperty has quite different behavior from
        the other setProperty() methods. We should probably clean that up (separately.)
        For now, simply call setNeedsStyleRecalc() manually in the addCSS* functions that
        use setProperty(CSSProperty).

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSProperty):
        (WebCore::StyledElement::addCSSImageProperty):

2012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r107050.
        http://trac.webkit.org/changeset/107050
        https://bugs.webkit.org/show_bug.cgi?id=78094

        May crash editing tests (Requested by morrita on #webkit).

        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::createShadowSubtree):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::createShadowSubtree):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::createShadowSubtree):
        * html/HTMLSummaryElement.cpp:
        (WebCore::HTMLSummaryElement::createShadowSubtree):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::createShadowSubtree):

2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        [Qt] REGRESSION(r106918): It made svg/zoom/page/zoom-foreignObject.svg crash with Qt5-WK1
        https://bugs.webkit.org/show_bug.cgi?id=77995

        Reviewed by Csaba Osztrogonác.

        From the stack traces it's obvious that SVGImageChromeClient tried to invalidate the root view,
        while its SVGImage was being destructed, due to an updateStyleIfNeeded() call, coming
        from frameDetached(). There's no point in redrawing there, so we should just stop it.

        Covered by existing tests on the Qt but, unfortunately I couldn't reproduce it on Mac.

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImageChromeClient::invalidateContentsAndRootView): Stop invalidating if m_page is 0.
        (WebCore::SVGImage::~SVGImage): Clear m_page, so that SVGImageChromeClient knows we're destructing.
        * svg/graphics/SVGImage.h:

2012-02-08  Pablo Flouret  <pablof@motorola.com>

        Add state attribute to history's dom interface.
        https://bugs.webkit.org/show_bug.cgi?id=76035

        Reviewed by Kentaro Hara.

        Tests: fast/loader/stateobjects/state-attribute-object-types.html
               fast/loader/stateobjects/state-attribute-only-one-deserialization.html

        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::state):
        (WebCore):
        (WebCore::JSHistory::pushState):
        (WebCore::JSHistory::replaceState):
        * bindings/v8/custom/V8HistoryCustom.cpp:
        (WebCore::V8History::stateAccessorGetter):
        (WebCore):
        (WebCore::V8History::pushStateCallback):
        (WebCore::V8History::replaceStateCallback):
        * page/History.cpp:
        (WebCore::History::History):
        (WebCore::History::state):
        (WebCore):
        (WebCore::History::stateInternal):
        (WebCore::History::stateChanged):
        * page/History.h:
        (History):
        * page/History.idl:

2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVGLoad event fires too early
        https://bugs.webkit.org/show_bug.cgi?id=78084

        Reviewed by Hajime Morita.

        SVGLoad event fires too early, making it impossible to use the vanilla repaint.js harness (runRepaintTest).

        We're using a hack called runSVGRepaintTest() at the moment in trunk, which runs runRepaintTest() from a 0ms timer,
        which is not reliable. The main difference between HTML onload and SVG onload is that HTMLs event is a "window event",
        thus dispatched through DOMWindow (eg. <body onload="alert(event.target)" will yield Document,
        <svg onload="alert(evt.target)"> will say SVGSVGElement).

        Consider:
        <svg onload="alert('1')>
        <g onload="alert('2)">
        <rect onload="alert('3')"/>
        </svg>

        As soon as the <rect> finishes parsing (SVGElement::finishedParsingChildren), it's SVGLoad event is fired.
        So first you'll see '3', then '2', then '1'.

        Using:
        <svg onload="alert('1')>
        <g onload="alert('2)">
        <image xlink:href="someExternal.jpg" onload="alert('3')"/>
        </svg>

        will yield the same SVGLoad order. When using <image externalREsourcesRequired="true", first the '1' will fire,
        then '3', then '2', all as expected and specified in SVG.

        http://www.w3.org/TR/SVG/interact.html#LoadEvent says:
        "The event is triggered at the point at which the user agent has fully parsed the element and its descendants and is
        ready to act appropriately upon that element, such as being ready to render the element to the target device. Referenced
        external resources that are required must be loaded, parsed and ready to render before the event is triggered. Optional
        external resources are not required to be ready for the event to be triggered."

        What we don't implement correctly is the second part of the first sentence: "and is ready to act appropriately upon that
        element, such as being ready to render the element to the target device". We currently fire the SVGLoad event, right after
        </svg> is seen, if no externalResourceRequired="true" attributes are set anywhere. This is not wrong, but not correct for
        WebKit, as we're not yet "ready to render".

        HTML fires its window onload event from Document::implicitClose(), where it calls Document::dispatchWindowLoadEvent.
        At this point we're ready to render. So I'm now aligning the timing of the outermost <svg> elements SVGLoad event, to be
        equal to HTML. This lets use use the repaint.js harness w/o any special SVG tricks.

        Covered by existing tests.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose): Dispatch SVGLoad event for outermost <svg> elements from here, as HTML does for its window onload event.
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements): Sends a SVGLoad event to all outermost <svg> elements in a document, if possible.
        There can be multiple ones, if using <svg><foreignObject><svg>... - the <svg> in the <fO> also acts as outermost <svg> element.
        * svg/SVGDocumentExtensions.h: Add new dispatchSVGLoadEventToOutermostSVGElements() helper.
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::isOutermostSVGSVGElement): Moved from SVGSVGElement into SVGElement, and renamed from isOutermostSVG().
        (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't dispatch load events to outermost <svg> elements, if Document::implicitClose() wasn't called yet.
        (WebCore::SVGElement::finishParsingChildren): Stop using the default SVGLoad dispatching logic for outermost <svg> elements.
        * svg/SVGElement.h: Add isOutermostSVGSVGElement().
        * svg/SVGSVGElement.cpp: Rename isOutermostSVG to isOutermostSVGSVGElement.
        (WebCore::SVGSVGElement::currentScale):
        (WebCore::SVGSVGElement::setCurrentScale):
        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
        (WebCore::SVGSVGElement::createRenderer):
        * svg/SVGSVGElement.h: Move isOutermostSVG() to SVGElement.
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::title): Rename isOutermostSVG to isOutermostSVGSVGElement.

2012-02-08  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [CRASH] InspectorDOMAgent::updateTouchEventEmulationInPage()
        https://bugs.webkit.org/show_bug.cgi?id=78090

        Reviewed by Vsevolod Vlasov.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::updateTouchEventEmulationInPage):

2012-02-07  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Closed computed style sidebar pane rebuilds, resulting in slowness
        https://bugs.webkit.org/show_bug.cgi?id=77865

        Reviewed by Pavel Feldman.

        Test: inspector/styles/lazy-computed-style.html

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane):
        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._refreshComputedStyleSection):
        (WebInspector.ComputedStyleSidebarPane.prototype.expand):
        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):

2012-02-08  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Adding the onstatechange callback to PeerConnection
        https://bugs.webkit.org/show_bug.cgi?id=77954

        When readyState changes a callback should be triggered.

        Reviewed by Adam Barth.

        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

        * dom/EventNames.h:
        (WebCore):
        * mediastream/PeerConnection.cpp:
        (WebCore::PeerConnection::changeReadyState):
        * mediastream/PeerConnection.h:
        (PeerConnection):
        (WebCore::PeerConnection::didChangeState):
        * mediastream/PeerConnection.idl:
        * platform/mediastream/PeerConnectionHandlerClient.h:
        (PeerConnectionHandlerClient):

2012-02-08  Kentaro Hara  <haraken@chromium.org>

        Rename [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL
        https://bugs.webkit.org/show_bug.cgi?id=77963

        Reviewed by Adam Barth.

        This patch renames [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL,
        for clarification and for naming consistency with [NamedGetter] and [CustomIndexedSetter].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeaderNamedAndIndexedPropertyAccessors):
        (GenerateImplementationIndexer):
        (GenerateImplementationNamedPropertyGetter):
        * bindings/scripts/test/TestInterface.idl:
        * css/CSSStyleDeclaration.idl:
        * dom/DOMStringMap.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLObjectElement.idl:
        * page/History.idl:
        * page/Location.idl:
        * storage/Storage.idl:

2012-02-08  Kentaro Hara  <haraken@chromium.org>

        Replace [CheckNodeSecurity] with [CheckAccessToNode]
        https://bugs.webkit.org/show_bug.cgi?id=77971

        Reviewed by Adam Barth.

        [CheckNodeSecurity] is not implemented by code generators.
        This patch replaces [CheckNodeSecurity] with [CheckAccessToNode].

        Test: http/tests/security/cross-frame-access-frameelement.html

        * page/DOMWindow.idl:

2012-02-08  Kentaro Hara  <haraken@chromium.org>

        Rename [CustomPushEventHandlerScope] to [JSCustomPushEventHandlerScope]
        https://bugs.webkit.org/show_bug.cgi?id=78081

        Reviewed by Adam Barth.

        [CustomPushEventHandlerScope] is a JSC-specific IDL attribute.
        This patch renames it to [JSCustomPushEventHandlerScope]

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        * dom/Node.idl:
        * html/HTMLElement.idl:

2012-02-06  Kentaro Hara  <haraken@chromium.org>

        Add "JS" prefix to JSC-specific IDLs
        https://bugs.webkit.org/show_bug.cgi?id=77846

        Reviewed by Darin Adler.

        In bug 77693, we have added "JS" prefix to several JSC specific IDLs.
        This patch adds "JS" prefix to the remaining JSC specific IDLs.
        Specifically, this patch renames IDLs as follows:

        [CustomDefineOwnProperty] => [JSCustomDefineOwnProperty]
        [CustomPrototypeDefineOwnProperty] => [JSCustomPrototypeDefineOwnProperty]
        [GenerateNativeConverter] => [JSGenerateToNativeObject]  (Note: For naming consistency
        with [JSGenerateToJS] and [JSCustomToNativeObject])
        [DelegatingGetOwnPropertySlot] => [JSCustomGetOwnPropertySlotDelegate]  (Note: Should be prefixed "JS",
        should be prefixed with "Custom", and for naming consistency with [CustomGetOwnPropertySlot])

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/test/TestTypedArray.idl:
        * dom/Attr.idl:
        * dom/DataTransferItemList.idl:
        * dom/Document.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Node.idl:
        * fileapi/DirectoryEntry.idl:
        * fileapi/DirectoryEntrySync.idl:
        * fileapi/File.idl:
        * fileapi/FileEntry.idl:
        * fileapi/FileEntrySync.idl:
        * fileapi/WebKitBlobBuilder.idl:
        * html/DOMFormData.idl:
        * html/DOMURL.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLCanvasElement.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLOptionsCollection.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLVideoElement.idl:
        * html/TextTrackCue.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        * mediastream/LocalMediaStream.idl:
        * page/DOMWindow.idl:
        * page/History.idl:
        * page/Location.idl:
        * storage/StorageInfo.idl:
        * svg/SVGElement.idl:
        * svg/SVGElementInstance.idl:
        * workers/DedicatedWorkerContext.idl:
        * workers/SharedWorker.idl:
        * workers/SharedWorkerContext.idl:
        * workers/Worker.idl:
        * workers/WorkerContext.idl:

2012-02-07  Kentaro Hara  <haraken@chromium.org>

        Rename [HasOverridingNameGetter] attribute to [CustomNamedGetter] attribute
        https://bugs.webkit.org/show_bug.cgi?id=78076

        Reviewed by Adam Barth.

        This patch renames the [HasOverridingNameGetter] attribute to the
        [CustomNamedGetter] attribute, for naming consistency with [CustomNamedSetter].

        Test: bindings/scripts/test/TestCustomNamedGetter.idl

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeaderNamedAndIndexedPropertyAccessors):
        (GenerateImplementationNamedPropertyGetter):

        * html/HTMLDocument.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameSetElement.idl:

        * bindings/scripts/test/TestCustomNamedGetter.idl: Renamed from Source/WebCore/bindings/scripts/test/TestOverridingNameGetter.idl.

        * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Updated run-bindings-tests results.
        (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate::WebDOMTestCustomNamedGetterPrivate):
        (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate):
        (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetter):
        (WebDOMTestCustomNamedGetter::operator=):
        (WebDOMTestCustomNamedGetter::impl):
        (WebDOMTestCustomNamedGetter::~WebDOMTestCustomNamedGetter):
        (WebDOMTestCustomNamedGetter::anotherFunction):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Ditto.
        (WebCore):
        (WebDOMTestCustomNamedGetter):
        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp: Ditto.
        (WebKit):
        (WebKit::kit):
        (webkit_dom_test_custom_named_getter_another_function):
        (WebKit::core):
        (webkit_dom_test_custom_named_getter_finalize):
        (webkit_dom_test_custom_named_getter_set_property):
        (webkit_dom_test_custom_named_getter_get_property):
        (webkit_dom_test_custom_named_getter_constructed):
        (webkit_dom_test_custom_named_getter_class_init):
        (webkit_dom_test_custom_named_getter_init):
        (WebKit::wrapTestCustomNamedGetter):
        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h: Ditto.
        (_WebKitDOMTestCustomNamedGetter):
        (_WebKitDOMTestCustomNamedGetterClass):
        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h: Ditto.
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Ditto.
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
        (WebCore):
        (WebCore::JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor):
        (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
        (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
        (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestCustomNamedGetterPrototype::self):
        (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot):
        (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertyDescriptor):
        (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
        (WebCore::JSTestCustomNamedGetter::finishCreation):
        (WebCore::JSTestCustomNamedGetter::createPrototype):
        (WebCore::JSTestCustomNamedGetter::destroy):
        (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
        (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
        (WebCore::jsTestCustomNamedGetterConstructor):
        (WebCore::JSTestCustomNamedGetter::getConstructor):
        (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
        (WebCore::isObservable):
        (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestCustomNamedGetterOwner::finalize):
        (WebCore::toJS):
        (WebCore::toTestCustomNamedGetter):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.h: Ditto.
        (WebCore):
        (JSTestCustomNamedGetter):
        (WebCore::JSTestCustomNamedGetter::create):
        (WebCore::JSTestCustomNamedGetter::createStructure):
        (WebCore::JSTestCustomNamedGetter::impl):
        (WebCore::JSTestCustomNamedGetter::releaseImpl):
        (WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):
        (JSTestCustomNamedGetterOwner):
        (WebCore::wrapperOwner):
        (WebCore::wrapperContext):
        (JSTestCustomNamedGetterPrototype):
        (WebCore::JSTestCustomNamedGetterPrototype::create):
        (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
        (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
        (JSTestCustomNamedGetterConstructor):
        (WebCore::JSTestCustomNamedGetterConstructor::create):
        (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
        * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Ditto.
        (-[DOMTestCustomNamedGetter dealloc]):
        (-[DOMTestCustomNamedGetter finalize]):
        (-[DOMTestCustomNamedGetter anotherFunction:]):
        (core):
        (kit):
        * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Ditto.
        (WebCore):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
        (WebCore):
        (TestCustomNamedGetterInternal):
        (WebCore::TestCustomNamedGetterInternal::V8_USE):
        (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
        (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
        (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
        (WebCore::V8TestCustomNamedGetter::GetTemplate):
        (WebCore::V8TestCustomNamedGetter::HasInstance):
        (WebCore::V8TestCustomNamedGetter::wrapSlow):
        (WebCore::V8TestCustomNamedGetter::derefObject):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: Ditto.
        (WebCore):
        (V8TestCustomNamedGetter):
        (WebCore::V8TestCustomNamedGetter::toNative):
        (WebCore::V8TestCustomNamedGetter::existingWrapper):
        (WebCore::V8TestCustomNamedGetter::wrap):
        (WebCore::toV8):

2012-02-07  Emil A Eklund  <eae@chromium.org>

        Revert TableSection cell and border calculations to integers
        https://bugs.webkit.org/show_bug.cgi?id=77918

        Reviewed by Eric Seidel.

        Change RenderTableSection cell width, row height and border calculations
        back to use integers. Table layout is done on integer bounds to comply
        with the specification and to ensure that columns given the same width,
        including percentage widths, are rendered with identical widths. The same
        applies to heights.

        No new tests.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::setCellLogicalWidths):
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::calcOuterBorderBefore):
        (WebCore::RenderTableSection::calcOuterBorderAfter):
        (WebCore::RenderTableSection::calcOuterBorderStart):
        (WebCore::RenderTableSection::calcOuterBorderEnd):
        (WebCore::RenderTableSection::paintObject):
        (WebCore::RenderTableSection::nodeAtPoint):
        * rendering/RenderTableSection.h:
        (RenderTableSection):
        (WebCore::RenderTableSection::RowStruct::RowStruct):
        (WebCore::RenderTableSection::outerBorderBefore):
        (WebCore::RenderTableSection::outerBorderAfter):
        (WebCore::RenderTableSection::outerBorderStart):
        (WebCore::RenderTableSection::outerBorderEnd):

2012-02-07  Robert Kroeger  <rjkroege@chromium.org>

        [chromium] Remove the no longer necessary Chromium gesture recognizer.
        https://bugs.webkit.org/show_bug.cgi?id=77492

        Reviewed by Adam Barth.

        * WebCore.gypi:
        * platform/PlatformGestureRecognizer.h: Removed.
        * platform/chromium/FramelessScrollView.h:
        (WebCore):
        (FramelessScrollView):
        * platform/chromium/GestureRecognizerChromium.cpp: Removed.
        * platform/chromium/GestureRecognizerChromium.h: Removed.
        * platform/chromium/PopupContainer.cpp:
        (WebCore):
        * platform/chromium/PopupContainer.h:
        * platform/chromium/PopupListBox.cpp:
        (WebCore):
        * platform/chromium/PopupListBox.h:
        (PopupListBox):

2012-02-07  Erik Arvidsson  <arv@chromium.org>

        [V8] Allow bindings for attributes on DOM nodes to also set a named hidden reference
        https://bugs.webkit.org/show_bug.cgi?id=78052

        Reviewed by Nate Chapin.

        Before this patch the code generator did not add the named hidden reference when the data node
        was a DOM Node. This lead to us having to create custom toV8 bindings in a few places.

        Covered by existing tests

        * Target.pri:
        * UseV8.cmake:
        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (HasCustomToV8Implementation):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:

2012-02-07  Kentaro Hara  <haraken@chromium.org>

        [GTK] Ignore [Custom] attributes in CodeGeneratorGObject.pm
        https://bugs.webkit.org/show_bug.cgi?id=78059

        Reviewed by Adam Barth.

        CodeGeneratorGObject.pm does not support custom attributes.
        We can skip generating code for attributes with [Custom].
        The change would make sense, since CodeGeneratorGObject.pm already
        skips attributes with [CustomGetter] or [CustomSetter].

        Test: bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGeneratorGObject.pm:
        (SkipAttribute):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

2012-02-07  Emil A Eklund  <eae@chromium.org>

        Add pixelSnappedX/Y/Width/Height methods
        https://bugs.webkit.org/show_bug.cgi?id=78040

        Reviewed by Eric Seidel.

        Add pixel snapped versions of x/y/width/height methods. These return the
        same value as the x/w/width/height methods for now but once we move over
        to sub pixel layout they will snap the subpixel value to a device pixel
        and return an integer value.

        When snapping the left and top edge is simply rounded to the nearest
        device pixel.
        The right and bottom edges are computed by subtracting the rounded left/
        top edge from the precise location and size. This ensures that the edges
        all line up with device pixels and that the total size of an object,
        including borders, is at most one pixel off.

        In summary, the values are computed as follows:
                x: round(x)
                y: round(y)
                maxX: round(x + width)
                maxY: round(y + height)
                width: round(x + width) - round(x)
                height: round(y + height) - round(y)

        We use the term pixel snapped to indicate that the numbers are not merely
        rounded. This also matches the naming used by the line box tree.

        No new tests, no functionality changes.

        * page/PrintContext.cpp:
        (WebCore::PrintContext::pageNumberForElement):
        * rendering/RenderBlock.cpp:
        (WebCore::::collectIfNeeded):
        * rendering/RenderBlock.h:
        (RenderBlock):
        (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
        (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedX):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedY):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
        (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
        (FloatingObject):
        (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
        (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
        (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
        (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::pixelSnappedClientWidth):
        (WebCore):
        (WebCore::RenderBox::pixelSnappedClientHeight):
        (WebCore::RenderBox::scrollHeight):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::pixelSnappedWidth):
        (WebCore::RenderBox::pixelSnappedHeight):
        (RenderBox):
        (WebCore::RenderBox::pixelSnappedOffsetWidth):
        (WebCore::RenderBox::pixelSnappedOffsetHeight):
        (WebCore::RenderBox::clientLogicalWidth):
        (WebCore::RenderBox::clientLogicalHeight):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
        (WebCore):
        (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
        (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
        (RenderBoxModelObject):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::pixelSnappedScrollWidth):
        (WebCore):
        (WebCore::RenderLayer::pixelSnappedScrollHeight):
        (WebCore::RenderLayer::computeScrollDimensions):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        * rendering/RenderLayer.h:
        (RenderLayer):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::scrollHeight):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):

2012-02-07  Mike Lawther  <mikelawther@chromium.org>

        CSS3 calc() - simple parse time evaluation
        https://bugs.webkit.org/show_bug.cgi?id=77960

        Adds simple number/percent expression evaluation. rgb() and hsl() functions now
        allow simple calc() expressions.

        Reviewed by Ojan Vafai.

        * css/CSSCalculationValue.cpp:
        (WebCore):
        (WebCore::CSSCalcValue::doubleValue):
        (WebCore::CSSCalcPrimitiveValue::doubleValue):
        (WebCore::CSSCalcBinaryOperation::doubleValue):
        (CSSCalcBinaryOperation):
        (WebCore::CSSCalcBinaryOperation::evaluate):
        * css/CSSCalculationValue.h:
        (CSSCalcExpressionNode):
        (WebCore::CSSCalcValue::isInt):
        (CSSCalcValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parsedDouble):

2012-02-07  Andreas Kling  <awesomekling@apple.com>

        REGRESSION(r106668-r106889): Chromium page cycler tests (Intl2) performance regressions.
        <http://webkit.org/b/78068>

        Reviewed by Ryosuke Niwa.

        Create CSS_IDENT values for attribute styles in the document's CSSValuePool.
        This regressed in r106756 and I suspect it'll fix up the cycler regression.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSProperty):

2012-02-07  Noel Gordon  <noel.gordon@gmail.com>

        Remove TextureMapperQt from the gyp projects
        https://bugs.webkit.org/show_bug.cgi?id=78055

        Reviewed by Noam Rosenthal.

        TextureMapperQt.{cpp,h} were removed in r106659, remove references to
        these files from the gyp projects.

        * WebCore.gypi:

2012-02-07  Tony Chang  <tony@chromium.org>

        merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
        https://bugs.webkit.org/show_bug.cgi?id=78036

        Reviewed by Darin Adler.

        In r89362, we started running the preprocessor through CSSPropertyNames.in.
        Now we can move DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
        and wrap it in an #if.

        No new tests, build refactoring.

        * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
        * DerivedSources.make: Remove DashboardSupportCSSPropertyNames.in.
        * DerivedSources.pri: Remove DashboardSupportCSSPropertyNames.in.
        * WebCore.xcodeproj/project.pbxproj: Remove DashboardSupportCSSPropertyNames.in.
        * css/CSSPropertyNames.in: Wrap -webkit-dashboard-region in an #if.
        * css/DashboardSupportCSSPropertyNames.in: Removed.

2012-02-07  Xingnan Wang  <xingnan.wang@intel.com>

        Enable IPP for FFTFrame
        https://bugs.webkit.org/show_bug.cgi?id=75522

        Reviewed by Tony Chang.

        Add the FFTFrame implementation using Intel IPP's DFT algorithm.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/audio/FFTFrame.h:
        (FFTFrame):
        * platform/audio/FFTFrameStub.cpp:
        * platform/audio/ipp/FFTFrameIPP.cpp: Added.
        (WebCore):
        (WebCore::FFTFrame::FFTFrame):
        (WebCore::FFTFrame::initialize):
        (WebCore::FFTFrame::cleanup):
        (WebCore::FFTFrame::~FFTFrame):
        (WebCore::FFTFrame::multiply):
        (WebCore::FFTFrame::doFFT):
        (WebCore::FFTFrame::doInverseFFT):
        (WebCore::FFTFrame::realData):
        (WebCore::FFTFrame::imagData):
        (WebCore::FFTFrame::getUpToDateComplexData):

2012-02-07  Adrienne Walker  <enne@google.com>

        Properly detect top level frames when propogating compositing
        https://bugs.webkit.org/show_bug.cgi?id=78033

        Reviewed by James Robinson.

        There's no need to enumerate all tag names when searching for a
        top-level frame. If a render view's document has a frame, then that
        frame is not the top-level one.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):

2012-02-07  Chris Palmer  <palmer@google.com>

        Resolve crash in FrameLoader::checkTimerFired.
        https://bugs.webkit.org/show_bug.cgi?id=77907

        Reviewed by Eric Seidel.

        Test is LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkTimerFired):

2012-02-07  Yong Li  <yoli@rim.com>

        [BlackBerry] NetworkJob should stop redirecting when the request is cleared by client
        https://bugs.webkit.org/show_bug.cgi?id=78029

        Reviewed by Rob Buis.

        When a redirect is rejected by security origin check, the ResourceRequest
        will be cleared (see DocumentThreadableLoader::redirectReceived()). In this
        case, we should stop handling the request.

        No new tests because existing tests (like http:/tests/xmlhttprequest/redirect-cross
        -origin-tripmine.html) can cover this.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::startNewJobWithRequest):

2012-02-07  David Barton  <dbarton@mathscribe.com>

        Remove extraneous MathML code before bug 52444 fix
        https://bugs.webkit.org/show_bug.cgi?id=78034

        Reviewed by Eric Seidel.
        
        Per Darin Adler, I am breaking up the patch fixing bug 52444 into smaller pieces.
        This patch removes a couple unused functions, some extra blank lines, unused #include
        directives, etc., and adds a very few WebKit-standard changes to these files.

        No new tests.

        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore):
        * rendering/mathml/RenderMathMLBlock.h:
        (WebCore::RenderMathMLBlock::getBoxModelObjectHeight):
            - changed to a static member function since 'this' is unused;
              removed redundant non-const version
        (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
            - changed to a static member function since 'this' is unused;
              removed redundant non-const version
        (WebCore):
        * rendering/mathml/RenderMathMLFraction.cpp:
        * rendering/mathml/RenderMathMLMath.cpp:
        * rendering/mathml/RenderMathMLMath.h:
        * rendering/mathml/RenderMathMLOperator.h:
        (WebCore):
        * rendering/mathml/RenderMathMLRoot.cpp:
        * rendering/mathml/RenderMathMLRow.cpp:
        * rendering/mathml/RenderMathMLRow.h:
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        * rendering/mathml/RenderMathMLSquareRoot.h:
        * rendering/mathml/RenderMathMLSubSup.cpp:
        * rendering/mathml/RenderMathMLSubSup.h:
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        * rendering/mathml/RenderMathMLUnderOver.h:

2012-02-07  David Reveman  <reveman@chromium.org>

        [Chromium] REGRESSION(r101854): Causing large amounts of unnecessary repainting.
        https://bugs.webkit.org/show_bug.cgi?id=78020

        Reviewed by James Robinson.

        Revert r101854.

        This patch is tested by the following unit test:
        - TextureManagerTest.requestTextureExceedingPreferredLimit

        * platform/graphics/chromium/ManagedTexture.cpp:
        (WebCore::ManagedTexture::reserve):
        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::requestTexture):
        * platform/graphics/chromium/TextureManager.h:
        (TextureManager):

2012-02-07  Anders Carlsson  <andersca@apple.com>

        Use the non-fast-scrollable region to detect when we can't do fast scrolling
        https://bugs.webkit.org/show_bug.cgi?id=78056
        <rdar://problem/10247932>

        Reviewed by Sam Weinig.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
        Actually set the non-fast scrollable region on the scrolling tree state.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::tryToHandleWheelEvent):
        Check if the wheel event's position is inside the non-fast-scrollable region
        and return false if it is.

        (WebCore::ScrollingTree::updateMainFrameScrollPosition):
        Store the cached main frame scroll position so we can use it in tryToHandleWheelEvent.

        * platform/graphics/Region.cpp:
        * platform/graphics/Region.h:
        Add a simple contains(const IntPoint&) member function.

2012-02-07  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10475450> Synthetic bold is illegible under some scaling transforms
        https://bugs.webkit.org/show_bug.cgi?id=78044

        Reviewed by Beth Dakin.

        Tests: fast/text/synthetic-bold-transformed-expected.html
               fast/text/synthetic-bold-transformed.html

        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs): Changed to interpret syntheticBoldOffset as a length in device pixels.

2012-02-07  Levi Weintraub  <leviw@chromium.org>

        Update LayoutUnit usage in ColumnInfo and RenderFrameSet
        https://bugs.webkit.org/show_bug.cgi?id=77914

        Reviewed by Eric Seidel.

        Updating ColumnInfo and RenderFrameSet to use LayoutUnits
        instead of directly referencing integers for locations and
        distances.

        No new tests. No changed behavior.

        * rendering/ColumnInfo.h:
        (WebCore::ColumnInfo::forcedBreakOffset):
        (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
        (ColumnInfo):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::paintColumnBorder):
        (WebCore::RenderFrameSet::paintRowBorder):
        * rendering/RenderFrameSet.h:
        (RenderFrameSet):

2012-02-07  Adam Klein  <adamk@chromium.org>

        Add JSC support for delivering mutations when the outermost script context exits
        https://bugs.webkit.org/show_bug.cgi?id=70289

        Reviewed by Eric Seidel.

        The meat of this change is in JSMainThreadExecState, where a counter
        is incremented every time WebCore calls into JSC and decremented every
        time it returns. When the counter reaches zero, any pending mutations
        are delivered (this mirrors very similar code in V8Proxy and V8RecursionScope).

        The rest of the changes are of two sorts: compilation/logic fixes for
        JSC code when ENABLE(MUTATION_OBSERVERS) is true, and additional
        usages of JSMainThreadExecState so as to trigger the above
        increment/decrements at the appropriate times.

        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        Use JSMainThreadExecState instead of JSC::call.
        * bindings/js/JSDictionary.cpp:
        (WebCore::JSDictionary::convertValue): Add support
        for tryGetProperty with a HashMap<AtomicString>.
        * bindings/js/JSDictionary.h:
        * bindings/js/JSErrorHandler.cpp:
        (WebCore::JSErrorHandler::handleEvent):
        Use JSMainThreadExecState instead of JSC::call.
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        Use JSMainThreadExecState instead of JSC::call.
        * bindings/js/JSMainThreadExecState.cpp:
        (WebCore::JSMainThreadExecState::didLeaveScriptContext):
        * bindings/js/JSMainThreadExecState.h:
        (WebCore::JSMainThreadExecState::JSMainThreadExecState):
        Increment a static recursion level counter.
        (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
        Decrement a static recursion level counter and, if we are
        at zero (the outermost script invocation), deliver any
        outstanding mutation records.
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):
        Use JSMainThreadExecState instead of JSC::call.
        * bindings/js/JSWebKitMutationObserverCustom.cpp:
        (WebCore::JSWebKitMutationObserver::observe):
        Fix JSDictionary logic, add support for attributeFilter.

2012-02-07  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::scrollableAreaBoundingBox):

2012-02-07  Levi Weintraub  <leviw@chromium.org>

        [SVG] Use element disappears after scripted change
        https://bugs.webkit.org/show_bug.cgi?id=74392

        Reviewed by Eric Seidel.

        Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
        SVGUseElements to not update the shadow root's style, and therefor not render
        correctly.

        Test: svg/custom/use-disappears-after-style-update.svg

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::didRecalcStyle):

2012-02-07  Kentaro Hara  <haraken@chromium.org>

        Rename [v8OnProto] IDL attribute to [V8OnProto] IDL attribute
        https://bugs.webkit.org/show_bug.cgi?id=77973

        Reviewed by Adam Barth.

        This patch renames [v8OnProto] to [V8OnProto], since V8 specific IDL
        attributes should be prefixed by "V8".

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateNormalAttrSetter):
        (GenerateSingleBatchedAttribute):
        (GenerateImplementation):

2011-10-10  Jer Noble  <jer.noble@apple.com>

        media/audio-data-url.html test broken on Lion
        https://bugs.webkit.org/show_bug.cgi?id=69779

        Reviewed by Eric Carlson.

        Do not use "OpenForPlayback" attribute on data:// urls, as CoreMedia/QuickTime X cannot
        handle those URLs.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::createQTMovie):

2012-02-07  Anders Carlsson  <andersca@apple.com>

        Scrolling tree should keep track of region we can't do fast scrolling for
        https://bugs.webkit.org/show_bug.cgi?id=78050

        Reviewed by Dan Bernstein.

        We currently won't do fast scrolling for subframes and other types of scrollable areas.
        Because of this, we'll have the scrolling tree keep a region of the page for which we can't
        do fast scrolling. This region will be updated after layout.

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollableAreaBoundingBox):
        Return the bounding box.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
        Go through all the scrollable areas in this frame view and compute the region which we can't do
        fast scrolling for.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::commitNewTreeState):
        Update the non-fast-scrollable region.

        * page/scrolling/ScrollingTreeState.cpp:
        (WebCore::ScrollingTreeState::setNonFastScrollableRegion):
        Set the non-fast-scrollable region if it's changed.

        * platform/ScrollableArea.h:
        Add scrollableAreaBoundingBox member function.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollableAreaBoundingBox):
        Return the bounding box.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::scrollableAreaBoundingBox):
        Return the bounding box.

2012-02-07  Levi Weintraub  <leviw@chromium.org>

        unicode-bidi:plaintext is supposed to be effective on display:inline elements too
        https://bugs.webkit.org/show_bug.cgi?id=73310

        Reviewed by Eric Seidel.

        Adding support for unicode-bidi: plaintext as a property on inlines. These are treated
        like unicode-bidi: isolate with the addition of their directionality being determined
        by the UBA.

        Tests: fast/text/international/inline-plaintext-is-isolated-expected.html
               fast/text/international/inline-plaintext-is-isolated.html
               fast/text/international/inline-plaintext-relayout-with-leading-neutrals-expected.html
               fast/text/international/inline-plaintext-relayout-with-leading-neutrals.html
               fast/text/international/inline-plaintext-with-generated-content-expected.html
               fast/text/international/inline-plaintext-with-generated-content.html

        * platform/text/UnicodeBidi.h:
        (WebCore::isIsolated): Added this convenience function as Plaintext and Isolate Unicode-Bidi values
        are both treated as isolated content.
        * rendering/InlineIterator.h:
        (WebCore::notifyObserverEnteredObject): Inline now supports Unicode-Bidi Plaintext.
        (WebCore::notifyObserverWillExitObject): Ditto.
        (WebCore::bidiFirstSkippingEmptyInlines): Changed to support being called without a resolver.
        (WebCore::isIsolatedInline): Inline now supports Unicode-Bidi: Plaintext.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::determineDirectionality): Generalized for inlines.
        (WebCore::constructBidiRuns): Added support for Unicode-Bidi: Plaintext as an isolated inline.
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Fixed comment.
        (WebCore::RenderBlock::determineStartPosition): Fixed comment and switched to updated
        bidiFirstSkippingEmptyInlines.

2012-02-07  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] Use the [IsWorkerContext] IDL in CodeGeneratorV8.pm
        https://bugs.webkit.org/show_bug.cgi?id=77957

        Reviewed by Adam Barth.

        This patch replaces IsSubType("WorkerContext") and something equivalent that
        with the [IsWorkerContext] IDL.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GetInternalFields):
        (GenerateConstructorGetter):
        (GenerateImplementation):

2012-02-07  David Reveman  <reveman@chromium.org>

        [Chromium] Crash when using per-tile painting on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=75715

        Reviewed by James Robinson.

        PlatformCanvas constructor on win32 expects forth argument to be a
        shared section handle. Passing a pointer to a system memory causes
        it to crash. Fix this by not using the PlatformCanvas API for
        SkCanvas construction in per-tile texture uploader.

        Tested with manual tests.

        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
        (Texture):

2012-02-07  Jer Noble  <jer.noble@apple.com>

        Unreviewed build fix; make OSStatus the explicit return type for CMTimebase functions.

        * platform/mac/PlatformClockCM.mm:

2012-02-07  James Robinson  <jamesr@chromium.org>

        [chromium] Allow retaining texture across frames in composited video playback and correctly handle lost context
        https://bugs.webkit.org/show_bug.cgi?id=77923

        Reviewed by Kenneth Russell.

        Thanks to r106840, we can improve the video playback mode a bit. Instead of creating a new texture on every
        frame, this attempts to reuse the texture from the previous frame unless the context is lost. Also improves
        error checking in case the TextureManager cannot successfully reserve memory for the texture.

        Tested manually by killing the GPU process with an html5 video playing and verifying that the video playback
        continues and that we don't create a new set of textures for each plane on each frame.

        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::draw):
        (WebCore::CCVideoLayerImpl::reserveTextures):

2012-02-07  Matthew Delaney  <mdelaney@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=77912
        Removing old CG shadow code.
        
        A CG-specific shadow offset hack was added in http://trac.webkit.org/changeset/34317
        for this particular setShadow method. However, this shadow offset adjustment for CG
        has since moved down into platform specific code. Thus, this offset adjustment here
        is now redundant.

        The CG-only shadow setting code block in this setShadow method is now redundant.
        Since it sets the shadow values to the CGContext directly - and not to the State object -
        it will be overwritten later by any subsequent calls to setting shadow values such as
        blur, offset, or shadow color.

        Reviewed by Simon Fraser.

        No new tests. Current canvas tests cover this path.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setShadow):

2012-02-07  James Robinson  <jamesr@chromium.org>

        [chromium] Gracefully handle compositor initialization failure in single-threaded proxy
        https://bugs.webkit.org/show_bug.cgi?id=78013

        Reviewed by Kenneth Russell.

        If compositor initialization fails it's not safe to proceed through the rest of the frame process. This adds
        some early outs.

        Tested manually by forcing the first makeContextCurrent() call fail.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::updateLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::compositeAndReadback):
        (WebCore::CCSingleThreadProxy::compositeImmediately):
        (WebCore::CCSingleThreadProxy::commitIfNeeded):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):

2012-02-07  Brady Eidson  <beidson@apple.com>

        <rdar://problem/9567286> and https://bugs.webkit.org/show_bug.cgi?id=78003
        WebKit associates credentials with the wrong site if the authentication challenge takes place after a redirect chain

        Reviewed by Alexey Proskuryakov.

        Test: http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html

        Associate the credential with the URL of the challenge itself, not the original request:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 
        (WebCore::ResourceHandle::receivedCredential):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        (WebCore::ResourceHandle::receivedCredential):

2012-02-07  Tony Chang  <tony@chromium.org>

        move warning about css values and render style constants closer to where it applies
        https://bugs.webkit.org/show_bug.cgi?id=78017

        Reviewed by Darin Adler.

        Move the warning about keeping RenderStyleConstnats.h enums and
        CSSValueKeywords.in values in the same order closer to the properties
        that the warning applies to. The warning was easy to miss and was
        confusing since it doesn't apply to most values.

        Also refactor 2 conversion functions to
        enumerate the possible values so the order doesn't matter.

        No new tests, just refactoring and comment cleanup.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::operator EListStylePosition): Name all possible values and add a NOT_REACHED().
        (WebCore::CSSPrimitiveValue::operator EUserModify): Name all possible values and add a NOT_REACHED().
        * css/CSSValueKeywords.in:
        * css/SVGCSSPropertyNames.in:
        * css/SVGCSSValueKeywords.in:
        * rendering/style/RenderStyleConstants.h:

2012-02-06  Jer Noble  <jer.noble@apple.com>

        Use CMClock as a timing source for PlatformClock where available.
        https://bugs.webkit.org/show_bug.cgi?id=77885

        Reviewed by Eric Carlson.

        No new tests; performance improvement covered by existing test cases.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/Clock.cpp:
        (Clock::create): Use PlatformClockCM if available.
        * platform/mac/PlatformClockCM.h: Added.
        (WebCore::PlatformClockCM::playRate):
        (WebCore::PlatformClockCM::isRunning):
        * platform/mac/PlatformClockCM.mm: Added.
        (PlatformClockCM::PlatformClockCM):
        (PlatformClockCM::initializeWithTimingSource):
        (PlatformClockCM::setCurrentTime):
        (PlatformClockCM::currentTime):
        (PlatformClockCM::setPlayRate):
        (PlatformClockCM::start):
        (PlatformClockCM::stop):

2012-02-06  Anders Carlsson  <andersca@apple.com>

        ScrollableAreaSet should be moved from Page to FrameView
        https://bugs.webkit.org/show_bug.cgi?id=62762

        Reviewed by Beth Dakin.

        It makes more sense for the set of scrollable areas to be per frame view instead of per page;
        scrollable areas are associated with a containing frame view and their lifecycle follows the lifecycle of the
        frame view much more closely. This could even fix a bunch of crashes where a scrollable area outlived its containing page.

        * WebCore.exp.in:
        Replace the Page member functions with FrameView member functions instead.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::mouseMoved):
        Check if the frame view contains the given layer.

        (WebCore::EventHandler::updateMouseEventTargetNode):
        Ditto.

        * page/FocusController.cpp:
        (WebCore::contentAreaDidShowOrHide):
        Add helper function.

        (WebCore::FocusController::setContainingWindowIsVisible):
        Call contentAreaDidShowOrHide for the main frame view, and for all scrollable areas
        inside all subframe views.

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        Use early returns to make the code more clear. Also, don't add the scrollable area to the set here.

        (WebCore::FrameView::~FrameView):
        Don't remove the scrollable area here.

        (WebCore::FrameView::zoomAnimatorTransformChanged):
        m_page is gone so use m_frame->page() instead.

        (WebCore::FrameView::setAnimatorsAreActive):
        Call ScrollAnimator::setIsActive for all the scrollable areas in this frame view. Previously we used to do
        this for all scrollable areas on the page, but since setAnimatorsAreActive will be called for each document,
        this will be done implicitly.

        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
        Call ScrollableArea::contentDidPaint for this frame view and all its immediate scrollable areas. Previously, we used
        to do this for all scrollable areas on the page, but we only need to do it for this frame view.

        (WebCore::FrameView::scrollAnimatorEnabled):
        Get the page from m_frame since m_page is gone.

        (WebCore::FrameView::addScrollableArea):
        (WebCore::FrameView::removeScrollableArea):
        (WebCore::FrameView::containsScrollableArea):
        Move these member functions here from Page.

        (WebCore::FrameView::addChild):
        If we are adding a frame view, add it to the scrollable area set.

        (WebCore::FrameView::removeChild):
        If we are removing a frame view, remove it from the scrollable area set.

        * page/FrameView.h:
        Move the member function declarations and the scrollable area set member variable here from Page.

        * page/Page.cpp:
        (WebCore::Page::~Page):
        Don't call disconnectPage on the scrollable areas anymore.

        * platform/ScrollView.h:
        (ScrollView):
        Make addChild and removeChild virtual.

        * platform/ScrollableArea.h:
        Remove disconnectFromPage.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::styleChanged):
        The frame view now keeps track of the scrollable areas.

        * rendering/RenderLayer.h:
        Remove the page member variable and disconnectFromPage.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::RenderListBox):
        (WebCore::RenderListBox::~RenderListBox):
        The frame view now keeps track of the scrollable areas.

        * rendering/RenderListBox.h:
        Remove the page member variable and disconnectFromPage.

2012-02-07  Matthew Delaney  <mdelaney@apple.com>

        Remove redundant checks in CanvasRenderingContext2D.cpp
        https://bugs.webkit.org/show_bug.cgi?id=78000

        Reviewed by Dan Bernstein.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setShadowColor):
        (WebCore::CanvasRenderingContext2D::setShadow):
        (WebCore::CanvasRenderingContext2D::drawImage):

2012-02-07  Abhishek Arya  <inferno@chromium.org>

        Crash in ContainerNode functions due to mutation events.
        https://bugs.webkit.org/show_bug.cgi?id=77999

        Reviewed by Ryosuke Niwa.

        Add RefPtr to protect premature deletion of this due to mutation events.

        Tests: fast/dom/remove-body-during-body-replacement.html
               fast/dom/remove-body-during-body-replacement2.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::removeChild):
        (WebCore::ContainerNode::appendChild):

2012-02-07  Dana Jansens  <danakj@chromium.org>

        [Chromium] Memory bug during occlusion tracking if Vector::append() needs to reallocate the buffer
        https://bugs.webkit.org/show_bug.cgi?id=77996

        Reviewed by James Robinson.

        We're holding onto the last element in the Vector and then calling
        append(). If append() reallocates the Vector's buffer, the pointer
        is no longer valid.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::enterTargetRenderSurface):

2012-02-07  Abhishek Arya  <inferno@chromium.org>

        Crash due to column style not updated on post block
        in splitInlines.
        https://bugs.webkit.org/show_bug.cgi?id=77939

        Reviewed by Julien Chaffraix.

        Test: fast/multicol/span/split-inline-wrong-post-block-crash.html

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::splitFlow):

2012-02-07  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: extend Array validator functionality
        https://bugs.webkit.org/show_bug.cgi?id=77919

        Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-07
        Reviewed by Yury Semikhatsky.

        Array validator method runtimeCast is added, internal backing method
        is moved from .cpp to .h (it's template anyway), boolean validator is
        supported.

        * inspector/CodeGeneratorInspector.py:
        (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
        (RawTypes.Bool.get_validate_method_params):
        (TypeBuilder):

2012-02-07  Dean Jackson  <dino@apple.com>

        Apple/Safari: Enable WebGL multisampling on ATI cards
        for OS X 10.7.2 and above.
        https://bugs.webkit.org/show_bug.cgi?id=77922

        Address review comments by Alexey Proskuryakov and Mark Rowe.

        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::systemAllowsMultisamplingOnATICards):

2012-02-07  Dean Jackson  <dino@apple.com>

        Apple/Safari: Enable WebGL multisampling on ATI cards
        for OS X 10.7.2 and above.
        https://bugs.webkit.org/show_bug.cgi?id=77922

        Reviewed by Chris Marrin.

        Follow Chrome's lead to allow WebGL antialiasing
        on ATI cards as long as we're on 10.7.2 and above.

        No new tests. Covered by existing tests.

        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::systemAllowsMultisamplingOnATICards):
        (WebCore):
        (WebCore::GraphicsContext3D::validateAttributes):

2012-02-07  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: add generic support for undo-ing DOM edits.
        https://bugs.webkit.org/show_bug.cgi?id=77875

        Reviewed by Yury Semikhatsky.

        This change introduces InspectorHistory::Action that encapsulates all DOM modifications
        initiated by the inspector. There is a way to undo these actions up until the undoable
        state marker.

        Tests: inspector/elements/undo-dom-edits-2.html
               inspector/elements/undo-dom-edits.html
               inspector/styles/undo-add-property.html
               inspector/styles/undo-change-property.html
               inspector/styles/undo-property-toggle.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/Inspector.json:
        * inspector/InspectorAllInOne.cpp:
        * inspector/InspectorCSSAgent.cpp:
        (InspectorCSSAgent::StyleSheetAction):
        (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
        (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
        (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
        (WebCore):
        (InspectorCSSAgent::SetStyleSheetTextAction):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
        (InspectorCSSAgent::SetPropertyTextAction):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
        (InspectorCSSAgent::TogglePropertyAction):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
        (WebCore::InspectorCSSAgent::getStyleSheetText):
        (WebCore::InspectorCSSAgent::setStyleSheetText):
        (WebCore::InspectorCSSAgent::setPropertyText):
        (WebCore::InspectorCSSAgent::toggleProperty):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * inspector/InspectorDOMAgent.cpp:
        (InspectorDOMAgent::DOMAction):
        (WebCore::InspectorDOMAgent::DOMAction::DOMAction):
        (WebCore::InspectorDOMAgent::DOMAction::perform):
        (WebCore::InspectorDOMAgent::DOMAction::undo):
        (WebCore):
        (InspectorDOMAgent::RemoveChildAction):
        (WebCore::InspectorDOMAgent::RemoveChildAction::RemoveChildAction):
        (WebCore::InspectorDOMAgent::RemoveChildAction::perform):
        (WebCore::InspectorDOMAgent::RemoveChildAction::undo):
        (InspectorDOMAgent::InsertBeforeAction):
        (WebCore::InspectorDOMAgent::InsertBeforeAction::InsertBeforeAction):
        (WebCore::InspectorDOMAgent::InsertBeforeAction::perform):
        (WebCore::InspectorDOMAgent::InsertBeforeAction::undo):
        (InspectorDOMAgent::RemoveAttributeAction):
        (WebCore::InspectorDOMAgent::RemoveAttributeAction::RemoveAttributeAction):
        (WebCore::InspectorDOMAgent::RemoveAttributeAction::perform):
        (WebCore::InspectorDOMAgent::RemoveAttributeAction::undo):
        (InspectorDOMAgent::SetAttributeAction):
        (WebCore::InspectorDOMAgent::SetAttributeAction::SetAttributeAction):
        (WebCore::InspectorDOMAgent::SetAttributeAction::perform):
        (WebCore::InspectorDOMAgent::SetAttributeAction::undo):
        (InspectorDOMAgent::SetOuterHTMLAction):
        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::perform):
        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::newNode):
        (InspectorDOMAgent::ReplaceWholeTextAction):
        (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::ReplaceWholeTextAction):
        (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::perform):
        (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::undo):
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::reset):
        (WebCore::InspectorDOMAgent::setAttributeValue):
        (WebCore::InspectorDOMAgent::setAttributesAsText):
        (WebCore::InspectorDOMAgent::removeAttribute):
        (WebCore::InspectorDOMAgent::removeNode):
        (WebCore::InspectorDOMAgent::setNodeName):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::setNodeValue):
        (WebCore::InspectorDOMAgent::moveTo):
        (WebCore::InspectorDOMAgent::undo):
        (WebCore::InspectorDOMAgent::markUndoableState):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::history):
        * inspector/InspectorHistory.cpp: Added.
        (WebCore::InspectorHistory::Action::Action):
        (WebCore):
        (WebCore::InspectorHistory::Action::~Action):
        (WebCore::InspectorHistory::Action::toString):
        (WebCore::InspectorHistory::Action::isUndoableStateMark):
        (WebCore::InspectorHistory::Action::mergeId):
        (WebCore::InspectorHistory::Action::merge):
        (WebCore::InspectorHistory::InspectorHistory):
        (WebCore::InspectorHistory::~InspectorHistory):
        (WebCore::InspectorHistory::perform):
        (WebCore::InspectorHistory::markUndoableState):
        (WebCore::InspectorHistory::undo):
        (WebCore::InspectorHistory::reset):
        * inspector/InspectorHistory.h: Added.
        (WebCore):
        (InspectorHistory):
        (Action):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyle::styleText):
        (WebCore::InspectorStyleSheet::addRule):
        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
        (WebCore::InspectorStyleSheet::buildObjectForStyle):
        (WebCore::InspectorStyleSheet::setPropertyText):
        (WebCore::InspectorStyleSheet::getText):
        (WebCore::InspectorStyleSheetForInlineStyle::getText):
        * inspector/InspectorStyleSheet.h:
        (InspectorStyle):
        (InspectorStyleSheet):
        (InspectorStyleSheetForInlineStyle):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSProperty.prototype.setText):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
        (WebInspector.ElementsPanel.prototype._updateSidebars):
        (WebInspector.ElementsPanel.prototype.handleShortcut):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertyTreeElement):
        (WebInspector.StylePropertyTreeElement.prototype):

2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106935.
        http://trac.webkit.org/changeset/106935
        https://bugs.webkit.org/show_bug.cgi?id=77994

        "Crashes runMultiThread webkit_unit_test" (Requested by tonyg-
        cr on #webkit).

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setNeedsRedraw):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::setNeedsRedraw):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::setNeedsRedraw):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106932.
        http://trac.webkit.org/changeset/106932
        https://bugs.webkit.org/show_bug.cgi?id=77988

        Breaks Mac bots (Requested by pfeldman on #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/Inspector.json:
        * inspector/InspectorAllInOne.cpp:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getStyleSheetText):
        (WebCore::InspectorCSSAgent::setStyleSheetText):
        (WebCore::InspectorCSSAgent::setPropertyText):
        (WebCore::InspectorCSSAgent::toggleProperty):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::reset):
        (WebCore::InspectorDOMAgent::setAttributeValue):
        (WebCore::InspectorDOMAgent::setAttributesAsText):
        (WebCore::InspectorDOMAgent::removeAttribute):
        (WebCore::InspectorDOMAgent::removeNode):
        (WebCore::InspectorDOMAgent::setNodeName):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::setNodeValue):
        (WebCore::InspectorDOMAgent::moveTo):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        * inspector/InspectorHistory.cpp: Removed.
        * inspector/InspectorHistory.h: Removed.
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyle::styleText):
        (WebCore::InspectorStyleSheet::addRule):
        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
        (WebCore::InspectorStyleSheet::buildObjectForStyle):
        (WebCore::InspectorStyleSheet::setPropertyText):
        (WebCore::InspectorStyleSheet::text):
        (WebCore::InspectorStyleSheetForInlineStyle::text):
        * inspector/InspectorStyleSheet.h:
        (InspectorStyle):
        (InspectorStyleSheet):
        (InspectorStyleSheetForInlineStyle):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSProperty.prototype.setText):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
        (WebInspector.ElementsPanel.prototype.handleShortcut):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertyTreeElement):
        (WebInspector.StylePropertyTreeElement.prototype):

2012-02-07  Priit Laes  <plaes@plaes.org>

        [GTK] Build failure with --enable-web-audio
        https://bugs.webkit.org/show_bug.cgi?id=77978

        Reviewed by Gustavo Noronha Silva.

        * GNUmakefile.list.am: Include AudioSourceProviderClient.h

2012-02-07  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: fix objects duplication when switching filter in heap profiler.
        https://bugs.webkit.org/show_bug.cgi?id=77974

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):

2012-02-07  Jonathan Backer  <backer@chromium.org>

        [chromium] Add setNeedsRedraw to WebWidget
        https://bugs.webkit.org/show_bug.cgi?id=77555

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setNeedsRedraw):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::setNeedsRedraw):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::setNeedsRedraw):
        (WebCore::CCThreadProxy::resetDamageTrackerOnImplThread):
        (WebCore):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-02-07  Michael Brüning  <michael.bruning@nokia.com>

        [Qt][WK2] Compute and set cache capacities using the current CacheModel
        https://bugs.webkit.org/show_bug.cgi?id=73918

        Reviewed by Kenneth Rohde Christiansen.

        No new tests. (build fix)

        * platform/qt/FileSystemQt.cpp:
        (WebCore::getVolumeFreeSizeForPath):

2012-02-07  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: add generic support for undo-ing DOM edits.
        https://bugs.webkit.org/show_bug.cgi?id=77875

        Reviewed by Yury Semikhatsky.

        This change introduces InspectorHistory::Action that encapsulates all DOM modifications
        initiated by the inspector. There is a way to undo these actions up until the undoable
        state marker.

        Tests: inspector/elements/undo-dom-edits-2.html
               inspector/elements/undo-dom-edits.html
               inspector/styles/undo-add-property.html
               inspector/styles/undo-change-property.html
               inspector/styles/undo-property-toggle.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/Inspector.json:
        * inspector/InspectorAllInOne.cpp:
        * inspector/InspectorCSSAgent.cpp:
        (InspectorCSSAgent::StyleSheetAction):
        (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
        (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
        (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
        (WebCore):
        (InspectorCSSAgent::SetStyleSheetTextAction):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
        (InspectorCSSAgent::SetPropertyTextAction):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
        (InspectorCSSAgent::TogglePropertyAction):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
        (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
        (WebCore::InspectorCSSAgent::getStyleSheetText):
        (WebCore::InspectorCSSAgent::setStyleSheetText):
        (WebCore::InspectorCSSAgent::setPropertyText):
        (WebCore::InspectorCSSAgent::toggleProperty):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::reset):
        (WebCore::InspectorDOMAgent::setAttributeValue):
        (WebCore::InspectorDOMAgent::setAttributesAsText):
        (WebCore::InspectorDOMAgent::removeAttribute):
        (WebCore::InspectorDOMAgent::removeNode):
        (WebCore::InspectorDOMAgent::setNodeName):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::setNodeValue):
        (WebCore::InspectorDOMAgent::moveTo):
        (WebCore::InspectorDOMAgent::undo):
        (WebCore):
        (WebCore::InspectorDOMAgent::markUndoableState):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::history):
        * inspector/InspectorHistory.cpp: Added.
        (WebCore::InspectorHistory::Action::Action):
        (WebCore):
        (WebCore::InspectorHistory::Action::~Action):
        (WebCore::InspectorHistory::Action::toString):
        (WebCore::InspectorHistory::Action::isUndoableStateMark):
        (WebCore::InspectorHistory::Action::mergeId):
        (WebCore::InspectorHistory::Action::merge):
        (WebCore::InspectorHistory::InspectorHistory):
        (WebCore::InspectorHistory::~InspectorHistory):
        (WebCore::InspectorHistory::perform):
        (WebCore::InspectorHistory::markUndoableState):
        (WebCore::InspectorHistory::undo):
        (WebCore::InspectorHistory::reset):
        * inspector/InspectorHistory.h: Added.
        (WebCore):
        (InspectorHistory):
        (Action):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyle::styleText):
        (WebCore::InspectorStyleSheet::addRule):
        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
        (WebCore::InspectorStyleSheet::buildObjectForStyle):
        (WebCore::InspectorStyleSheet::setPropertyText):
        (WebCore::InspectorStyleSheet::getText):
        (WebCore::InspectorStyleSheetForInlineStyle::getText):
        * inspector/InspectorStyleSheet.h:
        (InspectorStyle):
        (InspectorStyleSheet):
        (InspectorStyleSheetForInlineStyle):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSProperty.prototype.setText):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
        (WebInspector.ElementsPanel.prototype._updateSidebars):
        (WebInspector.ElementsPanel.prototype.handleShortcut):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertyTreeElement):
        (WebInspector.StylePropertyTreeElement.prototype):

2012-02-07  Chris Guan  <chris.guan@torchmobile.com.cn>

        [Blackberry] Clean up Networkjob and Networkmanger: remove unused variables in release build and change some public functions into be private ones
        https://bugs.webkit.org/show_bug.cgi?id=77926

        Reviewed by Rob Buis.

        1. rename clientIsOk to isClientAvailable.
        2. m_isRunning is only for an ASSERT in NetWorkManager, So move out from
        release build but keep available in debug build.
        
        No changes in behavior, so no new tests.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::NetworkJob):
        (WebCore::NetworkJob::handleNotifyDataReceived):
        (WebCore::NetworkJob::handleNotifyDataSent):
        (WebCore::NetworkJob::handleNotifyClose):
        (WebCore::NetworkJob::startNewJobWithRequest):
        (WebCore::NetworkJob::sendResponseIfNeeded):
        (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
        * platform/network/blackberry/NetworkJob.h:
        (NetworkJob):
        (WebCore::NetworkJob::isClientAvailable):

2012-02-06  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: don't mark object is queriable if it is only reachable by internal reference
        https://bugs.webkit.org/show_bug.cgi?id=77877

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):

2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106909.
        http://trac.webkit.org/changeset/106909
        https://bugs.webkit.org/show_bug.cgi?id=77965

        ~20 tests are crashing on chromium win release bot. (Requested
        by loislo on #webkit).

        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::createShadowSubtree):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::createShadowSubtree):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::createShadowSubtree):
        * html/HTMLSummaryElement.cpp:
        (WebCore::HTMLSummaryElement::createShadowSubtree):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::createShadowSubtree):

2012-02-07  Andreas Kling  <awesomekling@apple.com>

        REGRESSION(r106819): ~28% or so performance regression on the ManInBlue HTML benchmark
        <http://webkit.org/b/77952>

        Reviewed by Andreas Kling.
        Patch by Ryosuke Niwa.

        The performance regression was caused by using ensureAttributeData() which forces the
        regeneration of invalidated attributes ("style" and SVG animatable attributes.)
        Added an ensureAttributeDataWithoutUpdate() helper that only ensures the presence
        of ElementAttributeData, not the validity of its contents. Use that when grabbing
        at an element's inline and attribute styles.

        * dom/Element.h:
        (Element):
        (WebCore::Element::ensureAttributeDataWithoutUpdate):
        * dom/StyledElement.h:
        (WebCore::StyledElement::ensureInlineStyleDecl):
        (WebCore::StyledElement::ensureAttributeStyle):

2012-02-07  Michael Brüning  <michael.bruning@nokia.com>

        [Qt][WK2] Compute and set cache capacities using the current CacheModel
        https://bugs.webkit.org/show_bug.cgi?id=73918

        Reviewed by Csaba Osztrogonác.

        No new tests. (build fix).

        * platform/qt/FileSystemQt.cpp:

2012-02-07  Michael Brüning  <michael.bruning@nokia.com>

        [Qt][WK2] Compute and set cache capacities using the current CacheModel
        https://bugs.webkit.org/show_bug.cgi?id=73918

        Reviewed by Kenneth Rohde Christiansen.

        No new tests. (Not applicable)

        Added OS-specific implementation for retrieving the free disk space.

        * platform/FileSystem.h:
        (WebCore):
        * platform/qt/FileSystemQt.cpp:
        (WebCore::getVolumeFreeSizeForPath):
        (WebCore):

2012-02-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        [Inspector] Add the Nokia N9 user agent
        https://bugs.webkit.org/show_bug.cgi?id=77949

        Reviewed by Simon Hausmann.

        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):

2012-02-07  Alexander Pavlov  <apavlov@chromium.org>

        [CRASH] bool EventHandler::dispatchSyntheticTouchEventIfEnabled(const PlatformMouseEvent& event) references a NULL pointer
        https://bugs.webkit.org/show_bug.cgi?id=77953

        Reviewed by Andreas Kling.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106912.
        http://trac.webkit.org/changeset/106912
        https://bugs.webkit.org/show_bug.cgi?id=77947

        "AppleWebKit build is broken" (Requested by haraken on
        #webkit).

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore):
        * dom/ScriptExecutionContext.h:
        (WebCore):
        (ScriptExecutionContext):
        * html/DOMURL.cpp:
        (WebCore::DOMURL::DOMURL):
        (WebCore):
        (WebCore::DOMURL::~DOMURL):
        (WebCore::DOMURL::contextDestroyed):
        (WebCore::DOMURL::createObjectURL):
        (WebCore::DOMURL::revokeObjectURL):
        * html/DOMURL.h:
        (WebCore::DOMURL::create):
        (DOMURL):
        * html/DOMURL.idl:
        * html/PublicURLManager.h: Removed.
        * page/DOMWindow.cpp:
        (WebCore):
        (WebCore::DOMWindow::webkitURL):
        * page/DOMWindow.h:
        (DOMWindow):
        * page/DOMWindow.idl:
        * workers/WorkerContext.cpp:
        (WebCore):
        (WebCore::WorkerContext::webkitURL):
        * workers/WorkerContext.h:
        (WorkerContext):
        * workers/WorkerContext.idl:

2012-02-07  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r106862.
        http://trac.webkit.org/changeset/106862
        https://bugs.webkit.org/show_bug.cgi?id=77510

        Mac build fails if we manually remove generated code

        * DerivedSources.make:
        * bindings/scripts/generate-bindings.pl:
        (generateEmptyHeaderAndCpp):
        * bindings/scripts/resolve-supplemental.pl:
        * bindings/scripts/update-idl-needs-rebuild.pl: Removed.

2012-02-07  Kaustubh Atrawalkar  <kaustubh@motorola.com>

        Migrate createObjectURL & revokeObjectURL to static (Class) methods.
        https://bugs.webkit.org/show_bug.cgi?id=74386

        Reviewed by David Levin.

        Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
        Already Existing:
            fast/files/revoke-blob-url.html
            fast/dom/window-domurl-crash.html
            fast/files/apply-blob-url-to-img.html
            fast/files/create-blob-url-crash.html
            fast/files/workers/inline-worker-via-blob-url.html

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::fileThread):
        (WebCore):
        (WebCore::ScriptExecutionContext::publicURLManager):
        * dom/ScriptExecutionContext.h:
        (WebCore):
        (ScriptExecutionContext):
        * html/DOMURL.cpp:
        (WebCore):
        (WebCore::DOMURL::createObjectURL): Changed to static.
        (WebCore::DOMURL::revokeObjectURL): ditto.
        * html/DOMURL.h:
        (DOMURL):
        (WebCore::DOMURL::create):
        * html/DOMURL.idl:
        * html/PublicURLManager.h: Added.
        (WebCore):
        (PublicURLManager):
        (WebCore::PublicURLManager::create):
        (WebCore::PublicURLManager::contextDestroyed):
        (WebCore::PublicURLManager::blobURLs):
        (WebCore::PublicURLManager::streamURLs):
        * page/DOMWindow.cpp: Removed object initialization for DOMURL.
        (WebCore):
        * page/DOMWindow.h: ditto.
        (DOMWindow):
        * page/DOMWindow.idl:
        * workers/WorkerContext.cpp:
        (WebCore):
        * workers/WorkerContext.h:
        (WorkerContext):
        * workers/WorkerContext.idl:

2012-02-03  Vsevolod Vlasov  <vsevik@chromium.org>

        http/tests/inspector/indexeddb/database-structure.html failing on chromium win/linux
        https://bugs.webkit.org/show_bug.cgi?id=77661

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore):

2012-02-07  Hayato Ito  <hayato@chromium.org>

        Fix build on Mac with '--shadow-dom'.
        https://bugs.webkit.org/show_bug.cgi?id=77940

        Reviewed by Hajime Morita.

        * WebCore.xcodeproj/project.pbxproj:

2012-02-06  Shinya Kawanaka  <shinyak@google.com>

        Stop calling Element::ensureShadowRoot() if it is used in construction phase.
        https://bugs.webkit.org/show_bug.cgi?id=77929

        Reviewed by Hajime Morita.

        ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
        So we want to remove Element::ensureShadowRoot().
        This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.

        No new tests, no change in behavior.

        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::createShadowSubtree):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::createShadowSubtree):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::createShadowSubtree):
        * html/HTMLSummaryElement.cpp:
        (WebCore::HTMLSummaryElement::createShadowSubtree):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::createShadowSubtree):

2012-02-06  Shinya Kawanaka  <shinyak@google.com>

        Remove Element::ensureShadowRoot export.
        https://bugs.webkit.org/show_bug.cgi?id=77932

        Reviewed by Hajime Morita.

        Removes Element::ensureShadowRoot export.

        No new tests, no change in behavior.

        * WebCore.exp.in:

2012-02-06  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed. Web Inspector: rename Artificial to Synthetic according to v8 patch r10614.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get isSynthetic):
        (WebInspector.HeapSnapshot.prototype._init):

2012-02-06  Hayato Ito  <hayato@chromium.org>

        Implement querySelector on ShadowRoot.
        https://bugs.webkit.org/show_bug.cgi?id=77714

        Reviewed by Dimitri Glazkov.

        * dom/SelectorQuery.cpp:
        (WebCore::nodeIsRootNodeOfTreeScope):
        (WebCore):
        (WebCore::SelectorDataList::execute):

2012-02-06  Martin Robinson  <mrobinson@igalia.com> and Nayan Kumar K  <nayankk@motorola.com>

        [GTK] Add TextureMapperGL implementation
        https://bugs.webkit.org/show_bug.cgi?id=75308

        Reviewed by Alejandro G. Castro.

        No new tests. This will be covered by accelerated compositing and
        3D CSS transform tests eventually.

        * GNUmakefile.list.am: Added some files necessary to build TextureMapperGL.
        * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added implementations.
        * platform/graphics/cairo/TextureMapperGLCairo.h: Updated member list.
        * platform/graphics/gtk/WindowGLContext.h: Added.
        * platform/graphics/gtk/WindowGLContextGLX.cpp: Added.
        * platform/graphics/opengl/TextureMapperGL.cpp: Use the GL shims on GTK.

2012-02-06  Emil A Eklund  <eae@chromium.org>

        Change baselinePosition and lineHeight to LayoutUnit
        https://bugs.webkit.org/show_bug.cgi?id=77905

        Reviewed by Eric Seidel.

        Change the virtual baselinePosition and lineHeight methods to return
        LayoutUnits as they are both computed from the height and top/bottom
        margins (or width and left/right margins for vertical text), all of
        which are LayoutUnits.

        No new tests.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::baselinePosition):
        * platform/efl/RenderThemeEfl.h:
        (RenderThemeEfl):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::baselinePosition):
        * platform/gtk/RenderThemeGtk.h:
        (RenderThemeGtk):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::baselinePosition):
        * platform/qt/RenderThemeQt.h:
        (RenderThemeQt):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::lineHeight):
        (WebCore::RenderListMarker::baselinePosition):
        * rendering/RenderListMarker.h:
        (RenderListMarker):
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::baselinePosition):
        * rendering/RenderSlider.h:
        (RenderSlider):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::baselinePosition):
        (WebCore::RootInlineBox::lineHeight):
        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::baselinePosition):
        * rendering/mathml/RenderMathMLFraction.h:
        (RenderMathMLFraction):
        * rendering/mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::baselinePosition):
        * rendering/mathml/RenderMathMLOperator.h:
        (RenderMathMLOperator):
        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::baselinePosition):
        * rendering/mathml/RenderMathMLRow.h:
        (RenderMathMLRow):
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::baselinePosition):
        * rendering/mathml/RenderMathMLSubSup.h:
        (RenderMathMLSubSup):
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::baselinePosition):
        * rendering/mathml/RenderMathMLUnderOver.h:
        (RenderMathMLUnderOver):

2012-02-06  Xianzhu Wang  <wangxianzhu@chromium.org>

        Avoid Page::updateViewportArguments() if the causing frame is not the main frame
        https://bugs.webkit.org/show_bug.cgi?id=77387

        Reviewed by Kenneth Rohde Christiansen.

        * dom/Document.cpp:
        (WebCore::Document::processViewport):
        (WebCore::Document::updateViewportArguments):
        (WebCore::Document::setInPageCache):
        * dom/Document.h:
        (Document):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::insertedIntoDocument):
        * page/Frame.cpp:
        (WebCore::Frame::setDocument):
        * page/Page.cpp:
        (WebCore::Page::viewportArguments):
        (WebCore):
        * page/Page.h:
        (Page):

2012-02-06  Martin Robinson  <mrobinson@igalia.com>

        Fix some miscellaneous 'make dist' error for WebKitGTK+.

        * GNUmakefile.list.am: Add some missing Shadow DOM files to the
        source list.

2012-02-06  Dana Jansens  <danakj@chromium.org>

        Add contains() test to Region
        https://bugs.webkit.org/show_bug.cgi?id=72294

        Reviewed by Anders Carlsson.

        * platform/graphics/Region.cpp:
        (WebCore::Region::contains):
        (WebCore):
        * platform/graphics/Region.h:
        (Region):
        (Shape):
        (WebCore::operator==):
        (WebCore):

2012-02-06  Kentaro Hara  <haraken@chromium.org>

        Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
        [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
        https://bugs.webkit.org/show_bug.cgi?id=77852

        Reviewed by Adam Barth.

        This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
        [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.

        [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
        constant value is equal to the expected constant value)
        [ReturnsNew] => [ReturnNewObject] (For clarification)
        [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
        with other [*Getter] IDLs)
        [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
        with other [*Setter] IDLs)
        [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
        name in implementation)

        No tests. No change in behavior.

        * bindings/scripts/CodeGenerator.pm:
        (ShouldCheckEnums):
        (GenerateCompileTimeCheckForEnumsIfNeeded):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        (NativeToJSValue):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateSingleBatchedAttribute):
        (GenerateFunctionCallString):
        (NativeToJSValue):

        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/TestTypedArray.idl:

        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):

        * css/WebKitCSSFilterValue.idl:
        * css/WebKitCSSTransformValue.idl:
        * dom/DOMCoreException.idl:
        * dom/Document.idl:
        * dom/EventException.idl:
        * dom/RangeException.idl:
        * fileapi/FileException.idl:
        * fileapi/OperationNotAllowedException.idl:
        * html/HTMLFormElement.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/OESStandardDerivatives.idl:
        * html/canvas/OESVertexArrayObject.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        * html/canvas/WebGLCompressedTextures.idl:
        * html/canvas/WebGLDebugRendererInfo.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * inspector/JavaScriptCallFrame.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * page/Console.idl:
        * page/DOMWindow.idl:
        * page/Location.idl:
        * storage/IDBCursor.idl:
        * storage/IDBDatabaseException.idl:
        * storage/IDBObjectStore.idl:
        * storage/SQLException.idl:
        * svg/SVGComponentTransferFunctionElement.idl:
        * svg/SVGException.idl:
        * svg/SVGFEBlendElement.idl:
        * svg/SVGFEColorMatrixElement.idl:
        * svg/SVGFECompositeElement.idl:
        * svg/SVGFEConvolveMatrixElement.idl:
        * svg/SVGFEDisplacementMapElement.idl:
        * svg/SVGFEMorphologyElement.idl:
        * svg/SVGFETurbulenceElement.idl:
        * svg/SVGGradientElement.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XPathException.idl:

2012-02-06  James Robinson  <jamesr@chromium.org>

        [chromium] canvas demo is slow due to unnecessary resource cleanups
        https://bugs.webkit.org/show_bug.cgi?id=77135

        Reviewed by Kenneth Russell.

        This defers dropping a ManagedTexture until it is evicted by the manager, the layer is destroyed, the
        TextureManager is destroyed, or the layer is added to a CCLayerTreeHost that has a different texture manager. In
        particular, removing a layer from a CCLayerTreeHost and then adding it back to the same host does not drop any
        ManagedTextures unless the manager has to evict it for other reasons. This provides a big speedup on sites that
        rebuild the compositing tree frequently.

        New unit test added for ManagedTexture / TextureManager interaction.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
        (WebCore::Canvas2DLayerChromium::setTextureManager):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setLayerTreeHost):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        * platform/graphics/chromium/ManagedTexture.cpp:
        (WebCore::ManagedTexture::setTextureManager):
        (WebCore):
        (WebCore::ManagedTexture::steal):
        (WebCore::ManagedTexture::clear):
        * platform/graphics/chromium/ManagedTexture.h:
        (ManagedTexture):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (RenderSurfaceChromium):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::setLayerTreeHost):
        (WebCore):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/TiledLayerChromium.h:

2012-02-06  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r106883.
        http://trac.webkit.org/changeset/106883
        https://bugs.webkit.org/show_bug.cgi?id=77852

        build failure around Chromium V8 bindings

        * bindings/scripts/CodeGenerator.pm:
        (ShouldCheckEnums):
        (GenerateCompileTimeCheckForEnumsIfNeeded):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        (NativeToJSValue):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateSingleBatchedAttribute):
        (GenerateFunctionCallString):
        (NativeToJSValue):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/TestTypedArray.idl:
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore):
        * css/WebKitCSSFilterValue.idl:
        * css/WebKitCSSTransformValue.idl:
        * dom/DOMCoreException.idl:
        * dom/Document.idl:
        * dom/EventException.idl:
        * dom/RangeException.idl:
        * fileapi/FileException.idl:
        * fileapi/OperationNotAllowedException.idl:
        * html/HTMLFormElement.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/OESStandardDerivatives.idl:
        * html/canvas/OESVertexArrayObject.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        * html/canvas/WebGLCompressedTextures.idl:
        * html/canvas/WebGLDebugRendererInfo.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * inspector/JavaScriptCallFrame.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * page/Console.idl:
        * page/DOMWindow.idl:
        * page/Location.idl:
        * storage/IDBCursor.idl:
        * storage/IDBDatabaseException.idl:
        * storage/IDBObjectStore.idl:
        * storage/SQLException.idl:
        * svg/SVGComponentTransferFunctionElement.idl:
        * svg/SVGException.idl:
        * svg/SVGFEBlendElement.idl:
        * svg/SVGFEColorMatrixElement.idl:
        * svg/SVGFECompositeElement.idl:
        * svg/SVGFEConvolveMatrixElement.idl:
        * svg/SVGFEDisplacementMapElement.idl:
        * svg/SVGFEMorphologyElement.idl:
        * svg/SVGFETurbulenceElement.idl:
        * svg/SVGGradientElement.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XPathException.idl:

2012-02-06  Yongsheng Zhu  <yongsheng.zhu@intel.com>

        WebGL must allocate smaller drawing buffer when the allocation fails. 
        https://bugs.webkit.org/show_bug.cgi?id=76654

        Reviewed by Kenneth Russell.

        Test: fast/canvas/webgl/drawingbuffer-test.html

        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore):
        (WebCore::DrawingBuffer::create):
        (WebCore::DrawingBuffer::reset):

2012-02-06  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::optionsObjectCallback):

2012-02-06  Levi Weintraub  <leviw@chromium.org>

        Correct usage of LayoutUnits in dom, editing, page, accessibility, inspector, and loader
        https://bugs.webkit.org/show_bug.cgi?id=77891

        Reviewed by Darin Adler.

        Updating the usage of LayoutUnits in the dom, editing, page, accessibility, inspector, and loader
        directories to properly use LayoutUnits vs ints.

        No new tests. No new behavior.

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
        (WebCore::AccessibilityObject::doAXBoundsForRange):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isOffScreen):
        (WebCore::AccessibilityRenderObject::clickPoint):
        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
        (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
        (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):
        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
        * accessibility/AccessibilitySlider.h:
        (AccessibilitySlider):
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::computedTransform):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * dom/Clipboard.h:
        (WebCore::Clipboard::dragLocation):
        (Clipboard):
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
        * dom/DocumentMarkerController.h:
        * dom/Element.cpp:
        (WebCore::Element::screenRect):
        * dom/Element.h:
        (Element):
        * editing/Editor.cpp:
        (WebCore::Editor::rangeForPoint):
        (WebCore::Editor::firstRectForRange):
        * editing/RenderedPosition.cpp:
        (WebCore::RenderedPosition::absoluteRect):
        * editing/RenderedPosition.h:
        (WebCore::RenderedPosition::absoluteRect):
        (RenderedPosition):
        * editing/VisiblePosition.h:
        (VisiblePosition):
        * inspector/DOMNodeHighlighter.cpp:
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::createJavaAppletWidget):
        * loader/SubframeLoader.h:
        (SubframeLoader):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        * page/Frame.cpp:
        (WebCore::Frame::nodeImage):
        * page/win/FrameCGWin.cpp:
        (WebCore::Frame::nodeImage):

2012-02-05  Kentaro Hara  <haraken@chromium.org>

        Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
        [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
        https://bugs.webkit.org/show_bug.cgi?id=77852

        Reviewed by Adam Barth.

        This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
        [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.

        [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
        constant value is equal to the expected constant value)
        [ReturnsNew] => [ReturnNewObject] (For clarification)
        [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
        with other [*Getter] IDLs)
        [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
        with other [*Setter] IDLs)
        [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
        name in implementation)

        No tests. No change in behavior.

        * bindings/scripts/CodeGenerator.pm:
        (ShouldCheckEnums):
        (GenerateCompileTimeCheckForEnumsIfNeeded):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        (NativeToJSValue):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateSingleBatchedAttribute):
        (GenerateFunctionCallString):
        (NativeToJSValue):

        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/TestTypedArray.idl:

        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
        (WebCore):
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        (WebCore):
        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
        (WebCore):
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
        (WebCore):

        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/TestTypedArray.idl:
        * css/WebKitCSSFilterValue.idl:
        * css/WebKitCSSTransformValue.idl:
        * dom/DOMCoreException.idl:
        * dom/Document.idl:
        * dom/EventException.idl:
        * dom/RangeException.idl:
        * fileapi/FileException.idl:
        * fileapi/OperationNotAllowedException.idl:
        * html/HTMLFormElement.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/OESStandardDerivatives.idl:
        * html/canvas/OESVertexArrayObject.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        * html/canvas/WebGLCompressedTextures.idl:
        * html/canvas/WebGLDebugRendererInfo.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * inspector/JavaScriptCallFrame.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * page/Console.idl:
        * page/DOMWindow.idl:
        * page/Location.idl:
        * storage/IDBCursor.idl:
        * storage/IDBDatabaseException.idl:
        * storage/IDBObjectStore.idl:
        * storage/SQLException.idl:
        * svg/SVGComponentTransferFunctionElement.idl:
        * svg/SVGException.idl:
        * svg/SVGFEBlendElement.idl:
        * svg/SVGFEColorMatrixElement.idl:
        * svg/SVGFECompositeElement.idl:
        * svg/SVGFEConvolveMatrixElement.idl:
        * svg/SVGFEDisplacementMapElement.idl:
        * svg/SVGFEMorphologyElement.idl:
        * svg/SVGFETurbulenceElement.idl:
        * svg/SVGGradientElement.idl:
        * xml/XMLHttpRequestException.idl:

2012-02-06  Stephen Chenney  <schenney@chromium.org>

        RenderSVGShape::strokeContains will fail for some strokes
        https://bugs.webkit.org/show_bug.cgi?id=76931

        Reviewed by Darin Adler.

        Adding support for rounded zero-length endcaps for SVG path hit
        testing.

        Tests: svg/hittest/zero-length-butt-cap-path.xhtml
               svg/hittest/zero-length-round-cap-path.xhtml
               svg/hittest/zero-length-square-cap-path.xhtml

        * rendering/svg/RenderSVGShape.cpp:
        (WebCore::RenderSVGShape::strokeContains):

2012-02-06  Gregg Tavares  <gman@google.com>

        Add webGLErrorsToConsoleEnabled Settings flag
        https://bugs.webkit.org/show_bug.cgi?id=77696

        Reviewed by Kenneth Russell.

        No new tests as there is no change in behavior.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::setupFlags):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (Settings):
        (WebCore::Settings::webGLErrorsToConsoleEnabled):

2012-02-06  Emil A Eklund  <eae@chromium.org>

        Convert PopupMenuClient::clientPadding over to new layout abstraction
        https://bugs.webkit.org/show_bug.cgi?id=77798

        Reviewed by Eric Seidel.

        Change PopupMenuClient and all classes inheriting from it to use the new
        layout types for padding.

        No new tests.

        * platform/PopupMenuClient.h:
        (PopupMenuClient):
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
        * rendering/RenderTextControlSingleLine.h:

2012-02-06  Philip Rogers  <pdr@google.com>

        Fix color animations by value
        https://bugs.webkit.org/show_bug.cgi?id=77812

        Reviewed by Darin Adler.

        Test: svg/animations/animate-color-fill-from-by.html

        * svg/SVGAnimatedColor.cpp:
        (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):

2012-02-03  Jer Noble  <jer.noble@apple.com>

        REGRESSION (r104303): Clicking inline video controls gives the video a focus ring
        https://bugs.webkit.org/show_bug.cgi?id=77288

        Reviewed by Darin Adler.

        Test: media/video-mouse-focus.html

        Do not allow media elements to be focused by mouse click by overriding isMouseFocusable
        and returning false.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isMouseFocusable):
        * html/HTMLMediaElement.h:

2012-02-06  Anders Carlsson  <andersca@apple.com>

        Overlay scrollbars flash when window is simply activated
        https://bugs.webkit.org/show_bug.cgi?id=77911
        <rdar://problem/10211995>

        Reviewed by Kenneth Russell.

        Add a new member function, FocusController::setContainingWindowIsVisible, and move the code
        that calls ScrollableArea::contentAreaDidShow/ScrollableArea::contentAreaDidHide there, since
        we only want to flash scrollers when the window becomes visible.

        * WebCore.exp.in:
        * page/FocusController.cpp:
        (WebCore::FocusController::FocusController):
        (WebCore::FocusController::setActive):
        (WebCore::FocusController::setContainingWindowIsVisible):
        (WebCore):
        * page/FocusController.h:
        (FocusController):
        (WebCore::FocusController::containingWindowIsVisible):

        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
        Call ScrollAnimatorMac::contentAreaWillPaint here, since that will trigger AppKit to flash the scrollers.

2012-02-06  Greg Simon  <gregsimon@chromium.org>

        postMessage leaks MemoryEvent object
        https://bugs.webkit.org/show_bug.cgi?id=77893

        Reviewed by Adam Barth.

        Changed from PassRefPtr().leakRef() to RefPtr.get() when 
        calling into FrameLoaderClient to stop +1 extra ref.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessageTimerFired):

2012-02-06  Ehsan Akhgari  <ehsan.akhgari@gmail.com>

        WebGL conformance test misc/functions-returning-strings.html fails
        https://bugs.webkit.org/show_bug.cgi?id=77149

        Make sure that WebGL methods returning strings don't return null when
        they run successfully.

        Reviewed by Kenneth Russell.

        Test: fast/canvas/webgl/functions-returning-strings.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::getProgramInfoLog):
        (WebCore::WebGLRenderingContext::getShaderInfoLog):
        (WebCore::WebGLRenderingContext::getShaderSource):
        (WebCore::WebGLRenderingContext::ensureNotNull):
        * html/canvas/WebGLRenderingContext.h:
        (WebGLRenderingContext):

2012-02-06  Enrica Casucci  <enrica@apple.com>

        Refactor Mac platform implementation of the Pasteboard class.
        https://bugs.webkit.org/show_bug.cgi?id=77567
        
        The goal of this change is to remove the majority of the methods in
        the class interface that are Mac specific.
        writeSelectionForTypes has been left to support OS X services.
        Some of the methods have been turned into static functions.
        The method asURL was being used only by the DragData class and its
        implementation has been moved there.
        This is a first step in the direction of removing NSPasteboard access from
        the WebProcess for WebKit2 (https://bugs.webkit.org/show_bug.cgi?id=77259)
        leaving the WebKit1 behavior unchanged.

        Reviewed by Alexey Proskuryakov.

        No new tests. No changes in behavior.

        * platform/Pasteboard.h: Removed most of the Mac specific methods.
        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::writeRange):
        (WebCore::ClipboardMac::writeURL):
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::asURL): Moved code from PasteboardMac.mm. Removed FIXME
        because we only want to handle the case of single file, otherwise the user
        doesn't know which of the files has been chosen.
        * platform/mac/PasteboardMac.mm:
        (WebCore::writeURLForTypes):
        (WebCore::Pasteboard::writeURL):
        (WebCore::writeFileWrapperAsRTFDAttachment): Now a static function.
        (WebCore::Pasteboard::writeImage):
        (WebCore::documentFragmentWithImageResource): Ditto.
        (WebCore::documentFragmentWithRTF): Ditto.
        (WebCore::Pasteboard::documentFragment):

2012-02-06  James Robinson  <jamesr@chromium.org>

        [chromium] Drop tiles completely outside of layer bounds when resizing to a smaller size
        https://bugs.webkit.org/show_bug.cgi?id=77910

        Reviewed by Kenneth Russell.

        When resizing a tiled layer to a smaller size, drop all tiles that lie completely outside the new layer bounds.
        This avoids attempting to access out-of-bounds tiles when iterating over all tiles in the tiler, which triggers
        ASSERT()s, as well as saves some memory.

        New unit test added to TiledLayerChromiumTest.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::invalidateRect):
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::setBounds):

2012-02-06  Chris Rogers  <crogers@google.com>

        zvmul incorrectly multiplies complex arrays on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=77900

        Reviewed by Kenneth Russell.

        * platform/audio/VectorMath.cpp:
        (WebCore::VectorMath::zvmul):

2012-02-06  Andreas Kling  <awesomekling@apple.com>

        REGRESSION(r106756): 10% performance hit on DOM/Template.
        <http://webkit.org/b/77831>

        Reviewed by Ryosuke Niwa.

        Let the StylePropertySet used for element attribute style have the element as its parent.
        This is accomplished by adding an m_parentIsElement bit to StylePropertySet and sharing
        some of the internal logic with inline styles.

        In the end, this means that CSSParser will now pick up the document's CSSValuePool when
        parsing properties for attribute styles, which fixes the perf regression from r106756.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::StylePropertySet):
        (WebCore::StylePropertySet::contextStyleSheet):

            Find contextStyleSheet via the parentElement() when there is one.

        (WebCore::StylePropertySet::setNeedsStyleRecalc):

            Always set FullStyleChange for attribute style mutations. We can probably use the
            same lighter invalidation as inline styles, but that's a topic for another patch.

        * css/StylePropertySet.h:
        (WebCore::StylePropertySet::createInline):
        (WebCore::StylePropertySet::createAttributeStyle):
        (WebCore::StylePropertySet::parentRuleInternal):
        (WebCore::StylePropertySet::clearParentRule):
        (StylePropertySet):
        (WebCore::StylePropertySet::parentElement):
        (WebCore::StylePropertySet::clearParentElement):

            Added m_parentIsElement bit and update assertions as appropriate to not just
            cover the inline style case. Added a createAttributeStyle() helper to create
            a StylePropertySet for use as Element::attributeStyle().

        * dom/StyledElement.h:
        * dom/ElementAttributeData.h:
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::ensureAttributeStyle):

            Use StylePropertySet::createAttributeStyle().

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::removeCSSProperties):
        (WebCore::StyledElement::addCSSProperty):
        (WebCore::StyledElement::addCSSImageProperty):

            Remove setNeedsStyleRecalc() calls since that is now handled automatically by
            StylePropertySet's mutation methods.

2012-02-06  Kentaro Hara  <haraken@chromium.org>

        In AppleWebKit, stop rebuilding IDLs that need not to be rebuilt
        https://bugs.webkit.org/show_bug.cgi?id=77510

        Reviewed by Adam Barth.

        Currently, if any IDL file is updated, all IDL files are rebuilt.
        This patch stops rebuilding IDL files which are not modified nor
        whose supplemental dependencies are not changed.

        The new build flow is as follows:

            supplemental.dep : $(ALL_IDLS)
                perl resolve-supplemental.pl ...

            %.idl-needs-rebuild : %.idl supplemental.dep
                perl update-idl-needs-rebuild.pl ...

            JS%.cpp : %.idl-needs-rebuild
                perl generate-bindings.pl ...

        resolve-supplemental.pl generates the following supplemental.dep.
        The number in () is the last access timestamp of the file.

            A.idl(1200)
            B.idl(1000) B-supplemental1.idl(800) B-supplemental2.idl(1200)
            C.idl(1000)

        update-idl-needs-rebuild.pl for X.idl touches X.idl-needs-rebuild,
        if X.idl-needs-rebuild is older than X.idl or the IDL files which are
        supplementing X.idl. For example, if the timestamps of A.idl-needs-rebuild,
        B.idl-needs-rebuild and C.idl-needs-rebuild are all 1000, then A.idl-needs-rebuild
        and B.idl-needs-rebuild will be touched.

        Even if no IDL files are modified, update-idl-needs-rebuild.pl can run for all IDL files,
        but generate-bindings.pl won't run. If any IDL file is updated, resolve-supplemental.pl
        will run once, update-idl-needs-rebuild.pl will run for all IDL files, and
        generate-bindings.pl will run for the IDL files which are modified or whose
        dependencies are changed.

        No tests. I manually confirmed the followings:
        - Touch Element.idl, then only Element.idl is rebuilt
        - Touch DOMWindow.idl, then only DOMWindow.idl is rebuilt
        - Touch DOMWindowWebAudio.idl, then only DOMWindow.idl and DOMWindowWebAudio.idl are rebuilt

        * DerivedSources.make: Modified the build flow as described above.
        * bindings/scripts/generate-bindings.pl: Modified to read an IDL file path from .idl-needs-rebuild.
        * bindings/scripts/update-idl-needs-rebuild.pl: Added. Touches X.idl-needs-rebuild if
        the X.idl-needs-rebuild is older than X.idl or the IDL files which are supplementing X.idl.
        (touch):

2012-02-06  Wei James  <james.wei@intel.com>

        AudioBus need to support stereo->mono down mix in copyFrom sumFrom etc.
        https://bugs.webkit.org/show_bug.cgi?id=77609

        Reviewed by Kenneth Russell.

        Test: webaudio/stereo2mono-down-mixing.html

        * platform/audio/AudioBus.cpp:
        (WebCore):
        (WebCore::AudioBus::copyFrom):
        (WebCore::AudioBus::sumFrom):

2012-02-06  Cris Neckar  <cdn@chromium.org>

        Add RefPtrs for parent and sibling counter nodes
        https://bugs.webkit.org/show_bug.cgi?id=75212

        Reviewed by Adam Barth.

        Test: fast/css/counters/reparent-table-children-with-counters-crash.html

        * rendering/RenderCounter.cpp:
        (WebCore::findPlaceForCounter):
        (WebCore::makeCounterNode):
        (WebCore::updateCounters):

2012-02-06  Kalev Lember  <kalevlember@gmail.com>

        [GTK] Add missing pango include dir to fix build
        https://bugs.webkit.org/show_bug.cgi?id=77832

        Reviewed by Martin Robinson.

        * GNUmakefile.am: Added $(PANGO_CFLAGS) to libWebCore_la_CPPFLAGS.

2012-02-06  Jochen Eisinger  <jochen@chromium.org>

        Before accessing a frame's script controller in V8 bindings, first check that the frame actually exists
        https://bugs.webkit.org/show_bug.cgi?id=77370

        Reviewed by Adam Barth.

        I don't have a working reproduction of the crash yet. As soon as I have
        one,  I will add new layout tests.

        * bindings/v8/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::addListener):
        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::restore):
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::DOMTimer): remove temporary debug code

2012-02-06  James Robinson  <jamesr@chromium.org>

        Support detaching TextureManager from ManagedTexture
        https://bugs.webkit.org/show_bug.cgi?id=77655

        Reviewed by Kenneth Russell.
        Initial patch by Alok Priyadarshi.

        TextureManager now holds references to the textures it manages.
        This allows TextureManager to inform managed textures when it gets deleted
        so that the texture that outlive the TextureManager can handle the situation gracefully.

        Unit test in TextureManagerTest.cpp

        * platform/graphics/chromium/ManagedTexture.cpp:
        (WebCore::ManagedTexture::ManagedTexture):
        (WebCore::ManagedTexture::~ManagedTexture):
        (WebCore):
        (WebCore::ManagedTexture::managerWillDie):
        (WebCore::ManagedTexture::isValid):
        (WebCore::ManagedTexture::reserve):
        (WebCore::ManagedTexture::unreserve):
        (WebCore::ManagedTexture::steal):
        (WebCore::ManagedTexture::reset):
        * platform/graphics/chromium/ManagedTexture.h:
        (WebCore::ManagedTexture::manager):
        (ManagedTexture):
        (WebCore::ManagedTexture::isReserved):
        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::~TextureManager):
        (WebCore):
        (WebCore::TextureManager::setPreferredMemoryLimitBytes):
        (WebCore::TextureManager::registerTexture):
        (WebCore::TextureManager::unregisterTexture):
        * platform/graphics/chromium/TextureManager.h:
        (WebCore):
        (TextureManager):

2012-02-06  Anders Carlsson  <andersca@apple.com>

        Wheel event handler count not updated when adding handlers to the window
        https://bugs.webkit.org/show_bug.cgi?id=77895

        Reviewed by Dan Bernstein.

        Test: fast/events/wheelevent-handler-count.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        Update the wheel event count.

        * testing/Internals.cpp:
        (WebCore::Internals::wheelEventHandlerCount):
        * testing/Internals.h:
        * testing/Internals.idl:
        Add wheelEventHandlerCount to window.internals.

2012-02-06  Matthew Delaney  <mdelaney@apple.com>

        toDataURL() uses stale data after putImageData()
        https://bugs.webkit.org/show_bug.cgi?id=65767

        This patch fixes the issue we've encountered of getting back
        stale copies of the CGContext of accelerated ImageBuffers who have seen
        putImageData calls but have not been drawn into via the CG API.
        This issue is fixed by modifying the way we implement putImageData
        in ImageBufferCG to draw the bits wrapped in a CGImage while the CGContext
        is in a state where the data will effectively be copied (as is needed for
        implementing putImageData) instead of directly modifying the bits of the IOSurface.

        Reviewed by Chris Marrin.

        Test: fast/canvas/check-stale-putImageData, pixel test to check that the canvas is in fact painted.

        * platform/graphics/cg/ImageBufferCG.cpp: Implement new way of putting image data.
        * platform/graphics/ImageBuffer.h: Merged two previously separate put data calls
            into a single and more sensibly named 'putByteArray', since that's what it does!

        * WebCore.exp.in: Added new WKSI call for use in ImageBufferCG.cpp
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

        Using new method name.
        * html/canvas/CanvasRenderingContext2D.cpp:
        * platform/graphics/ImageBuffer.cpp:
        * platform/graphics/ShadowBlur.cpp:        
        * platform/graphics/filters/FEColorMatrix.cpp:
        * platform/graphics/filters/FEDropShadow.cpp:
        * platform/graphics/filters/FilterEffect.cpp:

        Updated other ports' ImageBuffers to use new method.
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        * platform/graphics/qt/ImageBufferQt.cpp:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        * platform/graphics/wx/ImageBufferWx.cpp:

2012-02-06  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Provide more attribute methods in Element
        https://bugs.webkit.org/show_bug.cgi?id=77800

        Reviewed by Ryosuke Niwa.

        Reduce the clients of NamedNodeMap. This will make easier to change the
        implementation of our attribute storage. The clients now use Element methods
        that expose Attribute* accessors.

        Instead of checking the existence of NamedNodeMap, clients can call
        hasAttributes() or hasAttributesWithoutUpdate() (that skips updating invalid
        style or animation svg attributes).

        If there are attributes, they can be accessed by index via attributeCount() /
        attributeItem(), as well as by QualifiedName. Those accessors assume there are an
        attribute storage.

        * css/SelectorChecker.cpp:
        (WebCore::anyAttributeMatches):
        (WebCore::SelectorChecker::checkOneSelector):
        * css/SelectorChecker.h:
        (WebCore::SelectorChecker::checkExactAttribute):
        * dom/DatasetDOMStringMap.cpp:
        (WebCore::DatasetDOMStringMap::getNames):
        (WebCore::DatasetDOMStringMap::item):
        (WebCore::DatasetDOMStringMap::contains):
        * dom/Document.cpp:
        (WebCore::Document::importNode): use setAttributesFromElement() instead of manually copying.
        * dom/Element.h:
        (Element):
        (WebCore::Element::hasAttributesWithoutUpdate):
        (WebCore):
        (WebCore::Element::attributeCount):
        (WebCore::Element::attributeItem):
        (WebCore::Element::getAttributeItem):
        (WebCore::Element::removeAttribute):
        * dom/Node.cpp:
        (WebCore::Node::isDefaultNamespace):
        (WebCore::Node::lookupNamespaceURI):
        (WebCore::Node::lookupNamespacePrefix):
        (WebCore::Node::compareDocumentPosition):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::hasNoAttributeOrOnlyStyleAttribute):
        (WebCore::isEmptyFontTag):
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::highestVisuallyEquivalentDivBelowRoot):
        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::appendElement):
        * editing/markup.cpp:
        (WebCore::completeURLs):
        (WebCore::StyledMarkupAccumulator::appendElement):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parametersForPlugin):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateType):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parametersForPlugin):
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::isURLAttribute):
        * html/parser/HTMLFormattingElementList.cpp:
        (WebCore::attributeCountWithoutUpdate):
        (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
        (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition): Store Attribute*
        to avoid looking up the right element again by name.
        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::innerPatchNode):
        (WebCore::DOMEditor::createDigest):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setAttributesAsText):
        (WebCore::InspectorDOMAgent::performSearch):
        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
        * page/PageSerializer.cpp:
        (WebCore::isCharsetSpecifyingNode):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::getPresentationAttribute):
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunLang::evaluate):
        * xml/XPathNodeSet.cpp:
        (WebCore::XPath::NodeSet::traversalSort):
        * xml/XPathStep.cpp:
        (WebCore::XPath::Step::nodesInAxis):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        * xml/parser/XMLTreeBuilder.cpp:
        (WebCore::XMLTreeBuilder::XMLTreeBuilder):

2012-02-06  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Raise exception during add/put call if autoIncrement key insertion will fail
        https://bugs.webkit.org/show_bug.cgi?id=77374

        If a put request will use a key generator, try inserting a dummy key during the sync
        put() call to check if the key insertion will succeed so an exception can be raised
        early, rather than deferring to the asynchronous task.

        Reviewed by Tony Chang.

        Test: storage/indexeddb/keypath-edges.html

        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put):

2012-02-06  Gustavo Noronha Silva  <gns@gnome.org>

        Add a null check for the gdkwindow, that will happen if the window
        is not mapped.

        Reviewed by Martin Robinson.

        * platform/gtk/GtkUtilities.cpp:
        (WebCore::convertWidgetPointToScreenPoint):

2012-02-06  Eugene Girard  <girard@chromium.org>

        IndexedDB createObjectStore should throw if options arg is invalid
        Added logic to OptionsObject to determine if an invalid object was created.
        Javascript bindings now detect invalid OptionsObject's and throw TypeError when found.
        https://bugs.webkit.org/show_bug.cgi?id=58471

        Reviewed by Adam Barth.

        Test: storage/indexeddb/createObjectStore-bad-options.html

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateParametersCheck):
        * bindings/v8/OptionsObject.cpp:
        (WebCore::OptionsObject::isObject):
        * bindings/v8/OptionsObject.h:

2012-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106797 and r106806.
        http://trac.webkit.org/changeset/106797
        http://trac.webkit.org/changeset/106806
        https://bugs.webkit.org/show_bug.cgi?id=77888

        The change is still causing some crashes in webaudio/ on the
        Chromium bots (Requested by jchaffraix on #webkit).

        * Modules/intents/IntentRequest.cpp:
        (WebCore::IntentRequest::create):
        * bindings/generic/ActiveDOMCallback.cpp:
        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
        * dom/ActiveDOMObject.cpp:
        (WebCore::ActiveDOMObject::ActiveDOMObject):
        (WebCore::ActiveDOMObject::~ActiveDOMObject):
        * dom/ActiveDOMObject.h:
        (ActiveDOMObject):
        * dom/DocumentEventQueue.cpp:
        (WebCore::DocumentEventQueue::DocumentEventQueue):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
        * dom/ScriptExecutionContext.h:
        (ScriptExecutionContext):
        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::create):
        * fileapi/FileReader.cpp:
        (WebCore):
        * fileapi/FileReader.h:
        (WebCore::FileReader::create):
        * fileapi/FileWriter.cpp:
        (WebCore):
        * fileapi/FileWriter.h:
        (WebCore::FileWriter::create):
        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):
        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::create):
        (WebCore::HTMLAudioElement::createForJSConstructor):
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::create):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::create):
        * mediastream/PeerConnection.cpp:
        (WebCore::PeerConnection::create):
        * notifications/Notification.cpp:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.cpp:
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::create):
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::install):
        (WebCore::DOMTimer::fired):
        * page/EventSource.cpp:
        (WebCore::EventSource::create):
        * page/SuspendableTimer.cpp:
        (WebCore::SuspendableTimer::SuspendableTimer):
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::create):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::create):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::create):
        * storage/IDBVersionChangeRequest.cpp:
        (WebCore::IDBVersionChangeRequest::create):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::create):
        * websockets/WebSocket.cpp:
        * websockets/WebSocket.h:
        (WebCore::WebSocket::create):
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::create):
        * workers/Worker.cpp:
        (WebCore::Worker::create):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::create):

2012-02-06  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Move style related functions from NamedNodeMap to ElementAttributeData
        https://bugs.webkit.org/show_bug.cgi?id=77879

        Reviewed by Ryosuke Niwa.

        This commit also removes the NamedNodeMap::mappedAttributeCount(),
        which is a leftover from removal of mapped attributes.

        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::ensureInlineStyleDecl):
        (WebCore):
        (WebCore::ElementAttributeData::destroyInlineStyleDecl):
        (WebCore::ElementAttributeData::ensureAttributeStyle):
        * dom/ElementAttributeData.h:
        (WebCore::ElementAttributeData::inlineStyleDecl):
        (ElementAttributeData):
        (WebCore::ElementAttributeData::attributeStyle):
        * dom/NamedNodeMap.cpp:
        * dom/NamedNodeMap.h:
        * dom/StyledElement.h:
        (StyledElement):
        (WebCore::StyledElement::inlineStyleDecl):
        (WebCore::StyledElement::ensureInlineStyleDecl):
        (WebCore::StyledElement::attributeStyle):
        (WebCore::StyledElement::ensureAttributeStyle):
        (WebCore::StyledElement::destroyInlineStyleDecl):

2012-02-06  Abhishek Arya  <inferno@chromium.org>

        Crash in SubframeLoader::loadSubframe.
        https://bugs.webkit.org/show_bug.cgi?id=77345

        Reviewed by Nate Chapin.

        Mutation event when loading subframe can blow away the
        main frame. Add a RefPtr to protect against that.

        Test: fast/frames/subframe-load-crash-main.html

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadSubframe):

2012-02-06  ChangSeok Oh  <shivamidow@gmail.com>

        Initial implementation of GraphicsContext3DOpenGLES.cpp
        https://bugs.webkit.org/show_bug.cgi?id=76248

        Reviewed by Martin Robinson.

        Implemented APIs in GraphicsContext3DOpenGLES.cpp according to the GLES spec. roughly.
        But no way to run these codes right now, because they need an extra port
        specific implementation to work. I plan to add these extra codes for the GTK port
        in the next patch. And also this patch doesn't support anti-aliasing yet. Another bug
        will deal with it.
        Moved some APIs in GraphicsContext3DOpenGLES.cpp to GraphicsContext3DCommon.cpp.
        It looks it could be shared between gl and gles.
        Two helper functions are added to avoid code duplication in GraphicsContext3D.
        Added a missing period at the end of comment lines.

        No new tests required.
        We'll be able to verify this patch by using the existing webgl test cases.

        * platform/graphics/GraphicsContext3D.h: Add build flag to access stencilBuffer & depthBuffer for gles.
        (WebCore):
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::reshapeFBOs): Helper function extracted from GC3D::reshape to resize regular & multisampled FBOs.
        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Helper function to resolve multisampling.
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::validateAttributes): Add condition to disable antialiasing & packedDepthStencilExtension for GLES.
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):

        Following APIs looked shareable so that moved into GC3DOpenGLCommon.cpp.
        (WebCore::GraphicsContext3D::prepareTexture):
        (WebCore):
        (WebCore::GraphicsContext3D::readRenderingResults):
        (WebCore::GraphicsContext3D::reshape):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::copyTexImage2D):
        (WebCore::GraphicsContext3D::copyTexSubImage2D):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::readPixels):

        Added a missing period at the end of comment line.
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::texSubImage2D):

        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
        (WebCore::GraphicsContext3D::reshapeFBOs): Same with the above.
        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Same with the above.

        Brief explanation about what the differences are between gl and gles.
        (WebCore::GraphicsContext3D::renderbufferStorage): Removed codes for converting GLES parameter to GL parameter.
        (WebCore::GraphicsContext3D::getIntegerv): Removed codes that emulate GLES.
        (WebCore::GraphicsContext3D::texImage2D): Removed codes for converting GLES parameter to GL parameter.

2012-02-06  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Meta] Allow emulation of touch events
        https://bugs.webkit.org/show_bug.cgi?id=77096

        Reviewed by Pavel Feldman.

        This is the inspector part of the change, core part implementation tracked in bug 77105.

        * English.lproj/localizedStrings.js:
        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (DOMAgentState):
        (WebCore::InspectorDOMAgent::clearFrontend):
        (WebCore::InspectorDOMAgent::restore):
        (WebCore):
        (WebCore::InspectorDOMAgent::updateTouchEventEmulationInDocuments):
        (WebCore::InspectorDOMAgent::setTouchEmulationEnabled):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._captureDOM):
        (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):

2012-02-06  Chris Guan  <chris.guan@torchmobile.com.cn>

        [Blackberry] Non-supported about: operations never stops loading
        https://bugs.webkit.org/show_bug.cgi?id=76366

        Reviewed by Rob Buis.

        If user typed a non-supported "about:" scheme such as "about:nonsupport",
        the loadAboutURL() function in NetworkManger should recognize and handle it as 
        an error of invalid url.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::loadAboutURL):
        (WebCore::NetworkJob::handleAbout):
        * platform/network/blackberry/NetworkJob.h:
        (NetworkJob):
        * platform/network/blackberry/NetworkManager.cpp:
        (WebCore::NetworkManager::startJob):

2012-02-06  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Remove unused disabledComputedProperties from methods in StylesSidebarPane
        https://bugs.webkit.org/show_bug.cgi?id=77876

        Reviewed by Pavel Feldman.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
        (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        (WebInspector.ComputedStylePropertiesSection):
        (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):

2012-02-06  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Redesign summary view / retaining tree contents
        https://bugs.webkit.org/show_bug.cgi?id=77870

        Reviewed by Pavel Feldman.

        1. Make object IDs less contrast.
        2. Put array indices in [].
        3. Do not write type if it's just "Object".

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
        (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
        (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
        * inspector/front-end/heapProfiler.css:
        (.detailed-heapshot-view .console-formatted-id):
        (.detailed-heapshot-view td.object-column span.grayed):

2012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap][Qt] Avoid an image copy when uploading textures in WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=77748

        Reviewed by Kenneth Rohde Christiansen.

        Use QPixmap::buffer() API to get access to the QPixmap's pixels without implicit copies.

        Instrumentation shows that the deep image copies created from TextureMapperGL are
        eliminated.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::updateContents):

2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        LayoutTest failures on r106797
        https://bugs.webkit.org/show_bug.cgi?id=77868

        Call suspendIfNeeded from subclass of IDBRequest, IDBVersionChangeRequest.

        Reviewed by Simon Hausmann.

        * storage/IDBVersionChangeRequest.cpp:
        (WebCore::IDBVersionChangeRequest::create):

2012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt] Implement ImageBuffer::copyImage(ImageBuffer::DontCopyBackingStore)
        https://bugs.webkit.org/show_bug.cgi?id=77689

        Reviewed by Kenneth Rohde Christiansen.

        Use StillImageQt::createForRendering when using DontCopyBackingStore.
        Enable DontCopyBackingStore in TextureMapperNode.
        This removes deep copies resulting from the use of ImageBuffer.

        Instrumentation shows that deep image copies resulted from ImageBuffer are eliminated.

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::copyImage):
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::renderContent):

2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        WebGestureEvent can not encode delta and area.
        https://bugs.webkit.org/show_bug.cgi?id=77728

        Add area field to PlatformGestureEvent.

        Reviewed by Kenneth Rohde Christiansen.

        * platform/PlatformGestureEvent.h:
        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
        (WebCore::PlatformGestureEvent::area):

2012-02-06  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry]Use extension for a mimetype as the suggested extension
        if the url file doesn't have an extension.
        https://bugs.webkit.org/show_bug.cgi?id=76779

        Reviewed by Antonio Gomes.

        No new tests. 

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::sendResponseIfNeeded):

2012-02-06  Kentaro Hara  <haraken@chromium.org>

        Rename [HasIndexGetter], [HasNameGetter] and [HasCustomIndexSetter] IDLs
        https://bugs.webkit.org/show_bug.cgi?id=77848

        Reviewed by Adam Barth.

        For naming consistency with [CustomGetter] and [CustomSetter],
        this patch renames the following IDLs:

        [HasIndexGetter] => [IndexedGetter]  (Remove "Has". This IDL is for "indexed" properties
        in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-indexed-properties)
        [HasCustomIndexSetter] => [CustomIndexedSetter]  (Ditto.)
        [HasNameGetter] => [NamedGetter] (Remove "Has". This IDL is for "named" properties
        in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-named-properties)

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeaderNamedAndIndexedPropertyAccessors):
        (GenerateImplementationIndexer):
        (GenerateImplementationNamedPropertyGetter):

        * bindings/scripts/test/TestEventTarget.idl: No change in run-bindings-tests results.
        * bindings/scripts/test/TestTypedArray.idl: Ditto.

        * Modules/gamepad/GamepadList.idl:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSValueList.idl:
        * css/MediaList.idl:
        * css/StyleSheetList.idl:
        * css/WebKitCSSFilterValue.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * css/WebKitCSSTransformValue.idl:
        * dom/ClientRectList.idl:
        * dom/DOMStringList.idl:
        * dom/DOMStringMap.idl:
        * dom/DataTransferItemList.idl:
        * dom/NamedNodeMap.idl:
        * dom/NodeList.idl:
        * dom/TouchList.idl:
        * fileapi/EntryArray.idl:
        * fileapi/EntryArraySync.idl:
        * fileapi/FileList.idl:
        * html/DOMSettableTokenList.idl:
        * html/DOMTokenList.idl:
        * html/HTMLAllCollection.idl:
        * html/HTMLCollection.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLOptionsCollection.idl:
        * html/HTMLPropertiesCollection.idl:
        * html/HTMLSelectElement.idl:
        * html/TextTrackCueList.idl:
        * html/canvas/CanvasPixelArray.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        * html/track/TextTrackList.idl:
        * mediastream/MediaStreamList.idl:
        * mediastream/MediaStreamTrackList.idl:
        * page/SpeechInputResultList.idl:
        * page/WebKitAnimationList.idl:
        * plugins/DOMMimeTypeArray.idl:
        * plugins/DOMPlugin.idl:
        * plugins/DOMPluginArray.idl:
        * storage/Storage.idl:

2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Ensure timers and other active DOM objects do not fire in suspended documents.
        https://bugs.webkit.org/show_bug.cgi?id=53733

        ScriptExecutionContext now remembers it has suspended active DOM objects
        and suspends all newly installed active DOM objects as well.

        All create-calls active DOM objects now calls the post constructor method
        suspendIfNeeded that updates the suspend state. It is post constructor
        because the suspend/resume functions are virtual and thus can not be called
        from constructors.

        Reviewed by Mihai Parparita.

        Test: fast/events/suspend-timers.html

        * Modules/intents/IntentRequest.cpp:
        (WebCore::IntentRequest::create):
        * bindings/generic/ActiveDOMCallback.cpp:
        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
        * dom/ActiveDOMObject.cpp:
        (WebCore::ActiveDOMObject::ActiveDOMObject):
        (WebCore::ActiveDOMObject::~ActiveDOMObject):
        (WebCore::ActiveDOMObject::suspendIfNeeded):
        * dom/ActiveDOMObject.h:
        (WebCore::ActiveDOMObject::suspendIfNeededCalled):
        * dom/DocumentEventQueue.cpp:
        (WebCore::DocumentEventQueue::DocumentEventQueue):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
        (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::create):
        * fileapi/FileReader.cpp:
        (WebCore::FileReader::create):
        * fileapi/FileReader.h:
        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::create):
        * fileapi/FileWriter.h:
        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):
        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::create):
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::create):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::create):
        * mediastream/PeerConnection.cpp:
        (WebCore::PeerConnection::create):
        * notifications/Notification.cpp:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::create):
        * notifications/NotificationCenter.h:
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::install):
        (WebCore::DOMTimer::fired):
        * page/EventSource.cpp:
        (WebCore::EventSource::create):
        * page/SuspendableTimer.cpp:
        (WebCore::SuspendableTimer::SuspendableTimer):
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::create):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::create):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::create):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::create):
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::create):
        * websockets/WebSocket.h:
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::create):
        * workers/Worker.cpp:
        (WebCore::Worker::create):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::create):

2012-02-06  Philippe Normand  <pnormand@igalia.com>

        Adding FFTFrameGStreamer.cpp that I forgot to commit
        in r106537. That new file was reviewed in https://bugs.webkit.org/show_bug.cgi?id=73545.

        * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.

2012-02-06  Hayato Ito  <hayato@chromium.org>

        Add <shadow> element, which is guarded by SHADOW_DOM flag.
        https://bugs.webkit.org/show_bug.cgi?id=76435

        Reviewed by Dimitri Glazkov.

        Test: fast/dom/shadow/shadow-element.html

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLTagNames.in:
        * html/shadow/HTMLShadowElement.cpp: Added.
        (WebCore):
        (WebCore::HTMLShadowElement::HTMLShadowElement):
        (WebCore::HTMLShadowElement::create):
        (WebCore::HTMLShadowElement::~HTMLShadowElement):
        * html/shadow/HTMLShadowElement.h: Added.
        (WebCore):
        (HTMLShadowElement):
        * html/shadow/HTMLShadowElement.idl: Added.

2012-02-06  Joe Thomas  <joethomas@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=76995.
        WebKit fails IETC :indeterminate and input type=radio test.

        All input types should respect indeterminate property(getter and setter). This is true with other browsers.
        Indeterminate appearance for radio input type is supported by IOS platform. Webkit need not support indeterminate appearance
        for radio input type on other platforms.

        Reviewed by Kent Tamura.

        Test: fast/forms/indeterminate-input-types.html

        * html/CheckboxInputType.cpp:
        (WebCore::CheckboxInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
        (WebCore):
        * html/CheckboxInputType.h:
        (CheckboxInputType):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setIndeterminate): Removed the check isCheckable().
        (WebCore::HTMLInputElement::isIndeterminate): Checks indeterminate appearance is supported.
        (WebCore):
        * html/HTMLInputElement.h:
        (HTMLInputElement):
        * html/InputType.cpp:
        (WebCore::InputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
        (WebCore):
        * html/InputType.h:
        (InputType):
        * html/RadioInputType.cpp:
        (WebCore::RadioInputType::willDispatchClick): Indeterminate related code is moved to IOS specific.
        (WebCore::RadioInputType::didDispatchClick): Ditto.
        (WebCore::RadioInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
        (WebCore):
        * html/RadioInputType.h:
        (RadioInputType):

2012-02-06  Robin Cao  <robin.cao@torchmobile.com.cn>

        [BlackBerry] Remove unused variable in PluginViewBlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=77847

        Reviewed by Kentaro Hara.

        No changes in behavior, so no new tests.

        * plugins/blackberry/PluginViewBlackBerry.cpp:
        (WebCore::PluginView::updatePluginWidget):

2012-02-06  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: Fix CallArgument type in Inspector.json
        https://bugs.webkit.org/show_bug.cgi?id=77839

        Reviewed by Yury Semikhatsky.

        Protocol description is fixed: field type is changed. No changes to
        program code are necessary.

        * inspector/Inspector-0.1.json:
        * inspector/Inspector-1.0.json:
        * inspector/Inspector.json:

2012-02-05  Gavin Barraclough  <barraclough@apple.com>

        Remove JSObject defineGetter/defineSetter lookupGetter/lookupSetter
        https://bugs.webkit.org/show_bug.cgi?id=77451

        Reviewed by Sam Weinig.

        These can now all be implemented in terms of defineOwnProperty & getPropertyDescriptor.
        Also remove initializeGetterSetterProperty, since this is equivalent to putDirectAccessor.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore):
        (WebCore::JSDOMWindow::defineOwnProperty):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore):
        * bindings/js/JSDOMWindowShell.h:
        (JSDOMWindowShell):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::defineOwnProperty):
        (WebCore::JSLocationPrototype::defineOwnProperty):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        * page/DOMWindow.idl:
        * page/Location.idl:

2012-02-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distrcheck.

        * GNUmakefile.am: Fix typo in inspector json file.
        * GNUmakefile.list.am: Remove non existent file.

2012-02-06  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Qt minimal compilation fix after r106777.

        * inspector/InspectorDatabaseAgent.h: added missing #if ENABLED guards.

2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: REGRESSION detached dom nodes aren't highlighted
        https://bugs.webkit.org/show_bug.cgi?id=77829

        This functionality was lost when I replaced (Native roots) with (Detached DOM trees) on v8 side.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTreesRoot):
        (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):

2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: get rid of artificial heap snapshot nodes from the retaining tree.
        https://bugs.webkit.org/show_bug.cgi?id=77850

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotObjectNode):
        (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get isArtificial):
        (WebInspector.HeapSnapshot.prototype._init):

2012-02-05  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: switch domain agents to formal interfaces in BackendDispatcher
        https://bugs.webkit.org/show_bug.cgi?id=77444

        Reviewed by Yury Semikhatsky.

        All agent code is switched to formal interfaces. Actual agent class
        names and includes are dropped from InspectorBackendDispatcher.h.

        * inspector/CodeGeneratorInspector.py:
        (DomainNameFixes.get_fixed_data):
        (Generator.go):
        * inspector/InspectorAgent.h:
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::highlightNode):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        * inspector/InspectorDOMDebuggerAgent.h:
        * inspector/InspectorDOMStorageAgent.h:
        * inspector/InspectorDatabaseAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::continueToLocation):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):
        * inspector/InspectorFileSystemAgent.h:
        * inspector/InspectorIndexedDBAgent.h:
        * inspector/InspectorMemoryAgent.h:
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::getProfile):
        (WebCore::InspectorProfilerAgent::removeProfile):
        * inspector/InspectorProfilerAgent.h:
        (InspectorProfilerAgent):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
        * inspector/InspectorResourceAgent.h:
        (InspectorResourceAgent):
        * inspector/InspectorRuntimeAgent.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::start):
        * inspector/InspectorTimelineAgent.h:
        (InspectorTimelineAgent):
        * inspector/InspectorWorkerAgent.cpp:
        (WebCore::InspectorWorkerAgent::sendMessageToWorker):
        * inspector/InspectorWorkerAgent.h:
        (InspectorWorkerAgent):

2012-02-05  Kentaro Hara  <haraken@chromium.org>

        Rename [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
        [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString]
        https://bugs.webkit.org/show_bug.cgi?id=77611

        Reviewed by Adam Barth.

        While the Web IDL spec requires [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString],
        the current WebKit treats them as (not an empty string but) a null string.
        To avoid confusion, this patch renames [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
        and [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString].
        (Eventually we should fix WebKit so that it uses an empty string and then
        rename them to [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString].)

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm: Added FIXME.
        (JSValueToNative):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        (GetNativeTypeFromSignature):

        * bindings/scripts/test/TestObj.idl:
        * css/CSSCharsetRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSValue.idl:
        * css/MediaList.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/DOMImplementation.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/ProcessingInstruction.idl:
        * dom/ShadowRoot.idl:
        * fileapi/Blob.idl:
        * fileapi/DirectoryEntry.idl:
        * fileapi/DirectoryEntrySync.idl:
        * fileapi/Entry.idl:
        * fileapi/EntrySync.idl:
        * fileapi/WebKitBlobBuilder.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLCanvasElement.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLFieldSetElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLKeygenElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOutputElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLTitleElement.idl:
        * html/canvas/CanvasRenderingContext2D.idl:
        * page/Console.idl:
        * page/DOMWindow.idl:
        * storage/StorageEvent.idl:
        * svg/SVGAngle.idl:
        * svg/SVGElement.idl:
        * svg/SVGLength.idl:
        * svg/SVGScriptElement.idl:

2012-02-05  Kentaro Hara  <haraken@chromium.org>

        Rename [JSCCustom*] IDL to [JSCustom*] IDL
        https://bugs.webkit.org/show_bug.cgi?id=77844

        Reviewed by Adam Barth.

        Most existing JSC-specific IDLs have "JS" prefix. We can rename [JSCCustom] to
        [JSCustom], [JSCCustomGetter] to [JSCustomGetter], and [JSCCustomSetter] to
        [JSCustomSetter].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * css/CSSStyleDeclaration.idl:
        * html/HTMLDocument.idl:
        * html/canvas/DataView.idl:
        * page/DOMWindow.idl:
        * page/MemoryInfo.idl:
        * webaudio/ConvolverNode.idl:
        * webaudio/DOMWindowWebAudio.idl:
        * webaudio/WaveShaperNode.idl:
        * websockets/DOMWindowWebSocket.idl:
        * workers/WorkerContext.idl:

2012-02-05  ChangSeok Oh  <shivamidow@gmail.com>

        [EFL] Enable WebGL with glx backend
        https://bugs.webkit.org/show_bug.cgi?id=77308

        Reviewed by Martin Robinson.

        Implemented WebGL feature for EFL port. The way is very similar to the one of GTK port.

        No new tests required. We can verify this feature with the existing test cases.

        * CMakeLists.txt: Revised common files required for WebGL.
        * PlatformEfl.cmake: Added EFL specific files.
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        * platform/graphics/ANGLEWebKitBridge.h:
        * platform/graphics/GraphicsContext3D.h:
        (WebCore):
        (WebCore::GraphicsContext3D::platformTexture):
        (GraphicsContext3D):
        (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
        * platform/graphics/efl/DrawingBufferEfl.cpp: Copied from GTK port.
        (WebCore):
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (WebCore::DrawingBuffer::platformColorBuffer):
        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
        * platform/graphics/efl/GraphicsContext3DEfl.cpp: Almost same with GraphicsContext3DGtk.cpp.
        (WebCore::GraphicsContext3D::create):
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        (WebCore::GraphicsContext3D::~GraphicsContext3D):
        (WebCore::GraphicsContext3D::makeContextCurrent):
        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
        (WebCore::GraphicsContext3D::isGLES2Compliant):
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::createVertexArrayOES):
        (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
        (WebCore::Extensions3DOpenGL::isVertexArrayOES):
        (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

2012-02-05  Abhishek Arya  <inferno@chromium.org>

        Crash in FormSubmission::create.
        https://bugs.webkit.org/show_bug.cgi?id=77813

        Reviewed by Kent Tamura.

        Test: fast/forms/form-submission-create-crash.xhtml

        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::create):

2012-02-05  Andreas Kling  <awesomekling@apple.com>

        Remove unused file MappedAttributeEntry.h.
        <http://webkit.org/b/77841>

        Reviewed by Anders Carlsson.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/MappedAttributeEntry.h: Removed.
        * dom/StyledElement.h:

2012-02-05  Andreas Kling  <awesomekling@apple.com>

        StyledElement: Rename parseMappedAttribute() to parseAttribute().
        <http://webkit.org/b/77830>

        Reviewed by Anders Carlsson.

        Rename across the board and decorate subclasses with OVERRIDE.

2012-02-05  Gustavo Noronha Silva  <gns@gnome.org>

        Unreviewed syntax fix.

        * English.lproj/localizedStrings.js:

2012-02-05  Andreas Kling  <awesomekling@apple.com>

        Swedish buildfix.

        * dom/Document.cpp:
        (WebCore::wheelEventHandlerCountChanged):

2012-02-05  Anders Carlsson  <andersca@apple.com>

        The scrolling tree should be aware of any wheel event handlers on the page
        https://bugs.webkit.org/show_bug.cgi?id=77840

        Reviewed by Andreas Kling.

        If there are wheel event handlers on the page, any wheel events must be redispatched
        to the main thread so they can go through the DOM event handling.

        * dom/Document.cpp:
        (WebCore::wheelEventHandlerCountChanged):
        Inform the scrolling coordinator that the wheel event count changed.

        (WebCore::Document::didAddWheelEventHandler):
        (WebCore::Document::didRemoveWheelEventHandler):
        Call wheelEventHandlerCountChanged.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
        Call recomputeWheelEventHandlerCount.

        (WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCount):
        Update the scrolling tree state.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::ScrollingTree):
        Initialize m_hasWheelEventHandlers to false.

        (WebCore::ScrollingTree::tryToHandleWheelEvent):
        If m_hasWheelEventHandlers is true, bail.

        (WebCore::ScrollingTree::commitNewTreeState):
        Update m_hasWheelEventHandlers.

        * page/scrolling/ScrollingTreeState.cpp:
        (WebCore::ScrollingTreeState::ScrollingTreeState):
        (WebCore::ScrollingTreeState::setWheelEventHandlerCount):
        Add getter and setter for the wheel event handler count.

2012-02-05  Andreas Kling  <awesomekling@apple.com>

        Remove mapped vs non-mapped attribute distinction.
        <http://webkit.org/b/77827>

        Reviewed by Antti Koivisto.

        Removed the isMappedAttribute flag from Attribute as it no longer serves
        a practical purpose. Previously, StyledElement would generate mapped
        attributes and plain Element would generate non-mapped ones.

        The distinction is now made much more clearly by dividing the work between
        Element's and StyledElement's attributeChanged() methods. The only thing
        that StyledElement wants to do in addition to what Element does is
        calling parseMappedAttribute() (which we'll rename in a later patch.)

        * dom/Attribute.cpp:
        (WebCore::Attribute::clone):
        * dom/Attribute.h:
        (WebCore::Attribute::create):
        (WebCore::Attribute::Attribute):
        (Attribute):
        * dom/Document.cpp:
        (WebCore::Document::createAttributeNS):
        * dom/Element.cpp:
        (WebCore::Element::attributeChanged):
        * dom/Element.h:
        (Element):
        * dom/Node.cpp:
        (WebCore::Node::dumpStatistics):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):
        (WebCore::StyledElement::parseMappedAttribute):
        * dom/StyledElement.h:
        (StyledElement):
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
        * html/parser/TextDocumentParser.cpp:
        (WebCore::TextDocumentParser::insertFakePreElement):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::getPresentationAttribute):
        * xml/parser/MarkupTokenBase.h:
        (WebCore::::initializeAttributes):

2012-02-05  Andreas Kling  <awesomekling@apple.com>

        Kill CSSMappedAttributeDeclaration.
        <http://webkit.org/b/77820>

        Reviewed by Antti Koivisto.

        Replace all use of CSSMappedAttributeDeclaration by StylePropertySet.
        Moved the setNeedsStyleRecalc() calls from CSSMappedAttributeDeclaration
        to the add/remove-CSS-property helpers in StyledElement.

        This removes one step of indirection for attribute styles and reduces
        the size of elements that have presentational attributes by one pointer.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/CSSMappedAttributeDeclaration.cpp: Removed.
        * dom/CSSMappedAttributeDeclaration.h: Removed.
        * dom/DOMAllInOne.cpp:

            Remove CSSMappedAttributeDeclaration.{cpp,h}

        * css/CSSParser.h:
        * css/CSSParser.cpp:
        (WebCore::parseSimpleLengthValue):

            Remove CSSParser::parseMappedAttributeValue(), we now use parseValue()
            directly instead. We lose the benefit of caching new CSSValues in the
            document's CSSValuePool but this optimization can be added back later.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchAllRules):
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::ensureAttributeStyle):
        * dom/NamedNodeMap.h:
        (WebCore::NamedNodeMap::attributeStyle):
        (NamedNodeMap):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::removeCSSProperties):
        (WebCore::StyledElement::addCSSProperty):
        (WebCore::StyledElement::addCSSImageProperty):
        (WebCore::StyledElement::addCSSLength):
        (WebCore::StyledElement::addCSSColor):
        * dom/StyledElement.h:
        (WebCore):
        (WebCore::StyledElement::attributeStyle):
        (WebCore::StyledElement::ensureAttributeStyle):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):

2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: beautify retaining tree items view.
        https://bugs.webkit.org/show_bug.cgi?id=77810

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
        * inspector/front-end/heapProfiler.css:
        (.cycled-ancessor-node):
        * inspector/front-end/profilesPanel.css:

2012-02-04  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Add support to force full damage in CCDamageTracker
        https://bugs.webkit.org/show_bug.cgi?id=76805

        Reviewed by James Robinson.

        Unit test added to CCDamageTrackerTest.cpp.

        This feature is needed for events that should cause the entire
        surface to be damaged, even if layers themselves had only partial
        damage or no damage at all. For example, tab-switching is one such
        event.

        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::CCDamageTracker::CCDamageTracker):
        (WebCore::CCDamageTracker::updateDamageRectForNextFrame):
        * platform/graphics/chromium/cc/CCDamageTracker.h:
        (WebCore::CCDamageTracker::forceFullDamageNextUpdate):
        (CCDamageTracker):

2012-02-04  Anders Carlsson  <andersca@apple.com>

        Remove dead code from ScrollingCoordinator
        https://bugs.webkit.org/show_bug.cgi?id=77821

        Reviewed by Sam Weinig.

        * WebCore.exp.in:
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):
        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
        (WebCore::RenderLayerCompositor::updateRootLayerPosition):

2012-02-04  Anders Carlsson  <andersca@apple.com>

        The scrolling tree should inform the main scrolling coordinator when the scroll position changes
        https://bugs.webkit.org/show_bug.cgi?id=77818

        Reviewed by Sam Weinig.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
        Set the main frame scroll position.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::updateMainFrameScrollPosition):
        Call ScrollingCoordinator::updateMainFrameScrollPosition on the main thread.

        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::scrollBy):
        Call ScrollingTree::updateMainFrameScrollPosition.

2012-02-04  Andreas Kling  <awesomekling@apple.com>

        Element: Remove unnecessary attributeChanged() argument.
        <http://webkit.org/b/77814>

        Reviewed by Ryosuke Niwa.

        Remove the 'preserveDecls' argument to Element::attributeChanged() as that is no
        longer needed after the removal of per-attribute style declarations.
        Decorated subclass overrides with OVERRIDE since we're touching the lines.

        Also removed an old inaccurate comment in NamedNodeMap::setAttributes() - calling
        attributeChanged() is absolutely necessary to initialize element-specific state.

        * dom/Element.cpp:
        (WebCore::Element::attributeChanged):
        * dom/Element.h:
        (Element):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setAttributes):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):
        * dom/StyledElement.h:
        (StyledElement):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateType):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::attributeChanged):
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::attributeChanged):
        * html/HTMLScriptElement.h:
        (HTMLScriptElement):
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::attributeChanged):
        * html/HTMLTrackElement.h:
        (HTMLTrackElement):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::attributeChanged):
        * svg/SVGAnimationElement.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::attributeChanged):
        * svg/SVGElement.h:
        (SVGElement):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::attributeChanged):
        * svg/animation/SVGSMILElement.h:
        (SVGSMILElement):

2012-02-04  Ken Buchanan  <kenrb@chromium.org>

        Crash when reparenting children of flexible boxes
        https://bugs.webkit.org/show_bug.cgi?id=77458

        Reviewed by Ojan Vafai.

        This fixes some regressions I introduced in r106150. RenderBlock::
        removeChild needs to be careful about not collapsing anonymous
        blocks underneath flexible boxes, and also about node ordering
        when there is an after block.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild):
        (WebCore::RenderBlock::collapseAnonymousBoxChild):

2012-02-04  Ryosuke Niwa  <rniwa@webkit.org>

        Debug build fix after r106715.

        * html/HTMLDetailsElement.cpp:
        (WebCore::DetailsSummaryElement::create):

2012-02-04  Andreas Kling  <awesomekling@apple.com>

        Unreviewed test fix after r106740.
        <http://webkit.org/b/77204>

        Disable matched declaration caching for elements with attribute style until we can
        figure out how it's supposed to work.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchAllRules):

2012-02-03  Andreas Kling  <awesomekling@apple.com>

        Kill per-Attribute style declarations.
        <http://webkit.org/b/77204>

        Reviewed by Antti Koivisto.

        TL;DR summary: Remove the per-Attribute style declarations and replace them by a single
        style declaration on StyledElement that acts as a secondary inline style.

        The previous design was conceived in the Age of the Old Web(tm) where the majority of
        element styling was accomplished via attributes. Nowadays, CSS is a much better tool for
        this and we should optimize around that instead.

        StyledElements now have an attributeStyle() which contains all the styling from attributes.
        parseMappedAttribute() is responsible for adding/removing properties to the attributeStyle
        as the corresponding attributes come in/out of the element.

        Each Attribute instance shrinks by one pointer, each element that has attributes grows by
        one pointer. The styles from individual attributes are no longer shared, so content that
        uses a lot of repeating styling attributes will see a slight memory regression from this.
        Future improvements to this could enable sharing the attributeStyle between elements that
        have the same exact attributes to mitigate some of the damage.

        There should be no web-facing behavior change from this, but it does break two things:

        - The Inspector feature for displaying per-attribute styles. To keep things manageable,
          this patch simply files all the attribute styles together under an anonymous attribute
          in the Inspector.

        - The Obj-C DOM binding for Attr::style() has to be kept for compatibility reasons,
          though it's already deprecated. It will now always return nil, since there's no way to
          retrieve a live style declaration that's specific to a certain Attr.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchAllRules):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        * dom/Attr.h:
        (WebCore):
        (Attr):
        (WebCore::Attr::style):
        * dom/Attribute.cpp:
        (WebCore::Attribute::clone):
        * dom/Attribute.h:
        (WebCore):
        (WebCore::Attribute::create):
        (WebCore::Attribute::createMapped):
        (Attribute):
        (WebCore::Attribute::Attribute):
        * dom/CSSMappedAttributeDeclaration.cpp:
        (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
        (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
        * dom/CSSMappedAttributeDeclaration.h:
        (CSSMappedAttributeDeclaration):
        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
        * dom/Element.h:
        (Element):
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::ensureAttributeStyle):
        (WebCore):
        * dom/NamedNodeMap.h:
        (WebCore::NamedNodeMap::attributeStyle):
        (NamedNodeMap):
        * dom/StyledElement.cpp:
        (WebCore):
        (WebCore::StyledElement::attributeChanged):
        (WebCore::StyledElement::removeCSSProperties):
        (WebCore::StyledElement::addCSSProperty):
        (WebCore::StyledElement::addCSSImageProperty):
        (WebCore::StyledElement::addCSSLength):
        (WebCore::StyledElement::addCSSColor):
        * dom/StyledElement.h:
        (StyledElement):
        (WebCore::StyledElement::removeCSSProperty):
        (WebCore::StyledElement::attributeStyle):
        (WebCore::StyledElement::ensureAttributeStyle):
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::parseMappedAttribute):
        * html/HTMLBRElement.h:
        (HTMLBRElement):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute):
        * html/HTMLBodyElement.h:
        (HTMLBodyElement):
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::parseMappedAttribute):
        * html/HTMLDivElement.h:
        (HTMLDivElement):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::applyBorderAttribute):
        (WebCore::HTMLElement::mapLanguageAttributeToLocale):
        (WebCore::HTMLElement::parseMappedAttribute):
        (WebCore::HTMLElement::removeHTMLAlignment):
        (WebCore):
        (WebCore::HTMLElement::addHTMLAlignmentToStyledElement):
        (WebCore::HTMLElement::setContentEditable):
        * html/HTMLElement.h:
        (HTMLElement):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        * html/HTMLEmbedElement.h:
        (HTMLEmbedElement):
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::parseMappedAttribute):
        * html/HTMLFontElement.h:
        (HTMLFontElement):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        * html/HTMLFrameSetElement.h:
        (HTMLFrameSetElement):
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::parseMappedAttribute):
        * html/HTMLHRElement.h:
        (HTMLHRElement):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::parseMappedAttribute):
        * html/HTMLIFrameElement.h:
        (HTMLIFrameElement):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute):
        * html/HTMLImageElement.h:
        (HTMLImageElement):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute):
        * html/HTMLInputElement.h:
        (HTMLInputElement):
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::parseMappedAttribute):
        * html/HTMLLIElement.h:
        (HTMLLIElement):
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::parseMappedAttribute):
        * html/HTMLMarqueeElement.h:
        (HTMLMarqueeElement):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::parseMappedAttribute):
        * html/HTMLOListElement.h:
        (HTMLOListElement):
        * html/HTMLOutputElement.cpp:
        * html/HTMLOutputElement.h:
        (HTMLOutputElement):
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::parseMappedAttribute):
        * html/HTMLParagraphElement.h:
        (HTMLParagraphElement):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::parseMappedAttribute):
        * html/HTMLPlugInElement.h:
        (HTMLPlugInElement):
        * html/HTMLPreElement.cpp:
        (WebCore::HTMLPreElement::parseMappedAttribute):
        * html/HTMLPreElement.h:
        (HTMLPreElement):
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::parseMappedAttribute):
        * html/HTMLTableCaptionElement.h:
        (HTMLTableCaptionElement):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::parseMappedAttribute):
        * html/HTMLTableCellElement.h:
        (HTMLTableCellElement):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::parseMappedAttribute):
        * html/HTMLTableColElement.h:
        (HTMLTableColElement):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::parseMappedAttribute):
        * html/HTMLTableElement.h:
        (HTMLTableElement):
        * html/HTMLTablePartElement.cpp:
        (WebCore):
        (WebCore::HTMLTablePartElement::parseMappedAttribute):
        * html/HTMLTablePartElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
        * html/HTMLUListElement.cpp:
        (WebCore::HTMLUListElement::parseMappedAttribute):
        * html/HTMLUListElement.h:
        (HTMLUListElement):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::parseMappedAttribute):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::parseMappedAttribute):
        * mathml/MathMLElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::parseMappedAttribute):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::parseMappedAttribute):
        (WebCore::SVGStyledElement::getPresentationAttribute):
        * svg/SVGStyledElement.h:
        (SVGStyledElement):
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::parseMappedAttribute):

2012-02-03  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: get rid of cycles in retaining tree
        https://bugs.webkit.org/show_bug.cgi?id=77801

        Drive by fix: 'retained by' prefix was removed.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotObjectNode):
        (WebInspector.HeapSnapshotObjectNode.prototype._updateHasChildren):
        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
        * inspector/front-end/profilesPanel.css:
        (.cycled-ancessor-node):

2012-02-04  Kentaro Hara  <haraken@chromium.org>

        Add the "JS" prefix to JSC specific IDL attributes
        https://bugs.webkit.org/show_bug.cgi?id=77693

        Reviewed by Darin Adler.

        Some JSC specific IDLs do not have "JS" prefix, e.g. [CustomIsReachable].
        It might be OK since JSC is the main JavaScript engine in WebKit, but
        distinguishing IDLs widely used in WebKit and IDLs used in JSC only would help
        people understand the role of IDLs.

        This patch renames the following JSC specific IDLs:

            CustomFinalize => JSCustomFinalize
            CustomIsReachable => JSCustomIsReachable
            CustomMarkFunction => JSCustomMarkFunction
            CustomToJS => JSCustomToJS
            CustomNativeConverter => JSCustomToNativeObject (Note: For naming consistency with [JSCustomToJS])
            GenerateIsReachable => JSGenerateIsReachable
            GenerateToJS => JSGenerateToJS
            NoStaticTables => JSNoStaticTables
            WindowEventListener => JSWindowEventListener
            InlineGetOwnPropertySlot => JSInlineGetOwnPropertySlot
            DelegatingPrototypePutFunction => JSCustomPrototypePutDelegate

        No tests. No changes in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (HasCustomToV8Implementation):

        * bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.

        * css/CSSRule.idl:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSValue.idl:
        * css/MediaList.idl:
        * css/MediaQueryListListener.idl:
        * css/StyleMedia.idl:
        * css/StyleSheet.idl:
        * css/StyleSheetList.idl:
        * dom/Attr.idl:
        * dom/DOMCoreException.idl:
        * dom/DOMImplementation.idl:
        * dom/DOMStringMap.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/ErrorEvent.idl:
        * dom/Event.idl:
        * dom/EventException.idl:
        * dom/EventListener.idl:
        * dom/MessageChannel.idl:
        * dom/MessageEvent.idl:
        * dom/MessagePort.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/NodeFilter.idl:
        * dom/NodeIterator.idl:
        * dom/NodeList.idl:
        * dom/TreeWalker.idl:
        * dom/WebKitNamedFlow.idl:
        * fileapi/Blob.idl:
        * fileapi/DOMFileSystem.idl:
        * fileapi/DOMFileSystemSync.idl:
        * fileapi/DirectoryEntry.idl:
        * fileapi/DirectoryEntrySync.idl:
        * fileapi/DirectoryReader.idl:
        * fileapi/DirectoryReaderSync.idl:
        * fileapi/Entry.idl:
        * fileapi/EntryArray.idl:
        * fileapi/EntryArraySync.idl:
        * fileapi/EntrySync.idl:
        * fileapi/File.idl:
        * fileapi/FileEntry.idl:
        * fileapi/FileEntrySync.idl:
        * fileapi/FileError.idl:
        * fileapi/FileException.idl:
        * fileapi/FileList.idl:
        * fileapi/FileReader.idl:
        * fileapi/FileReaderSync.idl:
        * fileapi/FileWriter.idl:
        * fileapi/Metadata.idl:
        * fileapi/OperationNotAllowedException.idl:
        * fileapi/WebKitBlobBuilder.idl:
        * html/DOMFormData.idl:
        * html/DOMSettableTokenList.idl:
        * html/DOMTokenList.idl:
        * html/DOMURL.idl:
        * html/HTMLAllCollection.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLCollection.idl:
        * html/HTMLFrameSetElement.idl:
        * html/ImageData.idl:
        * html/MediaController.idl:
        * html/TextTrack.idl:
        * html/TextTrackCue.idl:
        * html/VoidCallback.idl:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/ArrayBufferView.idl:
        * html/canvas/CanvasRenderingContext.idl:
        * html/canvas/DataView.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/OESStandardDerivatives.idl:
        * html/canvas/OESTextureFloat.idl:
        * html/canvas/OESVertexArrayObject.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        * html/canvas/WebGLCompressedTextures.idl:
        * html/canvas/WebGLDebugRendererInfo.idl:
        * html/canvas/WebGLDebugShaders.idl:
        * html/canvas/WebGLLoseContext.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * html/track/TextTrackList.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * mediastream/LocalMediaStream.idl:
        * page/BarInfo.idl:
        * page/Console.idl:
        * page/DOMSelection.idl:
        * page/DOMWindow.idl:
        * page/EventSource.idl:
        * page/Geolocation.idl:
        * page/History.idl:
        * page/Location.idl:
        * page/Navigator.idl:
        * page/Screen.idl:
        * page/WorkerNavigator.idl:
        * plugins/DOMMimeTypeArray.idl:
        * plugins/DOMPluginArray.idl:
        * storage/Database.idl:
        * storage/DatabaseSync.idl:
        * storage/IDBAny.idl:
        * storage/IDBKey.idl:
        * storage/SQLError.idl:
        * storage/SQLException.idl:
        * storage/SQLResultSet.idl:
        * storage/SQLResultSetRowList.idl:
        * storage/SQLTransaction.idl:
        * storage/SQLTransactionSync.idl:
        * storage/Storage.idl:
        * svg/SVGElementInstance.idl:
        * svg/SVGPathSeg.idl:
        * webaudio/AudioBufferCallback.idl:
        * webaudio/AudioBufferSourceNode.idl:
        * webaudio/AudioContext.idl:
        * webaudio/AudioDestinationNode.idl:
        * webaudio/AudioGain.idl:
        * webaudio/AudioGainNode.idl:
        * webaudio/AudioPannerNode.idl:
        * webaudio/AudioProcessingEvent.idl:
        * webaudio/BiquadFilterNode.idl:
        * webaudio/ConvolverNode.idl:
        * webaudio/DelayNode.idl:
        * webaudio/DynamicsCompressorNode.idl:
        * webaudio/HighPass2FilterNode.idl:
        * webaudio/JavaScriptAudioNode.idl:
        * webaudio/LowPass2FilterNode.idl:
        * webaudio/MediaElementAudioSourceNode.idl:
        * webaudio/OfflineAudioCompletionEvent.idl:
        * webaudio/RealtimeAnalyserNode.idl:
        * webaudio/WaveShaperNode.idl:
        * websockets/CloseEvent.idl:
        * websockets/WebSocket.idl:
        * workers/AbstractWorker.idl:
        * workers/DedicatedWorkerContext.idl:
        * workers/SharedWorker.idl:
        * workers/SharedWorkerContext.idl:
        * workers/Worker.idl:
        * workers/WorkerContext.idl:
        * workers/WorkerLocation.idl:
        * xml/XMLHttpRequest.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XMLHttpRequestProgressEvent.idl:
        * xml/XMLHttpRequestUpload.idl:
        * xml/XPathResult.idl:

2012-02-04  Emil A Eklund  <eae@chromium.org>

        Convert RenderTheme over to new layout abstraction
        https://bugs.webkit.org/show_bug.cgi?id=77783

        Reviewed by Eric Seidel.

        Change the RenderTheme classes to use the new layout abstraction as a
        part of the ongoing conversion work.

        No new tests.

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
        (WebCore::RenderTheme::baselinePosition):
        (WebCore::RenderTheme::adjustRepaintRect):
        (WebCore::RenderTheme::meterSizeForBounds):
        * rendering/RenderTheme.h:
        (RenderTheme):
        (WebCore::RenderTheme::paintCapsLockIndicator):
        * rendering/RenderThemeChromiumMac.h:
        (RenderThemeChromiumMac):
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeMac.h:
        (RenderThemeMac):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustRepaintRect):
        (WebCore::RenderThemeMac::inflateRect):
        (WebCore::RenderThemeMac::setControlSize):
        (WebCore::RenderThemeMac::paintCapsLockIndicator):
        (WebCore::RenderThemeMac::paintMenuList):
        (WebCore::RenderThemeMac::meterSizeForBounds):
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::setPopupButtonCellState):
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::baselinePosition):
        * rendering/RenderThemeSafari.h:
        (RenderThemeSafari):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
        (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
        * rendering/RenderThemeWin.h:
        (RenderThemeWin):

2012-02-04  Stephen White  <senorblanco@chromium.org>

        [chromium] Fix multi-second hangs in compositor invalidating large layers
        https://bugs.webkit.org/show_bug.cgi?id=77774

        Reviewed by James Robinson.

        Correctness covered by existing tests.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        Remove tiles from the tiler when they are invalid (ie., no longer have
        texture backing).
        (WebCore::TiledLayerChromium::invalidateRect):
        Instead of iterating over the tile indices (which may be very large),
        iterate over the tile hash map instead.

2012-02-04  Swapna P  <spottabathini@innominds.com>

        Reviewed by Antonio Gomes.
        
        Bug: iframe with scrolling=no incorrectly autoscrollable
        https://bugs.webkit.org/show_bug.cgi?id=61558
        
        Added check for frame scrolling mode just before applying scroll on frame content in function RenderLayer::scrollRect
        
        Testcase: LayoutTests/fast/events/autoscroll-with-non-scrollable-parent.html
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):

2012-02-03  Tim Horton  <timothy_horton@apple.com>

        Canvas-into-canvas drawing should respect backing store scale ratio
        https://bugs.webkit.org/show_bug.cgi?id=77784
        <rdar://problem/10549729>

        Reviewed by Dan Bernstein.

        Respect the backing store scale ratio when drawing a canvas into another
        canvas via ctx.drawImage(canvas, x, y). Previous behavior caused canvas
        drawing to differ based on the size of the backing store, which is ideally
        an implementation detail to authors.

        Also, rename the source canvas arguments to CanvasRenderingContext2D::drawImage
        to be more clear.

        No new tests.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):

2012-02-03  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=77782
        WebPageProxy::didNewFirstVisuallyNonEmptyLayout should is called more than 
        once on some pages with frames
        -and corresponding-
        <rdar://problem/10798474>

        Reviewed by Sam Weinig.

        startCountingRelevantRepaintedObjects() should only be called for the main 
        frame. Otherwise, the counter will be re-set inappropriately, and 
        didNewFirstVisuallyNonEmptyLayout may even end up firing more than once. 
        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):

2012-02-03  Benjamin Poulain  <bpoulain@apple.com>

        Reduce the memory allocations of WebCore's cssPropertyName()
        https://bugs.webkit.org/show_bug.cgi?id=74782

        Reviewed by Geoffrey Garen.

        Add a fast path to avoid the use of the StringBuilder.

        The string builder is needed for two cases:
        -CSS prefix (the character after the prefix must be uppercase)
        -JavaScript CamelCase name for CSS properties

        We can skip all memory allocations if the property is not in those
        two cases. We start by testing the string for uppercase characters,
        and just return the an identical string.

        This patch create a "fast case" 2.7 times faster than previously.
        The "slow case" is 2-3% slower due to the additional check at the beginning.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore):
        (WebCore::containsASCIIUpperChar):
        (WebCore::cssPropertyName):
        (WebCore::isCSSPropertyName):

2012-02-03  Anders Carlsson  <andersca@apple.com>

        WebKit2 should dispatch wheel events to the new ScrollingTree class
        https://bugs.webkit.org/show_bug.cgi?id=77795

        Reviewed by Andreas Kling.

        * WebCore.exp.in:
        Add new symbols needed by WebKit2.

        * WebCore.xcodeproj/project.pbxproj:
        Make ScrollingTree.h private so it can be included by WebKit2.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::scrollingTree):
        * page/scrolling/ScrollingCoordinator.h:
        Add a scrolling tree getter.

2012-02-03  Dmitry Lomov  <dslomov@google.com>

        [Chromium] WebCore::toV8Context crashes if DomWindow::frame() returns null.
        https://bugs.webkit.org/show_bug.cgi?id=77686.

        Reviewed by Adam Barth.

        * bindings/v8/V8Helpers.cpp:
        (WebCore::toV8Context):

2012-02-03  Anders Carlsson  <andersca@apple.com>

        The scrolling tree should be able to handle wheel events
        https://bugs.webkit.org/show_bug.cgi?id=77794

        Reviewed by Andreas Kling.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::tryToHandleWheelEvent):
        New function. Currently this always returns that it was able to handle the wheel event,
        but this will change in the future.

        (WebCore::ScrollingTree::handleWheelEvent):
        Ask the root node to handle the wheel event.

        * page/scrolling/ScrollingTreeNode.h:
        Add a handleWheelEvent pure virtual member function.

        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
        Call scrollBy for now. Eventually this should use a scroll elasticity controller to handle
        things like rubber-banding.

        (WebCore::ScrollingTreeNodeMac::scrollPosition):
        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
        Add getters and setters for the scroll position.

        (WebCore::ScrollingTreeNodeMac::scrollBy):
        Update the scroll position given the offset.

2012-02-03  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in Node::dispatchSubtreeModifiedEvent
        https://bugs.webkit.org/show_bug.cgi?id=77449

        Reviewed by Alexey Proskuryakov.

        The bug was caused by appendChild not retaining this pointer.
        This is normally okay because there's another owner within JSC/V8 binding code that
        holds onto the node but this isn't the case when nodes are created as a part
        of setting document.title. Fixed the crash by retaining the pointer as needed.

        Test: fast/dom/remove-body-during-title-creation.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::appendChild):

2012-02-03  Anders Carlsson  <andersca@apple.com>

        Apply changed properties from the updated scrolling tree state
        https://bugs.webkit.org/show_bug.cgi?id=77792

        Reviewed by Andreas Kling.

        * page/scrolling/ScrollingTreeNode.cpp:
        (WebCore::ScrollingTreeNode::update):
        Update the tree node properties from the scrolling tree state.

        * page/scrolling/ScrollingTreeNode.h:
        (WebCore::ScrollingTreeNode::scrollingTree):
        (WebCore::ScrollingTreeNode::viewportRect):
        (WebCore::ScrollingTreeNode::contentsSize):
        Add getters.

        * page/scrolling/ScrollingTreeState.h:
        (WebCore::ScrollingTreeState::changedProperties):
        New function for accessing the changed properties of the scrolling tree state.

        * page/scrolling/mac/ScrollingTreeNodeMac.h:
        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::update):
        Update the scroll layer from the scrolling tree if necessary.

2012-02-03  Brady Eidson  <beidson@apple.com>

        <rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
        Need a WK2 API to filter which subframes go into WebArchives as they are created.

        Reviewed by Darin Adler.

        This adds a filter callback object that allows clients to get called back for each
        subframe that might be added to a WebArchive.

        API only, No new layout tests.

        * WebCore.exp.in:
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create):
        (WebCore::LegacyWebArchive::createFromSelection):
        * loader/archive/cf/LegacyWebArchive.h:
        (FrameFilter):
        (WebCore:: FrameFilter::~ FrameFilter):
        (LegacyWebArchive):

2012-02-03  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Key generators not rolled back if insertion fails or is aborted
        https://bugs.webkit.org/show_bug.cgi?id=77060

        Reviewed by Tony Chang.

        Test: storage/indexeddb/key-generator.html

        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put): Add abort task to reset cache.
        (WebCore::IDBObjectStoreBackendImpl::revertAutoIncrementKeyCache):
        (WebCore):
        (WebCore::IDBObjectStoreBackendImpl::putInternal): Reset cache on error.
        * storage/IDBObjectStoreBackendImpl.h:
        (IDBObjectStoreBackendImpl):

2012-02-03  Tony Chang  <tony@chromium.org>

        positive and negative flex values are not being cleared on style changes
        https://bugs.webkit.org/show_bug.cgi?id=77771

        Reviewed by Ojan Vafai.

        If the width or height was a flex() value, but is no longer a flex
        value, we weren't clearing the positive and negative flex values in
        RenderStyle.

        Test: css3/flexbox/flex-no-flex.html

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue):

2012-02-03  James Robinson  <jamesr@chromium.org>

        [chromium] Defer makeContextCurrent in compositor until first frame
        https://bugs.webkit.org/show_bug.cgi?id=77269

        Reviewed by Kenneth Russell.

        There are situations where we need to instantiate a compositor, but can't call makeContextCurrent() until some
        initialization work completes on another thread that we cannot block for. This defers the first
        makeContextCurrent() call until we need to produce the first frame at which point we know the call can succeed,
        assuming that the scheduler does the right thing.

        This is accomplished by splitting up proxy initialization into two pieces:
        *) initializeContext() which attempts to instantiate a GraphicsContext3D. This can fail if we can't make a
        context at all, in which case we abort completely and return NULL from CCLayerTreeHost::create().

        *) initializeLayerRenderer() which uses the previously-created context to instantiate our compositor objects and
            grab our renderer capabilities. This can fail if the context is not usable for compositing, which we report
            to the client as a lost context event.

        Internally this introduces a new state to the CCLayerTreeHostImpl where it has a context but does not yet have a
        LayerRendererChromium, which has fairly minimal impact. One other change is that we don't instantiate the
        TextureManagers until we have the renderer capabilities, but this isn't necessary until we want to start
        painting so it doesn't have any impact outside of some overly intrustive unit tests.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::createTextureUpdater):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (ContentLayerChromium):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/ImageLayerChromium.h:
        (ImageLayerChromium):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        * platform/graphics/chromium/TiledLayerChromium.h:
        (WebCore::TiledLayerChromium::setSampledTexelFormat):
        (TiledLayerChromium):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::initialize):
        (WebCore::CCLayerTreeHost::initializeLayerRenderer):
        (WebCore):
        (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
        (WebCore::CCLayerTreeHost::compositeAndReadback):
        (WebCore::CCLayerTreeHost::finishAllRendering):
        (WebCore::CCLayerTreeHost::setViewportSize):
        (WebCore::CCLayerTreeHost::setVisible):
        (WebCore::CCLayerTreeHost::updateLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        ():
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::isContextLost):
        * platform/graphics/chromium/cc/CCProxy.h:
        (CCProxy):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
        (WebCore::CCSingleThreadProxy::compositeAndReadback):
        (WebCore::CCSingleThreadProxy::initializeContext):
        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
        (WebCore::CCSingleThreadProxy::layerRendererCapabilities):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (CCSingleThreadProxy):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::CCThreadProxy):
        (WebCore::CCThreadProxy::compositeAndReadback):
        (WebCore::CCThreadProxy::initializeContext):
        (WebCore):
        (WebCore::CCThreadProxy::initializeLayerRenderer):
        (WebCore::CCThreadProxy::layerRendererCapabilities):
        (WebCore::CCThreadProxy::initializeImplOnImplThread):
        (WebCore::CCThreadProxy::initializeContextOnImplThread):
        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (CCThreadProxy):

2012-02-03  James Robinson  <jamesr@chromium.org>

        Unreviewed compile fix for chromium - add commas after entries in list in WebCore.gypi

        * WebCore.gypi:

2012-02-03  Andreas Kling  <awesomekling@apple.com>

        Unreviewed build fix attempt after r106695.

        CSSMutableStyleDeclaration was renamed to StylePropertySet.

        * bindings/scripts/CodeGeneratorCPP.pm:
        (AddIncludesForType):
        * bindings/scripts/CodeGeneratorV8.pm:
        (AddIncludesForType):
        * bindings/v8/V8DOMWindowShell.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8Proxy.cpp:

2012-02-03  Yong Li  <yoli@rim.com>

        [BlackBerry] Let userIdleTime() return maximum number instead of 0 as
        most of other ports do.
        https://bugs.webkit.org/show_bug.cgi?id=77769

        Reviewed by Rob Buis.

        userIdleTime() should return a big number so it won't block page cache
        from releasing cached pages. See PageCache::releaseAutoreleasedPagesNowOrReschedule().

        No new tests as no visible functional changes.

        * platform/blackberry/SystemTimeBlackBerry.cpp:
        (WebCore::userIdleTime):

2012-02-03  Anders Carlsson  <andersca@apple.com>

        Commit scrolling tree state changes to the scrolling tree
        https://bugs.webkit.org/show_bug.cgi?id=77780

        Reviewed by Darin Adler.

        * WebCore.xcodeproj/project.pbxproj:
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::commitTreeState):
        Send the new scrolling tree state over to the ScrollingTree on the scrolling thread.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::ScrollingTree):
        Create a root node.

        (WebCore::ScrollingTree::commitNewTreeState):
        Update the root node.

        * page/scrolling/ScrollingTreeNode.cpp: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
        * page/scrolling/ScrollingTreeNode.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
        Stub out an abstract ScrollingTreeNode class.

        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
        Update the scroll layer on the tree state.

        * page/scrolling/mac/ScrollingTreeNodeMac.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
        * page/scrolling/mac/ScrollingTreeNodeMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
        Stub out the concrete ScrollingTreeNodeMac subclass.

2012-02-03  Antti Koivisto  <antti@apple.com>

        Rename CSSMutableStyleDeclaration.h/.cpp to StylePropertySet.h/.cpp 
        https://bugs.webkit.org/show_bug.cgi?id=77779

        Reviewed by Darin Adler.

        Match the new class name.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        * bindings/js/JSDOMBinding.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        (NativeToJSValue):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (AddIncludesForType):
        * css/CSSAllInOne.cpp:
        * css/CSSComputedStyleDeclaration.cpp:
        * css/CSSFontFaceRule.cpp:
        * css/CSSFontFaceRule.h:
        * css/CSSFontSelector.cpp:
        * css/CSSMutableStyleDeclaration.cpp: Removed.
        * css/CSSMutableStyleDeclaration.h: Removed.
        * css/CSSPageRule.cpp:
        * css/CSSParser.cpp:
        * css/CSSStyleRule.cpp:
        * css/CSSStyleRule.h:
        * css/StylePropertySet.cpp: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.cpp.
        * css/StylePropertySet.h: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.h.
        * css/WebKitCSSKeyframeRule.cpp:
        * css/WebKitCSSKeyframeRule.h:
        * css/WebKitCSSKeyframesRule.cpp:
        * css/WebKitCSSMatrix.cpp:
        * dom/CSSMappedAttributeDeclaration.h:
        * dom/ElementAttributeData.h:
        * dom/StyledElement.cpp:
        * dom/StyledElement.h:
        * editing/ApplyStyleCommand.cpp:
        * editing/DeleteButtonController.cpp:
        * editing/EditingStyle.cpp:
        * editing/Editor.cpp:
        * editing/EditorCommand.cpp:
        * editing/RemoveCSSPropertyCommand.cpp:
        * editing/ReplaceSelectionCommand.cpp:
        * editing/markup.cpp:
        * html/canvas/CanvasRenderingContext2D.cpp:
        * html/shadow/MeterShadowElement.cpp:
        * inspector/InspectorCSSAgent.cpp:
        * inspector/InspectorDOMAgent.cpp:
        * page/DragController.cpp:
        * page/Frame.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/RenderTreeAsText.cpp:
        * svg/SVGFontFaceElement.h:
        (WebCore):

2012-02-03  Mihnea Ovidenie  <mihnea@adobe.com>

        Crash in RenderFlowThread::setRegionBoxesRegionStyle
        https://bugs.webkit.org/show_bug.cgi?id=77474

        Reviewed by David Hyatt.

        Flexbox and deprecated flexible box should also compute their region range
        when they are part of a named flow. Until now, only RenderBlock elements
        were doing that. Flexbox and deprecated flexible box, while implementing
        their own layoutBlock method, were not doing that.

        Tests: fast/regions/flexbox-in-region-crash.html
               fast/regions/select-in-region-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeInitialRegionRangeForBlock):
        (WebCore):
        (WebCore::RenderBlock::computeRegionRangeForBlock):
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::removeRegionFromThread):
        (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::RenderRegion):
        (WebCore::RenderRegion::paintReplaced):
        * rendering/RenderRegion.h:
        (RenderRegion):

2012-02-03  Anders Carlsson  <andersca@apple.com>

        Update the tree state after layout and add a way to commit it
        https://bugs.webkit.org/show_bug.cgi?id=77767

        Reviewed by Andreas Kling.

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):
        Call ScrollingCoordinator::frameViewLayoutUpdated if we have a scrolling coordinator.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
        Initialize m_scrollingTreeStateCommitterTimer.

        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
        Update the viewport rect and contents size of the frame view.

        (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
        Schedule a tree state commit unless we've already scheduled one or there are no changed properties.

        (WebCore::ScrollingCoordinator::scrollingTreeStateCommitterTimerFired):
        Call commitTreeState().

        (WebCore::ScrollingCoordinator::commitTreeStateIfNeeded):
        Commit the tree state unless there are no changed properties.

        (WebCore::ScrollingCoordinator::commitTreeState):
        Commit the tree state. We currently don't do anything with the committed state yet.

        * page/scrolling/ScrollingCoordinator.h:
        Add new member functions and the timer member variable.

        * page/scrolling/ScrollingTreeState.cpp:
        (WebCore::ScrollingTreeState::commit):
        Copy the current tree state and restore the changed properties on the original.

        * page/scrolling/ScrollingTreeState.h:
        (WebCore::ScrollingTreeState::hasChangedProperties):
        Return whether there are any changed properties in the tree state.

2012-02-03  Andreas Kling  <awesomekling@apple.com>

        HTMLElement: Clean up tabindex attribute parsing.
        <http://webkit.org/b/77763>

        Reviewed by Antti Koivisto.

        Remove an unnecessary getAttribute() call when parsing tabindexAttr.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):

2012-02-03  Anders Carlsson  <andersca@apple.com>

        ScrollingTreeState should keep track of the scroll layer
        https://bugs.webkit.org/show_bug.cgi?id=77762

        Reviewed by Andreas Kling.

        * WebCore.xcodeproj/project.pbxproj:
        * page/scrolling/ScrollingTreeState.h:
        (ScrollingTreeState):
        * page/scrolling/mac/ScrollingTreeStateMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTreeState.h.
        (WebCore):
        (WebCore::ScrollingTreeState::platformScrollLayer):
        (WebCore::ScrollingTreeState::setScrollLayer):

2012-02-03  Antti Koivisto  <antti@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=77740
        Split CSSMutableStyleDeclaration into separate internal and CSSOM types 

        Reviewed by Andreas Kling and Darin Adler.

        Split the CSSMutableStyleDeclaration into an internal type (StylePropertySet) and a CSSOM implementation type (PropertySetCSSStyleDeclaration).
        
        To keep things somewhat manageable, this patch does NOT

        - rename or add any files (so files names won't match types)
        - rename fields, methods or variables to match new type names (like CSSStyleRule::declaration() -> CSSStyleRule::propertySet())
        - try to realize any memory or performance gains (StylePropertySet loses the vptr but gains PropertySetCSSStyleDeclaration*)

        * WebCore.exp.in:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::copy):
        (WebCore::CSSComputedStyleDeclaration::makeMutable):
        (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
        * css/CSSComputedStyleDeclaration.h:
        (WebCore):
        (CSSComputedStyleDeclaration):
        * css/CSSFontFaceRule.h:
        (WebCore::CSSFontFaceRule::style):
        (WebCore::CSSFontFaceRule::declaration):
        (WebCore::CSSFontFaceRule::setDeclaration):
        (CSSFontFaceRule):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSMutableStyleDeclaration.cpp:
        (PropertySetCSSStyleDeclaration):
        (WebCore::PropertySetCSSStyleDeclaration::create):
        (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
        (WebCore):
        (WebCore::StylePropertySet::StylePropertySet):
        (WebCore::StylePropertySet::~StylePropertySet):
        (WebCore::StylePropertySet::deref):
        (WebCore::StylePropertySet::contextStyleSheet):
        (WebCore::StylePropertySet::copyPropertiesFrom):
        (WebCore::StylePropertySet::getPropertyValue):
        (WebCore::StylePropertySet::borderSpacingValue):
        (WebCore::StylePropertySet::appendFontLonghandValueIfExplicit):
        (WebCore::StylePropertySet::fontValue):
        (WebCore::StylePropertySet::get4Values):
        (WebCore::StylePropertySet::getLayeredShorthandValue):
        (WebCore::StylePropertySet::getShorthandValue):
        (WebCore::StylePropertySet::getCommonValue):
        (WebCore::StylePropertySet::getPropertyCSSValue):
        (WebCore::StylePropertySet::removeShorthandProperty):
        (WebCore::StylePropertySet::removeProperty):
        (WebCore::StylePropertySet::setNeedsStyleRecalc):
        (WebCore::StylePropertySet::propertyIsImportant):
        (WebCore::StylePropertySet::getPropertyShorthand):
        (WebCore::StylePropertySet::isPropertyImplicit):
        (WebCore::StylePropertySet::setProperty):
        (WebCore::StylePropertySet::parseDeclaration):
        (WebCore::StylePropertySet::addParsedProperties):
        (WebCore::StylePropertySet::addParsedProperty):
        (WebCore::StylePropertySet::asText):
        (WebCore::StylePropertySet::merge):
        (WebCore::StylePropertySet::addSubresourceStyleURLs):
        (WebCore::StylePropertySet::copyBlockProperties):
        (WebCore::StylePropertySet::removeBlockProperties):
        (WebCore::StylePropertySet::removePropertiesInSet):
        (WebCore::StylePropertySet::findPropertyWithId):
        (WebCore::StylePropertySet::propertyMatches):
        (WebCore::StylePropertySet::removeEquivalentProperties):
        (WebCore::StylePropertySet::copy):
        (WebCore::StylePropertySet::copyPropertiesInSet):
        (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
        (WebCore::PropertySetCSSStyleDeclaration::length):
        (WebCore::PropertySetCSSStyleDeclaration::item):
        (WebCore::PropertySetCSSStyleDeclaration::parentRule):
        (WebCore::PropertySetCSSStyleDeclaration::cssText):
        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
        (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
        (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
        (WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
        (WebCore::PropertySetCSSStyleDeclaration::copy):
        (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
        (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore):
        (StylePropertySet):
        (WebCore::StylePropertySet::create):
        (WebCore::StylePropertySet::createInline):
        * css/CSSPageRule.h:
        (WebCore):
        * css/CSSParser.cpp:
        (WebCore::parseColorValue):
        (WebCore::parseSimpleLengthValue):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        (WebCore::CSSParser::createPageRule):
        (WebCore::CSSParser::createKeyframeRule):
        * css/CSSParser.h:
        (WebCore):
        (CSSParser):
        * css/CSSStyleDeclaration.h:
        (WebCore):
        (CSSStyleDeclaration):
        * css/CSSStyleRule.h:
        (WebCore::CSSStyleRule::style):
        (WebCore::CSSStyleRule::setDeclaration):
        (WebCore::CSSStyleRule::declaration):
        (CSSStyleRule):
        * css/CSSStyleSelector.cpp:
        (WebCore::leftToRightDeclaration):
        (WebCore::rightToLeftDeclaration):
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        (WebCore::CSSStyleSelector::matchAllRules):
        (WebCore::CSSStyleSelector::styleForKeyframe):
        (WebCore::isInsideRegionRule):
        (WebCore::CSSStyleSelector::applyDeclaration):
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::CSSStyleSelector::matchPageRulesForList):
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        (MatchedStyleDeclaration):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::WebKitCSSKeyframeRule::setDeclaration):
        * css/WebKitCSSKeyframeRule.h:
        (WebCore::WebKitCSSKeyframeRule::style):
        (WebCore::WebKitCSSKeyframeRule::declaration):
        (WebKitCSSKeyframeRule):
        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::setMatrixValue):
        * dom/Attr.h:
        (WebCore::Attr::style):
        * dom/Attribute.h:
        (WebCore::Attribute::decl):
        * dom/CSSMappedAttributeDeclaration.h:
        (WebCore::CSSMappedAttributeDeclaration::declaration):
        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
        (CSSMappedAttributeDeclaration):
        * dom/Document.cpp:
        (WebCore::Document::createCSSStyleDeclaration):
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::ensureInlineStyleDecl):
        * dom/NamedNodeMap.h:
        (WebCore::NamedNodeMap::inlineStyleDecl):
        (NamedNodeMap):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateStyleAttribute):
        (WebCore::StyledElement::copyNonAttributeProperties):
        (WebCore::StyledElement::addSubresourceAttributeURLs):
        * dom/StyledElement.h:
        (WebCore::StyledElement::additionalAttributeStyle):
        (WebCore::StyledElement::inlineStyleDecl):
        (WebCore::StyledElement::ensureInlineStyleDecl):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
        (WebCore::ApplyStyleCommand::removeCSSStyle):
        (WebCore::ApplyStyleCommand::addBlockStyle):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI):
        * editing/EditingStyle.cpp:
        (WebCore::copyEditingProperties):
        (WebCore::editingStyleFromComputedStyle):
        (WebCore):
        (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
        (HTMLElementEquivalent):
        (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
        (HTMLTextDecorationEquivalent):
        (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
        (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
        (HTMLAttributeEquivalent):
        (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
        (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
        (WebCore::EditingStyle::EditingStyle):
        (WebCore::getRGBAFontColor):
        (WebCore::EditingStyle::setProperty):
        (WebCore::EditingStyle::setStyle):
        (WebCore::EditingStyle::overrideWithStyle):
        (WebCore::EditingStyle::extractAndRemoveTextDirection):
        (WebCore::EditingStyle::removeStyleAddedByNode):
        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
        (WebCore::EditingStyle::triStateOfStyle):
        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
        (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
        (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl):
        (WebCore::EditingStyle::mergeStyle):
        (WebCore::styleFromMatchedRulesForElement):
        (WebCore::EditingStyle::mergeStyleFromRules):
        (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
        (WebCore::removePropertiesInStyle):
        (WebCore::EditingStyle::removeStyleFromRulesAndContext):
        (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
        (WebCore::EditingStyle::forceInline):
        (WebCore::reconcileTextDecorationProperties):
        (WebCore::StyleChange::StyleChange):
        (WebCore::setTextDecorationProperty):
        (WebCore::StyleChange::extractTextStyles):
        (WebCore::diffTextDecorations):
        (WebCore::fontWeightIsBold):
        (WebCore::getTextAlignment):
        (WebCore::getPropertiesNotIn):
        (WebCore::getIdentifierValue):
        (WebCore::isTransparentColorValue):
        (WebCore::hasTransparentBackgroundColor):
        * editing/EditingStyle.h:
        (WebCore):
        (WebCore::EditingStyle::create):
        (EditingStyle):
        (WebCore::EditingStyle::style):
        (StyleChange):
        * editing/Editor.cpp:
        (WebCore::Editor::setBaseWritingDirection):
        (WebCore::Editor::applyEditingStyleToElement):
        * editing/EditorCommand.cpp:
        (WebCore::applyCommandToFrame):
        (WebCore::executeApplyStyle):
        (WebCore::executeToggleStyleInList):
        (WebCore::executeApplyParagraphStyle):
        (WebCore::executeMakeTextWritingDirectionLeftToRight):
        (WebCore::executeMakeTextWritingDirectionNatural):
        (WebCore::executeMakeTextWritingDirectionRightToLeft):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::copyTypingStyle):
        * editing/FrameSelection.h:
        (WebCore):
        * editing/RemoveCSSPropertyCommand.cpp:
        (WebCore::RemoveCSSPropertyCommand::doApply):
        (WebCore::RemoveCSSPropertyCommand::doUnapply):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
        * editing/ReplaceSelectionCommand.h:
        (WebCore):
        * editing/markup.cpp:
        (WebCore):
        (StyledMarkupAccumulator):
        (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
        (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
        (WebCore::propertyMissingOrEqualToNone):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::additionalAttributeStyle):
        * html/HTMLTableCellElement.h:
        (HTMLTableCellElement):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::additionalAttributeStyle):
        * html/HTMLTableColElement.h:
        (HTMLTableColElement):
        * html/HTMLTableElement.cpp:
        (WebCore::leakBorderStyle):
        (WebCore::HTMLTableElement::additionalAttributeStyle):
        (WebCore::HTMLTableElement::createSharedCellStyle):
        (WebCore::HTMLTableElement::additionalCellStyle):
        (WebCore::leakGroupBorderStyle):
        (WebCore::HTMLTableElement::additionalGroupStyle):
        * html/HTMLTableElement.h:
        (HTMLTableElement):
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
        * html/HTMLTableSectionElement.h:
        (HTMLTableSectionElement):
        * html/ValidationMessage.cpp:
        (WebCore::adjustBubblePosition):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setFont):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::setPosition):
        (WebCore::MediaControlPanelElement::resetPosition):
        (WebCore::MediaControlPanelElement::makeOpaque):
        (WebCore::MediaControlPanelElement::makeTransparent):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::TrackLimiterElement::create):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
        * page/PageSerializer.h:
        (WebCore):
        (PageSerializer):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::isEmptyOrUnstyledAppleStyleSpan):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):

2012-02-03  Jochen Eisinger  <jochen@chromium.org>

        Remove unneccesary canExecuteScripts check from v8 bindings, and correctly indeicate when we're about to execute a script
        https://bugs.webkit.org/show_bug.cgi?id=76704

        Reviewed by Adam Barth.

        Test: http/tests/security/isolatedWorld/sandboxed-iframe.html

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/v8/V8EventListener.cpp:
        (WebCore::V8EventListener::callListenerFunction):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::callListenerFunction):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::handleOutOfMemory):
        (WebCore::toV8Context):

2012-02-03  Anders Carlsson  <andersca@apple.com>

        Add ScrollingTreeState class
        https://bugs.webkit.org/show_bug.cgi?id=77756

        Reviewed by Andreas Kling.

        Add a new ScrollingTreeState whose intent is to be a data container for the current
        scrolling tree state. the ScrollingCoordinator class will update it and periodically
        send over the new state to the ScrollingTree object on the scrolling thread.

        * WebCore.xcodeproj/project.pbxproj:
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
        * page/scrolling/ScrollingCoordinator.h:
        (WebCore):
        (ScrollingCoordinator):
        * page/scrolling/ScrollingTreeState.cpp: Added.
        (WebCore):
        (WebCore::ScrollingTreeState::create):
        (WebCore::ScrollingTreeState::ScrollingTreeState):
        (WebCore::ScrollingTreeState::~ScrollingTreeState):
        (WebCore::ScrollingTreeState::setViewportRect):
        (WebCore::ScrollingTreeState::setContentsSize):
        * page/scrolling/ScrollingTreeState.h: Added.
        (WebCore):
        (ScrollingTreeState):
        (WebCore::ScrollingTreeState::viewportRect):
        (WebCore::ScrollingTreeState::contentsSize):

2012-02-03  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=77691
        Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use 
        of device scale

        Reviewed by Andy Estes.

        Make screenAvailableRect() and screenRect() take a Widget again instead of a 
        FrameView since taking a FrameView is a layering violation.
        * WebCore.exp.in:
        * platform/PlatformScreen.h:
        (WebCore):
        * platform/blackberry/PlatformScreenBlackBerry.cpp:
        (WebCore::screenAvailableRect):
        (WebCore::screenRect):
        * platform/chromium/PlatformScreenChromium.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/chromium/PlatformSupport.h:
        (WebCore):
        (PlatformSupport):
        * platform/efl/PlatformScreenEfl.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/qt/PlatformScreenQt.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/win/PlatformScreenWin.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/wx/ScreenWx.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):

        It's wrong for the deviceScaleFactor to be taken into consideration here at 
        all.
        * platform/mac/PlatformScreenMac.mm:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        (WebCore::toUserSpace):
        (WebCore::toDeviceSpace):

2012-02-03  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10352073> Floating image leaves hole in previous column when wrapped to next column
        https://bugs.webkit.org/show_bug.cgi?id=77694

        Reviewed by Darin Adler.

        Tests: fast/dynamic/float-moved-downwards-for-pagination-expected.html
               fast/dynamic/float-moved-downwards-for-pagination.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clearFloats): When determining which lines to dirty,
        also check for changes to the top edge of the float, which can happen when
        float gets pushed down by a pagination strut.

2012-02-03  Alexis Menard  <alexis.menard@openbossa.org>

        REGRESSION (r105401-105403): Blue flash on css border transition
        https://bugs.webkit.org/show_bug.cgi?id=77491

        Reviewed by Simon Fraser.

        The new blend function added with r105403 takes unsigned as parameters therefore
        we have to be careful to not overflow in case the to is less than from (animating
        from 400 to 0 for example).

        Test: animations/animation-border-overflow.html

        * platform/animation/AnimationUtilities.h:
        (WebCore::blend):

2012-02-03  Justin Novosad  <junov@chromium.org>

        [Chromium] ImageBufferSkia: remove unnecessary overload of flush in
        AcceleratedDeviceContext
        https://bugs.webkit.org/show_bug.cgi?id=77741

        Reviewed by Stephen White.

        Removing dead code.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (AcceleratedDeviceContext):

2012-02-03  Balazs Kelemen  <kbalazs@webkit.org>

        Speculative unreviewed build fix for Qt-Windows
        after http://trac.webkit.org/changeset/106659.

        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::TextureMapper::platformCreateAccelerated):

2012-02-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106654.
        http://trac.webkit.org/changeset/106654
        https://bugs.webkit.org/show_bug.cgi?id=77742

        triggers asserts on mac, win, gtk, qt debug bots (Requested by
        philn-tp on #webkit).

        * Modules/intents/IntentRequest.cpp:
        (WebCore::IntentRequest::create):
        * bindings/generic/ActiveDOMCallback.cpp:
        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
        * dom/ActiveDOMObject.cpp:
        (WebCore::ActiveDOMObject::ActiveDOMObject):
        (WebCore::ActiveDOMObject::~ActiveDOMObject):
        * dom/ActiveDOMObject.h:
        (ActiveDOMObject):
        * dom/DocumentEventQueue.cpp:
        (WebCore::DocumentEventQueue::DocumentEventQueue):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
        * dom/ScriptExecutionContext.h:
        (ScriptExecutionContext):
        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::create):
        * fileapi/FileReader.cpp:
        (WebCore):
        * fileapi/FileReader.h:
        (WebCore::FileReader::create):
        * fileapi/FileWriter.cpp:
        (WebCore):
        * fileapi/FileWriter.h:
        (WebCore::FileWriter::create):
        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):
        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::create):
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::create):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::create):
        * mediastream/PeerConnection.cpp:
        (WebCore::PeerConnection::create):
        * notifications/Notification.cpp:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.cpp:
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::create):
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::install):
        (WebCore::DOMTimer::fired):
        * page/EventSource.cpp:
        (WebCore::EventSource::create):
        * page/SuspendableTimer.cpp:
        (WebCore::SuspendableTimer::SuspendableTimer):
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::create):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::create):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::create):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::create):
        * websockets/WebSocket.cpp:
        * websockets/WebSocket.h:
        (WebCore::WebSocket::create):
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::create):
        * workers/Worker.cpp:
        (WebCore::Worker::create):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::create):

2012-02-03  Kentaro Hara  <haraken@chromium.org>

        Add the "V8" prefix to V8 specific IDL attributes
        https://bugs.webkit.org/show_bug.cgi?id=77713

        Reviewed by Adam Barth.

        This patch adds the "V8" prefix to a V8 specific IDL attribute:
        [EnabledAtRuntime] => [V8EnabledAtRuntime]

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (GenerateImplementation):
        (GetRuntimeEnableFunctionName):

        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp: Updated the run-bindings-tests results.
        (WebCore::ConfigureV8TestObjTemplate):

        * Modules/gamepad/NavigatorGamepad.idl:
        * dom/Clipboard.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/MouseEvent.idl:
        * dom/ShadowRoot.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLTrackElement.idl:
        * html/TextTrack.idl:
        * html/TextTrackCue.idl:
        * html/TextTrackCueList.idl:
        * html/shadow/HTMLContentElement.idl:
        * html/track/TextTrackList.idl:
        * html/track/TrackEvent.idl:
        * page/DOMWindow.idl:
        * page/History.idl:
        * page/Navigator.idl:
        * storage/DOMWindowSQLDatabase.idl:
        * webaudio/DOMWindowWebAudio.idl:
        * websockets/DOMWindowWebSocket.idl:
        * workers/WorkerContext.idl:
        * xml/XMLHttpRequest.idl:

2012-02-03  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Retained size for classes is too conservative in heap profiler
        https://bugs.webkit.org/show_bug.cgi?id=77726

        Reviewed by Yury Semikhatsky.

        Makes retained size of all objects of particular class show correct value
        in Summary view of heap profiler.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._buildAggregates):
        (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):

2012-02-02  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Introduce "Copy XPath" popup menu item for DOM elements
        https://bugs.webkit.org/show_bug.cgi?id=77619

        Reviewed by Vsevolod Vlasov.

        XPath is optimized whenever an element has the "id" attribute.

        Test: inspector/elements/node-xpath.xhtml

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.XPathStep):
        (WebInspector.DOMNode.XPathStep.prototype.toString):
        (WebInspector.DOMNode.prototype.copyXPath):
        (WebInspector.DOMNode.prototype.isXMLNode):
        (WebInspector.DOMNode.prototype.xPath):
        (WebInspector.DOMNode.prototype._xPathValue):
        (WebInspector.DOMNode.prototype._xPathIndex):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):

2012-02-03  Dana Jansens  <danakj@chromium.org>

        [Chromium] Use the current clip when marking paints as opaque
        https://bugs.webkit.org/show_bug.cgi?id=77582

        Reviewed by Stephen White.

        New unit test in PlatformContextSkiaTest.cpp

        * platform/graphics/skia/OpaqueRegionSkia.cpp:
        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
        * platform/graphics/skia/PlatformContextSkia.h:
        (WebCore::PlatformContextSkia::canvas):

2012-02-03  Yury Semikhatsky  <yurys@chromium.org>

        inspector/debugger/pause-in-inline-script.html asserts in chromium debug
        https://bugs.webkit.org/show_bug.cgi?id=77663

        Make ASSERT in MainResourceLoader not fail if debugger hits breakpoint
        in the main resource inline script.

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/pause-in-inline-script.html

        * bindings/js/ScriptDebugServer.h:
        (WebCore::ScriptDebugServer::isPaused):
        (ScriptDebugServer):
        * bindings/v8/ScriptDebugServer.h:
        (ScriptDebugServer):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::didClearMainFrameWindowObject):
        (WebCore):
        (WebCore::InspectorDebuggerAgent::isPaused):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
        (WebCore):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::isDebuggerPaused):
        (WebCore):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didFinishLoading):

2012-02-03  Kentaro Hara  <haraken@chromium.org>

        Fix typo
        https://bugs.webkit.org/show_bug.cgi?id=77708

        Reviewed by Adam Roben.

        This patch fixes typos: [ObjCLegacyUnamedParameters] => [ObjCLegacyUnnamedParameters]

        No tests. No change in behavior.

        * css/CSSMediaRule.idl:
        * css/CSSPrimitiveValue.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleSheet.idl:
        * dom/CharacterData.idl:
        * dom/DOMImplementation.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Event.idl:
        * dom/EventTarget.idl:
        * dom/MouseEvent.idl:
        * dom/MutationEvent.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/Range.idl:
        * dom/UIEvent.idl:
        * html/HTMLSelectElement.idl:
        * xml/XPathExpression.idl:

2012-02-03  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
        https://bugs.webkit.org/show_bug.cgi?id=77148

        Reviewed by Martin Robinson.

        Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
        which responds to an "Software" mode of TextureMapper, instead of creating subclasses
        of TextureMapper directly. This allows using the software fallback of TextureMapper by any
        sort.

        To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
        an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
        as converting data to/from Image references in Qt generates unnecessary deep copies of the
        image data.

        Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
        3D transforms in cross platform code.
        After this patch everything renders the same. An additional bug report was created to allow
        ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689

        Covered extensively by existing tests, no behavioral changes.

        * Target.pri:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/GraphicsContext.h:
        (WebCore):
        (GraphicsContext):
        * platform/graphics/cairo/TextureMapperCairo.cpp:
        * platform/graphics/opengl/TextureMapperGL.cpp:
        (TextureMapperGLData):
        (BitmapTextureGL):
        (WebCore::BitmapTextureGL::BitmapTextureGL):
        (WebCore::TextureMapperGL::beginPainting):
        (WebCore::BitmapTextureGL::reset):
        (WebCore):
        (WebCore::swizzleBGRAToRGBA):
        (WebCore::BitmapTextureGL::updateContents):
        (WebCore::BitmapTextureGL::destroy):
        (WebCore::TextureMapperGL::bindSurface):
        (WebCore::TextureMapper::platformCreateAccelerated):
        * platform/graphics/opengl/TextureMapperGL.h:
        (TextureMapperGL):
        (WebCore::TextureMapperGL::accelerationMode):
        (WebCore):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore):
        (WebCore::GraphicsContext::get3DTransform):
        (WebCore::GraphicsContext::concat3DTransform):
        (WebCore::GraphicsContext::set3DTransform):
        * platform/graphics/qt/TextureMapperQt.cpp: Removed.
        * platform/graphics/qt/TextureMapperQt.h: Removed.
        * platform/graphics/texmap/TextureMapper.cpp:
        (WebCore):
        (BitmapTextureImageBuffer):
        (TextureMapperImageBuffer):
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::BitmapTexture::BitmapTexture):
        (BitmapTexture):
        (WebCore::BitmapTexture::bpp):
        (WebCore::BitmapTexture::isOpaque):
        (WebCore::TextureMapper::setGraphicsContext):
        (WebCore::TextureMapper::graphicsContext):
        (TextureMapper):
        (WebCore::TextureMapper::TextureMapper):
        (WebCore::TextureMapper::platformCreateAccelerated):
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::renderContent):
        (WebCore::TextureMapperNode::setContentsTileBackBuffer):
        * platform/graphics/texmap/TextureMapperNode.h:
        (TextureMapperNode):

2012-01-27  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: console evaluation doesn't work on breakpoint in pages with CSP
        https://bugs.webkit.org/show_bug.cgi?id=77203

        Inspector console evaluation now works when debugger is paused in a page with
        content-security-policy prohibiting evals.

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/eval-on-pause-blocked.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        * bindings/js/ScriptState.cpp:
        (WebCore::evalEnabled):
        (WebCore):
        (WebCore::setEvalEnabled):
        * bindings/js/ScriptState.h:
        (WebCore):
        * bindings/v8/ScriptObject.h:
        (WebCore::ScriptObject::ScriptObject):
        * bindings/v8/ScriptState.cpp:
        (WebCore::evalEnabled):
        (WebCore):
        (WebCore::setEvalEnabled):
        * bindings/v8/ScriptState.h:
        (WebCore):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::makeCall):
        * inspector/InjectedScriptHost.idl:
        * inspector/InjectedScriptSource.js:
        (.):

2012-02-03  Rob Buis  <rbuis@rim.com>

        Upstream targetType usage on ResourceRequest for BlackBerry port
        https://bugs.webkit.org/show_bug.cgi?id=77649

        Reviewed by Antonio Gomes.

        Upstream bits that make use of targetType enum.

        * loader/PingLoader.cpp:
        (WebCore::PingLoader::loadImage):
        (WebCore::PingLoader::sendPing):
        (WebCore::PingLoader::reportContentSecurityPolicyViolation):
        * platform/network/blackberry/ResourceRequest.h:
        (ResourceRequest):
        (WebCore::ResourceRequest::targetType):
        (WebCore::ResourceRequest::setTargetType):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest):

2012-02-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Ensure timers and other active DOM objects do not fire in suspended documents.
        https://bugs.webkit.org/show_bug.cgi?id=53733

        ScriptExecutionContext now remembers it has suspended active DOM objects
        and suspends all newly installed active DOM objects as well.

        All create-calls active DOM objects now calls the post constructor method
        suspendIfNeeded that updates the suspend state. It is post constructor
        because the suspend/resume functions are virtual and thus can not be called
        from constructors.

        Reviewed by Mihai Parparita.

        Test: fast/events/suspend-timers.html

        * Modules/intents/IntentRequest.cpp:
        (WebCore::IntentRequest::create):
        * bindings/generic/ActiveDOMCallback.cpp:
        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
        * dom/ActiveDOMObject.cpp:
        (WebCore::ActiveDOMObject::ActiveDOMObject):
        (WebCore::ActiveDOMObject::~ActiveDOMObject):
        (WebCore::ActiveDOMObject::suspendIfNeeded):
        * dom/ActiveDOMObject.h:
        (WebCore::ActiveDOMObject::suspendIfNeededCalled):
        * dom/DocumentEventQueue.cpp:
        (WebCore::DocumentEventQueue::DocumentEventQueue):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
        (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::create):
        * fileapi/FileReader.cpp:
        (WebCore::FileReader::create):
        * fileapi/FileReader.h:
        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::create):
        * fileapi/FileWriter.h:
        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):
        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::create):
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::create):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::create):
        * mediastream/PeerConnection.cpp:
        (WebCore::PeerConnection::create):
        * notifications/Notification.cpp:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::create):
        * notifications/NotificationCenter.h:
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::install):
        (WebCore::DOMTimer::fired):
        * page/EventSource.cpp:
        (WebCore::EventSource::create):
        * page/SuspendableTimer.cpp:
        (WebCore::SuspendableTimer::SuspendableTimer):
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::create):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::create):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::create):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::create):
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::create):
        * websockets/WebSocket.h:
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::create):
        * workers/Worker.cpp:
        (WebCore::Worker::create):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::create):

2012-02-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Do not ASSERT on TouchStationary TouchPoint state.
        https://bugs.webkit.org/show_bug.cgi?id=77620

        Reviewed by Kenneth Rohde Christiansen.

        * page/EventHandler.cpp:
        (WebCore::eventNameForTouchPointState): Explicitly show that TouchStationary is asserted.
        (WebCore::EventHandler::handleTouchEvent):
            Remove TouchStationary from ASSERT. The value of HitTestRequest is restored to the
            value it should have if hittested, but is not used.

2012-02-03  Kentaro Hara  <haraken@chromium.org>

        Add the "ObjC" prefix to ObjC specific IDL attributes
        https://bugs.webkit.org/show_bug.cgi?id=77708

        Reviewed by Adam Barth.

        This patch adds the "ObjC" prefix to ObjC specific IDL attributes, as follows:

            [Polymorphic] => [ObjCPolymorphic]
            [OldStyleObjC] => [ObjCLegacyUnamedParameters]
            [UsesView] => [ObjCUseDefaultView] (Note: Renamed for clarification)

        No tests. No changes in behavior.

        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * css/CSSMediaRule.idl:
        * css/CSSPrimitiveValue.idl:
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSValue.idl:
        * css/StyleSheet.idl:
        * dom/CharacterData.idl:
        * dom/DOMImplementation.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Event.idl:
        * dom/EventTarget.idl:
        * dom/MouseEvent.idl:
        * dom/MutationEvent.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/Range.idl:
        * dom/UIEvent.idl:
        * html/HTMLCollection.idl:
        * html/HTMLSelectElement.idl:
        * svg/SVGPathSeg.idl:
        * xml/XPathExpression.idl:

2012-02-03  MORITA Hajime  <morrita@google.com>

        TypingCommand should be prepared against detached document.
        https://bugs.webkit.org/show_bug.cgi?id=77216

        Reviewed by Ryosuke Niwa.

        Added null checks for document()->frame().

        No new tests. Just tighten guards for possible codepaths.

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::markMisspellingsAfterTyping):
        (WebCore::TypingCommand::typingAddedToOpenCommand):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):

2012-02-03  Kentaro Hara  <haraken@chromium.org>

        Rename [DontEnum] IDL to [NotEnumerable] IDL
        https://bugs.webkit.org/show_bug.cgi?id=77710

        Reviewed by Adam Barth.

        [DontEnum] is a negation of [[Enumerable]] in the ECMAScript spec
        (8.6.1 of http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf).
        This patch renames [DontEnum] to [NotEnumerable].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateAttributesHashTable):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateSingleBatchedAttribute):
        (GenerateImplementation):

        * css/WebKitCSSMatrix.idl:
        * dom/DOMCoreException.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/EventException.idl:
        * dom/RangeException.idl:
        * fileapi/FileException.idl:
        * fileapi/OperationNotAllowedException.idl:
        * html/DOMTokenList.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLInputElement.idl:
        * page/DOMSelection.idl:
        * page/DOMWindow.idl:
        * page/Location.idl:
        * storage/IDBDatabaseException.idl:
        * storage/Storage.idl:
        * svg/SVGElementInstance.idl:
        * svg/SVGException.idl:
        * workers/WorkerLocation.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XPathException.idl:

2012-02-03  Kentaro Hara  <haraken@chromium.org>

        Rename [InitializedByConstructor] IDL to [InitializedByEventConstructor] IDL
        https://bugs.webkit.org/show_bug.cgi?id=77711

        Reviewed by Adam Barth.

        [InitializedByConstructor] can be used only when [ConstructorTemplate=Event]
        is specified on the interface. This patch renames [InitializedByConstructor] to
        [InitializedByEventConstructor] for clarification.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateConstructorDefinition):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateEventConstructorCallback):

        * bindings/scripts/test/TestEventConstructor.idl:
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated the run-bindings-tests results.
        (WebCore):

        * dom/BeforeLoadEvent.idl:
        * dom/CustomEvent.idl:
        * dom/ErrorEvent.idl:
        * dom/Event.idl:
        * dom/HashChangeEvent.idl:
        * dom/MessageEvent.idl:
        * dom/OverflowEvent.idl:
        * dom/PageTransitionEvent.idl:
        * dom/PopStateEvent.idl:
        * dom/ProgressEvent.idl:
        * dom/WebKitAnimationEvent.idl:
        * dom/WebKitTransitionEvent.idl:
        * html/canvas/WebGLContextEvent.idl:
        * html/track/TrackEvent.idl:
        * storage/StorageEvent.idl:
        * websockets/CloseEvent.idl:

2012-02-03  Kentaro Hara  <haraken@chromium.org>

        Add the "CPP" prefix to CPP specific IDL attributes
        https://bugs.webkit.org/show_bug.cgi?id=77707

        Reviewed by Adam Barth.

        This patch adds the "CPP" prefix to a CPP specific IDL attribute.
        Specifically, this patch renames [PureInterface] to [CPPPureInterface]

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorCPP.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * css/MediaQueryListListener.idl:
        * dom/EventListener.idl:
        * dom/EventTarget.idl:
        * dom/NodeFilter.idl:

2012-01-27  Alexander Pavlov  <apavlov@chromium.org>

        Implement touch event emulation in the WebCore layer
        https://bugs.webkit.org/show_bug.cgi?id=77105

        Reviewed by Ryosuke Niwa.

        This change essentially maps mouse events into single-touch events in the following way:
        - mousedown -> touchstart
        - mouseup -> touchend
        - mousemove -> touchmove (between mousedown and mouseup).

        Test: fast/events/touch/emulate-touch-events.html

        * page/EventHandler.cpp:
        (SyntheticTouchPoint): A synthetic touch point built from PlatformMouseEvent.
        (WebCore::SyntheticTouchPoint::SyntheticTouchPoint):
        (SyntheticSingleTouchEvent): A synthetic touch point event built from PlatformMouseEvent.
        (WebCore::SyntheticSingleTouchEvent::SyntheticSingleTouchEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
        (WebCore::EventHandler::handleMousePressEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
        (WebCore::EventHandler::mouseMoved): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
        (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): Dispatch a synthetic touch event if necessary.
        * page/EventHandler.h: Added new method.
        * page/Settings.cpp:
        (WebCore::Settings::Settings): Added m_touchEventEmulationEnabled initializer.
        * page/Settings.h: Added m_touchEventEmulationEnabled, getter, and setter.
        (WebCore::Settings::setTouchEventEmulationEnabled): Added.
        (WebCore::Settings::isTouchEventEmulationEnabled): Added.
        * platform/PlatformTouchPoint.h:
        (WebCore::PlatformTouchPoint::PlatformTouchPoint): Unconditionally compile the parameterless ctor.
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::setTouchEventEmulationEnabled): Added for testing.
        * testing/InternalSettings.h: Added setTouchEventEmulationEnabled() for testing.
        * testing/InternalSettings.idl: Added setTouchEventEmulationEnabled() for testing.

2012-02-03  Kentaro Hara  <haraken@chromium.org>

        Remove [NoCPPCustom] IDL
        https://bugs.webkit.org/show_bug.cgi?id=77704

        Reviewed by Adam Barth.

        This patch removes [NoCPPCustom], by replacing [Custom, NoCPPCustom]
        in HTMLDocument.idl with [JSCCustom, V8Custom].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorCPP.pm:
        (ShouldSkipType):
        * html/HTMLDocument.idl:

2012-02-03  Kentaro Hara  <haraken@chromium.org>

        Remove [LegacyParent] from CodeGeneratorGObject.pm, and rename it to [JSLegacyParent]
        https://bugs.webkit.org/show_bug.cgi?id=77706

        Reviewed by Adam Barth.

        This patch removes dead code about [LegacyParent] from CodeGeneratorGObject.pm,
        and renames [LegacyParent] to [JSLegacyParent].

        No tests. No changes in behavior.

        * bindings/scripts/CodeGeneratorGObject.pm:
        (Generate):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GetParentClassName):
        (GenerateHeader):
        (GenerateImplementation):
        * page/DOMWindow.idl:
        * workers/WorkerContext.idl:

2012-02-03  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: preserve elements panel selection upon node drag'n'drop
        https://bugs.webkit.org/show_bug.cgi?id=77722

        Reviewed by Vsevolod Vlasov.

        Test: inspector/elements/move-node.html

        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._markRevision):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype._ondrop):
        (WebInspector.ElementsTreeOutline.prototype._doMove.callback):
        (WebInspector.ElementsTreeOutline.prototype._doMove):

2012-02-03  Shinya Kawanaka  <shinyak@google.com>

       Reimplement DETAILS and SUMMARY using selector query.
        https://bugs.webkit.org/show_bug.cgi?id=75930

        Reviewed by Hajime Morita.

        DETAILS is reimplemented using content element and its fallback feature.
        We don't need to recreate DOM even if SUMMARY is removed from or added into DETAILS.

        No new tests, should be covered by existing tests.

        * html/HTMLDetailsElement.cpp:
        (WebCore::DetailsSummaryElement::fallbackSummary):
          Takes fallback element of content summary.
        (DetailsSummaryElement):
        (WebCore::DetailsSummaryElement::create):
          Creates a fallback element also.
        (WebCore):
        (WebCore::HTMLDetailsElement::create):
        (WebCore::HTMLDetailsElement::HTMLDetailsElement):
        (WebCore::HTMLDetailsElement::createShadowSubtree):
        (WebCore::HTMLDetailsElement::findMainSummary):
        (WebCore::HTMLDetailsElement::parseMappedAttribute):
        (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
        (WebCore::HTMLDetailsElement::toggleOpen):
        * html/HTMLDetailsElement.h:
        (HTMLDetailsElement):
        * html/HTMLSummaryElement.cpp:
        (WebCore::HTMLSummaryElement::isMainSummary):

2012-02-03  Jochen Eisinger  <jochen@chromium.org>

        Crash when trying to add a timer to a detached document.
        https://bugs.webkit.org/show_bug.cgi?id=77692

        Reviewed by Alexey Proskuryakov.

        In http://webkit.org/b/77370, a timer is fired on a detached document.
        Since a document clears all timers when it is detached, and it
        shouldn't be possible to add a timer to a detached document, we crash
        if this should happen anyway. This will hopefully result in an easier
        to debug crash dump.

        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::DOMTimer):

2012-02-03  Shinya Kawanaka  <shinyak@google.com>

        Stop calling Element::ensureShadowRoot in Internals.
        https://bugs.webkit.org/show_bug.cgi?id=77612

        Reviewed by Hajime Morita.

        We want to check a shadow root is built-in or created by users to support multiple shadow subtrees.
        But Element::ensureShadowRoot() makes it difficult, because it doesn't care about the returning shadow element
        is built-in or user generated, so let's remove Element::ensureShadowRoot().

        As a first step, this patch removes ensureShadowRoot() in Internals.

        No new tests, because no changes in behavior.

        * WebCore.exp.in:
        * testing/Internals.cpp:
        (WebCore::Internals::ensureShadowRoot):

2012-02-02  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: Always show percents together with counters in heap inspector.
        https://bugs.webkit.org/show_bug.cgi?id=77434

        Reviewed by Pavel Feldman.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
        (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
        (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotContainmentDataGrid):
        (WebInspector.HeapSnapshotConstructorsDataGrid):
        (WebInspector.HeapSnapshotDiffDataGrid):
        (WebInspector.HeapSnapshotDominatorsDataGrid):
        (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
        (WebInspector.DetailedHeapshotView.prototype.get _isShowingAsPercent):
        (WebInspector.DetailedHeapshotView.prototype._percentClicked):
        * inspector/front-end/heapProfiler.css:
        (.detailed-heapshot-view .data-grid span.percent-column):

2012-02-02  Matt Falkenhagen  <falken@chromium.org>

        Use content-language from http-equiv to set document locale and font
        https://bugs.webkit.org/show_bug.cgi?id=76701

        Reviewed by Darin Adler.

        So far, only content-language set through http-equiv is used; the HTTP Content-Language
        header is not yet supported.

        Tests: fast/text/content-language-case-insensitivity.html
               fast/text/content-language-mapped-to-webkit-locale.html
               fast/text/international/content-language-font-selection-expected.html
               fast/text/international/content-language-font-selection.html
               fast/text/international/content-language-with-subtags-expected.html
               fast/text/international/content-language-with-subtags.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument): Use content language when selecting initial font.
        * dom/Document.cpp:
        (WebCore::Document::setContentLanguage): Recalculate style so language is taken into account.
        (WebCore):
        * dom/Document.h:
        (Document):

2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106620.
        http://trac.webkit.org/changeset/106620
        https://bugs.webkit.org/show_bug.cgi?id=77716

        It broke non ENABLE(3D_RENDERING) builds (Requested by
        Ossy_morning on #webkit).

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * platform/graphics/GraphicsContext.h:
        (WebCore):
        (GraphicsContext):
        * platform/graphics/cairo/TextureMapperCairo.cpp:
        (WebCore::TextureMapper::create):
        (WebCore):
        * platform/graphics/opengl/TextureMapperGL.cpp:
        (Entry):
        (DirectlyCompositedImageRepository):
        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::DirectlyCompositedImageRepository):
        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
        (TextureMapperGLData):
        (BitmapTextureGL):
        (WebCore::BitmapTextureGL::isOpaque):
        (WebCore::BitmapTextureGL::pack):
        (WebCore::BitmapTextureGL::unpack):
        (WebCore::BitmapTextureGL::isPacked):
        (WebCore::BitmapTextureGL::BitmapTextureGL):
        (WebCore::TextureMapperGL::beginPainting):
        (WebCore::BitmapTextureGL::reset):
        (WebCore::BitmapTextureGL::beginPaint):
        (WebCore::BitmapTextureGL::endPaint):
        (WebCore):
        (WebCore::BitmapTextureGL::updateContents):
        (WebCore::BitmapTextureGL::updateRawContents):
        (WebCore::BitmapTextureGL::setContentsToImage):
        (WebCore::BitmapTextureGL::destroy):
        (WebCore::TextureMapperGL::bindSurface):
        * platform/graphics/opengl/TextureMapperGL.h:
        (TextureMapperGL):
        (WebCore::TextureMapperGL::allowSurfaceForRoot):
        (BGRA32PremultimpliedBuffer):
        (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
        (WebCore):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/graphics/qt/TextureMapperQt.cpp: Added.
        (WebCore):
        (WebCore::BitmapTextureQt::destroy):
        (WebCore::BitmapTextureQt::reset):
        (WebCore::BitmapTextureQt::beginPaint):
        (WebCore::BitmapTextureQt::endPaint):
        (WebCore::BitmapTextureQt::updateContents):
        (WebCore::BitmapTextureQt::save):
        (WebCore::BitmapTextureQt::setContentsToImage):
        (WebCore::BitmapTextureQt::pack):
        (WebCore::BitmapTextureQt::unpack):
        (WebCore::TextureMapperQt::beginClip):
        (WebCore::TextureMapperQt::endClip):
        (WebCore::TextureMapperQt::viewportSize):
        (WebCore::TextureMapperQt::TextureMapperQt):
        (WebCore::TextureMapperQt::setGraphicsContext):
        (WebCore::TextureMapperQt::graphicsContext):
        (WebCore::TextureMapperQt::bindSurface):
        (WebCore::TextureMapperQt::drawTexture):
        (WebCore::TextureMapper::create):
        (WebCore::TextureMapperQt::createTexture):
        (WebCore::BitmapTextureQt::BitmapTextureQt):
        (WebCore::TextureMapperQt::beginPainting):
        (WebCore::TextureMapperQt::endPainting):
        (BGRA32PremultimpliedBufferQt):
        (WebCore::BGRA32PremultimpliedBufferQt::beginPaint):
        (WebCore::BGRA32PremultimpliedBufferQt::endPaint):
        (WebCore::BGRA32PremultimpliedBufferQt::data):
        (WebCore::BGRA32PremultimpliedBuffer::create):
        (WebCore::uidForImage):
        * platform/graphics/qt/TextureMapperQt.h: Added.
        (WebCore):
        (BitmapTextureQt):
        (WebCore::BitmapTextureQt::~BitmapTextureQt):
        (WebCore::BitmapTextureQt::size):
        (WebCore::BitmapTextureQt::isValid):
        (WebCore::BitmapTextureQt::sourceRect):
        (WebCore::BitmapTextureQt::isPacked):
        (WebCore::BitmapTextureQt::painter):
        (TextureMapperQt):
        (WebCore::TextureMapperQt::allowSurfaceForRoot):
        (WebCore::TextureMapperQt::initialize):
        (WebCore::TextureMapperQt::create):
        (WebCore::TextureMapperQt::currentPainter):
        * platform/graphics/texmap/TextureMapper.cpp:
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::BitmapTexture::BitmapTexture):
        (WebCore::BitmapTexture::allowOfflineTextureUpload):
        (BitmapTexture):
        (WebCore::BitmapTexture::pack):
        (WebCore::BitmapTexture::unpack):
        (WebCore::BitmapTexture::isPacked):
        (WebCore::BitmapTexture::updateRawContents):
        (WebCore::BitmapTexture::beginPaintMedia):
        (WebCore::BitmapTexture::save):
        (WebCore::BitmapTexture::lock):
        (WebCore::BitmapTexture::unlock):
        (WebCore::BitmapTexture::isLocked):
        (TextureMapper):
        (WebCore::TextureMapper::viewportSize):
        (WebCore::TextureMapper::setViewportSize):
        (WebCore::TextureMapper::allowPartialUpdates):
        (WebCore::TextureMapper::isOpenGLBacked):
        (WebCore::TextureMapper::setTransform):
        (WebCore::TextureMapper::transform):
        * platform/graphics/texmap/TextureMapperImageBuffer.cpp: Removed.
        * platform/graphics/texmap/TextureMapperImageBuffer.h: Removed.
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::renderContent):
        (WebCore::TextureMapperNode::setContentsTileBackBuffer):
        * platform/graphics/texmap/TextureMapperNode.h:
        (TextureMapperNode):

2012-02-02  Keishi Hattori  <keishi@webkit.org>

        ColorInputType needs to use ensureInlineStyleDecl
        https://bugs.webkit.org/show_bug.cgi?id=77699

        Reviewed by Kent Tamura.

        Because WebCore internally should use the more specific CSSMutableStyleDeclaration
        http://trac.webkit.org/changeset/105739

        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::updateColorSwatch):

2012-02-02  Roland Steiner  <rolandsteiner@chromium.org>

        Simplify SelectorChecker::checkSelector and checkOneSelector
        https://bugs.webkit.org/show_bug.cgi?id=77697

        Make use of Element::previous/nextElementSibling.
        Made those methods inline.
        Simplify code in checkSelector and checkOneSelector, esp. for first/nth/nth-last/last/only-child implementations.

        Reviewed by Andreas Kling.

        No new tests. (refactoring)

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkSelector):
        (WebCore::SelectorChecker::checkOneSelector):
        * dom/Element.cpp:
        * dom/Element.h:
        (WebCore::Element::previousElementSibling):
        (WebCore):
        (WebCore::Element::nextElementSibling):

2012-02-02  Keishi Hattori  <keishi@webkit.org>

        ColorChooserClient is missing a virtual destructor
        https://bugs.webkit.org/show_bug.cgi?id=77698

        Reviewed by Kent Tamura.

        * platform/ColorChooserClient.h:
        (WebCore::ColorChooserClient::~ColorChooserClient): Added.

2012-02-02  Keishi Hattori  <keishi@webkit.org>

        Remove OVERRIDE from ColorInputType::valueAsColor
        https://bugs.webkit.org/show_bug.cgi?id=77701

        Reviewed by Kent Tamura.

        * html/ColorInputType.h:
        (WebCore::ColorInputType::valueAsColor):

2012-02-02  Bear Travis  <betravis@adobe.com>

        Support 'disabled' attribute on SVGStyleElement
        https://bugs.webkit.org/show_bug.cgi?id=52130

        Adding disabled property to SVGStyleElement, which
        mirrors the functionality added to HTMLStyleElement
        for DOM1. The disabled property reflects and sets
        the disabled state of its style sheet.

        Based off of patch for bug 25287

        Reviewed by Dirk Schulze.

        Test: svg/dom/SVGStyleElement/disable-svg-style-element.html

        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::disabled):
        (WebCore):
        (WebCore::SVGStyleElement::setDisabled):
        * svg/SVGStyleElement.h:
        (SVGStyleElement):
        * svg/SVGStyleElement.idl:

2012-02-02  Hayato Ito  <hayato@chromium.org>

        Make ShadowRoot interface inherit DocumentFragment interface in IDL.
        https://bugs.webkit.org/show_bug.cgi?id=77511

        Reviewed by Kentaro Hara.

        This patch contains only the change of IDL to isolate issues.
        Other changes, such as tests for querySelector of ShadowRoot, will be added in follow-up patches.

        No tests. No change in behavior.

        * dom/ShadowRoot.idl:

2012-02-02  Raymond Toy  <rtoy@google.com>

        Check parameters to biquad filters
        https://bugs.webkit.org/show_bug.cgi?id=71413

        Reviewed by Kenneth Russell.

        Tests added for each filter type and for the limiting cases for
        each filter type.

        * platform/audio/Biquad.cpp:
        (WebCore::Biquad::setLowpassParams):
        (WebCore::Biquad::setHighpassParams):
        (WebCore::Biquad::setLowShelfParams):
        (WebCore::Biquad::setHighShelfParams):
        (WebCore::Biquad::setPeakingParams):
        (WebCore::Biquad::setAllpassParams):
        (WebCore::Biquad::setNotchParams):
        (WebCore::Biquad::setBandpassParams):
        Check for invalid parameters and clip them to something sensible.
        Also check for the limiting cases and try to use the limiting form
        of the z-transform for the biquad.  Some issues cannot be
        consistently handled because the z-transform is not continuous as
        the parameters approach the limit.

2012-02-02  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
        https://bugs.webkit.org/show_bug.cgi?id=77148

        Reviewed by Martin Robinson.

        Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
        which responds to an "Software" mode of TextureMapper, instead of creating subclasses
        of TextureMapper directly. This allows using the software fallback of TextureMapper by any
        sort.

        To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
        an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
        as converting data to/from Image references in Qt generates unnecessary deep copies of the
        image data.

        Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
        3D transforms in cross platform code.
        After this patch everything renders the same. An additional bug report was created to allow
        ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689

        Covered extensively by existing tests, no behavioral changes.

        * Target.pri:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/GraphicsContext.h:
        (WebCore):
        (GraphicsContext):
        * platform/graphics/cairo/TextureMapperCairo.cpp:
        * platform/graphics/opengl/TextureMapperGL.cpp:
        (TextureMapperGLData):
        (BitmapTextureGL):
        (WebCore::BitmapTextureGL::BitmapTextureGL):
        (WebCore::TextureMapperGL::beginPainting):
        (WebCore::BitmapTextureGL::reset):
        (WebCore):
        (WebCore::swizzleBGRAToRGBA):
        (WebCore::BitmapTextureGL::updateContents):
        (WebCore::BitmapTextureGL::destroy):
        (WebCore::TextureMapperGL::bindSurface):
        (WebCore::TextureMapper::platformCreateAccelerated):
        * platform/graphics/opengl/TextureMapperGL.h:
        (TextureMapperGL):
        (WebCore::TextureMapperGL::accelerationMode):
        (WebCore):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore):
        (WebCore::GraphicsContext::get3DTransform):
        (WebCore::GraphicsContext::concat3DTransform):
        (WebCore::GraphicsContext::set3DTransform):
        * platform/graphics/qt/TextureMapperQt.cpp: Removed.
        * platform/graphics/qt/TextureMapperQt.h: Removed.
        * platform/graphics/texmap/TextureMapper.cpp:
        (WebCore):
        (BitmapTextureImageBuffer):
        (TextureMapperImageBuffer):
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::BitmapTexture::BitmapTexture):
        (BitmapTexture):
        (WebCore::BitmapTexture::bpp):
        (WebCore::BitmapTexture::isOpaque):
        (WebCore::TextureMapper::setGraphicsContext):
        (WebCore::TextureMapper::graphicsContext):
        (TextureMapper):
        (WebCore::TextureMapper::TextureMapper):
        (WebCore::TextureMapper::platformCreateAccelerated):
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::renderContent):
        (WebCore::TextureMapperNode::setContentsTileBackBuffer):
        * platform/graphics/texmap/TextureMapperNode.h:
        (TextureMapperNode):

2012-02-02  Adam Barth  <abarth@webkit.org>

        Rename checkNodeSecurity and allowsAccessFromFrame to have sensible names
        https://bugs.webkit.org/show_bug.cgi?id=75796

        Reviewed by Eric Seidel.

        As requested by Darin Adler, this patch renames these functions be
        clear that we're asking whether the access should be allowed rather
        than explicitly allowing the access.

        * bindings/generic/BindingSecurity.h:
        (BindingSecurity):
        (WebCore::::shouldAllowAccessToNode):
        (WebCore::::allowSettingFrameSrcToJavascriptUrl):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::shouldAllowAccessToNode):
        (WebCore::shouldAllowAccessToFrame):
        * bindings/js/JSDOMBinding.h:
        (WebCore):
        * bindings/js/JSHTMLFrameElementCustom.cpp:
        (WebCore::allowSettingJavascriptURL):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::getOwnPropertySlotDelegate):
        (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
        (WebCore::JSHistory::putDelegate):
        (WebCore::JSHistory::deleteProperty):
        (WebCore::JSHistory::getOwnPropertyNames):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::getOwnPropertySlotDelegate):
        (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
        (WebCore::JSLocation::putDelegate):
        (WebCore::JSLocation::deleteProperty):
        (WebCore::JSLocation::getOwnPropertyNames):
        (WebCore::JSLocation::toStringFunction):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::canAccessFromCurrentOrigin):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateFunctionCallback):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjContentDocument):
        (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::contentDocumentAttrGetter):
        (WebCore::TestObjInternal::getSVGDocumentCallback):

2012-02-02  Kalev Lember  <kalevlember@gmail.com>

        [GTK] Make gtk+ symbols available to WidgetBackingStoreCairo.cpp
        https://bugs.webkit.org/show_bug.cgi?id=77679

        WidgetBackingStoreCairo.cpp uses GTK+ symbols, so we need it in
        webcoregtk_sources instead of webcore_sources.

        Reviewed by Martin Robinson.

        * GNUmakefile.list.am: Move WidgetBackingStoreCairo.cpp to webcoregtk.

2012-02-02  Shinya Kawanaka  <shinyak@google.com>

        StyleRecalc should occur when shadow root exists and light children are changed.
        https://bugs.webkit.org/show_bug.cgi?id=76262

        Reviewed by Hajime Morita.

        When light children is changed, the element included in HTMLContentElement may also be changed.
        So we have to recalculate inclusion of content element again.

        Test: fast/dom/shadow/shadow-contents-fallback-dynamic.html

        * dom/Element.cpp:
        (WebCore::Element::childrenChanged):

2012-02-02  Ami Fischman  <fischman@chromium.org>

        Avoid crashing renderer when GPU process dies by not caching textures between video frames.
        https://bugs.webkit.org/show_bug.cgi?id=77654

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::draw):

2012-02-02  Anders Carlsson  <andersca@apple.com>

        Add ScrollingTree class
        https://bugs.webkit.org/show_bug.cgi?id=77695

        Reviewed by Andreas Kling.

        * WebCore.xcodeproj/project.pbxproj:
        Add new files.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
        Create a scrolling tree.

        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
        Assert that the scrolling tree is null.

        (WebCore::ScrollingCoordinator::pageDestroyed):
        Null out the scrolling tree member variable and tell it to invalidate itself.

        * page/scrolling/ScrollingTree.cpp: Added.

        (WebCore::ScrollingTree::invalidate):
        Null out the scrolling coordinator, breaking the reference cycle between the scrolling
        coordinator and the scrolling tree.
    
        * page/scrolling/ScrollingTree.h: Added.

2012-02-02  Tim Dresser  <tdresser@chromium.org>

        Refactor plugin drawing to be more data driven
        https://bugs.webkit.org/show_bug.cgi?id=76715

        Reviewed by James Robinson.

        CCPluginLayerImpl no longer handles drawing itself, but produces a list of CCPluginDrawQuads.
        These quads are then drawn by LayerRendererChromium.

        CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
        This allows for CCLayerImpl objects to allocate textures before appendQuads is called.

        This is a refactor, so no new tests were added.
        Flash was tested manually on Linux and Mac.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::PluginProgramBinding::set):
        (PluginProgramBinding):
        (WebCore):
        (WebCore::TexStretchPluginProgramBinding::set):
        (TexStretchPluginProgramBinding):
        (WebCore::TexTransformPluginProgramBinding::set):
        (TexTransformPluginProgramBinding):
        (WebCore::LayerRendererChromium::drawPluginQuad):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::willDraw):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        * platform/graphics/chromium/cc/CCPluginDrawQuad.cpp:
        (WebCore::CCPluginDrawQuad::create):
        (WebCore::CCPluginDrawQuad::CCPluginDrawQuad):
        * platform/graphics/chromium/cc/CCPluginDrawQuad.h:
        (CCPluginDrawQuad):
        (WebCore::CCPluginDrawQuad::uvRect):
        (WebCore::CCPluginDrawQuad::textureId):
        (WebCore::CCPluginDrawQuad::flipped):
        (WebCore::CCPluginDrawQuad::ioSurfaceWidth):
        (WebCore::CCPluginDrawQuad::ioSurfaceHeight):
        (WebCore::CCPluginDrawQuad::ioSurfaceTextureId):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
        (WebCore::CCPluginLayerImpl::willDraw):
        (WebCore::CCPluginLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
        (CCPluginLayerImpl):

2012-01-29  Pablo Flouret  <pablof@motorola.com>

        V8 idl code generator doesn't handle SerializedScriptValue attributes properly.
        https://bugs.webkit.org/show_bug.cgi?id=77295

        Reviewed by Kentaro Hara.

        Only the case of one (and only one) SerializedScriptValue attribute was
        handled, and it was deserialized eagerly in the constructor instead of
        generating getters/setters. This patch gets rid of that behavior and
        generates the getters and setters instead (similar to what the JSC
        generator does).
        Also handle the case of SSV attributes with [CachedAttribute]
        declaration, caching the deserialized value in a hidden attribute on the
        object.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateNormalAttrSetter):
        (GenerateConstructorCallback):
        (GenerateNamedConstructorCallback):
        (GenerateSingleBatchedAttribute):
        (GenerateImplementation):
        (GenerateToV8Converters):
        (JSValueToNative):
        (NativeToJSValue):
        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
        (WebDOMTestSerializedScriptValueInterface::setValue):
        (WebDOMTestSerializedScriptValueInterface::readonlyValue):
        (WebDOMTestSerializedScriptValueInterface::cachedValue):
        (WebDOMTestSerializedScriptValueInterface::setCachedValue):
        (WebDOMTestSerializedScriptValueInterface::cachedReadonlyValue):
        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
        (WebDOMTestSerializedScriptValueInterface):
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
        (webkit_dom_test_serialized_script_value_interface_set_value):
        (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
        (webkit_dom_test_serialized_script_value_interface_get_cached_value):
        (webkit_dom_test_serialized_script_value_interface_set_cached_value):
        (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
        (webkit_dom_test_serialized_script_value_interface_get_property):
        (webkit_dom_test_serialized_script_value_interface_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        ():
        (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
        (WebCore):
        (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
        (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
        (WebCore::JSTestSerializedScriptValueInterface::put):
        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        (JSTestSerializedScriptValueInterface):
        (JSTestSerializedScriptValueInterfacePrototype):
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
        (-[DOMTestSerializedScriptValueInterface setValue:]):
        (-[DOMTestSerializedScriptValueInterface readonlyValue]):
        (-[DOMTestSerializedScriptValueInterface cachedValue]):
        (-[DOMTestSerializedScriptValueInterface setCachedValue:]):
        (-[DOMTestSerializedScriptValueInterface cachedReadonlyValue]):
        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrGetter):
        (TestSerializedScriptValueInterfaceInternal):
        (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrSetter):
        (WebCore::TestSerializedScriptValueInterfaceInternal::readonlyValueAttrGetter):
        (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrGetter):
        (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrSetter):
        (WebCore::TestSerializedScriptValueInterfaceInternal::cachedReadonlyValueAttrGetter):
        ():
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
        (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):

2012-02-02  Adam Barth  <abarth@webkit.org>

        BMW Car Configuration Page doesn't work (Only manifests in Chromium)
        https://bugs.webkit.org/show_bug.cgi?id=77312

        Reviewed by Dimitri Glazkov.

        When we autogenerated the event factory, we missed the check for
        whether touch events were enabled at runtime:
        http://trac.webkit.org/changeset/97933/trunk/Source/WebCore/dom/Document.cpp

        This patch adds the check back.

        Unfortunately, there isn't a testing frame work for
        RuntimeEnabledFeatures.  The main difficulty is that these static bools
        need to be set when WebKit is initialized and can't be changed (which
        is why they're not part of WebCore::Settings).  To test them properly,
        we'd need a testing framework that booted up WebKit for each test.

        We could test this particular change (which doesn't need the bool to be
        constant through the runtime of WebKit), but that would create a
        sandtrap for future patches who might thing that this testing framework
        can really be used to test RuntimeEnabledFeatures.

        The net result is that Chromium is going to end up living with the
        non-default codepath for these settings being untested, which will lead
        to regressions like this one.  If we ened up with a bunch of these
        regressions, we'll likely end up with a testing framework similar to
        Chromium's browsers_tests, which create a fresh subprocess for each
        test.

        * dom/EventFactory.in:
        * dom/make_event_factory.pl:
        (defaultItemFactory):
        (generateImplementation):

2012-02-02  Justin Novosad  <junov@chromium.org>

        [Chromium] Use SkCanvas::flush in skia port
        https://bugs.webkit.org/show_bug.cgi?id=77463

        Reviewed by Stephen White.

        Code cleanup in skia port. Using SkCanvas::flush to remove
        unnecessary dependency on GrContext.  Removed unnecessary inclusions
        and forward declarations of GrContext in several source files.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        * platform/graphics/chromium/cc/CCProxy.h:
        * platform/graphics/skia/PlatformContextSkia.cpp:

2012-02-02  Chris Marrin  <cmarrin@apple.com>

        Turn on CSS Filters on Windows
        https://bugs.webkit.org/show_bug.cgi?id=76667

        Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors

        Reviewed by Adele Peterson.

        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        (PlatformCALayer::setFilters):
        (PlatformCALayer::filtersCanBeComposited):

2012-02-02  Jon Lee  <jonlee@apple.com>

        Clear shown notifications when context is no longer active
        https://bugs.webkit.org/show_bug.cgi?id=77363
        <rdar://problem/10568907>

        Reviewed by Darin Adler.

        * notifications/NotificationPresenter.h: Add new virtual function to clear notifications
        associated with a given execution context. By default the notifications are left alone, as
        before. Individual implementations can override to allow notifications to clear them.

        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::disconnectFrame): When disconnecting the page from the frame, we
        call clearNotifications().
        * page/Frame.cpp:
        (WebCore::Frame::pageDestroyed): When the page is destroyed, tell the DOM window to reset notifications.

2012-02-02  Anders Carlsson  <andersca@apple.com>

        The overhang area layer should have a linen background
        https://bugs.webkit.org/show_bug.cgi?id=77670
        <rdar://problem/10797727>

        Reviewed by Andreas Kling.

        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
        Add an #ifdef so that scroll position clamping can be disabled. This will be
        removed once rubber-banding works properly.

        * platform/ScrollbarTheme.h:
        (WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
        Add new empty function.

        * platform/mac/ScrollbarThemeMac.h:
        (ScrollbarThemeMac):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::linenBackgroundColor):
        Helper function for getting the CGColorRef that represents the linen background color.

        (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
        Set the linen background color as the overhang areas layer background color.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
        Call ScrollbarTheme::setUpOverhangAreasLayerContents.

2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106566.
        http://trac.webkit.org/changeset/106566
        https://bugs.webkit.org/show_bug.cgi?id=77673

        Broke the Windows build (Requested by jessieberlin on
        #webkit).

        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * platform/graphics/ca/win/PlatformCALayerWin.cpp:

2012-02-02  Tommy Widenflycht  <tommyw@google.com>

        [chromium] MediaStream API: Adding the embedding code for MediaStreamCenter
        https://bugs.webkit.org/show_bug.cgi?id=73130

        Reviewed by Darin Fisher.

        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

        * mediastream/UserMediaClient.h:
        (UserMediaClient):
        * mediastream/UserMediaRequest.cpp:
        (WebCore::UserMediaRequest::didCompleteQuery):
        * mediastream/UserMediaRequest.h:
        (UserMediaRequest):
        (WebCore::UserMediaRequest::audio):
        (WebCore::UserMediaRequest::video):
        (WebCore::UserMediaRequest::cameraPreferenceUser):
        (WebCore::UserMediaRequest::cameraPreferenceEnvironment):
        * platform/mediastream/MediaStreamCenter.cpp:
        (WebCore):
        (WebCore::MediaStreamCenter::queryMediaStreamSources):
        * platform/mediastream/MediaStreamCenter.h:
        (WebCore):
        (MediaStreamSourcesQueryClient):
        (MediaStreamCenter):

2012-02-02  Raymond Toy  <rtoy@google.com>

        Constant values to set "distanceModel" are undefined
        https://bugs.webkit.org/show_bug.cgi?id=74273

        Reviewed by Kenneth Russell.

        Tests: webaudio/distance-exponential.html
               webaudio/distance-inverse.html
               webaudio/distance-linear.html

        * webaudio/AudioPannerNode.h: Define enum for the new constants
        for the distance models.
        * webaudio/AudioPannerNode.idl: Define matching constants for the
        distance models.

2012-02-02  Raymond Toy  <rtoy@google.com>

        Illegal panner model values should throw an exception
        https://bugs.webkit.org/show_bug.cgi?id=77235

        Reviewed by Kenneth Russell.

        Modified existing panner-set-model test to catch exceptions.
        Debug build should not crash anymore.

        * webaudio/AudioPannerNode.cpp:
        (WebCore::AudioPannerNode::setPanningModel):  Throw exception for
        invalid model values.
        * webaudio/AudioPannerNode.h:
        (AudioPannerNode): Update declaration
        * webaudio/AudioPannerNode.idl: Setting panner model can throw
        exception. 

2012-02-02  Kentaro Hara  <haraken@chromium.org>

        Rename [ConvertUndefinedOrNullToNullString] to
        [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString]
        https://bugs.webkit.org/show_bug.cgi?id=77611

        Reviewed by Adam Barth.

        This patch renames [ConvertUndefinedOrNullToNullString] to
        [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString], according to the spec
        (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs,
        http://dev.w3.org/2006/webapi/WebIDL/#TreatUndefinedAs).

        No tests. No changes in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (JSValueToNative):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GetNativeTypeFromSignature):
        * dom/DOMImplementation.idl:
        * dom/Document.idl:
        * fileapi/Blob.idl:
        * fileapi/DirectoryEntry.idl:
        * fileapi/DirectoryEntrySync.idl:
        * fileapi/Entry.idl:
        * fileapi/EntrySync.idl:
        * fileapi/WebKitBlobBuilder.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLCanvasElement.idl:
        * html/HTMLFieldSetElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLKeygenElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOutputElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTextAreaElement.idl:
        * page/Console.idl:
        * page/DOMWindow.idl:

        * bindings/scripts/test/TestObj.idl: No changes in run-bindings-tests results.

2012-02-02  Anders Carlsson  <andersca@apple.com>

        NPAPI will not send mouse up events when mouse is outside plugin area
        https://bugs.webkit.org/show_bug.cgi?id=77657
        <rdar://problem/10160674>

        Reviewed by Andreas Kling.

        Export EventHandler::setCapturingMouseEventsNode.

        * WebCore.exp.in:

2012-02-02  Antti Koivisto  <antti@apple.com>

        Move remaining implementation from CSSStyleDeclaration to subclasses 
        https://bugs.webkit.org/show_bug.cgi?id=77621

        Reviewed by Andreas Kling.

        This leaves CSSStyleDeclaration a near-pure CSSOM interface.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::isCSSPropertyName):
        (WebCore::JSCSSStyleDeclaration::putDelegate):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::parentRule):
        (WebCore):
        * css/CSSComputedStyleDeclaration.h:
        (CSSComputedStyleDeclaration):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::contextStyleSheet):
        (WebCore):
        (WebCore::CSSMutableStyleDeclaration::parentRule):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::isInlineStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::parentRuleInternal):
        (WebCore::CSSMutableStyleDeclaration::clearParentRule):
        (CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::parentElement):
        (WebCore::CSSMutableStyleDeclaration::clearParentElement):
        (WebCore::CSSMutableStyleDeclaration::parentStyleSheet):
        * css/CSSParser.cpp:
        (WebCore::parseColorValue):
        (WebCore::parseSimpleLengthValue):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseDeclaration):
        * css/CSSStyleDeclaration.cpp:
        (WebCore):
        * css/CSSStyleDeclaration.h:
        (CSSStyleDeclaration):
        (WebCore::CSSStyleDeclaration::parentStyleSheet):
        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):
                            
            Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()

        * css/CSSStyleRule.h:
        (WebCore::CSSStyleRule::setDeclaration):
        * css/CSSStyleSelector.cpp:
        (WebCore::isInsideRegionRule):
        (WebCore::CSSStyleSelector::applyDeclaration):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::WebKitCSSKeyframeRule::setDeclaration):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::serializeFrame):
        (WebCore::PageSerializer::serializeCSSStyleSheet):
        (WebCore::PageSerializer::retrieveResourcesForCSSRule):
        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
        * page/PageSerializer.h:
        
            Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
        
        (WebCore):
        (PageSerializer):

2012-02-02  Chris Marrin  <cmarrin@apple.com>

        Turn on CSS Filters on Windows
        https://bugs.webkit.org/show_bug.cgi?id=76667

        Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors

        Reviewed by Adele Peterson.

        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        (PlatformCALayer::setFilters):
        (PlatformCALayer::filtersCanBeComposited):

2012-02-02  Anders Carlsson  <andersca@apple.com>

        Move ScrollingThread to its own file
        https://bugs.webkit.org/show_bug.cgi?id=77652

        Reviewed by Sam Weinig.

        This just shuffles some classes around and makes ScrollingCoordinator call into ScrollingThread.
        Hopefully we'll be able to make ScrollingThread use the new WebCore::RunLoop class eventually.

        * WebCore.xcodeproj/project.pbxproj:
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::handleWheelEvent):
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):
        * page/scrolling/ScrollingThread.cpp: Added.
        (WebCore):
        (WebCore::ScrollingThread::ScrollingThread):
        (WebCore::ScrollingThread::isCurrentThread):
        (WebCore::ScrollingThread::dispatch):
        (WebCore::ScrollingThread::shared):
        (WebCore::ScrollingThread::createThreadIfNeeded):
        (WebCore::ScrollingThread::threadCallback):
        (WebCore::ScrollingThread::threadBody):
        (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
        * page/scrolling/ScrollingThread.h: Added.
        (WebCore):
        (ScrollingThread):
        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
        (WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPositionOnScrollingThread):
        * page/scrolling/mac/ScrollingThreadMac.mm: Added.
        (WebCore):
        (WebCore::ScrollingThread::initializeRunLoop):
        (WebCore::ScrollingThread::wakeUpRunLoop):
        (WebCore::ScrollingThread::threadRunLoopSourceCallback):

2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106551.
        http://trac.webkit.org/changeset/106551
        https://bugs.webkit.org/show_bug.cgi?id=77648

        Breaking mac and gtk tests due to font differences. (Requested
        by _pdr_ on #webkit).

        * platform/graphics/SVGGlyph.cpp:
        (WebCore::charactersWithArabicForm):
        * svg/SVGFontData.cpp:
        (WebCore::SVGFontData::applySVGGlyphSelection):
        * svg/SVGFontData.h:
        (SVGFontData):

2012-02-02  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [REGRESSION] Slow continuous DOM traversal with Up/Down keys
        https://bugs.webkit.org/show_bug.cgi?id=77643

        Reviewed by Pavel Feldman.

        Test: inspector/styles/updates-during-dom-traversal.html

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):

2012-02-02  Claudio Saavedra  <csaavedra@igalia.com> and Martin Robinson  <mrobinson@igalia.com>

        [GTK] WebKitWebView won't work in a GtkOffscreenWindow
        https://bugs.webkit.org/show_bug.cgi?id=76911

        Reviewed by Philippe Normand.

        * platform/gtk/GtkUtilities.cpp:
        (WebCore::widgetIsOnscreenToplevelWindow): Added this helper.
        * platform/gtk/GtkUtilities.h:
        (WebCore): Added helper declaration.

2012-02-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Update active and hover state on touch release.
        https://bugs.webkit.org/show_bug.cgi?id=77620

        Reviewed by Kenneth Rohde Christiansen.

        * rendering/HitTestRequest.h:
        (WebCore::HitTestRequest::move):
        (WebCore::HitTestRequest::release):
        (WebCore::HitTestRequest::touchEvent):
        (WebCore::HitTestRequest::mouseEvent):
        (WebCore::HitTestRequest::touchMove):
        (WebCore::HitTestRequest::touchRelease):
            Rename the enum values in HitTestRequest to be mouse/touch
            agnostic, and add value for recognizing touch events.
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::nodeAtPoint): Update for HitTestRequest rename.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTest): ditto
        (WebCore::RenderLayer::updateHoverActiveState): Reset hoverstate on touch release.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateSelectionForMouseDrag): Update for HitTestRequest rename.
        (WebCore::EventHandler::handleMouseMoveEvent): ditto
        (WebCore::EventHandler::handleMouseReleaseEvent): ditto
        (WebCore::EventHandler::hoverTimerFired): ditto
        (WebCore::EventHandler::dragSourceEndedAt): ditto
        (WebCore::EventHandler::handleTouchEvent): Hittest touch release to reset
            active and hover states and add touch enum to all touch hittests.

2012-02-02  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: enable editing of selected rows on single click in elements panel.
        https://bugs.webkit.org/show_bug.cgi?id=77627

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.onattach):
        (WebInspector.ElementsTreeElement.prototype.onselect):
        (WebInspector.ElementsTreeElement.prototype._mouseDown):
        * inspector/front-end/treeoutline.js:
        (TreeElement.prototype.selectOnMouseDown):
        (TreeElement.prototype.select):

2012-02-02  Philip Rogers  <pdr@google.com>

        Fix mirroring with SVG fonts
        https://bugs.webkit.org/show_bug.cgi?id=77067

        Reviewed by Nikolas Zimmermann.

        SVG fonts were incorrectly handling mirrored characters in bidi text.
        In this change I added the function createStringWithMirroredCharacters
        which handles mirroring the characters when selecting glyphs for SVG
        fonts. I also made a small cosmetic change in the function
        charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
        which better reflects what it actually does.

        Several new tests were added to test mirroring with SVG fonts in the
        presence of Arabic forms and non-BMP characters.

        Tests: svg/custom/glyph-selection-arabic-forms.svg
               svg/custom/glyph-selection-bidi-mirror.svg
               svg/custom/glyph-selection-non-bmp.svg

        * platform/graphics/SVGGlyph.cpp:
        (WebCore::charactersWithArabicForm):
        * svg/SVGFontData.cpp:
        (WebCore::SVGFontData::applySVGGlyphSelection):
        (WebCore::SVGFontData::createStringWithMirroredCharacters):
        * svg/SVGFontData.h:
        (SVGFontData):

2012-02-02  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: add experiment for single click styles editing.
        https://bugs.webkit.org/show_bug.cgi?id=77624

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertyTreeElement.prototype.onattach):
        (WebInspector.StylePropertyTreeElement.prototype._mouseDown):
        (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
        (WebInspector.StylePropertyTreeElement.prototype):
        (WebInspector.StylePropertyTreeElement.prototype.selectElement.context):

2012-02-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Make the tap highlighting work for all test cases
        https://bugs.webkit.org/show_bug.cgi?id=77626

        Reviewed by Simon Hausmann.

        Clean up of the current code to make it more generic. Now uses
        addFocusRingRects for finding the areas to highlight.

        Tested by current manual tests.

        * page/GestureTapHighlighter.cpp:
        (WebCore::GestureTapHighlighter::pathForNodeHighlight):

2012-02-02  Mario Sanchez Prada  <msanchez@igalia.com>

        [Gtk] atk_text_get_text_at_offset() sometimes fails to provide the correct line
        https://bugs.webkit.org/show_bug.cgi?id=72382

        Reviewed by Martin Robinson.

        Do not add unnecesary blanks at the end of a line of text.

        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
        (textForRenderer): Do not just append a '\n' at the end of a line
        if the linebreak for that line was already considered.

2012-02-02  Raul Hudea  <rhudea@adobe.com>

        Regions should ignore the saved currentRenderFlowThread during repainting
        because if there are imbricated flow threads, it might end using the wrong one.

        [CSSRegions] Assert failure in RenderView::computeRectForRepaint
        https://bugs.webkit.org/show_bug.cgi?id=77430

        Reviewed by David Hyatt.

        Test: fast/regions/imbricated-flow-threads-crash.html

        * rendering/RenderFlowThread.cpp:
        (CurrentRenderFlowThreadDisabler):
        (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
        (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
        (WebCore):
        (WebCore::RenderFlowThread::repaintRectangleInRegions):

2012-02-02  Kinuko Yasuda  <kinuko@chromium.org>

        Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory (re-landing r105395)
        https://bugs.webkit.org/show_bug.cgi?id=76551

        Reviewed by David Levin.

        Moved the implementation of crackFileSystemURL() and toURL() from
        WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
        so that each platform can extend/implement their behavior if necessary.

        No new tests as it has no functional changes.

        * fileapi/DOMFileSystemBase.cpp: Moved crackFileSystemURL() to AsyncFileSystem.
        * fileapi/DOMFileSystemBase.h:
        (DOMFileSystemBase):
        * fileapi/EntryBase.cpp: Moved toURL() to AsyncFileSystem.
        (WebCore::EntryBase::toURL):
        * page/DOMWindow.cpp: Made corresponding callsite changes.
        (WebCore::DOMWindow::webkitRequestFileSystem):
        (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
        * page/DOMWindow.h:
        * platform/AsyncFileSystem.cpp:
        (WebCore::AsyncFileSystem::isValidType): Added.
        * platform/AsyncFileSystem.h:
        (AsyncFileSystem):
        * workers/WorkerContext.cpp: Made corresponding callsite changes.
        (WebCore::WorkerContext::webkitRequestFileSystem):
        (WebCore::WorkerContext::webkitRequestFileSystemSync):
        (WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
        (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
        * workers/WorkerContext.h:

2012-02-02  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: pause on uncaugh exceptions state is not properly restored
        https://bugs.webkit.org/show_bug.cgi?id=77558

        'Pause on exceptions' state is now stored in InspectorState object so that it is
        properly restored on inspected process change.

        Reviewed by Vsevolod Vlasov.

        * inspector/InspectorDebuggerAgent.cpp:
        (DebuggerAgentState):
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::disable):
        (WebCore::InspectorDebuggerAgent::restore):
        (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
        (WebCore):
        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):

2012-02-02  Kentaro Hara  <haraken@chromium.org>

        The third argument of addEventListener/removeEventListener of PeerConnection should be optional
        https://bugs.webkit.org/show_bug.cgi?id=77606

        Reviewed by Adam Barth.

        This patch corrects a typo in PeerConnection.idl, i.e. [optional] => [Optional].

        Test: fast/mediastream/peerconnection-eventlistener-optional-argument.html

        * mediastream/PeerConnection.idl:

2012-02-02  Rakesh KN  <rakesh.kn@motorola.com>

        hidden attribute on <input type=file /> suppresses the file selection dialog
        https://bugs.webkit.org/show_bug.cgi?id=58208

        Reviewed by Ryosuke Niwa.

        We want to allow opening file dialog on hidden element when click() is called
        on the element. The behaviour is similar to Firefox and IE.

        Added manual test as the file dialog opens only on user gesture.

        * html/FileInputType.cpp:
        (WebCore::FileInputType::handleDOMActivateEvent):
        Removed renderer check as input can be hidden.

2012-02-01  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] FFTFrame implementation
        https://bugs.webkit.org/show_bug.cgi?id=73545

        Reviewed by Chris Rogers.

        FFTFrame implementation based on GStreamer's FFT processing
        library.

        No new tests, existing WebAudio tests cover this.

        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * platform/audio/FFTFrame.h:
        * platform/audio/FFTFrameStub.cpp:
        * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
        (WebCore::FFTFrame::FFTFrame):
        (WebCore::FFTFrame::initialize):
        (WebCore::FFTFrame::cleanup):
        (WebCore::FFTFrame::~FFTFrame):
        (WebCore::FFTFrame::multiply):
        (WebCore::FFTFrame::doFFT):
        (WebCore::FFTFrame::doInverseFFT):
        (WebCore::FFTFrame::realData):
        (WebCore::FFTFrame::imagData):

2012-02-02  Kentaro Hara  <haraken@chromium.org>

        Rename [CheckFrameSecurity] and [SVGCheckSecurity] to [CheckAccessToNode]
        https://bugs.webkit.org/show_bug.cgi?id=77601

        Reviewed by Adam Barth.

        [CheckFrameSecurity] and [SVGCheckSecurity] have the same meaning; i.e. generate code
        to check allowAccessToNode() for a given attribute or method. This patch renames them
        to [CheckAccessToNode].

        No tests. No changes in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateFunctionCallback):
        * html/HTMLEmbedElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLObjectElement.idl:

        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp: Updated the test results.
        (WebCore):

2012-02-01  Kentaro Hara  <haraken@chromium.org>

        Rename [V8DisallowShadowing] to [V8Unforgeable]
        https://bugs.webkit.org/show_bug.cgi?id=77599

        Reviewed by Adam Barth.

        This patch renames [V8DisallowShadowing] to [V8Unforgeable], following the Web IDL
        spec (http://dev.w3.org/2006/webapi/WebIDL/#Unforgeable).

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateSingleBatchedAttribute):
        (GenerateImplementation):
        * page/DOMWindow.idl:
        * page/Location.idl:

2012-02-01  Kentaro Hara  <haraken@chromium.org>

        Rename [ConvertNullToNullString] to [TreatNullAs=EmptyString]
        https://bugs.webkit.org/show_bug.cgi?id=77602

        Reviewed by Adam Barth.

        This patch renames [ConvertNullToNullString] to [TreatNullAs=EmptyString],
        according to the spec (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs).

        No tests. No changes in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (JSValueToNative):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GetNativeTypeFromSignature):

        * css/CSSCharsetRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSValue.idl:
        * css/MediaList.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/DOMImplementation.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/ProcessingInstruction.idl:
        * dom/ShadowRoot.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLOutputElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLTitleElement.idl:
        * html/canvas/CanvasRenderingContext2D.idl:
        * page/DOMWindow.idl:
        * storage/StorageEvent.idl:
        * svg/SVGAngle.idl:
        * svg/SVGElement.idl:
        * svg/SVGLength.idl:
        * svg/SVGScriptElement.idl:

        * bindings/scripts/test/TestObj.idl: No change in the run-bindings-tests results.

2012-02-01  Kentaro Hara  <haraken@chromium.org>

        Remove [GenerateConstructor] from IDL files
        https://bugs.webkit.org/show_bug.cgi?id=77598

        Reviewed by Adam Barth.

        [GenerateConstructor] is used in some IDL files but it is not implemented
        in code generators. I could not find any history about [GenerateConstructor]
        in code generators. This patch removes them from IDL files.

        Maybe we want to replace [GenerateConstructor] with [Constructor] eventually,
        but currently no tests are written for their constructors (e.g. "new DOMTokenList()").
        So simply removing them would make sense.

        No new tests. No change in behavior.

        * dom/DOMStringList.idl:
        * html/DOMSettableTokenList.idl:
        * html/DOMTokenList.idl:
        * svg/SVGFEConvolveMatrixElement.idl:
        * webaudio/AudioPannerNode.idl:

2012-02-01  Eric Carlson  <eric.carlson@apple.com>

        Consider user's preferred language when choosing text tracks
        https://bugs.webkit.org/show_bug.cgi?id=74121

        Reviewed by Alexey Proskuryakov.

        Tests: media/track/track-language-preference.html
               media/track/track-prefer-captions.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadTimerFired): configureTextTracks -> configureNewTextTracks.
        (WebCore::HTMLMediaElement::textTracksAreReady): Add more comments.
        (WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
        (WebCore::HTMLMediaElement::showingTrackWithSameKind): Minor restructuring.
        (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Renamed from userIsInterestedInThisTrack,
            don't consider user's language preference.
        (WebCore::HTMLMediaElement::configureTextTrackGroup): New, configure all tracks in a group, 
            considering user's kind and language preferences.
        (WebCore::HTMLMediaElement::configureNewTextTracks): New, configure all newly added tracks.
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::TrackGroup::TrackGroup):
        (TrackGroup):

        * platform/Language.cpp:
        (WebCore::canonicalLanguageIdentifier): New, create a canonicalized version of a language string.
        (WebCore::bestMatchingLanguage): New, return the language from the list that best matches the 
            specified language.
        (WebCore::preferredLanguageFromList): New, return the language in the specified list that best
            matches the user's language preference.
        * platform/Language.h:

        * testing/Internals.cpp:
        (WebCore::Internals::setShouldDisplayTrackType): New, allow DRT to set the track type preference.
        (WebCore::Internals::shouldDisplayTrackType): New, allow DRT to read the track type preference.
        * testing/Internals.h:
        * testing/Internals.idl:

2012-02-01  Hayato Ito  <hayato@chromium.org>

        Change class hierarycy so that ShadowRoot can inherit DocumentFragment.
        https://bugs.webkit.org/show_bug.cgi?id=76693

        Reviewed by Darin Adler.

        Make ShadowRoot inherit DocumentFragment so that it matches the class hierarchy of IDL in the spec.
        TreeScope becomes a separated class, which is now inherited by Document and ShadowRoot using multiple-inheritance.
        This patch is pre-requirement for coming IDL change.

        No tests. No change in behavior.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        (WebCore::Document::buildAccessKeyMap):
        (WebCore::Document::childrenChanged):
        (WebCore::Document::attach):
        (WebCore::Document::detach):
        * dom/Document.h:
        (Document):
        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::DocumentFragment):
        * dom/DocumentFragment.h:
        (DocumentFragment):
        * dom/DocumentOrderedMap.cpp:
        (WebCore::DocumentOrderedMap::get):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::ShadowRoot):
        (WebCore::ShadowRoot::~ShadowRoot):
        (WebCore::ShadowRoot::attach):
        * dom/ShadowRoot.h:
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::TreeScope):
        (WebCore::TreeScope::~TreeScope):
        (WebCore::TreeScope::setParentTreeScope):
        (WebCore::TreeScope::getImageMap):
        (WebCore::TreeScope::findAnchor):
        * dom/TreeScope.h:
        (WebCore):
        (WebCore::TreeScope::rootNode):
        (TreeScope):
        * dom/TreeScopeAdopter.cpp:
        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
        * page/DragController.cpp:
        (WebCore::asFileInput):
        * page/FocusController.cpp:
        (WebCore::ownerOfTreeScope):
        (WebCore::FocusController::nextFocusableNode):
        (WebCore::FocusController::previousFocusableNode):

2012-02-01  Benjamin Poulain  <bpoulain@apple.com>

        WorkerScriptController::evaluate() should not return anything
        https://bugs.webkit.org/show_bug.cgi?id=77587

        Reviewed by Adam Barth.

        Remove the return value from WorkerScriptController as it is
        (and should be) unused.

        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        * bindings/js/WorkerScriptController.h:
        (WorkerScriptController):
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        * bindings/v8/WorkerScriptController.h:
        (WorkerScriptController):

2012-02-01  Kentaro Hara  <haraken@chromium.org>

        Remove [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
        [HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators
        https://bugs.webkit.org/show_bug.cgi?id=77585

        Reviewed by Adam Barth.

        This patch removes [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
        [HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators,
        since they are not used by no IDL files.

        No tests. No change in behavior.

        * bindings/scripts/CodeGenerator.pm:
        (GetterExpression):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateHeader):
        (GenerateImplementation):
        (IsConstructable):
        (IsConstructorTemplate):

        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated the run-bindings-tests results.
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        (WebCore):
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
        (WebCore):

2012-02-01  Shinya Kawanaka  <shinyak@google.com>

        Select attribute of HTMLContentElement should be able be changed dynamically.
        https://bugs.webkit.org/show_bug.cgi?id=76261

        Reviewed by Hajime Morita.

        When select attribute is changed, the flag to recalc style is set.

        Test: fast/dom/shadow/content-element-select-dynamic.html

        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::parseMappedAttribute):
          Sets recalc style when select is changed.
        * html/shadow/HTMLContentElement.h:
        (HTMLContentElement):

2012-02-01  Kentaro Hara  <haraken@chromium.org>

        Remove [ImplementationUUID] and [InterfaceUUID] from html/canvas/*.idl
        https://bugs.webkit.org/show_bug.cgi?id=77589

        Reviewed by Adam Barth.

        [ImplementationUUID] and [InterfaceUUID] are used in html/canvas/*.idl,
        but they are not implemented in code generators and thus have no meaning.
        This patch removes them.

        No tests. No change in behavior.

        * html/canvas/CanvasGradient.idl:
        * html/canvas/CanvasPattern.idl: The file is now empty though.
        * html/canvas/CanvasRenderingContext.idl:
        * html/canvas/CanvasRenderingContext2D.idl:
        * html/canvas/WebGLRenderingContext.idl:

2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106408.
        http://trac.webkit.org/changeset/106408
        https://bugs.webkit.org/show_bug.cgi?id=77592

        crashes in chromium mac release tests (Requested by japhet on
        #webkit).

        * platform/graphics/Region.cpp:
        * platform/graphics/Region.h:
        (Region):
        (Shape):

2012-02-01  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Use glScissors for clipping in TextureMapperGL when possible
        https://bugs.webkit.org/show_bug.cgi?id=77575

        Reviewed by Martin Robinson.

        Maintain a clipping stack, that helps us use stencils in conjunction with scissors.
        We apply scissors when the clip region is rectalinear, and stencil when it's not.

        No behavior changes so no new tests.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (SharedGLData):
        (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::TextureMapperGL::bindSurface):
        (WebCore):
        (WebCore::scissorClip):
        (WebCore::TextureMapperGL::beginScissorClip):
        (WebCore::TextureMapperGL::endScissorClip):
        (WebCore::TextureMapperGL::beginClip):
        (WebCore::TextureMapperGL::endClip):
        * platform/graphics/opengl/TextureMapperGL.h:
        (TextureMapperGL):

2012-02-01  Anders Carlsson  <andersca@apple.com>

        Move the scrolling coordinator to page/scrolling
        https://bugs.webkit.org/show_bug.cgi?id=77590

        Reviewed by Dan Bernstein.

        Put scrolling related files in page/scrolling to avoid cluttering the page directory.

        * WebCore.xcodeproj/project.pbxproj:
        * page/scrolling/ScrollingCoordinator.cpp: Renamed from Source/WebCore/page/ScrollingCoordinator.cpp.
        * page/scrolling/ScrollingCoordinator.h: Renamed from Source/WebCore/page/ScrollingCoordinator.h.
        * page/scrolling/mac/ScrollingCoordinatorMac.mm: Renamed from Source/WebCore/page/mac/ScrollingCoordinatorMac.mm.

2012-02-01  Kentaro Hara  <haraken@chromium.org>

        Remove [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
        [v8implname] and [v8referenceattr] from code generators
        https://bugs.webkit.org/show_bug.cgi?id=77588

        Reviewed by Adam Barth.

        This patch removes [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
        [v8implname] and [v8referenceattr] from code generators, since they are not used
        by any IDL files.

        No tests. No changes in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (IsConstructable):
        (IsConstructorTemplate):
        (GenerateNormalAttrGetter):
        (GenerateFunctionCallString):

2012-02-01  Pablo Flouret  <pablof@motorola.com>

        Support targetOrigin = "/" in postMessage for sending messages to same origin as source document.
        https://bugs.webkit.org/show_bug.cgi?id=77580

        Reviewed by Adam Barth.

        No new tests. Modified http/tests/security/postMessage/target-origin.html
        to test this case as well.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessage):

2012-02-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Avoid creating NamedNodeMap unnecessarily
        https://bugs.webkit.org/show_bug.cgi?id=77574

        Reviewed by Ryosuke Niwa.

        The method Element::attributes() was being used for multiple things in our
        codebase: (1) as the getter for NamedNodeMap exposed to DOM, (2) as a way to other WebCore
        code get the "attribute storage" (currently inside NamedNodeMap), and (3) as a way to
        get the attribute storage creating one if necessary.

        This commit separate the jobs in different functions:

        1) attributes() keeps being the DOM getter, and loses its boolean parameter.

        2) updatedAttributes() updates the invalid attributes and returns the attribute
        storage. If we don't have one, return 0.

        3) ensureUpdatedAttributes() updates the invalid attributes and forces the
        creation of attribute storage to return.

        There is also another way to get to the attribute storage currently, via
        attributeMap(), which doesn't update the attributes for possible changes in Style
        or SVG attributes.

        Note that the new functions are not available in Node class, so C++ code manipulating
        attributes should cast to Element.

        This separation also made easier to spot and fix some places where we do not
        need to create the attribute storage if it doesn't exist.

        No new tests, this commit shouldn't change the behavior of existing code.

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector):
        * dom/DatasetDOMStringMap.cpp:
        (WebCore::DatasetDOMStringMap::getNames):
        (WebCore::DatasetDOMStringMap::item):
        (WebCore::DatasetDOMStringMap::contains):
        * dom/Document.cpp:
        (WebCore::Document::importNode):
        * dom/Element.cpp:
        (WebCore::Element::setAttribute):
        (WebCore::Element::hasAttributes):
        (WebCore::Element::setAttributeNode):
        (WebCore::Element::setAttributeNodeNS):
        (WebCore::Element::removeAttributeNode):
        (WebCore::Element::getAttributeNode):
        (WebCore::Element::getAttributeNodeNS):
        (WebCore::Element::hasAttribute):
        (WebCore::Element::hasAttributeNS):
        (WebCore::Element::normalizeAttributes):
        * dom/Element.h:
        (Element):
        (WebCore::Element::attributes):
        (WebCore::Element::ensureAttributeData):
        (WebCore::Element::ensureUpdatedAttributes):
        (WebCore::Element::updatedAttributes):
        (WebCore::Element::setAttributesFromElement):
        (WebCore::Element::ensureAttributeMap): Made const to be reused by ensureUpdatedAttributes().
        (WebCore::Element::updateInvalidAttributes):
        (WebCore):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::mapsEquivalent): Having no attributes is equivalent to
        not having an attribute storage because the attribute storage is lazily created.
        * dom/Node.cpp:
        (WebCore::Node::isEqualNode): Do not force the creation of attribute storage to
        compare two nodes.
        (WebCore::Node::isDefaultNamespace): Use updatedAttributes(). Since we iterate
        using length, it's OK if the attribute storage is empty.
        (WebCore::Node::lookupNamespaceURI): Ditto.
        (WebCore::Node::lookupNamespacePrefix): Ditto.
        (WebCore::Node::compareDocumentPosition): Ditto.
        * editing/ApplyStyleCommand.cpp:
        (WebCore::hasNoAttributeOrOnlyStyleAttribute):
        (WebCore::isEmptyFontTag):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::isRemovableBlock): Use isElementNode() explicitly
        to identify non-Element nodes, then use hasAttributes() if is Element.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::highestVisuallyEquivalentDivBelowRoot):
        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::appendElement): Do not create the attribute storage
        unnecessarily.
        * editing/htmlediting.cpp:
        (WebCore::areIdenticalElements): Do not create the attribute storage
        unnecessarily. Use mapsEquivalent() for comparing the attributes.
        * editing/markup.cpp:
        (WebCore::completeURLs): Do not create the attribute storage unnecessarily.
        (WebCore::StyledMarkupAccumulator::appendElement): Ditto.
        (WebCore::isPlainTextMarkup): hasAttributes() will avoid creating the attribute
        storage unnecessarily.
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parametersForPlugin):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parametersForPlugin):
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::isURLAttribute): Do not create the attribute storage
        unnecessarily.
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement): Use
        ensureUpdatedAttributes() since we will add new attributes.
        (WebCore):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setAttributesAsText):
        (WebCore::InspectorDOMAgent::performSearch):
        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
        * page/PageSerializer.cpp:
        (WebCore::isCharsetSpecifyingNode): Do not assume attributeMap will exist.
        * svg/properties/SVGAnimatedPropertySynchronizer.h: Use ensureUpdatedAttributes()
        since we will add new attributes.
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunLang::evaluate): Do not create the attribute storage
        unnecessarily.
        * xml/XPathNodeSet.cpp:
        (WebCore::XPath::NodeSet::traversalSort):
        * xml/XPathStep.cpp:
        (WebCore::XPath::Step::nodesInAxis): Use isElementNode() instead of comparing
        nodeType() manually. Do not create the attribute storage unnecessarily.
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser): Do not create the attribute
        storage unnecessarily.
        * xml/parser/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser): Ditto.
        * xml/parser/XMLTreeBuilder.cpp:
        (WebCore::XMLTreeBuilder::XMLTreeBuilder): Ditto.

2012-02-01  Adam Barth  <abarth@webkit.org>

        contentDispositionType misparses the Content-Disposition header in some obscure corner cases
        https://bugs.webkit.org/show_bug.cgi?id=77577

        Reviewed by Eric Seidel.

        The contentDispositionType extracts the disposition-type from the
        Content-Disposition header.  According to RFC 6266 (and previous RFCs),
        the disposition-type must be an RFC 2616 token.  Rather than enforce
        this general rule, we had special-cased some examples (including
        name=foo and filename=bar).  This patch generalizes our check to
        properly validate that the disposition-type is an RFC 2616 token.

        In conjunction with some other work in the Chromium network stack, this
        causes Chromium to pass the following tests:

          http://greenbytes.de/tech/tc2231/#inlonlyquoted
          http://greenbytes.de/tech/tc2231/#attonlyquoted

        Without this patch, these test cases neither trigger a navigation nor a
        download in Chromium.  This patch does not appear to cause any visible
        change in Safari.  (Safari passes these tests both before and after
        this patch.)

        * platform/network/HTTPParsers.cpp:
        (WebCore::isRFC2616Token):
        (WebCore::contentDispositionType):
            - This patch also adds a comment to
              filenameFromHTTPContentDisposition, which explains some of the
              was this function incorrectly implements the requirements in
              RFC 6266.  Resolving these issues is a subject for a future
              patch.
        * platform/network/HTTPParsers.h:

2012-02-01  Dan Bernstein  <mitz@apple.com>

        WebCore part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
        https://bugs.webkit.org/show_bug.cgi?id=77505

        Reviewed by Darin Adler.

        * page/Page.h:
        (WebCore::Page::Pagination::Pagination): Added initializer for the behavesLikeColumns member
        variable.
        (WebCore::Page::Pagination::operator==): Added comparison of behavesLikeColumns values.
        (Pagination): Added behavesLikeColumns member variable. When set to false (the default),
        paginated display respects the page-break-{before,after} properties rather than the
        column-break-{before,after} ones.
        * rendering/ColumnInfo.h:
        (WebCore::ColumnInfo::ColumnInfo): Added initializer for the m_paginationUnit member.
        (WebCore::ColumnInfo::paginationUnit): Added this getter.
        (WebCore::ColumnInfo::setPaginationUnit): Added this setter.
        (ColumnInfo): Added m_paginationUnit member. It defaults to Column.
        * rendering/LayoutState.h:
        (WebCore::LayoutState::isPaginatingColumns): Changed to check the pagination unit.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock): Added code to set the pagination unit in the ColumnInfo.
        (WebCore::RenderBlock::paginationUnit): Added. The base class implementation returns Column.
        * rendering/RenderBlock.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paginationUnit): Added this override that returns Page, unless
        this is the RenderView for the main frame and pagination is set to behave like columns.
        * rendering/RenderView.h:

2012-02-01  Florin Malita  <fmalita@google.com>

        Backgrounds in HTML inside foreignObject don't draw
        https://bugs.webkit.org/show_bug.cgi?id=23111

        Reviewed by Eric Seidel.

        Test: svg/foreignObject/body-background.svg

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackground):
        Tweak the <body> background inhibiting logic to allow drawing when the element is embedded in FOs.


2012-02-01  Gustavo Lima Chaves  <glima@profusion.mobi>

        Make one able to set the local storage (tracker) database dir's path
        https://bugs.webkit.org/show_bug.cgi?id=77006

        Reviewed by Darin Adler.

        There are no behavior changes with the diff, so no need for new tests.

        * storage/StorageTracker.cpp:
        (WebCore::StorageTracker::setDatabaseDirectoryPath):
        (WebCore):
        (WebCore::StorageTracker::databaseDirectoryPath):
        * storage/StorageTracker.h:
        (StorageTracker):

2012-02-01  Anders Carlsson  <andersca@apple.com>

        Fix Window build.

        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
        (WebCore::LayerClient::platformCALayerDidCreateTiles):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):

2012-02-01  John Yani  <vanuan@gmail.com>

        GetMIMEDescription should return const char *
        https://bugs.webkit.org/show_bug.cgi?id=77297

        Reviewed by Alexey Proskuryakov.

        No new tests. No change in behaviour.

        * plugins/blackberry/PluginPackageBlackBerry.cpp:
        (WebCore::PluginPackage::fetchInfo):
        * plugins/efl/PluginPackageEfl.cpp:
        (WebCore):
        (WebCore::PluginPackage::fetchInfo):
        * plugins/npapi.h:
        * plugins/npfunctions.h:
        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::PluginPackage::fetchInfo):

2012-02-01  Timothy Hatcher  <timothy@apple.com>

        Consolidate duplicate "willHide" functions in DetailedHeapshotView.js to fix
        a syntax error in JSC and make the Inspector open again in Release builds.

        https://webkit.org/b/77424

        Reviewed by Brian Weinstein.

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype.willHide): Consolidated.
        (WebInspector.DetailedHeapshotView.prototype.willHide): Removed.

2012-02-01  Justin Novosad  <junov@chromium.org>

        [Chromium] Enable deferred canvas rendering in the skia port
        https://bugs.webkit.org/show_bug.cgi?id=76732

        Reviewed by Stephen White.

        No new tests: covered by existing canvas layout tests

        Adding a new setting to enable deferred 2d canvas rendering.
        Added support for deferred 2d canvas rendering in ImageBufferSkia
        and Canvas2DLayerChromium, mostly plumbing. Deffered rendering
        implementation is provided by skia (class SkDeferredCanvas).

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::shouldDefer):
        (WebCore):
        (WebCore::HTMLCanvasElement::createImageBuffer):
        * html/HTMLCanvasElement.h:
        (HTMLCanvasElement):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setAccelerated2dCanvasEnabled):
        (WebCore):
        (WebCore::Settings::setDeferred2dCanvasEnabled):
        * page/Settings.h:
        (Settings):
        (WebCore::Settings::deferred2dCanvasEnabled):
        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::create):
        (ImageBuffer):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
        (WebCore):
        (WebCore::Canvas2DLayerChromium::setCanvas):
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (AcceleratedDeviceContext):
        (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
        (WebCore::AcceleratedDeviceContext::prepareForDraw):
        (WebCore::AcceleratedDeviceContext::flush):
        (WebCore):
        (WebCore::createAcceleratedCanvas):
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::ImageBuffer):

2012-02-01  Ryosuke Niwa  <rniwa@webkit.org>

        Gcc build fix after r106482.

        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):

2012-02-01  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=77383
        Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
        -and corresponding-
        <rdar://problem/10709560>

        Reviewed by Sam Weinig.

        The goal is to re-vamp didFirstVisuallyNonEmptyLayout to be more accurate. 
        This patch adds a new heuristic called didNewFirstVisuallNonEmptyLayout and 
        leaves the old one for the time being. That is temporary.

        The heuristic for didNewFirstVisuallNonEmptyLayout is to count relevant 
        painted RenderObjects on Page.
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::setPaintedObjectsCounterThreshold):
        (WebCore::Page::addRelevantRepaintedObject):
        * page/Page.h:
        (WebCore):
        (Page):
        (WebCore::Page::startCountingRepaintedObjects):
        * WebCore.exp.in:

        Start counting relevant painted RenderObjects on the page once the first 
        layout is complete.
        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):

        Machinery for firing didNewFirstVisuallNonEmptyLayout.
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didNewFirstVisuallyNonEmptyLayout):
        (WebCore):
        * loader/FrameLoader.h:
        (FrameLoader):
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):

        These RenderObjects are the ones that this api currently consider to be 
        relevant. If their repaint rects intersect with the viewRect, then they are 
        added to the relevant objects set on the Page.
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::paint):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::paintReplaced):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::paintReplaced):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::paintReplaced):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::paintReplaced):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paintReplaced):

2012-02-01  Alexis Menard  <alexis.menard@openbossa.org>

        CSSStyleDeclaration.getPropertyPriority() fails for CSS shorthand properties with 'important' priority
        https://bugs.webkit.org/show_bug.cgi?id=49058

        Reviewed by Andreas Kling.

        CSSMutableStyleDeclaration::getPropertyPriority was not handling shorthands properly. Shorthands are
        not part of the property list of the style so we need to query the longhands which are the one added
        in the list. Only if the longhands have equal priority the shorthand priority is known. I also renamed
        getPropertyPriority (not the CSSOM exposed method) to something more consistent with WebKit naming guidelines.

        Test: fast/css/shorthand-priority.html

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::propertyIsImportant):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
        (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
        * css/CSSMutableStyleDeclaration.h:
        (CSSMutableStyleDeclaration):
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::extractAndRemoveTextDirection):
        (WebCore::EditingStyle::collapseTextDecorationProperties):
        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
        (WebCore::setTextDecorationProperty):
        * editing/RemoveCSSPropertyCommand.cpp:
        (WebCore::RemoveCSSPropertyCommand::doApply):

2012-02-01  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in EventHandler::updateDragAndDrop
        https://bugs.webkit.org/show_bug.cgi?id=77569

        Reviewed by Alexey Proskuryakov.

        Test: fast/events/remove-target-with-shadow-in-drag.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateDragAndDrop):

2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106382.
        http://trac.webkit.org/changeset/106382
        https://bugs.webkit.org/show_bug.cgi?id=77571

        Causing chromium crashes in PNGImageDecoder (Requested by
        japhet on #webkit).

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluate):
        * page/Console.cpp:
        (WebCore::Console::time):
        (WebCore::Console::timeEnd):
        * platform/chromium/PlatformSupport.h:
        * platform/chromium/TraceEvent.h:
        (internal):
        (ScopeTracer):
        (WebCore::internal::ScopeTracer::ScopeTracer):
        (WebCore::internal::ScopeTracer::~ScopeTracer):

2012-02-01  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Simplify the code that creates a new tile layer by getting a reference to the RetainPtr<WebTileLayer>&
        slot in the hash map and assign directly into it.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::revalidateTiles):

2012-02-01  Anders Carlsson  <andersca@apple.com>

        Tile cache doesn't have an upper limit
        https://bugs.webkit.org/show_bug.cgi?id=77564
        <rdar://problem/10710744>

        Reviewed by Darin Adler.

        Cache enough tiles to cover 3x the visible height and 2x the visible width of the page,
        and drop tiles that are outside that area.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
        Call GraphicsLayerClient::notifySyncRequired here, which will schedule a layer flush and ensure that
        the page layout is up to date before the new tiles are painted.

        * platform/graphics/ca/PlatformCALayerClient.h:
        Add platformCALayerDidCreateTiles member function.

        * platform/graphics/ca/mac/TileCache.h:
        Update for new/removed member functions and member variables.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::TileCache):
        Initialize the tile revalidation timer.

        (WebCore::TileCache::tileCacheLayerBoundsChanged):
        If we don't have any tiles at all right now, revalidate the tiles immediately. Otherwise,
        schedule the revalidation timer.

        (WebCore::TileCache::setNeedsDisplayInRect):
        Return early if we have no tiles.

        (WebCore::TileCache::visibleRectChanged):
        Schedule tile revalidation.

        (WebCore::TileCache::rectForTileIndex):
        New helper function that returns the bounds rect of a tile given its tile index.

        (WebCore::TileCache::getTileIndexRangeForRect):
        Clamp the rect to the bounds of the tile cache layer.

        (WebCore::TileCache::scheduleTileRevalidation):
        Schedule the revalidation timer if it hasn't already been scheduled.

        (WebCore::TileCache::tileRevalidationTimerFired):
        Call revalidateTiles.

        (WebCore::TileCache::revalidateTiles):
        Compute the tile coverage rect and remove all tiles that are outside. Create new tiles for any
        parts of the tile coverage rect that don't have tiles already.

        (WebCore::TileCache::tileLayerAtIndex):
        Remove invalid assertions.

2012-02-01  Max Vujovic  <mvujovic@adobe.com>

        Add support for fixed and percent min-width on the table element for table-layout: auto to
        match Firefox and Opera's behavior.

        In FixedTableLayout.cpp, the computePreferredLogicalWidths method looks like it has
        issues based on the comment: "FIXME: This entire calculation is incorrect for both
        minwidth and maxwidth." (minwidth and maxwidth refer to the preferred widths, not the
        min-width and max-width styles). I have not implemented min-width for FixedTableLayout
        in this patch since it requires some more research around that comment.

        min-width and max-width on the table element was discussed on the www-style list:
        http://lists.w3.org/Archives/Public/www-style/2012Jan/0684.html

        min-width is not implemented on <table> for table-layout: auto
        https://bugs.webkit.org/show_bug.cgi?id=76553

        Reviewed by Julien Chaffraix.

        Test: fast/table/min-width.html

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::computePreferredLogicalWidths):

            If the min or max preferred logical width is less than a fixed min width style, it is
            set to the fixed min width style. Like a percent width style, a percent min-width style
            does not affect the min or max preferred logical widths computed by the table layout
            algorithm. RenderTable's computeLogicalWidth method handles percent min-width styles.

            min-width for the table-layout: fixed case has been split out into this bug:
            https://bugs.webkit.org/show_bug.cgi?id=76948

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):

            If the RenderStyle's logical min width is defined and greater than the logical width
            calculation, this method sets the logical width to the logical min width.

        (WebCore::RenderTable::convertStyleWidthToComputedWidth):

            This new method generalizes and factors out logic from RenderTable::computeLogicalWidth
            that converted the width style to a computed value in the fixed and percent case.
            RenderTable::computeLogicalWidth now calls this method to determine the computed values
            for both the width style and the min-width style. In the future, it can also be used for
            the max-width style.

            Note that this method handles the special CSS table case, which requires borders and
            paddings to be included in the computed width calculation. This applies to all width
            styles, including width, min-width, and max-width. Before, this special case was handled
            in RenderTable::computeLogicalWidth.

        * rendering/RenderTable.h:

2012-02-01  Brian Salomon  <bsalomon@google.com>

        [SKIA/CHROMIUM] Perform getImageData format conversions using Skia
        https://bugs.webkit.org/show_bug.cgi?id=77553

        Reviewed by Stephen White.

        Many existing canvas tests exercise this functionality.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):

2012-02-01  Nate Chapin  <japhet@chromium.org>

        preventDefault() in a mousedown in a subframe should not
        prevent the scrollbar from handling mouse movements if the
        cursor leaves the subframe.
        https://bugs.webkit.org/show_bug.cgi?id=73097

        Reviewed by Darin Adler.

        Test: fast/events/scroll-div-with-prevent-default-in-subframe.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):

2012-02-01  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] editing/inserting/4960120-2.html flaky crash
        https://bugs.webkit.org/show_bug.cgi?id=76815

        Reviewed by Martin Robinson.

        Check if the node for the first parent object not ignoring
        accessibility is null before using it. This might happen with
        certain kind of accessibility objects, such as the root one (the
        scroller containing the webArea object as its only child).

        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
        (objectFocusedAndCaretOffsetUnignored): Add missing null check.

2012-02-01  Antti Koivisto  <antti@apple.com>

        Make CSSMappedAttributeDeclaration have CSSMutableStyleDeclaration instead of being one
        https://bugs.webkit.org/show_bug.cgi?id=77545

        Reviewed by Andreas Kling.

        This is the easiest path for eliminating the last remaining subclass of CSSMutableStyleDeclaration.
        
        On negative side this increases memory use of CSSMappedAttributeDeclaration by one ptr and refcount
        (it loses the vptr) in total.
        
        This is not meant to be the end state, just an intermediate refactoring step. CSSMappedAttributeDeclaration
        should clearly be renamed too but this patch doesn't do that. It might not exist in its current form
        much longer.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setProperty):
        (WebCore::CSSMutableStyleDeclaration::merge):
        * css/CSSMutableStyleDeclaration.h:

            Remove protected section. No subclasses remain.        
            Rename setPropertyInternal() to setProperty(). All public methods here are internal.
        
        (CSSMutableStyleDeclaration):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseMappedAttributeValue):
        * dom/Attribute.cpp:
        (WebCore::Attribute::clone):
        * dom/Attribute.h:
        (Attribute):
        (WebCore::Attribute::decl):
        (WebCore::Attribute::mappedAttributeDeclaration):
        (WebCore::Attribute::setMappedAttributeDeclaration):
        (WebCore::Attribute::Attribute):
        * dom/CSSMappedAttributeDeclaration.cpp:
        (WebCore::CSSMappedAttributeDeclaration::setMappedImageProperty):
        (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
        (WebCore::CSSMappedAttributeDeclaration::removeMappedProperty):
        * dom/CSSMappedAttributeDeclaration.h:
        (CSSMappedAttributeDeclaration):
        (WebCore::CSSMappedAttributeDeclaration::declaration):
        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
        
            Make CSSMutableStyleDeclaration a member instead of the base class.
        
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):
        (WebCore::StyledElement::removeCSSProperty):
        (WebCore::StyledElement::addCSSProperty):
        (WebCore::StyledElement::addCSSImageProperty):
        (WebCore::StyledElement::addCSSLength):
        (WebCore::StyledElement::addCSSColor):
        (WebCore::StyledElement::createMappedDecl):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::getPresentationAttribute):

2012-02-01  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [Qt] Set all PlatformTouchPoint values possible from a QTouch event.
        https://bugs.webkit.org/show_bug.cgi?id=77442

        Reviewed by Kenneth Rohde Christiansen.

        * platform/qt/PlatformTouchPointQt.cpp:
        (WebCore::PlatformTouchPoint::PlatformTouchPoint):

2012-02-01  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: move type builder code to dedicated InspectorTypeBuilder .h/.cpp
        https://bugs.webkit.org/show_bug.cgi?id=77471

        Reviewed by Yury Semikhatsky.

        Code is moved physically to other file -- generator is changed accrodingly.

        * inspector/CodeGeneratorInspector.py:
        (String):
        (provides):
        (typename):
        (Array):

2012-02-01  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: debugger reports wrong sources when paused in inline script on page reload
        https://bugs.webkit.org/show_bug.cgi?id=77548

        V8 returns treats each script source as ending with \n, now we take
        this into account when reporting script line count to the inspector
        front-end.

        Reviewed by Vsevolod Vlasov.

        Test: inspector/debugger/pause-in-inline-script.html

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        * bindings/v8/DebuggerScript.js:

2012-02-01  Shinya Kawanaka  <shinyak@google.com>

        Content element should be able to be dynamically added/removed/replaced in a shadow tree.
        https://bugs.webkit.org/show_bug.cgi?id=76611

        Reviewed by Hajime Morita

        When a content element is added/removed/replaced in a shadow tree, we have to recreate
        the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
        when content element is removed. (When added, it is recalculated.)
        This patch enables us to recalcurate the shadow tree when content element is removed.

        Test: fast/dom/shadow/content-element-move.html

        * dom/Element.cpp:
        (WebCore::Element::attach):
          If a shadow root exists, attaches shadow tree before attaching child elements.
        * dom/ShadowRoot.cpp:
          Added a flag to recalculate shadow tree.
        (WebCore::ShadowRoot::ShadowRoot):
        (WebCore::ShadowRoot::recalcShadowTreeStyle):
          Recalculates light children and shadow tree.
        (WebCore::ShadowRoot::setNeedsReattachHostChildrenAndShadow):
        (WebCore::ShadowRoot::reattachHostChildrenAndShadow):
          Detaches shadow tree and host light children, and attaches them again.
        * dom/ShadowRoot.h:
        (WebCore::ShadowRoot::clearNeedsReattachHostChildrenAndShadow):
        (WebCore::ShadowRoot::needsReattachHostChildrenAndShadow):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::attach):
          Does not need to detach included elements, because they are not attached in ContainerNode anymore.
        (WebCore::HTMLContentElement::detach):
          When a content element detached, reattaches a shadow tree.

2012-02-01  Peter Beverloo  <peter@chromium.org>

        getIntersectionList causes transforms to be recalculated in SVG
        https://bugs.webkit.org/show_bug.cgi?id=77179

        Reviewed by Nikolas Zimmermann.

        Introduce a local variable to store the element's local-to-parent
        transformation matrix in, removing the need for the const_cast and
        stopping us from modifying any matrices elsewhere.

        Test: svg/custom/intersection-list-transforms.svg

        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::getElementCTM):

2012-02-01  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [InspectorIndexedDB] Add tests for database names and database structure requests.
        https://bugs.webkit.org/show_bug.cgi?id=77439

        Reviewed by Pavel Feldman.

        Tests: http/tests/inspector/indexeddb/database-names.html
               http/tests/inspector/indexeddb/database-structure.html

        * inspector/front-end/IndexedDBModel.js:
        (WebInspector.IndexedDBModel.prototype.refreshDatabase):

2012-01-31  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Scripts navigator becomes empty after "show folders" settings change.
        https://bugs.webkit.org/show_bug.cgi?id=77441

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype._reset):
        * inspector/front-end/utilities.js:

2012-02-01  Shawn Singh  <shawnsingh@chromium.org>

        Fix the semantics of passing contentsVisible flag to GraphicsLayers
        https://bugs.webkit.org/show_bug.cgi?id=76975

        Reviewed by Simon Fraser.

        This patch is covered by existing tests, in particular
        compositing/visibility/layer-visible-content.html; its
        expectations are rebaselined.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

2012-02-01  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, another GTK build fix after r106446.

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        Restore webKitWebSrcGetProtocols as it was before r106446.

2012-02-01  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, GTK build fix after r106446.

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106432.
        http://trac.webkit.org/changeset/106432
        https://bugs.webkit.org/show_bug.cgi?id=77529

        it breaks tests (Requested by shinyak on #webkit).

        * dom/Element.cpp:
        (WebCore::Element::attach):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::recalcShadowTreeStyle):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::attach):
        (WebCore::HTMLContentElement::detach):

2012-02-01  Hayato Ito  <hayato@chromium.org>

        Remove unnecessary [OldStyleObjC] from ShadowRoot.idl.
        https://bugs.webkit.org/show_bug.cgi?id=77516

        Reviewed by Kentaro Hara.

        No new tests. No change in behavior.

        * dom/ShadowRoot.idl:

2012-01-26  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] 0.11 webkitwebsrc
        https://bugs.webkit.org/show_bug.cgi?id=77086

        Port the webkitwebsrc element to GStreamer 0.11 APIs.

        Reviewed by Gustavo Noronha Silva.

        No new tests, existing http media layout tests should cover this.

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webkit_web_src_class_init):

2012-01-31  Hans Wennborg  <hans@chromium.org>

        Speech Input: Report speech element rect relative to window rather than frame
        https://bugs.webkit.org/show_bug.cgi?id=76443

        Reviewed by Darin Fisher.

        When requesting speech input, report the speech element rect relative
        to the window rather than the frame. The embedder will typically use
        this position to show a bubble indicating that speech recognition is
        in progress.

        Test: fast/speech/bubble-position.html

        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::startSpeechInput):

2012-01-31  Andreas Kling  <awesomekling@apple.com>

        Make elements that don't have attributes smaller.
        <http://webkit.org/b/76876>

        Reviewed by Sam Weinig and Antti Koivisto.

        Move the inline style declaration from StyledElement to ElementAttributeData, since having
        an inline style declaration also implies having a style attribute on the element.
        This saves one CPU word per element that has no attributes.

        This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
        HTML5 spec at <http://whatwg.org/c>.

        This was rolled out once because of a performance regression which has been averted this
        time around by adding an Element::ensureAttributeMap() so we can force creation of the
        NamedNodeMap without also serializing the inline style for the "style" attribute.

        * dom/Element.h:
        (Element):
        (WebCore::Element::ensureAttributeMap):
        (WebCore):
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::ensureInlineStyleDecl):
        (WebCore):
        (WebCore::NamedNodeMap::destroyInlineStyleDecl):
        * dom/NamedNodeMap.h:
        (WebCore::NamedNodeMap::inlineStyleDecl):
        (NamedNodeMap):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addSubresourceAttributeURLs):
        * dom/StyledElement.h:
        (WebCore::StyledElement::inlineStyleDecl):
        (WebCore::StyledElement::ensureInlineStyleDecl):
        (StyledElement):
        (WebCore::StyledElement::destroyInlineStyleDecl):

2012-01-31  Hayato Ito  <hayato@chromium.org>

        Add APIs, getElementsByXXX family, to ShadowRoot IDL.
        https://bugs.webkit.org/show_bug.cgi?id=77323

        Reviewed by Dimitri Glazkov.

        Add APIs (getElementById, getElemesntByTagName, getElementsByClassName and getElementsByTagNameNS)
        to ShadowRoot IDL.

        * dom/ShadowRoot.idl:

2012-01-31  Shinya Kawanaka  <shinyak@google.com>

        Content element should be able to be dynamically added/removed/replaced in a shadow tree.
        https://bugs.webkit.org/show_bug.cgi?id=76611

        Reviewed by Hajime Morita.

        When a content element is added/removed/replaced in a shadow tree, we have to recreate
        the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
        when content element is removed. (When added, it is recalculated.)
        This patch enables us to recalcurate the shadow tree when content element is removed.

        Test: fast/dom/shadow/content-element-move.html

        * dom/Element.cpp:
        (WebCore::Element::attach):
          If a shadow root exists, attaches shadow tree before attaching child elements.
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::recalcShadowTreeStyle):
          Recalculates light children and shadow tree.
        (WebCore::ShadowRoot::reattachHostChildrenAndShadow):
          Detaches shadow tree and host light children, and attaches them again.
        * dom/ShadowRoot.h:
          Added a flag to recalculate shadow tree.
        (WebCore::ShadowRoot::setNeedsShadowTreeStyleRecalc):
        (WebCore::ShadowRoot::clearNeedsShadowTreeStyleRecalc):
        (WebCore::ShadowRoot::needsShadowTreeStyleRecalc):
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::attach):
          Does not need to detach included elements, because they are not attached in ContainerNode anymore.
        (WebCore::HTMLContentElement::detach):
          When a content element detached, reattaches a shadow tree.

2012-01-31  Joe Thomas  <joethomas@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=76801
        Listboxes incorrectly display contents when cleared and then re-populated.

        Whenever the number of items in the listbox is less than the size of listbox (number of visible items the listbox can accomodate),
        we set the listbox scroll-offset to zero. The scroll-offset of the Scrollbar should also be set to 0 so that when the listbox is re-populated,
        scrollbar position and the content inside the listbox are in sync.

        Reviewed by Andreas Kling.

        Tests: fast/forms/listbox-clear-restore.html

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::computeLogicalHeight): Setting the scroll-offset of the Scrollbar to 0 when scrollbar is not needed.

2012-01-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed. Fix build break after r106373.

        * CMakeLists.txt:

2012-01-31  Adam Barth  <abarth@webkit.org>

        HTMLPreloadScanner should understand the <base> element
        https://bugs.webkit.org/show_bug.cgi?id=77231

        Reviewed by Eric Seidel.

        Previously, the HTMLPreloadScanner would ignore the <base> element when
        preloading resources.  If there was a <base> tag, this could cause the
        preload scanner to make a bunch of useless requests.

        This patch teaches the preload scanner to use <base> tags to better
        predict which URLs will be used by the document.

        Tests: fast/preloader/first-base-tag-scanned-wins.html
               fast/preloader/first-base-tag-wins.html
               fast/preloader/understands-base-tag.html

        * dom/Document.cpp:
        (WebCore::Document::completeURL):
        (WebCore):
        * dom/Document.h:
        (Document):
        (WebCore::Document::baseElementURL):
        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::HTMLNames::PreloadTask::PreloadTask):
        (WebCore::HTMLNames::PreloadTask::processAttributes):
        (WebCore::HTMLNames::PreloadTask::preload):
        (WebCore::HTMLNames::PreloadTask::baseElementHref):
        (PreloadTask):
        (WebCore::HTMLPreloadScanner::scan):
        (WebCore::HTMLPreloadScanner::processToken):
        (WebCore::HTMLPreloadScanner::updatePredictedBaseElementURL):
        (WebCore):
        * html/parser/HTMLPreloadScanner.h:
        (HTMLPreloadScanner):

2012-01-31  Raymond Liu  <raymond.liu@intel.com>

        Dynamic allocate AudioBus with required number of channels for AudioNodeInput
        https://bugs.webkit.org/show_bug.cgi?id=76516

        Reviewed by Kenneth Russell.

        No new tests required.

        * webaudio/AudioBasicProcessorNode.cpp:
        (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
        * webaudio/AudioChannelMerger.cpp:
        (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
        * webaudio/AudioGainNode.cpp:
        (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
        * webaudio/AudioNode.cpp:
        (WebCore::AudioNode::checkNumberOfChannelsForInput):
        * webaudio/AudioNode.h:
        * webaudio/AudioNodeInput.cpp:
        (WebCore::AudioNodeInput::AudioNodeInput):
        (WebCore::AudioNodeInput::updateInternalBus):
        (WebCore::AudioNodeInput::internalSummingBus):
        * webaudio/AudioNodeInput.h:

2012-01-31  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
        https://bugs.webkit.org/show_bug.cgi?id=77473
        <rdar://problem/10751357>

        Reviewed by Darin Adler.

        Test: platform/mac/fast/events/non-roman-key-code.html

        * WebCore.exp.in:
        * platform/mac/PlatformEventFactoryMac.h:
        * platform/mac/PlatformEventFactoryMac.mm:
        (WebCore::keyIdentifierForKeyEvent):
        (WebCore::windowsKeyCodeForKeyEvent):
        Export functions for reuse in WebKit2. I did not attempt any larger refactoring at this time.

2012-01-31  Gregg Tavares  <gman@google.com>

        Make WebGL put synthesized errors in the JS console
        https://bugs.webkit.org/show_bug.cgi?id=77267

        Reviewed by Kenneth Russell.

        No new functionality so no new tests.

        * html/canvas/WebGLCompressedTextures.cpp:
        (WebCore::WebGLCompressedTextures::validateCompressedTexFuncData):
        (WebCore::WebGLCompressedTextures::compressedTexImage2D):
        (WebCore::WebGLCompressedTextures::compressedTexSubImage2D):
        * html/canvas/WebGLCompressedTextures.h:
        (WebGLCompressedTextures):
        * html/canvas/WebGLDebugShaders.cpp:
        (WebCore::WebGLDebugShaders::getTranslatedShaderSource):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::activeTexture):
        (WebCore::WebGLRenderingContext::attachShader):
        (WebCore::WebGLRenderingContext::bindAttribLocation):
        (WebCore::WebGLRenderingContext::checkObjectToBeBound):
        (WebCore::WebGLRenderingContext::bindBuffer):
        (WebCore::WebGLRenderingContext::bindFramebuffer):
        (WebCore::WebGLRenderingContext::bindRenderbuffer):
        (WebCore::WebGLRenderingContext::bindTexture):
        (WebCore::WebGLRenderingContext::blendEquation):
        (WebCore::WebGLRenderingContext::blendEquationSeparate):
        (WebCore::WebGLRenderingContext::blendFunc):
        (WebCore::WebGLRenderingContext::blendFuncSeparate):
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):
        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
        (WebCore::WebGLRenderingContext::clear):
        (WebCore::WebGLRenderingContext::compileShader):
        (WebCore::WebGLRenderingContext::compressedTexImage2D):
        (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::createShader):
        (WebCore::WebGLRenderingContext::deleteObject):
        (WebCore::WebGLRenderingContext::depthRange):
        (WebCore::WebGLRenderingContext::detachShader):
        (WebCore::WebGLRenderingContext::disable):
        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
        (WebCore::WebGLRenderingContext::validateWebGLObject):
        (WebCore::WebGLRenderingContext::drawArrays):
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::enable):
        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
        (WebCore::WebGLRenderingContext::framebufferTexture2D):
        (WebCore::WebGLRenderingContext::generateMipmap):
        (WebCore::WebGLRenderingContext::getActiveAttrib):
        (WebCore::WebGLRenderingContext::getActiveUniform):
        (WebCore::WebGLRenderingContext::getAttachedShaders):
        (WebCore::WebGLRenderingContext::getAttribLocation):
        (WebCore::WebGLRenderingContext::getBufferParameter):
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getProgramParameter):
        (WebCore::WebGLRenderingContext::getProgramInfoLog):
        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
        (WebCore::WebGLRenderingContext::getShaderParameter):
        (WebCore::WebGLRenderingContext::getShaderInfoLog):
        (WebCore::WebGLRenderingContext::getShaderSource):
        (WebCore::WebGLRenderingContext::getTexParameter):
        (WebCore::WebGLRenderingContext::getUniform):
        (WebCore::WebGLRenderingContext::getUniformLocation):
        (WebCore::WebGLRenderingContext::getVertexAttrib):
        (WebCore::WebGLRenderingContext::hint):
        (WebCore::WebGLRenderingContext::isEnabled):
        (WebCore::WebGLRenderingContext::linkProgram):
        (WebCore::WebGLRenderingContext::pixelStorei):
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::renderbufferStorage):
        (WebCore::WebGLRenderingContext::scissor):
        (WebCore::WebGLRenderingContext::shaderSource):
        (WebCore::WebGLRenderingContext::stencilFunc):
        (WebCore::WebGLRenderingContext::stencilFuncSeparate):
        (WebCore::WebGLRenderingContext::stencilMaskSeparate):
        (WebCore::WebGLRenderingContext::texImage2DBase):
        (WebCore::WebGLRenderingContext::texImage2DImpl):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::videoFrameToImage):
        (WebCore::WebGLRenderingContext::texParameter):
        (WebCore::WebGLRenderingContext::texSubImage2DBase):
        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::uniform1f):
        (WebCore::WebGLRenderingContext::uniform1fv):
        (WebCore::WebGLRenderingContext::uniform1i):
        (WebCore::WebGLRenderingContext::uniform1iv):
        (WebCore::WebGLRenderingContext::uniform2f):
        (WebCore::WebGLRenderingContext::uniform2fv):
        (WebCore::WebGLRenderingContext::uniform2i):
        (WebCore::WebGLRenderingContext::uniform2iv):
        (WebCore::WebGLRenderingContext::uniform3f):
        (WebCore::WebGLRenderingContext::uniform3fv):
        (WebCore::WebGLRenderingContext::uniform3i):
        (WebCore::WebGLRenderingContext::uniform3iv):
        (WebCore::WebGLRenderingContext::uniform4f):
        (WebCore::WebGLRenderingContext::uniform4fv):
        (WebCore::WebGLRenderingContext::uniform4i):
        (WebCore::WebGLRenderingContext::uniform4iv):
        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
        (WebCore::WebGLRenderingContext::useProgram):
        (WebCore::WebGLRenderingContext::validateProgram):
        (WebCore::WebGLRenderingContext::vertexAttrib1f):
        (WebCore::WebGLRenderingContext::vertexAttrib1fv):
        (WebCore::WebGLRenderingContext::vertexAttrib2f):
        (WebCore::WebGLRenderingContext::vertexAttrib2fv):
        (WebCore::WebGLRenderingContext::vertexAttrib3f):
        (WebCore::WebGLRenderingContext::vertexAttrib3fv):
        (WebCore::WebGLRenderingContext::vertexAttrib4f):
        (WebCore::WebGLRenderingContext::vertexAttrib4fv):
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
        (WebCore::WebGLRenderingContext::viewport):
        (WebCore::WebGLRenderingContext::forceLostContext):
        (WebCore::WebGLRenderingContext::loseContextImpl):
        (WebCore::WebGLRenderingContext::forceRestoreContext):
        (WebCore::WebGLRenderingContext::validateTextureBinding):
        (WebCore::WebGLRenderingContext::validateLocationLength):
        (WebCore::WebGLRenderingContext::validateSize):
        (WebCore::WebGLRenderingContext::validateString):
        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
        (WebCore::WebGLRenderingContext::validateTexFuncLevel):
        (WebCore::WebGLRenderingContext::validateTexFuncParameters):
        (WebCore::WebGLRenderingContext::validateTexFuncData):
        (WebCore::WebGLRenderingContext::validateDrawMode):
        (WebCore::WebGLRenderingContext::validateStencilSettings):
        (WebCore::WebGLRenderingContext::validateStencilFunc):
        (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
        (WebCore::WebGLRenderingContext::validateBlendEquation):
        (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
        (WebCore::WebGLRenderingContext::validateCapability):
        (WebCore::WebGLRenderingContext::validateUniformParameters):
        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
        (WebCore::WebGLRenderingContext::validateBufferDataParameters):
        (WebCore::WebGLRenderingContext::validateHTMLImageElement):
        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
        (WebCore::WebGLRenderingContext::maybeRestoreContext):
        (WebCore):
        (WebCore::WebGLRenderingContext::synthesizeGLError):
        * html/canvas/WebGLRenderingContext.h:
        (WebGLRenderingContext):

2012-01-31  Raymond Liu  <raymond.liu@intel.com>

        Clean up m_processLock logic in AudioBasicProcessorNode and AudioGainNode
        https://bugs.webkit.org/show_bug.cgi?id=76772

        Reviewed by Kenneth Russell.

        No new tests required.

        * webaudio/AudioBasicProcessorNode.cpp:
        (WebCore::AudioBasicProcessorNode::process):
        (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
        * webaudio/AudioBasicProcessorNode.h:
        * webaudio/AudioGainNode.cpp:
        (WebCore::AudioGainNode::process):
        (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
        * webaudio/AudioGainNode.h:
        (AudioGainNode):

2012-01-31  Adam Klein  <adamk@chromium.org>

        ProcessingInstruction should not be a ContainerNode
        https://bugs.webkit.org/show_bug.cgi?id=75141

        Reviewed by Darin Adler.

        Per the DOM spec, ProcessingInstruction can't have any children.
        And the WebCore behavior already matches the spec by always returning
        false for childTypeAllowed(). This change simplifies
        ProcessingInstruction's implementation by making it subclass Node
        instead of ContainerNode.

        Test: fast/dom/processing-instruction-appendChild-exceptions.xhtml

        * dom/ContainerNode.cpp: Moved dispatchBeforeLoadEvent up to Node.
        * dom/ContainerNode.h:
        * dom/Node.cpp:
        (WebCore::Node::dispatchBeforeLoadEvent): Moved up from ContainerNode
        since it's used both by ProcessingInstruction and various Element
        subclasses.
        * dom/Node.h:
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::ProcessingInstruction): Call Node constructor.
        (WebCore::ProcessingInstruction::insertedIntoDocument): Call Node impl.
        (WebCore::ProcessingInstruction::removedFromDocument): ditto.
        (WebCore::ProcessingInstruction::finishParsingChildren): ditto.
        * dom/ProcessingInstruction.h:

2012-01-31  Matthew Delaney  <mdelaney@apple.com>

        Failing 2d.shadow.enable.off.2.html on Lion
        https://bugs.webkit.org/show_bug.cgi?id=77489

        Reviewed by Dan Bernstein.

        The canvas spec requires that shadows not be drawn under certain
        circumstances outlined here: http://www.whatwg.org/specs/web-apps/current-work/#shadows
        This patch adds in those checks which allows us to pass now (on Lion)
        the philip canvas test that was checking that constraint.

        No new tests. Unskipping the test on Lion that this patch fixes.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
        (WebCore::CanvasRenderingContext2D::setShadow):
        (WebCore::CanvasRenderingContext2D::applyShadow):
        (WebCore::CanvasRenderingContext2D::shouldDrawShadows):
        * html/canvas/CanvasRenderingContext2D.h:
        (CanvasRenderingContext2D):

2012-01-31  Anders Carlsson  <andersca@apple.com>

        TileCache::setNeedsDisplayInRect cleanup
        https://bugs.webkit.org/show_bug.cgi?id=77486

        Reviewed by Andreas Kling.

        * platform/graphics/ca/mac/TileCache.h:
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::setNeedsDisplayInRect):
        TileCache::tileLayerAtIndex can in the future return nil, so cope with that. Also, replace
        nested if statements with continue statements.

        (WebCore::TileCache::getTileIndexRangeForRect):
        Rename this to better indicate that it returns a range of indices.

2012-01-31  Dana Jansens  <danakj@chromium.org>

        Add contains() test to Region
        https://bugs.webkit.org/show_bug.cgi?id=72294

        Reviewed by Anders Carlsson.

        * platform/graphics/Region.cpp:
        (WebCore::Region::contains):
        (WebCore):
        * platform/graphics/Region.h:
        (Region):
        (Shape):
        (WebCore::operator==):
        (WebCore):

2012-01-31  Sami Kyostila  <skyostil@chromium.org>

        [chromium] Compositor debug borders are not scaled correctly
        https://bugs.webkit.org/show_bug.cgi?id=77468

        Use CCLayerImpl::contentBounds() instead of CCLayerImpl::bounds() to calculate debug
        border geometry so that the borders are properly scaled.

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::appendDebugBorderQuad):

2012-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106376.
        http://trac.webkit.org/changeset/106376
        https://bugs.webkit.org/show_bug.cgi?id=77481

        Broke WebGLLayerChromiumTest in webkit_unit_tests (Requested
        by kbr_google on #webkit).

        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore):
        (WebCore::DrawingBuffer::reset):

2012-01-31  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Reduce the cases when the box style in region is computed
        https://bugs.webkit.org/show_bug.cgi?id=77446

        Reviewed by David Hyatt.

        Covered by existing region style tests.

        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::setRegionBoxesRegionStyle):
        (WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):

2012-01-31  Anders Carlsson  <andersca@apple.com>

        Put tiles in a HashMap
        https://bugs.webkit.org/show_bug.cgi?id=77480

        Reviewed by Antti Koivisto.

        Put tiles in a hash map keyed off the tile index.

        * platform/graphics/ca/mac/TileCache.h:
        Shuffle member variables around so the order makes more sense.
        Add the tile map.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::TileCache):
        Update member initializers.

        (WebCore::TileCache::setNeedsDisplayInRect):
        Call tileLayerAtIndex instead of tileLayerAtPosition.

        (WebCore::TileCache::setAcceleratesDrawing):
        (WebCore::TileCache::setTileDebugBorderWidth):
        (WebCore::TileCache::setTileDebugBorderColor):
        Iterate over the hash map instead of the sublayers.

        (WebCore::TileCache::resizeTileGrid):
        Add the created layers to the map.

        (WebCore::TileCache::tileLayerAtIndex):
        Rename from tileLayerAtPoint to better reflect that this member function
        returns a tile layer at the given index and not the given point.

2012-01-31  Antti Koivisto  <antti@apple.com>

        Make CSSOM style() return CSSStyleDeclaration*
        https://bugs.webkit.org/show_bug.cgi?id=77475

        Reviewed by Anders Carlsson

        CSSStyleRule::style() and some other places return CSSMutableStyleDeclaration. 
        They should return the plain CSSOM type instead.
        
        CSSMutableStyleDeclaration* should be available through non-CSSOM function.

        * css/CSSFontFaceRule.h:
        (WebCore::CSSFontFaceRule::style):
        (WebCore::CSSFontFaceRule::declaration):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSStyleRule.h:
        (WebCore::CSSStyleRule::style):
        (WebCore::CSSStyleRule::declaration):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForKeyframe):
        * css/WebKitCSSKeyframeRule.h:
        (WebCore):
        (WebCore::WebKitCSSKeyframeRule::style):
        (WebCore::WebKitCSSKeyframeRule::declaration):
        (WebKitCSSKeyframeRule):
        * editing/EditingStyle.cpp:
        (WebCore::styleFromMatchedRulesForElement):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::revalidateStyle):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::retrieveResourcesForCSSRule):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::parseMappedAttribute):
        (WebCore::SVGFontFaceElement::fontFamily):
        (WebCore::SVGFontFaceElement::rebuildFontFace):

2012-01-31  Scott Graham  <scottmg@chromium.org>

        [Chromium] Remove references to gyp cygwin build target
        https://bugs.webkit.org/show_bug.cgi?id=77253

        Reviewed by Julien Chaffraix.

        Target dependency is no longer required, it's done earlier in the
        build process.

        * WebCore.gyp/WebCore.gyp:

2012-01-31  Jon Lee  <jonlee@apple.com>

        Hidden form elements do not save their state prior to form submission
        https://bugs.webkit.org/show_bug.cgi?id=77391
        <rdar://problem/10563108>

        Reviewed by Brady Eidson.

        Test: fast/forms/state-restore-hidden.html

        * html/HiddenInputType.cpp: Teach hidden inputs to save and restore their state.
        (WebCore::HiddenInputType::saveFormControlState):
        (WebCore::HiddenInputType::restoreFormControlState):
        * html/HiddenInputType.h:
        (HiddenInputType):

2012-01-31  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: IDBCursor.update() should raise exception if key changed
        https://bugs.webkit.org/show_bug.cgi?id=76952

        Move the test from the async task to the synchronous call, per spec. Also re-ordered the tests
        done during the synchronous call and the asynchronous task to follow the spec order.

        Reviewed by Tony Chang.

        Tests: storage/indexeddb/cursor-update.html

        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put): Added check during update() call, order checks per spec.
        (WebCore::IDBObjectStoreBackendImpl::putInternal): Move effective key calculation inline.
        * storage/IDBObjectStoreBackendImpl.h: Removed selectKeyForPut method.

2012-01-31  Anders Carlsson  <andersca@apple.com>

        Inform the tile cache whenever the visible rect changes
        https://bugs.webkit.org/show_bug.cgi?id=77470

        Reviewed by Andreas Kling.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::visibleRectChanged):
        Add empty function.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::visibleRectChanged):
        Call through to the PlatformCALayer.

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::visibleRectChanged):
        Call through to the underlying WebTileCacheLayer.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::visibleRectChanged):
        Add empty stub.

        (WebCore::TileCache::visibleRect):
        Add new (currently unused) helper function that returns the visible rect of the
        tile cache layer.

        * platform/graphics/ca/mac/WebTileCacheLayer.h:
        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer visibleRectChanged]):
        Call through to the TielCache object.

        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        (PlatformCALayer::visibleRectChanged):
        Add stub.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidScroll):
        Call GraphicsLayer::visibleRectChanged.

2012-01-31  Antti Koivisto  <antti@apple.com>

        Remove CSSStyleDeclaration isElementStyleDeclaration bit
        https://bugs.webkit.org/show_bug.cgi?id=77460

        Reviewed by Andreas Kling.

        Inline style declaration is now the only type of style declaration with element parent.
        We can remove the bit and the associated logic.

        * bindings/js/JSDOMBinding.h:
        (WebCore::root):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::createInline):
        (CSSMutableStyleDeclaration):
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
        (WebCore):
        (WebCore::CSSStyleDeclaration::parentStyleSheet):
        * css/CSSStyleDeclaration.h:
        (WebCore::CSSStyleDeclaration::parentRule):
        (WebCore::CSSStyleDeclaration::clearParentRule):
        (WebCore::CSSStyleDeclaration::parentElement):
        (WebCore::CSSStyleDeclaration::clearParentElement):
        (CSSStyleDeclaration):

2012-01-31  Dana Jansens  <danakj@chromium.org>

        [chromium] Compute occlusion during paint loop
        https://bugs.webkit.org/show_bug.cgi?id=76858

        Reviewed by James Robinson.

        New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp

        * platform/graphics/FloatRect.cpp:
        (WebCore::enclosedIntRect):
        (WebCore):
        * platform/graphics/FloatRect.h:
        (WebCore):
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (ContentLayerChromium):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/ImageLayerChromium.h:
        (ImageLayerChromium):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::contentToScreenSpaceTransform):
        (WebCore):
        (WebCore::LayerChromium::addSelfToOccludedScreenSpace):
        (WebCore::LayerChromium::isPaintedAxisAlignedInScreen):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore):
        (WebCore::LayerChromium::paintContentsIfDirty):
        (LayerChromium):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (RenderSurfaceChromium):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (WebCore):
        ():
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (RenderSurfaceRegion):
        (WebCore):
        (WebCore::pushTargetRenderSurfaceRegion):
        (WebCore::popAndPushTargetRenderSurfaceRegion):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore):
        ():
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:

2012-01-31  John Bates  <jbates@google.com>

        [Chromium] Add chromium-style tracing support
        https://bugs.webkit.org/show_bug.cgi?id=76885

        Reviewed by Darin Fisher.

        This code enables WebKit trace events to pass through more data to the
        chromium platform tracing API and generally to use the full tracing
        API provided by chromium.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluate): Replace old tracing API.
        * page/Console.cpp:
        (WebCore::Console::time): Replace old tracing API.
        (WebCore::Console::timeEnd): Replace old tracing API.
        * platform/chromium/PlatformSupport.h:
        * platform/chromium/TraceEvent.h:
        (WebCore::TraceEvent::TraceID::TraceID):
        (WebCore::TraceEvent::TraceID::data):
        (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
        (WebCore::TraceEvent::TraceStringWithCopy::operator const char* ):
        (WebCore::TraceEvent::setTraceValue):
        (WebCore::TraceEvent::addTraceEvent):
        (WebCore::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
        (WebCore::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
        (WebCore::TraceEvent::TraceEndOnScopeClose::initialize):
        (WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::TraceEndOnScopeCloseThreshold):
        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::~TraceEndOnScopeCloseThreshold):
        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::initialize):
        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::addEventIfEnabled):

2012-01-31  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in DeleteSelectionCommand::handleGeneralDelete when attempting to delete the start block
        https://bugs.webkit.org/show_bug.cgi?id=77077

        Reviewed by Enrica Casucci.

        The crash was caused by a missing null check after removing the position out of the start block.
        Fixed the bug by adding an early return.

        Tests: editing/deleting/delete-start-block.html
               editing/selection/move-into-empty-root-inline-box.html

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::handleGeneralDelete):

2012-01-31  Rafael Brandao  <rafael.lobo@openbossa.org>

        HTMLIsIndexElement should not expose HTMLInputElement properties
        https://bugs.webkit.org/show_bug.cgi?id=76095

        Reviewed by Eric Seidel.

        This is a buildfix for r106373.

        * DerivedSources.pri: Removed reference to HTMLIsIndexElement.idl

2012-01-31  Yongsheng Zhu  <yongsheng.zhu@intel.com>

        WebGL must allocate smaller drawing buffer when the allocation fails. 
        https://bugs.webkit.org/show_bug.cgi?id=76654

        Reviewed by Kenneth Russell.

        Test: fast/canvas/webgl/drawingbuffer-test.html

        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore):
        (WebCore::DrawingBuffer::create):
        (WebCore::DrawingBuffer::reset):

2012-01-25  Eric Seidel  <eric@webkit.org>

        HTMLIsIndexElement should not expose HTMLInputElement properties
        https://bugs.webkit.org/show_bug.cgi?id=76095

        Reviewed by Adam Barth.

        document.createElement("isindex") should produce an HTMLUnknownElement
        per the HTML5 spec.  The parser automagically translates <isindex> into
        a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)

        This patch just removes our support for HTMLIsIndexElement.  The parser
        support was already in.  Having support for HTMLIsIndexElement was causing
        one of the IE TestCenter tests to fail.

        Test: fast/dom/HTMLIsIndexElement/prototype-chain.html

        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/gobject/GNUmakefile.am:
        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
        (WebKit::createHTMLElementWrapper):
        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap):
        * bindings/objc/DOMHTML.h:
        * bindings/objc/PublicDOMInterfaces.h:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLIsIndexElement.cpp: Removed.
        * html/HTMLIsIndexElement.h: Removed.
        * html/HTMLIsIndexElement.idl: Removed.
        * html/HTMLTagNames.in:
        * page/DOMWindow.idl:

2012-01-31  Alexis Menard  <alexis.menard@openbossa.org>

        Unreviewed include cleanup.

        Tested locally on Qt and Chromium port.

        * dom/Node.cpp:

2012-01-31  Arko Saha  <arko@motorola.com>

        The spec renamed addTrack() to addTextTrack().
        https://bugs.webkit.org/show_bug.cgi?id=77381

        Reviewed by Eric Carlson.

        Renamed addTrack() to addTextTrack().
        Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#media-elements

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::addTextTrack):
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::addTextTrack):
        * html/HTMLMediaElement.idl:

2012-01-31  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: reimplement generated array types
        https://bugs.webkit.org/show_bug.cgi?id=77289

        Reviewed by Vsevolod Vlasov.

        Arrays are now rendered as a single template class. Its type-specific
        details are provided by an additional ArrayItemHelper class that is
        defined using C++ specialization technique.

        * inspector/CodeGeneratorInspector.py:
        (RawTypes.String):
        (RawTypes.String.get_array_item_raw_c_type_text):
        (RawTypes.Int):
        (RawTypes.Int.get_array_item_raw_c_type_text):
        (RawTypes.Number):
        (RawTypes.Number.get_array_item_raw_c_type_text):
        (RawTypes.Bool):
        (RawTypes.Bool.get_array_item_raw_c_type_text):
        (RawTypes.Object):
        (RawTypes.Object.get_array_item_raw_c_type_text):
        (RawTypes.Any):
        (RawTypes.Any.get_array_item_raw_c_type_text):
        (RawTypes.Array):
        (RawTypes.Array.get_array_item_raw_c_type_text):
        (RawTypes):
        (TypeBindings.create_type_declaration_.EnumBinding):
        (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
        (TypeBindings.create_type_declaration_.PlainString):
        (TypeBindings.create_type_declaration_.PlainString.get_array_item_c_type_text):
        (TypeBindings.create_type_declaration_.TypedefString):
        (TypeBindings.create_type_declaration_.TypedefString.get_array_item_c_type_text):
        (StructItemTraits):
        (get_array_item_c_type_text):
        (PlainObjectBinding):
        (PlainObjectBinding.get_array_item_c_type_text):
        (AdHocTypeContext):
        (AdHocTypeContext.get_type_name_fix):
        (AdHocTypeContext.add_type):
        (ArrayBinding):
        (ArrayBinding.resolve_inner):
        (ArrayBinding.resolve_inner.ResolveData):
        (ArrayBinding.request_user_runtime_cast):
        (ArrayBinding.request_internal_runtime_cast):
        (ArrayBinding.get_code_generator):
        (ArrayBinding.get_code_generator.CodeGenerator):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
        (ArrayBinding.get_code_generator.CodeGenerator.register_use):
        (ArrayBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
        (ArrayBinding.get_validator_call_text):
        (ArrayBinding.get_in_c_type_text):
        (ArrayBinding.get_array_item_c_type_text):
        (ArrayBinding.get_setter_value_expression_pattern):
        (ArrayBinding.reduce_to_raw_type):
        (RawTypeBinding.get_array_item_c_type_text):
        (ArrayItemHelper):
        (typename):
        (ArrayOf):
        (Traits):

2012-01-31  Antti Koivisto  <antti@apple.com>

        Parent SVGFontFaceElements style declaration to the rule
        https://bugs.webkit.org/show_bug.cgi?id=77421

        Reviewed by Adam Roben.

        For some reason the declaration is parented to the element which adds a bunch of unnecessary special case code.
        The invalidation on mutation is done explicitly by SVGFontFaceElement so that is not affected. The declaration
        is not exposed so the change is not observable with a test.

        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::createInline):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
        (WebCore::SVGFontFaceElement::parseMappedAttribute):
        (WebCore::SVGFontFaceElement::fontFamily):
        (WebCore::SVGFontFaceElement::rebuildFontFace):
        * svg/SVGFontFaceElement.h:
        
            Remove the unnecessary m_styleDeclaration field, access through m_fontFaceRule instead.

2012-01-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Tap highlighting: Support better outlines for multiline inlines
        https://bugs.webkit.org/show_bug.cgi?id=77428

        Reviewed by Simon Hausmann.

        Covered by manual tests.

        Do not use the linesBoundingBox anymore but draw a custom path
        with rounded corners. Inlines are drawn as max 3 rects, first
        line rect, joined middle rect and the rect for the last line.

        * page/GestureTapHighlighter.cpp:
        * platform/graphics/Path.h: Make addBeziersForRoundedRect public.

2012-01-31  Alexei Filippov  <alexeif@chromium.org>

        Web Inspector: show sizes in bytes instead of KB, MB in heap profiler.
        https://bugs.webkit.org/show_bug.cgi?id=77199

        Reviewed by Pavel Feldman.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
        (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
        * inspector/front-end/UIUtils.js:
        (Number.withThousandsSeparator):

2012-01-26  Hans Wennborg  <hans@chromium.org>

        Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
        https://bugs.webkit.org/show_bug.cgi?id=77083

        Reviewed by Darin Fisher.

        Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
        implementation.

        No new tests, just refactoring.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mock/SpeechInputClientMock.cpp: Removed.
        * platform/mock/SpeechInputClientMock.h: Removed.

2012-01-31  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: boost protocol version to 1.0
        https://bugs.webkit.org/show_bug.cgi?id=77408

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector-1.0.json: Copied from Source/WebCore/inspector/Inspector.json.
        * inspector/Inspector.json:

2012-01-31  Roland Steiner  <rolandsteiner@chromium.org>

        <style scoped>: Improve shortcut code for cases where <style scoped> isn't used
        https://bugs.webkit.org/show_bug.cgi?id=77410

        Move shortcut from setupScopingElementStack(), do it at the calling sites instead
        (where a larger chunk of work can be skipped).

        Reviewed by Antti Koivisto.

        No new tests. (refactoring)

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::setupScopingElementStack): remove shortcut code
        (WebCore::CSSStyleSelector::pushParent): add shortcut code
        (WebCore::CSSStyleSelector::matchScopedAuthorRules): factor matching scoped rules out from matchAuthorRules
        (WebCore::CSSStyleSelector::matchAuthorRules): add shortcut code
        * css/CSSStyleSelector.h:
        (CSSStyleSelector): add matchScopedAuthorRules

2012-01-31  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: DOMDebugger.setEventListenerBreakpoint should accept regular DOM event names.
        https://bugs.webkit.org/show_bug.cgi?id=77409

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
        (WebCore):
        (WebCore::InspectorDOMDebuggerAgent::setInstrumentationBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
        * inspector/InspectorDOMDebuggerAgent.h:
        (InspectorDOMDebuggerAgent):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didInstallTimerImpl):
        (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
        (WebCore::InspectorInstrumentation::willHandleEventImpl):
        (WebCore::InspectorInstrumentation::willFireTimerImpl):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):

2012-01-31  Pablo Flouret  <pablof@motorola.com>

        Fix compilation errors on build-webkit --debug --no-workers on mac.
        https://bugs.webkit.org/show_bug.cgi?id=75869

        Reviewed by Adam Barth.

        * WebCore.exp.in:

2012-01-30  Konrad Piascik  <kpiascik@rim.com>

        Web Inspector: [BlackBerry] Add BlackBerry UA Strings to the Inspector's UA switcher
        https://bugs.webkit.org/show_bug.cgi?id=77343

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):

2012-01-30  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: should be possible to step through all event listeners when event listener breakpoint is hit
        https://bugs.webkit.org/show_bug.cgi?id=77331

        Inspector instrumentation is called before and after each event handler invokation.
        In case inspector front-end is closed it is no-op, otherwise it may stop execution
        on an event listener breakpoint.

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/step-through-event-listeners.html

        * dom/EventTarget.cpp:
        (WebCore::EventTarget::fireEventListeners):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willDispatchEventImpl):
        (WebCore::InspectorInstrumentation::willHandleEventImpl):
        (WebCore):
        (WebCore::InspectorInstrumentation::didHandleEventImpl):
        (WebCore::InspectorInstrumentation::didDispatchEventImpl):
        (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
        (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::willHandleEvent):
        (WebCore):
        (WebCore::InspectorInstrumentation::didHandleEvent):

2011-01-30  Hayato Ito  <hayato@chromium.org>

        Attach light children after removing a shadow root.
        https://bugs.webkit.org/show_bug.cgi?id=74267

        Reviewed by Ryosuke Niwa.

        Tests: fast/dom/shadow/dynamically-created-shadow-root-expected.html
               fast/dom/shadow/dynamically-created-shadow-root.html:

        * dom/Element.cpp:
        (WebCore::Element::removeShadowRoot):

2012-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106324.
        http://trac.webkit.org/changeset/106324
        https://bugs.webkit.org/show_bug.cgi?id=77406

        Broke CCLayerTreeHostTestLayerOcclusion.runMultiThread and
        runSingleThread (Requested by yuzo1 on #webkit).

        * platform/graphics/FloatRect.cpp:
        * platform/graphics/FloatRect.h:
        (WebCore):
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (WebCore):
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore):
        (ContentLayerChromium):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/ImageLayerChromium.h:
        (WebCore):
        (ImageLayerChromium):
        * platform/graphics/chromium/LayerChromium.cpp:
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore):
        (WebCore::LayerChromium::paintContentsIfDirty):
        (LayerChromium):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        * platform/graphics/chromium/TiledLayerChromium.h:
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::enclosedIntRect):
        (WebCore):

2012-01-30  Raymond Liu  <raymond.liu@intel.com>

        Fix ASSERT fail within AudioBus::processWithGainFrom()
        https://bugs.webkit.org/show_bug.cgi?id=76685

        Reviewed by Daniel Bates.

        Test: webaudio/audionode-connect-order.html

        * webaudio/AudioBasicProcessorNode.cpp:
        (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):

2012-01-30  Roland Steiner  <rolandsteiner@chromium.org>

        <style scoped>: Implement scoped stylesheets and basic application
        https://bugs.webkit.org/show_bug.cgi?id=73190

        Implementing support for <style scoped>:
        Add a vector stack to CSSStyleSelector that keeps track of encountered scoping elements. This is
        used for O(1) access to all relevant style sheets for a given element.
        Adapt matching of author style sheets to also consult appropriate scoped sheets.
        Finally, prevent style sharing from crossing into/out of scoped style boundaries.

        Reviewed by Antti Koivisto.

        Tests: fast/css/style-scoped/style-scoped-attach.html
               fast/css/style-scoped/style-scoped-basic.html
               fast/css/style-scoped/style-scoped-detach.html
               fast/css/style-scoped/style-scoped-remove-scoped.html
               fast/css/style-scoped/style-scoped-set-scoped.html

        * css/CSSStyleSelector.cpp:
        (RuleSet):
        (WebCore::CSSStyleSelector::CSSStyleSelector): add code for scoped style sheets
        (WebCore::CSSStyleSelector::collectFeatures): ditto
        (WebCore):
        (WebCore::CSSStyleSelector::determineScopingElement): determine whether an author sheet is scoped (and to which scope), or global
        (WebCore::CSSStyleSelector::scopedRuleSetForElement): returns the RuleSet for the <style scoped> contained by the passed-in element (if any), or 0
        (WebCore::CSSStyleSelector::appendAuthorStylesheets): add code for scoped style sheets
        (WebCore::CSSStyleSelector::setupScopingElementStack): determine scoping element ancestors of the given element
        (WebCore::CSSStyleSelector::pushParent): simplify and refactor SelectorChecker::pushParent, as code in CSStyleSelector needs partial access
        (WebCore::CSSStyleSelector::popParent): ditto
        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules): helper function
        (WebCore::CSSStyleSelector::matchAuthorRules): use AuthorRuleSetIterator to iterate over all relevant RuleSets
        (WebCore::CSSStyleSelector::matchRules): adapt for scoped style rules
        (WebCore::CSSStyleSelector::matchAllRules): ditto
        (WebCore::CSSStyleSelector::locateCousinList): prevent style sharing across scope boundaries
        (WebCore::CSSStyleSelector::canShareStyleWithElement): ditto
        (WebCore::CSSStyleSelector::locateSharedStyle): ditto
        (WebCore::CSSStyleSelector::pseudoStyleForElement): changed call to matchAuthorRules
        (WebCore::CSSStyleSelector::styleForPage): add comment
        (WebCore::CSSStyleSelector::checkRegionStyle): add global scope parameter
        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): changed call to matchAuthorRules
        (WebCore::RuleSet::addRulesFromSheet): adapt for scoped style rules
        * css/CSSStyleSelector.h:
        (CSSStyleSelector):
        (WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame): struct holding an Element pointer and a RuleSet pointer, to be used in a Vector
        (WebCore::CSSStyleSelector::scopingElementStackIsConsistent): returns if the last seen parent matches the passed-in element
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::setupParentStack): set up the parent stack (refactoring)
        (WebCore::SelectorChecker::pushParent): simplify and refactor
        * css/SelectorChecker.h:
        (WebCore::SelectorChecker::popParent): ditto
        (WebCore::SelectorChecker::parentStackIsEmpty): ditto
        (WebCore::SelectorChecker::parentStackIsConsistent): make parameter const

2012-01-30  Dana Jansens  <danakj@chromium.org>

        [chromium] Compute occlusion during paint loop
        https://bugs.webkit.org/show_bug.cgi?id=76858

        Reviewed by James Robinson.

        New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp

        * platform/graphics/FloatRect.cpp:
        (WebCore::enclosedIntRect):
        (WebCore):
        * platform/graphics/FloatRect.h:
        (WebCore):
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        (Canvas2DLayerChromium):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (ContentLayerChromium):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/ImageLayerChromium.h:
        (ImageLayerChromium):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::contentToScreenSpaceTransform):
        (WebCore):
        (WebCore::LayerChromium::addSelfToOccludedScreenSpace):
        (WebCore::LayerChromium::isPaintedAxisAlignedInScreen):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore):
        (WebCore::LayerChromium::paintContentsIfDirty):
        (LayerChromium):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (RenderSurfaceChromium):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (WebCore):
        ():
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (RenderSurfaceRegion):
        (WebCore):
        (WebCore::pushTargetRenderSurfaceRegion):
        (WebCore::popAndPushTargetRenderSurfaceRegion):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore):
        ():
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:

2012-01-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Add ElementAttributeData class to replace internal uses of NamedNodeMap
        https://bugs.webkit.org/show_bug.cgi?id=77233

        Reviewed by Andreas Kling.

        Move part of non-DOM functionality of NamedNodeMap into a separate class. This is
        the first step toward the goal of separating NamedNodeMap from internal attribute
        storage, as described in https://bugs.webkit.org/show_bug.cgi?id=75069.

        The internal attribute storage is exposed as attributeData() in Element, and when
        necessary (because it has no back pointer to Element) via methods in Element.

        No new tests. Except from setClass() change this is just moving the code, no new
        feature was added.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/Element.cpp:
        (WebCore::Element::idAttributeChanged):
        * dom/Element.h:
        (WebCore::Element::attributeData):
        (WebCore::Element::ensureAttributeData):
        (Element):
        (WebCore::Element::idForStyleResolution):
        * dom/ElementAttributeData.cpp: Added.
        (WebCore):
        (WebCore::ElementAttributeData::setClass): the only caller of this function
        already deal with the case when the element has no class, so don't do it here.
        * dom/ElementAttributeData.h: Added.
        (WebCore):
        (ElementAttributeData):
        (WebCore::ElementAttributeData::clearClass):
        (WebCore::ElementAttributeData::classNames):
        (WebCore::ElementAttributeData::idForStyleResolution):
        (WebCore::ElementAttributeData::setIdForStyleResolution):
        (WebCore::ElementAttributeData::ElementAttributeData):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::clearAttributes):
        * dom/NamedNodeMap.h:
        (WebCore::NamedNodeMap::attributeData):
        (NamedNodeMap):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::classAttributeChanged):
        * dom/StyledElement.h:
        (WebCore::StyledElement::classNames):
        * html/ClassList.cpp:
        (WebCore::ClassList::classNames):

2012-01-30  Gregg Tavares  <gman@chromium.org>

        Add Plumming to get graphics error messages to JS Console
        https://bugs.webkit.org/show_bug.cgi?id=77238

        Reviewed by Kenneth Russell.

        No new tests. No change in behavior.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebGLRenderingContextErrorMessageCallback):
        (WebCore::WebGLRenderingContextErrorMessageCallback::WebGLRenderingContextErrorMessageCallback):
        (WebCore::WebGLRenderingContextErrorMessageCallback::onErrorMessage):
        (WebCore::WebGLRenderingContextErrorMessageCallback::~WebGLRenderingContextErrorMessageCallback):
        (WebCore):
        (WebCore::WebGLRenderingContext::create):
        (WebCore::WebGLRenderingContext::initializeNewContext):
        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
        * html/canvas/WebGLRenderingContext.h:
        (WebGLRenderingContext):
        * platform/graphics/GraphicsContext3D.h:
        (ErrorMessageCallback):
        (WebCore::GraphicsContext3D::ErrorMessageCallback::~ErrorMessageCallback):
        (GraphicsContext3D):
        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
        (WebCore::GraphicsContext3D::setErrorMessageCallback):
        (WebCore):
        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
        (WebCore::GraphicsContext3D::setErrorMessageCallback):
        (WebCore):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::setErrorMessageCallback):
        (WebCore):

2012-01-30  Anders Carlsson  <andersca@apple.com>

        Simplify RenderLayerCompositor::frameViewDidScroll
        https://bugs.webkit.org/show_bug.cgi?id=77398

        Reviewed by Sam Weinig.

        Remove the scrollPosition parameter from RenderLayerCompositor::frameViewDidScroll; we can just get it
        from the associated FrameView object.

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChanged):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
        Call frameViewDidScroll() here instead of setting the scroll layer position explicitly.

        (WebCore::RenderLayerCompositor::frameViewDidScroll):
        (WebCore::RenderLayerCompositor::ensureRootLayer):
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):

2012-01-30  Pablo Flouret  <pablof@motorola.com>

        Don't select the next selectable index when deselecting an option in select elements with size set to a value greater than one.
        https://bugs.webkit.org/show_bug.cgi?id=76389

        Reviewed by Kent Tamura.

        This behavior matches the rest of the browsers.

        Test: fast/forms/select/option-selecting.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::optionSelectionStateChanged):

2012-01-30  Anders Carlsson  <andersca@apple.com>

        Scrollbars don't show when scrolling on the scrolling thread
        https://bugs.webkit.org/show_bug.cgi?id=77396
        <rdar://problem/10710736>

        Reviewed by Sam Weinig.

        Use ScrollAnimator::scrollToOffsetWithoutAnimation when updating the frame view scroll offset,
        since that function will end up invalidating the scrollbars correctly.

        * page/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::didUpdateMainFrameScrollPosition):

2012-01-30  Anders Carlsson  <andersca@apple.com>

        Show repaint counters in individual tiles
        https://bugs.webkit.org/show_bug.cgi?id=77390
        <rdar://problem/10767967>

        Reviewed by Darin Adler.

        * platform/graphics/ca/mac/TileCache.h:
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::setNeedsDisplayInRect):
        Make sure to invalidate the repaint counter rect if necessary.

        (WebCore::TileCache::drawLayer):
        Draw the repaint counter.

        (WebCore::TileCache::showRepaintCounter):
        New function that determines whether we should show repaint counters for the given tile cache.

        * platform/graphics/ca/mac/WebTileLayer.h:
        * platform/graphics/ca/mac/WebTileLayer.mm:
        (-[WebTileLayer incrementRepaintCount]):
        Add method for getting the repaint count.

2012-01-30  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10778045> REGRESSION (r91935): text-combine fails
        https://bugs.webkit.org/show_bug.cgi?id=77373

        Reviewed by Darin Adler.

        Removed tests that were failing because of this bug from the Lion skipped
        list.

        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
        (WebCore::GlyphPage::fill): Changed to use CTFontGetGlyphsForCharacters,
        rather than wkGetVerticalGlyphsForCharacters, for non-fullwidth fonts.

2012-01-30  Christopher Hutten-Czapski  <chutten@rim.com>

        BlackBerry - Support Proxy-Authenticate headers when a proxy is configured
        https://bugs.webkit.org/show_bug.cgi?id=77361

        Though we have a proxy configured, we might not have the auth
        credentials it requires. Support Proxy-Authenticate for that case.

        Reviewed by George Staikos.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleNotifyHeaderReceived):
        (WebCore::NetworkJob::handleAuthHeader):
        (WebCore::NetworkJob::sendRequestWithCredentials):
        * platform/network/blackberry/NetworkJob.h:
        * platform/network/blackberry/NetworkManager.cpp:
        (WebCore::NetworkManager::startJob):

2012-01-27  James Robinson  <jamesr@chromium.org>

        [chromium] Remove unnecessary retry logic in LayerRendererChromium initialization for accelerated painting
        https://bugs.webkit.org/show_bug.cgi?id=77247

        Reviewed by Kenneth Russell.

        The accelerate painting setting is done differently from other capability-dependent settings for no good reason,
        requiring that we retry initialization with different settings. For all other settings we set the capabilities
        bit to true if the setting is requested and if the required capabilities exist on the underlying context.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

2012-01-30  Brady Eidson  <beidson@apple.com>

        <rdar://problem/10707072>
        Crashes in WebProcess at WebCore::Node::rendererIsNeeded

        Reviewed by Darin Adler.

        In specific circumstances a plugin element can be without a render style at the point in time where
        the page navigated and enters the page cache.

        When this is the cash, the element should not enter into the "custom style for renderer" mode and should
        instead use the default render style machinery.

        Test: plugins/crash-restoring-pluging-page-from-page-cache.html

        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache): Only setHasCustomStyleForRenderer and 
          forceRecalc if there actually is a custom style to be used.
        (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache): Only clearHasCustomStyleForRenderer if there
          actually was a custom style to be cleared.
        (WebCore::HTMLPlugInImageElement::customStyleForRenderer): This should only be called if there actually is a 
          custom style to be used. Otherwise the element would have to fallback to the "normal" RenderStyle which might
          not exist.

2012-01-30  Anders Carlsson  <andersca@apple.com>

        Show debug borders for individual tile cache tiles
        https://bugs.webkit.org/show_bug.cgi?id=77388

        Reviewed by Sam Weinig.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::updateDebugIndicators):
        Give tile cache tiles a thin dark blue border.

        * platform/graphics/ca/mac/TileCache.h:
        (WebCore::TileCache::tileDebugBorderWidth):
        (WebCore::TileCache::tileDebugBorderColor):
        Add getters and member variables for the tile debug border width and color.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::TileCache):
        Initialize m_tileDebugBorderWidth.

        (WebCore::TileCache::setTileDebugBorderWidth):
        Update the border width of each tile layer.

        (WebCore::TileCache::setTileDebugBorderColor):
        Update the border color of each tile layer.

        (WebCore::TileCache::createTileLayer):
        Set the border color and border width.

        * platform/graphics/ca/mac/WebTileCacheLayer.h:
        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer borderColor]):
        (-[WebTileCacheLayer setBorderColor:]):
        (-[WebTileCacheLayer borderWidth]):
        (-[WebTileCacheLayer setBorderWidth:]):
        Call through to the TileCache.

        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):
        Don't draw the repaint counter for tile cache layers, each tile will maintain its own repaint counter.

2012-01-30  Rakesh KN  <rakesh.kn@motorola.com>

        single-file input elements should refuse multi-file drags
        https://bugs.webkit.org/show_bug.cgi?id=25913

        Reviewed by Eric Seidel.

        Refuse the multiple file drags onto a single file input element.

        No new tests: Covered by existing tests, updated the expected results.

        * page/DragController.cpp:
        (WebCore::DragController::tryDocumentDrag):
        Setting the dragSession.numberOfItemsToBeAccepted to 0 so that drag operation is none if the
        file input element under mouse is single input type and number of files dragged onto that
        input element are more than 1.

2012-01-30  Dana Jansens  <danakj@chromium.org>

        [chromium] Use region reported painted opaque for draw culling
        https://bugs.webkit.org/show_bug.cgi?id=76015

        Reviewed by James Robinson.

        New unit tests in CCTiledLayerImplTest.cpp, CCQuadCullerTest.cpp, CCLayerTreeHostImplTest.cpp

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setOpaque):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (UpdatableTile):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
        (WebCore::CCDrawQuad::opaqueRect):
        (WebCore):
        * platform/graphics/chromium/cc/CCDrawQuad.h:
        (CCDrawQuad):
        (WebCore::CCDrawQuad::needsBlending):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::cullOccludedQuads):
        * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
        (WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
        * platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
        (WebCore::CCTileDrawQuad::create):
        (WebCore::CCTileDrawQuad::CCTileDrawQuad):
        * platform/graphics/chromium/cc/CCTileDrawQuad.h:
        (CCTileDrawQuad):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (DrawableTile):
        (WebCore::DrawableTile::opaqueRect):
        (WebCore::DrawableTile::setOpaqueRect):
        (WebCore::CCTiledLayerImpl::appendQuads):
        (WebCore::CCTiledLayerImpl::pushTileProperties):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (CCTiledLayerImpl):

2012-01-30  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in previousLinePosition when moving into a root inline box without leaves
        https://bugs.webkit.org/show_bug.cgi?id=76812

        Reviewed by Enrica Casucci.

        The crash was caused by us assuming that every root inline box has at least one leaf,
        which isn't true when we create inline boxes for an empty text run with margin, border, etc...

        Test: editing/selection/move-into-empty-root-inline-box.html

        * editing/visible_units.cpp:
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):

2012-01-30  Levi Weintraub  <leviw@chromium.org>

        !m_insideRegionPaint assertion in RenderRegion.cpp is invalid
        https://bugs.webkit.org/show_bug.cgi?id=77372

        Reviewed by David Hyatt.

        Removing the !m_insideRegionPaint assertion that's in three functions in
        RenderRegion. It's triggering in numerous layout tests and isn't valid.

        No new tests as this just removes assertions.

        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::setRenderBoxRegionInfo):
        (WebCore::RenderRegion::takeRenderBoxRegionInfo):
        (WebCore::RenderRegion::removeRenderBoxRegionInfo):

2012-01-30  Adrienne Walker  <enne@google.com>

        [chromium] Always pre-reserve scrollbar and scroll corner textures
        https://bugs.webkit.org/show_bug.cgi?id=77251

        Reviewed by James Robinson.

        Add a flag to LayerChromium that says that a layer's textures should
        always be reserved. Prior to painting layers, find all layers marked
        as such and reserve their textures. This will prevent texture memory
        limits from being hit before the root layer's scrollbars are reserved
        and painted.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        (LayerChromium):
        (WebCore::LayerChromium::reserveTextures):
        (WebCore::LayerChromium::setAlwaysReserveTextures):
        (WebCore::LayerChromium::alwaysReserveTextures):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::reserveTextures):
        * platform/graphics/chromium/TiledLayerChromium.h:
        ():
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::updateLayers):
        (WebCore::CCLayerTreeHost::reserveTextures):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        ():

2012-01-30  Beth Dakin  <bdakin@apple.com>

        Speculative 32-bit build-fix.

        * WebCore.exp.in:

2012-01-30  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Add support for background-color in region styling
        https://bugs.webkit.org/show_bug.cgi?id=71488

        Reviewed by David Hyatt.

        Based on work by Alexandru Chiculita (achicu@adobe.com).
        Previous patches for region styling were touching RenderObject::style() method. After several attempts to avoid regressions
        (including caching of RenderObject::style() pointer in most used methods), we decided to attempt a different approach:
        Step1: before each region is repainted, we compute the style for each box that falls into the region
        Step2: before paint, we store the box original style
        Step3: paint the region contents using the style in region
        Step4: after paint is finished, we restore the box original style (and store the box style in region for future region paint)

        Tests for region styling are also enabled with this patch.

        * WebCore.exp.in:
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::clearRenderBoxCustomStyle):
        (WebCore::RenderFlowThread::setRegionRangeForBox):
        * rendering/RenderFlowThread.h:
        ():
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paint):
        (WebCore::RenderLayer::hitTest):
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::style):
        (RenderObject):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::RenderRegion):
        (WebCore::RenderRegion::setRegionBoxesRegionStyle):
        (WebCore):
        (WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
        (WebCore::RenderRegion::paintReplaced):
        (WebCore::RenderRegion::setRenderBoxRegionInfo):
        (WebCore::RenderRegion::takeRenderBoxRegionInfo):
        (WebCore::RenderRegion::removeRenderBoxRegionInfo):
        (WebCore::RenderRegion::renderBoxRegionStyle):
        (WebCore::RenderRegion::computeStyleInRegion):
        (WebCore::RenderRegion::clearBoxStyleInRegion):
        * rendering/RenderRegion.h:
        (RenderRegion):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        * rendering/RenderView.h:
        (WebCore):
        (RenderView):

2012-01-30  Jessie Berlin  <jberlin@apple.com>

        WebCore build exceeds address space on 32-bit Windows builders (again).
        https://bugs.webkit.org/show_bug.cgi?id=77357

        Reviewed by Adam Roben.

        Add an Inspector All-In-One file, but only use it in Release and Production builds.
        This differs from our other All-In-One files, but it is a better approach because it makes
        debugging possible in the Debug configuration (the symbols will be in the correct .obj file
        for the original .cpp files).

        * WebCore.vcproj/WebCore.vcproj:
        Also, let VS have its way with the vcproj file.
        * inspector/InspectorAllInOne.cpp: Added.

2012-01-28  Matthew Delaney  <mdelaney@apple.com>

        Limit periodic flushing inside ImageBufferCG to just Lion
        https://bugs.webkit.org/show_bug.cgi?id=77353
        <rdar://problem/10328309>

        Reviewed by Chris Marrin.

        * platform/graphics/cg/ImageBufferCG.cpp:
        * platform/graphics/cg/ImageBufferDataCG.h:

2012-01-30  Tommy Widenflycht  <tommyw@google.com>

        Memory leak caused by PeerConnection add a NULL media stream
        https://bugs.webkit.org/show_bug.cgi?id=76150

        It was my missunderstanding that the IDL keyword [StrictTypeChecking] also protects against
        null or undefined arguments, it doesn't. Added checks for null pointers.

        Reviewed by Adam Barth.

        Test: fast/mediastream/peerconnection-addstream.html

        * mediastream/PeerConnection.cpp:
        (WebCore::PeerConnection::addStream):
        (WebCore::PeerConnection::removeStream):

2012-01-26  Andy Estes  <aestes@apple.com>

        [Windows] Optionally invert colors when drawing to a WebView's backing store.
        https://bugs.webkit.org/show_bug.cgi?id=77168

        Reviewed by Sam Weinig.

        * css/CSSPrimitiveValueMappings.h: Assert that CompositeDifference is
        not converted to a CSS value. Exposing a new compositing operation to
        CSS is outside the scope of this patch.
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * platform/graphics/GraphicsTypes.h: Add CompositeDifference as a
        CompositeOperator. Also, remove an outdated comment.
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformCompositeOperation): Map
        CompositeDifference to kCGBlendModeDifference.

2012-01-28  Matthew Delaney  <mdelaney@apple.com>

        Limit the shadow offset CG hack to just SL and Lion
        https://bugs.webkit.org/show_bug.cgi?id=77348
        <rdar://problem/10158016>

        Reviewed by Chris Marrin.

        No new tests, current tests cover this.

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):

2012-01-30  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=77263
        PlatformScreenMac should not rely on NSWindow for important bits of data

        Reviewed by Geoff Garen.

        The main problem is that we cannot rely on the NSWindow for information about 
        the deviceScaleFactor because we cannot access an NSWindow from within 
        WebCore for WebKit2 windows. Instead, we can fetch it from 
        WebCore::deviceScaleFactor(), but we need a Frame to call that. So 
        screenAvailableRect and screenRect both now take a FrameView* instead of a 
        Widget*. All existing call sites actually sent a FrameView in anyway, so this 
        is not a big change, but it does require touching a lot of platforms.
        * WebCore.exp.in:
        * platform/PlatformScreen.h:
        (WebCore):
        * platform/blackberry/PlatformScreenBlackBerry.cpp:
        (WebCore::screenAvailableRect):
        (WebCore::screenRect):
        * platform/chromium/PlatformScreenChromium.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/chromium/PlatformSupport.h:
        (WebCore):
        (PlatformSupport):
        ():
        * platform/efl/PlatformScreenEfl.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/qt/PlatformScreenQt.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/win/PlatformScreenWin.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/wx/ScreenWx.cpp:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):

        The Mac-only functions toUserSpace() and toDeviceSpace() were also updated to 
        take a parameter for the deviceScaleFactor.
        * platform/mac/PlatformScreenMac.mm:
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        (WebCore::toUserSpace):
        (WebCore::toDeviceSpace):

2012-01-30  Antti Koivisto  <antti@apple.com>

        Kill CSSMutableStyleDeclarationConstIterator
        https://bugs.webkit.org/show_bug.cgi?id=77342

        Reviewed by Sam Weinig.

        CSSMutableStyleDeclaration is an array and should be iterated using an index. This simplifies the code.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::copyPropertiesFrom):
        (WebCore::CSSMutableStyleDeclaration::removeProperty):
        (WebCore::CSSMutableStyleDeclaration::setProperty):
        (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
        (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
        (WebCore::CSSMutableStyleDeclaration::merge):
        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore):
        (WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
        (CSSMutableStyleDeclaration):
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
        * css/CSSStyleDeclaration.h:
        (CSSStyleDeclaration):
        ():
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForKeyframe):
        (WebCore::CSSStyleSelector::applyDeclaration):
        * editing/EditingStyle.cpp:

2012-01-30  Michael Saboff  <msaboff@apple.com>

        Dromaeo tests call parseSimpleLengthValue() on 8 bit strings
        https://bugs.webkit.org/show_bug.cgi?id=76649

        Reviewed by Geoffrey Garen.

        No functionality change, therefore no new tests.

        Added 8 bit patch for parseSimpleLengthValue().

        * css/CSSParser.cpp:
        (WebCore::parseSimpleLengthValue):

2012-01-30  Michael Saboff  <msaboff@apple.com>

        WebCore decodeEscapeSequences unnecessarily converts 8 bit strings to 16 bit when decoding.
        https://bugs.webkit.org/show_bug.cgi?id=76648

        Reviewed by Geoffrey Garen.

        Using new overloaded append(String&, offset, length)  member to build result string.
        The new member properly handles 8/16 bit-ness of strings.

        Functionality not changed, therefore no new tests.

        * platform/text/DecodeEscapeSequences.h:
        (WebCore::decodeEscapeSequences):

2012-01-30  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: follow up to r105625, use proper event categoty in inspector frontend.

        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.EventListenerBreakpointsSidebarPane):

2012-01-30  Parag Radke  <nrqv63@motorola.com>

        REGRESSION (r82580): Reproducible crash in CSSPrimitiveValue::computeLengthDouble
        https://bugs.webkit.org/show_bug.cgi?id=61989

        Reviewed by Simon Fraser.

        According to css3 specs when font-size is specified in 'rems' for an element implies the font-size
        of the root element. In this case as HTML element has a property 'display:none' and hence renderer 
        is NULL causes this crash.

        Test: fast/css/fontsize-unit-rems-crash.html

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLengthDouble):
        Added a null check for the root element's RenderStyle as it can be null in case of html has a property
        hidden or display:none.

2012-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [Qt] WKTR: Use a software rendering pipiline when running tests.
        https://bugs.webkit.org/show_bug.cgi?id=76708

        Reviewed by Kenneth Rohde Christiansen.

        * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
        (WebCore::TextureMapperQt::setGraphicsContext):
        * platform/graphics/qt/TextureMapperQt.h:
        (WebCore::TextureMapperQt::initialize):

2012-01-27  Enrica Casucci  <enrica@apple.com>

        Remove all references to NSPasteboard objects from the Pasteboard
        class interface on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=77261
        
        This is cleanup work needed as first step in the direction of
        removing access to NSPasteboard from the WebProcess.
        This way all access to the NSPasteboard object are internal to
        the class.
        Removed static methods taking NSPasteboard as paramenter and changed
        the constructor of the class to take the pasteboard name instead of
        the NSPasteboard object.

        Reviewed by Alexey Proskuryakov.

        No new tests. There is no change in behavior.

        * editing/Editor.cpp: Removed ununsed private method writeSelectionToPasteboard.
        (WebCore):
        * editing/Editor.h: Ditto.
        (Editor):
        ():
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::writeSelectionToPasteboard):
        (WebCore::Editor::readSelectionFromPasteboard):
        * platform/Pasteboard.h:
        (Pasteboard):
        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::writeRange):
        (WebCore::ClipboardMac::writePlainText):
        (WebCore::ClipboardMac::writeURL):
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::generalPasteboard):
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::writeSelectionForTypes): Added.
        (WebCore::Pasteboard::writePlainText):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writeURLForTypes): Added.
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::writeImage):

2012-01-29  Antti Koivisto  <antti@apple.com>

        Reduce non-CSSOM API of CSSStyleDeclaration
        https://bugs.webkit.org/show_bug.cgi?id=77299

        Reviewed by Andreas Kling.

        CSSStyleDeclaration should expose the CSSOM API only. Subclasses should expose the internal API only. 
        This will move us closer to being able to split the CSSOM API from the internal implementation.
        
        - Make CSSStyleDeclaration CSSOM functions virtual, internal functions non-virtual.
        - Move implementations to subclasses (CSSComputedStyleDeclaration, CSSMutableStyleDeclaration).
        - Make CSSOM functions in the subclasses private (making it harder to invoke them internally).
        - Switch a bunch of places to use internal API instead of CSSOM.

        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
        (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
        
            Switch to *Internal versions of the CSSOM functions.
        
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::length):
        (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
        (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
        
            Move copyPropertiesInSet to subclasses, devirtualize.
            
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        (WebCore::CSSComputedStyleDeclaration::getPropertyValue):
        (WebCore::CSSComputedStyleDeclaration::getPropertyPriority):
        (WebCore::CSSComputedStyleDeclaration::getPropertyShorthand):
        (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit):
        (WebCore::CSSComputedStyleDeclaration::setProperty):
        (WebCore::CSSComputedStyleDeclaration::removeProperty):
        * css/CSSComputedStyleDeclaration.h:
        (CSSComputedStyleDeclaration):
        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::cssText):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::length):
        (WebCore::CSSMutableStyleDeclaration::asText):
        (WebCore::CSSMutableStyleDeclaration::cssText):
        (WebCore):
        (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
        (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
        (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
        (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
        (WebCore::CSSMutableStyleDeclaration::setProperty):
        (WebCore::CSSMutableStyleDeclaration::removeProperty):
        (WebCore::CSSMutableStyleDeclaration::copyPropertiesInSet):
        
            Move copyPropertiesInSet to subclasses, devirtualize.
        
        (WebCore::CSSMutableStyleDeclaration::cssPropertyMatches):
        (WebCore::CSSMutableStyleDeclaration::removeEquivalentProperties):
        
            Move diff() to CSSMutableStyleDeclaration, rename to removeEquivalentProperties, switch to mutate
            this object instead of the argument object.
    
        * css/CSSMutableStyleDeclaration.h:
        (CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::propertyCount):
        (WebCore::CSSMutableStyleDeclaration::isEmpty):
        (WebCore::CSSMutableStyleDeclaration::propertyAt):
        
            Expose properties and property count internally (iterator should be removed in favor of these).
        
        * css/CSSStyleDeclaration.cpp:
        (WebCore):
        * css/CSSStyleDeclaration.h:
        (CSSStyleDeclaration):
        (WebCore::CSSStyleDeclaration::getPropertyCSSValueInternal):
        (WebCore::CSSStyleDeclaration::getPropertyValueInternal):
        (WebCore::CSSStyleDeclaration::setPropertyInternal):
        
            Add *Internal versions of some CSSOM APIs to support some editing and bindings uses.
            These take propertyIDs instead of strings names.

        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::cssText):
        * css/CSSStyleSelector.cpp:
        (WebCore::leftToRightDeclaration):
        (WebCore::rightToLeftDeclaration):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        (WebCore::CSSStyleSelector::matchPageRulesForList):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::WebKitCSSKeyframeRule::cssText):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateStyleAttribute):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
        (WebCore::ApplyStyleCommand::addBlockStyle):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        * editing/EditingStyle.cpp:
        ():
        (WebCore::copyEditingProperties):
        (WebCore):
        (WebCore::propertyCSSValue):
        (WebCore::getRGBAFontColor):
        (WebCore::EditingStyle::overrideWithStyle):
        (WebCore::EditingStyle::removeStyleAddedByNode):
        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
        (WebCore::EditingStyle::triStateOfStyle):
        (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
        (WebCore::EditingStyle::prepareToApplyAt):
        (WebCore::removePropertiesInStyle):
        (WebCore::EditingStyle::removeStyleFromRulesAndContext):
        (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
        (WebCore::StyleChange::StyleChange):
        (WebCore::fontWeightIsBold):
        (WebCore::getPropertiesNotIn):
        (WebCore::getIdentifierValue):
        (WebCore::hasTransparentBackgroundColor):
        * editing/EditingStyle.h:
        
            Adapt to changes.
    
        (WebCore):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
        (WebCore::handleStyleSpansBeforeInsertion):
        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
        * editing/mac/EditorMac.mm:
        (WebCore::styleForSelectionStart):
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
        (WebCore::StyledMarkupAccumulator::appendElement):
        * html/ImageDocument.cpp:
        (WebCore::ImageDocument::resizeImageToFit):
        (WebCore::ImageDocument::restoreImageSize):
        (WebCore::ImageDocument::windowSizeChanged):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setFont):
        * html/canvas/CanvasStyle.cpp:
        (WebCore::currentColor):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::revalidateStyle):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::isEmptyOrUnstyledAppleStyleSpan):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::getPresentationAttribute):

2012-01-30  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: protocol validator should fail if one of response fields turns optional
        https://bugs.webkit.org/show_bug.cgi?id=76452

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector-0.1.json:
        * inspector/Inspector.json:
        * inspector/generate-inspector-protocol-version:
        (compare_commands):
        (compare_events):
        (compare_params_list):
        (compare_types):
        (self_test):

2012-01-30  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: keyboard navigation through comparison view in heap profiler should update retainers view
        https://bugs.webkit.org/show_bug.cgi?id=77326

        Keyboard navigation in the detailed heap snapshot view now updates retainers view.

        Reviewed by Pavel Feldman.

        * inspector/front-end/DataGrid.js: Added SelectedNode/DeselectedNode events to DataGrid.
        (WebInspector.DataGridNode.prototype.select):
        (WebInspector.DataGridNode.prototype.deselect):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype._selectionChanged):
        (WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource):

2012-01-30  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix inspector front-end compilation.

        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.fromPayload):

2012-01-30  Roland Steiner  <rolandsteiner@chromium.org>

        Node::parentOrHostElement(): Node::shadowHost() already returns an Element*
        https://bugs.webkit.org/show_bug.cgi?id=77332

        Reviewed by Kent Tamura.

        No new tests. (simple refactoring)

        * dom/Node.cpp:
        (WebCore::Node::parentOrHostElement):

2012-01-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.am: Add idl files in Source/WebCore/html/shadow/ to
        EXTRA_DIST.
        * GNUmakefile.list.am: Add missing files.

2012-01-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: TabbedEditorContainer should save open tabs.
        https://bugs.webkit.org/show_bug.cgi?id=76912

        Reviewed by Pavel Feldman.

        Test: inspector/tabbed-editors-history.html

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
        (WebInspector.ScriptsPanel.prototype._reset):
        (WebInspector.ScriptsPanel.prototype._showFile):
        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
        (WebInspector.ScriptsPanel.prototype._editorSelected):
        (WebInspector.EditorContainer.prototype.uiSourceCodeAdded):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer):
        (WebInspector.TabbedEditorContainer.prototype.showFile):
        (WebInspector.TabbedEditorContainer.prototype._editorClosedByUserAction):
        (WebInspector.TabbedEditorContainer.prototype._editorSelectedByUserAction):
        (WebInspector.TabbedEditorContainer.prototype._updateHistory.tabIdToURL):
        (WebInspector.TabbedEditorContainer.prototype._updateHistory):
        (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
        (WebInspector.TabbedEditorContainer.prototype._tabSelected):
        (WebInspector.TabbedEditorContainer.prototype.reset):
        (WebInspector.TabbedEditorContainer.History):
        (WebInspector.TabbedEditorContainer.History.prototype.index):
        (WebInspector.TabbedEditorContainer.History.prototype.update):
        (WebInspector.TabbedEditorContainer.History.prototype.remove):
        (WebInspector.TabbedEditorContainer.History.prototype.save):
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype.closeTab):
        (WebInspector.TabbedPane.prototype._innerCloseTab):
        (WebInspector.TabbedPane.prototype.closeAllTabs):
        (WebInspector.TabbedPane.prototype.lastOpenedTabIds):
        (WebInspector.TabbedPane.prototype._tabsSelectChanged):

2012-01-30  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Unable to paste and subsequently edit multiple properties in the Styles pane
        https://bugs.webkit.org/show_bug.cgi?id=77209

        Reviewed by Pavel Feldman.

        Check if the property value contains a ";" before kicking the freeflow text update.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):

2012-01-30  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Change Open Resource and Go To function shortcuts in scripts panel.
        https://bugs.webkit.org/show_bug.cgi?id=77321

        Reviewed by Pavel Feldman.

        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.JavaScriptOutlineDialog.createShortcut):
        (WebInspector.OpenResourceDialog.createShortcut):
        * inspector/front-end/ScriptsPanel.js:

2012-01-30  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: hide function popover in heap snapshot view before navigating to the function definition
        https://bugs.webkit.org/show_bug.cgi?id=77330

        Reviewed by Pavel Feldman.

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype.willHide):

2012-01-30  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] Credential backing store implementation
        https://bugs.webkit.org/show_bug.cgi?id=76761

        Reviewed by Antonio Gomes.

        Implemented credential backing store database and related
        operations in class CredentialBackingStore.

        * platform/network/blackberry/CredentialBackingStore.cpp:
        (WebCore::CredentialBackingStore::~CredentialBackingStore):
        (WebCore::CredentialBackingStore::open):
        (WebCore::CredentialBackingStore::close):
        (WebCore::CredentialBackingStore::addLogin):
        (WebCore::CredentialBackingStore::updateLogin):
        (WebCore::CredentialBackingStore::hasLogin):
        (WebCore::CredentialBackingStore::getLogin):
        (WebCore::CredentialBackingStore::removeLogin):
        (WebCore::CredentialBackingStore::clear):

2012-01-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Only send resize events when layout size changes.
        https://bugs.webkit.org/show_bug.cgi?id=77212

        When using fixed layout the widget size is the size of content, therefore
        resize checks must check against layoutsize and not widget size.

        Reviewed by Kenneth Rohde Christiansen.

        Needs to be manual tests because the test framework does not currently
        support testing fixed layout.

        Tests: ManualTests/resize-events.html

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::performPostLayoutTasks):

2012-01-30  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: TimelinePanel does not respect InspectorFrontendHost.canSaveAs
        https://bugs.webkit.org/show_bug.cgi?id=77301

        Reviewed by Vsevolod Vlasov.

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._registerShortcuts):

2012-01-30  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix Clang build for real after r106218.

        * inspector/CodeGeneratorInspector.py:
        (Generator.go): Add virtual destructor to the ABCs.

2012-01-30  Shinya Kawanaka  <shinyak@google.com>

        No need to keep anonymous RenderBlock in DETAILS.
        https://bugs.webkit.org/show_bug.cgi?id=77322

        Reviewed by Hajime Morita.

        Anonymous RenderBlock of DETAILS element was not squashed when detaching them.
        However, it should be removed.

        No new tests. Should be covered by existing tests.

        * rendering/RenderBlock.cpp:
        (WebCore::canMergeContiguousAnonymousBlocks):

2012-01-30  Zoltan Herczeg  <zherczeg@webkit.org>

        Custom written CSS lexer
        https://bugs.webkit.org/show_bug.cgi?id=70107

        Rubber Stamped by Csaba Osztrogonác.

        Do not advance pointer at the end of input, just
        keep returning with END_TOKEN.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::lex):

2012-01-30  Shinya Kawanaka  <shinyak@google.com>

        The query selector for HTMLContentElement should follow the shadow dom spec.
        https://bugs.webkit.org/show_bug.cgi?id=75946

        Reviewed by Hajime Morita.

        Checks the query selector of HTMLContentElement is valid.
        If not valid, the selector won't match anything, and shows fallback element.

        Test: fast/dom/shadow/content-selector-query.html

        * html/shadow/ContentSelectorQuery.cpp:
        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
        (WebCore::ContentSelectorQuery::isValidSelector):
        (WebCore::ContentSelectorQuery::matches):
          When a select query is not valid, any element won't be matched.
        (WebCore::validateSubSelector):
        (WebCore::validateSelector):
        (WebCore::ContentSelectorQuery::validateSelectorList):
          Validate selectors.
        * html/shadow/ContentSelectorQuery.h:
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::isSelectValid):
          Returns true if select attribute is valid.
        * html/shadow/HTMLContentElement.h:
        * testing/Internals.cpp:
        (WebCore::Internals::isValidContentSelect):
        * testing/Internals.h:
        * testing/Internals.idl:

2012-01-30  Hans Wennborg  <hans@chromium.org>

        Unreviewed, rolling out r106219.
        http://trac.webkit.org/changeset/106219
        https://bugs.webkit.org/show_bug.cgi?id=77083

        This broke Chromium's test_shell.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mock/SpeechInputClientMock.cpp: Added.
        (WebCore):
        (WebCore::SpeechInputClientMock::SpeechInputClientMock):
        (WebCore::SpeechInputClientMock::setListener):
        (WebCore::SpeechInputClientMock::startRecognition):
        (WebCore::SpeechInputClientMock::stopRecording):
        (WebCore::SpeechInputClientMock::cancelRecognition):
        (WebCore::SpeechInputClientMock::addRecognitionResult):
        (WebCore::SpeechInputClientMock::clearResults):
        (WebCore::SpeechInputClientMock::timerFired):
        * platform/mock/SpeechInputClientMock.h: Added.
        (WebCore):
        (SpeechInputClientMock):

2012-01-30  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Clang build fix after r106218

        * inspector/CodeGeneratorInspector.py:

2012-01-30  ChangSeok Oh  <shivamidow@gmail.com>

        Make GraphicsContext3DPrivate of GTK port shareable.
        https://bugs.webkit.org/show_bug.cgi?id=77296

        Reviewed by Eric Seidel.

        GraphicsContext3DPrivate.cpp/h of GTK port look shareable with another port
        using glx backend for WebGL. For example, EFL port.
        Moved GraphicsContext3DPrivate.cpp and its header into Source/WebCore/platform/graphics/glx.

        No new tests required, because of no new feature.

        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * platform/graphics/glx/GraphicsContext3DPrivate.cpp: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DPrivate.cpp.
        (sharedDisplay):
        (WebCore):
        (WebCore::activeGraphicsContexts):
        (WebCore::GraphicsContext3DPrivate::addActiveGraphicsContext):
        (WebCore::GraphicsContext3DPrivate::removeActiveGraphicsContext):
        (WebCore::GraphicsContext3DPrivate::cleanupActiveContextsAtExit):
        (WebCore::GraphicsContext3DPrivate::create):
        (WebCore::GraphicsContext3DPrivate::createPbufferContext):
        (WebCore::GraphicsContext3DPrivate::createPixmapContext):
        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
        * platform/graphics/glx/GraphicsContext3DPrivate.h: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DPrivate.h.
        (WebCore):
        (GraphicsContext3DPrivate):

2012-01-26  Hans Wennborg  <hans@chromium.org>

        Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
        https://bugs.webkit.org/show_bug.cgi?id=77083

        Reviewed by Darin Fisher.

        Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
        implementation.

        No new tests, just refactoring.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mock/SpeechInputClientMock.cpp: Removed.
        * platform/mock/SpeechInputClientMock.h: Removed.

2012-01-30  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: clean InspectorBackendDispatcher.h
        https://bugs.webkit.org/show_bug.cgi?id=77062

        Reviewed by Yury Semikhatsky.

        Code generator is changed. Now it generates InspectorBackendDispatcher
        as an abstract class so that implementation details could be fully
        hidden in .cpp file in a separate 'impl' class. This should make .h
        file more clear.
        Also new formal interfaces to domain agents are generated. This is an
        improvement over the current case when interfaces to agents are
        definen implicitly at calling sites.

        * inspector/CodeGeneratorInspector.py:
        (RawTypes):
        (RawTypes.OutputPassModel):
        (RawTypes.OutputPassModel.ByPointer):
        (RawTypes.OutputPassModel.ByPointer.get_argument_prefix):
        (RawTypes.OutputPassModel.ByPointer.get_parameter_type_suffix):
        (RawTypes.OutputPassModel.ByReference):
        (RawTypes.OutputPassModel.ByReference.get_argument_prefix):
        (RawTypes.OutputPassModel.ByReference.get_parameter_type_suffix):
        (RawTypes.BaseType.is_event_param_check_optional):
        (RawTypes.String):
        (RawTypes.String.get_output_pass_model):
        (RawTypes.String.is_heavy_value):
        (RawTypes.Int):
        (RawTypes.Int.get_output_pass_model):
        (RawTypes.Int.is_heavy_value):
        (RawTypes.Number):
        (RawTypes.Number.get_output_pass_model):
        (RawTypes.Number.is_heavy_value):
        (RawTypes.Bool.get_c_param_type):
        (RawTypes.Bool):
        (RawTypes.Bool.get_output_pass_model):
        (RawTypes.Bool.is_heavy_value):
        (RawTypes.Object):
        (RawTypes.Object.get_output_pass_model):
        (RawTypes.Object.is_heavy_value):
        (RawTypes.Any.get_c_initializer):
        (RawTypes.Any):
        (RawTypes.Any.get_output_pass_model):
        (RawTypes.Any.is_heavy_value):
        (RawTypes.Array):
        (RawTypes.Array.get_output_pass_model):
        (RawTypes.Array.is_heavy_value):
        (InspectorBackendDispatcherImpl):
        (void):
        (Generator):
        (Generator.go):
        (Generator.process_command):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::connectFrontend):

2012-01-29  Zoltan Herczeg  <zherczeg@webkit.org>

        Custom written CSS lexer
        https://bugs.webkit.org/show_bug.cgi?id=70107

        Reviewed by Antti Koivisto and Oliver Hunt.

        This patch replaces the flex based CSS lexer to a
        new, custom written one. The new code is more
        than 2 times faster according to oprofile and CPU
        cycle counters.

        The code structure is quite straightforward: it choose
        the possible token group based on the first character
        and employ utility functions to parse the longer than
        one character long ones. Most of the utilities are inline
        to make the lexer fast.

        All build systems updated. Including removing the flex support.

        Existing tests cover this feature.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_maketokenizer.py: Removed.
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::setupParser):
        (WebCore::parseSimpleLengthValue):
        (WebCore::mightBeRGBA):
        (WebCore::mightBeRGB):
        ():
        (WebCore::isCSSLetter):
        (WebCore):
        (WebCore::isCSSEscape):
        (WebCore::isURILetter):
        (WebCore::isIdentifierStartAfterDash):
        (WebCore::isEqualToCSSIdentifier):
        (WebCore::checkAndSkipEscape):
        (WebCore::skipWhiteSpace):
        (WebCore::CSSParser::isIdentifierStart):
        (WebCore::CSSParser::checkAndSkipString):
        (WebCore::CSSParser::parseEscape):
        (WebCore::CSSParser::parseIdentifier):
        (WebCore::CSSParser::parseString):
        (WebCore::CSSParser::parseURI):
        (WebCore::CSSParser::parseUnicodeRange):
        (WebCore::CSSParser::parseNthChild):
        (WebCore::CSSParser::parseNthChildExtra):
        (WebCore::CSSParser::detectFunctionTypeToken):
        (WebCore::CSSParser::detectMediaQueryToken):
        (WebCore::CSSParser::detectNumberToken):
        (WebCore::CSSParser::detectDashToken):
        (WebCore::CSSParser::detectAtToken):
        (WebCore::CSSParser::lex):
        (WebCore::CSSParser::markSelectorListStart):
        (WebCore::CSSParser::markSelectorListEnd):
        (WebCore::CSSParser::markRuleBodyStart):
        (WebCore::CSSParser::markRuleBodyEnd):
        (WebCore::CSSParser::markPropertyStart):
        (WebCore::CSSParser::markPropertyEnd):
        * css/CSSParser.h:
        (WebCore::CSSParser::token):
        (CSSParser):
        ():
        * css/tokenizer.flex: Removed.

2012-01-29  Dale Curtis  <dalecurtis@chromium.org>

        Prepare WebCore.gyp for ffmpeg source transition.
        https://bugs.webkit.org/show_bug.cgi?id=77254

        We're migrating our ffmpeg repo from a set of patches living on top of
        a tarball to an actual git fork of upstream.  The paths have changed
        slightly.

        In order to not break the current build, we'll keep both paths around
        until the transition is complete.  Afterward the 'patched-ffmpeg' path
        will be removed.

        Reviewed by Tony Chang.

        No new tests. GYP change, if it doesn't work, nothing will compile.

        * WebCore.gyp/WebCore.gyp:

2012-01-29  Hayato Ito  <hayato@chromium.org>

        Add a ShadowRoot constructor as 'WebKitShadowRootConstructor', enabled by SHADOW_DOM flag.
        https://bugs.webkit.org/show_bug.cgi?id=76354

        Reviewed by Hajime Morita.

        We use vendor-prefixed name, 'WebKitShadowRoot', instead of 'ShadowRoot'
        since this is a feature under development.

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::create):
        (WebCore):
        * dom/ShadowRoot.h:
        (WebCore):
        (ShadowRoot):
        * dom/ShadowRoot.idl:
        * page/DOMWindow.idl:

2012-01-29  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] Use decoding swizzle only on libjpeg-turbo 1.1.90+
        https://bugs.webkit.org/show_bug.cgi?id=74286

        Reviewed by Kenneth Russell.

        No new tests. Covered by many existing tests: in particular 
            fast/images/*, fast/canvas/*,
            tables/mozilla/bugs/bug29314.html
            tables/mozilla/bugs/bug13169.html
            tables/mozilla/bugs/bug10565.html
            tables/mozilla/bugs/bug11026.html
            fast/repaint/backgroundSizeRepaint.html
            fast/repaint/block-layout-inline-children-replaced.html
            fast/repaint/clipped-relative.html
            fast/repaint/selected-replaced.html
            tables/mozilla/bugs/bug12908-1.html

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (rgbOutputColorSpace): Swizzle decode iff libjpeg-turbo is r732 or above.

2012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105999.
        http://trac.webkit.org/changeset/105999
        https://bugs.webkit.org/show_bug.cgi?id=77304

        Validating that this caused a performance regression in page
        load tests. (Requested by leviw on #webkit).

        * dom/NamedNodeMap.cpp:
        * dom/NamedNodeMap.h:
        (NamedNodeMap):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateStyleAttribute):
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore):
        (WebCore::StyledElement::destroyInlineStyleDecl):
        (WebCore::StyledElement::ensureInlineStyleDecl):
        (WebCore::StyledElement::style):
        (WebCore::StyledElement::addSubresourceAttributeURLs):
        * dom/StyledElement.h:
        (WebCore::StyledElement::inlineStyleDecl):
        (StyledElement):

2012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r106109.
        http://trac.webkit.org/changeset/106109
        https://bugs.webkit.org/show_bug.cgi?id=77302

        It made tests crash (Requested by Ossy_weekend on #webkit).

        * platform/graphics/qt/TextureMapperQt.cpp:
        (WebCore::TextureMapperQt::setGraphicsContext):
        * platform/graphics/qt/TextureMapperQt.h:
        (WebCore::TextureMapperQt::initialize):

2012-01-28  Alexander Færøy  <ahf@0x90.dk>

        [Qt] Remove references to CSSBorderImageValue.h in Target.pri
        https://bugs.webkit.org/show_bug.cgi?id=77277

        Reviewed by Antonio Gomes.

        CSSBorderImageValue.h was removed in r105502.

        * Target.pri:

2012-01-28  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION (r94016): Element with visibility:hidden but visible descendant may not be properly repainted
        https://bugs.webkit.org/show_bug.cgi?id=76126

        Reviewed by Simon Fraser.

        Tests: fast/layers/scroll-no-visible-content-but-visible-descendant-expected.html
               fast/layers/scroll-no-visible-content-but-visible-descendant.html

        The optimization missed out that if the current layer does not have some visible content
        (m_hasVisibleContent is false), a descendant could totally be visible and would need to
        have its repaint rectangles recomputed.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
        Bail out only if the layer doesn't have visible content AND no visible descendants.

2012-01-27  Chris Marrin  <cmarrin@apple.com>

        Get rid of TransformOperationList
        https://bugs.webkit.org/show_bug.cgi?id=77249

        Reviewed by Dan Bernstein.

        Changed fetchTransformOperationList to validateTransformOperations and got rid of separately generated list
        of transform operations. These are not needed, they are already available in the keyframe lists and they
        make it more difficult to add support for hardware animated filters. No behavior changes.


        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::validateTransformOperations):
        * platform/graphics/GraphicsLayer.h:
        (GraphicsLayer):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
        * platform/graphics/ca/GraphicsLayerCA.h:
        ():
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::addAnimation):
        * platform/graphics/texmap/TextureMapperAnimation.cpp:
        (WebCore::applyTransformAnimation):
        (WebCore::TextureMapperAnimation::TextureMapperAnimation):
        (WebCore::TextureMapperAnimation::applyInternal):
        * platform/graphics/texmap/TextureMapperAnimation.h:
        (TextureMapperAnimation):

2012-01-27  Raymond Toy  <rtoy@google.com>

        AudioPannerNode::setPanningModel() does not update m_panningModel properly
        https://bugs.webkit.org/show_bug.cgi?id=66830

        Reviewed by Kenneth Russell.

        Test: webaudio/panner-set-model.html

        * webaudio/AudioPannerNode.cpp:
        (WebCore::AudioPannerNode::setPanningModel):  Update
        m_panningModel appropriately.  Also silently do nothing if the
        model is invalid.

2012-01-27  Chris Rogers  <crogers@google.com>

        HRTFPanner could have high-quality mode for smoother transitions
        https://bugs.webkit.org/show_bug.cgi?id=76470

        Reviewed by Kenneth Russell.

        * platform/audio/HRTFPanner.cpp:
        (WebCore):
        (WebCore::HRTFPanner::HRTFPanner):
        (WebCore::HRTFPanner::reset):
        (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
        (WebCore::HRTFPanner::pan):
        * platform/audio/HRTFPanner.h:
        (HRTFPanner):
        ():

2012-01-27  Mike Lawther  <mikelawther@chromium.org>

        CSS calc parsing stage
        https://bugs.webkit.org/show_bug.cgi?id=57082

        This is the parsing stage of calc. The expressions are evaluated and 
        expression trees are generated. CSS values are not created yet - that
        will happen in a subsequent commit. 

        Reviewed by David Hyatt.

        No functional change - covered by existing tests in LayoutTests/css3/calc.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSCalculationValue.cpp: Added.
        (WebCore):
        (WebCore::unitCategory):
        (WebCore::CSSCalcValue::customCssText):
        (WebCore::CSSCalcExpressionNode::~CSSCalcExpressionNode):
        (CSSCalcPrimitiveValue):
        (WebCore::CSSCalcPrimitiveValue::create):
        (WebCore::CSSCalcPrimitiveValue::cssText):
        (WebCore::CSSCalcPrimitiveValue::CSSCalcPrimitiveValue):
        ():
        (CSSCalcBinaryOperation):
        (WebCore::CSSCalcBinaryOperation::create):
        (WebCore::CSSCalcBinaryOperation::CSSCalcBinaryOperation):
        (WebCore::checkDepthAndIndex):
        (CSSCalcExpressionNodeParser):
        (WebCore::CSSCalcExpressionNodeParser::parseCalc):
        (Value):
        (WebCore::CSSCalcExpressionNodeParser::operatorValue):
        (WebCore::CSSCalcExpressionNodeParser::parseValue):
        (WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
        (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
        (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
        (WebCore::CSSCalcExpressionNodeParser::parseValueExpression):
        (WebCore::CSSCalcValue::create):
        * css/CSSCalculationValue.h: Added.
        (WebCore):
        ():
        (CSSCalcExpressionNode):
        (WebCore::CSSCalcExpressionNode::category):
        (WebCore::CSSCalcExpressionNode::isInt):
        (WebCore::CSSCalcExpressionNode::isZero):
        (WebCore::CSSCalcExpressionNode::CSSCalcExpressionNode):
        (CSSCalcValue):
        (WebCore::CSSCalcValue::category):
        (WebCore::CSSCalcValue::isInt):
        (WebCore::CSSCalcValue::CSSCalcValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::validCalculationUnit):
        (WebCore):
        (WebCore::CSSParser::validUnit):
        (WebCore::CSSParser::createPrimitiveNumericValue):
        (WebCore::CSSParser::parseValidPrimitive):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillPositionComponent):
        (WebCore::CSSParser::parsedDouble):
        (WebCore::CSSParser::isCalculation):
        (WebCore::CSSParser::colorIntFromValue):
        (WebCore::CSSParser::parseColorParameters):
        (WebCore::CSSParser::parseHSLParameters):
        (WebCore::ShadowParseContext::ShadowParseContext):
        (WebCore::ShadowParseContext::commitLength):
        (WebCore::ShadowParseContext::commitStyle):
        (ShadowParseContext):
        (WebCore::CSSParser::parseShadow):
        (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
        (WebCore::BorderImageSliceParseContext::commitNumber):
        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
        (BorderImageSliceParseContext):
        (WebCore::CSSParser::parseBorderImageSlice):
        (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
        (WebCore::BorderImageQuadParseContext::commitNumber):
        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
        (BorderImageQuadParseContext):
        (WebCore::CSSParser::parseBorderImageQuad):
        (WebCore::CSSParser::parseCalculation):
        * css/CSSParser.h:
        ():
        (CSSParser):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        * css/CSSValue.h:
        (WebCore::CSSValue::isCalculationValue):
        ():
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * platform/CalculationValue.cpp: Added.
        (WebCore):
        * platform/CalculationValue.h: Added.
        (WebCore):
        ():

2012-01-27  Anders Carlsson  <andersca@apple.com>

        WebTileLayers should honor the acceleratesDrawing flag
        https://bugs.webkit.org/show_bug.cgi?id=77242
        <rdar://problem/10622128>

        Reviewed by Dan Bernstein.

        * platform/graphics/ca/mac/TileCache.h:
        (WebCore::TileCache::acceleratesDrawing):
        Add getter.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::TileCache):
        Initialize m_acceleratesDrawing.

        (WebCore::TileCache::setAcceleratesDrawing):
        Set m_acceleratesDrawing and go through all tile layers and update the flag.

        (WebCore::TileCache::createTileLayer):
        Call -[CALayer setAcceleratesDrawing:] on the newly created layer.

        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer setAcceleratesDrawing:]):
        (-[WebTileCacheLayer acceleratesDrawing]):
        Call through to the TileCache object.

2012-01-27  Raymond Toy  <rtoy@google.com>

        Round time to sample frame
        https://bugs.webkit.org/show_bug.cgi?id=76659

        Three major changes:

        1. Modify timeToSampleFrame to round the time to the sample frame
        and add support for Visual Studio to round the time in the same
        way as on gcc. (The issue is that Visual Studio uses x87
        instructions with 80-bit floats.)  This makes Visual Studio more
        consistent with the results with gcc.

        2. Change the current time variable from keeping time in seconds
        to keeping time in sample frames.  This minimizes rounding except
        when needed for the Javascript API.

        3. Update AudioBufferSourceNode::process to use samples (instead
        of time) as much as possible to reduce round-off effects.

        Reviewed by Kenneth Russell.

        Tests: Added note-grain-on test to exercise precise
        timing. Existing tests (gain and audiobuffersource-playbackrate)
        also cover some of these changes, and the equalpower panner test is
        modified to enable the tests for the offset of the impulses.

        * platform/audio/AudioUtilities.cpp:
        (WebCore::AudioUtilities::timeToSampleFrame): Moved from
        AudioParamTimeLine and slightly modified, and updated to round
        operations consistently.  Add special flags for Visual Studio to
        generate code with rounding that is consistent with gcc.
        * platform/audio/AudioUtilities.h: Declare new function.
        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::process): Use new functions to
        convert time to sample frame.  Update code to use integer
        arithmetic as much as possible.
        (WebCore::AudioBufferSourceNode::renderFromBuffer): Use
        timeToSampleFrame to convert time to sample frame.
        * webaudio/AudioContext.h: Define new currentSample method to get
        the current sample.
        * webaudio/AudioDestinationNode.cpp:
        (WebCore::AudioDestinationNode::provideInput): Use new function to
        convert sample frame to time.  Update
        * webaudio/AudioDestiationNode.h: Rename m_currentTime to
        m_currentSample, add method to return current Sample.  Update
        currentTime() method to compute time from the current sample.
        * webaudio/AudioParamTimeline.cpp:
        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Remove
        timeToSampleFrame and use new function in AudioUtilities to
        convert time to sample frame.

2012-01-27  Adrienne Walker  <enne@google.com>

        [chromium] Don't ever skip drawing the non-composited content layer
        https://bugs.webkit.org/show_bug.cgi?id=77236

        Reviewed by James Robinson.

        Since the root layer has its textures potentially reserved last in a
        front-to-back iteration, don't ever skip drawing it if we can't
        reserve its textures. Instead, checkerboard and draw background color
        quads instead to fill the viewport. This behavior is tied to the
        backgroundFillsViewport setting.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::reset):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):

2012-01-27  Martin Robinson  <mrobinson@igalia.com>

        Fix a warning in the GTK+ build.

        Reviewed by Gustavo Noronha Silva.

        No new tests. This should not change behavior.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::platformStart): Use reinterpet_cast to convert X11 Windows into void pointers.

2012-01-27  Tien-Ren Chen  <trchen@chromium.org>

        [chromium] CCLayerTreeHostImpl minor code cleanup
        https://bugs.webkit.org/show_bug.cgi?id=77181

        Fix a typo in comments and group functions properly.
        Replace duplicated content size code with function.

        Reviewed by James Robinson.

        No new tests. No change in behavior.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
        (WebCore::CCLayerTreeHostImpl::contentSize):
        (WebCore):
        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImpl):

2012-01-27  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed. Build fix, add missing header.

        * rendering/svg/SVGImageBufferTools.h:

2012-01-27  Victor Carbune  <victor@rosedu.org>

        Added the GenericEventQueue class in order to generalize asynchronous
        event dispatching in HTMLMediaElement.

        In order to support asynchronous events dispatched by HTMLTrackElement
        there is a need for a generalized implementation of an event queue to
        be used for both HTMLMediaElement and Text Tracks.

        https://bugs.webkit.org/show_bug.cgi?id=76110

        Reviewed by Eric Carlson.

        No new tests. No new functionality, only refactoring.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

        * dom/GenericEventQueue.cpp: Added. Implements the abstract class EventQueue.
        (WebCore::GenericEventQueue::GenericEventQueue):
        (WebCore::GenericEventQueue::~GenericEventQueue):
        (WebCore::GenericEventQueue::enqueueEvent): Append an event to the current
        pending event list.
        (WebCore::GenericEventQueue::cancelEvent): Removes an event from the current
        pending event list.
        (WebCore::GenericEventQueue::timerFired): Callback method when the timer fires.
        Dispatches all events that are currently pending.
        (WebCore::GenericEventQueue::close): Closes the event queue such that it cannot
        be used anymore.
        (WebCore::GenericEventQueue::cancelAllEvents): Removes all pending events.
        (WebCore::GenericEventQueue::hasPendingEvents): True if there are pending events.
        * dom/GenericEventQueue.h: Added.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        (WebCore::HTMLMediaElement::scheduleEvent): Refactored method to enqueue
        the scheduled event on the GenericEventQueue instance.
        (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): Ditto.
        (WebCore::HTMLMediaElement::hasPendingActivity): Ditto.
        (WebCore::HTMLMediaElement::dispatchEvent): This method is overriden
        to keep an evidence when a canPlay event is fired.
        * html/HTMLMediaElement.h:

2012-01-27  Martin Robinson  <mrobinson@igalia.com>

        Fix a warning in the GTK+ build.

        Reviewed by Gustavo Noronha Silva.

        No new tests. This should not change behavior.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::platformStart): Use reinterpet_cast to convert X11 Windows into void pointers.

2012-01-27  Benjamin Poulain  <bpoulain@apple.com>

        Speed up the prefix matching of cssPropertyName()
        https://bugs.webkit.org/show_bug.cgi?id=77158

        Reviewed by Geoffrey Garen.

        This patch improves the performance by:
        -not checking the PropertyName with all 7 prefix
         (now, in the worse case, 2 prefixes are checked)
        -avoiding the conversion 8bits->16bits by using String::operator[]
         instead of ::characters()

        To avoid checking every prefix, the code branch based on the first
        characters of the propertyName.
        The remaining of the prefix is checked character by characters like before.

        When accessing CSS property, this gives a 13% improvement when there is no prefix.
        There is no performance regression for the matching of prefix, including for the first one
        of the previous matching code ("css").

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        ():
        (WebCore::matchesCSSPropertyNamePrefix):
        (WebCore):
        (WebCore::getCSSPropertyNamePrefix):
        (WebCore::cssPropertyName):

2012-01-27  Ken Buchanan  <kenrb@chromium.org>

        Crash in updateFirstLetter() from unnecessary anonymous block
        https://bugs.webkit.org/show_bug.cgi?id=72675

        Reviewed by David Hyatt.

        There was a problem with anonymous blocks not getting removed when
        their only block flow siblings are removed if they also have non-block
        flow first-letter siblings (i.e. floats). This patch modifies
        RenderBlock::removeChild() to look for this situation and strip out
        unnecessary anonymous container blocks if it occurs.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild):
        (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::collapseAnonymousBoxChild): Added

2012-01-27  Fady Samuel  <fsamuel@chromium.org>

        Rename shouldLayoutFixedElementsRelativeToFrame and make it a setting
        https://bugs.webkit.org/show_bug.cgi?id=76459

        Reviewed by Darin Fisher.

        This should be a setting because it is independent of a particular frame and
        should be preserved even if the mainframe changes.

        Renamed (set)ShouldLayoutFixedElementsRelativeToFrame to 
        (set)FixedElementsLayoutRelativeToFrame due to the connotation
        the word "should" may have in this context: If set, 
        position:fixed elements will ALWAYS be laid out relative to the frame.


        * WebCore.exp.in:
        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        (WebCore::FrameView::scrollXForFixedPosition):
        (WebCore::FrameView::scrollYForFixedPosition):
        (WebCore::FrameView::fixedElementsLayoutRelativeToFrame):
        (WebCore):
        * page/FrameView.h:
        (FrameView):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setFixedElementsLayoutRelativeToFrame):
        (WebCore):
        * page/Settings.h:
        (Settings):
        (WebCore::Settings::fixedElementsLayoutRelativeToFrame):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::fixedElementLaysOutRelativeToFrame):
        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
        * rendering/RenderBox.h:
        (RenderBox):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::setFixedElementsLayoutRelativeToFrame):
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-01-27  Kentaro Hara  <haraken@chromium.org>

        Support the [Supplemental] IDL for constants
        https://bugs.webkit.org/show_bug.cgi?id=77228

        Reviewed by Adam Barth.

        We have supported the [Supplemental] IDL for attributes and methods.
        This patch supports it for constants.

        Test: bindings/scripts/test/TestSupplemental.idl

        * bindings/scripts/generate-bindings.pl:
        Supported [Supplemental] constants.
        Updated some comments.

        * bindings/scripts/test/TestSupplemental.idl:
        Added test cases for [Supplemental] constants.

        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Updated the test results.
        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
        (WebCore::JSTestInterfacePrototype::getOwnPropertySlot):
        (WebCore::JSTestInterfacePrototype::getOwnPropertyDescriptor):
        (WebCore):
        (WebCore::jsTestInterfaceSUPPLEMENTAL_CONSTANT1):
        (WebCore::jsTestInterfaceSUPPLEMENTAL_CONSTANT2):
        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
        (WebCore::ConfigureV8TestInterfaceTemplate):

2012-01-27  Anders Carlsson  <andersca@apple.com>

        When threaded scrolling is enabled for a FrameView, always put scrollbars in layers
        https://bugs.webkit.org/show_bug.cgi?id=77232
        <rdar://problem/10766708>

        Reviewed by Beth Dakin.

        * page/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
        * page/ScrollingCoordinator.h:
        Add a new helper function.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::shouldCompositeOverflowControls):
        Make this take a FrameView, check with the scrolling coordinator if the overflow controls should be composited.

        (WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer):
        (WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer):
        (WebCore::RenderLayerCompositor::requiresScrollCornerLayer):
        Update for the change to make shouldCompositeOverflowControls take a FrameView.

2012-01-24  Vincent Scheib  <scheib@chromium.org>

        Pointer Lock: Implement pointer interface
        https://bugs.webkit.org/show_bug.cgi?id=75762

        Reviewed by Julien Chaffraix.

        Implement the navigator.pointer interface via a new
        PointerLockController class, as per
        http://dvcs.w3.org/hg/webevents/raw-file/default/mouse-lock.html.

        The implementation is being made in steps, the feature is still behind
        compile-time and run-time flags, 'webkit' prefixed, and not yet enabled
        in any browser. (Chromium has a developer flag required.) Follow-up
        work will include handling DOM elements being removed, making all
        callbacks asynchronous, iframe permissions (similar to Full Screen),
        etc.

        PointerLockController maintains state of which Element is the current
        lock target and the success and failure callbacks. ChromeClient has
        methods added to expose the required state change requests.

        Tests: pointer-lock/lock-already-locked.html
               pointer-lock/lock-fail-responses.html
               pointer-lock/mouse-event-delivery.html
               pointer-lock/pointerlocklost-event.html

        * WebCore.gypi:
        * dom/EventNames.h:
        * page/ChromeClient.h:
        (WebCore::ChromeClient::requestPointerLock):
        (WebCore::ChromeClient::requestPointerUnlock):
        (WebCore::ChromeClient::isPointerLocked):
        * page/Navigator.cpp:
        (WebCore::Navigator::webkitPointer):
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        (WebCore::Page::pointerLockController):
        * page/PointerLock.cpp:
        (WebCore::PointerLock::PointerLock):
        (WebCore::PointerLock::create):
        (WebCore::PointerLock::lock):
        (WebCore::PointerLock::unlock):
        (WebCore::PointerLock::isLocked):
        * page/PointerLock.h:
        (WebCore::PointerLock::create):
        * page/PointerLockController.cpp: Added.
        (WebCore::PointerLockController::PointerLockController):
        (WebCore::PointerLockController::requestPointerLock):
        (WebCore::PointerLockController::requestPointerUnlock):
        (WebCore::PointerLockController::isLocked):
        (WebCore::PointerLockController::didAcquirePointerLock):
        (WebCore::PointerLockController::didNotAcquirePointerLock):
        (WebCore::PointerLockController::didLosePointerLock):
        (WebCore::PointerLockController::dispatchLockedMouseEvent):
        * page/PointerLockController.h: Copied from Source/WebCore/page/PointerLock.h.

2012-01-27  Abhishek Arya  <inferno@chromium.org>

        Crash in DocumentLoader::detachFromFrame.
        https://bugs.webkit.org/show_bug.cgi?id=62764

        Reviewed by Brady Eidson.

        r105556 didn't fix the crash because canceling the
        main resource loader blows away both the current
        document loader and frame underneath. Both protectors
        are also used in stopLoading() when m_mainResourceLoader->cancel()
        is called. Also, tested the fix under ASAN.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::detachFromFrame):

2012-01-27  Tony Chang  <tony@chromium.org>

        flexbox scrollbars don't take flex-direction into account
        https://bugs.webkit.org/show_bug.cgi?id=70772

        Reviewed by Darin Adler.

        This fixes a bug where we always used the logicalScrollbarHeight.
        For column flow, this was incorrect.

        Also fix a bug where we didn't include the trailing border+padding+scrollbar when computing the
        height of a column flow.

        Tests: css3/flexbox/cross-axis-scrollbar-expected.html
               css3/flexbox/cross-axis-scrollbar.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::crossAxisScrollbarExtent): Add a direction aware method for getting the scrollbar size.
        (WebCore):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use crossAxisScrollbarExtent.
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox):

2012-01-27  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebasedlined run-bindings-tests results.

        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
        (WebDOMTestInterface::supplementalMethod1):
        (WebDOMTestInterface::supplementalMethod2):

2012-01-27  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][WK2] Child layers appear in wrong position when scrolling
        https://bugs.webkit.org/show_bug.cgi?id=77063

        Reviewed by Simon Fraser.

        When using the delegatesScrolling mode in FrameView, the compositor doesn't need
        to control the special clip/scroll layers. Also, when we change that mode, we need to let
        the compositor reset its backing-stores and rebuild them without scrolling/clipping.

        This is tested by compositing tests, when run with Qt in touch mode.

        * page/FrameView.cpp:
        (WebCore::FrameView::delegatesScrollingDidChange):
        (WebCore):
        * page/FrameView.h:
        (FrameView):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setDelegatesScrolling):
        * platform/ScrollView.h:
        (WebCore::ScrollView::delegatesScrollingDidChange):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresScrollLayer):

2012-01-27  Thiago Marcos P. Santos  <tmpsantos@gmail.com>

        Removed unused method from CSSStyleSelector
        https://bugs.webkit.org/show_bug.cgi?id=77190

        Reviewed by Andreas Kling.

        * css/CSSStyleSelector.h:
        (CSSStyleSelector):

2012-01-27  Zeno Albisser  <zeno@webkit.org>

        [Qt][Mac] Build fails after adding ICU support (r105997).
        https://bugs.webkit.org/show_bug.cgi?id=77118

        Use SmareReplaceCF.cpp code path if platform Mac.

        Reviewed by Tor Arne Vestbø.

        * Target.pri:

2012-01-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: detailed heap snapshot: Replace (Native objects) root element
        with '(Detached DOM trees)' and '(Document DOM trees)'
        https://bugs.webkit.org/show_bug.cgi?id=77201

        I think it'd be nice to replace one group containing all native objects with
        separate groups for different types of native objects.

        Reviewed by Yury Semikhatsky.

        * bindings/v8/RetainedDOMInfo.cpp:
        (WebCore::RetainedDOMInfo::GetGroupLabel):
        (WebCore):
        * bindings/v8/RetainedDOMInfo.h:
        (RetainedDOMInfo):

2012-01-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        <feImage> doesn't work with local references when using primitiveUnits="objectBoundingBox"
        https://bugs.webkit.org/show_bug.cgi?id=77205

        Reviewed by Antti Koivisto.

        Consider following testcase:
        <svg width="1000" height="500">
        <defs>
            <circle id="c" cx="50%" cy="50%" r="10%"/>
            <filter id="f" filterUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" primitiveUnits="objectBoundingBox">
                <feImage xlink:href="#c"/>
            </filter>
        </defs>
        <rect width="100" height="100" filter="url(#f)"/>
        </svg>

        The <svg> has a viewport of 1000x50. The <circle> in the <defs> element is resolved as <circle cx="500" cy="250" r="79"/>,
        as the context for this element (looking at it isolated!) is the viewport of the <svg>. We then setup a 0x0 - 100x100 rect
        in user space, which gets filtered, by a filter, also defined in user space (for simplicity), but with primitiveUnits="objectBoundingBox".

        That means that the default subregion of the filter effect <feImage/> which has no inputs, is defined in the SVG 1.1 spec to be equal to
        the filter region, which is 0x0-100x100 in user space. This <feImage/> is supposed to produce a 100x100 image, containing a circle in the
        middle (aka. <circle cx="50" cy="50".../>), but it doesn't, as the <circle> it's trying to paint, is laid out at 500x250, and thus outside
        the 100x100 sized image buffer.

        So how to resolve this?
        The RenderSVGShape thats owned by the <circle> generates its Path value by calling cx().value(lengthContext) and the SVGLengthContext here
        resolves to the <svg>. That happens on _layout_. If we would want to change the SVGLengthContext in this case (what I originally planned!)
        to carry a custom 100x100 viewport, we'd need to relayout. Unfortunately this is not an option, as this would mean that
        SVGImageBufferTools::renderSubtreeToImageBuffer, would need to relayout its children first, but we produce the filter images when painting.
        This is very dangerous and has just recently been fixed so that SVGImageBufferTools can ASSERT(!item->needsLayout()) when painting the
        subtree to an image buffer.

        The only sane solution I see, that does not require relayouts, is to make a map between the <circle> bounding box in user space (500x250
        center point) to the filter primitive subregion space (here: 100x100 center point), and concat that transformation before painting the
        subtree to the image buffer. Of course this approach only works if all values of the <circle> are relative. If someone uses
        <circle id="c" cx="50%" cy="666"> the transformation that I'm looking for is undefined. We'd really need to create a new Path here, to
        resolve only cx against the new viewport, and not cy.

        Though in practice it turns out this is not a problem. All use cases of feImage + primitiveUnits="objectBoundingBox" link to elements
        that are completely defined in percentual values, as this is really the only thing which makes sense - otherwise you can always switch
        back to primtiveUnits="userSpaceOnUse". Anyhow, I'm going to fix all known wild-life test cases by my approach, and say we don't support
        using mixed length units when referencing those elements from feImages with primitiveUnits="objectBoundingBox".

        Adding lots of new testcases, trying all the different feImage modes.

        Tests: svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg
               svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg
               svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg
               svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg
               svg/filters/feImage-position.svg
               svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg
               svg/filters/feImage-subregions-preseveAspectRatio-none.svg
               svg/filters/feImage-subregions.svg

        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): Reverse logic, simplifying the code a bit. Remove FEImage special cases (absoluteSubregion).
        * svg/SVGLengthContext.h: Make determineViewport() public, for use in FEImage.
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::determineAbsolutePaintRect): Don't apply preserveAspectRatio transformation for local elements, it's not defined and breaks content.
        (WebCore::FEImage::platformApplySoftware): Figure out the absolute subregion by utilizing filterPrimitiveSubregion() as FETurbulence does.
                                                   Map between filter primitive subregion and target object space for primitiveUnits="objectBoundingBox" support on SVG element references.
        * svg/graphics/filters/SVGFEImage.h: Remove absoluteSubregion member & setter, it's no longer needed.

2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Scripts panel: fix event dispatching between FileSelector and EditorContainer.
        https://bugs.webkit.org/show_bug.cgi?id=77126

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
        (WebInspector.ScriptsPanel.prototype._reset):
        (WebInspector.ScriptsPanel.prototype._showSourceLine):
        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
        (WebInspector.ScriptsPanel.prototype._editorClosed):
        (WebInspector.ScriptsPanel.prototype._editorSelected):
        (WebInspector.ScriptsPanel.FileSelector.prototype.revealUISourceCode):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.revealUISourceCode):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._innerRevealUISourceCode):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer):
        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
        (WebInspector.TabbedEditorContainer.prototype._tabSelected):
        (WebInspector.TabbedEditorContainer.prototype.reset):

2012-01-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        <feImage> DOM mutation problems
        https://bugs.webkit.org/show_bug.cgi?id=77198

        Reviewed by Antti Koivisto.

        Consider <feImage xlink:href="#rect"/>, where <rect> gets dynamically added to the tree.
        Currently <feImage> doesn't notice this, as it doesn't register itself pending on "#rect".

        Integrate <feImage> properly within the pending resources concept, fixing the bug.

        Tests: svg/filters/feImage-target-add-to-document.svg
               svg/filters/feImage-target-changes-id.svg
               svg/filters/feImage-target-id-change.svg
               svg/filters/feImage-target-reappend-to-document.svg
               svg/filters/feImage-target-remove-from-document.svg

        * svg/SVGFEImageElement.cpp: Rename invalidateImageResource to clearResourceReferences.
        (WebCore::SVGFEImageElement::~SVGFEImageElement): Call clearResourceReferences.
        (WebCore::SVGFEImageElement::clearResourceReferences): Remove any occurence of m_targetImage, it's no longer used.
        (WebCore::SVGFEImageElement::requestImageResource): requestImageResource is now called by buildPendingResource.
        (WebCore::SVGFEImageElement::buildPendingResource): Called whenever any element that we depend on gets resolved - now invalidates the <filter>.
        (WebCore::SVGFEImageElement::parseMappedAttribute): Don't start loading from parseMappedAttribute.
        (WebCore::SVGFEImageElement::svgAttributeChanged): Start loading from here, for consistency with SVGImageElement.
        (WebCore::SVGFEImageElement::insertedIntoDocument): Invoke buildPendingResource(), if we enter the tree.
        (WebCore::SVGFEImageElement::removedFromDocument): Clear m_cachedImage as soon as we get removed from the tree.
        (WebCore::SVGFEImageElement::build): Clean up this function, m_targetImage is no longer exist.
        * svg/SVGFEImageElement.h: Remove OwnPtr<ImageBuffer> m_targetImage, which is no longer used.

2012-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [Qt] WKTR: Use a software rendering pipiline when running tests.
        https://bugs.webkit.org/show_bug.cgi?id=76708

        Reviewed by Kenneth Rohde Christiansen.

        * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
        (WebCore::TextureMapperQt::setGraphicsContext):
        * platform/graphics/qt/TextureMapperQt.h:
        (WebCore::TextureMapperQt::initialize):

2012-01-27  Branimir Lambov  <blambov@google.com>

        SVG filters incorrectly move elements
        https://bugs.webkit.org/show_bug.cgi?id=73643

        Reviewed by Nikolas Zimmermann.

        Fixes SVG image buffer creation to use the enclosing integer rect
        instead of unstable rounded coordinates with scaling which was causing
        animated images to jump around under filters. The image buffer was not 
        aligned on a pixel boundary, and thus the positions and sizes of anything
        drawn under that filter changed by 1-2 pixels compared to the same
        elements drawn without an intermediate buffer, or drawn with a buffer
        with a different target rectangle. 
        
        The change improves the positioning of clip paths, masks and filters.

        Tests: svg/clip-path/clip-in-clip.svg
               svg/clip-path/clipper-placement-issue.svg
               svg/filters/filter-placement-issue.svg

        * platform/graphics/filters/FETile.cpp:
        (WebCore::FETile::platformApplySoftware):
        * rendering/svg/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource):
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient):
        (WebCore::clipToTextMask):
        * rendering/svg/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource):
        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::createTileImage):
        * rendering/svg/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::createImageBuffer):
        (WebCore::SVGImageBufferTools::createImageBufferForPattern):
        (WebCore::SVGImageBufferTools::clipToImageBuffer):
        (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
        (WebCore::SVGImageBufferTools::clampedAbsoluteSize):
        * rendering/svg/SVGImageBufferTools.h:
        (WebCore::SVGImageBufferTools::calcImageBufferRect):

2012-01-25  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: should be possible to open function declaration from script popover
        https://bugs.webkit.org/show_bug.cgi?id=76913

        Added inferred/display function name and source location to the popover in scripts panel.
        Now when a function is hovered user can navigate to its definition.

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/function-details.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::functionDetails):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::functionDetailsCallback):
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::getFunctionDetails):
        * inspector/InjectedScript.h:
        (InjectedScript):
        * inspector/InjectedScriptHost.idl:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyFunctionLocation):
        * inspector/front-end/ObjectPopoverHelper.js:
        (WebInspector.ObjectPopoverHelper):
        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
        (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
        (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.fromPayload):
        (WebInspector.RemoteObject.prototype.get functionName):
        * inspector/front-end/scriptsPanel.css:
        (.function-location-link):
        (.function-popover-title):
        (.function-popover-title .function-name):

2012-01-26  Noel Gordon  <noel.gordon@gmail.com>

        Remove FIXME: ColorProfile encapsulation as a Vector<char> works well 
        https://bugs.webkit.org/show_bug.cgi?id=77176

        Reviewed by Adam Barth.

        No new tests. No change in behavior.

        * platform/image-decoders/ImageDecoder.h:

2012-01-26  Matthew Delaney  <mdelaney@apple.com>

        ImageBuffer::draw should deep copy if drawing to an accelerated context
        https://bugs.webkit.org/show_bug.cgi?id=77185

        Reviewed by Simon Fraser.

        No new tests since any test for this issue would be flaky at best.

        * platform/graphics/cg/ImageBufferCG.cpp: Deep copy when drawing ourself into
            an accelerated context for both draw and drawPattern.
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):

2012-01-26  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed. Build fixes.
        - Remove some constructors not generated by CPP bindings
          from being added to CPP binding headers
        - Keyboard event fixes after modifier changes
        - Add stubs for Language and RunLoop platform methods

        * bindings/scripts/CodeGeneratorCPP.pm:
        (GetNamespaceForClass):
        (GenerateImplementation):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/wx/KeyboardEventWx.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/wx/LanguageWx.cpp: Added.
        (WebCore):
        (WebCore::platformLanguage):
        (WebCore::platformUserPreferredLanguages):
        * platform/wx/RunLoopWx.cpp: Added.
        (WebCore):
        (WebCore::RunLoop::run):
        (WebCore::RunLoop::stop):
        (WebCore::RunLoop::RunLoop):
        (WebCore::RunLoop::~RunLoop):
        (WebCore::RunLoop::wakeUp):
        * storage/DOMWindowSQLDatabase.idl:
        * webaudio/DOMWindowWebAudio.idl:
        * websockets/DOMWindowWebSocket.idl:

2012-01-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105486.
        http://trac.webkit.org/changeset/105486
        https://bugs.webkit.org/show_bug.cgi?id=77182

        This patch doesn't take web workers into account. (Requested
        by dave_levin on #webkit).

        * html/DOMURL.cpp:
        (WebCore::DOMURL::DOMURL):
        (WebCore::DOMURL::~DOMURL):
        (WebCore::DOMURL::contextDestroyed):
        (WebCore):
        (WebCore::DOMURL::createObjectURL):
        (WebCore::DOMURL::revokeObjectURL):
        * html/DOMURL.h:
        (WebCore::DOMURL::create):
        (DOMURL):
        * html/DOMURL.idl:
        * page/DOMWindow.cpp:
        (WebCore):
        (WebCore::DOMWindow::webkitURL):
        * page/DOMWindow.h:
        (DOMWindow):
        ():
        * page/DOMWindow.idl:
        * workers/WorkerContext.cpp:
        (WebCore):
        (WebCore::WorkerContext::webkitURL):
        (WebCore::WorkerContext::webkitRequestFileSystem):
        * workers/WorkerContext.h:
        (WorkerContext):
        ():
        * workers/WorkerContext.idl:

2012-01-26  Noel Gordon  <noel.gordon@gmail.com>

        Cleanup JPEGImageDecoder includes
        https://bugs.webkit.org/show_bug.cgi?id=77171

        Reviewed by Adam Barth.

        No new tests. Refactoring cleanup only.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

2012-01-26  Tim Horton  <hortont424@gmail.com>

        3D transformed elements hide when showing the print dialog
        https://bugs.webkit.org/show_bug.cgi?id=45894
        <rdar://problem/7441593>

        Reviewed by Andy Estes.

        Suspend updates of the compositing layer tree while printing is taking place,
        preventing on-screen layers from moving to their print-mode positions.

        No new tests, as WebKitTestRunner doesn't support putting the document
        into printing mode.

        * page/FrameView.cpp:
        (WebCore::FrameView::syncCompositingStateForThisFrame):
        (WebCore::FrameView::paintContents):
        * platform/graphics/ca/LayerFlushScheduler.h:
        (WebCore::LayerFlushScheduler::isSuspended): Added.

2012-01-26  Pablo Flouret  <pablof@motorola.com>

        Fix bad code generated by the JSC idl code generator for [CachedAttribute] attributes
        https://bugs.webkit.org/show_bug.cgi?id=77165

        Reviewed by Oliver Hunt.

        Missing parameter in a call to deserialize() and using 'this' in the
        attribute accessor functions (which are static).

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        (NativeToJSValue):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjCachedAttribute1):
        (WebCore::jsTestObjCachedAttribute2):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::jsTestSerializedScriptValueInterfaceValue):

2012-01-26  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Allow modification of size of partially occluded quads during culling to reduce pixel overdraw.
        https://bugs.webkit.org/show_bug.cgi?id=76349

        Reviewed by James Robinson.

        Prior to this patch, draw culling either rejects a DrawQuad because it is completely
        occluded, or draws the entire quad (even if it is largely occluded). This patch
        attempts to reduce the number of pixels drawn by determining if a partially
        occluded DrawQuad can be resized to a smaller quad, based on what portion of the
        DrawQuad is actually visible, and performing that resizing where possible.

        Added cases to existing unit tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawTileQuad):
        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
        (WebCore::CCDrawQuad::CCDrawQuad):
        * platform/graphics/chromium/cc/CCDrawQuad.h:
        (WebCore::CCDrawQuad::setQuadVisibleRect):
        (WebCore::CCDrawQuad::quadVisibleRect):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::rectSubtractRegion):
        (WebCore::CCQuadCuller::cullOccludedQuads):

2012-01-26  Anders Carlsson  <andersca@apple.com>

        Scrollbars disappear when switching from legacy to overlay scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=77166

        Reviewed by Dan Bernstein.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollbarStyleChanged):
        Call positionScrollbarLayers to make sure that the new scrollbar layers are positioned correctly.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
        Call ScrollbarThemeMac::setNewPainterForScrollbar after making the call to the scrollbar painter controller
        to set the horizontal or vertical imp, since setting the imp will reset the knob style.

2012-01-26  Adam Barth  <abarth@webkit.org>

        NULL ptr in WebCore::ContainerNode::parserAddChild
        https://bugs.webkit.org/show_bug.cgi?id=76258

        Reviewed by Eric Seidel.

        Test: fast/parser/nested-fragment-parser-crash.html

        We always need a parent element to attach to.  In crazy cases, we can
        have elements in the stack of open elements that are already detached
        from the DOM.  In those cases, they don't have a parent, so we aren't
        able to enforce the maximum DOM depth.  (Fortunately, they're not
        attached to the DOM anymore so we don't need to enforce the maximum DOM
        depth!)

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attachLater):
        (WebCore::HTMLConstructionSite::fosterParent):

2012-01-26  Cris Neckar  <cdn@chromium.org>

        The registration of schemes is currently racey as they are not registered from the main thread. 
        Getting rid of the assert that ensures that we are registering from the main thread until we can fix this.

        Thank you ap@webkit for helping us identify this.

        https://bugs.webkit.org/show_bug.cgi?id=77160

        Reviewed by Adam Barth.

        * platform/SchemeRegistry.cpp:
        (WebCore::CORSEnabledSchemes):

2012-01-26  Anders Carlsson  <andersca@apple.com>

        We don't need to always repaint overlay scrollbars if they're in layers
        https://bugs.webkit.org/show_bug.cgi?id=77159

        Reviewed by Beth Dakin.

        If a scrollable area has overlay scrollbars we'll always invalidate both scrollbars, regardless of
        whether both scroll offsets actually change since they're translucent and we want to draw the new page
        contents underneath.
        
        However, if the scrollbars are painted into GraphicsLayers they'll be composited by the GPU, and so we don't
        need to repaint them unless the corresponding scroll offset actually changes (which is handled in Scrollbar::updateThumb).

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):

2012-01-26  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: WebCore::IDBKey objects are leaked
        https://bugs.webkit.org/show_bug.cgi?id=77114

        Reviewed by Tony Chang.

        Fixing memory leaks, no new tests.

        * storage/IDBKey.h:
        (WebCore::IDBKey::createInvalid):
        (WebCore::IDBKey::createNumber):
        (WebCore::IDBKey::createString):
        (WebCore::IDBKey::createDate):
        (WebCore::IDBKey::createArray):

2012-01-25  Cris Neckar  <cdn@chromium.org>

        Add a scheme registry for CORS requests. Allow simple CORS requests to be made to registered schemes.
        https://bugs.webkit.org/show_bug.cgi?id=77041

        Reviewed by Alexey Proskuryakov.

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
        * platform/SchemeRegistry.cpp:
        (WebCore::CORSEnabledSchemes):
        (WebCore):
        (WebCore::SchemeRegistry::registerCORSEnabledScheme):
        (WebCore::SchemeRegistry::isCORSEnabledScheme):
        * platform/SchemeRegistry.h:
        (SchemeRegistry):

2012-01-26  Noel Gordon  <noel.gordon@gmail.com>

        File extension for webp files is .webp
        https://bugs.webkit.org/show_bug.cgi?id=76982

        Reviewed by Adam Barth.

        No new tests. No change in behavior.

        * platform/image-decoders/webp/WEBPImageDecoder.h:
        (WebCore::WEBPImageDecoder::filenameExtension):

2012-01-26  Alok Priyadarshi  <alokp@chromium.org>

        [chromium] Remove dead and unnecessary code related to LayerChromium::cleanupResources
        https://bugs.webkit.org/show_bug.cgi?id=77137

        Reviewed by James Robinson.

        No new test needed. Only removing dead code.

        * platform/graphics/chromium/LayerChromium.cpp:
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::layerTreeHost):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::setLayerTreeHost):

2012-01-26  Anders Carlsson  <andersca@apple.com>

        Move horizontal rubber-band checks to ScrollElasticityController::handleWheelEvent
        https://bugs.webkit.org/show_bug.cgi?id=77147

        Reviewed by Adam Roben.

        * platform/mac/ScrollAnimatorMac.h:
        (ScrollAnimatorMac):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleWheelEvent):
        Always call ScrollElasticityController::handleWheelEvent, and only call didBeginScrollGesture and
        didEndScrollGesture if the event was actually handled.

        (WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):
        Implement this.

        * platform/mac/ScrollElasticityController.h:
        * platform/mac/ScrollElasticityController.mm:
        (WebCore::ScrollElasticityController::handleWheelEvent):
        Check if we should rubber-band and return false if we shouldn't.

        (WebCore::ScrollElasticityController::shouldRubberBandInHorizontalDirection):
        Ask the client if we should rubber-band.

2012-01-19  James Robinson  <jamesr@chromium.org>

        [chromium] Remove setLayerTreeHost nonsense on lost context
        https://bugs.webkit.org/show_bug.cgi?id=76675

        Reviewed by Kenneth Russell.

        This code isn't needed any more. On a lost context event, we drop all TextureManager-managed textures through
        the proxy and no layer types need special lost context handling.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):

2012-01-26  Anders Carlsson  <andersca@apple.com>

        Simplify checking of whether we should rubberband horizontally
        https://bugs.webkit.org/show_bug.cgi?id=77141

        Reviewed by Adam Roben.

        Have a single check for horizontal rubber-banding in both directions. This is in preparation
        for moving this code into ScrollElasticityController.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::shouldRubberBandInHorizontalDirection):
        (WebCore::ScrollAnimatorMac::handleWheelEvent):

2012-01-26  Scott Graham  <scottmg@chomium.org>

        Fix include path in gyp file for V8InternalSettings.h
        https://bugs.webkit.org/show_bug.cgi?id=77128

        Reviewed by Kent Tamura.

        * WebCore.gyp/WebCore.gyp:

2012-01-26  James Robinson  <jamesr@chromium.org>

        We shouldn't synchronously update styles on all documents after running script
        https://bugs.webkit.org/show_bug.cgi?id=46761

        Reviewed by Simon Fraser.

        Currently we call Document::updateStyleForAllDocuments() after invoking any event or timeout handler. This is
        slow since it iterates over the entire document tree and defeats our recalcStyle timer batching. It is
        unnecessary as any code that depends on styles or the render tree being up to date must call
        updateStyleIfNeeded() on the document it is accessing.

        The first reference I can find to this code is in r798 in the file WebCore/khtml/xml/domnode_impl.cpp. It's been
        cargo culted forward ever since.

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeScript):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::executeScriptInWorld):
        * bindings/js/ScriptController.h:
        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        * bindings/v8/ScriptController.h:
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::executeScript):
        * inspector/InspectorClient.cpp:
        (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):

2012-01-26  Anders Carlsson  <andersca@apple.com>

        Get rid of ScrollElasticityController::beginScrollGesture()
        https://bugs.webkit.org/show_bug.cgi?id=77138

        Reviewed by Adam Roben.

        ScrollElasticityController::handleWheelEvent now checks if the wheel event phase is
        PlatformWheelEventPhaseBegan and sets up the gesture state if it is.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleWheelEvent):
        * platform/mac/ScrollElasticityController.h:
        (ScrollElasticityController):
        * platform/mac/ScrollElasticityController.mm:
        (WebCore::ScrollElasticityController::handleWheelEvent):

2012-01-26  Anders Carlsson  <andersca@apple.com>

        Get rid of ScrollElasticityController::endScrollGesture()
        https://bugs.webkit.org/show_bug.cgi?id=77134

        Reviewed by Adam Roben.

        Just make ScrollElasticityController::handleWheelEvent call snapRubberBand if the wheel
        event phase is PlatformWheelEventPhaseEnded.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleWheelEvent):
        * platform/mac/ScrollElasticityController.h:
        (ScrollElasticityController):
        * platform/mac/ScrollElasticityController.mm:
        (WebCore::ScrollElasticityController::handleWheelEvent):

2012-01-26  Abhishek Arya  <inferno@chromium.org>

        Crash in SVGSVGElement::currentViewBoxRect.
        https://bugs.webkit.org/show_bug.cgi?id=77121

        Reviewed by Nikolas Zimmermann.

        Symbols shouldn't be rendered. Revert the ASSERT
        from r105513 into a hard check.

        Test: svg/custom/symbol-viewport-element-crash.svg

        * svg/SVGLengthContext.cpp:
        (WebCore::SVGLengthContext::determineViewport):

2012-01-26  Anders Carlsson  <andersca@apple.com>

        Inline beginScrollGesture/endScrollGesture in handleWheelEvent
        https://bugs.webkit.org/show_bug.cgi?id=77133

        Reviewed by Andreas Kling.

        * platform/mac/ScrollAnimatorMac.h:
        (ScrollAnimatorMac):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleWheelEvent):

2012-01-26  Anders Carlsson  <andersca@apple.com>

        No need to set m_haveScrolledSincePageLoad in beginScrollGesture
        https://bugs.webkit.org/show_bug.cgi?id=77132

        Reviewed by Andreas Kling.

        m_haveScrolledSincePageLoad is already set to true in handleWheelEvent so we don't need
        to set it to true again.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::beginScrollGesture):

2012-01-26  Anders Carlsson  <andersca@apple.com>

        Simplify checking for whether we should rubberband or not when at the edge
        https://bugs.webkit.org/show_bug.cgi?id=77131

        Reviewed by Beth Dakin.

        We only need to check once if we're pinned at either edge whether we should rubber-band
        or not. Do this when the wheel event phase is PlatformWheelEventPhaseBegan. This lets us
        remove a bunch of code that would keep track of the current horizontal scroll direction.

        * platform/mac/ScrollAnimatorMac.h:
        (ScrollAnimatorMac):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::handleWheelEvent):
        (WebCore::ScrollAnimatorMac::beginScrollGesture):

2012-01-26  Eli Fidler  <efidler@rim.com>

        [JSC] Inspector instrumentation for JavaScript calls.
        https://bugs.webkit.org/show_bug.cgi?id=40119

        Reviewed by Geoffrey Garen.

        Covered by existing Chromium inspector tests

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSMainThreadExecState.h:
        (WebCore::JSMainThreadExecState::instrumentedCall):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willCallFunctionImpl):

2012-01-26  Mike Reed  <reed@google.com>

        Signal to skia to force A8 text from LCD output, but only when we have to disable LCD because we're in a layer
        https://bugs.webkit.org/show_bug.cgi?id=76547

        Reviewed by Stephen White.

        Existing tests should confirm nothing is broken. Antialiased text
        is disabled in layouttests, so they should be unaffected by the
        difference in antialiasing quality.

        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::setupPaintForFont):


2012-01-26  Anders Carlsson  <andersca@apple.com>

        Use PlatformWheelEvent::phase() to determine if a scroll gesture begins or ends
        https://bugs.webkit.org/show_bug.cgi?id=77127

        Reviewed by Beth Dakin.

        * platform/mac/ScrollAnimatorMac.h:
        (ScrollAnimatorMac):
        Remove handleGestureEvent.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleWheelEvent):
        Look at the event phase to determine when to call didBeginGesture and didEndGesture.

2012-01-26  Benjamin Poulain  <benjamin@webkit.org>

        Using strncmp() for comparing scheme and port numbers is inefficient
        https://bugs.webkit.org/show_bug.cgi?id=75821

        Reviewed by Darin Adler.

        Replace the equal() function comparing 2 arbitrary strings by a template
        comparing the string to an array, character by character.

        This is only used for small strings: the schemes and the ports.

        * platform/KURL.cpp:
        (WebCore::equal):
        (WebCore::isDefaultPortForScheme):
        (WebCore::isNonFileHierarchicalScheme):
        (WebCore::isCanonicalHostnameLowercaseForScheme):

2012-01-26  Anders Carlsson  <andersca@apple.com>

        WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
        https://bugs.webkit.org/show_bug.cgi?id=77123

        Reviewed by Beth Dakin.

        * platform/PlatformWheelEvent.h:
        ():
        * platform/mac/PlatformEventFactoryMac.mm:
        (WebCore::phaseForEvent):

2012-01-26  Daniel Cheng  <dcheng@chromium.org>

        Revert code changes from r105800
        https://bugs.webkit.org/show_bug.cgi?id=77071

        The strings are already lowercased in EventHandler.cpp:findDropZone() so there's
        no need to call lower() again.

        Reviewed by Tony Chang.

        Covered by existing tests.

        * dom/Clipboard.cpp:
        (WebCore::Clipboard::hasDropZoneType):

2012-01-26  Stephen Chenney  <schenney@chromium.org>

        REGRESSION (r91125): Polyline tool in google docs is broken
        https://bugs.webkit.org/show_bug.cgi?id=65796

        Reviewed by Nikolas Zimmermann.

        It turns out that the CG problem is a design decision. The bounding code
        returns CGRectNull for cases where a bound is ill-defined, rather than the
        empty bound as expected.

        I'm also removing the workaround for isEmpty to get correct zero length paths.
        It is no longer necessary.

        Tested by existing layout tests.

        * platform/graphics/cg/PathCG.cpp: Removed path empty and path bound testing classes.
        (WebCore::Path::boundingRect): Added check for CGRectNull
        (WebCore::Path::fastBoundingRect): Added check for CGRectNull
        (WebCore::Path::strokeBoundingRect): Added check for CGRectNull
        (WebCore::Path::isEmpty): Reverted to former behavior, just using CGPathIsEmpty.
        (WebCore::Path::hasCurrentPoint): Reverted to former behavior, using isEmpty.
        (WebCore::Path::transform): Reverted to former behavior, using isEmpty.

2012-01-26  Andreas Kling  <awesomekling@apple.com>

        Refactor application of additional style attributes for table elements.
        <http://webkit.org/b/77095>

        Reviewed by Darin Adler.

        The primary purpose of this change is to reduce usage of CSSMappedAttributeDeclaration.
        Instead of using the mapped attribute decl table for additional table style, just use
        regular CSSMutableStyleDeclarations. We cache them all globally, except for the style
        that's shared between a table's cells. That one is cached per-table since it depends
        on the table's border and padding.

        * dom/CSSMappedAttributeDeclaration.cpp:
        (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
        * dom/MappedAttributeEntry.h:

            Remove the concept of persistent CSSMappedAttributeDeclarations. The hunk in
            ~CSSMappedAttributeDeclaration was wildly wrong since it would leave stale pointers
            in the decl table, but unreachable since we always leaked one ref to those decls.

        * dom/StyledElement.h:
        (WebCore::StyledElement::additionalAttributeStyle):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::additionalAttributeStyle):
        * html/HTMLTableCellElement.h:
        (HTMLTableCellElement):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::additionalAttributeStyle):
        * html/HTMLTableColElement.h:
        (HTMLTableColElement):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::parseMappedAttribute):
        (WebCore::leakBorderStyle):
        (WebCore::HTMLTableElement::additionalAttributeStyle):
        (WebCore::HTMLTableElement::createSharedCellStyle):
        (WebCore::HTMLTableElement::additionalCellStyle):
        (WebCore::leakGroupBorderStyle):
        (WebCore::HTMLTableElement::additionalGroupStyle):
        * html/HTMLTableElement.h:
        (HTMLTableElement):
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
        * html/HTMLTableSectionElement.h:
        (HTMLTableSectionElement):

            Instead of collecting additional style decls into a vector, switch over to a
            "PassRefPtr<CSSMutableStyleDeclaration> additionalAttributeStyle()".
            All style declarations that can be reused for all elements are cached at the return
            sites, leaving only the shared table cell style which we cache on HTMLTableElement.
            Also removed the canHaveAdditionalAttributeStyleDecls() virtual since the default
            additionalAttributeStyle() will just return 0.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchAllRules):

            Updated for the new additional style conventions.

2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Scripts panel editor container should be based on UISourceCode objects, not SourceFrames.
        https://bugs.webkit.org/show_bug.cgi?id=77098

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsNavigator.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
        (WebInspector.ScriptsPanel.prototype.get visibleView):
        (WebInspector.ScriptsPanel.prototype.viewForFile):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
        (WebInspector.EditorContainer):
        (WebInspector.EditorContainer.prototype.get visibleView):
        (WebInspector.EditorContainer.prototype.showFile):
        (WebInspector.EditorContainer.prototype.setFileIsDirty):
        (WebInspector.EditorContainer.prototype.replaceFiles):
        (WebInspector.EditorContainer.prototype.reset):
        (WebInspector.EditorContainerDelegate):
        (WebInspector.EditorContainerDelegate.prototype.viewForFile):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.replaceUISourceCodes):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.get visibleView):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.setFileIsDirty):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceFiles):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer):
        (WebInspector.TabbedEditorContainer.prototype.get visibleView):
        (WebInspector.TabbedEditorContainer.prototype._titleForFile):
        (WebInspector.TabbedEditorContainer.prototype._tooltipForFile):
        (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
        (WebInspector.TabbedEditorContainer.prototype._tabSelected):
        (WebInspector.TabbedEditorContainer.prototype.replaceFiles.get if):
        (WebInspector.TabbedEditorContainer.prototype.replaceFiles):
        (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty.get if):
        (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty):
        (WebInspector.TabbedEditorContainer.prototype.reset):

2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVG + <object> tests are flakey
        https://bugs.webkit.org/show_bug.cgi?id=77099

        Reviewed by Andreas Kling.

        Bug 76447 changed the way RenderSVGRoot figures out its size. Previously RenderSVGRoot directly called out to the
        ownerRenderer (RenderEmbeddedObject) to compute its replaced size when embedded through eg. <object> element,
        which was quite hacky. It now relies on the ownerRenderers availableLogicalWidth/Height to be correctly set,
        which requires that the ownerRenderer is always laid out before the RenderSVGRoot and not the other way round.

        This is the source of current flakiness bugs.

        In trunk FrameView contains several special hacks, to layout the ownerRenderers view, after the RenderSVGRoots view
        finished layout. This worked without flakiness as RenderSVGRoot used to directly call computeReplacedLogicalWidth/Height
        on the ownerRenderer, which is now gone. Fortunately we can keep the new design, and can remove all hacks out of
        RenderSVGRoot/FrameView, if we can guarantee that the ownerRenderer FrameView is laid out before the RenderSVGRoot FrameView.

        This is a much less error-prone approach as the previous one. This lets us run nrwt --tolerance 0 -p svg -g again,
        without 100% reproducable failing svg/wicd tests. (There's still one unrelated error, before guard malloc mode passes fully).

        Test: svg/wicd/sizing-flakiness.html (Adjusted version of the rightsizing test, made to fail with trunk w/o this patch.)

        * page/FrameView.cpp: Remove m_inLayoutParentView.
        (WebCore::FrameView::FrameView): Remove no longer needed m_inLayoutParentView.
        (WebCore::FrameView::forceLayoutParentViewIfNeeded): Simplify, no need to call updateWidgetPositions anymore, nor to clear/query flags in RenderSVGRoot.
        (WebCore::FrameView::layout): Call forceLayoutParentViewIfNeeded() before laying out the embedded document, to guarantee the correct order.
        * page/FrameView.h:
        (FrameView): Remove m_inLayoutParentView.
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument.
        (WebCore::resolveLengthAttributeForSVG): Remove outcommented code, that went in by accident.
        (WebCore::RenderSVGRoot::layout): Remove m_needsSizeNegotiationWithHostDocument handling which is now incorrect and no longer needed.
        * rendering/svg/RenderSVGRoot.h:
        (RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument + accessors.

2012-01-23  Andreas Kling  <awesomekling@apple.com>

        Make elements that don't have attributes smaller.
        <http://webkit.org/b/76876>

        Reviewed by Antti Koivisto.

        Move the inline style declaration from StyledElement to NamedNodeMap, since having
        an inline style declaration also implies having a style attribute on the element.
        This saves one CPU word per element that has no attributes.

        This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
        HTML5 spec at <http://whatwg.org/c>.

        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::ensureInlineStyleDecl):
        (WebCore::NamedNodeMap::destroyInlineStyleDecl):
        (WebCore::NamedNodeMap::createInlineStyleDecl):
        * dom/NamedNodeMap.h:
        (WebCore::NamedNodeMap::inlineStyleDecl):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateStyleAttribute):
        (WebCore::StyledElement::addSubresourceAttributeURLs):
        * dom/StyledElement.h:
        (WebCore::StyledElement::inlineStyleDecl):
        (WebCore::StyledElement::ensureInlineStyleDecl):
        (WebCore::StyledElement::destroyInlineStyleDecl):

2012-01-26  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        [Qt] Use ICU if available
        https://bugs.webkit.org/show_bug.cgi?id=76821

        Reviewed by Simon Hausmann.

        Adding correct sources to a Qt 5 based build.

        No new tests, it's just a build dependency change.

        * Target.pri:

2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix mac build after r105988.

        * WebCore.exp.in:

2012-01-26  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>

        [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission
        https://bugs.webkit.org/show_bug.cgi?id=42545

        Reviewed by Zoltan Herczeg.

        No need for new tests, there is no behavior change.

        Added a line to file which copies the forwarding headers.

        * WebCore.vcproj/copyForwardingHeaders.cmd:

2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix Qt build after r105978.

        * rendering/svg/RenderSVGResourceClipper.cpp: Add missing Frame/FrameView includes.
        * rendering/svg/RenderSVGResourceSolidColor.cpp: Ditto.
        * rendering/svg/SVGInlineTextBox.cpp: Ditto.
        * rendering/svg/SVGRenderSupport.cpp: Ditto.

2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix non-AllInOne builds after r105978.

        * rendering/svg/RenderSVGResource.cpp:

2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed inspector closure compilation fix.

        * inspector/front-end/externs.js:
        (WebInspector.closeDrawerView):

2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix release builds after r105978.

        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paintSelectionBackground): Remove unused variable.

2012-01-26  Kent Tamura  <tkent@chromium.org>

        Unreviewed, rolling out r105968.
        http://trac.webkit.org/changeset/105968
        https://bugs.webkit.org/show_bug.cgi?id=76995

        Incorrect behavior change

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setIndeterminate):

2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        crash in WebCore::RenderSVGContainer::paint
        https://bugs.webkit.org/show_bug.cgi?id=69714

        Reviewed by Dirk Schulze.

        When RenderSVGResourceClipper draws its children to a mask, it requires some special constraints:
        - fill-opacity/stroke-opacity/opacity forced to 1
        - masker/filter resources shouldn't be applied to the children
        - fill must be set to the initial fill paint server for all children (solid black)
        - stroke must be set to the initial stroke paint server for all children (none)

        This was achieved before by mutating the style of the children, which made them need a relayout.
        SVGImageBufferTools:renderSubtreeToImageBuffer thus needed to layout the children, if needed, before painting.

        This can be completly avoided, when changing RenderSVGResourceClipper to avoid style mutations.
        Introduce a new "PaintBehaviorRenderingSVGMask", and set the current FrameViews paintBehaviour to this
        state, before painting the subtree. This way we can detect that we're rendering a clip mask, without
        having to mutate the style of the children and without having to relayout.

        We can now ASSERT(!item->needsLayout()) in renderSubtreeToImageBuffer.

        Tests: svg/clip-path/clip-path-tspan-and-stroke.svg
               svg/custom/layout-loop.svg

        * rendering/PaintPhase.h:
        * rendering/svg/RenderSVGResource.cpp:
        (WebCore::requestPaintingResource):
        * rendering/svg/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
        (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
        (WebCore::RenderSVGResourceClipper::removeClientFromCache):
        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
        * rendering/svg/RenderSVGResourceClipper.h:
        * rendering/svg/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource):
        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
        * rendering/svg/RenderSVGResourceMasker.h:
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::createTileImage):
        * rendering/svg/RenderSVGResourceSolidColor.cpp:
        (WebCore::RenderSVGResourceSolidColor::applyResource):
        * rendering/svg/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paintSelectionBackground):
        (WebCore::SVGInlineTextBox::paint):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):

2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Try to fix Gtk build - JSShadowRoot.cpp can't be found, fix by looking for it in the derived sources.

        * GNUmakefile.list.am:

2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Improve user experience of advanced search panel closing.
        https://bugs.webkit.org/show_bug.cgi?id=76983

        Reviewed by Pavel Feldman.

        Added close button to search panel.
        Esc now closes the panel even when search filed has focus.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.AdvancedSearchController.prototype.close):
        (WebInspector.SearchView):
        (WebInspector.SearchView.prototype._onKeyDown):
        (WebInspector.SearchView.prototype._closeButtonPressed):
        * inspector/front-end/inspector.css:
        (.search-view .search-panel):
        (.search-view .search-panel button.search-close-button):
        * inspector/front-end/inspector.js:
        (WebInspector._escPressed):
        (WebInspector.closeDrawerView):

2012-01-26  Joe Thomas  <joethomas@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=76995.
        WebKit fails IETC :indeterminate and input type=radio test.

        As per the HTML spec http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#dom-input-indeterminate,
        only checkbox input type should respect the indeterminate state.
        Removed the support for indeterminate state for radio input types.

        Reviewed by Eric Seidel.

        Modified the existing test cases.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setIndeterminate): Indeterminate state is supported only for checkbox input type.

2012-01-25  Daniel Cheng  <dcheng@chromium.org>

        [chromium] Fix ClipboardChromium::validateFilename to actually operate on extensions
        https://bugs.webkit.org/show_bug.cgi?id=76996

        As it turns out, we were always calling validateFilename on a data object with an empty
        extension. Now we call it on an actual extension so that it's sanitized.

        Reviewed by Tony Chang.

        Unit test: webkit_unit_tests --gtest_filter=ClipboardChromium.*

        * WebCore.gypi:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::writeImageToDataObject):
        * platform/chromium/ClipboardChromium.h:
        (ClipboardChromium):
        * platform/chromium/ClipboardChromiumLinux.cpp: Removed.
        * platform/chromium/ClipboardChromiumPosix.cpp: Renamed from Source/WebCore/platform/chromium/ClipboardChromiumMac.cpp.
        (WebCore):
        (WebCore::isInvalidFileCharacter):
        (WebCore::ClipboardChromium::validateFilename):
        * platform/chromium/ClipboardChromiumWin.cpp:
        (WebCore):
        (WebCore::ClipboardChromium::validateFilename):

2012-01-25  James Robinson  <jamesr@chromium.org>

        [chromium] Rollout r100751, this mechanism does not work and is very slow
        https://bugs.webkit.org/show_bug.cgi?id=77055

        Unreviewed rollout of http://trac.webkit.org/changeset/100751. The refresh rate mechanism is not implemented,
        but it still triggers a very slow codepath and triggers races on some platforms.

        * platform/PlatformScreen.h:
        (WebCore):
        * platform/chromium/PlatformScreenChromium.cpp:
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        ():
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        (CCSettings):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::initializeImplOnImplThread):

2012-01-25  Mark Rowe  <mrowe@apple.com>

        Reapply Daniel Bates's build fix from r105847 after the exact same issue was reintroduced in r105930.
        
        Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105930>.
        (https://bugs.webkit.org/show_bug.cgi?id=75049)

        Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
        LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
        WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").

        * platform/KURL.h:
        (WebCore::KURL::innerURL):

2012-01-25  Eric Seidel  <eric@webkit.org>

        Unreviewed, rolling out r105940.
        http://trac.webkit.org/changeset/105940
        https://bugs.webkit.org/show_bug.cgi?id=76095

        Only half this change landed

        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:

2012-01-25  Mark Rowe  <mrowe@apple.com>

        Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.

        <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH

        Reviewed by David Kilzer.

        * Configurations/WebCore.xcconfig: Define NORMAL_WEBCORE_FRAMEWORKS_DIR, which contains
        the path where WebCore is normally installed. Update WEBCORE_FRAMEWORKS_DIR to point to
        the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Define
        NORMAL_PRODUCTION_FRAMEWORKS_DIR, which contains the path where our public frameworks
        are normally installed. Update PRODUCTION_FRAMEWORKS_DIR to point to the staged frameworks
        directory when USE_STAGING_INSTALL_PATH is set. Always set the framework's install name
        based on the normal framework location. This prevents an incorrect install name from being
        used when installing in to the staged frameworks directory. Look for our other frameworks
        in the staged frameworks directory when USE_STAGING_INSTALL_PATH is set.

2012-01-25  Eric Seidel  <eric@webkit.org>

        "text" and "URL" legacy clipboard types should not be case sensitive
        https://bugs.webkit.org/show_bug.cgi?id=76947

        Reviewed by Adam Barth.

        This matches the HTML5 spec which says the first thing to do is to lowercase
        the type before comparing.
        I also removed the stripping of whitespace since that is not part of the modern spec (and no tests failed as a result of removal).
        Turns out we already had a test for case sensitivity, but it was disabled on Mac
        so I just re-enabled it and have added failing expectations for the parts
        of the test we still fail.

        * platform/mac/ClipboardMac.mm:
        (WebCore::cocoaTypeFromHTMLClipboardType):
        (WebCore::ClipboardMac::getData):

2012-01-25  Eric Seidel  <eric@webkit.org>

        HTMLIsIndexElement should not expose HTMLInputElement properties
        https://bugs.webkit.org/show_bug.cgi?id=76095

        Reviewed by Adam Barth.

        document.createElement("isindex") should produce an HTMLUnknownElement
        per the HTML5 spec.  The parser automagically translates <isindex> into
        a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)

        This patch just removes our support for HTMLIsIndexElement.  The parser
        support was already in.  Having support for HTMLIsIndexElement was causing
        one of the IE TestCenter tests to fail.

        Test: fast/dom/HTMLIsIndexElement/prototype-chain.html

        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/gobject/GNUmakefile.am:
        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
        (WebKit::createHTMLElementWrapper):
        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap):
        * bindings/objc/DOMHTML.h:
        * bindings/objc/PublicDOMInterfaces.h:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLIsIndexElement.cpp: Removed.
        * html/HTMLIsIndexElement.h: Removed.
        * html/HTMLIsIndexElement.idl: Removed.
        * html/HTMLTagNames.in:
        * page/DOMWindow.idl:

2012-01-25  Eric Seidel  <eric@webkit.org>

        HTMLEmbedObject should match HTMLObjectElement by stopping any load when it is removed from beforeload
        https://bugs.webkit.org/show_bug.cgi?id=74360

        Reviewed by Adam Barth.

        Neither of these !renderer() checks is strictly necessary since requestObject()
        makes the same check.  However requestObject() asserts before it makes that
        check, so it makes sense to add the check to HTMLEmebedObject instead of
        removing the check from HTMLObjectElement.
        I also moved the protect RefPtr to before the beforeload dispatch since
        beforeload can remove the whole DOM element (as this test does) and
        thus I beleive the renderer() check could be checking free'd memory.

        Updated fast/dom/beforeload/remove-flash-in-beforeload-listener.html to test
        <embed> as well as <object>.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget):

2012-01-25  Kent Tamura  <tkent@chromium.org>

        Move focus/blur handling code of HTMLInputElement to InputType
        https://bugs.webkit.org/show_bug.cgi?id=76984

        Reviewed by Dimitri Glazkov.

        No new tests. Just a refactoring.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::handleFocusEvent):
        Move the code to PasswordInputType::handleFocusEvent().
        (WebCore::HTMLInputElement::handleBlurEvent):
        Move the code to TextFieldInputType::handleBlurEvent() and
        PasswordInputType::handleBlurEvent().
        * html/InputType.cpp:
        (WebCore::InputType::handleFocusEvent):
        * html/InputType.h:
        (InputType): Add handleFocusEvent().
        * html/PasswordInputType.cpp:
        (WebCore::PasswordInputType::handleFocusEvent):
        Move the code for type=password from HTMLInputElement::handleFocusEvent().
        (WebCore::PasswordInputType::handleBlurEvent):
        Move the code for tyep=password from HTMLInputElement::handleBlurEvent().
        * html/PasswordInputType.h:
        (PasswordInputType): Add handleFocusEvent() and handleBlurEvent().
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::handleBlurEvent):
        Move the code for text field types from HTMLInputElement::handleBlurEvent().
        * html/TextFieldInputType.h:
        (TextFieldInputType): Add handleBlurEvent().

2012-01-25  Adam Barth  <abarth@webkit.org>

        Node.cpp shouldn't duplicate QualifiedName parsing logic
        https://bugs.webkit.org/show_bug.cgi?id=76672

        Reviewed by Eric Seidel.

        I added this code out of ignorance that this logic already existed in
        Document.cpp.  In a future patch, we should consider moving it to
        QualifiedName.cpp.

        * dom/Node.cpp:
        (WebCore):
        (WebCore::Node::checkSetPrefix):

2012-01-25  Eric Seidel  <eric@webkit.org>

        Share more code between updateWidget implementations in HTMLEmbedElement and HTMLObjectElement
        https://bugs.webkit.org/show_bug.cgi?id=74340

        Reviewed by Adam Barth.

        I'm preparing to unify these two methods, and starting by sharing more code between them.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::guardedDispatchBeforeLoadEvent):
        * html/HTMLPlugInElement.h:

2012-01-25  Eric Uhrhane  <ericu@chromium.org>

        Add full support for filesystem URLs.
        https://bugs.webkit.org/show_bug.cgi?id=75049

        Reviewed by Adam Barth.

        No new tests; existing layout tests cover the basic functionality, and
        the new functionality won't be there until Chromium adds it.  This patch
        merely enables that, without changing behavior.

        * fileapi/EntryBase.cpp:
        (WebCore::EntryBase::toURL): Add missing escaping of URL path.

        * page/SecurityOrigin.cpp:
        (WebCore::extractInnerURL): Use innerURL member, if it's populated.

        * platform/KURL.h:
        (WebCore::KURL::innerURL): Add innerURL member.

        * platform/KURLGoogle.cpp:
        (WebCore::KURLGooglePrivate::KURLGooglePrivate):
        (WebCore::KURLGooglePrivate::operator=):
        Add copy constructor and operator=, which are now needed since
        m_innerURL needs special handling.
        (WebCore::KURLGooglePrivate::setUtf8):
        (WebCore::KURLGooglePrivate::setAscii):
        Add calls to initInnerURL.
        (WebCore::KURLGooglePrivate::initInnerURL):
        Add method to init/copy m_innerURL.
        (WebCore::KURLGooglePrivate::copyTo):
        Handle m_innerURL during copies.
        (WebCore::encodeWithURLEscapeSequences):
        Unescape %2F ['/'] in paths; it's much more readable, and it's safe.

        * platform/KURLGooglePrivate.h:
        (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.

2012-01-25  Daniel Cheng  <dcheng@chromium.org>

        [chromium] Refactor Clipboard invalidate for DataTransferItem/DataTransferItemList into a wrapper
        https://bugs.webkit.org/show_bug.cgi?id=76993

        We want to unify the backing data store for ClipboardChromium and DataTransferItems. For
        that, we want use a similar representation to DataTransferItem list inside
        ChromiumDataObject.  However, since ChromiumDataObject should be valid in scopes where
        Clipboard is not (e.g. default drag processing), we need to separate the clipboard
        invalidation logic into a wrapper class.

        Reviewed by Tony Chang.

        Covered by existing tests.

        * platform/chromium/ClipboardChromium.cpp:
        ():
        (WebCore::ClipboardChromium::items):
        * platform/chromium/DataTransferItemChromium.cpp:
        (WebCore::DataTransferItemChromium::getAsString):
        * platform/chromium/DataTransferItemListChromium.cpp:
        (WebCore::DataTransferItemListChromium::length):
        (WebCore::DataTransferItemListChromium::item):
        (WebCore::DataTransferItemListChromium::deleteItem):
        (WebCore::DataTransferItemListChromium::clear):
        (WebCore::DataTransferItemListChromium::add):

2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Divide TextureMapperNode.cpp to 3 files.
        https://bugs.webkit.org/show_bug.cgi?id=76660

         Reviewed by Kenneth Rohde Christiansen.

         Split the animation part of TextureMapperNode out to a separate file, called
         TextureMapperAnimation.
         Provide a clean interface for that class, that allows separating the internals of the scene
         painting from the internals of the animation interpolation.

         No new tests. Existing animation tests cover this.

         * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::addAnimation):
        (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
        (WebCore::GraphicsLayerTextureMapper::removeAnimation):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        (GraphicsLayerTextureMapper):
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::syncCompositingStateSelf):
        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
        (WebCore::TextureMapperNode::syncAnimations):
        (WebCore::TextureMapperNode::syncAnimationsRecursively):
        (WebCore::TextureMapperNode::syncCompositingState):
        * platform/graphics/texmap/TextureMapperNode.h:
        (TextureMapperNode):

2012-01-25  Hajime Morita  <morrita@google.com>

        ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
        https://bugs.webkit.org/show_bug.cgi?id=76863

        Reviewed by Dimitri Glazkov.

        Added a feature flag.

        No tests, it's a behid flag configuration change.

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105906.
        http://trac.webkit.org/changeset/105906
        https://bugs.webkit.org/show_bug.cgi?id=77038

        Breaks compositing/visibility/layer-visible-content.html and
        compositing/visibility/visibility-image-layers-dynamic.html
        (Requested by leviw|gardening on #webkit).

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

2012-01-25  Mike Fenton  <mifenton@rim.com>

        Page Up and Page Down mappings are backwards on BlackBerry port.
        https://bugs.webkit.org/show_bug.cgi?id=77021

        Fix Page Up and Page Down mappings as they are reversed.

        Reviewed by Antonio Gomes.

        * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
        (WebCore::keyIdentifierForBlackBerryCharacter):
        (WebCore::windowsKeyCodeForBlackBerryCharacter):

2012-01-25  Hajime Morita  <morrita@google.com>

        <content> should create HTMLContentElement object
        https://bugs.webkit.org/show_bug.cgi?id=76439

        Reviewed by Dimitri Glazkov.

        - Added HTMLContentElement.idl which has @select attribute.
        - Added "content" element.

        Both are behind ENABLE_SHADOW_DOM.

        Tests: fast/dom/shadow/content-element-api.html
               fast/dom/shadow/content-element-outside-shadow.html

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLTagNames.in:
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::contentTagName):
        (WebCore):
        (WebCore::HTMLContentElement::create):
        * html/shadow/HTMLContentElement.h:
        (HTMLContentElement):
        * html/shadow/HTMLContentElement.idl: Added.

2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105828.
        http://trac.webkit.org/changeset/105828
        https://bugs.webkit.org/show_bug.cgi?id=77036

        Caused many crashes in ClusterFuzz and PerformanceTests
        (Requested by inferno-sec on #webkit).

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        (RenderBlock):

2012-01-25  Shawn Singh  <shawnsingh@chromium.org>

        Fix the semantics of passing contentsVisible flag to GraphicsLayers
        https://bugs.webkit.org/show_bug.cgi?id=76975

        Reviewed by Simon Fraser.

        This patch is covered by existing tests, in particular
        compositing/visibility/layer-visible-content.html; its
        expectations are rebaselined.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

2012-01-25  Tony Chang  <tony@chromium.org>

        support overflow:auto and overflow:scroll in new flexbox
        https://bugs.webkit.org/show_bug.cgi?id=76953

        Reviewed by David Hyatt.

        Tests: css3/flexbox/flexbox-overflow-auto-expected.html
               css3/flexbox/flexbox-overflow-auto.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::addLayoutOverflow): In the case of reverse flexboxen, we can overflow up or to the left (like horizontal-bt or rtl content).
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): Call updateScrollInfoAfterLayout() to add overflow scrollbars.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): In row-reverse, offset the start of the content by the scrollbar.
        (WebCore::RenderFlexibleBox::layoutColumnReverse): In column-reverse, offset the start of the content by the scrollbar.
        * rendering/RenderFlexibleBox.h:
        (RenderFlexibleBox): Make isHorizontalFlow public.
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::isReverseFlexDirection): Convenience method.

2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105885.
        http://trac.webkit.org/changeset/105885
        https://bugs.webkit.org/show_bug.cgi?id=77027

        Causes assertions in Position. (Requested by leviw|gardening
        on #webkit).

        * dom/Position.cpp:
        (WebCore::Position::upstream):
        (WebCore::Position::downstream):
        * dom/PositionIterator.cpp:
        * dom/PositionIterator.h:
        (PositionIterator):
        * editing/htmlediting.cpp:
        (WebCore::nextCandidate):
        (WebCore::nextVisuallyDistinctCandidate):
        (WebCore::previousCandidate):
        (WebCore::previousVisuallyDistinctCandidate):

2012-01-25  Alexis Menard  <alexis.menard@openbossa.org>

        border-image should be implemented like a shorthand.
        https://bugs.webkit.org/show_bug.cgi?id=76697

        Reviewed by Tony Chang.

        Make sure that border-image is implemented like a shorthand : when we parse
        it we set the correct value to its longhands. The code was not doing it
        previously as we inherited the old implementation of -webkit-border-image which
        is not a shorthand but a regular property. It will then increase
        style.length for a given element as we now expand the longhands.
        The behavior stays the same for -webkit-border-image.

        Test: fast/css/border-image-style-length.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::BorderImageParseContext::BorderImageParseContext):
        (WebCore::BorderImageParseContext::commitWebKitBorderImage):
        (WebCore::BorderImageParseContext::commitBorderImage):
        (BorderImageParseContext):
        (WebCore::BorderImageParseContext::commitBorderImageProperty):
        (WebCore::CSSParser::parseBorderImage):
        * css/CSSParser.h:
        ():
        * css/CSSPropertyLonghand.cpp:
        (WebCore::initShorthandMap):
        * css/CSSStyleApplyProperty.cpp:
        ():
        (WebCore::ApplyPropertyExpanding::applyInheritValue):
        (WebCore::ApplyPropertyExpanding::applyInitialValue):
        (WebCore::ApplyPropertyExpanding::applyValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::mapNinePieceImage):
        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::ensurePropertyMap):
        (WebCore::addShorthandProperties):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::borderImageSlices):
        (WebCore::RenderStyleBitfields::borderImageWidth):
        (WebCore::RenderStyleBitfields::borderImageOutset):
        (RenderStyleBitfields):
        (WebCore::RenderStyleBitfields::setBorderImageSlices):
        (WebCore::RenderStyleBitfields::setBorderImageWidth):
        (WebCore::RenderStyleBitfields::setBorderImageOutset):

2012-01-23  MORITA Hajime  <morrita@google.com>

        [Refactoring][Internals] Should have InternalSettings
        https://bugs.webkit.org/show_bug.cgi?id=76424

        Reviewed by Kent Tamura.

        This change extracted setting related method from window.internals
        to window.internals.settings object.
        - Invoked Internals::reset() in the constructor to employ Document object.
        - Moved setting and configuration related Internals methods to
          newly introduced InternalSettings object.

        No new tests, covered by existing tests.

        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.vcproj/WebCoreTestSupport.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * testing/InternalSettings.cpp: Added.
        (WebCore::InternalSettings::create):
        (WebCore::InternalSettings::~InternalSettings):
        (WebCore::InternalSettings::InternalSettings):
        (WebCore::InternalSettings::settings):
        (WebCore::InternalSettings::document):
        (WebCore::InternalSettings::page):
        (WebCore::InternalSettings::setInspectorResourcesDataSizeLimits):
        (WebCore::InternalSettings::setForceCompositingMode):
        (WebCore::InternalSettings::setAcceleratedFiltersEnabled):
        (WebCore::InternalSettings::setEnableCompositingForFixedPosition):
        (WebCore::InternalSettings::setEnableCompositingForScrollableFrames):
        (WebCore::InternalSettings::setAcceleratedDrawingEnabled):
        (WebCore::InternalSettings::setEnableScrollAnimator):
        (WebCore::InternalSettings::setZoomAnimatorTransform):
        (WebCore::InternalSettings::setZoomParameters):
        (WebCore::InternalSettings::setMockScrollbarsEnabled):
        (WebCore::InternalSettings::setPasswordEchoEnabled):
        (WebCore::InternalSettings::setPasswordEchoDurationInSeconds):
        (WebCore::InternalSettings::setShouldLayoutFixedElementsRelativeToFrame):
        (WebCore::InternalSettings::setUnifiedTextCheckingEnabled):
        (WebCore::InternalSettings::unifiedTextCheckingEnabled):
        (WebCore::InternalSettings::pageScaleFactor):
        (WebCore::InternalSettings::setPageScaleFactor):
        (WebCore::InternalSettings::setPerTileDrawingEnabled):
        * testing/InternalSettings.h: Added.
        * testing/InternalSettings.idl: Added.
        * testing/Internals.cpp:
        (WebCore::Internals::create):
        (WebCore::Internals::Internals):
        (WebCore::Internals::reset):
        * testing/Internals.h:
        (WebCore::Internals::settings):
        * testing/Internals.idl:
        * testing/js/WebCoreTestSupport.cpp:
        (WebCoreTestSupport::injectInternalsObject):
        * testing/v8/WebCoreTestSupport.cpp:
        (WebCoreTestSupport::injectInternalsObject):

2012-01-25  Alexis Menard  <alexis.menard@openbossa.org>

        border-image should not crash when the source is not specified.
        https://bugs.webkit.org/show_bug.cgi?id=77001

        Reviewed by Andreas Kling.

        This bug was introduced by r105502 but was exposed by r105738.
        The image-source of a border-image is not mandatory therefore it
        may happen that you have no value set for it. WebCore::createBorderImageValue
        was wrongly assuming that the image is always set. This problem also required a bit
        of refactoring in CSSStyleSelector::mapNinePieceImage to take into account that
        the image could be optional (just like other properties).

        Test: fast/css/border-image-null-image-crash.html

        * css/CSSBorderImage.cpp:
        (WebCore::createBorderImageValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::mapNinePieceImage):

2012-01-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
        https://bugs.webkit.org/show_bug.cgi?id=76914

        Reviewed by Simon Hausmann.

        Implement highlighting of dom nodes with a rounded rect, respecting
        the color of -webkit-tap-highlight-color and any transform applied
        to the element.

        Tested with manual test.

        * Target.pri:
        * page/GestureTapHighlighter.cpp: Added.
        (WebCore::GestureTapHighlighter::pathForNodeHighlight):
        * page/GestureTapHighlighter.h: Added.

2012-01-25  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Need to distinguish key paths that don't yield value vs. yield invalid key
        https://bugs.webkit.org/show_bug.cgi?id=76487

        Implement the precondition checks for IDBObjectStore.add/put operations: raise an error
        if there is a key generator (autoIncrement) and the path yields a value and the value
        is not a valid key; raise an error if any of the index key paths yield a value which
        is not a valid key.

        Reviewed by Tony Chang.

        Tests: storage/indexeddb/keypath-edges.html
               storage/indexeddb/objectstore-basics.html

        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put):

2012-01-25  Yong Li  <yoli@rim.com>

        https://bugs.webkit.org/show_bug.cgi?id=65377
        Skip the entire node when it is right to do so, instead of stepping
        through every character, so we save CPU time on checking every position
        unnecessarily.

        Reviewed by Darin Adler.

        Test: perf/selection-skip-hidden-node.html

        * dom/Position.cpp:
        (WebCore::Position::upstream):
        (WebCore::Position::downstream):
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::moveToLeafNodeStart):
        (WebCore::PositionIterator::moveToLeafNodeEnd):
        * dom/PositionIterator.h:
        * editing/htmlediting.cpp:
        (WebCore::nextCandidate):
        (WebCore::nextVisuallyDistinctCandidate):
        (WebCore::previousCandidate):
        (WebCore::previousVisuallyDistinctCandidate):

2012-01-25  Kaustubh Atrawalkar  <kaustubh@motorola.com>

        Remove unnecessary member variable from PluginView.
        https://bugs.webkit.org/show_bug.cgi?id=76909

        Reviewed by Adam Roben.

        No new tests needed.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::getURLNotify):
        (WebCore::PluginView::getURL):
        (WebCore::PluginView::PluginView):
        (WebCore::PluginView::handlePost):
        (WebCore::PluginView::getValueForURL):
        (WebCore::PluginView::setValueForURL):
        * plugins/PluginView.h:

2012-01-25  Yael Aharon  <yael.aharon@nokia.com>

        [Qt] Build fix when using force_static_libs_as_shared
        https://bugs.webkit.org/show_bug.cgi?id=76832

        Reviewed by Simon Hausmann.

        Add a dependency on QtWidgets, when compiling against Qt5.

        No new tests. This is a build fix.

        * Target.pri:

2012-01-25  Sami Kyostila  <skyostil@chromium.org>

        Clipping of render layer boundaries does not take page scale into account
        https://bugs.webkit.org/show_bug.cgi?id=76850

        Reviewed by Simon Fraser.

        When inserting render layers into the compositor's overlap map, the
        layer boundaries are clipped against any potential parent clip rects.
        The clip rects are given in CSS coordinates, while the render layer
        boundaries are in scaled CSS coordinates, so the result is incorrect.
        This patch scales the clip rects before calculating the intersection.

        Test: compositing/overflow/overflow-scaled-descendant-overlapping.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::addToOverlapMap):

2012-01-25  Stephen Chenney  <schenney@chromium.org>

        Linecaps wrong for zero length lines
        https://bugs.webkit.org/show_bug.cgi?id=71820

        Reviewed by Nikolas Zimmermann.

        Total reworking of the method used to draw zero-length linecaps for
        SVG. This patch works for all zero length sub-paths.

        Tests: svg/stroke/zero-length-path-linecap-rendering.svg
               svg/stroke/zero-length-subpaths-linecap-rendering.svg

        * rendering/svg/RenderSVGShape.cpp: Significant refactoring to enable
          new implementation and clarify code.
        (WebCore::RenderSVGShape::createShape):
        (WebCore::RenderSVGShape::strokeContains):
        (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
        (WebCore::RenderSVGShape::zeroLengthSubpathRect):
        (WebCore::RenderSVGShape::zeroLengthLinecapPath):
        (WebCore::RenderSVGShape::nonScalingStrokePath):
        (WebCore::RenderSVGShape::setupNonScalingStrokeTransform):
        (WebCore::RenderSVGShape::fillShape):
        (WebCore::RenderSVGShape::strokePath):
        (WebCore::RenderSVGShape::fillAndStrokePath):
        (WebCore::RenderSVGShape::updateCachedBoundaries):
        (WebCore::RenderSVGShape::processZeroLengthSubpaths):
        * rendering/svg/RenderSVGShape.h: Declarations for new methods.
        * rendering/svg/SVGSubpathData.h: Class for finding zero length subpaths.
        * svg/SVGPathBuilder.h: Fix typos
        * svg/SVGPathConsumer.h: Fix typos
        * svg/SVGPathSegListBuilder.h: Fix typos
        * svg/SVGPathTraversalStateBuilder.h: Fix typos

2012-01-23  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: show memory counter graphs in timeline panel
        https://bugs.webkit.org/show_bug.cgi?id=76843

        Timeline panel is extended with several graphs depicting total node count,
        number of DOM groups and event listeners. This feature is hidden behind
        experimental setting.

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::setDomCountersEnabled):
        (WebCore::InspectorTimelineAgent::didCallFunction):
        (WebCore::InspectorTimelineAgent::didDispatchEvent):
        (WebCore::InspectorTimelineAgent::didWriteHTML):
        (WebCore::InspectorTimelineAgent::didFireTimer):
        (WebCore::InspectorTimelineAgent::didEvaluateScript):
        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
        (WebCore::InspectorTimelineAgent::collectDomCounters):
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        * inspector/InspectorTimelineAgent.h:
        (WebCore::InspectorTimelineAgent::create):
        * inspector/TimelineRecordFactory.cpp:
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.MemoryStatistics):
        (WebInspector.MemoryStatistics.prototype.setTopPosition):
        (WebInspector.MemoryStatistics.prototype.setSidebarWidth):
        (WebInspector.MemoryStatistics.prototype._sidebarResized):
        (WebInspector.MemoryStatistics.prototype._updateSize):
        (WebInspector.MemoryStatistics.prototype._updateSidebarSize):
        (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
        (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
        (WebInspector.MemoryStatistics.prototype._draw.getGroupCount):
        (WebInspector.MemoryStatistics.prototype._draw.getNodeCount):
        (WebInspector.MemoryStatistics.prototype._draw.getListenerCount):
        (WebInspector.MemoryStatistics.prototype._draw):
        (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
        (WebInspector.MemoryStatistics.prototype._onMouseOver):
        (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
        (WebInspector.MemoryStatistics.prototype.visible):
        (WebInspector.MemoryStatistics.prototype.show):
        (WebInspector.MemoryStatistics.prototype.refresh):
        (WebInspector.MemoryStatistics.prototype.hide):
        (WebInspector.MemoryStatistics.prototype._setVerticalClip):
        (WebInspector.MemoryStatistics.prototype._calculateXValues):
        (WebInspector.MemoryStatistics.prototype._drawPolyline):
        (WebInspector.MemoryStatistics.prototype._drawBottomBound):
        (WebInspector.MemoryStatistics.prototype._clear):
        (WebInspector.TimelinePanel.prototype._startSplitterDragging):
        (WebInspector.TimelinePanel.prototype._splitterDragging):
        (WebInspector.TimelinePanel.prototype._endSplitterDragging):
        (WebInspector.TimelinePanel.prototype._setSplitterPosition):
        (WebInspector.TimelinePanel.prototype.get statusBarItems):
        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
        (WebInspector.TimelinePanel.prototype._toggleMemoryStatistics):
        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
        (WebInspector.TimelinePanel.prototype.sidebarResized):
        (WebInspector.TimelinePanel.prototype._refresh):
        * inspector/front-end/timelinePanel.css:
        (#timeline-memory-splitter):
        (#memory-counters-graph):
        (#memory-graphs-container):
        (#memory-graphs-container .split-view-contents):
        (.timeline-marker):
        (.memory-counter-sidebar-info):
        (.memory-counter-sidebar-info.bottom-border-visible):

2012-01-25  Joseph Pecoraro  <pecoraro@apple.com>

        <http://webkit.org/b/76941> Web Inspector: Remove Unused InspectorFrontendHost.search Stub

        Reviewed by Pavel Feldman.

        * inspector/front-end/InspectorFrontendHostStub.js:

2012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed inspector style fix.

        * inspector/front-end/tabbedPane.css:
        (.tabbed-pane-header-tab-close-button):
        (select.tabbed-pane-header-tabs-drop-down-select):

2012-01-25  Pablo Flouret  <pablof@motorola.com>

        Fix incorrect behavior in HTMLCollection.prototype.item().
        https://bugs.webkit.org/show_bug.cgi?id=74468

        Reviewed by Adam Barth.

        HTMLCollection.prototype.item("someString") was falling back to
        .namedItem("someString"), which is wrong per spec. Also align the
        handling of various other types of objects passed as the argument with
        the spec and the rest of the browsers.

        Test: fast/dom/collection-item.html

        * bindings/js/JSHTMLCollectionCustom.cpp: Remove custom implementation of item().
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Ditto.
        * html/HTMLCollection.idl: Remove [Custom] in item(), it's not needed.

2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105858.
        http://trac.webkit.org/changeset/105858
        https://bugs.webkit.org/show_bug.cgi?id=77004

        It made many tests crash on Qt (Requested by Ossy on #webkit).

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::addAnimation):
        (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
        (WebCore::GraphicsLayerTextureMapper::removeAnimation):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        (GraphicsLayerTextureMapper):
        * platform/graphics/texmap/TextureMapperAnimation.cpp: Removed.
        * platform/graphics/texmap/TextureMapperAnimation.h: Removed.
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::syncCompositingStateSelf):
        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
        (WebCore::normalizedAnimationValue):
        (WebCore):
        (WebCore::TextureMapperNode::applyOpacityAnimation):
        (WebCore::solveEpsilon):
        (WebCore::solveCubicBezierFunction):
        (WebCore::solveStepsFunction):
        (WebCore::applyTimingFunction):
        (WebCore::TextureMapperNode::applyTransformAnimation):
        (WebCore::TextureMapperNode::applyAnimationFrame):
        (WebCore::TextureMapperNode::applyAnimation):
        (WebCore::TextureMapperNode::hasOpacityAnimation):
        (WebCore::TextureMapperNode::hasTransformAnimation):
        (WebCore::TextureMapperNode::syncAnimations):
        (WebCore::TextureMapperNode::syncAnimationsRecursively):
        (WebCore::TextureMapperNode::syncCompositingState):
        (WebCore::TextureMapperAnimation::TextureMapperAnimation):
        * platform/graphics/texmap/TextureMapperNode.h:
        (TextureMapperAnimation):
        (WebCore::TextureMapperAnimation::create):
        (WebCore):
        (TextureMapperNode):

2012-01-25  Kenichi Ishibashi  <bashi@chromium.org>

        fast/text/unicode-variation-selector.html doesn't pass on Lion
        https://bugs.webkit.org/show_bug.cgi?id=76041

        Reviewed by Dan Bernstein.

        Consumes non-BMP marks in advanceByCombiningCharacterSequence() to take into
        account Ideographic variation selectors (these are non-BMP marks).

        No new tests. fast/text/unicode-variation-selector.html should pass on Lion.

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::advanceByCombiningCharacterSequence): Use Unicode code point
        to iterate the loop which consumes marks.

2012-01-25  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: DetailedHeapSnapshot: adjust node name cell format for the retainers tree.
        https://bugs.webkit.org/show_bug.cgi?id=76989

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
        (WebInspector.HeapSnapshotObjectNode):
        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
        (WebInspector.HeapSnapshotObjectNode.prototype._postfixObjectCell):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):

2012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [InspectorIndexedDB] Pass Database, object stores and indexes meta information to frontend.
        https://bugs.webkit.org/show_bug.cgi?id=76711

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore):
        (WebCore::assertDocument):
        (WebCore::assertIDBFactory):
        (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
        (WebCore::InspectorIndexedDBAgent::requestDatabase):
        * inspector/InspectorIndexedDBAgent.h:
        (InspectorIndexedDBAgent):
        * inspector/front-end/IndexedDBModel.js:
        (WebInspector.IndexedDBModel):
        (WebInspector.IndexedDBModel.prototype._frameDetached):
        (WebInspector.IndexedDBModel.prototype._reset):
        (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
        (WebInspector.IndexedDBModel.prototype._originRemovedFromFrame):
        (WebInspector.IndexedDBModel.prototype._originRemoved):
        (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
        (WebInspector.IndexedDBModel.prototype._databaseRemoved):
        (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
        (WebInspector.IndexedDBModel.prototype._loadDatabase):
        (WebInspector.IndexedDBModel.Frame):
        (WebInspector.IndexedDBModel.Database):
        (WebInspector.IndexedDBModel.ObjectStore):
        (WebInspector.IndexedDBModel.ObjectStoreIndex):
        (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
        (WebInspector.IndexedDBRequestManager.prototype.requestDatabase.innerCallback):
        (WebInspector.IndexedDBRequestManager.prototype.requestDatabase):
        (WebInspector.IndexedDBRequestManager.prototype._databaseLoaded):
        (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
        (WebInspector.IndexedDBRequestManager.prototype._databaseRemoved):
        (WebInspector.IndexedDBRequestManager.prototype._reset):
        (WebInspector.IndexedDBRequestManager.DatabaseRequest):
        (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
        (WebInspector.IndexedDBDispatcher.prototype.databaseLoaded):

2012-01-25  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: add optional runtime validator
        https://bugs.webkit.org/show_bug.cgi?id=76676

        Reviewed by Yury Semikhatsky.

        Generator algorithm is redone significantly.

        * inspector/CodeGeneratorInspector.py:
        (RawTypes.BaseType):
        (RawTypes.BaseType.request_raw_internal_runtime_cast):
        (RawTypes.BaseType.generate_validate_method_impl):
        (RawTypes):
        (RawTypes.generate_validate_methods):
        (RawTypes.String):
        (RawTypes.String.generate_validate_method):
        (RawTypes.String.get_raw_validator_call_text):
        (RawTypes.Int):
        (RawTypes.Int.generate_validate_method):
        (RawTypes.Int.get_raw_validator_call_text):
        (RawTypes.Number):
        (RawTypes.Number.generate_validate_method):
        (RawTypes.Number.get_raw_validator_call_text):
        (RawTypes.Bool):
        (RawTypes.Bool.generate_validate_method):
        (RawTypes.Bool.get_raw_validator_call_text):
        (RawTypes.Object):
        (RawTypes.Object.generate_validate_method):
        (RawTypes.Object.get_raw_validator_call_text):
        (RawTypes.Any):
        (RawTypes.Any.generate_validate_method):
        (RawTypes.Any.get_raw_validator_call_text):
        (RawTypes.Array):
        (RawTypes.Array.generate_validate_method):
        (RawTypes.Array.get_raw_validator_call_text):
        (TypeBindings.create_named_type_declaration.Helper):
        (TypeBindings.create_ad_hoc_type_declaration.Helper):
        (TypeBindings.create_type_declaration_.EnumBinding):
        (TypeBindings.create_type_declaration_.EnumBinding.resolve_inner):
        (TypeBindings.create_type_declaration_.EnumBinding.request_user_runtime_cast):
        (TypeBindings.create_type_declaration_.EnumBinding.request_internal_runtime_cast):
        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
        (TypeBindings.create_type_declaration_.EnumBinding.get_validator_call_text):
        (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
        (TypeBindings.create_type_declaration_.PlainString):
        (TypeBindings.create_type_declaration_.PlainString.resolve_inner):
        (TypeBindings.create_type_declaration_.PlainString.request_user_runtime_cast):
        (TypeBindings.create_type_declaration_.PlainString.request_internal_runtime_cast):
        (TypeBindings.create_type_declaration_.PlainString.get_validator_call_text):
        (TypeBindings.create_type_declaration_.TypedefString):
        (TypeBindings.create_type_declaration_.TypedefString.resolve_inner):
        (TypeBindings.create_type_declaration_.TypedefString.request_user_runtime_cast):
        (TypeBindings.create_type_declaration_.TypedefString.request_internal_runtime_cast):
        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
        (TypeBindings.create_type_declaration_.TypedefString.get_validator_call_text):
        (TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
        (TypeBindings.create_type_declaration_.ClassBinding):
        (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner):
        (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.PropertyData):
        (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.ResolveData):
        (TypeBindings.create_type_declaration_.ClassBinding.request_user_runtime_cast):
        (TypeBindings.create_type_declaration_.ClassBinding.request_internal_runtime_cast):
        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
        (get_validator_call_text):
        (get_in_c_type_text):
        (AdHocTypeContextImpl):
        (AdHocTypeContextImpl.__init__):
        (AdHocTypeContextImpl.get_type_name_fix):
        (AdHocTypeContextImpl.get_type_name_fix.NameFix):
        (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
        (AdHocTypeContextImpl.add_type):
        (PlainObjectBinding):
        (PlainObjectBinding.resolve_inner):
        (PlainObjectBinding.request_user_runtime_cast):
        (PlainObjectBinding.request_internal_runtime_cast):
        (PlainObjectBinding.get_validator_call_text):
        (ArrayBinding):
        (ArrayBinding.resolve_inner):
        (ArrayBinding.resolve_inner.AdHocTypeContext):
        (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix):
        (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix):
        (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
        (ArrayBinding.resolve_inner.AdHocTypeContext.add_type):
        (ArrayBinding.resolve_inner.ResolveData):
        (ArrayBinding.request_user_runtime_cast):
        (ArrayBinding.request_internal_runtime_cast):
        (ArrayBinding.get_code_generator):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
        (ArrayBinding.get_validator_call_text):
        (ArrayBinding.get_in_c_type_text):
        (RawTypeBinding.resolve_inner):
        (RawTypeBinding):
        (RawTypeBinding.request_user_runtime_cast):
        (RawTypeBinding.request_internal_runtime_cast):
        (RawTypeBinding.get_validator_call_text):
        (TypeData.get_name):
        (TypeData):
        (TypeData.get_domain_name):
        (resolve_param_type):
        (NeedRuntimeCastRequest):
        (NeedRuntimeCastRequest.__init__):
        (NeedRuntimeCastRequest.acknowledge):
        (NeedRuntimeCastRequest.is_acknowledged):
        (resolve_all_types):
        (resolve_all_types.ForwardListener):
        (resolve_all_types.ForwardListener.add_type_data):
        (resolve_all_types.ResolveContext):
        (Generator):
        (Generator.go):
        (Generator.process_event):
        (Generator.process_event.AdHocTypeContext):
        (Generator.process_event.AdHocTypeContext.add_type):
        (Generator.process_event.EventForwardListener):
        (Generator.process_event.EventForwardListener.add_type_data):
        (Generator.process_event.EventResolveContext):
        (Generator.process_event.EventGenerateContext):
        (Generator.process_types.GenerateContext):
        (Generator.process_types.create_type_builder_caller.call_type_builder):
        (Generator.process_types.generate_forward_callback):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::size):

2012-01-25  Anton Muhin  <antonm@chromium.org>

        Unreview manual revert of r105843.

        * fileapi/EntryBase.cpp:
        (WebCore::EntryBase::toURL):
        * page/SecurityOrigin.cpp:
        (WebCore::extractInnerURL):
        * platform/KURL.h:
        (KURL):
        * platform/KURLGoogle.cpp:
        (WebCore):
        (WebCore::KURLGooglePrivate::setUtf8):
        (WebCore::KURLGooglePrivate::setAscii):
        (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily):
        (WebCore::KURLGooglePrivate::copyTo):
        (WebCore::encodeWithURLEscapeSequences):
        * platform/KURLGooglePrivate.h:
        (KURLGooglePrivate):

2012-01-25  Noel Gordon  <noel.gordon@gmail.com>

        Use maximum image dimension definition from libwebp
        https://bugs.webkit.org/show_bug.cgi?id=76980

        Reviewed by Kent Tamura.

        No new tests, no change in behavior.

        * platform/image-encoders/skia/WEBPImageEncoder.cpp:
        (WebCore::encodePixels): s/WEBP_MAX_DIMENSION/WEBPImageEncoder::MaximumImageDimension/
        * platform/image-encoders/skia/WEBPImageEncoder.h:
        (): Remove local definition of the maximum webp image dimension

2012-01-25  Noel Gordon  <noel.gordon@gmail.com>

        JPEGDecoder should use imageDecoder colorProfile helpers
        https://bugs.webkit.org/show_bug.cgi?id=76968
        
        Reviewed by Adam Barth.

        No new tests. Cover by existing tests, in particular:
          fast/images/ycbcr-with-cmyk-color-profile.html
          fast/images/gray-scale-jpeg-with-color-profile.html
          fast/images/cmyk-jpeg-with-color-profile.html
          fast/images/color-jpeg-with-color-profile.html

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: white-space removals via Xcode.
        (WebCore::readColorProfile):  Use ImageDecoder.h color profile helper routines.
        (WebCore::JPEGImageReader::JPEGImageReader):
        (WebCore::JPEGImageReader::decode):

2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Divide TextureMapperNode.cpp to 3 files.
        https://bugs.webkit.org/show_bug.cgi?id=76660

        Reviewed by Kenneth Rohde Christiansen.

        Split the animation part of TextureMapperNode out to a separate file, called
        TextureMapperAnimation.
        Provide a clean interface for that class, that allows separating the internals of the scene
        painting from the internals of the animation interpolation.

        No new tests. Existing animation tests cover this.

        * GNUmakefile.list.am: Added new TextureMapper-related files.
        * Target.pri: Added new TextureMapper-related files.
        * WebCore.gypi: Added new TextureMapper-related files.
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::addAnimation):
        (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
        (WebCore::GraphicsLayerTextureMapper::removeAnimation):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        * platform/graphics/texmap/TextureMapperAnimation.cpp: Added.
        * platform/graphics/texmap/TextureMapperAnimation.h: Added.
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::syncCompositingStateSelf):
        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
        (WebCore::TextureMapperNode::syncAnimations):
        (WebCore::TextureMapperNode::syncAnimationsRecursively):
        (WebCore::TextureMapperNode::syncCompositingState):
        * platform/graphics/texmap/TextureMapperNode.h:

2012-01-25  Roland Steiner  <rolandsteiner@chromium.org>

        <style scoped>: Implement registering of <style scoped> with the scoping element
        https://bugs.webkit.org/show_bug.cgi?id=67790

        Implement registering of a <style> element with its parent element if the 'scoped' attribute is set.
        Update the registration whenever the 'scoped' attribute is changed,
        or the <style> element eneters or leaves the tree.

        Also, extend windows.internals to allow for testing of the registration ref-counting.

        Reviewed by Dimitri Glazkov.

        Test: fast/css/style-scoped/registering.html

        * WebCore.exp.in:
        * dom/Element.cpp:
        (WebCore::Element::hasScopedHTMLStyleChild):
        (WebCore::Element::numberOfScopedHTMLStyleChildren):
        (WebCore::Element::registerScopedHTMLStyleChild):
        (WebCore::Element::unregisterScopedHTMLStyleChild):
        * dom/Element.h:
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::ElementRareData):
        (WebCore::ElementRareData::registerScopedHTMLStyleChild):
        (WebCore::ElementRareData::unregisterScopedHTMLStyleChild):
        (WebCore::ElementRareData::hasScopedHTMLStyleChild):
        (WebCore::ElementRareData::numberOfScopedHTMLStyleChildren):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::HTMLStyleElement):
        (WebCore::HTMLStyleElement::~HTMLStyleElement):
        (WebCore::HTMLStyleElement::parseMappedAttribute):
        (WebCore::HTMLStyleElement::registerWithScopingNode):
        (WebCore::HTMLStyleElement::unregisterWithScopingNode):
        (WebCore::HTMLStyleElement::insertedIntoDocument):
        (WebCore::HTMLStyleElement::removedFromDocument):
        (WebCore::HTMLStyleElement::willRemove):
        * html/HTMLStyleElement.h:
        * testing/Internals.cpp:
        (WebCore::Internals::numberOfScopedHTMLStyleChildren):
        * testing/Internals.h:
        * testing/Internals.idl:

2012-01-24  Daniel Bates  <dbates@webkit.org>

        Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105843>
        (https://bugs.webkit.org/show_bug.cgi?id=75049)

        Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
        LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
        WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").

        * platform/KURL.h:
        (WebCore::KURL::innerURL):

2012-01-24  Vangelis Kokkevis  <vangelis@chromium.org>

        [chromium] Ignore m_skipsDraw in TiledLayerChromium::drawsContent()
        https://bugs.webkit.org/show_bug.cgi?id=76735

        This is to add skipped layers to their RenderSurface's layer list so that they
        are considered in the next update. Without this change, m_skipsDraw = false sticks
        with the layer for the remainder of its lifetime.

        Reviewed by James Robinson.

        Tests: Unit test (TiledLayerChromiumTest.cpp)

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::drawsContent):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (WebCore::TiledLayerChromium::skipsDraw):

2012-01-24  Kentaro Hara  <haraken@chromium.org>

        Invalidate r105697, r105766, r105809 and r105805
        https://bugs.webkit.org/show_bug.cgi?id=76970

        Reviewed by Adam Barth.

        I've been trying to stop rebuilding .h/.cpp files generated by
        unchanged IDLs (bug 76836), but the approach was wrong.
        This patch invalidates patches committed in r105697, r105766,
        r105809 and r105805.

        In r105697, r105766, r105809 and r105805, I modified CodeGenerator*.pm
        so that they overwrite .h/.cpp files only when the bytes differ.
        By this fix, we were able to stop rebuilding .h/.cpp files that are not
        changed. However, the fix has made generate-bindings.pl run for almost
        all IDLs every time. The reason is as follows:

        (0) Assume that there are A.idl, B.idl and C.idl.

        (1) Modify A.idl.
        (2) First build.
        (3) supplemental_dependency.tmp is updated.
        (4) generate-bindings.pl runs for A.idl, B.idl and C.idl.
        (5) A.h and A.cpp are updated. B.h, B.cpp, C.h and C.cpp are not updated.

        (6) Second build.
        (7) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
        (8) B.h, B.cpp, C.h and C.cpp are not updated.

        (9) Third build.
        (10) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
        (11) B.h, B.cpp, C.h and C.cpp are not updated.
        ...

        We should fix the bug somehow, but how to fix it is not obvious.
        For the time being, this patch invalidates r105697, r105766, r105809
        and r105805.

        No tests. No change in behavior.

        * bindings/scripts/CodeGenerator.pm:
        (UpdateFile):
        * bindings/scripts/CodeGeneratorCPP.pm:
        (WriteData):
        * bindings/scripts/CodeGeneratorJS.pm:
        (WriteData):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (WriteData):
        * bindings/scripts/CodeGeneratorV8.pm:
        (WriteData):

2012-01-24  Eric Uhrhane  <ericu@chromium.org>

        Add full support for filesystem URLs.
        https://bugs.webkit.org/show_bug.cgi?id=75049

        Reviewed by Adam Barth.

        No new tests; existing layout tests cover the basic functionality, and
        the new functionality won't be there until Chromium adds it.  This patch
        merely enables that, without changing behavior.

        * fileapi/EntryBase.cpp:
        (WebCore::EntryBase::toURL): Add missing escaping of URL path.

        * page/SecurityOrigin.cpp:
        (WebCore::extractInnerURL): Use innerURL member, if it's populated.

        * platform/KURL.h:
        (WebCore::KURL::innerURL): Add innerURL member.

        * platform/KURLGoogle.cpp:
        (WebCore::KURLGooglePrivate::KURLGooglePrivate):
        (WebCore::KURLGooglePrivate::operator=):
        Add copy constructor and operator=, which are now needed since
        m_innerURL needs special handling.
        (WebCore::KURLGooglePrivate::setUtf8):
        (WebCore::KURLGooglePrivate::setAscii):
        Add calls to initInnerURL.
        (WebCore::KURLGooglePrivate::initInnerURL):
        Add method to init/copy m_innerURL.
        (WebCore::KURLGooglePrivate::copyTo):
        Handle m_innerURL during copies.
        (WebCore::encodeWithURLEscapeSequences):
        Unescape %2F ['/'] in paths; it's much more readable, and it's safe.

        * platform/KURLGooglePrivate.h:
        (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.

2012-01-24  Ken Buchanan  <kenrb@chromium.org>

        Crash in updateFirstLetter() from unnecessary anonymous block
        https://bugs.webkit.org/show_bug.cgi?id=72675

        Reviewed by David Hyatt.

        There was a problem with anonymous blocks not getting removed when
        their only block flow siblings are removed if they also have non-block
        flow first-letter siblings (i.e. floats). This patch modifies
        RenderBlock::removeChild() to look for this situation and strip out
        unnecessary anonymous container blocks if it occurs.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild):
        (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::collapseAnonymousBoxChild): Added

2012-01-24  Daniel Cheng  <dcheng@chromium.org>

        [chromium] event.dataTransfer.types should not return "Text" or "URL"
        https://bugs.webkit.org/show_bug.cgi?id=76218

        Per the spec, "Text" and "URL" are special values handled for IE compatibility reasons in
        dataTransfer.setData() and dataTransfer.getData(). These values should not be exposed
        elsewhere.

        Reviewed by Tony Chang.

        Test: fast/events/dropzone-005.html

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::types):
        (WebCore::ChromiumDataObject::getData):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::canSmartReplace):

2012-01-24  Daniel Cheng  <dcheng@chromium.org>

        Make DataTransferItemList::length() const.
        https://bugs.webkit.org/show_bug.cgi?id=76946

        Just a const-correctness change.

        Reviewed by Tony Chang.

        No new tests since no functionality changed.

        * dom/DataTransferItemList.h:
        (DataTransferItemList):
        * platform/chromium/DataTransferItemListChromium.cpp:
        (WebCore::DataTransferItemListChromium::length):
        * platform/chromium/DataTransferItemListChromium.h:
        (DataTransferItemListChromium):
        * platform/qt/DataTransferItemListQt.cpp:
        (WebCore::DataTransferItemListQt::length):
        * platform/qt/DataTransferItemListQt.h:
        (DataTransferItemListQt):

2012-01-24  Tony Chang  <tony@chromium.org>

        REGRESSION(r103245): can't scroll left/up using scrollbar controls of overflowing elements
        https://bugs.webkit.org/show_bug.cgi?id=76317

        Reviewed by Darin Adler.

        Test: scrollbars/scroll-rtl-or-bt-layer.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollInfoAfterLayout): Call scrollToOffsetWithoutAnimation since we're always
        scrolling to the just computed offset.

2012-01-24  Mark Rowe  <mrowe@apple.com>

        Fix all of the builds after r105812.

        * loader/EmptyClients.h: Move the #include in to the correct #if.

2012-01-24  Dmitry Lomov  <dslomov@google.com>

        [Chromium][V8] DOMWindow::postMessage crashes if window disassociated with frame.
        https://bugs.webkit.org/show_bug.cgi?id=76944.

        Reviewed by David Levin.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::retrieveWindowForCallingContext):
        * bindings/v8/V8Proxy.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::handlePostMessageCallback):

2012-01-24  Geoffrey Garen  <ggaren@apple.com>

        Updated bindings test expectations after my last patch.

        Not reviewed.

        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
        (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
        (WebCore::setJSTestInterfaceSupplementalStr2):
        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::setJSTestObjStringAttr):
        (WebCore::setJSTestObjStringAttrWithGetterException):
        (WebCore::setJSTestObjStringAttrWithSetterException):
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
        * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
        (WebCore::jsTestOverridingNameGetterPrototypeFunctionAnotherFunction):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):

2012-01-24  Greg Billock  <gbillock@google.com>

        Change dispatchIntent API to pure virtual in FrameLoaderClient.

        The Windows compiler needs this to deal with the forward declaration
        of WebCore::IntentRequest.
        https://bugs.webkit.org/show_bug.cgi?id=76940

        Reviewed by Adam Barth.

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::dispatchIntent):
        * loader/FrameLoaderClient.h:

2012-01-24  Kentaro Hara  <haraken@chromium.org>

        CodeGeneratorJS.pm should overwrite the output .h/.cpp
        only if the bytes differ
        https://bugs.webkit.org/show_bug.cgi?id=76922

        Reviewed by Darin Adler.

        This is one of steps to stop rebuilding .h/.cpp files
        generated by unchanged IDLs (bug 76836).
        This patch makes a change on CodeGeneratorJS.pm so that
        it overwrites the output .h/.cpp only if the bytes differ.

        No tests. No change in behavior.
        I manually confirmed that when I add a new attribute to Element.idl,
        the time-stamps of unrelated JS*.h and JS*.cpp do not change.

        * bindings/scripts/CodeGeneratorJS.pm:
        (WriteData): Used UpdateFileIfChanged().

2012-01-24  Kentaro Hara  <haraken@chromium.org>

        CodeGeneratorCPP.pm should overwrite the output .h/.cpp
        only if the bytes differ
        https://bugs.webkit.org/show_bug.cgi?id=76926

        Reviewed by Adam Barth.

        This is one of steps to stop rebuilding .h/.cpp files
        generated by unchanged IDLs (bug 76836).
        This patch makes a change on CodeGeneratorCPP.pm so that
        it overwrites the output .h/.cpp only if the bytes differ.

        No tests. No change in behavior.
        Manually confirm that when you add a new attribute to Element.idl,
        the time-stamps of unrelated WebDOM*.h and WebDOM*.cpp do not change.

        * bindings/scripts/CodeGeneratorCPP.pm:
        (WriteData): Used UpdateFileIfChanged().

2012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105238.
        http://trac.webkit.org/changeset/105238
        https://bugs.webkit.org/show_bug.cgi?id=76943

        Remove the assert text hack as it served its purpose.
        (Requested by dave_levin on #webkit).

        * dom/ActiveDOMObject.cpp:
        (WebCore::ContextDestructionObserver::ContextDestructionObserver):
        (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
        (WebCore::ActiveDOMObject::ActiveDOMObject):
        (WebCore::ActiveDOMObject::~ActiveDOMObject):
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::openDatabaseSync):
        (WebCore::DatabaseSync::~DatabaseSync):
        (WebCore::DatabaseSync::changeVersion):
        (WebCore::DatabaseSync::runTransaction):

2012-01-24  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] In CodeGeneratorGObject.pm, merge
        GeneratePrivateHeader() into WriteData()
        https://bugs.webkit.org/show_bug.cgi?id=76923

        Reviewed by Adam Barth.

        This patch merges GeneratePrivateHeader() into WriteData(),
        so that all code to output .h/.cpp is managed by WriteData(),
        just like other CodeGenerator*.pm does.

        No tests. No change in behavior.
        Confirm that GTK/GObject build passes.

        * bindings/scripts/CodeGeneratorGObject.pm:
        (Generate):
        (WriteData): Copied GeneratePrivateHeader() to here.
        Removed $hasLegacyParen, $hasRealParent and $hasParent
        since they are not used.
        (GenerateInterface):

2012-01-24  Daniel Cheng  <dcheng@chromium.org>

        dropzone does not normalize type strings
        https://bugs.webkit.org/show_bug.cgi?id=76925

        Per the HTML spec, we are supposed to normalize types during dropzone processing by
        lowercasing them.

        Reviewed by Tony Chang.

        Tests: fast/events/dropzone-002.html

        * dom/Clipboard.cpp:
        (WebCore::Clipboard::hasDropZoneType):

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        Don't expose functions for the ATK interfaces in header files.

        Expose only the initialization function for each interface, and
        use the generic functions from ATK interfaces where needed.

        * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp:
        (webkitAccessibleActionDoAction): Made this function static.
        (webkitAccessibleActionGetNActions): Ditto.
        (webkitAccessibleActionGetDescription): Ditto.
        (webkitAccessibleActionGetKeybinding): Ditto.
        (webkitAccessibleActionGetName): Ditto.
        (webkitAccessibleActionInterfaceInit): Moved to the bottom.
        * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Removed all
        functions but the one for initializing the interface from here.

        * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
        (webkitAccessibleComponentRefAccessibleAtPoint): Made this function static.
        (webkitAccessibleComponentGetExtents): Ditto.
        (webkitAccessibleComponentGrabFocus): Ditto.
        (webkitAccessibleComponentInterfaceInit): Moved to the bottom.
        * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Removed all
        functions but the one for initializing the interface from here.

        * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp:
        (webkitAccessibleDocumentGetAttributeValue): Made this function static.
        (webkitAccessibleDocumentGetAttributes): Ditto.
        (webkitAccessibleDocumentGetLocale): Ditto.
        (webkitAccessibleDocumentInterfaceInit): Moved to the bottom.
        * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Removed all
        functions but the one for initializing the interface from here.

        * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp:
        (webkitAccessibleEditableTextSetRunAttributes): Made this function static.
        (webkitAccessibleEditableTextSetTextContents): Ditto.
        (webkitAccessibleEditableTextInsertText): Ditto.
        (webkitAccessibleEditableTextCopyText): Ditto.
        (webkitAccessibleEditableTextCutText): Ditto.
        (webkitAccessibleEditableTextDeleteText): Ditto.
        (webkitAccessibleEditableTextPasteText): Ditto.
        (webkitAccessibleEditableTextInterfaceInit): Moved to the bottom.
        * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Removed all
        functions but the one for initializing the interface from here.

        * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
        (webkitAccessibleHyperlinkImplGetHyperlink): Made this function static.
        (webkitAccessibleHyperlinkImplInterfaceInit): Moved to the bottom.
        * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Removed all
        functions but the one for initializing the interface from here.

        * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp:
        (webkitAccessibleHypertextGetLink): Made this function static.
        (webkitAccessibleHypertextGetNLinks): Ditto.
        (webkitAccessibleHypertextGetLinkIndex): Ditto.
        (webkitAccessibleHypertextInterfaceInit): Moved to the bottom.
        * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Removed all
        functions but the one for initializing the interface from here.

        * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
        (webkitAccessibleImageGetImagePosition): Made this function static.
        (webkitAccessibleImageGetImageDescription): Ditto.
        (webkitAccessibleImageGetImageSize): Ditto.
        (webkitAccessibleImageInterfaceInit): Moved to the bottom.
        * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Removed all
        functions but the one for initializing the interface from here.

        * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp:
        (webkitAccessibleSelectionAddSelection): Made this function static.
        (webkitAccessibleSelectionClearSelection): Ditto.
        (webkitAccessibleSelectionRefSelection): Ditto.
        (webkitAccessibleSelectionGetSelectionCount): Ditto.
        (webkitAccessibleSelectionIsChildSelected): Ditto.
        (webkitAccessibleSelectionRemoveSelection): Ditto.
        (webkitAccessibleSelectionSelectAllSelection): Ditto.
        (webkitAccessibleSelectionInterfaceInit): Moved to the bottom.
        * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Removed all
        functions but the one for initializing the interface from here.

        * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp:
        (webkitAccessibleTableRefAt): Made this function static.
        (webkitAccessibleTableGetIndexAt): Ditto.
        (webkitAccessibleTableGetColumnAtIndex): Ditto.
        (webkitAccessibleTableGetRowAtIndex): Ditto.
        (webkitAccessibleTableGetNColumns): Ditto.
        (webkitAccessibleTableGetNRows): Ditto.
        (webkitAccessibleTableGetColumnExtentAt): Ditto.
        (webkitAccessibleTableGetRowExtentAt): Ditto.
        (webkitAccessibleTableGetColumnHeader): Ditto.
        (webkitAccessibleTableGetRowHeader): Ditto.
        (webkitAccessibleTableGetCaption): Ditto.
        (webkitAccessibleTableGetColumnDescription): Ditto.
        (webkitAccessibleTableGetRowDescription): Ditto.
        (webkitAccessibleTableInterfaceInit): Moved to the bottom.
        * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Removed all
        functions but the one for initializing the interface from here.

        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
        (textForRenderer): Made this function static.
        (textForObject): Ditto.
        (webkitAccessibleTextGetText): Ditto.
        (webkitAccessibleTextGetTextAfterOffset): Ditto.
        (webkitAccessibleTextGetTextAtOffset): Ditto.
        (webkitAccessibleTextGetTextBeforeOffset): Ditto.
        (webkitAccessibleTextGetCharacterAtOffset): Ditto.
        (webkitAccessibleTextGetCaretOffset): Ditto.
        (webkitAccessibleTextGetRunAttributes): Ditto.
        (webkitAccessibleTextGetDefaultAttributes): Ditto.
        (webkitAccessibleTextGetCharacterExtents): Ditto.
        (webkitAccessibleTextGetRangeExtents): Ditto.
        (webkitAccessibleTextGetCharacterCount): Ditto.
        (webkitAccessibleTextGetOffsetAtPoint): Ditto.
        (webkitAccessibleTextGetNSelections): Ditto.
        (webkitAccessibleTextGetSelection): Ditto.
        (webkitAccessibleTextAddSelection): Ditto.
        (webkitAccessibleTextSetSelection): Ditto.
        (webkitAccessibleTextRemoveSelection): Ditto.
        (webkitAccessibleTextSetCaretOffset): Ditto.
        (webkitAccessibleTextInterfaceInit): Moved to the bottom.
        * accessibility/gtk/WebKitAccessibleInterfaceText.h: Removed all
        functions but the one for initializing the interface from here.

        * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp:
        (webkitAccessibleValueGetCurrentValue): Made this function static.
        (webkitAccessibleValueGetMaximumValue): Ditto.
        (webkitAccessibleValueGetMinimumValue): Ditto.
        (webkitAccessibleValueSetCurrentValue): Ditto.
        (webkitAccessibleValueGetMinimumIncrement): Ditto.
        (webkitAccessibleValueInterfaceInit): Moved to the bottom.
        * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Removed all
        functions but the one for initializing the interface from here.

        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
        (webkitAccessibleGetName): Replace call to
        webkitAccessibleTextGetText with atk_text_get_text.

2012-01-24  James Robinson  <jamesr@chromium.org>

        [chromium] Add null check for ContentLayerChromium::m_delegate back to ContentLayerChromium::drawsContent()
        https://bugs.webkit.org/show_bug.cgi?id=76887

        Reviewed by Dimitri Glazkov.

        A ContentLayerChromium's m_delegate pointer is nulled out when its owning GraphicsLayerChromium is destroyed.
        It's possible in some circumstances for this to happen during painting. The null check for this pointer was
        erroneously removed from the base class TiledLayerChromium in r105460.

        No new tests since we don't know how to reproduce this sort of layer mutation during paint (not for lack of
        trying!). Fix based on crash reports from the field.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::drawsContent):
        * platform/graphics/chromium/ContentLayerChromium.h:

2012-01-16  Robert Hogan  <robert@webkit.org>

        REGRESSION (r102040): Wrong column widths when row has colspan and unwrappable text
        https://bugs.webkit.org/show_bug.cgi?id=74874

        Reviewed by Julien Chaffraix.

        Tests: fast/css/min-width-with-spanned-cell-fixed.html
               fast/css/min-width-with-spanned-cell.html

        A cell with unwrappable text must be as wide as the text is long. If it is a colspan in a table whose
        columns are all percent and the width of the span cell is wider than the cells it spans in any other 
        row then it will squeeze those cells beyond the width required to display their contents.

        To fix this ensure that the squeezing of cells within a span respects the minimum width determined by
        their contents. The squeezing remains for fixed layout tables as per FF and Opera.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):

2012-01-24  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Split the MediaStream track list into audio/video specific ones.
        https://bugs.webkit.org/show_bug.cgi?id=76614

        The latest draft of the WebRTC standard have split the MediaStream combined track list
        into audio/video specific ones.

        Reviewed by Darin Fisher.

        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

        * mediastream/LocalMediaStream.cpp:
        (WebCore::LocalMediaStream::create):
        (WebCore::LocalMediaStream::LocalMediaStream):
        * mediastream/LocalMediaStream.h:
        * mediastream/MediaStream.cpp:
        (WebCore::processTrackList):
        (WebCore::MediaStream::create):
        (WebCore::MediaStream::MediaStream):
        * mediastream/MediaStream.h:
        (WebCore::MediaStream::audioTracks):
        (WebCore::MediaStream::videoTracks):
        * mediastream/MediaStream.idl:
        * mediastream/MediaStreamTrack.cpp:
        (WebCore::MediaStreamTrack::create):
        (WebCore::MediaStreamTrack::MediaStreamTrack):
        (WebCore::MediaStreamTrack::kind):
        (WebCore::MediaStreamTrack::label):
        (WebCore::MediaStreamTrack::enabled):
        (WebCore::MediaStreamTrack::setEnabled):
        (WebCore::MediaStreamTrack::component):
        * mediastream/MediaStreamTrack.h:
        * mediastream/UserMediaClient.h:
        * mediastream/UserMediaRequest.cpp:
        (WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
        (WebCore::UserMediaRequest::succeed):
        * mediastream/UserMediaRequest.h:
        * platform/mediastream/MediaStreamCenter.cpp:
        (WebCore::MediaStreamCenter::queryMediaStreamSources):
        (WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
        * platform/mediastream/MediaStreamCenter.h:
        * platform/mediastream/MediaStreamDescriptor.h:
        (WebCore::MediaStreamDescriptor::create):
        (WebCore::MediaStreamDescriptor::numberOfAudioComponents):
        (WebCore::MediaStreamDescriptor::audioComponent):
        (WebCore::MediaStreamDescriptor::numberOfVideoComponents):
        (WebCore::MediaStreamDescriptor::videoComponent):
        (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):

2012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105738.
        http://trac.webkit.org/changeset/105738
        https://bugs.webkit.org/show_bug.cgi?id=76930

        caused fast/css/getComputedStyle/computed-style-border-
        image.html to crash (Requested by kling on #webkit).

        * dom/NamedNodeMap.cpp:
        * dom/NamedNodeMap.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateStyleAttribute):
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::destroyInlineStyleDecl):
        (WebCore::StyledElement::ensureInlineStyleDecl):
        (WebCore::StyledElement::style):
        (WebCore::StyledElement::addSubresourceAttributeURLs):
        * dom/StyledElement.h:
        (WebCore::StyledElement::inlineStyleDecl):

2012-01-24  Parag Radke  <nrqv63@motorola.com>

        REGRESSION (r73385): Marquee with behavior="alternate" is not working
        https://bugs.webkit.org/show_bug.cgi?id=64230

        Reviewed by Simon Fraser.

        This patch gives correct content width for marquee, which computes
        correct start position to scroll marquee.

        Test: fast/html/marquee-alternate.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computePreferredLogicalWidths):
        We need(style()->marqueeBehavior() != MALTERNATE) check as we always need the marquee's 
        actual content width to compute the initial/end position in case of 'MALTERNATE'.
        So we need to calculate the logical width in Alternate case even if fixed width is specified
        as content has to animate between renderBox().right().x() - contentWidth() and 
        renderBox().left().x() + contentWidth().
        
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::computePosition):
        Using PreferredLogicalWidth in place of LayoutOverflow for calculating correct content width.

2012-01-24  Andreas Kling  <awesomekling@apple.com>

        RenderInline: Skip caching the computed line height.
        <http://webkit.org/b/76929>

        Reviewed by David Hyatt.

        Stop caching the computed line height on RenderInline and make retrieving it from
        RenderStyle slightly cheaper, freeing up 4 bytes per RenderInline instance.
        This appears to be mostly performance neutral, I don't get more than the occasional
        sample hit when instrumenting heavier web pages.

        This reduces memory consumption by 228 kB (both 32/64-bit) when viewing the full
        HTML5 spec at <http://whatwg.org/c>.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::RenderInline):
        (WebCore::RenderInline::styleDidChange):
        (WebCore::RenderInline::lineHeight):
        * rendering/RenderInline.h:
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyle::computedLineHeight):

            Optimize computedLineHeight() to mitigate some of the damage of calling
            it more often.

2012-01-24  Abhishek Arya  <inferno@chromium.org>

        Crash when rendering -webkit-column-span.
        https://bugs.webkit.org/show_bug.cgi?id=73265

        Reviewed by David Hyatt.

        This patch addresses 2 problems causing crashes in multi-column layout
        1. Trying to render -webkit-column-span for :before, :after caused
           re-entrancy in updateBeforeAfterContent while working on splitFlow.
        2. Cloning a block which has its :before, :after content not added yet,
           caused issues because cloneBlock will definitely have its :before,
           :after content created when setStyle() is called. So, we would
           overwrite cloneBlock with a wrong childrenInline value.

        Tests: fast/multicol/clone-block-children-inline-mismatch-crash.html
               fast/multicol/span/generated-child-split-flow-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clone):
        (WebCore::RenderBlock::columnsBlockForSpanningElement):

2012-01-22  Robert Hogan  <robert@webkit.org>

        Incorrect positioning of floating pseudo-elements in table captions
        https://bugs.webkit.org/show_bug.cgi?id=76664

        Reviewed by Julien Chaffraix.

        Tests: fast/table/caption-encloses-overhanging-float-expected.html
               fast/table/caption-encloses-overhanging-float.html

        Allow table captions to expand and enclose overhanging floats. When performing
        layout on a caption ensure that its logical top is set so that it does not mistakenly
        conclude that floats in a previous sibling are intruding into it when they're not.

        Mostly diagnosed by Abhishek Arya.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): add table captions to the list
         that can enclosed overhanging floats.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layoutCaption): use the best available approximation of the caption's logical
         top offset before laying it out.
        (WebCore::RenderTable::layout):
        * rendering/RenderTable.h:

2012-01-24  Kentaro Hara  <haraken@chromium.org>

        In CodeGeneratorV8.pm, overwrite the output .h/.cpp
        only if the bytes differ
        https://bugs.webkit.org/show_bug.cgi?id=76920

        Reviewed by Darin Adler.

        This is one of steps to stop rebuilding .h/.cpp files
        generated by unchanged IDLs (bug 76836).
        This patch makes a change on CodeGeneratorV8.pm so that
        it overwrites the output .h/.cpp only if the bytes differ.

        No tests. No change in behavior.
        I manually confirmed that when I add a new attribute to Element.idl,
        the time-stamps of unrelated V8*.h and V8*.cpp do not change.

        * bindings/scripts/CodeGeneratorV8.pm:
        (WriteData): Used UpdateFileIfChanged().

2012-01-24  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] Remove finish() from all CodeGenerator*.pm
        https://bugs.webkit.org/show_bug.cgi?id=76918

        Reviewed by Darin Adler.

        Now finish() is empty in all CodeGenerator*.pm. This patch removes them.

        No tests. No change in behavior.

        * bindings/scripts/CodeGenerator.pm:
        (ProcessDocument):
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:

2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: incorrect highlight position when searching in console
        https://bugs.webkit.org/show_bug.cgi?id=76837

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
        (WebInspector.ConsoleMessageImpl.prototype.clearHighlight):
        (WebInspector.ConsoleMessageImpl.prototype.highlightSearchResults):
        (WebInspector.ConsoleMessageImpl.prototype._highlightSearchResultsInElement):
        (WebInspector.ConsoleMessageImpl.prototype.matchesRegex):

2012-01-23  Simon Fraser  <simon.fraser@apple.com>

        Show layer borders for scrollbar layers
        https://bugs.webkit.org/show_bug.cgi?id=76888

        Reviewed by Beth Dakin.
        
        When compositing layer borders are showing, show the borders
        for scrollbars layers. This reduces confusion about whether scrollbars
        are rendering into their own layers.
        
        Requires a new parameter to two GraphicsLayerClient methods.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::showDebugBorders):
        (WebCore::GraphicsLayer::showRepaintCounter):
        * platform/graphics/GraphicsLayerClient.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::showDebugBorders):
        (WebCore::RenderLayerBacking::showRepaintCounter):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::showDebugBorders):
        (WebCore::RenderLayerCompositor::showRepaintCounter):
        * rendering/RenderLayerCompositor.h:

2012-01-24  David Levin  <levin@chromium.org>

        [windows] Convert usage of GetDC to HWndDC Part 3.
        https://bugs.webkit.org/show_bug.cgi?id=76889

        Reviewed by Adam Roben.

        No new functionality so no new tests.

        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::shapeAndPlaceItem): Simple replacement.
        (WebCore::UniscribeController::shape): Use the delayed allocation.
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::paint): Fix a dc leak and use the dellayed allocation.

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        Fix coding style in the ATK AccessibilityObject wrapper.

        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
        (webkitAccessibleGetName):
        (webkitAccessibleGetDescription):
        (webkitAccessibleGetParent):
        (webkitAccessibleGetNChildren):
        (webkitAccessibleRefChild):
        (webkitAccessibleGetIndexInParent):
        (webkitAccessibleGetAttributes):
        (atkRole):
        (webkitAccessibleGetRole):
        (setAtkStateSetFromCoreObject):
        (webkitAccessibleRefStateSet):
        (webkitAccessibleRefRelationSet):
        (webkitAccessibleInit):
        (webkitAccessibleFinalize):
        (webkit_accessible_class_init):

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        Cleanup the list of includes in WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Removes
        'include' lines that are no longer needed after the refactor.

2012-01-24  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [EFL] Remove CookieJarEfl.cpp
        https://bugs.webkit.org/show_bug.cgi?id=76916

        Reviewed by Gustavo Noronha Silva.

        CookieJarEfl.cpp has not been used for years -- we either need
        CookieJarCurl or CookieJarSoup depending on the chosen network
        backend.

        No new tests, just an unused file being removed.

        * WebCore.gypi: Remove reference to CookieJarEfl.cpp.
        * platform/efl/CookieJarEfl.cpp: Removed.

2012-01-24  Abhishek Arya  <inferno@chromium.org>

        Crash when accessing removed parent in InlineTextBox.
        https://bugs.webkit.org/show_bug.cgi?id=72982

        Reviewed by James Robinson.

        The crash happens because:
        1. We add heading element(h1) before the span element(span1),
           causing splitflow on the anonymous block containing BeforeText,
           span1(and SpanText) and AfterText.
        2. span1 moves to the cloneBlock (continuation).
        3. Our anonymous block and cloneBlock are both marked for layout,
           however we still have a copy of our lineboxes with its childs
           as the textboxes belonging to SpanText.
        4. Our anonymous block only child BeforeText is getting removed,
           so we dont have any children anymore and we delete our lineboxes,
           leaving behind the children textboxes belonging to SpanText.
        5. SpanText is getting destroyed, so it tries to inform removed
           parent lineboxes causing the crash.

        Test: fast/block/block-remove-child-delete-line-box-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild):

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        New files for the implementation of the AtkTable interface,
        containing the related code from WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp: Added.
        (core):
        (cell):
        (cellIndex):
        (cellAtIndex):
        (webkitAccessibleTableInterfaceInit):
        (webkitAccessibleTableRefAt):
        (webkitAccessibleTableGetIndexAt):
        (webkitAccessibleTableGetColumnAtIndex):
        (webkitAccessibleTableGetRowAtIndex):
        (webkitAccessibleTableGetNColumns):
        (webkitAccessibleTableGetNRows):
        (webkitAccessibleTableGetColumnExtentAt):
        (webkitAccessibleTableGetRowExtentAt):
        (webkitAccessibleTableGetColumnHeader):
        (webkitAccessibleTableGetRowHeader):
        (webkitAccessibleTableGetCaption):
        (webkitAccessibleTableGetColumnDescription):
        (webkitAccessibleTableGetRowDescription):
        * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Added.
        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
        related to the implementation of the AtkTable interface.

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceTable.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Scripts panel tabbed editor container should have gray background when there are no open tabs.
        https://bugs.webkit.org/show_bug.cgi?id=76903

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype._updateTabElements):
        * inspector/front-end/tabbedPane.css:
        (.tabbed-pane-content.has-no-tabs):

2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: OpenResourceDialog should work when there are no open tabs in scripts panel.
        https://bugs.webkit.org/show_bug.cgi?id=76907

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.OpenResourceDialog.install):
        * inspector/front-end/ScriptsPanel.js:

2012-01-24  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: put TypeBuilder namespace in a separate sources
        https://bugs.webkit.org/show_bug.cgi?id=76868

        Reviewed by Yury Semikhatsky.

        Configurations of (hopefully) all build systems are fixed.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.py:
        (dash_to_camelcase):
        (InspectorFrontend_h):
        (InspectorBackendDispatcher_h):

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        New files for the implementation of the AtkText interface,
        containing the related code from WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: Added.
        (core):
        (textForRenderer):
        (textForObject):
        (getGailTextUtilForAtk):
        (getPangoLayoutForAtk):
        (baselinePositionForRenderObject):
        (getAttributeSetForAccessibilityObject):
        (compareAttribute):
        (attributeSetDifference):
        (accessibilityObjectLength):
        (getAccessibilityObjectForOffset):
        (getRunAttributesFromAccesibilityObject):
        (textExtents):
        (getSelectionOffsetsForObject):
        (webkitAccessibleTextInterfaceInit):
        (webkitAccessibleTextGetText):
        (webkitAccessibleTextGetTextAfterOffset):
        (webkitAccessibleTextGetTextAtOffset):
        (webkitAccessibleTextGetTextBeforeOffset):
        (webkitAccessibleTextGetCharacterAtOffset):
        (webkitAccessibleTextGetCaretOffset):
        (webkitAccessibleTextGetRunAttributes):
        (webkitAccessibleTextGetDefaultAttributes):
        (webkitAccessibleTextGetCharacterExtents):
        (webkitAccessibleTextGetRangeExtents):
        (webkitAccessibleTextGetCharacterCount):
        (webkitAccessibleTextGetOffsetAtPoint):
        (webkitAccessibleTextGetNSelections):
        (webkitAccessibleTextGetSelection):
        (webkitAccessibleTextAddSelection):
        (webkitAccessibleTextRemoveSelection):
        (webkitAccessibleTextSetSelection):
        (webkitAccessibleTextSetCaretOffset):
        * accessibility/gtk/WebKitAccessibleInterfaceText.h: Added.

        Move common function selectionBelongsToObject out from the wrapper
        to the utility file, used from WebKitAccessibleInterfaceText.cpp.

        * accessibility/gtk/WebKitAccessibleUtil.cpp:
        (selectionBelongsToObject): Taken from WebKitAccessibleWrapperAtk.cpp.
        * accessibility/gtk/WebKitAccessibleUtil.h:
        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
        implementation of selectionBelongsToObject, and the code related
        to the implementation of the AtkText interface.
        (webkit_accessible_get_name): Update call to the former function
        webkit_accessible_text_get_text and use the new function name.
        (webkit_accessible_table_get_column_description): Ditto.
        (webkit_accessible_table_get_row_description): Ditto.

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceText.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        New files for the implementation of the AtkValue interface,
        containing the related code from WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp: Added.
        (core):
        (webkitAccessibleValueInterfaceInit):
        (webkitAccessibleValueGetCurrentValue):
        (webkitAccessibleValueGetMaximumValue):
        (webkitAccessibleValueGetMinimumValue):
        (webkitAccessibleValueSetCurrentValue):
        (webkitAccessibleValueGetMinimumIncrement):
        * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Added.
        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
        related to the implementation of the AtkValue interface.

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceValue.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-24  Antti Koivisto  <antti@apple.com>

        Reduce internal use of CSSStyleDeclaration base class
        https://bugs.webkit.org/show_bug.cgi?id=76904

        Reviewed by Andreas Kling.

        Internally WebCore should use the more specific CSSMutableStyleDeclaration and CSSComputedStyleDeclaration types.
        The CSSStyleDeclaration base should be used in the DOM API functions only. This will make it easier to separate 
        internal style sheet implementation from the DOM in the future.
        
        - Switch CSSStyleDeclaration -> CSSMutableStyleDeclaration where feasible
        - Use StyledElement::ensureInlineStyleDecl() instead of Element::style() (which is a DOM API function)
        - Remove Attribute::style() which looks like a DOM API function but is not exposed.

        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
        * dom/Attr.h:
        (WebCore::Attr::style):
        * dom/Attribute.h:
        * editing/EditingStyle.cpp:
        (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
        (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
        (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
        (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
        (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
        * editing/Editor.cpp:
        (WebCore::Editor::applyEditingStyleToElement):
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
        (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
        (WebCore::propertyMissingOrEqualToNone):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::serializeFrame):
        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
        * page/PageSerializer.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::getPresentationAttribute):

2012-01-23  Andreas Kling  <awesomekling@apple.com>

        Make elements that don't have attributes smaller.
        <http://webkit.org/b/76876>

        Reviewed by Antti Koivisto.

        Move the inline style declaration from StyledElement to NamedNodeMap, since having
        an inline style declaration also implies having a style attribute on the element.
        This saves one CPU word per element that has no attributes.

        This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
        HTML5 spec at <http://whatwg.org/c>.

        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::ensureInlineStyleDecl):
        (WebCore::NamedNodeMap::destroyInlineStyleDecl):
        (WebCore::NamedNodeMap::createInlineStyleDecl):
        * dom/NamedNodeMap.h:
        (WebCore::NamedNodeMap::inlineStyleDecl):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::updateStyleAttribute):
        (WebCore::StyledElement::addSubresourceAttributeURLs):
        * dom/StyledElement.h:
        (WebCore::StyledElement::inlineStyleDecl):
        (WebCore::StyledElement::ensureInlineStyleDecl):
        (WebCore::StyledElement::destroyInlineStyleDecl):

2012-01-24  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
        https://bugs.webkit.org/show_bug.cgi?id=76877

        Reviewed by Kenneth Rohde Christiansen.

        Add BitmapTexture::updateRawContents(), which allows uploading image data to a texture
        without changing its format or swizzling RGB. The data has to be in the texture's native
        format.

        No new tests, this affects performance on all existing tests.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::updateRawContents):
        * platform/graphics/qt/TextureMapperQt.cpp:
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::BitmapTexture::updateRawContents):
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::setContentsTileBackBuffer):
        * platform/graphics/texmap/TextureMapperNode.h:

2012-01-24  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: inspector/debugger/dom-breakpoints.html started to fail after r105642
        https://bugs.webkit.org/show_bug.cgi?id=76908

        Reviewed by Yury Semikhatsky.

        * css/CSSMutableStyleDeclaration.cpp:

2012-01-24  Csaba Osztrogonác  <ossy@webkit.org>

        [Refactoring] Make finish() of CodeGeneratorJS.pm empty
        https://bugs.webkit.org/show_bug.cgi?id=76846

        Reviewed by Tor Arne Vestbø.

        * bindings/scripts/CodeGeneratorJS.pm: Warning fix after r105683.
        (WriteData):

2012-01-24  Andras Becsi  <andras.becsi@nokia.com>

        [Qt] Fix the build with the newes Qt5 hashes
        https://bugs.webkit.org/show_bug.cgi?id=76657

        Reviewed by Simon Hausmann.

        No new tests needed.

        * platform/graphics/cairo/OpenGLShims.cpp:
        (WebCore::getProcAddress): Adopt API changes.

2012-01-24  Ádám Kallai  <Kallai.Adam@stud.u-szeged.hu>

        [Qt] Incremental build problem.
        https://bugs.webkit.org/show_bug.cgi?id=74687

        It is necessary to set mathattrs.in dependency for generating MathMLNames.cpp file.

        Reviewed by Csaba Osztrogonác.

        * DerivedSources.pri:
        I added missing depend.

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        New files for the implementation of the AtkSelection interface,
        containing the related code from WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp: Added.
        (core):
        (listObjectForSelection):
        (optionFromList):
        (optionFromSelection):
        (webkitAccessibleSelectionInterfaceInit):
        (webkitAccessibleSelectionAddSelection):
        (webkitAccessibleSelectionClearSelection):
        (webkitAccessibleSelectionRefSelection):
        (webkitAccessibleSelectionGetSelectionCount):
        (webkitAccessibleSelectionIsChildSelected):
        (webkitAccessibleSelectionRemoveSelection):
        (webkitAccessibleSelectionSelectAllSelection):
        * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Added.
        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
        related to the implementation of the AtkSelection interface.

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceSelection.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        New files for the implementation of the AtkImage interface,
        containing the related code from WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp: Added.
        (core):
        (webkitAccessibleImageInterfaceInit):
        (webkitAccessibleImageGetImagePosition):
        (webkitAccessibleImageGetImageDescription):
        (webkitAccessibleImageGetImageSize):
        * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Added.
        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
        related to the implementation of the AtkImage interface.

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceImage.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        New files for the implementation of the AtkHypertext interface,
        containing the related code from WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp: Added.
        (core):
        (webkitAccessibleHypertextInterfaceInit):
        (webkitAccessibleHypertextGetLink):
        (webkitAccessibleHypertextGetNLinks):
        (webkitAccessibleHypertextGetLinkIndex):
        * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Added.
        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
        related to the implementation of the AtkHypertext interface.

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceHypertext.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        New files for the implementation of the AtkHyperlinkImpl interface,
        containing the related code from WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp: Added.
        (webkitAccessibleHyperlinkImplInterfaceInit):
        (webkitAccessibleHyperlinkImplGetHyperlink):
        * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Added.
        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
        related to the implementation of the AtkHyperlinkImpl interface.
        (webkit_accessible_class_init):

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceHyperlinkImpl.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        New files for the implementation of the AtkEditableText interface,
        containing the related code from WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp: Added.
        (core):
        (webkitAccessibleEditableTextInterfaceInit):
        (webkitAccessibleEditableTextSetRunAttributes):
        (webkitAccessibleEditableTextSetTextContents):
        (webkitAccessibleEditableTextInsertText):
        (webkitAccessibleEditableTextCopyText):
        (webkitAccessibleEditableTextCutText):
        (webkitAccessibleEditableTextDeleteText):
        (webkitAccessibleEditableTextPasteText):
        * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Added.
        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
        related to the implementation of the AtkEditableText interface.

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceEditableText.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        New files for the implementation of the AtkDocument interface,
        containing the related code from WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp: Added.
        (core):
        (documentAttributeValue):
        (webkitAccessibleDocumentInterfaceInit):
        (webkitAccessibleDocumentGetAttributeValue):
        (webkitAccessibleDocumentGetAttributes):
        (webkitAccessibleDocumentGetLocale):
        * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Added.

        Move common function addAttributeToSet() out from the wrapper to
        the utility file, used from WebKitAccessibleInterfaceDocument.cpp.

        * accessibility/gtk/WebKitAccessibleUtil.cpp:
        (addToAtkAttributeSet): Taken from WebKitAccessibleWrapperAtk.cpp.
        * accessibility/gtk/WebKitAccessibleUtil.h:
        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
        implementation of addAttributeToSet, as well as all the code related
        to the implementation of the AtkDocument interface.

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceDocument.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        New files for the implementation of the AtkComponent interface,
        containing the related code from WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp: Added.
        (core):
        (atkToContents):
        (webkitAccessibleComponentInterfaceInit):
        (webkitAccessibleComponentRefAccessibleAtPoint):
        (webkitAccessibleComponentGetExtents):
        (webkitAccessibleComponentGrabFocus):
        * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Added.

        Move common function contentsToAtk() out from the wrapper to the
        utility file, used from WebKitAccessibleInterfaceComponent.cpp.

        * accessibility/gtk/WebKitAccessibleUtil.cpp:
        (contentsRelativeToAtkCoordinateType): Taken from WebKitAccessibleWrapperAtk.cpp.
        * accessibility/gtk/WebKitAccessibleUtil.h:
        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
        implementation of contentsToAtk, as well as all the code related
        to the implementation of the AtkComponent interface.

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceComponent.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-24  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] Makes finish() of CodeGeneratorV8.pm empty
        https://bugs.webkit.org/show_bug.cgi?id=76841

        Reviewed by Adam Barth.

        This is one of steps to stop rebuilding .h/.cpp files
        generated by unchanged IDLs (bug 76836).

        As refactoring, we are planning to remove finish() from
        all CodeGenerators. This patch makes finish() of
        CodeGeneratorV8.pm empty.

        No new tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm:
        (finish): Made it empty. We will remove finish() after
        making finish() of all CodeGenerators empty.
        (GenerateInterface): Modified to call WriteData().
        (WriteData): Simple code refactoring.
        Removed if(defined $IMPL).
        Removed if(defined $HEADER).
        $IMPL -> IMPL.
        $HEADER -> HEADER.

2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>

        Unreviewed build fix for GTK after r105698.

        * bindings/js/JSPeerConnectionCustom.cpp:
        (WebCore::JSPeerConnectionConstructor::constructJSPeerConnection):

2012-01-24  Kent Tamura  <tkent@chromium.org>

        Fix build erros on Mac by r105706.
        https://bugs.webkit.org/show_bug.cgi?id=76763

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::compressedTexImage2D): Removed unused argument names.
        (WebCore::WebGLRenderingContext::compressedTexSubImage2D): ditto.

2012-01-23  Kent Tamura  <tkent@chromium.org>

        Introduce RadioButtonGroup class to keep track of the group members and required state
        https://bugs.webkit.org/show_bug.cgi?id=74909

        Reviewed by Darin Adler.

        RadioButtonGroup contains a set of member radio buttons in the group,
        and "required" status of the group. This helps implementing correct
        radio button validity, and improving performance of updating validity
        status of radio buttons.

        This change fixes the following bugs:
        - A radio button should be "required" if one of a member of the same
          group has the "required" attribute.
          https://bugs.webkit.org/show_bug.cgi?id=76365
        - :invalid style is not applied when a checked radio button is removed
          from its radio group
          https://bugs.webkit.org/show_bug.cgi?id=74914
        - Loading a page with N radio buttons in a group takes O(N^2) time.

        Tests: fast/forms/radio/radio-live-validation-style.html
               perf/adding-radio-buttons.html

        * dom/CheckedRadioButtons.cpp:
        (WebCore::RadioButtonGroup::isEmpty):
        (WebCore::RadioButtonGroup::isRequired):
        (WebCore::RadioButtonGroup::checkedButton):
        (WebCore::RadioButtonGroup::RadioButtonGroup):
        (WebCore::RadioButtonGroup::create):
        (WebCore::RadioButtonGroup::isValid):
        (WebCore::RadioButtonGroup::setCheckedButton):
        (WebCore::RadioButtonGroup::add):
        (WebCore::RadioButtonGroup::updateCheckedState):
        (WebCore::RadioButtonGroup::requiredAttributeChanged):
        (WebCore::RadioButtonGroup::remove):
        (WebCore::RadioButtonGroup::setNeedsValidityCheckForAllButtons):
        Add RadioButtonGroup class. It keeps track of pointers to member radio
        buttons and required status of the group in addition to the checked
        radio button pointer.

        (WebCore::CheckedRadioButtons::CheckedRadioButtons):
        (WebCore::CheckedRadioButtons::~CheckedRadioButtons):
        Define empty constructor and destructor in order to avoid exposing
        RadioButtonGroup class.

        (WebCore::CheckedRadioButtons::addButton):
        (WebCore::CheckedRadioButtons::updateCheckedState):
        (WebCore::CheckedRadioButtons::requiredAttributeChanged):
        (WebCore::CheckedRadioButtons::checkedButtonForGroup):
        (WebCore::CheckedRadioButtons::isInRequiredGroup):
        (WebCore::CheckedRadioButtons::removeButton):
        Change the HashMap member of this class so that it maps a group name to
        a RadioButtonGroup object. These functions just get a RadioButtonGroup
        object and call a corresponding member function of RadioButtonGroup.

        * dom/CheckedRadioButtons.h: Update declarations.

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::parseMappedAttribute):
        (WebCore::HTMLFormControlElement::requiredAttributeChanged):
        Move a part of parseMappedAttribute() into requiredAttributeChanged().
        * html/HTMLFormControlElement.h: Add requiredAttributeChanged().
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::valueMissing):
        Move required check code to InputType::valueMissing implementations.
        RadioInputType needs special handling for checking required state.
        readOnly() and disabled() are unnecessary because willValidate() checks them.
        (WebCore::HTMLInputElement::setChecked):
        Call new function CheckedRadioButtons::updateCheckedState() instead of
        removeButton() and updateCheckedRadioButtons().
        (WebCore::HTMLInputElement::requiredAttributeChanged):
        Override this to call CheckedRadioButtons::requiredAttributeChanged().
        * html/HTMLInputElement.h: Add requiredAttributeChanged().
        * html/RadioInputType.cpp:
        (WebCore::RadioInputType::valueMissing):
        Check required state by CheckedRadioButtons::isInRequiredGroup().
        * html/RadioInputType.h: Remove attach().

        * html/CheckboxInputType.cpp:
        (WebCore::CheckboxInputType::valueMissing):
          Move required check from HTMLInputElement::valueMissing().
        * html/FileInputType.cpp:
        (WebCore::FileInputType::valueMissing): ditto.
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::valueMissing): ditto.

2012-01-24  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] PNG image with CMYK ICC color profile renders color-inverted and squashed
        https://bugs.webkit.org/show_bug.cgi?id=76804

        Reviewed by Adam Barth.

        Use color profiles for PNG images only if their embedded color profile is from an RGB
        color space input device.

        Test: fast/images/rgb-png-with-cmyk-color-profile.html

        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::rgbColorProfile): Return true if the profile has an RGB color space.
        (WebCore::ImageDecoder::inputDeviceColorProfile): Return true if the profile is from an input device.
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::readColorProfile): Ignore PNG image embedded color profile unless the profile
        comes from an RGB color space input device.
        (WebCore::PNGImageDecoder::headerAvailable): Minor white-space removals courtesy Xcode.

2012-01-23  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: fix sticky DOM breakpoints.
        https://bugs.webkit.org/show_bug.cgi?id=64437

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DOMBreakpointsSidebarPane.js:
        (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):

2012-01-24  Gregg Tavares  <gman@google.com>

        Expose WebGL texture compression methods on WebGLRenderingContext
        https://bugs.webkit.org/show_bug.cgi?id=76763

        Reviewed by Kenneth Russell.

        Test: fast/canvas/webgl/compressed-tex-image.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::compressedTexImage2D):
        (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:

2012-01-24  Kenichi Ishibashi  <bashi@chromium.org>

        [V8] Add Uint8ClampedArray support
        https://bugs.webkit.org/show_bug.cgi?id=76803

        Reviewed by Kenneth Russell.

        No new tests. fast/js/script-tests/dfg-uint8clampedarray.js should pass on chromium port.

        * WebCore.gypi: Added required files.
        * bindings/scripts/CodeGeneratorV8.pm:
        (IsTypedArrayType): Added Uint8ClampedArray.
        * bindings/v8/SerializedScriptValue.cpp: Added the tag for Uint8ClampedArray.
        (WebCore::V8ObjectMap::Writer::writeArrayBufferView): Appends the tag when buffer is Uint8ClampedArray.
        (WebCore::V8ObjectMap::Reader::readArrayBufferView): Creates Uint8ClampedArray instance when the tag represents Uint8ClampedArray.
        * bindings/v8/custom/V8ArrayBufferViewCustomScript.js:
        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: Added.
        (WebCore::V8Uint8ClampedArray::constructorCallback):
        (WebCore::V8Uint8ClampedArray::setCallback):
        (WebCore::toV8):
        * page/Crypto.cpp: Added isUnsignedByteClampedArray() call to isIntegerArray().
        * page/DOMWindow.idl: Removed ifdefs.
        * workers/WorkerContext.idl: Added Uint8ArrayConstructor.

2012-01-24  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed build fix for GTK Debug build after r105698.

        * bindings/js/JSNavigatorCustom.cpp:
        (WebCore::JSNavigator::webkitGetUserMedia):

2012-01-23  Scott Graham  <scottmg@chromium.org>

        Avoid spurious rebuilds on vs2010 due to DerivedSources not existing
        https://bugs.webkit.org/show_bug.cgi?id=76873

        Reviewed by Adam Barth.

        * WebCore.gyp/WebCore.gyp:

2012-01-23  Geoffrey Garen  <ggaren@apple.com>

        JSValue::toString() should return a JSString* instead of a UString
        https://bugs.webkit.org/show_bug.cgi?id=76861

        Reviewed by Gavin Barraclough.

        Mechanical changes to call value() after calling toString(), to
        convert from "JS string" (JSString*) to "C++ string" (UString), since
        toString() no longer returns a "C++ string".

        * bindings/js/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromValue):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::clearData):
        (WebCore::JSClipboard::getData):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::valueToStringWithNullCheck):
        (WebCore::valueToStringWithUndefinedOrNullCheck):
        (WebCore::reportException):
        * bindings/js/JSDOMFormDataCustom.cpp:
        (WebCore::JSDOMFormData::append):
        * bindings/js/JSDOMStringMapCustom.cpp:
        (WebCore::JSDOMStringMap::putDelegate):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        (WebCore::JSDOMWindow::open):
        (WebCore::JSDOMWindow::addEventListener):
        (WebCore::JSDOMWindow::removeEventListener):
        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
        * bindings/js/JSDeviceOrientationEventCustom.cpp:
        (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
        * bindings/js/JSDictionary.cpp:
        (WebCore::JSDictionary::convertValue):
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::setLocation):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::callHTMLAllCollection):
        (WebCore::JSHTMLAllCollection::item):
        (WebCore::JSHTMLAllCollection::namedItem):
        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::JSHTMLCollection::item):
        (WebCore::JSHTMLCollection::namedItem):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::documentWrite):
        * bindings/js/JSHTMLInputElementCustom.cpp:
        (WebCore::JSHTMLInputElement::setSelectionDirection):
        (WebCore::JSHTMLInputElement::setSelectionRange):
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::JSInspectorFrontendHost::showContextMenu):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::setHref):
        (WebCore::JSLocation::setProtocol):
        (WebCore::JSLocation::setHost):
        (WebCore::JSLocation::setHostname):
        (WebCore::JSLocation::setPort):
        (WebCore::JSLocation::setPathname):
        (WebCore::JSLocation::setSearch):
        (WebCore::JSLocation::setHash):
        (WebCore::JSLocation::replace):
        (WebCore::JSLocation::assign):
        * bindings/js/JSMessageEventCustom.cpp:
        (WebCore::handleInitMessageEvent):
        * bindings/js/JSSQLTransactionCustom.cpp:
        (WebCore::JSSQLTransaction::executeSql):
        * bindings/js/JSSQLTransactionSyncCustom.cpp:
        (WebCore::JSSQLTransactionSync::executeSql):
        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::putDelegate):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::getExtension):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
        (WebCore::JSWebSocket::send):
        (WebCore::JSWebSocket::close):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::importScripts):
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorkerConstructor::constructJSWorker):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        (WebCore::JSXMLHttpRequest::send):
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::setParameter):
        (WebCore::JSXSLTProcessor::getParameter):
        (WebCore::JSXSLTProcessor::removeParameter):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerBody):
        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::toString):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateEventListenerCall):
        (JSValueToNative):
        (GenerateConstructorDefinition):
        * bridge/c/c_utility.cpp:
        (JSC::Bindings::convertValueToNPVariant):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::convertValueToJObject):
        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
        (JSC::Bindings::convertArrayInstanceToJavaArray):
        (JSC::Bindings::convertValueToJValue):
        * bridge/jni/jsc/JavaFieldJSC.cpp:
        (JavaField::dispatchValueFromInstance):
        (JavaField::valueFromInstance):
        (JavaField::dispatchSetValueToInstance):
        (JavaField::setValueToInstance):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        * testing/js/JSInternalsCustom.cpp:
        (WebCore::JSInternals::setUserPreferredLanguages):

2012-01-23  Kentaro Hara  <haraken@chromium.org>

        In CodeGeneratorObjC.pm, overwrite the output .h/.mm
        only if the bytes differ
        https://bugs.webkit.org/show_bug.cgi?id=76874

        Reviewed by Adam Barth.

        This is one of steps to stop rebuilding .h/.cpp/.mm files
        generated by unchanged IDLs (bug 76836).
        This patch makes a change on CodeGeneratorObjC.pm so that
        it overwrites the output .h/.mm only if the bytes differ.

        No tests. No change in behavior.
        I manually confirmed that when I add a new attribute to Element.idl,
        the time-stamps of unrelated DOM*.h and DOM*.mm do not change.

        * bindings/scripts/CodeGenerator.pm:
        (UpdateFileIfChanged): Added. This method writes data to a file
        only if the data is different from the data in the current file.
        * bindings/scripts/CodeGeneratorObjC.pm:
        (WriteData): Used UpdateFileIfChanged().

2012-01-23  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION: Downloaded file name fallback encodings are not set correctly
        https://bugs.webkit.org/show_bug.cgi?id=76862

        Reviewed by Adam Barth.

        Tests: http/tests/download/default-encoding.html
               http/tests/download/form-submission-result.html
               http/tests/download/inherited-encoding.html
               http/tests/download/literal-utf-8.html

        * loader/DocumentWriter.cpp:
        * loader/DocumentWriter.h:
        Removed deprecatedFrameEncoding. Due to changes in Document::encoding behavior, it can now
        be used in its place.

        * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Instead of hunting
        down a correct loader (and active one is not always correct any more), just use opening document's
        encoding.

2012-01-23  Ojan Vafai  <ojan@chromium.org>

        Implement flex-pack:distribute
        https://bugs.webkit.org/show_bug.cgi?id=76864

        Reviewed by Tony Chang.

        See http://dev.w3.org/csswg/css3-flexbox/#flex-pack.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFlexPack):
        * css/CSSValueKeywords.in:
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::initialPackingOffset):
        (WebCore::packingSpaceBetweenChildren):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
        (WebCore::RenderFlexibleBox::layoutColumnReverse):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleFlexibleBoxData.h:

2012-01-23  Luke Macpherson   <macpherson@chromium.org>

        Implement CSS clip property in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=74913

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSPrimitiveValue.h:
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::convertToLength):
        This new function aims to provide a single call for converting many CSSPrimitiveValue
        values to Lengths. It is templated to allow the caller to specify which conversions
        are appropriate depending on the context in which the value is used.
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyClip::convertToLength):
        (WebCore::ApplyPropertyClip::applyInheritValue):
        (WebCore::ApplyPropertyClip::applyInitialValue):
        (WebCore::ApplyPropertyClip::applyValue):
        (WebCore::ApplyPropertyClip::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2012-01-23  Tom Sepez  <tsepez@chromium.org>

        decodeEscapeSequences() not correct for some encodings (GBK, Big5, ...).
        https://bugs.webkit.org/show_bug.cgi?id=71316

        Reviewed by Daniel Bates.

        Pass trailing unescaped bytes into the character set decoder to get correct
        results in the presence of encodings which re-use ASCII values in sequences.
        
        Tests: http/tests/navigation/anchor-frames-gbk.html
               http/tests/security/xssAuditor/iframe-onload-GBK-char.html
               http/tests/security/xssAuditor/img-onerror-GBK-char.html
               http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html
               http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html
               http/tests/security/xssAuditor/script-tag-Big5-char.html
               http/tests/security/xssAuditor/script-tag-Big5-char2.html

        * platform/text/DecodeEscapeSequences.h:
        (WebCore::Unicode16BitEscapeSequence::findInString):
        (WebCore::Unicode16BitEscapeSequence::findEndOfRun):
        (WebCore::Unicode16BitEscapeSequence::decodeRun):
        (WebCore::URLEscapeSequence::findInString):
        (WebCore::URLEscapeSequence::findEndOfRun):
        (WebCore::URLEscapeSequence::decodeRun):
        (WebCore::decodeEscapeSequences):

2012-01-23  Adam Barth  <abarth@webkit.org>

        Fix a build break in a clean compile of the Chromium port (at least
        reported by tbreisacher).

        * css/CSSStyleDeclaration.cpp:

2012-01-23  Zan Dobersek  <zandobersek@gmail.com>

        [GTK] editing/deleting/5408255.html results are incorrect
        https://bugs.webkit.org/show_bug.cgi?id=53644

        Reviewed by Martin Robinson.

        When the WEBKIT_TOP_LEVEL environment variable is set, resources
        should be loaded from the source tree to which the variable is
        pointing. This approach is used when performing testing on the
        Gtk port.

        No new tests, changes cause one test to pass.

        * platform/graphics/gtk/ImageGtk.cpp:
        (getPathToImageResource): Also make changes to the resource path
        construction code on Windows.
        (WebCore::Image::loadPlatformResource):

2012-01-23  Julien Chaffraix  <jchaffraix@webkit.org>

        Crash in WebCore::RenderTableSection::rowLogicalHeightChanged
        https://webkit.org/b/76842

        Reviewed by Darin Adler.

        Test: fast/table/crash-section-logical-height-changed-needsCellRecalc.html

        The issue was that we would access our section's structure when it was dirty.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::rowLogicalHeightChanged):
        Bail out if we need cells recalculation as our internal structure is not up-to-date
        and we will recompute all the rows' heights as part of the recomputation anyway.

2012-01-23  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] Make finish() of CodeGeneratorJS.pm empty
        https://bugs.webkit.org/show_bug.cgi?id=76846

        Reviewed by Adam Barth.

        This is one of steps to stop rebuilding .h/.cpp files generated
        by unchanged IDLs (bug 76836).

        As a refactoring, we are planning to remove finish() from all
        CodeGenerators. In this bug, we make finish() of CodeGeneratorJS.pm
        empty.

        No new tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (finish): Made it empty. We will remove finish() after
        making finish() of all CodeGenerators empty.
        (GenerateInterface): Modified to call WriteData().
        (WriteData): Simple code refactoring.
        Removed if(defined $IMPL).
        Removed if(defined $HEADER).
        Removed if(defined $DEPS).
        $IMPL -> IMPL.
        $HEADER -> HEADER.
        $DEPS -> DEPS.

2012-01-23  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] updateRect is incorrect when contentBounds != bounds
        https://bugs.webkit.org/show_bug.cgi?id=72919

        Reviewed by James Robinson.

        Unit test added to TiledLayerChromiumTest.cpp

        The m_updateRect member in LayerChromium types is used to track
        what was painted for that layer. For tiled layers (especially
        image layers), the updateRect was being given with respect to the
        size of the content, rather than the size of the layer. This patch
        adds a conversion so that updateRect is always with respect to the
        layer size, so that damage tracking will work correctly in those
        cases.

        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::updateCompositorResources):

2012-01-23  Konrad Piascik  <kpiascik@rim.com>

        Web Inspector: Make "Copy as HTML" use the same copy functions as other copy methods.
        https://bugs.webkit.org/show_bug.cgi?id=76706

        Reviewed by Pavel Feldman.

        Changed DOMAgent.copyNode to call getOuterHTML and use the callback function to
        return the text to InspectorFrontendHost.copyText.  This will make all copy
        functions use the same code path.

        Not testable.

        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype.copyNode.copy):
        (WebInspector.DOMNode.prototype.copyNode):

2012-01-23  Luke Macpherson   <macpherson@chromium.org>

        Make zoom multiplier float instead of double to match RenderStyle::effectiveZoom etc. and thus avoid unnecessary precision conversions.
        https://bugs.webkit.org/show_bug.cgi?id=69490

        Reviewed by Andreas Kling.

        Covered by existing tests.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLength):
        Use float multiplier instead of double.
        (WebCore::CSSPrimitiveValue::computeLengthDouble):
        Use float multiplier instead of double.
        * css/CSSPrimitiveValue.h:
        Change type signatures of computeLength template prototype.

2012-01-23  Priit Laes  <plaes@plaes.org>

        [GTK][PATCH] More build silencing with (AM_V_...)
        https://bugs.webkit.org/show_bug.cgi?id=76791

        Reviewed by Gustavo Noronha Silva.

        * GNUmakefile.am: Silence is golden...

2012-01-23  Arko Saha  <nghq36@motorola.com>

        MicroData: Remove ExceptionCode& from setAttribute() call.
        https://bugs.webkit.org/show_bug.cgi?id=76695

        Reviewed by Hajime Morita.

        Changeset http://trac.webkit.org/changeset/103296 removed unused
        ExceptionCode& argument from Element::setAttribute(QualifiedName).
        Hence updating all calls to setAttribute() method in MicroData code.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::setItemValueText):
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::setItemValueText):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::setItemValueText):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::setItemValueText):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::setItemValueText):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setItemValueText):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setItemValueText):
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::setItemValueText):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::setItemValueText):
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::setItemValueText):
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::setItemValueText):

2012-01-23  Hayato Ito  <hayato@chromium.org>

        Fix crash when a focused node is removed while in processing focusin event.
        https://bugs.webkit.org/show_bug.cgi?id=76656

        Reviewed by Dimitri Glazkov.

        Test: fast/events/focus-remove-focuesed-node.html

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode):

2012-01-23  David Levin  <levin@chromium.org>

        [windows] Convert usages of GetDC to HWndDC Part 1.
        https://bugs.webkit.org/show_bug.cgi?id=76744

        Reviewed by Adam Roben.

        No new functionality so no new tests.

        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters): Changed GetDC to HWndDC
        and removed ReleaseDC.
        (WebCore::createGDIFont): Ditto.
        (WebCore::FontCache::getTraitsInFamily): Ditto.
        * platform/graphics/win/FontPlatformDataWin.cpp:
        (WebCore::FontPlatformData::FontPlatformData): Ditto.
        * platform/graphics/win/SimpleFontDataCGWin.cpp:
        (WebCore::SimpleFontData::platformInit): Ditto.
        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::initGDIFont): Ditto.
        (WebCore::SimpleFontData::containsCharacters): Ditto.
        (WebCore::SimpleFontData::determinePitch): Ditto.
        (WebCore::SimpleFontData::boundsForGDIGlyph): Ditto.
        (WebCore::SimpleFontData::widthForGDIGlyph): Ditto.
        (WebCore::SimpleFontData::scriptFontProperties): Ditto.
        * platform/win/CursorWin.cpp:
        (WebCore::createSharedCursor): Ditto.
        * platform/win/DragImageCGWin.cpp:
        (WebCore::scaleDragImage): Ditto.
        (WebCore::createDragImageFromImage): Ditto.
        * platform/win/DragImageWin.cpp:
        (WebCore::createDragImageForLink): Ditto.
        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeImage): Ditto.

2012-01-23  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Scrollbars do not respect the has-backward-stepper and has-forward-stepper properties
        https://bugs.webkit.org/show_bug.cgi?id=76747

        Reviewed by Gustavo Noronha Silva.

        No new tests. Regressions are covered by existing tests, but testing
        different GTK+ theme configurations is not possible yet.

        * platform/gtk/ScrollbarThemeGtk.cpp:
        (WebCore::ScrollbarThemeGtk::backButtonRect): If there is no back stepper, return an empty rect.
        (WebCore::ScrollbarThemeGtk::forwardButtonRect): If there is no forward stepper, return an empty rect.
        (WebCore::ScrollbarThemeGtk::trackRect): Adjust track rect calculation to account for when there is
        no steppers.
        * platform/gtk/ScrollbarThemeGtk.h: New members describing whether there are primary steppers.
        * platform/gtk/ScrollbarThemeGtk2.cpp:
        (WebCore::ScrollbarThemeGtk::updateThemeProperties): Look at the theme to determine if there
        are primary foward and back steppers.
        * platform/gtk/ScrollbarThemeGtk3.cpp:
        (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.

2012-01-23  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r105396): drag state is not cleared after each drag
        https://bugs.webkit.org/show_bug.cgi?id=76878

        Reviewed by Alexey Proskuryakov.

        Revert a part of r105396 that made performDragAndDrop not call clearDragState
        when the default action was not prevented since it caused a regression.

        I'm pretty certain always calling clearDragState in performDragAndDrop is wrong
        but I can't think of a test case where this becomes a problem at the moment.
        Since this area is not well tested, revert the change instead of making further
        changes to the code base.

        Tests: fast/events/clear-drag-state.html
               fast/events/clear-edit-drag-state.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::performDragAndDrop):

2012-01-23  Thiago Marcos P. Santos  <tmpsantos@gmail.com>

        Fixed typo in exception messages
        https://bugs.webkit.org/show_bug.cgi?id=76710

        Reviewed by Alexey Proskuryakov.

        * dom/DOMCoreException.cpp:
        * fileapi/FileException.cpp:
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::postflightAndCommit):
        * xml/XMLHttpRequestException.cpp:

2012-01-18  David Levin  <levin@chromium.org>

        Allow delayed DC allocation in HWndDC.
        https://bugs.webkit.org/show_bug.cgi?id=76737

        Reviewed by Adam Roben.

        No new functionality exposed so no new tests.

        * platform/win/HWndDC.h: Changed this slightly to allow
        for allocating a window DC after the initial creation since
        this pattern occurrs in several places so this makes it easy to
        replace them in an upcoming change.
        (WebCore::HWndDC::HWndDC):
        (WebCore::HWndDC::~HWndDC):
        (WebCore::HWndDC::setHWnd):
        (WebCore::HWndDC::clear):

2012-01-23  Arko Saha  <nghq36@motorola.com>

        MicroData: Compilation error while building Webkit with --microdata.
        https://bugs.webkit.org/show_bug.cgi?id=76703

        Reviewed by Hajime Morita.

        * dom/MicroDataItemList.cpp:
        (WebCore::MicroDataItemList::MicroDataItemList):
        (WebCore::MicroDataItemList::~MicroDataItemList):
        * dom/MicroDataItemList.h:
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::properties):
        * html/HTMLPropertiesCollection.cpp:
        (WebCore::HTMLPropertiesCollection::create):
        (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
        * html/HTMLPropertiesCollection.h:

2012-01-13  David Levin  <levin@chromium.org>

        [chromium] Convert uses of GetDC to HWndDC.
        https://bugs.webkit.org/show_bug.cgi?id=76290

        Reviewed by Dmitry Titov.

        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::createFontIndirectAndGetWinName):
        (WebCore::fontContainsCharacter):
        (WebCore::FontCache::getLastResortFallbackFont):
        (WebCore::FontCache::getTraitsInFamily):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        (WebCore::FontPlatformData::scriptFontProperties):
        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
        (WebCore::FontMap::getAscent):
        (WebCore::FontMap::getSpaceGlyph):
        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
        (WebCore::fillBMPGlyphs):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::EnsureCachedDCCreated):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::systemFontSize):
        (WebCore::pointsToPixels):

2012-01-23  Joe Thomas  <joethomas@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=75799
        Calling intersectsNode on a detached range should throw.

        INVALID_STATE_ERR exception should be thrown if intersectsNode is called on a detached Range.

        Reviewed by Darin Adler.

        Test: fast/dom/Range/range-intersectsNode-exception.html

        * dom/Range.cpp:
        (WebCore::Range::intersectsNode): Throwing INVALID_STATE_ERR exception if the range is detached.

2012-01-23  Daniel Cheng  <dcheng@chromium.org>

        Convert DataTransferItem/DataTransferItemList back into an interface class
        https://bugs.webkit.org/show_bug.cgi?id=76856

        When Qt implemented the DataTransferItemList, a lot of logic was moved into the shared
        classes since Chromium/Qt happened to implement it the same way. Now that I want to do some
        refactoring/cleanup work to better implement DataTransferItemList in Chromium, we won't
        share the same data anymore so it doesn't make sense to keep that code in a common location.

        Reviewed by David Levin.

        Covered by existing tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DataTransferItem.cpp:
        * dom/DataTransferItem.h:
        * dom/DataTransferItemList.cpp: Removed.
        * dom/DataTransferItemList.h:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::mayUpdateItems):
        * platform/chromium/DataTransferItemChromium.cpp:
        (WebCore::DataTransferItemChromium::create):
        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
        (WebCore::DataTransferItemChromium::getAsString):
        (WebCore::DataTransferItemChromium::getAsFile):
        (WebCore::DataTransferItemChromium::clipboardChromium):
        * platform/chromium/DataTransferItemChromium.h:
        (WebCore::DataTransferItemChromium::kind):
        (WebCore::DataTransferItemChromium::type):
        * platform/chromium/DataTransferItemListChromium.cpp:
        (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
        * platform/chromium/DataTransferItemListChromium.h:
        * platform/qt/DataTransferItemListQt.cpp:
        (WebCore::DataTransferItemListQt::DataTransferItemListQt):
        (WebCore::DataTransferItemListQt::length):
        (WebCore::DataTransferItemListQt::item):
        (WebCore::DataTransferItemListQt::deleteItem):
        (WebCore::DataTransferItemListQt::clear):
        (WebCore::DataTransferItemListQt::add):
        * platform/qt/DataTransferItemListQt.h:
        * platform/qt/DataTransferItemQt.cpp:
        (WebCore::DataTransferItemQt::create):
        (WebCore::DataTransferItemQt::DataTransferItemQt):
        (WebCore::DataTransferItemQt::getAsString):
        (WebCore::DataTransferItemQt::getAsFile):
        * platform/qt/DataTransferItemQt.h:
        (WebCore::DataTransferItemQt::kind):
        (WebCore::DataTransferItemQt::type):

2012-01-23  Andreas Kling  <awesomekling@apple.com>

        Unreviewed buildfix for ENABLE(MUTATION_OBSERVERS) following r105642.

        * css/CSSMutableStyleDeclaration.cpp:

2012-01-23  Philip Rogers  <pdr@google.com>

        Update uniteIfNonZero to use isZero.
        https://bugs.webkit.org/show_bug.cgi?id=76637

        Reviewed by Darin Adler.

        No new tests. (I found no existing codepath that would be affected by
        this change but I think this change is still valuable in preventing
        future bugs.)

        * platform/graphics/FloatRect.cpp:
        (WebCore::FloatRect::uniteIfNonZero):

        The following change is a minor followup to
        https://bugs.webkit.org/show_bug.cgi?id=76177#c12 and is not directly
        related to the rest of this patch.
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):

2012-01-23  Antti Koivisto  <antti@apple.com>

        Eliminate CSSElementStyleDeclaration
        https://bugs.webkit.org/show_bug.cgi?id=76848

        Reviewed by Andreas Kling.

        CSSElementStyleDeclaration has little functionality. It can merge with CSSMutableStyleDeclaration simplifying the code.
        
        Having an element parent is mutually exclusive with having a css rule parent. We can keep them in a union. This also
        shrinks all inline style declarations by one pointer.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.h:
        (WebCore::root):
        * css/CSSAllInOne.cpp:
        * css/CSSElementStyleDeclaration.cpp: Removed.
        * css/CSSElementStyleDeclaration.h: Removed.
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::createInline):
        (WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
        (WebCore::CSSStyleDeclaration::parentStyleSheet):
        
            Merge the CSSElementStyleDeclaration::styleSheet() logic here.
        
        * css/CSSStyleDeclaration.h:
        (WebCore::CSSStyleDeclaration::parentRule):
        (WebCore::CSSStyleDeclaration::clearParentRule):
        (WebCore::CSSStyleDeclaration::parentElement):
        (WebCore::CSSStyleDeclaration::clearParentElement):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):
        
            CSSStyleRule's style declaration can't have isElementStyleDeclaration set, the dead code can be removed.
            This is asserted in setDeclaration() and again implicitly in the destructor (by clearParentRule()).
        
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::destroyInlineStyleDecl):
        (WebCore::StyledElement::ensureInlineStyleDecl):
        (WebCore::StyledElement::copyNonAttributeProperties):
        * dom/StyledElement.h:
        (WebCore::StyledElement::inlineStyleDecl):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI):
        * html/ValidationMessage.cpp:
        (WebCore::adjustBubblePosition):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::setPosition):
        (WebCore::MediaControlPanelElement::resetPosition):
        (WebCore::MediaControlPanelElement::makeOpaque):
        (WebCore::MediaControlPanelElement::makeTransparent):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::TrackLimiterElement::create):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):

2012-01-23  Benjamin Poulain  <bpoulain@apple.com>

        Use OVERRIDE for PopupMenuClient's implementations
        https://bugs.webkit.org/show_bug.cgi?id=76774

        Reviewed by Darin Adler.

        * rendering/RenderMenuList.h: Also sort the methods to the same
        order as PopupMenuClient.
        * rendering/RenderTextControlSingleLine.h:

2012-01-23  Xianzhu Wang  <wangxianzhu@chromium.org>

        Basic enhancements to StringBuilder
        https://bugs.webkit.org/show_bug.cgi?id=67081

        These changes are because we explicitly disallowed StringBuilder's
        copy constructor and assignment operator, and the change of return
        type of StringBuilder::toString().

        Reviewed by Darin Adler.

        No new tests. All layout tests and unit tests should run as before.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
        * svg/SVGPathStringBuilder.h:
        (WebCore::SVGPathStringBuilder::cleanup):

2012-01-23  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Add WebSolidColorLayer interface to draw non-textured color layers from Aura.
        https://bugs.webkit.org/show_bug.cgi?id=75732

        Reviewed by James Robinson.

        Add WebSolidColorLayer to paint solid-color layers without a backing texture.

        Test: unit test for CCSolidColorLayerImpl.

        * WebCore.gypi:
        * platform/graphics/chromium/SolidColorLayerChromium.cpp: Added.
        (WebCore::SolidColorLayerChromium::createCCLayerImpl):
        (WebCore::SolidColorLayerChromium::create):
        (WebCore::SolidColorLayerChromium::SolidColorLayerChromium):
        (WebCore::SolidColorLayerChromium::~SolidColorLayerChromium):
        * platform/graphics/chromium/SolidColorLayerChromium.h: Added.
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp: Added.
        (WebCore::CCSolidColorLayerImpl::CCSolidColorLayerImpl):
        (WebCore::CCSolidColorLayerImpl::~CCSolidColorLayerImpl):
        (WebCore::CCSolidColorLayerImpl::quadTransform):
        (WebCore::CCSolidColorLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h: Added.
        (WebCore::CCSolidColorLayerImpl::create):
        (WebCore::CCSolidColorLayerImpl::layerTypeAsString):

2012-01-23  Antti Koivisto  <antti@apple.com>

        Attempt to fix Qt build.
    
        Not reviewed.

        * css/CSSElementStyleDeclaration.cpp:
        * css/CSSElementStyleDeclaration.h:
        (WebCore::CSSElementStyleDeclaration::createForSVGFontFaceElement):

2012-01-23  Andreas Kling  <awesomekling@apple.com>

        Move m_rootEditableElementForSelectionOnMouseDown off of HTMLAnchorElement.
        <http://webkit.org/b/76833>

        Reviewed by Antti Koivisto.

        Move HTMLAnchorElement::m_rootEditableElementForSelectionOnMouseDown to a rare
        data-style hashmap, effectively shrinking HTMLAnchorElement by one CPU word.

        The pointer is only used during interactive event handling, so it shouldn't have
        any noticeable effects on web performance.

        This reduces memory consumption by 256 kB (on 64-bit) when viewing the full
        HTML5 spec at <http://whatwg.org/c>.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
        (WebCore::HTMLAnchorElement::~HTMLAnchorElement):
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
        (WebCore::rootEditableElementMap):
        (WebCore::HTMLAnchorElement::rootEditableElementForSelectionOnMouseDown):
        (WebCore::HTMLAnchorElement::setRootEditableElementForSelectionOnMouseDown):
        * html/HTMLAnchorElement.h:

2012-01-23  Antti Koivisto  <antti@apple.com>

        Eliminate CSSElementStyleDeclaration subclasses
        https://bugs.webkit.org/show_bug.cgi?id=76827

        Reviewed by Andreas Kling.

        CSSInlineStyleDeclaration and FontFaceStyleDeclaration serve no real purpose.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSElementStyleDeclaration.cpp:
        (WebCore::CSSElementStyleDeclaration::createForSVGFontFaceElement):
        (WebCore::CSSElementStyleDeclaration::styleSheet):
        * css/CSSElementStyleDeclaration.h:
        (WebCore::CSSElementStyleDeclaration::createInline):
        (WebCore::toCSSElementStyleDeclaration):
        * css/CSSInlineStyleDeclaration.h: Removed.
        * css/CSSMutableStyleDeclaration.cpp:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::ensureInlineStyleDecl):
        (WebCore::StyledElement::copyNonAttributeProperties):
        * dom/StyledElement.h:
        (WebCore::StyledElement::inlineStyleDecl):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI):
        * html/ValidationMessage.cpp:
        (WebCore::adjustBubblePosition):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::setPosition):
        (WebCore::MediaControlPanelElement::resetPosition):
        (WebCore::MediaControlPanelElement::makeOpaque):
        (WebCore::MediaControlPanelElement::makeTransparent):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::TrackLimiterElement::create):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):

2012-01-23  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: annotate inspector's js so that it compiled.

        * inspector/front-end/ElementsTreeOutline.js:
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
        (WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):

2012-01-23  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] fix WebAudio build after r105431
        https://bugs.webkit.org/show_bug.cgi?id=76819

        Reviewed by Martin Robinson.

        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
        (WebCore::copyGstreamerBuffersToAudioChannel): Use mutableData()
        when copying.
        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
        (webKitWebAudioSrcLoop): Drop constness when setting the buffer
        data pointer.

2012-01-23  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: add touch events to the event listeners list.
        https://bugs.webkit.org/show_bug.cgi?id=76830

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.EventListenerBreakpointsSidebarPane):

2012-01-23  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: inspector close button is missing in the dock-to-right mode.
        https://bugs.webkit.org/show_bug.cgi?id=76829

        Reviewed by Timothy Hatcher.

        * inspector/front-end/inspector.js:
        (WebInspector.set attached):
        (WebInspector.get _setCompactMode):

2012-01-23  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: IndexedDBModel should keep track of requests sent to the backend.
        https://bugs.webkit.org/show_bug.cgi?id=76705

        Reviewed by Pavel Feldman.

        * inspector/Inspector.json:
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
        * inspector/InspectorIndexedDBAgent.h:
        * inspector/front-end/IndexedDBModel.js:
        (WebInspector.IndexedDBModel):
        (WebInspector.IndexedDBModel.prototype._frameDetached):
        (WebInspector.IndexedDBModel.prototype._reset):
        (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
        (WebInspector.IndexedDBRequestManager):
        (WebInspector.IndexedDBRequestManager.prototype.requestDatabaseNamesForFrame.innerCallback):
        (WebInspector.IndexedDBRequestManager.prototype.requestDatabaseNamesForFrame):
        (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
        (WebInspector.IndexedDBRequestManager.prototype._requestId):
        (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
        (WebInspector.IndexedDBRequestManager.prototype._reset):
        (WebInspector.IndexedDBRequestManager.DatabasesForFrameRequest):
        (WebInspector.IndexedDBDispatcher):
        (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):

2012-01-23  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: Inspecting an element inside an iframe no longer works
        https://bugs.webkit.org/show_bug.cgi?id=76808

        Reviewed by Timothy Hatcher.

        Test: http/tests/inspector/inspect-element.html

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::innerParentNode):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype.getChildNodes.mycallback):
        (WebInspector.DOMNode.prototype.getChildNodes):
        (WebInspector.DOMNode.prototype._setChildrenPayload):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype._selectedNodeChanged):

2012-01-23  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: response.bodySize in HAR is invalid (negative) for cached resources
        https://bugs.webkit.org/show_bug.cgi?id=76823

        Reviewed by Yury Semikhatsky.

        - fix response.bodySize for cached resources;
        Also some drive-by fixes:
        - pretty-print HAR when exported
        - proper annotation for JSON.stringify()
        - de-obfuscate a piece of code in TimelinePanel

        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype.get responseBodySize):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._exportAll):
        (WebInspector.NetworkLogView.prototype._exportResource):

2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        New files for the implementation of the AtkAction interface,
        containing the related code from WebKitAccessibleWrapperAtk.cpp.

        * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp: Added.
        (core):
        (webkitAccessibleActionInterfaceInit):
        (webkitAccessibleActionDoAction):
        (webkitAccessibleActionGetNActions):
        (webkitAccessibleActionGetDescription):
        (webkitAccessibleActionGetKeybinding):
        (webkitAccessibleActionGetName):
        * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Added.

        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
        related to the implementation of the AtkAction interface.

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceAction.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVG animation repaint issue with image and dynamic clipPath
        https://bugs.webkit.org/show_bug.cgi?id=76559

        Reviewed by Zoltan Herczeg.

        Based on patch by Kelly Norton <knorton@google.com>. I extended the patch
        to correctly handle relative length resolution as well.

        RenderSVGImage doesn't react on setNeedsBoundariesUpdate() calls
        and thus fails to update its boundaries in some cases.

        The logic is also inconsistent, compared to the other renderers.
        Fix that properly, by reusing the method used in RenderSVGViewportContainer.
        Call calculateImageViewport() immediately, after initializing the LayoutRepainter.
        Previously we resolved the image viewport in RenderSVGImage::updateFromElement. This is
        wrong, as it queries the frameRect() of the RenderSVGRoot in a state, where the renderer
        still needs layout, leading to wrong results.

        I turned Kellys manual testcase into a predictable test, see svg/repaint/image-with-clip-path.svg
        Relative sized image handling is tested in svg/custom/relative-sized-image.xhtml now.

        Tests: svg/custom/relative-sized-image.xhtml
               svg/repaint/image-with-clip-path.svg

        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::RenderSVGImage):
        (WebCore::RenderSVGImage::updateImageViewport):
        (WebCore::RenderSVGImage::layout):
        * rendering/svg/RenderSVGImage.h:
        (WebCore::RenderSVGImage::setNeedsBoundariesUpdate):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::svgAttributeChanged):

2012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>

        <feImage> has problems referencing local elements
        https://bugs.webkit.org/show_bug.cgi?id=76800

        Reviewed by Zoltan Herczeg.

        <feImage> referencing local elements are currently rendered into an ImageBuffer
        by SVGFEImageElement, using the local coordinates of the referenced renderer.

        This approach is buggy and should be avoided, by moving the rendering fully
        into SVGFEImage, which takes care of respecting the correct transformations.

        This fixes <feImage> + local references, which currently breaks two tests in trunk.
        Covered by existing tests.

        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::build):
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::FEImage):
        (WebCore::FEImage::createWithImage):
        (WebCore::FEImage::createWithIRIReference):
        (WebCore::FEImage::determineAbsolutePaintRect):
        (WebCore::FEImage::referencedRenderer):
        (WebCore::FEImage::platformApplySoftware):
        (WebCore::FEImage::externalRepresentation):
        * svg/graphics/filters/SVGFEImage.h:
        (WebCore::FEImage::~FEImage):
        * svg/graphics/filters/SVGFilter.h:
        (WebCore::SVGFilter::absoluteTransform):

2012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix Mac build, by exporting a new symbol.

        * WebCore.exp.in:

2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        Move common function returnString() from the wrapper and
        hyperlink implementations to a new utility file.

        * accessibility/gtk/WebKitAccessibleUtil.cpp: Added.
        (returnString): Taken from WebKitAccessibleWrapperAtk.cpp and
        WebKitAccessibleHyperlink.cpp
        * accessibility/gtk/WebKitAccessibleUtil.h: Added.

        * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Remove local
        implementation of returnString.
        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Ditto.

        Add new files to build files.

        * GNUmakefile.list.am: Add WebKitAccessibleUtil.[h|cpp].
        * WebCore.gypi: Ditto.

2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        Fix typo in class struct (parent class field had the wrong type),
        fix coding style issues and update date in headers.

        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
        * accessibility/gtk/WebKitAccessibleHyperlink.h:

2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        Rename WebKitAccessible's public functions to follow WebKit's
        coding style and update callers.

        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
        (webkitAccessibleNew): Renamed from webkit_accessible_new.
        (webkitAccessibleGetAccessibilityObject): Likewise.
        (webkitAccessibleDetach):Likewise.
        (webkitAccessibleGetFocusedElement): Likewise.
        * accessibility/gtk/WebKitAccessibleWrapperAtk.h:

        Update calls to WebKitAccessible's public functions.

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::detachWrapper): Update call.
        (WebCore::AXObjectCache::attachWrapper): Ditto.
        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
        (core): Update call.

2012-01-19  Kenichi Ishibashi  <bashi@chromium.org>

        WebKit fails IETC composition event types
        https://bugs.webkit.org/show_bug.cgi?id=76690

        Reviewed by Ryosuke Niwa.

        Dispatches at least one compositionupdate event.
        The spec(*) says that a composition session includes one or more
        compositionupdate event(s).
        Other major browsers (Firefox and IE) don't populate the data attribute
        of the compositionstart event, but we set the given text in the data
        attribute to minimize the effect of this change.

        (*) http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-compositionevents

        Updated existing test: fast/fast/events/ime-composition-events-001.html.

        * editing/Editor.cpp:
        (WebCore::Editor::setComposition):

2012-01-22  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Refactor GTK's accessibilitity code to be more modular
        https://bugs.webkit.org/show_bug.cgi?id=76783

        Reviewed by Martin Robinson.

        Rename the file for the ATK AccessibilityObject wrapper to be more
        coherent with the rest of the files in the same directory.

        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Renamed from
        Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp.
        (fallbackObject):
        (returnString):
        (core):
        (webkit_accessible_get_name):
        (webkit_accessible_get_description):
        (setAtkRelationSetFromCoreObject):
        (isRootObject):
        (atkParentOfRootObject):
        (webkit_accessible_get_parent):
        (getNChildrenForTable):
        (webkit_accessible_get_n_children):
        (getChildForTable):
        (webkit_accessible_ref_child):
        (getIndexInParentForCellInRow):
        (webkit_accessible_get_index_in_parent):
        (addAttributeToSet):
        (webkit_accessible_get_attributes):
        (atkRole):
        (webkit_accessible_get_role):
        (selectionBelongsToObject):
        (isTextWithCaret):
        (setAtkStateSetFromCoreObject):
        (webkit_accessible_ref_state_set):
        (webkit_accessible_ref_relation_set):
        (webkit_accessible_init):
        (webkit_accessible_finalize):
        (webkit_accessible_class_init):
        (webkit_accessible_get_type):
        (webkit_accessible_action_do_action):
        (webkit_accessible_action_get_n_actions):
        (webkit_accessible_action_get_description):
        (webkit_accessible_action_get_keybinding):
        (webkit_accessible_action_get_name):
        (atk_action_interface_init):
        (listObjectForSelection):
        (optionFromList):
        (optionFromSelection):
        (webkit_accessible_selection_add_selection):
        (webkit_accessible_selection_clear_selection):
        (webkit_accessible_selection_ref_selection):
        (webkit_accessible_selection_get_selection_count):
        (webkit_accessible_selection_is_child_selected):
        (webkit_accessible_selection_remove_selection):
        (webkit_accessible_selection_select_all_selection):
        (atk_selection_interface_init):
        (utf8Substr):
        (convertUniCharToUTF8):
        (textForRenderer):
        (textForObject):
        (webkit_accessible_text_get_text):
        (getGailTextUtilForAtk):
        (getPangoLayoutForAtk):
        (webkit_accessible_text_get_text_after_offset):
        (webkit_accessible_text_get_text_at_offset):
        (webkit_accessible_text_get_text_before_offset):
        (webkit_accessible_text_get_character_at_offset):
        (webkit_accessible_text_get_caret_offset):
        (baselinePositionForRenderObject):
        (getAttributeSetForAccessibilityObject):
        (compareAttribute):
        (attributeSetDifference):
        (accessibilityObjectLength):
        (getAccessibilityObjectForOffset):
        (getRunAttributesFromAccesibilityObject):
        (webkit_accessible_text_get_run_attributes):
        (webkit_accessible_text_get_default_attributes):
        (textExtents):
        (webkit_accessible_text_get_character_extents):
        (webkit_accessible_text_get_range_extents):
        (webkit_accessible_text_get_character_count):
        (webkit_accessible_text_get_offset_at_point):
        (getSelectionOffsetsForObject):
        (webkit_accessible_text_get_n_selections):
        (webkit_accessible_text_get_selection):
        (webkit_accessible_text_add_selection):
        (webkit_accessible_text_set_selection):
        (webkit_accessible_text_remove_selection):
        (webkit_accessible_text_set_caret_offset):
        (atk_text_interface_init):
        (webkit_accessible_editable_text_set_run_attributes):
        (webkit_accessible_editable_text_set_text_contents):
        (webkit_accessible_editable_text_insert_text):
        (webkit_accessible_editable_text_copy_text):
        (webkit_accessible_editable_text_cut_text):
        (webkit_accessible_editable_text_delete_text):
        (webkit_accessible_editable_text_paste_text):
        (atk_editable_text_interface_init):
        (contentsToAtk):
        (atkToContents):
        (webkit_accessible_component_ref_accessible_at_point):
        (webkit_accessible_component_get_extents):
        (webkit_accessible_component_grab_focus):
        (atk_component_interface_init):
        (webkit_accessible_image_get_image_position):
        (webkit_accessible_image_get_image_description):
        (webkit_accessible_image_get_image_size):
        (atk_image_interface_init):
        (cell):
        (cellIndex):
        (cellAtIndex):
        (webkit_accessible_table_ref_at):
        (webkit_accessible_table_get_index_at):
        (webkit_accessible_table_get_column_at_index):
        (webkit_accessible_table_get_row_at_index):
        (webkit_accessible_table_get_n_columns):
        (webkit_accessible_table_get_n_rows):
        (webkit_accessible_table_get_column_extent_at):
        (webkit_accessible_table_get_row_extent_at):
        (webkit_accessible_table_get_column_header):
        (webkit_accessible_table_get_row_header):
        (webkit_accessible_table_get_caption):
        (webkit_accessible_table_get_column_description):
        (webkit_accessible_table_get_row_description):
        (atk_table_interface_init):
        (webkitAccessibleHypertextGetLink):
        (webkitAccessibleHypertextGetNLinks):
        (webkitAccessibleHypertextGetLinkIndex):
        (atkHypertextInterfaceInit):
        (webkitAccessibleHyperlinkImplGetHyperlink):
        (atkHyperlinkImplInterfaceInit):
        (documentAttributeValue):
        (webkit_accessible_document_get_attribute_value):
        (webkit_accessible_document_get_attributes):
        (webkit_accessible_document_get_locale):
        (atk_document_interface_init):
        (webkitAccessibleValueGetCurrentValue):
        (webkitAccessibleValueGetMaximumValue):
        (webkitAccessibleValueGetMinimumValue):
        (webkitAccessibleValueSetCurrentValue):
        (webkitAccessibleValueGetMinimumIncrement):
        (atkValueInterfaceInit):
        (GetAtkInterfaceTypeFromWAIType):
        (getInterfaceMaskFromObject):
        (getUniqueAccessibilityTypeName):
        (getAccessibilityTypeFromObject):
        (webkit_accessible_new):
        (webkit_accessible_get_accessibility_object):
        (webkit_accessible_detach):
        (webkit_accessible_get_focused_element):
        (objectFocusedAndCaretOffsetUnignored):
        * accessibility/gtk/WebKitAccessibleWrapperAtk.h: Renamed from
        Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.h.

        Update the include for the AccessibilityObject wrapper header.

        * accessibility/gtk/AXObjectCacheAtk.cpp: Update include.
        * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Ditto.
        * accessibility/gtk/WebKitAccessibleHyperlink.h: Ditto.
        * editing/gtk/FrameSelectionGtk.cpp:

        Update filename for the ATK wrapper in build files.

        * GNUmakefile.list.am: Updated.
        * WebCore.gypi: Updated.

2012-01-20  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: PageAgent.open() dosen't belong to the protocol.
        https://bugs.webkit.org/show_bug.cgi?id=74790

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::openInNewTab):
        * inspector/InspectorFrontendClientLocal.h:
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::openInNewTab):
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::navigate):
        * inspector/InspectorPageAgent.h:
        * inspector/front-end/ImageView.js:
        (WebInspector.ImageView.prototype._openInNewTab):
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.openInNewTab):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
        * inspector/front-end/inspector.js:
        (WebInspector.openResource):

2012-01-23  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: DetailedHeapSnapshot: Replace the list of retainers with the expandable tree (to get rid of cycles)
        https://bugs.webkit.org/show_bug.cgi?id=76813

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotObjectNode):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
        (WebInspector.HeapSnapshotRetainmentDataGrid):
        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
        (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
        (WebInspector.HeapSnapshotEdgesProvider):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
        (WebInspector.HeapSnapshotProxy.prototype.createRetainingEdgesProvider):

2012-01-20  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: HAR pageref attributes are wrong and inconsistent with pages array
        https://bugs.webkit.org/show_bug.cgi?id=76398

        Reviewed by Pavel Feldman.

        - introduce a notion of LoadPage;
        - move page load times to LoadPage;
        - associate network resources with LoadPage;
        - export pages for all available resoruces to HAR, not just the last page;
        - use page ids, not document URLs in HAR entries to refer to pages;
        - use page URL as a title field of a HAR page;

        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype.build):
        (WebInspector.HAREntry.prototype.get responseCompression):
        (WebInspector.HARLog.prototype._buildPages):
        (WebInspector.HARLog.prototype._convertPage):
        (WebInspector.HARLog.prototype._pageEventTime):
        * inspector/front-end/NetworkLog.js:
        (WebInspector.NetworkLog):
        (WebInspector.NetworkLog.prototype._mainFrameNavigated):
        (WebInspector.NetworkLog.prototype._onResourceStarted):
        (WebInspector.Page):
        (WebInspector.Page.prototype.get id):
        (WebInspector.Page.prototype.get url):
        (WebInspector.Page.prototype.get contentLoadTime):
        (WebInspector.Page.prototype.set contentLoadTime):
        (WebInspector.Page.prototype.get loadTime):
        (WebInspector.Page.prototype.set loadTime):
        (WebInspector.Page.prototype.get startTime):
        (WebInspector.Page.prototype._bindResource):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get page):
        (WebInspector.Resource.prototype.set page):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeFrame):
        (WebInspector.ResourceTreeFrame.prototype.get page):
        (WebInspector.PageDispatcher.prototype.domContentEventFired):
        (WebInspector.PageDispatcher.prototype.loadEventFired):

2012-01-22  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] ATK text-caret-moved and text-selection-changed events not being emitted
        https://bugs.webkit.org/show_bug.cgi?id=76069

        Reviewed by Martin Robinson.

        Fix bug introduced with patch for Bug 72830.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isDescendantOfObject): New function,
        to check if an accessibility object is a descendant of other object.
        (WebCore::AccessibilityObject::isAncestorOfObject): New function,
        to check if an accessibility object is an ancestor of other object.
        * accessibility/AccessibilityObject.h:

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_text_get_caret_offset): Make sure to pass the
        right reference object to objectFocusedAndCaretOffsetUnignored.
        (objectFocusedAndCaretOffsetUnignored): Use positionBeforeNode
        instead of firstPositionInNode for calculating the begining of the
        range used to calculate the offsets. Ensure that the reference
        object is never a descendant of the actual object being returned.

        * editing/gtk/FrameSelectionGtk.cpp:
        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
        Pass the right accessibility object associated with the current
        selection to objectFocusedAndCaretOffsetUnignored.

2012-01-21  David Reveman  <reveman@chromium.org>

        [Chromium] Incremental texture updates are not atomic.
        https://bugs.webkit.org/show_bug.cgi?id=72672

        Reviewed by Adam Barth.

        Use a new set of textures for each commit when incremental
        texture updates are enabled.

        This patch is tested by the following unit test:
        - CCLayerTreeHostTestAtomicCommit.runMultiThread

        * platform/graphics/chromium/ManagedTexture.cpp:
        (WebCore::ManagedTexture::ManagedTexture):
        (WebCore::ManagedTexture::steal):
        * platform/graphics/chromium/ManagedTexture.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):
        (WebCore::CCLayerTreeHost::commitComplete):
        (WebCore::CCLayerTreeHost::deleteTextureAfterCommit):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCProxy.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore::CCSingleThreadProxy::partialTextureUpdateCapability):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
        (WebCore::CCThreadProxy::partialTextureUpdateCapability):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2012-01-21  Pablo Flouret  <pablof@motorola.com>

        Add .url attribute alongside .URL in EventSource and WebSocket to comply with the specs but not break existing usage.
        https://bugs.webkit.org/show_bug.cgi?id=40899

        Reviewed by Adam Barth.

        Tests: fast/eventsource/eventsource-url-attribute.html
               http/tests/websocket/tests/hixie76/url-attribute.html
               http/tests/websocket/tests/hybi/url-attribute.html

        * page/EventSource.idl:
        * websockets/WebSocket.idl:

2012-01-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105564.
        http://trac.webkit.org/changeset/105564
        https://bugs.webkit.org/show_bug.cgi?id=76792

        Does not compile on Chromium Mac (Requested by abarth on
        #webkit).

        * platform/graphics/chromium/ManagedTexture.cpp:
        * platform/graphics/chromium/ManagedTexture.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):
        (WebCore::CCLayerTreeHost::commitComplete):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCProxy.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2012-01-20  Chris Marrin  <cmarrin@apple.com>

        Implement hardware accelerated Brightness and contrast filters
        https://bugs.webkit.org/show_bug.cgi?id=75521
        https://bugs.webkit.org/show_bug.cgi?id=76719

        Reviewed by Simon Fraser.

        Implemented hardware accelerated brightness and contrast filters. This also fixes
        the bug where grayscale filter was accidentally never getting hardware accelerated.
        It also complies with proposed spec changes for the brightness filter to be additive 
        rather than multiplicative, according to https://bugs.webkit.org/show_bug.cgi?id=76719. 
        Had to make both fixes in the same patch because I had to change the allowed brightness
        values for the hardware version, so I had to change the software version as well.

        Tests: css3/filters/effect-brightness-hw.html
               css3/filters/effect-contrast-hw.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseBuiltinFilterArguments):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createFilterOperations):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::setFilters):
        (PlatformCALayer::filtersCanBeComposited):
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::build):

2012-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>

        <feImage> ignores preserveAspectRatio="none"
        https://bugs.webkit.org/show_bug.cgi?id=76780

        Reviewed by Antti Koivisto.

        preserveAspectRatio="none" was ignored in SVGFEImage. It always called transformRect() w/o checking
        whether it was supposed to transform the rect or not - move code from RenderSVGImage right into
        transformRect(), to do nothing if preserveAspectRatio="none" was given.

        Test: svg/filters/feImage-preserveAspectratio.svg

        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::transformRect):

2012-01-21  Jochen Eisinger  <jochen@chromium.org>

        history.replaceState should update the HistoryItem to use a GET method if previously non-GET (POST)
        https://bugs.webkit.org/show_bug.cgi?id=76721

        Reviewed by Mihai Parparita.

        Tests: http/tests/history/replacestate-post-to-get-2.html
               http/tests/history/replacestate-post-to-get.html

        * loader/HistoryController.cpp:
        (WebCore::HistoryController::replaceState):

2012-01-21  Florin Malita  <fmalita@google.com>

        Null dereference in SVGDocumentExtensions::removePendingResource when updating <use>'s href
        https://bugs.webkit.org/show_bug.cgi?id=69284

        Reviewed by Nikolas Zimmermann.

        Test: svg/custom/use-crash-pending-resource.svg

        The crash is caused by assumptions in SVGUseElement that xlink:href is the only
        pending resource. This patch adds support for dealing with multiple pending resources.

        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::registerResource):
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::hasPendingResource):
        (WebCore::SVGDocumentExtensions::isElementPendingResources):
        (WebCore::SVGDocumentExtensions::isElementPendingResource):
        (WebCore::SVGDocumentExtensions::removePendingResourceForElement):
        * svg/SVGDocumentExtensions.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
        (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible):
        Renamed SVGDocumentExtensions::hasPendingResources -> Renamed SVGDocumentExtensions::hasPendingResource.
        Renamed SVGDocumentExtensions::isElementInPendingResources -> SVGDocumentExtensions::isElementPendingResources.
        Added support for querying and removing pending resources for a specific element.

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::svgAttributeChanged):
        (WebCore::SVGUseElement::buildPendingResource):
        Refactored to support multiple pending resources.

2012-01-21  Stephen Chenney  <schenney@chromium.org>

        REGRESSION (Safari 5.0.5 - ToT): crash in SVG test http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObjectApproved/animate-elem-39-t.html
        https://bugs.webkit.org/show_bug.cgi?id=64671

        Reviewed by Nikolas Zimmermann.

        No new tests. This change is to fix crashes in existing tests.

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::beginListChanged): If the new begin time is
        later than the current end time, and the event time is also after then
        end time (but we have not yet updated to that time) and the animation
        is active, we need to make the animation inactive explicitly.

2012-01-21  Benjamin Poulain  <bpoulain@apple.com>

        PopupMenuClient::multiple() should be const
        https://bugs.webkit.org/show_bug.cgi?id=76771

        Reviewed by Kent Tamura.

        * platform/PopupMenuClient.h:
        (WebCore::PopupMenuClient::multiple):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::multiple):
        * rendering/RenderMenuList.h:

2012-01-20  Mark Pilgrim  <pilgrim@chromium.org>

        Switch indexeddb to use supplemental IDL for DOMWindow
        https://bugs.webkit.org/show_bug.cgi?id=76723

        Reviewed by Adam Barth.

        No new tests required, all existing tests pass.

        * Modules/indexeddb: Added.
        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp: Added. webkitIndexedDB() method previously in DOMWindow.cpp
        (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
        (WebCore::DOMWindowIndexedDatabase::~DOMWindowIndexedDatabase):
        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
        * Modules/indexeddb/DOMWindowIndexedDatabase.h: Added.
        * Modules/indexeddb/DOMWindowIndexedDatabase.idl: Added. attributes previously in DOMWindow.idl
        * WebCore.gyp/WebCore.gyp: add Modules/indexeddb/ directory
        * WebCore.gypi: add Modules/indexeddb/*
        * page/DOMWindow.cpp: remove webkitIndexedDB() method, add accessor methods for m_idbFactory
        (WebCore::DOMWindow::getIDBFactory):
        (WebCore::DOMWindow::setIDBFactory):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2012-01-20  David Levin  <levin@chromium.org>

        Allow isContextThread to be called while in ~ScriptExecutionContext.
        https://bugs.webkit.org/show_bug.cgi?id=76756

        Reviewed by Adam Barth.

        It is possible for objects to get torn down or get called from ~ScriptExecutionContext
        and in turn call isContextThread. The resulting behavior is undefined. This change defines
        the behavior. I don't know of any places that do this but I have a test that is rarely
        failing due to isContextThread being false. This is my best guess as to why, and I
        don't see a reason to try to avoid calling isContextThread at this point.

        No new functionality exposed so no new tests.

        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::isContextThread):

2012-01-20  Alexandre Elias  <aelias@google.com>

        [chromium] Write unit tests for compositor-thread zooming
        https://bugs.webkit.org/show_bug.cgi?id=71529

        Reviewed by James Robinson.

        Add unit tests for pinch zoom and page scale animation.  Includes
        small cleanups in CCLayerTreeHostImpl for testability.

        * platform/graphics/chromium/cc/CCInputHandler.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
        (WebCore::CCLayerTreeHostImpl::setViewportSize):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

2012-01-20  David Reveman  <reveman@chromium.org>

        [Chromium] Incremental texture updates are not atomic.
        https://bugs.webkit.org/show_bug.cgi?id=72672

        Reviewed by James Robinson.

        Use a new set of textures for each commit when incremental
        texture updates are enabled.

        This patch is tested by the following unit test:
        - CCLayerTreeHostTestAtomicCommit.runMultiThread

        * platform/graphics/chromium/ManagedTexture.cpp:
        (WebCore::ManagedTexture::ManagedTexture):
        (WebCore::ManagedTexture::steal):
        * platform/graphics/chromium/ManagedTexture.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):
        (WebCore::CCLayerTreeHost::commitComplete):
        (WebCore::CCLayerTreeHost::deleteTextureAfterCommit):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCProxy.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore::CCSingleThreadProxy::partialTextureUpdateCapability):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
        (WebCore::CCThreadProxy::partialTextureUpdateCapability):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2012-01-20  Chris Rogers  <crogers@google.com>

        De-zippering incorrectly snaps to target gain
        https://bugs.webkit.org/show_bug.cgi?id=76741

        Reviewed by Kenneth Russell.

        * platform/audio/AudioBus.cpp:

2012-01-20  Dana Jansens  <danakj@chromium.org>

        [chromium] Partially filled pixels do not occlude pixels below them.
        https://bugs.webkit.org/show_bug.cgi?id=76658

        Reviewed by James Robinson.

        Test: compositing/culling/tile-occlusion-boundaries.html

        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::enclosedIntRect):
        (WebCore::CCQuadCuller::cullOccludedQuads):

2012-01-20  Ami Fischman  <fischman@chromium.org>

        Small cleanup of {get,put}CurrentFrame for  WebMediaPlayerClientImpl/CCVideoLayerImpl.
        https://bugs.webkit.org/show_bug.cgi?id=76332

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::draw):

2012-01-20  Brady Eidson  <beidson@apple.com>

        <rdar://problem/9328684> and https://bugs.webkit.org/show_bug.cgi?id=62764
        Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache

        Reviewed by Sam Weinig.

        No way to reproduce without special malloc debugging and that doesn't even reproduce on all platforms.  So still no test.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::detachFromFrame): Protect m_frame for the duration of this method.

2012-01-20  Alexey Proskuryakov  <ap@apple.com>

        WebCore should not send invalid URLs to client createWindow methods.
        https://bugs.webkit.org/show_bug.cgi?id=39017

        Unreviewed test fix.

        * page/DOMWindow.cpp: (WebCore::DOMWindow::createWindow): Let empty URLs through.

2012-01-20  Sam Weinig  <sam@webkit.org>

        Make WebCore RunLoop work for WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=76739

        Reviewed by Anders Carlsson.

        * platform/RunLoop.cpp:
        Specialize RunLoop initialization for Mac, where it can happen on any thread.
        
        * platform/RunLoop.h:
        Add RunLoop constructor that takes a CFRunLoopRef on the mac for initializing
        the main thread.

        * platform/mac/RunLoopMac.mm:
        (WebCore::RunLoop::initializeMainRunLoop):
        Add new implementation that can work from any thread (and multiple threads at the
        same time if necessary).

        (WebCore::RunLoop::current):
        Treat the main thread specially, not storing it in thread specific data.

        (WebCore::RunLoop::main):
        Copy main accessor since it needs access to the file static.

        (WebCore::RunLoop::RunLoop):
        Add constructor which takes a CFRunLoopRef.

2012-01-20  Tim Horton  <timothy_horton@apple.com>

        Crash in RenderSVGResourceContainer::markAllClientsForInvalidation
        https://bugs.webkit.org/show_bug.cgi?id=76606
        <rdar://problem/10720970>

        Reviewed by Dirk Schulze.

        Notify SVGResourcesCache and superclass when RenderSVGInline is about
        to be destroyed, preventing a crash.

        Test: svg/custom/crash-inline-container-client.html

        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::willBeDestroyed):
        * rendering/svg/RenderSVGInline.h:

2012-01-20  Alexey Proskuryakov  <ap@apple.com>

        WebCore should not send invalid URLs to client createWindow methods.
        https://bugs.webkit.org/show_bug.cgi?id=39017

        Reviewed by Sam Weinig.

        Test: fast/dom/window/open-invalid-url.html

        * page/DOMWindow.cpp: (WebCore::DOMWindow::createWindow): Bail out early for invalid URLs.

2012-01-20  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Remove unused variable in RenderReplaced after r105513
        https://bugs.webkit.org/show_bug.cgi?id=76742

        Reviewed by Daniel Bates.

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
        (WebCore::RenderReplaced::computeReplacedLogicalHeight):

2012-01-20  Jonathan Backer  <backer@chromium.org>

        [chromium] Plumb damage from accelerated canvas 2D.
        https://bugs.webkit.org/show_bug.cgi?id=76728

        Reviewed by Kenneth Russell.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::contentChanged):

2012-01-20  Julien Chaffraix  <jchaffraix@webkit.org>

        Crash in RenderTable::borderBefore
        https://bugs.webkit.org/show_bug.cgi?id=75215

        Reviewed by David Hyatt.

        Test: fast/table/crash-beforeBorder-dirty-section.html

        This is a regression from r97661 that added some calls to get the object's borders but tables are a
        special case and they may need to recompute some sections' pointers.

        The whole sections' pointers lazy recomputation logic is unfortunately far from being bullet proof and
        this change is only a mitigation for the current crash.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::borderBefore):
        (WebCore::RenderTable::borderAfter):
        Make sure we recompute our sections. The change was made here to avoid hitting the
        path used inside the table code (ie outerBorder{Before|After}) that shouldn't be
        affected.

        * rendering/RenderTable.h:
        (WebCore::RenderTable::topSection):
        Added an ASSERT to catch more bad use in the future.

2012-01-20  Marc-Andre Decoste  <mad@chromium.org>

        Add proper offset to position right click to simulate a context menu invocation.
        https://bugs.webkit.org/show_bug.cgi?id=76421

        Reviewed by Ojan Vafai.

        Manual tests only because DRT doesn't support context menu key.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEventForKey):

2012-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105426.
        http://trac.webkit.org/changeset/105426
        https://bugs.webkit.org/show_bug.cgi?id=76726

        Might have caused a 20% regression in the PLT (Requested by
        abarth|gardener on #webkit).

        * rendering/RenderObject.h:
        (WebCore::RenderObject::style):

2012-01-20  Sadrul Habib Chowdhury  <sadrul@chromium.org>

        [chromium] Revert a couple of changes in fileapi/ that break tests in chromeos.
        https://bugs.webkit.org/show_bug.cgi?id=76718

        Reviewed by Darin Fisher.

        * fileapi/BlobURL.cpp:
        (WebCore::BlobURL::getIdentifier):
        (WebCore::BlobURL::createBlobURL):
        * fileapi/BlobURL.h:
        (WebCore::BlobURL::blobProtocol):
        * fileapi/DOMFileSystemBase.cpp:
        (WebCore::DOMFileSystemBase::crackFileSystemURL):
        * fileapi/DOMFileSystemBase.h:
        * fileapi/EntryBase.cpp:
        (WebCore::EntryBase::toURL):
        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::write):
        (WebCore::FileWriter::truncate):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitRequestFileSystem):
        * page/DOMWindow.h:
        * platform/AsyncFileSystem.cpp:
        * platform/AsyncFileSystem.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::webkitRequestFileSystem):
        (WebCore::WorkerContext::webkitRequestFileSystemSync):

2012-01-20  Tim Dresser  <tdresser@chromium.org>

        Refactor canvas drawing to be more data driven
        https://bugs.webkit.org/show_bug.cgi?id=76635

        CCCanvasLayerImpl no longer handles drawing itself, but produces a list of CCCanvasDrawQuads.
        These quads are then drawn by LayerRendererChromium.

        This is a refactor, so no new tests were added.

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawCanvasQuad):
        * platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp:
        (WebCore::CCCanvasDrawQuad::create):
        (WebCore::CCCanvasDrawQuad::CCCanvasDrawQuad):
        * platform/graphics/chromium/cc/CCCanvasDrawQuad.h:
        (WebCore::CCCanvasDrawQuad::textureId):
        (WebCore::CCCanvasDrawQuad::hasAlpha):
        (WebCore::CCCanvasDrawQuad::premultipliedAlpha):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
        (WebCore::CCCanvasLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:

2012-01-19  Abhishek Arya  <inferno@chromium.org>

        Crash in xsltParseGlobalVariable.
        https://bugs.webkit.org/show_bug.cgi?id=75978

        Reviewed by Andreas Kling.

        The code missed to reset the stylesheet pointer after we fail
        to compile the XSLT stylesheet. As a result, the stylesheet gets
        reused with a removed document in the next transformToFragment call.

        Test: fast/xsl/xslt-transform-to-fragment-crash.html

        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::XSLTProcessor::transformToString):

2012-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        REGRESSION (r98852): apple.com navigation bar is broken under full-page zoom
        https://bugs.webkit.org/show_bug.cgi?id=76249

        Reviewed by Andreas Kling.

        Fix regression with full-page zoom & border-image. paintNinePieceImage() expects local, unzoomed coordinates.
        Restore the behaviour as it was before r98852, fixing the regression.

        Test: fast/borders/scaled-border-image.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

2012-01-20  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegion]Expose DOM interface for WebKitCSSRegionRule
        https://bugs.webkit.org/show_bug.cgi?id=73985

        Reviewed by Antti Koivisto.

        Start by exposing the interface and the cssRules attribute of type CSSRuleList.
        Test: fast/regions/webkit-region-rule.html

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/objc/DOMCSS.mm:
        (kitClass):
        * bindings/v8/custom/V8CSSRuleCustom.cpp:
        (WebCore::toV8):
        * css/WebKitCSSRegionRule.cpp:
        * css/WebKitCSSRegionRule.h:
        * css/WebKitCSSRegionRule.idl:
        * page/DOMWindow.idl:

2012-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        Differentiate between SVG/CSS width/height attributes/properties
        https://bugs.webkit.org/show_bug.cgi?id=76447

        Reviewed by Antti Koivisto.

        Remove a gazillion of hacks out of our SVG implementation, by correctly differentiating between the
        SVG width/height attributes and the CSS width/height properties. They need to be treated independently
        when handling the intrinsic size negotiation, according to both CSS 2.1 & SVG 1.1 2nd Edition specs.

        Fixes several bugs in the LayoutTests/svg/custom/*object*sizing tests, we now match Opera perfectly. FF still has some bugs, and IE9 as well.

        * css/svg.css: Remove hardcoded, width/height: 100% on <svg>.
        * rendering/RenderBox.h:
        (WebCore::RenderBox::computeIntrinsicRatioInformation): Make 'intrinsicRatio' a float, and add 'intrinsicSize' as seperated FloatSize, to avoid confusion.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): Add forgotton case for percentage intrinsic sizes, that lead to workarounds in other places, that can now be removed.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::computeReplacedLogicalWidth): Directly use imageHasRelativeWidth/Height(), it does differentiate between SVG/CSS width/height attributes/properties now.
        (WebCore::RenderImage::computeIntrinsicRatioInformation): Adapt to 'intrinsicRatio' argument change.
        * rendering/RenderImage.h: Ditto.
        * rendering/RenderReplaced.cpp: Refactor existing code, break out firstContainingBlockWithLogicalWidth/hasReplacedLogicalWidth/hasReplacedLogicalHeight/hasAutoHeightOrContainingBlockWithAutoHeight.
        (WebCore::firstContainingBlockWithLogicalWidth): Refactored.
        (WebCore::RenderReplaced::hasReplacedLogicalWidth): Refactored, and exported, so SVGSVGElement::widthAttributeEstablishesViewport() can use it.
        (WebCore::hasAutoHeightOrContainingBlockWithAutoHeight): Refactored.
        (WebCore::RenderReplaced::hasReplacedLogicalHeight): Refactored, and exported, so SVGSVGElement::heightAttributeEstablishesViewport() can use it.
        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Adapt to 'intrinsicRatio' changes ('intrinsicSize' is now decoupled from it). Refactor so that RenderSVGRoot can directly use it as well!
        (WebCore::RenderReplaced::computeReplacedLogicalHeight): Ditto.
        * rendering/RenderReplaced.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation): Only determine the intrinsic size & ratio using the SVG width/height attributes, not the CSS width/height properties, as it's specified.
        (WebCore::resolveLengthAttributeForSVG): Helper function for computeReplacedLogicalWidth/Height, that scales Length values that come from SVG width/height attributes.
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Finally remove home-brewn size computation logic - it can be fully shared with RenderReplaced now that we inherit from it.
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGViewportContainer.h:
        (WebCore::RenderSVGViewportContainer::viewport): Export viewport() for easier length resolution.
        * svg/SVGLengthContext.cpp:
        (WebCore::SVGLengthContext::determineViewport): Finally clean up this hell, and make it easy to understand. Only need to resolve lengths against either RenderSVGRoot or RenderSVGViewportContainer now.
        * svg/SVGSVGElement.cpp: 
        (WebCore::SVGSVGElement::viewport): Remove wrong code and disable this. Its not used, and we have no test coverage for it. Its current implementation didn't make any sense.
        (WebCore::SVGSVGElement::parseMappedAttribute): Remove hacks mapping SVG width/height attributes to CSS properties.
        (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
        (WebCore::SVGSVGElement::localCoordinateSpaceTransform): Refactored.
        (WebCore::SVGSVGElement::currentViewBoxRect): Ditto.
        (WebCore::SVGSVGElement::currentViewportSize): Ditto.
        (WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Main logic determining if the SVG or CSS properties establish the viewport -  a direct transliteration from the spec.
        (WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Ditto.
        (WebCore::SVGSVGElement::intrinsicWidth): Helper.
        (WebCore::SVGSVGElement::intrinsicHeight): Ditto.
        * svg/SVGSVGElement.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::size): Cleanup code.
        (WebCore::SVGImage::hasRelativeWidth): Added, avoids hacks in RenderBoxModelObject.
        (WebCore::SVGImage::hasRelativeHeight): Ditto.
        (WebCore::SVGImage::computeIntrinsicDimensions): Make use of new SVGSVGElement::computeIntrinsicDimensions.
        * svg/graphics/SVGImage.h:

2012-01-20  Sami Kyostila  <skyostil@chromium.org>

        window.innerWidth/Height should not include page scale
        https://bugs.webkit.org/show_bug.cgi?id=76555

        The DOM attributes window.innerWidth and window.innerHeight should be in
        CSS pixels instead of device pixels. Currently the text zoom factor is
        cancelled out when calculating these values, but the same also needs to
        be done for the page scale.

        There is an additional subtlety concerning frames/iframes since their
        visible content rectangle is already in (unscaled) CSS pixels. By using
        Frame::frameScaleFactor() we avoid unnecessarily cancelling out the page
        scale factor in this case.

        Reviewed by Kenneth Rohde Christiansen.

        Tests: fast/dom/iframe-inner-size-scaling.html
               fast/dom/window-inner-size-scaling.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::innerHeight):
        (WebCore::DOMWindow::innerWidth):

2012-01-20  Kinuko Yasuda  <kinuko@chromium.org>

        Add DataTransferItems support for drag-and-drop'ed files and texts
        https://bugs.webkit.org/show_bug.cgi?id=76367

        Reviewed by Tony Chang.

        Per http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransfer-interface
        the new interface should also support drag-and-dropped files and texts in
        addition to pasted texts/images.  The user apps should also be able to add
        texts/files to the drag store by calling event.dataTransfer.items.add().

        This patch adds drag-and-drop'ed items support in DataTransferItem and
        DataTransferItemList so that they work for dropped files and texts (as well as
        the copy-pasted texts/images).

        This patch also adds customized toJS()/toV8() code to Blob/File javascript
        binding so that the JS code can get either Blob or File underlying object
        where the API returns Blob. This change is necessary since we return Blob
        from DataTransferItem.getAsFile() for pasted images but want to return File
        for dropped files.

        Tests: editing/pasteboard/data-transfer-items-drag-drop-file.html
               editing/pasteboard/data-transfer-items-drag-drop-string.html

        * GNUmakefile.list.am: Added entries for the new {JS,V8}BlobCustom.
        * Target.pri: Ditto.
        * UseJSC.cmake: Ditto.
        * WebCore.gypi: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
        * bindings/js/JSBlobCustom.cpp: Added toJS custom code that returns File or
        Blob depending on the return value of isFile().
        (WebCore::toJS):
        * bindings/v8/custom/V8BlobCustom.cpp: Added toV8 custom code.
        (WebCore::toV8):
        * dom/DataTransferItem.h: Added a new create() method which takes File.
        * dom/DataTransferItemList.cpp: Added add(File) method.
        (WebCore::DataTransferItemList::add):
        * dom/DataTransferItemList.h: Ditto.
        * dom/DataTransferItemList.idl: Ditto.
        * fileapi/Blob.idl: Added CustomToJS for toJS/toV8.
        * platform/chromium/ClipboardChromium.cpp: Added code for drag-and-drop'ed items.
        (WebCore::ClipboardChromium::items): Revised.
        (WebCore::ClipboardChromium::mayUpdateItems): Added.
        (WebCore::ClipboardChromium::isStorageUpdated): Added.
        * platform/chromium/ClipboardChromium.h:
        * platform/chromium/DataTransferItemChromium.cpp: Added a new constructor that
        takes File and updated getAsFile() to make it support dropped files.
        (WebCore::DataTransferItem::create):
        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
        (WebCore::DataTransferItemChromium::getAsFile):
        * platform/chromium/DataTransferItemChromium.h:
        * platform/chromium/DataTransferItemListChromium.cpp:
        (WebCore::DataTransferItemListChromium::addInternalItem):
        * platform/chromium/DataTransferItemListChromium.cpp: Added overrides implementation for m_item accessors to make them reflect the changes in the owner clipboard.
        (WebCore::DataTransferItemListChromium::length):
        (WebCore::DataTransferItemListChromium::item):
        (WebCore::DataTransferItemListChromium::deleteItem):
        (WebCore::DataTransferItemListChromium::clear):
        (WebCore::DataTransferItemListChromium::add):
        (WebCore::DataTransferItemListChromium::mayUpdateItems): Added.
        * platform/qt/DataTransferItemQt.cpp: Added a new constructor that takes File and updated
        getAsFile() to make it support dropped files.
        (WebCore::DataTransferItem::create):
        (WebCore::DataTransferItemQt::DataTransferItemQt):
        (WebCore::DataTransferItemQt::getAsFile):
        * platform/qt/DataTransferItemQt.h:

2012-01-20  Alexis Menard  <alexis.menard@openbossa.org>

        remove CSSBorderImageValue
        https://bugs.webkit.org/show_bug.cgi?id=75563

        Reviewed by Tony Chang.

        Remove CSSBorderImageValue as border-image is a shorthand therefore we don't
        need a dedicated CSS class type for it. CSSBorderImageValue was here for
        -webkit-border-image which is not a shorthand. This is the first step to move border-image
        close to a correct shorthand implementation while keeping -webkit-border-image being a regular
        CSS property.

        No new tests : It's a refactor, existing tests should cover it.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSAllInOne.cpp:
        * css/CSSBorderImage.cpp: Added.
        (WebCore::createBorderImageValue):
        * css/CSSBorderImage.h: Added.
        * css/CSSBorderImageValue.cpp: Removed.
        * css/CSSBorderImageValue.h: Removed.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForNinePieceImage):
        * css/CSSParser.cpp:
        (WebCore::BorderImageParseContext::commitBorderImage):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::mapNinePieceImage):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::addSubresourceStyleURLs):
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        * css/CSSValue.h:

2012-01-20  Hayato Ito  <hayato@chromium.org>

        Add ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
        https://bugs.webkit.org/show_bug.cgi?id=76353

        Reviewed by Hajime Morita.

        Add ShadowRoot.idl, which is enabled only on chromium port since this is
        under development feature.
        ShadowRoot.idl contains minimum API so that we can test it.
        Other APIs should be added on other changes so that we can isolate issues.

        Test: fast/dom/shadow/shadow-root-js-api.html

        * WebCore.gypi:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::shadowDOMEnabled):
        (WebCore::RuntimeEnabledFeatures::setShadowDOMEnabled):
        * dom/ShadowRoot.h:
        (WebCore::ShadowRoot::host):
        * dom/ShadowRoot.idl: Added.
        * testing/Internals.cpp:
        (WebCore::Internals::ensureShadowRoot):
        (WebCore::Internals::shadowRoot):
        * testing/Internals.h:
        * testing/Internals.idl:

2012-01-19  Kent Tamura  <tkent@chromium.org>

        Change LocalizedNumber interface
        https://bugs.webkit.org/show_bug.cgi?id=76613

        Reviewed by Hajime Morita.

        Change the functions of LocalizedNumber from:
          double parseLocalizedNumber(const String&);
          String formatLocalizedNumber(double, unsigned fractionDigits);
        To:
          String convertToLocalizedNumber(const String&, usnigned fractionDigits);
          String convertFromLocalizedNumber(const String&);
        in order that we can avoid conversion from/to a double value.

        The fractionDigits argumetn of convertToLocalizedNumber() will be
        removed in the future.  We need it because we'd like to recycle the old
        functions to implement new functions for now and functions in
        LocalizedNumber can't call functions in HTMLParserIdioms.cpp.

        No new tests because the change doesn't make any behavior change.

        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::visibleValue):
        Use convertToLocalizedNumber.
        (WebCore::NumberInputType::convertFromVisibleValue):
        Use convertFromLocalizedNumber.
        (WebCore::NumberInputType::isAcceptableValue): ditto.
        * platform/text/LocalizedNumber.h:
        Remove parseLocalizedNumber and formatLocalizedNumber, and
        introduce convertToLocalizedNumber and convertFromLocalizedNumber.
        * platform/text/LocalizedNumberICU.cpp:
        (WebCore::parseLocalizedNumber): Make this static.
        (WebCore::formatLocalizedNumber): Make this static.
        (WebCore::convertToLocalizedNumber): Implement this with formatLocalizedNumber.
        (WebCore::convertFromLocalizedNumber): Implement this with parseLocalizedNumber.
        * platform/text/LocalizedNumberNone.cpp:
        (WebCore::convertToLocalizedNumber):
        Implement this as a function returning the input string.
        (WebCore::convertFromLocalizedNumber): ditto.
        * platform/text/mac/LocalizedNumberMac.mm:
        (WebCore::parseLocalizedNumber): Make this static.
        (WebCore::formatLocalizedNumber): Make this static.
        (WebCore::convertToLocalizedNumber): Implement this with formatLocalizedNumber.
        (WebCore::convertFromLocalizedNumber): Implement this with parseLocalizedNumber.

2012-01-19  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: problem with Ctrl - <arrows> shortcuts in Scripts panel
        https://bugs.webkit.org/show_bug.cgi?id=76622

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/InspectorView.js:
        (WebInspector.InspectorView.prototype._keyDown):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype.set readOnly):
        (WebInspector.TextViewer.prototype._cancelEditing):
        (WebInspector.TextViewer.prototype.wasShown):
        (WebInspector.TextViewer.prototype.willHide):
        * inspector/front-end/UIUtils.js:
        (WebInspector.isInEditMode):
        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):

2012-01-19  Kaustubh Atrawalkar  <kaustubh@motorola.com> & Erik Arvidsson  <arv@chromium.org>

        Migrate createObjectURL & revokeObjectURL to static (Class) methods.
        https://bugs.webkit.org/show_bug.cgi?id=74386

        Reviewed by Adam Barth.

        Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
        Already Existing -
            fast/files/revoke-blob-url.html
            fast/dom/window-domurl-crash.html
            fast/files/apply-blob-url-to-img.html
            fast/files/create-blob-url-crash.html
            fast/files/workers/inline-worker-via-blob-url.html

        * html/DOMURL.cpp: Added HashMap for local static objects.
        (WebCore::PublicURLManager::PublicURLManager):
        (WebCore::PublicURLManager::contextDestroyed):
        (WebCore::PublicURLManager::blobURLs):
        (WebCore::PublicURLManager::streamURLs):
        (WebCore::publicURLManagerMap):
        (WebCore::publicURLManager):
        (WebCore::publicBlobURLs):
        (WebCore::publicStreamURLs):
        (WebCore::DOMURL::createObjectURL): Changed to static.
        (WebCore::DOMURL::revokeObjectURL): ditto.
        * html/DOMURL.h:
        (WebCore::DOMURL::create):
        (WebCore::DOMURL::~DOMURL):
        (WebCore::DOMURL::DOMURL):
        * html/DOMURL.idl:
        * page/DOMWindow.cpp: Removed object initialization for DOMURL.
        * page/DOMWindow.h: ditto.
        * page/DOMWindow.idl: ditto.
        * workers/WorkerContext.cpp: ditto.
        * workers/WorkerContext.h: ditto.
        * workers/WorkerContext.idl: ditto.

2012-01-20  Alexandru Chiculita  <achicu@adobe.com>

        CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
        https://bugs.webkit.org/show_bug.cgi?id=76444
        
        Added setCSSCustomFilterEnabled/isCSSCustomFilterEnabled that is false by default.
        I've enabled it by default on Apple Mac, to make sure there's no behavior change. Anyway, CSS shaders need
        WebGL enabled, so it ends up being disabled by default.

        Reviewed by Nikolas Zimmermann.

        Test: css3/filters/effect-custom-disabled.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFilter):
            Do not parse the custom() function when shaders are disabled.
            
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
            Do not overwrite the old style->filter() if parsing fails.
            
        (WebCore::CSSStyleSelector::createFilterOperations):
            Do not continue if one custom() filter fails to parse.
            
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setCSSCustomFilterEnabled):
        (WebCore::Settings::isCSSCustomFilterEnabled):
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::isCSSCustomFilterEnabled):
        (WebCore::FilterEffectRenderer::build):
            Avoid creating the filter when shaders are disabled. It may happen to get here if shaders were disabled between parsing and rendering.
        
2012-01-19  Shinya Kawanaka  <shinyak@google.com>

        Node::canHaveLightChildRendererWithShadow is not used anywhere.
        https://bugs.webkit.org/show_bug.cgi?id=76627

        Reviewed by Darin Adler.

        Since Node::canHaveLightChildRendererWithShadow is not overriden anywhere, and it returns always false.
        We can remove it.

        No new tests, because no change in behavior.

        * dom/Node.h:
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::shouldCreateRenderer):

2012-01-19  Kinuko Yasuda  <kinuko@chromium.org>

        Cleanup: make constant variable names in fileapi/ conform to WebKit's coding guideline
        https://bugs.webkit.org/show_bug.cgi?id=76625

        Reviewed by David Levin.

        No new tests as this patch has no functional changes.

        * fileapi/BlobURL.cpp:
        (WebCore::BlobURL::getIdentifier):
        (WebCore::BlobURL::createBlobURL):
        * fileapi/BlobURL.h:
        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::write):
        (WebCore::FileWriter::truncate):
        * platform/AsyncFileSystem.cpp:
        (WebCore::AsyncFileSystem::crackFileSystemURL):
        (WebCore::AsyncFileSystem::toURL):
        (WebCore::AsyncFileSystem::isAvailable):
        * platform/AsyncFileSystem.h:

2012-01-18  Sam Weinig  <sam@webkit.org>

        Move RunLoop to WebCore/platform
        https://bugs.webkit.org/show_bug.cgi?id=76471

        Reviewed by Anders Carlsson.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Add newly moved files.

        * platform/RunLoop.cpp: Moved from Source/WebKit2/Platform/RunLoop.cpp.
        * platform/RunLoop.h: Moved from Source/WebKit2/Platform/RunLoop.h.
        * platform/gtk/RunLoopGtk.cpp: Moved from Source/WebKit2/Platform/gtk/RunLoopGtk.cpp.
        * platform/mac/RunLoopMac.mm: Moved from Source/WebKit2/Platform/mac/RunLoopMac.mm.
        * platform/qt/RunLoopQt.cpp: Moved from Source/WebKit2/Platform/qt/RunLoopQt.cpp.
        * platform/win/RunLoopWin.cpp: Moved from Source/WebKit2/Platform/win/RunLoopWin.cpp.
        Move the files.

2012-01-19  Pablo Flouret  <pablof@motorola.com>

        Fix inconsistent text selection behavior with option-shift-left/right/up/down.
        https://bugs.webkit.org/show_bug.cgi?id=75652

        Reviewed by Enrica Casucci.

        On Mac, selecting backwards by word, line or paragraph from the middle
        of some text, and then going forward leaves the caret back in the middle
        with no selection, instead of directly selecting to the other end of the
        word/line/paragraph (Unix/Windows behavior). Fix this by adding a new
        editing behavior to control whether the selection should go across the
        initial position of the caret directly or not in situations like the one
        outlined above.

        Test: editing/selection/selection-extend-should-not-move-across-caret-on-mac.html

        * editing/EditingBehavior.h:
        (WebCore::EditingBehavior::shouldExtendSelectionByWordOrLineAcrossCaret):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::modify):

2012-01-19  Simon Fraser  <simon.fraser@apple.com>

        Regression (r98735): Video chat moles in Gmail render incorrectly on Mac OS
        https://bugs.webkit.org/show_bug.cgi?id=75682

        Reviewed by James Robinson.
        
        RenderLayerBacking::isSimpleContainerCompositingLayer() gave incorret
        results in the case where the layer itself was visibility:hidden, but
        where it had visible, non-composited descendant layers.
        
        Fix by breaking RenderLayerBacking::hasVisibleNonCompositingDescendants()
        into two methods, one that tests for renderers in this layer which
        render stuff (and are thus affected by visibility on this layer), and
        another which walks descendant, non-composited layers looking for those
        which are visible.
        
        Removed an early return in the "renderObject->node()->isDocumentNode()"
        clause, because we want to run the same code that we run for non-document
        nodes.

        Test: compositing/visibility/layer-visible-content.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
        (WebCore::RenderLayerBacking::containsNonEmptyRenderers):
        (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
        * rendering/RenderLayerBacking.h:

2012-01-19  Alexandre Elias  <aelias@google.com>

        [chromium] Draw gutter quads outside root content layer
        https://bugs.webkit.org/show_bug.cgi?id=76328

        Reviewed by James Robinson.

        Add new layer property "backgroundCoversViewport".  If the content
        layers don't fully cover the render surface, this code calculates the
        difference between the root clip rect and the root content layer and
        draws up to four background-color quads in exactly the area that would
        be undrawn.

        Test: CCTiledLayerImplTest::backgroundCoversViewport

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::setBackgroundCoversViewport):
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::backgroundCoversViewport):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        (WebCore::CCLayerImpl::setBackgroundCoversViewport):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::backgroundCoversViewport):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):

2012-01-19  Cary Clark  <caryclark@google.com>

        [Skia Mac] Match style of platform error underline for misspellings
        https://bugs.webkit.org/show_bug.cgi?id=76556

        Reviewed by Stephen White.

        Add Darwin-specific code in Skia to draw the error underline so that
        it matches the CoreGraphics style.

        Many existing layout tests inadvertantly trigger the misspelling
        underline by including the word 'foo' in an editable field. Those
        tests are temporarily suppressed separately in an edit to
        test_expectations.txt.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawLineForTextChecking):

2012-01-19  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] TextureMapper creates two many big intermediate surfaces
        https://bugs.webkit.org/show_bug.cgi?id=76336

        Reviewed by Simon Hausmann.

        The following has been done to optimize surface allocation:
        1. Instead of using a viewport-size surface, use a surface in the size of the layer's
           bounding rect and apply the transform after the content has been rendered into it.
        2. Avoid generating intermediate surface for occasions where they're not necessary,
           such as nested reflections without opacity.
        3. Releasing of textures from the pool is now implicit, based on refCount.
        4. Do not use intermediate surfaces for preserve-3d layers. This is in alignment with
           other ports.

        Tests in LayoutTests/compositing/masks and LayoutTests/compositing/reflection cover this.

        * platform/graphics/texmap/TextureMapper.cpp:
        (WebCore::TextureMapper::acquireTextureFromPool):
        * platform/graphics/texmap/TextureMapper.h:
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::paintSelf):
        (WebCore::TextureMapperNode::paintSelfAndChildren):
        (WebCore::TextureMapperNode::intermediateSurfaceRect):
        (WebCore::TextureMapperNode::shouldPaintToIntermediateSurface):
        (WebCore::TextureMapperNode::isVisible):
        (WebCore::TextureMapperNode::paintSelfAndChildrenWithReplica):
        (WebCore::TextureMapperNode::paintRecursive):
        (WebCore::TextureMapperNode::syncCompositingStateSelf):
        (WebCore::TextureMapperNode::syncCompositingState):
        * platform/graphics/texmap/TextureMapperNode.h:
        (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):

2012-01-19  Eric Seidel  <eric@webkit.org>

        Assertion failure in WebCore::HTMLFrameElementBase::insertedIntoDocument()
        https://bugs.webkit.org/show_bug.cgi?id=50312

        Reviewed by Alexey Proskuryakov.

        Removed the ASSERT and updated the comment.

        Test: fast/frames/assert-on-insertedIntoDocument.html

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::insertedIntoDocument):

2012-01-19  James Robinson  <jamesr@chromium.org>

        [chromium] Remove CCLayerDelegate, add ContentLayerDelegate for painting
        https://bugs.webkit.org/show_bug.cgi?id=76663

        Reviewed by Kenneth Russell.

        CCLayerDelegate used to be an interface with a half-dozen callbacks on it, but now it has only one call -
        paintContents() - and that one call is only valid for one subclass of LayerChromium, ContentLayerChromium. This
        removes the CCLayerDelegate pointer from LayerChromium and adds a ContentLayerDelegate for the paint call.

        The majority of the code changes in this patch are removing the nil parameter from various places that construct
        LayerChromium instances. Also tightens the type of GraphicsLayerChromium::m_layer to ContentLayerChromium.

        Refactoring/removing dead code, so no new tests.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
        * platform/graphics/chromium/CanvasLayerChromium.cpp:
        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
        * platform/graphics/chromium/CanvasLayerChromium.h:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerPainter::create):
        (WebCore::ContentLayerPainter::ContentLayerPainter):
        (WebCore::ContentLayerChromium::create):
        (WebCore::ContentLayerChromium::ContentLayerChromium):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore::ContentLayerDelegate::~ContentLayerDelegate):
        (WebCore::ContentLayerChromium::clearDelegate):
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::platformLayer):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
        (WebCore::GraphicsLayerChromium::setContentsToImage):
        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
        (WebCore::GraphicsLayerChromium::setContentsToMedia):
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::create):
        (WebCore::ImageLayerChromium::ImageLayerChromium):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::create):
        (WebCore::LayerChromium::LayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/PluginLayerChromium.cpp:
        (WebCore::PluginLayerChromium::create):
        (WebCore::PluginLayerChromium::PluginLayerChromium):
        * platform/graphics/chromium/PluginLayerChromium.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::TiledLayerChromium):
        (WebCore::TiledLayerChromium::drawsContent):
        * platform/graphics/chromium/TiledLayerChromium.h:
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::create):
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        * platform/graphics/chromium/VideoLayerChromium.h:
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::create):
        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
        * platform/graphics/chromium/WebGLLayerChromium.h:

2012-01-19  Greg Billock  <gbillock@google.com>

        [Coverity] Fix uninitialized constructor defects in .../html
        https://bugs.webkit.org/show_bug.cgi?id=74965

        Reviewed by Simon Fraser.

        Test: fast/canvas/script-tests/canvas-webkitLineDash.js

        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::HTMLFormCollection):
        * html/StepRange.cpp:
        (WebCore::StepRange::StepRange):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::State::State):
        * html/canvas/CanvasStyle.h:
        (WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
        * html/canvas/WebGLGetInfo.cpp:
        (WebCore::WebGLGetInfo::WebGLGetInfo):
        * html/parser/CSSPreloadScanner.cpp:
        (WebCore::CSSPreloadScanner::CSSPreloadScanner):
        * html/track/WebVTTParser.cpp:
        (WebCore::WebVTTParser::WebVTTParser):

2012-01-19  Alexandru Chiculita  <achicu@adobe.com>

        CSS Shaders: Remove the setTimeout from the layout tests
        https://bugs.webkit.org/show_bug.cgi?id=76535

        Reviewed by Tony Chang.

        We had setTimeout on old tests because the snapshot picture was taken too early, before the shaders were loaded.
        The problem was that the RenderLayer was notified that the shader was loaded only after the onload event was triggered,
        so a simple setTimeout(0) would have fixed the issue, but better than that would be to to always call CachedResource::data 
        in CachedShader::data, which notifies the load earlier (before onload).

        No new tests, just removed the setTimeout from old ones.

        * loader/cache/CachedShader.cpp:
        (WebCore::CachedShader::data):

2012-01-19  Min Qin  <qinmin@google.com>

        Improve touch handling performance by reusing the hitTest result
        https://bugs.webkit.org/show_bug.cgi?id=75506

        Reviewed by Adam Barth.

        This is a performance optimization and should not cause behavior changes. Existing tests should cover it.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent):

2012-01-19  Jon Lee  <jonlee@apple.com>

        Add text-overflow support that allows placeholder and value text to show an ellipsis when not focused
        https://bugs.webkit.org/show_bug.cgi?id=76118
        <rdar://problem/9271742>

        Reviewed by Dan Bernstein.

        Tests: fast/css/text-overflow-input-focus-placeholder-expected.html
               fast/css/text-overflow-input-focus-placeholder.html
               fast/css/text-overflow-input-focus-value-expected.html
               fast/css/text-overflow-input-focus-value.html
               fast/css/text-overflow-input.html

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::styleDidChange): When the style of the text control
        changes, we update the text overflow property of the placeholder.
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle): When the style of the text control
        changes, we update the text overflow property of the inner text block.
        (WebCore::RenderTextControlSingleLine::textShouldBeTruncated): The text of the value and placeholder should
        only contain the ellipsis if the input's text-overflow property is set to ellipsis, and the input is not focused.
        * rendering/RenderTextControlSingleLine.h:

2012-01-19  Mark Hahnenberg  <mhahnenberg@apple.com>

        Implement a new allocator for backing stores
        https://bugs.webkit.org/show_bug.cgi?id=75181

        Reviewed by Filip Pizlo.

        No new tests.

        Added forwarding header for new CheckedBoolean used in the bump allocator.

        * ForwardingHeaders/wtf/CheckedBoolean.h: Added.

2012-01-13  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in CompositeEditCommand::ensureComposition
        https://bugs.webkit.org/show_bug.cgi?id=76207

        Reviewed by Chang Shu.

        The crash was caused by TypingCommand not kept alive when new editing commands are executed
        during adding more typings to the open last typing command since m_lastEditCommand is replaced
        by the new command. Fixed the bug by keeping them alive a little longer with RefPtr.

        Test: editing/execCommand/editing-command-while-executing-typing-command-crash.html

        * editing/FrameSelection.cpp:
        (WebCore::shouldStopBlinkingDueToTypingCommand):
        (WebCore::FrameSelection::updateAppearance):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteSelection):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::insertLineBreak):
        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
        (WebCore::TypingCommand::insertParagraphSeparator):
        (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
        (WebCore::TypingCommand::closeTyping):
        * editing/TypingCommand.h:

2012-01-19  Andreas Kling  <awesomekling@apple.com>

        Unreviewed debug build fix.

        Remove ASSERT that the cached match is cacheable (we don't store that flag anymore.)

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):

2012-01-19  Robert Hogan  <robert@webkit.org>

        Fix Debug build after r105433

        Unreviewed, build fix.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::recalcCollapsedBorders):

2012-01-19  Andreas Kling  <awesomekling@apple.com>

        CSSStyleSelector: Factor 'isCacheable' flag out of MatchedResult.
        <http://webkit.org/b/76376>

        Reviewed by Antti Koivisto.

        Break up the MatchResult struct into MatchResult and MatchRanges. The matched
        declaration cache only needs the ranges, so we save 4 bytes per entry.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchAllRules):
        (WebCore::CSSStyleSelector::matchUARules):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
        (WebCore::operator==):
        (WebCore::operator!=):
        (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
        (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::MatchRanges::MatchRanges):
        (WebCore::CSSStyleSelector::MatchResult::MatchResult):

2012-01-19  Eric Carlson  <eric.carlson@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=75192

        Reviewed by Darin Adler.

        Notify the media element when tracks are added to and removed from a document instead of
        a tree because we don't want to trigger loading unless a track element is in the document.

        Test: media/track/track-delete-during-setup.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::trackWasRemoved): Renamed from trackWillBeRemoved because it is
            now called after removal.
        * html/HTMLMediaElement.h:

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::insertedIntoDocument): Was insertedIntoTree. Use this instead
            because we care about when a track is inserted and removed from a document, not a tree.
        (WebCore::HTMLTrackElement::removedFromDocument): Ditto.
        * html/HTMLTrackElement.h:

2012-01-18  Robert Hogan  <robert@webkit.org>

        Hit ASSERTION FAILED: table()->collapseBorders() on techcrunch.com
        https://bugs.webkit.org/show_bug.cgi?id=76405

        Reviewed by Julien Chaffraix.

        Tests: fast/css/nested-table-with-collapsed-borders.html

        Change recalcCollapsedBorders() so that it only collects border values for the current
        table. Calculating the borders for nested tables was wrong as well as wasting cycles, though it would never
        have impacted rendering since a cell only paints the borders that match its own.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::recalcCollapsedBorders):

2012-01-18  Jer Noble  <jer.noble@apple.com>

        Make WebAudio API const-correct.
        https://bugs.webkit.org/show_bug.cgi?id=76573

        Reviewed by Daniel Bates.

        No new tests; no net change in functionality, so covered by existing tests.

        The non-const data() accessor was renamed mutableData() to expose const-correctness
        bugs during compile time:
        * platform/audio/AudioChannel.h:
        (WebCore::AudioChannel::mutableData):

        The following functions were made const correct:
        * platform/audio/AudioArray.h:
        (WebCore::AudioArray::copyToRange):
        * platform/audio/AudioBus.h:
        (WebCore::AudioBus::createBufferFromRange):
        (WebCore::AudioBus::createBySampleRateConverting):
        (WebCore::AudioBus::createByMixingToMono):
        * platform/audio/FFTConvolver.cpp:
        (WebCore::FFTConvolver::process):
        * platform/audio/FFTConvolver.h:
        * platform/audio/FFTFrame.cpp:
        (WebCore::FFTFrame::doPaddedFFT):
        (WebCore::FFTFrame::doFFT):
        * platform/audio/FFTFrame.h:
        * platform/audio/ReverbConvolverStage.cpp:
        (WebCore::ReverbConvolverStage::ReverbConvolverStage):
        (WebCore::ReverbConvolverStage::process):
        * platform/audio/ReverbConvolverStage.h:
        * platform/audio/ReverbInputBuffer.cpp:
        (WebCore::ReverbInputBuffer::write):
        * platform/audio/ReverbInputBuffer.h:
        * platform/audio/SincResampler.cpp:
        (WebCore::SincResampler::process):
        * platform/audio/SincResampler.h:
        * platform/audio/ZeroPole.cpp:
        (WebCore::ZeroPole::process):
        * platform/audio/ZeroPole.h:
        * platform/audio/AudioBus.cpp:
        (WebCore::AudioBus::channelByType):
        * platform/audio/AudioBus.h:
        (WebCore::AudioBus::gain):
        * platform/audio/AudioDSPKernelProcessor.cpp:
        (WebCore::AudioDSPKernelProcessor::process):
        * platform/audio/AudioDSPKernelProcessor.h:
        * platform/audio/AudioProcessor.h:
        * platform/audio/DynamicsCompressor.cpp:
        (WebCore::DynamicsCompressor::process):
        * platform/audio/DynamicsCompressor.h:
        * platform/audio/DynamicsCompressorKernel.cpp:
        (WebCore::DynamicsCompressorKernel::process):
        * platform/audio/DynamicsCompressorKernel.h:
        * platform/audio/EqualPowerPanner.cpp:
        (WebCore::EqualPowerPanner::pan):
        * platform/audio/EqualPowerPanner.h:
        * platform/audio/HRTFElevation.h:
        (WebCore::HRTFElevation::numberOfAzimuths):
        * platform/audio/HRTFPanner.cpp:
        (WebCore::HRTFPanner::pan):
        * platform/audio/HRTFPanner.h:
        * platform/audio/Panner.h:
        * platform/audio/Reverb.cpp:
        (WebCore::Reverb::process):
        * platform/audio/Reverb.h:
        * platform/audio/ReverbConvolver.cpp:
        (WebCore::ReverbConvolver::process):
        * platform/audio/ReverbConvolver.h:
        * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp:
        (WebCore::FFTFrame::doFFT):
        * platform/audio/mkl/FFTFrameMKL.cpp:
        (WebCore::FFTFrame::doFFT):

        The following functions were modified to use the renamed mutableData() accessor:
        * platform/audio/AudioBus.cpp:
        (WebCore::AudioBus::processWithGainFromMonoStereo):
        (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):
        * platform/audio/AudioChannel.cpp:
        (WebCore::AudioChannel::scale):
        (WebCore::AudioChannel::copyFrom):
        (WebCore::AudioChannel::copyFromRange):
        (WebCore::AudioChannel::sumFrom):
        * platform/audio/AudioDSPKernelProcessor.cpp:
        (WebCore::AudioDSPKernelProcessor::process):
        * platform/audio/AudioResampler.cpp:
        (WebCore::AudioResampler::process):
        * platform/audio/DynamicsCompressor.cpp:
        (WebCore::DynamicsCompressor::process):
        * platform/audio/EqualPowerPanner.cpp:
        (WebCore::EqualPowerPanner::pan):
        * platform/audio/HRTFKernel.cpp:
        (WebCore::extractAverageGroupDelay):
        (WebCore::HRTFKernel::HRTFKernel):
        (WebCore::HRTFKernel::createImpulseResponse):
        * platform/audio/HRTFPanner.cpp:
        (WebCore::HRTFPanner::pan):
        * platform/audio/MultiChannelResampler.cpp:
        (WebCore::MultiChannelResampler::process):
        * platform/audio/Reverb.cpp:
        (WebCore::Reverb::process):
        * platform/audio/ReverbConvolver.cpp:
        (WebCore::ReverbConvolver::ReverbConvolver):
        (WebCore::ReverbConvolver::process):
        * platform/audio/mac/AudioFileReaderMac.cpp:
        (WebCore::AudioFileReader::createBus):
        * platform/audio/mac/FFTFrameMac.cpp:
        (WebCore::FFTFrame::doFFT):
        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::process):
        (WebCore::AudioBufferSourceNode::renderFromBuffer):
        * webaudio/BiquadProcessor.cpp:
        (WebCore::BiquadProcessor::process):
        * webaudio/JavaScriptAudioNode.cpp:
        (WebCore::JavaScriptAudioNode::process):
        * webaudio/OfflineAudioDestinationNode.cpp:
        (WebCore::OfflineAudioDestinationNode::render):
        * webaudio/RealtimeAnalyser.cpp:
        (WebCore::RealtimeAnalyser::writeInput):
        * webaudio/WaveShaperProcessor.cpp:
        (WebCore::WaveShaperProcessor::process):

2012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed, inspector closure compilation fix.

        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/TabbedEditorContainer.js:

2012-01-19  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=76644

        Before landing support for centering, fix the keyword value to match the latest draft.
        The new keyword is "contain" instead of "bounds."

        Revised the existing parsing tests to reflect the updated value.

        Reviewed by Dan Bernstein.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator LineGridSnap):
        * css/CSSValueKeywords.in:
        * rendering/style/RenderStyleConstants.h:

2012-01-19  Joi Sigurdsson  <joi@chromium.org>

        Enable use of precompiled headers in Chromium port on Windows.

        Bug 76381 - Use precompiled headers in Chromium port on Windows
        https://bugs.webkit.org/show_bug.cgi?id=76381

        Reviewed by Tony Chang.

        No new tests needed; if the change builds and existing tests pass
        that should provide enough coverage.

        * WebCore.gyp/WebCore.gyp: Include WinPrecompile.gypi.

2012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Switching tabs in TabbedEditorContainer should reveal selected script in navigator.
        https://bugs.webkit.org/show_bug.cgi?id=76636

        Reviewed by Pavel Feldman.

        Renamed FileSelector's ScriptSelected event into FileSelected, added EditorSelected
        event to EditorContainer.
        Renamed _showSourceFrame into _showFile.
        Made _uiSourceCodeRemoved reuse _removeSourceFrame.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype.scriptSelected):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
        (WebInspector.ScriptsPanel.prototype._showAndRevealInFileSelector):
        (WebInspector.ScriptsPanel.prototype._editorSelected):
        (WebInspector.ScriptsPanel.prototype._fileSelected):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer):
        (WebInspector.TabbedEditorContainer.prototype._tabSelected):

2012-01-19  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Add support for background-color in region styling
        https://bugs.webkit.org/show_bug.cgi?id=71488

        Reviewed by David Hyatt.

        This patch enables region styling again. The region styling tests were also added back. 
        With the improvements from https://bugs.webkit.org/show_bug.cgi?id=76265, hopefully we will not see the same 3% regressions
        in performance.

        * rendering/RenderObject.h:
        (WebCore::RenderObject::style):

2012-01-16  Jer Noble  <jer.noble@apple.com>

        Crash at WebCore::MediaControlRootElement::makeOpaque + 97
        https://bugs.webkit.org/show_bug.cgi?id=76391

        Reviewed by John Sullivan.

        No new tests; Speculative fix for crash.

        Crash report data suggests this crash is occurring as the document is being
        closed.  Check the nullity of document()->page() before deref-ing.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::makeOpaque):

2012-01-19  Ken Buchanan <kenrb@chromium.org>

        Layout Test fast/text/international/spaces-combined-in-vertical-text.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=75787

        Reviewed by Simon Fraser.

        This is a tweak to my patch in r104322. On some platforms
        RenderCombineText::combineText() can abort early during inline
        iteration, causing this loop in skipLeadingWhitespace to spin,
        hence the layout test timeouts. This patch accounts for that
        condition and makes the loop iteration more robust.

        No new test because this is fixing a failure on an existing test.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):

2012-01-19  Jer Noble  <jer.noble@apple.com>

        HRTFPanner not rendering correctly on mac port
        https://bugs.webkit.org/show_bug.cgi?id=76397

        Reviewed by Eric Carlson.

        No new tests; HRTF results are currently not testable.

        Re-generate the Composite.wav file from its constituent azimuth & elevation files.

        * platform/audio/resources/Composite.wav:

2012-01-19  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=76577
        
        Fix crash when nested line grids are used. Make sure to bail out if no line grid
        is found rather than crashing.

        Reviewed by Dan Bernstein.

        Added fast/line-grid/line-grid-nested.html.

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::establishLineGrid):

2012-01-18  Enrica Casucci  <enrica@apple.com>

        editingAttributedStringFromRange in WebHTMLConverter does not handle NSUnderlineStyleAttributeName.
        https://bugs.webkit.org/show_bug.cgi?id=76588
        <rdar://problem/9325183>

        Reviewed by Dan Bernstein.

        Added TestWebKitAPI test.

        * platform/mac/HTMLConverter.mm:
        (+[WebHTMLConverter editingAttributedStringFromRange:]):

2012-01-18  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Implement screen resolution emulation backend
        https://bugs.webkit.org/show_bug.cgi?id=76532

        Reviewed by Pavel Feldman.

        The emulation affects [min-|max-]device-(width|height) media queries, window.screen.(width|height),
        and window.inner(Width|Height).

        Test: inspector/styles/override-screen-size.html

        * css/MediaQueryEvaluator.cpp:
        (WebCore::device_heightMediaFeatureEval): Apply device-height override if necessary.
        (WebCore::device_widthMediaFeatureEval): Apply device-width override if necessary.
        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
        (WebCore::InspectorCSSAgent::startSelectorProfiler):
        (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
        (WebCore::InspectorCSSAgent::willMatchRule):
        (WebCore::InspectorCSSAgent::didMatchRule):
        (WebCore::InspectorCSSAgent::willProcessRule):
        (WebCore::InspectorCSSAgent::didProcessRule):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::applyScreenWidthOverrideImpl):
        (WebCore::InspectorInstrumentation::applyScreenHeightOverrideImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::applyScreenWidthOverride):
        (WebCore::InspectorInstrumentation::applyScreenHeightOverride):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::InspectorPageAgent):
        (WebCore::InspectorPageAgent::restore):
        (WebCore::InspectorPageAgent::disable):
        (WebCore::InspectorPageAgent::setScreenSizeOverride):
        (WebCore::InspectorPageAgent::applyScreenWidthOverride):
        (WebCore::InspectorPageAgent::applyScreenHeightOverride):
        (WebCore::InspectorPageAgent::updateFrameViewFixedLayout):
        (WebCore::InspectorPageAgent::clearFrameViewFixedLayout):
        (WebCore::InspectorPageAgent::setFrameViewFixedLayout):
        * inspector/InspectorPageAgent.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::innerHeight): Apply height override if necessary.
        (WebCore::DOMWindow::innerWidth): Apply width override if necessary.
        * page/Screen.cpp:
        (WebCore::Screen::height): Apply height override if necessary.
        (WebCore::Screen::width): Apply width override if necessary.

2012-01-18  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [Qt] Handle the layers visible rect calculation on the web process.
        https://bugs.webkit.org/show_bug.cgi?id=74720

        Reviewed by Noam Rosenthal.

        Remove all visible rect calculation related code from TextureMapperNode.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        * platform/graphics/texmap/TextureMapperNode.h:

2012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Improve focus switching in scripts panel.
        https://bugs.webkit.org/show_bug.cgi?id=76628

        Reviewed by Pavel Feldman.

        * inspector/front-end/Dialog.js:
        (WebInspector.Dialog.prototype._hide):
        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
        (WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._showSourceLine):

2012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add isSelfOrAnsector and isSelfOrDescendant methods to utilities.
        https://bugs.webkit.org/show_bug.cgi?id=76618

        Added isSelfOrAncestor, isSelfOrDescendant and WebInspector.restoreFocusFromElement methods.

        Reviewed by Pavel Feldman.

        * inspector/front-end/Drawer.js:
        * inspector/front-end/HelpScreen.js:
        (WebInspector.HelpScreen.prototype._onBlur):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
        * inspector/front-end/Popover.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.showUISourceCode):
        * inspector/front-end/StylesSidebarPane.js:
        ():
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.detach):
        (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
        * inspector/front-end/UIUtils.js:
        (WebInspector.startEditing.cleanUpAfterEditing):
        (WebInspector.restoreFocusFromElement):
        * inspector/front-end/utilities.js:
        (Element.prototype.isInsertionCaretInside):
        ():

2012-01-19  Andreas Kling  <awesomekling@apple.com>

        DynamicNodeList: Simplify internal Caches object.
        <http://webkit.org/b/76600>

        Reviewed by Ryosuke Niwa.

        Move m_caches from DynamicSubtreeNodeList and ChildNodeList up into DynamicNodeList.
        Remove the inheritance from RefCounted and store it simply as "Caches m_caches"
        This avoids one heap allocation per DynamicNodeList. Also reordered the Caches members
        to pack slightly better on 64-bit.

        * dom/ChildNodeList.cpp:
        (WebCore::ChildNodeList::ChildNodeList):
        (WebCore::ChildNodeList::length):
        (WebCore::ChildNodeList::item):
        * dom/ChildNodeList.h:
        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
        (WebCore::DynamicSubtreeNodeList::length):
        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::item):
        * dom/DynamicNodeList.h:
        (WebCore::DynamicNodeList::invalidateCache):
        * dom/Node.cpp:
        (WebCore::NodeRareData::clearChildNodeListCache):

2012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: TabbedPane closeAllTabs does not close all tabs.
        https://bugs.webkit.org/show_bug.cgi?id=76624

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype.closeAllTabs):

2012-01-18  Rob Buis  <rbuis@rim.com>

        image/pjpeg not supported for decoding on BlackBerry platform
        https://bugs.webkit.org/show_bug.cgi?id=76595

        Reviewed by Antonio Gomes.

        Add image/pjpeg as one of the supported types for image decoding on BlackBerry platform.

        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):

2012-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105402.
        http://trac.webkit.org/changeset/105402
        https://bugs.webkit.org/show_bug.cgi?id=76623

        Layout test problems (Requested by WildFox on #webkit).

        * css/svg.css:
        (svg):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::computeIntrinsicRatioInformation):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::computeReplacedLogicalWidth):
        (WebCore::RenderImage::computeIntrinsicRatioInformation):
        * rendering/RenderImage.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
        (WebCore::RenderReplaced::logicalHeightIsAuto):
        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
        * rendering/RenderReplaced.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGViewportContainer.h:
        * svg/SVGLengthContext.cpp:
        (WebCore::SVGLengthContext::determineViewport):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::viewport):
        (WebCore::SVGSVGElement::parseMappedAttribute):
        (WebCore::updateCSSForAttribute):
        (WebCore::SVGSVGElement::svgAttributeChanged):
        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
        (WebCore::SVGSVGElement::currentViewBoxRect):
        * svg/SVGSVGElement.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::size):
        (WebCore::SVGImage::computeIntrinsicDimensions):
        * svg/graphics/SVGImage.h:

2012-01-19  Alexis Menard  <alexis.menard@openbossa.org>

        Strange Result for getComputedStyle on borderWidth set in em
        https://bugs.webkit.org/show_bug.cgi?id=18294

        Reviewed by Tony Chang.

        BorderValue stores its width on a 12 bits unsigned. This patch 
        increase it to 27. The patch also modify the way to set the 
        width or to get it, we now use a unsigned rather than a short.

        Test: fast/css/border-width-large.html

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLength):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc):
        (WebCore::AnimationBase::ensurePropertyMap):
        * platform/animation/AnimationUtilities.h:
        (WebCore::blend):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        * rendering/style/BorderData.h:
        (WebCore::BorderData::borderLeftWidth):
        (WebCore::BorderData::borderRightWidth):
        (WebCore::BorderData::borderTopWidth):
        (WebCore::BorderData::borderBottomWidth):
        * rendering/style/BorderValue.h:
        (WebCore::BorderValue::width):
        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::borderLeftWidth):
        (WebCore::RenderStyleBitfields::borderRightWidth):
        (WebCore::RenderStyleBitfields::borderTopWidth):
        (WebCore::RenderStyleBitfields::borderBottomWidth):
        (WebCore::RenderStyleBitfields::setBorderLeftWidth):
        (WebCore::RenderStyleBitfields::setBorderRightWidth):
        (WebCore::RenderStyleBitfields::setBorderTopWidth):
        (WebCore::RenderStyleBitfields::setBorderBottomWidth):
        (WebCore::RenderStyleBitfields::initialBorderWidth):
        (WebCore::RenderStyleBitfields::initialColumnRuleWidth):
        (WebCore::RenderStyleBitfields::initialOutlineWidth):

2012-01-18  Nikolas Zimmermann  <nzimmermann@rim.com>

        Differentiate between SVG/CSS width/height attributes/properties
        https://bugs.webkit.org/show_bug.cgi?id=76447

        Reviewed by Antti Koivisto.

        Remove a gazillion of hacks out of our SVG implementation, by correctly differentiating between the
        SVG width/height attributes and the CSS width/height properties. They need to be treated independently
        when handling the intrinsic size negotiation, according to both CSS 2.1 & SVG 1.1 2nd Edition specs.

        Fixes several bugs in the LayoutTests/svg/custom/*object*sizing tests, we now match Opera perfectly. FF still has some bugs, and IE9 as well.

        * css/svg.css: Remove hardcoded, width/height: 100% on <svg>.
        * rendering/RenderBox.h:
        (WebCore::RenderBox::computeIntrinsicRatioInformation): Make 'intrinsicRatio' a float, and add 'intrinsicSize' as seperated FloatSize, to avoid confusion.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): Add forgotton case for percentage intrinsic sizes, that lead to workarounds in other places, that can now be removed.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::computeReplacedLogicalWidth): Directly use imageHasRelativeWidth/Height(), it does differentiate between SVG/CSS width/height attributes/properties now.
        (WebCore::RenderImage::computeIntrinsicRatioInformation): Adapt to 'intrinsicRatio' argument change.
        * rendering/RenderImage.h: Ditto.
        * rendering/RenderReplaced.cpp: Refactor existing code, break out firstContainingBlockWithLogicalWidth/hasReplacedLogicalWidth/hasReplacedLogicalHeight/hasAutoHeightOrContainingBlockWithAutoHeight.
        (WebCore::firstContainingBlockWithLogicalWidth): Refactored.
        (WebCore::RenderReplaced::hasReplacedLogicalWidth): Refactored, and exported, so SVGSVGElement::widthAttributeEstablishesViewport() can use it.
        (WebCore::hasAutoHeightOrContainingBlockWithAutoHeight): Refactored.
        (WebCore::RenderReplaced::hasReplacedLogicalHeight): Refactored, and exported, so SVGSVGElement::heightAttributeEstablishesViewport() can use it.
        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Adapt to 'intrinsicRatio' changes ('intrinsicSize' is now decoupled from it). Refactor so that RenderSVGRoot can directly use it as well!
        (WebCore::RenderReplaced::computeReplacedLogicalHeight): Ditto.
        * rendering/RenderReplaced.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation): Only determine the intrinsic size & ratio using the SVG width/height attributes, not the CSS width/height properties, as it's specified.
        (WebCore::resolveLengthAttributeForSVG): Helper function for computeReplacedLogicalWidth/Height, that scales Length values that come from SVG width/height attributes.
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Finally remove home-brewn size computation logic - it can be fully shared with RenderReplaced now that we inherit from it.
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGViewportContainer.h:
        (WebCore::RenderSVGViewportContainer::viewport): Export viewport() for easier length resolution.
        * svg/SVGLengthContext.cpp:
        (WebCore::SVGLengthContext::determineViewport): Finally clean up this hell, and make it easy to understand. Only need to resolve lengths against either RenderSVGRoot or RenderSVGViewportContainer now.
        * svg/SVGSVGElement.cpp: 
        (WebCore::SVGSVGElement::viewport): Remove wrong code and disable this. Its not used, and we have no test coverage for it. Its current implementation didn't make any sense.
        (WebCore::SVGSVGElement::parseMappedAttribute): Remove hacks mapping SVG width/height attributes to CSS properties.
        (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
        (WebCore::SVGSVGElement::localCoordinateSpaceTransform): Refactored.
        (WebCore::SVGSVGElement::currentViewBoxRect): Ditto.
        (WebCore::SVGSVGElement::currentViewportSize): Ditto.
        (WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Main logic determining if the SVG or CSS properties establish the viewport -  a direct transliteration from the spec.
        (WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Ditto.
        (WebCore::SVGSVGElement::intrinsicWidth): Helper.
        (WebCore::SVGSVGElement::intrinsicHeight): Ditto.
        * svg/SVGSVGElement.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::size): Cleanup code.
        (WebCore::SVGImage::hasRelativeWidth): Added, avoids hacks in RenderBoxModelObject.
        (WebCore::SVGImage::hasRelativeHeight): Ditto.
        (WebCore::SVGImage::computeIntrinsicDimensions): Make use of new SVGSVGElement::computeIntrinsicDimensions.
        * svg/graphics/SVGImage.h:

2012-01-19  Ryosuke Niwa  <rniwa@webkit.org>

        drop event isn't fired for contentEditable in edit drag
        https://bugs.webkit.org/show_bug.cgi?id=57185

        Reviewed by Adam Barth.

        Dispatch drop and dragend events after edit drag per HTML5 spec:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#drag-and-drop-processing-model

        There are two major differences between the spec and WebKit's new behavior:

        While the spec says we have to insert the dragged contents immediately after dispatching drop event
        and delete the source in the default event handler of dragend event, doing so in WebKit is extremely
        difficult because of the way we manage the selection. Instead, we continue to delete the source
        and insert the dragged contents immediately after the drop event; this behavior matches that of Firefox 9.

        When the dragged contents and the destination of the move is in the same text node, ReplaceSelectionCommand
        may end up replacing it with a new text node. But this removal causes a problem when EventHandler uses
        the node to dispatch dragend event because the node is "orphaned" from its parent at that point. To mitigate
        this issue, we update the dragState's m_dragSrc when the node is orphaned by the edit drag. While this behavior
        may differ from the spec and other browsers, not delivering dragend to the editing host seems strictly worse than
        dispatching it at the slightly wrong target.

        Tests: fast/events/moving-text-should-fire-drop-and-dragend-events-2.html
               fast/events/moving-text-should-fire-drop-and-dragend-events.html

        * page/DragController.cpp:
        (WebCore::DragController::performDrag): Dispatch drop event even when m_isHandlingDrag is true as long
        as DragDestinationActionDHTML is an acceptable action.
        (WebCore::DragController::concludeEditDrag): Call updateDragStateAfterEditDragIfNeeded after inserting
        the dragged contents. This is necessary when ReplaceSelectionCommand or MoveSelectionCommand modifies
        the source node while inserting the dragged contents.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::performDragAndDrop): Clear the drag state only if drop event's default action
        was prevented so that we dispatch dragevent event later.
        (WebCore::EventHandler::updateDragStateAfterEditDragIfNeeded): Update dragState's m_dragSrc when the node
        is orphaned. See above for the rationale.
        * page/EventHandler.h:

2012-01-18  Kinuko Yasuda  <kinuko@chromium.org>

        Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory
        https://bugs.webkit.org/show_bug.cgi?id=76551

        Reviewed by Darin Fisher.

        Moved the implementation of crackFileSystemURL() and toURL() from
        WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
        so that each platform can extend/implement their behavior if necessary.

        No new tests since this patch has no functionality changes. (Existing
        tests should pass)

        * fileapi/DOMFileSystemBase.cpp: Moved the implementation of
        crackFileSystemURL() to AsyncFileSystem
        (WebCore::DOMFileSystemBase::crackFileSystemURL):
        * fileapi/DOMFileSystemBase.h:
        * fileapi/EntryBase.cpp: Moved the implementation of toURL() to AsyncFileSystem
        (WebCore::EntryBase::toURL):
        * page/DOMWindow.cpp: Removed chrome-specific type handling code.
        (WebCore::DOMWindow::webkitRequestFileSystem):
        * page/DOMWindow.h: Removed chrome-specific filesystem type
        (EXTERNAL).
        * platform/AsyncFileSystem.cpp: Added default implementation of toURL() and crackFileSystemURL()
        (WebCore::AsyncFileSystem::toURL):
        (WebCore::AsyncFileSystem::crackFileSystemURL):
        * platform/AsyncFileSystem.h:
        * workers/WorkerContext.cpp: Removed chrome-specific type handling code.
        (WebCore::WorkerContext::webkitRequestFileSystem):
        (WebCore::WorkerContext::webkitRequestFileSystemSync):

2012-01-19  Mihnea Ovidenie  <mihnea@adobe.com>

        Cache RenderStyle pointer as a method to avoid performance regression for region styling
        https://bugs.webkit.org/show_bug.cgi?id=76265

        Reviewed by David Hyatt.

        No new tests since this is just refactoring.
        When region styling was enabled in https://bugs.webkit.org/show_bug.cgi?id=71488,
        it introduced a performance regression due to the change of RenderObject::style() method.
        This patch tries to avoid a new performance regression when region styling will be enabled again.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::styleWillChange):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::computePreferredLogicalWidths):
        (WebCore::getBorderPaddingMargin):
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::willBeDestroyed):
        (WebCore::RenderBox::styleWillChange):
        (WebCore::RenderBox::styleDidChange):
        (WebCore::RenderBox::updateBoxModelInfoFromStyle):
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::computeLogicalWidthInRegion):
        (WebCore::RenderBox::computeLogicalWidthUsing):
        (WebCore::RenderBox::computeLogicalHeight):
        (WebCore::RenderBox::computePercentageLogicalHeight):
        (WebCore::RenderBox::computePositionedLogicalHeight):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::styleWillChange):
        (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::styleDidChange):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::styleDidChange):
        (WebCore::RenderText::computePreferredLogicalWidths):

2012-01-19  Kazuhiro Inaba  <kinaba@chromium.org>

        [Chromium] Random characters got rendered as empty boxes or with incorrect glyphs even when a font is present
        https://bugs.webkit.org/show_bug.cgi?id=76508

        Reviewed by Kent Tamura.

        Wrapped GetGlyphIndices() API calls so that when they failed we trigger font
        loading outside the sandbox and retry the call.

        No new auto tests since the bug involves the system's occasional cache behavior
        and thus there's no reliable way to reproduce and test the situation.

        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
        (WebCore::getGlyphIndices):
        GDI call wrapper ensuring fonts to be loaded.
        (WebCore::initSpaceGlyph):
        Changed to use the wrapper function.
        (WebCore::fillBMPGlyphs):
        Changed to use the wrapper function.
        Introduced scoped HDC management by HWndDC.
        (WebCore::GlyphPage::fill):

2012-01-19  Adam Barth  <abarth@webkit.org>

        createAttributeNS should understand that "xmlns" is allowed in the http://www.w3.org/2000/xmlns/
        https://bugs.webkit.org/show_bug.cgi?id=76579

        Reviewed by Eric Seidel.

        This patch cleans up a tiny corner case involving the (somewhat
        magical) xmlns attribute that we uncovered when working on
        setAttributeNS.

        Tests: fast/dom/Document/createAttributeNS-namespace-err.html

        * dom/Document.cpp:
        (WebCore::Document::importNode):
        (WebCore::Document::hasValidNamespaceForElements):
        (WebCore::Document::hasValidNamespaceForAttributes):
        (WebCore::Document::createElementNS):
        (WebCore::Document::createAttributeNS):
        * dom/Document.h:
        * dom/Element.cpp:
        (WebCore::Element::setAttributeNS):

2012-01-19  Roland Steiner  <rolandsteiner@chromium.org>

        Unreviewed build fix for DEBUG: remove comparison of an unsigned variable with '>= 0' in ASSERT.

        No new tests. (no functionality change)

        * webaudio/AudioNodeOutput.cpp:
        (WebCore::AudioNodeOutput::AudioNodeOutput):

2012-01-18  Li Yin  <li.yin@intel.com>

        [v8] Low efficiency of writing long string from web application to plugin.
        https://bugs.webkit.org/show_bug.cgi?id=76592

        The efficiency will be improved by 300 times in the best case, when the
        size of string reaches 1MB.

        Reviewed by Adam Barth.

        * bindings/v8/V8NPUtils.cpp:
        (WebCore::convertV8ObjectToNPVariant):

2012-01-18  Adam Barth  <abarth@webkit.org>

        Assigning to Element.prefix should throw exception when using illegal characters
        https://bugs.webkit.org/show_bug.cgi?id=76589

        Reviewed by Eric Seidel.

        This patch fixes a FIXME and implements the INVALID_CHARACTER_ERR
        exception described in
        http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSPrefix

        Tests: fast/dom/Element/prefix-setter-exception.html

        * dom/Node.cpp:
        (WebCore::isValidNameStartCharacter):
        (WebCore::isValidNameCharacter):
        (WebCore::hasInvalidValidNameCharacters):
        (WebCore::Node::checkSetPrefix):

2012-01-18  Shinya Kawanaka  <shinyak@google.com>

        ShadowContent query should be able to have fallback elements.
        https://bugs.webkit.org/show_bug.cgi?id=75306

        Reviewed by Hajime Morita.

        When no elements are selected by a shadow content element selector query,
        light children are selected as a fallback elements.

        Test: fast/dom/shadow/shadow-contents-fallback.html

        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
          Considers fallback phase. When no elements are chosen, the phase is set to 'fallback'.
        (WebCore::NodeRenderingContext::nextRenderer):
          Takes fallback phase into account.
        (WebCore::NodeRenderingContext::previousRenderer): ditto.
        * dom/NodeRenderingContext.h:
        * html/shadow/HTMLContentElement.cpp:
        (WebCore::HTMLContentElement::attach):
          Calculates inclusions before attaching light children.
        * html/shadow/HTMLContentElement.h:
        (WebCore::HTMLContentElement::hasInclusion):

2012-01-18  Kent Tamura  <tkent@chromium.org>

        REGRESSION(r100111): A 'change' event does not fire when a mouse drag
        occurs to switch elements in a listbox <select>
        https://bugs.webkit.org/show_bug.cgi?id=76244

        Reviewed by Hajime Morita.

        Test: fast/forms/select/listbox-drag-in-non-multiple.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::updateSelectedState):
        Do not update m_activeSelectionState for non-multiple <select>.
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
        Use setActiveSelection*Index() and updateListBoxSelection(true) instead
        of updateSelectedState() because updateSelectedState() updates
        m_lastOnChangeSelection and will prevent the mouseup handler from
        dispatching 'change' event.
        We should not call listBoxOnChange() in the mousemove handler in order
        to align the behavior of IE and Firefox.

2012-01-18  Eric Seidel  <eric@webkit.org>

        setAttributeNS should comply with the obscure rules of DOM2, just like createAttributeNS and createElementNS do
        https://bugs.webkit.org/show_bug.cgi?id=76143

        Reviewed by Adam Barth.

        Test: fast/dom/Element/setAttributeNS-namespace-err.html

        * dom/Element.cpp:
        (WebCore::Element::setAttributeNS):

2012-01-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105376.
        http://trac.webkit.org/changeset/105376
        https://bugs.webkit.org/show_bug.cgi?id=76601

        Roll 76493 back in after discussion with jsbell (Requested by
        rolandsteiner on #webkit).

        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::injectIDBKeyIntoSerializedValue):

2012-01-18  Ian Vollick  <vollick@chromium.org>

        [chromium] Create a base-class CCAnimation to represent compositor animations
        https://bugs.webkit.org/show_bug.cgi?id=73233

        Adds a kernel for running animations on the chromium compositor
        thread.

        Reviewed by Kenneth Russell.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCActiveAnimation.cpp: Added.
        (WebCore::CCActiveAnimation::CCActiveAnimation):
        (WebCore::CCActiveAnimation::setRunState):
        (WebCore::CCActiveAnimation::isFinishedAt):
        (WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
        * platform/graphics/chromium/cc/CCActiveAnimation.h: Added.
        (WebCore::CCActiveAnimation::create):
        (WebCore::CCActiveAnimation::~CCActiveAnimation):
        (WebCore::CCActiveAnimation::group):
        (WebCore::CCActiveAnimation::targetProperty):
        (WebCore::CCActiveAnimation::runState):
        (WebCore::CCActiveAnimation::iterations):
        (WebCore::CCActiveAnimation::setIterations):
        (WebCore::CCActiveAnimation::startTime):
        (WebCore::CCActiveAnimation::setStartTime):
        (WebCore::CCActiveAnimation::isFinished):
        (WebCore::CCActiveAnimation::animationCurve):
        * platform/graphics/chromium/cc/CCAnimationCurve.cpp: Added.
        (WebCore::CCAnimationCurve::toFloatAnimationCurve):
        (WebCore::CCAnimationCurve::toTransformAnimationCurve):
        * platform/graphics/chromium/cc/CCAnimationCurve.h: Added.
        (WebCore::CCAnimationCurve::~CCAnimationCurve):
        (WebCore::CCFloatAnimationCurve::~CCFloatAnimationCurve):
        (WebCore::CCFloatAnimationCurve::type):
        (WebCore::CCTransformAnimationCurve::~CCTransformAnimationCurve):
        (WebCore::CCTransformAnimationCurve::type):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: Added.
        (WebCore::CCLayerAnimationControllerImpl::create):
        (WebCore::CCLayerAnimationControllerImpl::CCLayerAnimationControllerImpl):
        (WebCore::CCLayerAnimationControllerImpl::animate):
        (WebCore::CCLayerAnimationControllerImpl::add):
        (WebCore::CCLayerAnimationControllerImpl::getActiveAnimation):
        (WebCore::CCLayerAnimationControllerImpl::hasActiveAnimation):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
        (WebCore::CCLayerAnimationControllerImpl::resolveConflicts):
        (WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations):
        (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: Added.
        (WebCore::CCLayerAnimationControllerImplClient::~CCLayerAnimationControllerImplClient):

2012-01-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105331.
        http://trac.webkit.org/changeset/105331
        https://bugs.webkit.org/show_bug.cgi?id=76599

        May have broken Chromium InjectIDBKey browser_test (Requested
        by rolandsteiner on #webkit).

        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::injectIDBKeyIntoSerializedValue):

2012-01-18  Raymond Liu  <raymond.liu@intel.com>

        Remove some unused code in AudioContext
        https://bugs.webkit.org/show_bug.cgi?id=76506

        Reviewed by Kenneth Russell.

        No new tests required.

        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::constructCommon):
        (WebCore::AudioContext::uninitialize):
        * webaudio/AudioContext.h:

2012-01-18  Raymond Liu  <raymond.liu@intel.com>

        Only create AudioBus with required number of channels for AudioNodeOutput
        https://bugs.webkit.org/show_bug.cgi?id=76417

        Reviewed by Kenneth Russell.

        No new tests required.

        * webaudio/AudioNodeOutput.cpp:
        (WebCore::AudioNodeOutput::AudioNodeOutput):
        (WebCore::AudioNodeOutput::setNumberOfChannels):
        (WebCore::AudioNodeOutput::updateInternalBus):
        (WebCore::AudioNodeOutput::updateNumberOfChannels):
        (WebCore::AudioNodeOutput::pull):
        * webaudio/AudioNodeOutput.h:

2012-01-18  Andreas Kling  <awesomekling@apple.com>

        Cache and reuse the NodeList returned by Node::childNodes().
        <http://webkit.org/b/76591>

        Reviewed by Ryosuke Niwa.

        Instead of only caching the DynamicNodeList::Caches for .childNodes on NodeRareData,
        cache the full ChildNodeList object. Lifetime management is left to wrappers who
        invalidate the cached (raw) pointer via Node::removeCachedChildNodeList(), called
        from ~ChildNodeList().

        This is a slight behavior change, in that Node.childNodes === Node.childNodes will
        now be true. This matches the behavior of both Firefox and Opera.

        This reduces memory consumption by 192 kB (on 32-bit) when viewing the full
        HTML5 spec at <http://whatwg.org/c>

        Test: fast/dom/gc-9.html
              fast/dom/node-childNodes-idempotence.html

        * dom/Node.cpp:
        (WebCore::Node::childNodes):
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::NodeRareData):
        (WebCore::NodeRareData::childNodeList):
        (WebCore::NodeRareData::setChildNodeList):

            Only construct one ChildNodeList per Node and store it on NodeRareData for
            retrieval across childNodes() calls.

        * dom/ChildNodeList.h:
        (WebCore::ChildNodeList::create):
        * dom/ChildNodeList.cpp:
        (WebCore::ChildNodeList::ChildNodeList):

            Construct the Caches at creation instead of passing it to the constructor.

        (WebCore::ChildNodeList::reset):

            Added, resets the internal cache.

        (WebCore::ChildNodeList::~ChildNodeList):

            Call Node::removeCachedChildNodeList().

        * dom/DynamicNodeList.cpp:
        * dom/DynamicNodeList.h:

            Have DynamicNodeList (and subclasses) respond "true" to isDynamicNodeList().
            Previously only DynamicSubtreeNodeList (and subclasses) were doing this.
            Without it, JSC may GC our ChildNodeLists prematurely (due to NodeList's
            isReachableFromOpaqueRoots() implementation checking isDynamicNodeList().)

        * dom/Node.h:
        * dom/Node.cpp:
        (WebCore::Node::removeCachedChildNodeList):

            Added for ~ChildNodeList() to remove the pointer to itself from the Node.

        (WebCore::NodeRareData::clearChildNodeListCache):

            Call ChildNodeList::reset().

2012-01-18  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r105366.
        http://trac.webkit.org/changeset/105366
        https://bugs.webkit.org/show_bug.cgi?id=76015

        Breaks CCLayerTreeHostImplTest unit test

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/cc/CCDrawQuad.h:
        (WebCore::CCDrawQuad::drawsOpaque):
        (WebCore::CCDrawQuad::needsBlending):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::cullOccludedQuads):
        * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
        (WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
        * platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
        (WebCore::CCTileDrawQuad::create):
        (WebCore::CCTileDrawQuad::CCTileDrawQuad):
        * platform/graphics/chromium/cc/CCTileDrawQuad.h:
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):
        (WebCore::CCTiledLayerImpl::syncTextureId):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:

2012-01-18  Thiago Marcos P. Santos  <tmpsantos@gmail.com>

        Save two ID checks on CSS Min/Width property validation
        https://bugs.webkit.org/show_bug.cgi?id=76565

        The same validation is done again in the next case statement. Check for
        CSSValueIntrinsic and CSSValueMinIntrinsic was done twice when the value
        is a number.

        Reviewed by Andreas Kling.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):

2012-01-18  Dana Jansens  <danakj@chromium.org>

        [chromium] Use region reported painted opaque for draw culling
        https://bugs.webkit.org/show_bug.cgi?id=76015

        Reviewed by James Robinson.

        New unit tests in CCQuadCullerTest.cpp and CCTiledLayerImplTest.cpp

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        * platform/graphics/chromium/cc/CCDrawQuad.h:
        (WebCore::CCDrawQuad::opaqueRect):
        (WebCore::CCDrawQuad::needsBlending):
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        (WebCore::CCQuadCuller::cullOccludedQuads):
        * platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
        (WebCore::CCTileDrawQuad::create):
        (WebCore::CCTileDrawQuad::CCTileDrawQuad):
        * platform/graphics/chromium/cc/CCTileDrawQuad.h:
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::DrawableTile::opaqueRect):
        (WebCore::DrawableTile::setOpaqueRect):
        (WebCore::CCTiledLayerImpl::appendQuads):
        (WebCore::CCTiledLayerImpl::pushTileProperties):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:

2012-01-18  Victoria Kirst  <vrk@chromium.org>

        HTMLMediaElement should fire 'progress' event before 'idle' if it was previously loading
        https://bugs.webkit.org/show_bug.cgi?id=76568

        Reviewed by Eric Carlson.

        This fires a progress event when going from a non-empty state to idle,
        for the same reason that a progress event is fired when going from a
        non-idle state to loaded. Also consolidated logic in a single helper method.

        No new tests because the decision of if/when a user agent sets the network state
        to idle is up to the user agent in this scenario.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setNetworkState):
        (WebCore::HTMLMediaElement::changeNetworkStateFromLoadingToIdle):
        * html/HTMLMediaElement.h:

2012-01-18  Jon Lee  <jonlee@apple.com>

        [WK2] Sync call for notifications permissions causes flashes on gmail.com
        https://bugs.webkit.org/show_bug.cgi?id=76570
        <rdar://problem/10647155>

        Reviewed by Anders Carlsson and Sam Weinig.

        * WebCore.exp.in: Export SecurityOrigin::toString().

        Add runtime setting to enable/disable notifications.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h: Add new bit for whether notifications are enabled.
        (WebCore::Settings::setNotificationsEnabled):
        (WebCore::Settings::notificationsEnabled):

2012-01-18  Eric Carlson  <eric.carlson@apple.com>

        Provide access to user's list of preferred languages
        https://bugs.webkit.org/show_bug.cgi?id=76138

        Reviewed by Timothy Hatcher.

        No new tests, tested by fast/harness/user-preferred-language.html.

        * platform/mac/Language.mm:
        (WebCore::platformUserPreferredLanguages): Don't over-release a the CFStrings returned by 
            CFLocaleCopyPreferredLanguages.

2012-01-18  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Implement create-intermediate-objects semantics when injecting values via keyPaths
        https://bugs.webkit.org/show_bug.cgi?id=76493

        Reviewed by Tony Chang.

        Tests: storage/indexeddb/objectstore-autoincrement.html

        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::injectIDBKeyIntoSerializedValue):

2012-01-18  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Invalid keys yielded by key paths should raise exceptions, not error callbacks
        https://bugs.webkit.org/show_bug.cgi?id=76075

        Reviewed by Tony Chang.

        Tests: storage/indexeddb/objectstore-basics.html

        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put):

2012-01-18  Dana Jansens  <danakj@chromium.org>

        [chromium] Fix compile error from bug #76211
        https://bugs.webkit.org/show_bug.cgi?id=76575

        Reviewed by James Robinson.

        No new tests. Fixing compile only.

        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerTextureUpdater::prepareToUpdate):

2012-01-18  Adam Barth  <abarth@webkit.org>

        REGRESSION (r104000): AdBlock extension fails to load/function
        https://bugs.webkit.org/show_bug.cgi?id=75554

        Reviewed by Andy Estes.

        Previously, we would claim the documentElement was available before
        we'd actually attached it to the DOM (which we now do via the
        attachment queue).  This issue was noted in the code with a FIXME
        comment, but there was no test coverage for the issue.  This patch
        resolves the FIXME and adds a test.

        Test: userscripts/document-element-available-at-start.html

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):

2012-01-18  Eric Carlson  <eric.carlson@apple.com>

        Provide access to user's list of preferred languages
        https://bugs.webkit.org/show_bug.cgi?id=76138

        Reviewed by Alexey Proskuryakov.

        Test: fast/harness/user-preferred-language.html

        * WebCore.exp.in: Export the new functions.
        * WebCore.order: Ditto.

        * Target.pri: Include new files.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCoreTestSupport.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * platform/Language.cpp:
        (WebCore::defaultLanguage): Return userPreferredLanguages[0].
        (WebCore::preferredLanguagesOverride): New, return the languages override.
        (WebCore::overrideUserPreferredLanguages): New, set the languages override.
        (WebCore::userPreferredLanguages): New, return the languages array.
        * platform/Language.h:

        * platform/blackberry/LocalizedStringsBlackBerry.cpp:
        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
        (WebCore::platformUserPreferredLanguages): New.

        * platform/chromium/LanguageChromium.cpp:
        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
        (WebCore::platformUserPreferredLanguages): New.

        * platform/efl/LanguageEfl.cpp:
        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
        (WebCore::platformUserPreferredLanguages): New.

        * platform/gtk/LanguageGtk.cpp:
        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
        (WebCore::platformUserPreferredLanguages): New.

        * platform/mac/Language.mm:
        (+[WebLanguageChangeObserver _webkit_languagePreferencesDidChange]): Flag the user languages
            as invalid.
        (WebCore::platformLanguage): Removed.
        (WebCore::platformUserPreferredLanguages): New, return the list of user preferred languages.

        * platform/qt/LanguageQt.cpp:
        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
        (WebCore::platformUserPreferredLanguages): New.

        * platform/win/LanguageWin.cpp:
        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
        (WebCore::platformUserPreferredLanguages): New.

        * testing/Internals.cpp:
        (WebCore::Internals::userPreferredLanguages): New, return the platform's user preferred languages.
        (WebCore::Internals::setUserPreferredLanguages): New, override the user's preferred languages.
        * testing/Internals.h:
        * testing/Internals.idl: Add userPreferredLanguages.

        * testing/js/JSInternalsCustom.cpp:
        (WebCore::JSInternals::userPreferredLanguages): New.
        (WebCore::JSInternals::setUserPreferredLanguages): New.

        * testing/v8/V8InternalsCustom.cpp:
        (WebCore::V8Internals::userPreferredLanguagesAccessorGetter): New.
        (WebCore::V8Internals::userPreferredLanguagesAccessorSetter): New.

2012-01-18  Dana Jansens  <danakj@chromium.org>

        [chromium] Enable tracking opaque region in Skia graphics context, return it from LayerTextureUpdater
        https://bugs.webkit.org/show_bug.cgi?id=76211

        Reviewed by James Robinson.

        New unit tests in LayerTextureUpdaterTest.cpp

        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
        (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::createTextureUpdater):
        * platform/graphics/chromium/LayerTextureUpdater.h:
        (WebCore::LayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/PlatformCanvas.h:
        (WebCore::PlatformCanvas::Painter::skiaContext):
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
        (WebCore::SkPictureCanvasLayerTextureUpdater::setOpaque):
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):

2012-01-18  Tim Dresser  <tdresser@chromium.org>

        [chromium] Refactor canvas, plugin, and video drawing to be more data-driven
        https://bugs.webkit.org/show_bug.cgi?id=76274

        Reviewed by James Robinson.

        This is the first step in refactoring canvas, plugin, and video drawing.
        The CCCustomLayerDrawQuad implementation has been copied to CCCanvasDrawQuad, CCPluginDrawQuad and CCVideoDrawQuad.
        All references to CustomLayer have been removed.

        As this is a refactor, no new tests were added. CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers was modified to
        no longer test culling.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawQuad):
        (WebCore::LayerRendererChromium::drawCanvasQuad):
        (WebCore::LayerRendererChromium::drawVideoQuad):
        (WebCore::LayerRendererChromium::drawPluginQuad):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp.
        (WebCore::CCCanvasDrawQuad::create):
        (WebCore::CCCanvasDrawQuad::CCCanvasDrawQuad):
        * platform/graphics/chromium/cc/CCCanvasDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h.
        (WebCore::CCCanvasDrawQuad::layer):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
        (WebCore::CCCanvasLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
        (WebCore::CCDrawQuad::toCanvasDrawQuad):
        (WebCore::CCDrawQuad::toVideoDrawQuad):
        (WebCore::CCDrawQuad::toPluginDrawQuad):
        * platform/graphics/chromium/cc/CCDrawQuad.h:
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCPluginDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp.
        (WebCore::CCPluginDrawQuad::create):
        (WebCore::CCPluginDrawQuad::CCPluginDrawQuad):
        * platform/graphics/chromium/cc/CCPluginDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h.
        (WebCore::CCPluginDrawQuad::layer):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
        (WebCore::CCPluginLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp.
        (WebCore::CCVideoDrawQuad::create):
        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
        * platform/graphics/chromium/cc/CCVideoDrawQuad.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h.
        (WebCore::CCVideoDrawQuad::layer):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:

2012-01-18  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Unsafe cross origin access errors should show stack trace in console.
        https://bugs.webkit.org/show_bug.cgi?id=73099

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/console-cross-origin-iframe-logging.html

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::reportUnsafeAccessTo):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::addConsoleMessage):
        * dom/ScriptExecutionContext.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::shouldAllowNavigation):
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        * page/Console.h:
        * page/DOMWindow.cpp:
        (WebCore::PostMessageTimer::PostMessageTimer):
        (WebCore::PostMessageTimer::stackTrace):
        (WebCore::DOMWindow::postMessage):
        (WebCore::DOMWindow::postMessageTimerFired):
        (WebCore::DOMWindow::printErrorMessage):

2012-01-18  Pablo Flouret  <pablof@motorola.com>

        Add [CallWith] support for attributes in JSC/V8 idl code generators.
        Part of https://bugs.webkit.org/show_bug.cgi?id=76035

        Reviewed by Adam Barth.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        (GenerateAttributeCallWith):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateNormalAttrSetter):
        (GenerateAttributeCallWith):
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::withScriptStateAttribute):
        (WebDOMTestObj::setWithScriptStateAttribute):
        (WebDOMTestObj::withScriptExecutionContextAttribute):
        (WebDOMTestObj::setWithScriptExecutionContextAttribute):
        (WebDOMTestObj::withScriptStateAttributeRaises):
        (WebDOMTestObj::setWithScriptStateAttributeRaises):
        (WebDOMTestObj::withScriptExecutionContextAttributeRaises):
        (WebDOMTestObj::setWithScriptExecutionContextAttributeRaises):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_get_with_script_state_attribute):
        (webkit_dom_test_obj_set_with_script_state_attribute):
        (webkit_dom_test_obj_get_with_script_execution_context_attribute):
        (webkit_dom_test_obj_set_with_script_execution_context_attribute):
        (webkit_dom_test_obj_get_with_script_state_attribute_raises):
        (webkit_dom_test_obj_set_with_script_state_attribute_raises):
        (webkit_dom_test_obj_get_with_script_execution_context_attribute_raises):
        (webkit_dom_test_obj_set_with_script_execution_context_attribute_raises):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjWithScriptStateAttribute):
        (WebCore::jsTestObjWithScriptExecutionContextAttribute):
        (WebCore::jsTestObjWithScriptStateAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
        (WebCore::setJSTestObjWithScriptStateAttribute):
        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj withScriptStateAttribute]):
        (-[DOMTestObj setWithScriptStateAttribute:]):
        (-[DOMTestObj withScriptExecutionContextAttribute]):
        (-[DOMTestObj setWithScriptExecutionContextAttribute:]):
        (-[DOMTestObj withScriptStateAttributeRaises]):
        (-[DOMTestObj setWithScriptStateAttributeRaises:]):
        (-[DOMTestObj withScriptExecutionContextAttributeRaises]):
        (-[DOMTestObj setWithScriptExecutionContextAttributeRaises:]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::withScriptStateAttributeAttrGetter):
        (WebCore::TestObjInternal::withScriptStateAttributeAttrSetter):
        (WebCore::TestObjInternal::withScriptExecutionContextAttributeAttrGetter):
        (WebCore::TestObjInternal::withScriptExecutionContextAttributeAttrSetter):
        (WebCore::TestObjInternal::withScriptStateAttributeRaisesAttrGetter):
        (WebCore::TestObjInternal::withScriptStateAttributeRaisesAttrSetter):
        (WebCore::TestObjInternal::withScriptExecutionContextAttributeRaisesAttrGetter):
        (WebCore::TestObjInternal::withScriptExecutionContextAttributeRaisesAttrSetter):

2012-01-18  Tim Horton  <timothy_horton@apple.com>

        [CG] Rasterized scaling of transformed SVG shapes with gradient fill and -webkit-svg-shadow applied
        https://bugs.webkit.org/show_bug.cgi?id=76482
        <rdar://problem/10415483>

        Reviewed by Simon Fraser.

        Scale the CGLayer used when filling or stroking a shadowed path or rect with
        a gradient in GraphicsContextCG. Previously, the CGLayer was created and rendered
        into at the untransformed size of the shape, leading to pixelation when it was
        then scaled up and drawn into the destination.

        Add AffineTransform::mapSize() to map a size through a transformation.

        Test: svg/custom/transform-with-shadow-and-gradient.svg

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::strokeRect):
        * platform/graphics/transforms/AffineTransform.cpp:
        (WebCore::AffineTransform::mapSize): Added.
        * platform/graphics/transforms/AffineTransform.h:

2012-01-18  Dominic Mazzoni  <dmazzoni@google.com>

        Accessibility: Chromium needs methods to scroll an object into view or to a specific location.
        https://bugs.webkit.org/show_bug.cgi?id=73460

        Reviewed by Chris Fleizach.

        Tests: platform/chromium/accessibility/scroll-to-global-point-main-window.html
               platform/chromium/accessibility/scroll-to-global-point-nested.html
               platform/chromium/accessibility/scroll-to-global-point-iframe.html
               platform/chromium/accessibility/scroll-to-global-point-iframe-nested.html
               platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html
               platform/chromium/accessibility/scroll-to-make-visible-iframe.html
               platform/chromium/accessibility/scroll-to-make-visible-main-window.html
               platform/chromium/accessibility/scroll-to-make-visible-nested.html
               platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::computeBestScrollOffset):
        (WebCore::AccessibilityObject::scrollToMakeVisible):
        (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
        (WebCore::AccessibilityObject::scrollToGlobalPoint):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::getScrollableAreaIfScrollable):
        (WebCore::AccessibilityObject::scrollTo):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable):
        (WebCore::AccessibilityRenderObject::scrollTo):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityScrollView.cpp:
        (WebCore::AccessibilityScrollView::getScrollableAreaIfScrollable):
        (WebCore::AccessibilityScrollView::scrollTo):
        * accessibility/AccessibilityScrollView.h:

2012-01-17  Alexey Proskuryakov  <ap@apple.com>

        file:// doesn't work as base URL
        https://bugs.webkit.org/show_bug.cgi?id=76496

        Reviewed by Darin Adler.

        Test: fast/url/degenerate-file-base.html

        * platform/KURL.cpp: (WebCore::KURL::parse): Handle degenerate file URLs properly.

2012-01-18  Ilya Tikhonovsky  <loislo@chromium.org>

        [chromium] Web Inspector: highlight DOM nodes from detached DOM trees.
        https://bugs.webkit.org/show_bug.cgi?id=76545

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotNode.prototype.get isNativeRoot):
        (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
        (WebInspector.HeapSnapshot.prototype._calculateFlags):
        * inspector/front-end/heapProfiler.css:
        (.detached-dom-tree-node):

2012-01-18  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: there should be a way to set HTML for given frame.
        https://bugs.webkit.org/show_bug.cgi?id=76548

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::setDocumentContent):
        * inspector/InspectorPageAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMModelResourceBinding.prototype.setContent.callbackWrapper):
        (WebInspector.DOMModelResourceBinding.prototype.setContent):

2012-01-18  Sergio Villar Senin  <svillar@igalia.com>

        [GTK] [regression] A couple of tests failing after r105253
        https://bugs.webkit.org/show_bug.cgi?id=76549

        Reviewed by Gustavo Noronha Silva.

        Fixes a regression added by r105253. The method that
        RenderThemeGtk needs to overwrite is popsMenuBySpaceOrReturn()
        instead of popsMenuByArrowKeys().

        No new tests as it's already covered by
        fast/forms/select-popup-pagekeys.html and
        fast/forms/select/menulist-onchange-fired-with-key-up-down.html
        that started to fail after the revision mentioned above.

        * platform/gtk/RenderThemeGtk.h:
        (WebCore::RenderThemeGtk::popsMenuBySpaceOrReturn):

2012-01-18  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: omit compression field in HAR entries for resources coming from cache
        https://bugs.webkit.org/show_bug.cgi?id=76543

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype._buildContent):
        (WebInspector.HAREntry.prototype.get responseCompression):

2012-01-18  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Fix region style code in CSSStyleSelector
        https://bugs.webkit.org/show_bug.cgi?id=76453

        Reviewed by Antti Koivisto.

        Follow up after comments in https://bugs.webkit.org/show_bug.cgi?id=76064.
        With the new approach, the css rule specificity is correctly taken into account
        when applying the region style rule.
        No new tests, the region style tests are still disabled.

        * css/CSSStyleSelector.cpp:
        (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        (WebCore::CSSStyleSelector::collectMatchingRules):
        (WebCore::CSSStyleSelector::collectMatchingRulesForRegion):
        (WebCore::CSSStyleSelector::matchRules):
        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
        (WebCore::CSSStyleSelector::matchAllRules):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::CSSStyleSelector::checkRegionStyle):
        (WebCore::CSSStyleSelector::checkRegionSelector):
        (WebCore::RuleData::RuleData):
        (WebCore::RuleSet::RuleSet):
        (WebCore::RuleSet::addRule):
        (WebCore::RuleSet::addRegionRule):
        (WebCore::RuleSet::addRulesFromSheet):
        (WebCore::isInsideRegionRule):
        (WebCore::CSSStyleSelector::applyDeclaration):
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::CSSStyleSelector::isValidRegionStyleProperty):
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSStyleSelector.h:

2012-01-17  Jer Noble  <jer.noble@apple.com>

        Mac fails to fire an 'error' event for a <video> <source> having an URL with no file extension
        https://bugs.webkit.org/show_bug.cgi?id=76494

        Reviewed by Eric Carlson.

        No new tests; fixes compositing/video/video-with-invalid-source.html. Modified 
        media/video-source-error-no-candidate.html to check error condition.

        When we run out of media engines for a given resource, inform the media player client
        that resource loading failed by calling mediaPlayerResourceNotSupported().

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerResourceNotSupported):
        * html/HTMLMediaElement.h:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::loadWithNextMediaEngine):
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerResourceNotSupported):

2012-01-18  Alexandru Chiculita  <achicu@adobe.com>

        CSS Shaders: Parse float parameters for the custom() filter syntax
        https://bugs.webkit.org/show_bug.cgi?id=76253

        Reviewed by Nikolas Zimmermann.

        Custom CSS filters allow passing parameters from CSS to the underlying rendering technology (in this case WebGL Shaders).
        This patch adds support for parameters of types float, vec2, vec3 and vec4.

        https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html#feCustomParamsAttribute

        Tests: css3/filters/effect-custom-combined-missing.html
               css3/filters/effect-custom-parameters.html

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
            Added CustomFilterParameter.h, CustomFilterNumberParameter.h and CustomFilterOperation.cpp to the projects.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::valueForCustomFilterNumberParameter):
        (WebCore::CSSComputedStyleDeclaration::valueForCustomFilterParameter):
        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
            Added the computed parameters in alphabetic order (CustomFilterOperation always keeps the parameters sorted).
        * css/CSSComputedStyleDeclaration.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::sortParametersByNameComparator):
        (WebCore::CSSStyleSelector::parseCustomFilterNumberParamter):
        (WebCore::CSSStyleSelector::parseCustomFilterParameterList):
        (WebCore::CSSStyleSelector::createCustomFilterOperation):
            Added parsing for float, vec2, vec3 and vec4. The values are space separated.

        * css/CSSStyleSelector.h:
        * platform/graphics/filters/CustomFilterNumberParameter.h: Added.
        (WebCore::CustomFilterNumberParameter::create):
        (WebCore::CustomFilterNumberParameter::size):
        (WebCore::CustomFilterNumberParameter::valueAt):
        (WebCore::CustomFilterNumberParameter::addValue):
        (WebCore::CustomFilterNumberParameter::CustomFilterNumberParameter):

        * platform/graphics/filters/CustomFilterOperation.cpp: Added.
        (WebCore::CustomFilterOperation::CustomFilterOperation):
        (WebCore::CustomFilterOperation::~CustomFilterOperation):
            Moved constructor and destructor in CustomFilterOperation.cpp to avoid including CustomFilterParameter everywhere.
        (WebCore::CustomFilterOperation::hasSortedParameterList):
            Debug runtime check that we always have parameters in alphabetic order.

        * platform/graphics/filters/CustomFilterOperation.h:
        (WebCore::CustomFilterOperation::create):
        (WebCore::CustomFilterOperation::parameters):
            Just added the parameters list. Not using a map, but keeping the items sorted by name. We need them sorted
            to make it easy and fast to merge two CustomFilterOperations during animations.

        * platform/graphics/filters/CustomFilterParameter.h: Added.
        (WebCore::CustomFilterParameter::~CustomFilterParameter):
        (WebCore::CustomFilterParameter::parameterType):
        (WebCore::CustomFilterParameter::name):
        (WebCore::CustomFilterParameter::CustomFilterParameter):
        * platform/graphics/filters/CustomFilterShader.cpp:
        (WebCore::CustomFilterShader::uniformLocationByName):
        * platform/graphics/filters/CustomFilterShader.h:

        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::FECustomFilter):
        (WebCore::FECustomFilter::create):
        (WebCore::FECustomFilter::platformApplySoftware):
        (WebCore::FECustomFilter::bindProgramNumberParameters):
        (WebCore::FECustomFilter::bindProgramParameters):
            Added code that maps the parameters from CSS to WebGL.
        (WebCore::FECustomFilter::bindProgramAndBuffers):
        * platform/graphics/filters/FECustomFilter.h:

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::build):
            Fixed a case when the filter was not created, letting the filter add itself as a source of its own. 
            Also added a test case for this particular case: css3/filters/effect-custom-combined-missing.html.

2012-01-18  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: resource tree model leaks frames
        https://bugs.webkit.org/show_bug.cgi?id=76533

        Reviewed by Pavel Feldman.

        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._frameDetached):
        (WebInspector.ResourceTreeModel.prototype._removeFrame):
        (WebInspector.ResourceTreeFrame.prototype._removeChildFrame):

2012-01-17  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Enable support for Open Script dialog based on FilteredItemSelectionDialog.
        https://bugs.webkit.org/show_bug.cgi?id=76466

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.JavaScriptOutlineDialog.createShortcut):
        (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
        (WebInspector.OpenResourceDialog):
        (WebInspector.OpenResourceDialog.install):
        (WebInspector.OpenResourceDialog._show):
        (WebInspector.OpenResourceDialog.createShortcut):
        (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
        (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
        (WebInspector.OpenResourceDialog.prototype.itemsCount):
        (WebInspector.OpenResourceDialog.prototype.requestItems):
        (WebInspector.OpenResourceDialog.prototype.selectItem):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.showUISourceCode):

2012-01-18  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: follow up to r105262, fixing front-end compilation.

        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMDocument):
        (WebInspector.DOMModelResourceBinding.prototype.setContent.setOuterHTML):

2012-01-17  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: track HTML revisions when editing DOM and / or upon free flow edits.
        https://bugs.webkit.org/show_bug.cgi?id=76457

        Reviewed by Yury Semikhatsky.

        Test: inspector/elements/set-html-via-resource.html

        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::patchNode):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getOuterHTML):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.DOMNode.prototype.setNodeName):
        (WebInspector.DOMNode.prototype.setNodeValue):
        (WebInspector.DOMNode.prototype.setAttribute):
        (WebInspector.DOMNode.prototype.setAttributeValue):
        (WebInspector.DOMNode.prototype.removeAttribute):
        (WebInspector.DOMNode.prototype.getChildNodes.mycallback):
        (WebInspector.DOMNode.prototype.getChildNodes):
        (WebInspector.DOMNode.prototype.setOuterHTML):
        (WebInspector.DOMNode.prototype.removeNode):
        (WebInspector.DOMNode.prototype.moveTo):
        (WebInspector.DOMDocument):
        (WebInspector.DOMAgent):
        (WebInspector.DOMAgent.prototype._setDocument):
        (WebInspector.DOMAgent.prototype._buildHighlightConfig):
        (WebInspector.DOMAgent.prototype._markRevision):
        (WebInspector.DOMAgent.prototype._captureDOM.callback):
        (WebInspector.DOMAgent.prototype._captureDOM):
        (WebInspector.DOMModelResourceBinding.prototype.setContent):
        (WebInspector.DOMModelResourceBinding.prototype.setContent.setOuterHTML):
        (WebInspector.DOMModelResourceBinding.prototype.setContent.withDocument):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):

2012-01-18  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: Popover does not disappear, causes debugger failure.
        https://bugs.webkit.org/show_bug.cgi?id=71363

        Reviewed by Pavel Feldman.

        This is a work-around simple enough for a merge. The real fix would
        be to get TextViewer to manage the highlight on its own, so it's not
        accidently removed while re-building DOM for the text chunk.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):

2012-01-18  Shinya Kawanaka  <shinyak@google.com>

        Unreviewed build fix.
        https://bugs.webkit.org/show_bug.cgi?id=76525

        Removed missing build headers.

        * WebCore.xcodeproj/project.pbxproj:

2012-01-18  Jun Mukai  <mukai@chromium.org>

        Use RenderTheme in HTMLSelectElement instead of #defines.
        <http://webkit.org/b/76519>

        Reviewed by Kent Tamura.

        Tests: no new tests because of no behavioral changes.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
        * platform/gtk/RenderThemeGtk.h:
        (WebCore::RenderThemeGtk::popsMenuByArrowKeys):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::popsMenuByArrowKeys):
        (WebCore::RenderTheme::popsMenuBySpaceOrReturn):
        * rendering/RenderThemeChromiumLinux.h:
        (WebCore::RenderThemeChromiumLinux::popsMenuBySpaceOrReturn):
        * rendering/RenderThemeMac.h:
        (WebCore::RenderThemeMac::popsMenuByArrowKeys):

2012-01-18  Abhishek Arya  <inferno@chromium.org>

        Crash in FrameView::forceLayoutParentViewIfNeeded.        
        https://bugs.webkit.org/show_bug.cgi?id=76309

        Reviewed by Nikolas Zimmermann.

        updateWidgetPositions can blow away the owning renderer
        and its frameview, so need to protect it with refptr.

        Test: svg/dom/parent-view-layout-crash.html

        * page/FrameView.cpp:
        (WebCore::FrameView::forceLayoutParentViewIfNeeded):

2012-01-18  Shinya Kawanaka  <shinyak@google.com>

        Move ShadowContentElement from dom/ to html/ and make ShadowContentElement subclass of HTMLElement.
        https://bugs.webkit.org/show_bug.cgi?id=76241

        Reviewed by Dimitri Glazkov.

        Renamed ShadowContentElement to HTMLContentElement, and move it from dom/ to html/.
        Also, ShadowInclusionSelector and ShadowContentSelectorQuery are renamed to
        Content InclusionSelector and ContentSelectorQuery respectively.

        No new tests, because no change in behavior.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/NodeRenderingContext.cpp:
        (WebCore::nextRendererOf):
        (WebCore::previousRendererOf):
        (WebCore::firstRendererOf):
        (WebCore::lastRendererOf):
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::previousRenderer):
        * dom/NodeRenderingContext.h:
        (WebCore::NodeRenderingContext::includer):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::includerFor):
        (WebCore::ShadowRoot::inclusions):
        (WebCore::ShadowRoot::ensureInclusions):
        * dom/ShadowRoot.h:
        * html/HTMLDetailsElement.cpp:
        (WebCore::DetailsContentElement::DetailsContentElement):
        (WebCore::DetailsSummaryElement::DetailsSummaryElement):
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLSummaryElement.cpp:
        (WebCore::SummaryContentElement::SummaryContentElement):
        * html/shadow/ContentInclusionSelector.cpp: Renamed from Source/WebCore/dom/ShadowInclusionSelector.cpp.
        (WebCore::ShadowInclusion::append):
        (WebCore::ShadowInclusion::unlink):
        (WebCore::ShadowInclusionList::ShadowInclusionList):
        (WebCore::ShadowInclusionList::~ShadowInclusionList):
        (WebCore::ShadowInclusionList::find):
        (WebCore::ShadowInclusionList::clear):
        (WebCore::ShadowInclusionList::append):
        (WebCore::ContentInclusionSelector::ContentInclusionSelector):
        (WebCore::ContentInclusionSelector::~ContentInclusionSelector):
        (WebCore::ContentInclusionSelector::select):
        (WebCore::ContentInclusionSelector::unselect):
        (WebCore::ContentInclusionSelector::findFor):
        (WebCore::ContentInclusionSelector::didSelect):
        (WebCore::ContentInclusionSelector::willSelectOver):
        * html/shadow/ContentInclusionSelector.h: Renamed from Source/WebCore/dom/ShadowInclusionSelector.h.
        (WebCore::ShadowInclusion::includer):
        (WebCore::ShadowInclusion::content):
        (WebCore::ShadowInclusion::next):
        (WebCore::ShadowInclusion::previous):
        (WebCore::ShadowInclusion::ShadowInclusion):
        (WebCore::ShadowInclusion::create):
        (WebCore::ShadowInclusionList::first):
        (WebCore::ShadowInclusionList::last):
        (WebCore::ShadowInclusionList::isEmpty):
        (WebCore::ShadowInclusionSet::add):
        (WebCore::ShadowInclusionSet::remove):
        (WebCore::ShadowInclusionSet::isEmpty):
        (WebCore::ShadowInclusionSet::Translator::hash):
        (WebCore::ShadowInclusionSet::Translator::equal):
        (WebCore::ShadowInclusionSet::Hash::hash):
        (WebCore::ShadowInclusionSet::Hash::equal):
        (WebCore::ShadowInclusionSet::find):
        (WebCore::ContentInclusionSelector::hasCandidates):
        * html/shadow/ContentSelectorQuery.cpp: Renamed from Source/WebCore/dom/ShadowContentSelectorQuery.cpp.
        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
        (WebCore::ContentSelectorQuery::matches):
        * html/shadow/ContentSelectorQuery.h: Renamed from Source/WebCore/dom/ShadowContentSelectorQuery.h.
        * html/shadow/HTMLContentElement.cpp: Renamed from Source/WebCore/dom/ShadowContentElement.cpp.
        (WebCore::HTMLContentElement::create):
        (WebCore::HTMLContentElement::HTMLContentElement):
        (WebCore::HTMLContentElement::~HTMLContentElement):
        (WebCore::HTMLContentElement::attach):
        (WebCore::HTMLContentElement::detach):
        (WebCore::HTMLContentElement::select):
        (WebCore::HTMLContentElement::setSelect):
        * html/shadow/HTMLContentElement.h: Renamed from Source/WebCore/dom/ShadowContentElement.h.
        (WebCore::HTMLContentElement::inclusions):
        (WebCore::HTMLContentElement::isContentElement):
        (WebCore::HTMLContentElement::rendererIsNeeded):
        (WebCore::HTMLContentElement::createRenderer):
        (WebCore::toHTMLContentElement):
        * testing/Internals.cpp:
        (WebCore::Internals::createContentElement):
        * testing/Internals.h:
        * testing/Internals.idl:

2012-01-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        RenderSVGRoot should inherit from RenderReplaced
        https://bugs.webkit.org/show_bug.cgi?id=76446

        Reviewed by Zoltan Herczeg.

        Let RenderSVGRoot inherit from RenderReplaced, instead of faking RenderReplaced, by inherting from RenderBox
        and calling setReplaced(true) in the constructor. The outermost <svg> element is a replaced element in the
        sense of CSS, and thus this is just a logical move. It fixes some issues where the <svg> root appeared
        as selection leaf, covered by existing tests.

        It allows us to simplify the painting, as outlines, etc. are painted by RenderReplaced now.
        While I was it, speed up the local to border box computations by caching the result.

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::RenderSVGRoot):
        (WebCore::RenderSVGRoot::layout):
        (WebCore::RenderSVGRoot::paintReplaced):
        (WebCore::RenderSVGRoot::willBeDestroyed):
        (WebCore::RenderSVGRoot::styleWillChange):
        (WebCore::RenderSVGRoot::styleDidChange):
        (WebCore::RenderSVGRoot::updateFromElement):
        (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
        (WebCore::RenderSVGRoot::localToParentTransform):
        (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
        (WebCore::RenderSVGRoot::mapLocalToContainer):
        (WebCore::RenderSVGRoot::nodeAtPoint):
        * rendering/svg/RenderSVGRoot.h:
        (WebCore::RenderSVGRoot::canHaveChildren):
        (WebCore::RenderSVGRoot::canBeSelectionLeaf):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::setupInitialView):

2012-01-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r105244.
        http://trac.webkit.org/changeset/105244
        https://bugs.webkit.org/show_bug.cgi?id=76518

        broke Chromium Mac (Requested by rolandsteiner on #webkit).

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::checkboxOrRadioValue):
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityScrollView.cpp:
        * accessibility/AccessibilityScrollView.h:

2012-01-17  Hajime Morrita  <morrita@chromium.org>

        [Internals] Should be able to access corresponding Document object.
        https://bugs.webkit.org/show_bug.cgi?id=76425

        Reviewed by Adam Barth.

        - Allow FrameDestructionObserver to re-setting the Frame reference.
        - Make Internals a subclass of FrameDestructionObserver.

        Since Internals::reset() is called for each test, we can access
        the acive Frame object during the test. The frame reference will be
        used by coming changes.

        No new tests. Covered by existing tests.

        * WebCore.exp.in:
        * page/FrameDestructionObserver.cpp:
        (WebCore::FrameDestructionObserver::FrameDestructionObserver):
        (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
        (WebCore::FrameDestructionObserver::observe):
        * page/FrameDestructionObserver.h:
        * testing/Internals.cpp:
        (WebCore::Internals::Internals):
        (WebCore::Internals::reset):
        * testing/Internals.h:

2012-01-17  Dominic Mazzoni  <dmazzoni@google.com>

        Accessibility: Chromium needs methods to scroll an object into view or to a specific location.
        https://bugs.webkit.org/show_bug.cgi?id=73460

        Reviewed by Chris Fleizach.

        Tests: platform/chromium/accessibility/scroll-to-global-point-main-window.html
               platform/chromium/accessibility/scroll-to-global-point-nested.html
               platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html
               platform/chromium/accessibility/scroll-to-make-visible-iframe.html
               platform/chromium/accessibility/scroll-to-make-visible-main-window.html
               platform/chromium/accessibility/scroll-to-make-visible-nested.html
               platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::computeBestScrollOffset):
        (WebCore::AccessibilityObject::scrollToMakeVisible):
        (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
        (WebCore::AccessibilityObject::scrollToGlobalPoint):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::getScrollableAreaIfScrollable):
        (WebCore::AccessibilityObject::scrollTo):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable):
        (WebCore::AccessibilityRenderObject::scrollTo):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityScrollView.cpp:
        (WebCore::AccessibilityScrollView::getScrollableAreaIfScrollable):
        (WebCore::AccessibilityScrollView::scrollTo):
        * accessibility/AccessibilityScrollView.h:

2012-01-17  Joe Thomas  <joethomas@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=75089
        Access-Control-Request-Headers value should be lowercase

        Access-Control-Request-Headers is used when issuing a preflight request to let the server know
        the HTTP headers that will be used when the actual request is made.
        As per the W3C specification, Access-Control-Request-Headers value should be set in lowercase.

        Reviewed by Alexey Proskuryakov.

        Test: http/tests/xmlhttprequest/access-control-preflight-request-header-lowercase.html

        * loader/CrossOriginAccessControl.cpp:
        (WebCore::createAccessControlPreflightRequest): setting Access-Control-Request-Headers value to lowercase

2012-01-17  Hayato Ito  <hayato@chromium.org>

        Clean EventContext and move phase-tweaking logic to EventDispatcher.
        https://bugs.webkit.org/show_bug.cgi?id=76414

        Reviewed by Dimitri Glazkov.

        No tests. No change in behavior.

        * dom/EventContext.cpp:
        (WebCore::EventContext::handleLocalEvents):
        * dom/EventContext.h:
        (WebCore::EventContext::currentTargetSameAsTarget):
        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::dispatchEvent):

2012-01-17  David Levin  <levin@chromium.org>

        Need to figure out which assert is firing when worker-read-blob-async.html fails.
        https://bugs.webkit.org/show_bug.cgi?id=76503

        Reviewed by Adam Barth.

        No new functionality exposed so no new tests.

        This is just a quick and dirty way to make these asserts unique
        to expose which one of them is firing on a machine that doesn't have a
        good stack trace.

        * dom/ActiveDOMObject.cpp:
        (WebCore::ContextDestructionObserver::ContextDestructionObserver):
        (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
        (WebCore::ActiveDOMObject::ActiveDOMObject):
        (WebCore::ActiveDOMObject::~ActiveDOMObject):
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::openDatabaseSync):
        (WebCore::DatabaseSync::~DatabaseSync):
        (WebCore::DatabaseSync::changeVersion):
        (WebCore::DatabaseSync::runTransaction):

2012-01-17  Matthew Delaney  <mdelaney@apple.com>

        On post-Lion releases, preserve the Lion behavior where WebKit explicitly calls -setGeometryFlipped on the hosting layer for applications that were linked on Lion or earlier.
        <rdar://problem/10692025>

        Reviewed by Simon Fraser.

        * platform/mac/WebCoreSystemInterface.h: Added in new function for checking if linked-on-or-before Lion.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.

2012-01-17  Yongsheng Zhu  <yongsheng.zhu@intel.com>

        Clear 'm_size' of DrawingBuffer in the 'clear' function
        https://bugs.webkit.org/show_bug.cgi?id=76239

        Reviewed by Kenneth Russell.
        
        Clear the resources of DrawingBuffer but don't clear 'm_size'. This makes
        's_currentResourceUsePixels' is not calculated correctly.

        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::clear):

2012-01-17  Philip Rogers  <pdr@google.com>

        Fix getBBox for perpendicular paths
        https://bugs.webkit.org/show_bug.cgi?id=76177

        Reviewed by Darin Adler.

        Test: svg/custom/getBBox-perpendicular-path.svg

        * platform/graphics/FloatRect.cpp:
        (WebCore::FloatRect::unite):
        (WebCore::FloatRect::uniteEvenIfEmpty):
        (WebCore::FloatRect::uniteIfNonZero):
        * platform/graphics/FloatRect.h:
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):

2012-01-17  Kenneth Russell  <kbr@google.com>

        [chromium] Apply color profiles in more cases
        https://bugs.webkit.org/show_bug.cgi?id=76498

        Reviewed by Stephen White.

        Not adding new tests, as application of the color profile is not
        guaranteed for images used as textures in WebGL. Ran existing
        WebGL layout tests; all pass.

        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
        (WebCore::ImageFrame::setStatus):

2012-01-17  Nate Chapin  <japhet@chromium.org>

        Ensure we don't cancel revalidation of a CachedResource
        in the middle of successful revalidation.
        It's more reliable to enforce this in CachedResource than in
        SubresourceLoader.
        https://bugs.webkit.org/show_bug.cgi?id=75713

        Reviewed by Adam Barth.

        No new test, the buggy case requires a non-stubbed window.print().

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didReceiveResponse):
        (WebCore::SubresourceLoader::didFinishLoading):
        * loader/SubresourceLoader.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::clearResourceToRevalidate):
        (WebCore::CachedResource::switchClientsToRevalidatedResource):
        * loader/cache/CachedResource.h:

2012-01-17  Stephen Chenney  <schenney@chromium.org>

        NULL ptr in WebCore::RenderSVGInlineText::localCaretRect
        https://bugs.webkit.org/show_bug.cgi?id=75851

        Reviewed by Ryosuke Niwa.

        Added a check for null box in localCaretRect, to match test in other
        implementations. Adding a manual test because the crash is not reproducible
        in DRT.

        Test: ManualTests/svg-modify-deleted-selection.svg

        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::localCaretRect):

2012-01-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Uint8ClampedArray support
        https://bugs.webkit.org/show_bug.cgi?id=74455

        Reviewed by Filip Pizlo.

        Test: fast/js/dfg-uint8clampedarray.html

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * ForwardingHeaders/wtf/Uint8ClampedArray.h: Added.
        * GNUmakefile.list.am:
        * Target.pri:
        * UseJSC.cmake:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSUint8ClampedArrayCustom.cpp: Added.
        (WebCore::JSUint8ClampedArray::indexSetter):
        (WebCore::toJS):
        (WebCore::JSUint8ClampedArray::set):
        (WebCore::JSUint8ClampedArrayConstructor::constructJSUint8ClampedArray):
        * bindings/scripts/CodeGeneratorJS.pm:
        (IsTypedArrayType):
        (GenerateHeader):
        * html/canvas/Uint8ClampedArray.idl: Added.
        * page/DOMWindow.idl:

2012-01-17  Abhishek Arya  <inferno@chromium.org>

        Crash in in WebCore::EventHandler::mouseMoved.
        https://bugs.webkit.org/show_bug.cgi?id=76462

        Reviewed by Ryosuke Niwa.

        handleMouseMoveEvent call in EventHandler::mouseMoved can
        blow away the frame from underneath. Protect it with a frameview
        refptr.        

        Test: fast/events/mouse-moved-remove-frame-crash.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::mouseMoved):

2012-01-17  Sam Weinig  <sam@webkit.org>

        Add helper macro for forward declaring objective-c classes
        https://bugs.webkit.org/show_bug.cgi?id=76485

        Reviewed by Anders Carlsson.

        * accessibility/AccessibilityObject.h:
        * bindings/js/ScriptController.h:
        * bridge/objc/objc_utility.h:
        * page/DragClient.h:
        * page/EditorClient.h:
        * platform/AutodrainedPool.h:
        * platform/ContextMenuItem.h:
        * platform/Cursor.h:
        * platform/DragData.h:
        * platform/DragImage.h:
        * platform/KURL.h:
        * platform/Pasteboard.h:
        * platform/PlatformKeyboardEvent.h:
        * platform/PlatformMenuDescription.h:
        * platform/PlatformScreen.h:
        * platform/SharedBuffer.h:
        * platform/Widget.h:
        * platform/cf/SchedulePair.h:
        * platform/graphics/BitmapImage.h:
        * platform/graphics/FontPlatformData.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/Icon.h:
        * platform/graphics/Image.h:
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/ca/PlatformCAAnimation.h:
        * platform/graphics/ca/mac/TileCache.h:
        * platform/graphics/mac/ColorMac.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerProxy.h:
        * platform/mac/ClipboardMac.h:
        * platform/mac/LocalCurrentGraphicsContext.h:
        * platform/mac/PasteboardHelper.h:
        * platform/mac/PopupMenuMac.h:
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleClient.h:
        * platform/network/ResourceHandleInternal.h:
        * platform/network/cf/AuthenticationChallenge.h:
        * platform/network/cf/ResourceError.h:
        * platform/network/cf/ResourceRequest.h:
        * platform/network/cf/ResourceResponse.h:
        * rendering/RenderThemeMac.h:
        Deploy OBJC_CLASS for a little code reduction.

2012-01-17  Andreas Kling  <awesomekling@apple.com>

        SpaceSplitString: Share equivalent string piece vectors.
        <http://webkit.org/b/76458>

        Reviewed by Antti Koivisto.

        Make SpaceSplitStringData ref-counted and cache them in a hashmap to reduce memory
        usage and avoid redundant string splitting work.  This reduces memory consumption
        by 618 kB (on 64-bit) when viewing the full HTML5 spec at <http://whatwg.org/c>

        * dom/SpaceSplitString.h:

            Add the source string to SpaceSplitStringData so we have a key for uncaching
            in the destructor. Also bumped the vector's inline size from 2 to 4.

        * dom/SpaceSplitString.cpp:
        (WebCore::sharedDataMap):
        (WebCore::SpaceSplitStringData::create):
        (WebCore::SpaceSplitStringData::createUnique):
        (WebCore::SpaceSplitStringData::SpaceSplitStringData):
        (WebCore::SpaceSplitString::SpaceSplitString):
        (WebCore::SpaceSplitString::set):
        (WebCore::SpaceSplitStringData::createVector):

            Added create helpers for SpaceSplitStringData. Moved case folding from
            createVector() to create(AtomicString). Added a hash map for caching
            AtomicString -> SpaceSplitStringData.

        (WebCore::SpaceSplitStringData::~SpaceSplitStringData):

            Remove the SpaceSplitStringData from the sharedDataMap().

        * dom/SpaceSplitString.cpp:
        (WebCore::SpaceSplitString::ensureUnique):

            Added, detaches from the shared SpaceSplitStringData if necessary.

        (WebCore::SpaceSplitStringData::add):
        (WebCore::SpaceSplitStringData::remove):

            Assert that add() and remove() are only used on unique SpaceSplitStringData.

        (WebCore::SpaceSplitString::add):
        (WebCore::SpaceSplitString::remove):

            Call ensureUnique() to potentially detach from a shared SpaceSplitStringData
            before making modifications.

        * dom/SpaceSplitString.cpp:
        (WebCore::SpaceSplitStringData::containsAll):

            Added gratuitous fast path for containsAll(*this).

2012-01-12  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=76197
        
        Implementation of baseline grid alignment. This patch implements line grid tracking in the layout state,
        and also implements the snapping of lines to baselines. It works with normal flow, positioning and floats and
        with pagination, as long as the grid is inside the pagination context and not outside.

        Reviewed by Simon Fraser.

        Added a bunch of new tests in fast/line-grid.

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::setHasTextChildren):
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        (WebCore::LayoutState::propagateLineGridInfo):
        (WebCore::LayoutState::establishLineGrid):
        * rendering/LayoutState.h:
        (WebCore::LayoutState::LayoutState):
        (WebCore::LayoutState::pageLogicalHeight):
        (WebCore::LayoutState::currentLineGrid):
        (WebCore::LayoutState::currentLineGridOffset):
        (WebCore::LayoutState::layoutOffset):
        (WebCore::LayoutState::needsBlockDirectionLocationSetBeforeLayout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::layoutPositionedObjects):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::pageLogicalTopForOffset):
        (WebCore::RenderBlock::adjustLinePositionForPagination):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::lineGridBox):
        (WebCore::RenderBlock::setLineGridBox):
        (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::layoutLineGridBox):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::regionLogicalTopForLine):
        * rendering/RenderFlowThread.h:
        * rendering/RenderView.h:
        (WebCore::RenderView::pushLayoutState):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        (WebCore::RootInlineBox::lineGridSnapAdjustment):
        * rendering/RootInlineBox.h:

2012-01-17  Tim Horton  <timothy_horton@apple.com>

        -webkit-cross-fade doesn't respect background-size
        https://bugs.webkit.org/show_bug.cgi?id=74902
        <rdar://problem/10605289>

        Reviewed by Simon Fraser.

        CrossfadeGeneratedImage should report its intrinsic size, instead of
        improperly conforming to the size of its container.

        Test: css3/images/cross-fade-background-size.html

        * platform/graphics/CrossfadeGeneratedImage.h:
        (WebCore::CrossfadeGeneratedImage::setContainerSize):
        (WebCore::CrossfadeGeneratedImage::usesContainerSize):
        (WebCore::CrossfadeGeneratedImage::hasRelativeWidth):
        (WebCore::CrossfadeGeneratedImage::hasRelativeHeight):
        (WebCore::CrossfadeGeneratedImage::size):

2012-01-17  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Refactor JavaScriptOutlineDialog: extract FilteredItemSelectionDialog and reuse DialogDelegate.
        https://bugs.webkit.org/show_bug.cgi?id=76455

        Reviewed by Yury Semikhatsky.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/Dialog.js:
        (WebInspector.Dialog):
        (WebInspector.Dialog.prototype._hide):
        * inspector/front-end/FilteredItemSelectionDialog.js: Added.
        (WebInspector.FilteredItemSelectionDialog):
        (WebInspector.FilteredItemSelectionDialog.prototype.position):
        (WebInspector.FilteredItemSelectionDialog.prototype.focus):
        (WebInspector.FilteredItemSelectionDialog.prototype.willHide):
        (WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
        (WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
        (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
        (WebInspector.FilteredItemSelectionDialog.prototype._hideItemElement):
        (WebInspector.FilteredItemSelectionDialog.prototype._itemElementVisible):
        (WebInspector.FilteredItemSelectionDialog.prototype._showItemElement):
        (WebInspector.FilteredItemSelectionDialog.prototype._checkItemAt):
        (WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
        (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
        (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
        (WebInspector.FilteredItemSelectionDialog.prototype._scheduleFilter):
        (WebInspector.FilteredItemSelectionDialog.prototype._updateSelection):
        (WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
        (WebInspector.FilteredItemSelectionDialog.prototype._onScroll):
        (WebInspector.FilteredItemSelectionDialog.prototype._highlightItems):
        (WebInspector.FilteredItemSelectionDialog.prototype._clearHighlight):
        (WebInspector.FilteredItemSelectionDialog.prototype._clearElementHighlight.changes.this._elementHighlightChanges.get if):
        (WebInspector.FilteredItemSelectionDialog.prototype._clearElementHighlight):
        (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem.get var):
        (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem):
        (WebInspector.FilteredItemSelectionDialog.prototype._itemElementInViewport):
        (WebInspector.SelectionDialogContentProvider):
        (WebInspector.SelectionDialogContentProvider.prototype.itemTitleAt):
        (WebInspector.SelectionDialogContentProvider.prototype.itemKeyAt):
        (WebInspector.SelectionDialogContentProvider.prototype.itemsCount):
        (WebInspector.SelectionDialogContentProvider.prototype.requestItems):
        (WebInspector.SelectionDialogContentProvider.prototype.selectItem):
        (WebInspector.JavaScriptOutlineDialog):
        (WebInspector.JavaScriptOutlineDialog.didAddChunk):
        (WebInspector.JavaScriptOutlineDialog.install):
        (WebInspector.JavaScriptOutlineDialog._show):
        (WebInspector.JavaScriptOutlineDialog.createShortcut):
        (WebInspector.JavaScriptOutlineDialog.prototype.itemTitleAt):
        (WebInspector.JavaScriptOutlineDialog.prototype.itemKeyAt):
        (WebInspector.JavaScriptOutlineDialog.prototype.itemsCount):
        (WebInspector.JavaScriptOutlineDialog.prototype.requestItems):
        (WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
        (WebInspector.JavaScriptOutlineDialog.prototype._appendItemElements):
        * inspector/front-end/JavaScriptOutlineDialog.js: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/filteredItemSelectionDialog.css: Renamed from Source/WebCore/inspector/front-end/javaScriptOutlineDialog.css.
        (.js-outline-dialog > input):
        (.js-outline-dialog > div.progress):
        (.js-outline-dialog > div.container):
        (.js-outline-dialog > .container > div.item):
        (.js-outline-dialog > .container > div.item.selected):
        (.js-outline-dialog > .container > div.item > span.highlight):
        * inspector/front-end/inspector.html:

2012-01-17  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: start using typedefs
        https://bugs.webkit.org/show_bug.cgi?id=76382

        Reviewed by Yury Semikhatsky.

        Generator is patched accordingly.

        * inspector/CodeGeneratorInspector.py:
        (EnumConstants.get_enum_constant_code):
        (TypeBuilderPass):
        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator):
        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
        (TypeBindings.create_type_declaration_):
        (TypeBindings.create_type_declaration_.PlainString):
        (TypeBindings.create_type_declaration_.PlainString.get_code_generator):
        (TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
        (TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
        (TypeBindings.create_type_declaration_.PlainString.get_in_c_type_text):
        (TypeBindings.create_type_declaration_.TypedefString):
        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator):
        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator):
        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder.String):
        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.register_use):
        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.get_generate_pass_id):
        (TypeBindings.create_type_declaration_.TypedefString.reduce_to_raw_type):
        (TypeBindings.create_type_declaration_.TypedefString.get_setter_value_expression_pattern):
        (TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
        (get_generate_pass_id):
        (ArrayBinding.get_code_generator.CodeGenerator):
        (ArrayBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
        (Generator.process_types.create_type_builder_caller):
        (Generator.process_types.create_type_builder_caller.call_type_builder):
        (Generator.process_types):

2012-01-11  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: provide basic information about DOM character data size
        https://bugs.webkit.org/show_bug.cgi?id=76059

        Memory agent allows to estimate size of DOM character data and size of WebCore
        strings held by JavaScript objects.

        Reviewed by Pavel Feldman.

        * bindings/js/ScriptProfiler.h:
        (WebCore::ScriptProfiler::visitExternalJSStrings):
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::visitExternalJSStrings):
        * bindings/v8/ScriptProfiler.h:
        * bindings/v8/V8Binding.cpp:
        (WebCore::WebCoreStringResource::visitStrings):
        (WebCore::V8BindingPerIsolateData::visitJSExternalStrings):
        * bindings/v8/V8Binding.h:
        * inspector/DOMWrapperVisitor.h:
        * inspector/Inspector.json:
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::CharacterDataStatistics::DOMTreeStatistics::DOMTreeStatistics):
        (WebCore::CharacterDataStatistics::DOMTreeStatistics::collectNodeStatistics):
        (WebCore::CharacterDataStatistics::CounterVisitor::CounterVisitor):
        (WebCore::CharacterDataStatistics::CounterVisitor::domGroups):
        (WebCore::CharacterDataStatistics::CounterVisitor::strings):
        (WebCore::CharacterDataStatistics::CounterVisitor::visitNode):
        (WebCore::CharacterDataStatistics::CounterVisitor::visitJSExternalString):
        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
        * inspector/InspectorMemoryAgent.h:

2012-01-17  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Dialogs style and DialogDelegate interface fixes.
        https://bugs.webkit.org/show_bug.cgi?id=76449

        Reviewed by Pavel Feldman.

        * inspector/front-end/Dialog.js:
        (WebInspector.Dialog):
        (WebInspector.Dialog.currentInstance):
        (WebInspector.Dialog.show):
        (WebInspector.Dialog.hide):
        (WebInspector.Dialog.prototype._hide):
        (WebInspector.Dialog.prototype._onGlassPaneFocus):
        (WebInspector.Dialog.prototype._onFocus):
        (WebInspector.Dialog.prototype._position):
        (WebInspector.Dialog.prototype._onKeyDown):
        (WebInspector.DialogDelegate.prototype.wasShown):
        (WebInspector.DialogDelegate.prototype.position):
        (WebInspector.DialogDelegate.prototype.focus):
        (WebInspector.DialogDelegate.prototype.onEnter):
        (WebInspector.DialogDelegate.prototype.willHide):
        * inspector/front-end/GoToLineDialog.js:
        (WebInspector.GoToLineDialog):
        (WebInspector.GoToLineDialog.prototype.focus):
        (WebInspector.GoToLineDialog.prototype._onGoClick):
        (WebInspector.GoToLineDialog.prototype._applyLineNumber):
        (WebInspector.GoToLineDialog.prototype.onEnter):
        * inspector/front-end/dialog.css:
        (.dialog):

2012-01-17  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: ConsoleMessage.cpp and InspectorResourceAgent.cpp doesn't conform to Inspector.json
        https://bugs.webkit.org/show_bug.cgi?id=76403

        A couple of protocol fixes.

        Reviewed by Pavel Feldman.

        * inspector/ConsoleMessage.cpp: return 'log' in case some unsupported value is passed.
        We cannot omit that return statement as GCC would complain on missing return statement
        despite all enum values are listed.
        (WebCore::messageTypeValue):
        * inspector/Inspector-0.1.json: fixed v0.1 protocol definition.
        * inspector/Inspector.json: made CachedResource.response field optional.

2012-01-17  Ilya Tikhonovsky  <loislo@chromium.org>

        [Chromium] Web Inspector: remove "Document DOM tree" class and "Detached DOM tree" from the Summary view.
        https://bugs.webkit.org/show_bug.cgi?id=76450

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._buildAggregates):

2012-01-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        Large SVG text layout performance regression in r81168
        https://bugs.webkit.org/show_bug.cgi?id=65711

        Reviewed by Zoltan Herczeg.

        Final patch fixing the performance regression from r81168 plus giving us more performance we ever had.
        The testcase attached to bug 65711 creates 200 tspans as <text> children, and modifies just the first <tspan>s
        content periodically using a timer. It ran with <3 FPS in release builds before, and now at around 60 FPS,
        where the most dominant code path remaining is CG painting text. Still theres room to optimize further, as
        Intruments shows.

        Historically we rebuilt all SVGTextLayoutAttributes stored in the RenderSVGInlineText, whenever any
        children of the <text> subtree changed, in any way. This lead to a recomputation of the x/y/dx/dy/rotate
        value lists, for the whole tree, a recreation of the line box tree and finally a measurement of all characters
        in the subtree.

        This patch, and its previous patches preparing this, introduces progressive relayout for the SVG text subtree.
        DOM tree mutations, x/y/dx/dy/rotate value lists changes, and measuring-all-characters are now strictly decoupled.

        #1) x/y/dx/dy/rotate list changes:
        The x/y/dx/dy/rotate lists are only ever rebuilt, if they change or upon the initial RenderSVGText layout.
        This information is now cached in the so-called SVGCharacterDataMap, in each of the SVGTextLayoutAttributes,
        associated with a specific RenderSVGInlineText.

        #2) DOM tree mutations:
        If a new RenderSVGInlineText gets added to the tree, we have to create SVGTextLayoutAttributes for the new
        renderer, measure its characters, and cache the information in the attributes. Adding a new renderer to
        a SVG <text> subtree can affect the positioning of the previous and next sibling in the tree, due the
        whitespace merging logic. Example:

        <text y="50" x="50 100 150">A<tspan></tspan> C</text>:
        RenderSVGText {text} at (50,36) size 111x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 12x18
            chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 1 width 12.00: "A"
          RenderSVGTSpan {tspan} at (0,0) size 0x0
          RenderSVGInlineText {#text} at (50,0) size 61x18
            chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
            chunk 1 text run 1 at (150.00,50.00) startOffset 0 endOffset 1 width 11.00: "C"

        <text y="50" x="50 100 150">A<tspan>B</tspan> C</text>:
        RenderSVGText {text} at (50,36) size 115x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 12x18
            chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 1 width 12.00: "A"
          RenderSVGTSpan {tspan} at (0,0) size 11x18
            RenderSVGInlineText {#text} at (50,0) size 11x18
              chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 1 width 11.00: "B"
          RenderSVGInlineText {#text} at (100,0) size 15x18
            chunk 1 text run 1 at (150.00,50.00) startOffset 0 endOffset 2 width 15.00: " C"

        Its obvious that adding a #text node as child to the <tspan> potentially affects the next & previous
        siblings in the DOM tree. Take extra care of these possibilities, by properly remeasuring not only
        the newly added renderer, but also the previous & next siblings layout attributes.

        Mutation of text nodes, or removal of text/tspan elements from the tree is handled in the same way.

        #3) Measuring the text subtree:
        Don't cache the metrics information in the SVGRootInlineBox, as it doesn't survive relayouts (RenderSVGText::layout).
        They're stored in the SVGTextLayoutAttributes, and will be updated if the underlying text content changes.

        Tests: svg/text/append-text-node-to-tspan.html
               svg/text/modify-text-node-in-tspan.html
               svg/text/remove-text-node-from-tspan.html

        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::addChild):
        * rendering/svg/RenderSVGInline.h:
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::willBeDestroyed):
        (WebCore::RenderSVGInlineText::setTextInternal):
        (WebCore::RenderSVGInlineText::styleDidChange):
        * rendering/svg/RenderSVGInlineText.h:
        (WebCore::RenderSVGInlineText::layoutAttributes):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::recursiveUpdateLayoutAttributes):
        (WebCore::RenderSVGText::layoutAttributesChanged):
        (WebCore::findPreviousAndNextAttributes):
        (WebCore::RenderSVGText::layoutAttributesWillBeDestroyed):
        (WebCore::RenderSVGText::textDOMChanged):
        (WebCore::RenderSVGText::layout):
        (WebCore::RenderSVGText::addChild):
        (WebCore::recursiveCollectLayoutAttributes):
        (WebCore::RenderSVGText::rebuildLayoutAttributes):
        * rendering/svg/RenderSVGText.h:
        (WebCore::RenderSVGText::layoutAttributes):
        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
        (WebCore::findFirstAndLastAttributesInVector):
        (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
        (WebCore::SVGRootInlineBox::reorderValueLists):
        * rendering/svg/SVGRootInlineBox.h:
        * rendering/svg/SVGTextLayoutAttributes.h:
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForWholeTree):
        * rendering/svg/SVGTextLayoutEngine.cpp:
        (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
        (WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
        * rendering/svg/SVGTextLayoutEngine.h:
        (WebCore::SVGTextLayoutEngine::layoutAttributes):
        * rendering/svg/SVGTextMetrics.h:
        * rendering/svg/SVGTextMetricsBuilder.cpp:
        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
        * rendering/svg/SVGTextQuery.cpp:
        (WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::childrenChanged):

2012-01-11  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [TextPrompt] Autocomplete adds unwanted text that's hard to remove
        https://bugs.webkit.org/show_bug.cgi?id=76058

        Reviewed by Pavel Feldman.

        As per the results of a war room:
        - Auto-suggest only after user typing (avoid showing suggestions when navigating through the user input.)
        - Do not select the first item if the suggest box is shown at the end of prompt (to allow Enter to commit the input.)
        - Only show grayed autocompletion at the end of prompt (otherwise show a suggest box with the first item selected.)
        - Grayed autocompletion can only be accepted with the End or Right keys.
        - Enter can accept a selected suggestion item from the list, without committing the input.
        - Retain the CSS model editing behavior as close to the existing one as possible.
        - Enable PageUp/PageDown to navigate the suggest box items.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):
        ():
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.set text):
        (WebInspector.TextPrompt.prototype._removeSuggestionAids):
        (WebInspector.TextPrompt.prototype._selectStart.moveBackIfOutside):
        (WebInspector.TextPrompt.prototype._selectStart):
        (WebInspector.TextPrompt.prototype.onKeyDown):
        (WebInspector.TextPrompt.prototype.acceptAutoComplete):
        (WebInspector.TextPrompt.prototype.complete):
        (WebInspector.TextPrompt.prototype._completionsReady):
        (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
        (WebInspector.TextPrompt.prototype.tabKeyPressed):
        (WebInspector.TextPrompt.prototype.downKeyPressed):
        (WebInspector.TextPrompt.prototype.pageUpKeyPressed):
        (WebInspector.TextPrompt.prototype.pageDownKeyPressed):
        (WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
        (WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
        (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
        (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
        (WebInspector.TextPrompt.SuggestBox.prototype._canShowBox):
        (WebInspector.TextPrompt.SuggestBox.prototype._rememberRowCountPerViewport):
        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
        (WebInspector.TextPrompt.SuggestBox.prototype.pageUpKeyPressed):
        (WebInspector.TextPrompt.SuggestBox.prototype.pageDownKeyPressed):
        (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):

2012-01-17  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: CSS backend doesn't conform to Inspector.json
        https://bugs.webkit.org/show_bug.cgi?id=76402

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::buildObjectForStyle):

2012-01-17  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Add the mediaStream constructor
        https://bugs.webkit.org/show_bug.cgi?id=76436

        Adding support for creating a MediaStream using a collection of MediaStreamTracks.

        Reviewed by Adam Barth.

        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

        * mediastream/MediaStream.cpp:
        (WebCore::MediaStream::create):
        * mediastream/MediaStream.h:
        * mediastream/MediaStream.idl:
        * mediastream/MediaStreamTrack.cpp:
        (WebCore::MediaStreamTrack::component):
        * mediastream/MediaStreamTrack.h:
        * platform/mediastream/MediaStreamCenter.cpp:
        (WebCore::MediaStreamCenter::didConstructMediaStream):
        * platform/mediastream/MediaStreamCenter.h:

2012-01-17  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: IDBIndex.get/getKey should yield undefined, not an error
        https://bugs.webkit.org/show_bug.cgi?id=76116

        Pass an undefined value (for IDBIndex.get()) or a null key
        (for IDBIndex.getKey()) back as the result, rather than raising
        an exception.

        Reviewed by Adam Barth.

        Tests: storage/indexeddb/index-basics.html
               storage/indexeddb/cursor-index-delete.html
               storage/indexeddb/duplicates.html

        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::getInternal):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):

2012-01-17  Luke Macpherson   <macpherson@chromium.org>

        Remove references to CSSPrimitiveValue::primitiveType().
        https://bugs.webkit.org/show_bug.cgi?id=76363

        Reviewed by Hajime Morita.

        No new tests / refactoring only.

        Goal is to remove primitiveType() completely. Only code left using it after this patch is in SVG.
        I've introduced some abstractions in CSSPrimitiveValue for time and angles to reduce duplicated code elsewhere.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColor):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeDegrees):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::isAngle):
        (WebCore::CSSPrimitiveValue::isAttr):
        (WebCore::CSSPrimitiveValue::isCounter):
        (WebCore::CSSPrimitiveValue::isFontIndependentLength):
        (WebCore::CSSPrimitiveValue::isLength):
        (WebCore::CSSPrimitiveValue::isPx):
        (WebCore::CSSPrimitiveValue::isRect):
        (WebCore::CSSPrimitiveValue::isRGBColor):
        (WebCore::CSSPrimitiveValue::isShape):
        (WebCore::CSSPrimitiveValue::isTime):
        (WebCore::CSSPrimitiveValue::computeTime):
        * css/CSSStyleSelector.cpp:
        (WebCore::convertToLength):
        (WebCore::createGridTrackBreadth):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::mapFillSize):
        (WebCore::CSSStyleSelector::mapFillXPosition):
        (WebCore::CSSStyleSelector::mapFillYPosition):
        (WebCore::CSSStyleSelector::mapAnimationDelay):
        (WebCore::CSSStyleSelector::mapAnimationDuration):
        (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
        (WebCore::CSSStyleSelector::mapNinePieceImageQuad):
        (WebCore::CSSStyleSelector::colorFromPrimitiveValue):
        (WebCore::CSSStyleSelector::createTransformOperations):
        (WebCore::CSSStyleSelector::createCustomFilterOperation):
        (WebCore::CSSStyleSelector::createFilterOperations):
        * css/MediaQueryEvaluator.cpp:
        (WebCore::parseAspectRatio):
        (WebCore::numberValue):
        (WebCore::computeLength):
        * editing/EditingStyle.cpp:
        (WebCore::cssValueToRGBA):
        (WebCore::EditingStyle::extractFontSizeDelta):
        (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
        (WebCore::isCSSValueLength):
        (WebCore::hasTransparentBackgroundColor):

2012-01-16  Hajime Morrita  <morrita@chromium.org>

        [Internals] member varaibles should follow naming convention.
        https://bugs.webkit.org/show_bug.cgi?id=76426

        Reviewed by Kent Tamura.

        No new tests. Just a rename.

        * testing/Internals.cpp:
        (WebCore::Internals::Internals):
        (WebCore::Internals::setPasswordEchoEnabled):
        (WebCore::Internals::setPasswordEchoDurationInSeconds):
        (WebCore::Internals::reset):
        * testing/Internals.h:

2012-01-16  Hayato Ito  <hayato@chromium.org>

        Implement multiple AT_TARGET event dispatching in regard to shadow tree.
        https://bugs.webkit.org/show_bug.cgi?id=76217

        Reviewed by Dimitri Glazkov.

        The original motivation is to fix the regression: Event.eventPhase is not set to 2
        (at target) when handling dblclick event in <input> element.
        Since the issue is not specific to <input> element, but general one, this patch fixes
        the regression by adapting a living draft spec of shadow DOM.
        This won't break a compatibility if there is no shadow boundaries in event dispatching.
        See the following shadow dom spec how multiple AT_TARGET events work.
        http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#event-dispatch

        * dom/EventContext.cpp:
        (WebCore::EventContext::handleLocalEvents):

2012-01-16  Jason Liu  <jason.liu@torchmobile.com.cn>

        platformRequest(QNX) need to get the conditional information from ResourceRequest.
        https://bugs.webkit.org/show_bug.cgi?id=75216

        Reviewed by George Staikos.

        Pass the isConditional() flag in ResourceRequest to the QNX platform's network request.
        QNX platform's network needs this flag to determine whether to use disk-cache.

        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (ResourceRequest::initializePlatformRequest):

2012-01-16  Robert Hogan  <robert@webkit.org>

        Heap-use-after-free in WebCore::RenderBlock::selectionGaps
        https://bugs.webkit.org/show_bug.cgi?id=75013

        Reviewed by David Hyatt.

        Test: fast/table/multiple-captions-crash3.html
              fast/table/multiple-captions-crash4.html
              fast/table/multiple-captions-crash5.html

        When a child float is removed, the parent needs to ensure any reference to the
        child is also removed from the floating objects list in any sibling block that 
        it intruded into.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):

2012-01-16  Enrica Casucci  <enrica@apple.com>

        REGRESSION: r102553 Autocorrection bubble doesn't show up
        https://bugs.webkit.org/show_bug.cgi?id=76408
        <rdar://problem/10644746>

        Prior to r102553 Editor::markAllMisspellingsAndBadGrammarInRanges() used to pass its
        textCheckingOptions directly to markAndReplaceFor(). Now a request object is used,
        but, when the object is created, the TextCheckingTypeShowCorrectionPanel flag is dropped.
        
        Reviewed by Darin Adler.

        * editing/Editor.cpp:
        (WebCore::Editor::resolveTextCheckingTypeMask): Add TextCheckingTypeShowCorrectionPanel to
        the returned checkingTypes when appropriate.

2012-01-16  Jon Lee  <jonlee@apple.com>

        Build fix for r105086.

        * Configurations/FeatureDefines.xcconfig:
        * notifications/NotificationCenter.idl: change to use ENABLE_TEXT_NOTIFICATIONS_ONLY, which is only defined on Mac platform.

2012-01-16  Andreas Kling  <awesomekling@apple.com>

        Fix typo in StyledElement::mappedAttributeCount().
        <http://webkit.org/b/76393>

        Rubber-stamped by Antti Koivisto.

        * dom/StyledElement.h:
        (WebCore::StyledElement::mappedAttributeCount): Less &&, more ?:

2012-01-16  Jon Lee  <jonlee@apple.com>

        Build fix for r105086.

        * notifications/NotificationCenter.idl: expand ENABLE macro for .idl.

2012-01-16  Antti Koivisto  <antti@apple.com>

        Cache CSSStyleSelector::Features in RuleSets
        https://bugs.webkit.org/show_bug.cgi?id=76337

        Reviewed by Andreas Kling.

        Currently whenever the style selector is updated we go through all the applicable rules and
        collect the used features again. We should keep the features around as part of the RuleSets
        and update them incrementally. Collecting the features will then be just a matter of taking
        the union of all features used by the RuleSets.
        
        This is 1-2% CPU time reduction (engadget, nytimes) due less time spent in feature collection.
        
        This also simplifies the code by removing the need to cache the default style sheet features
        separately. 

        * css/CSSStyleSelector.cpp:
        
            Remove the global siblingRulesInDefaultStyle and uncommonAttributeRulesInDefaultStyle RuleSets.
            These are now part of the cached features of the defaultStyle.
        
        (WebCore::RuleSet::features):
        
            Add a field for caching the features.
        
        (WebCore::makeRuleSet):
        (WebCore::CSSStyleSelector::collectFeatures):
        
            Unify the features of all RuleSets.
            Create RuleSets for sibling and uncommon attribute lookups at the end.
        
        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
        (WebCore::CSSStyleSelector::Features::add):
        (WebCore::ensureDefaultStyleSheetsForElement):
        (WebCore::CSSStyleSelector::locateSharedStyle):
        (WebCore::collectFeaturesFromSelector):
        (WebCore::collectFeaturesFromRuleData):
        (WebCore::RuleSet::addToRuleSet):
        (WebCore::RuleSet::addRule):
        
            Collect the features when adding the rules rather than as a separate pass through all the rules.
        
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::usesSiblingRules):
        (WebCore::CSSStyleSelector::RuleSelectorPair::RuleSelectorPair):
        
            Use Vector instead of a RuleSet for sibling and uncommon attribute selectors so unifying
            Features is simpler.

2012-01-16  Simon Fraser  <simon.fraser@apple.com>

        Huge filter area cause hangs and malloc failures
        https://bugs.webkit.org/show_bug.cgi?id=75711

        Reviewed by Dean Jackson.
        
        Filtering an element with a child that had a huge negative text-indent
        was extremely slow, because transparencyClipBox() returned a huge rect.
        
        Add a method, paintingExtent(), that wraps transparencyClipBox()
        and intersects it with the paintDirtyRect to constrain the size
        of the rect used for filters and transparency layers.

        Transparency layer extent is not testable in layout tests.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintingExtent):
        (WebCore::RenderLayer::beginTransparencyLayers): Floating point literals are required
        to avoid ambiguous constructor call.
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::paintLayerContents):
        * rendering/RenderLayer.h:

2012-01-16  Simon Fraser  <simon.fraser@apple.com>

        Borders and box masks behave incorrectly with overlapping offsets
        https://bugs.webkit.org/show_bug.cgi?id=76137

        Reviewed by Dean Jackson.
        
        There are some correct behaviors for -webkit-mask-box-image where
        parts of the mask are missing (when the sum of the slice sizes is
        greater than one dimension of the image). To render correctly
        in these cases, always use a transparency layer when rendering
        the mask.

        Test: fast/backgrounds/mask-box-image.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintMaskImages):

2012-01-16  Simon Fraser  <simon.fraser@apple.com>

        Filtered element with composited content beneath it must be composited
        https://bugs.webkit.org/show_bug.cgi?id=76322

        Reviewed by Dean Jackson.
        
        If a RenderLayer has a filter effect, and a composited descendant, then
        that layer must also be composited so that the filter is applied via
        the compositing system, rather than via painting (otherwise the filter
        will not affect the descendant).

        Test: css3/filters/filtered-compositing-descendant.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):

2012-01-16  Andreas Kling  <awesomekling@apple.com>

        Fix assertion failure in mappedAttributesEquivalent().
        <http://webkit.org/b/76393>

        Rubber-stamped by Antti Koivisto.

        The assertion that two mapped attributes with matching name/value will always
        have the exact same decl() was wrong, so make it a proper check once again.

        * css/CSSStyleSelector.cpp:
        (WebCore::mappedAttributesEquivalent):

2012-01-16  Jon Lee  <jonlee@apple.com>

        Remove HTML notifications support on Mac
        https://bugs.webkit.org/show_bug.cgi?id=76401
        <rdar://problem/10589881>

        Reviewed by Sam Weinig.

        * notifications/NotificationCenter.idl:

2012-01-16  xueqing huang  <huangxueqing@baidu.com>

        Add offline web applications API applicationCache.abort.
        https://bugs.webkit.org/show_bug.cgi?id=76270

        Reviewed by Alexey Proskuryakov.

        Tests:
        http/tests/appcache/abort-cache-onchecking.html
        http/tests/appcache/abort-cache-onchecking-manifest-404.html
        http/tests/appcache/abort-cache-onchecking-resource-404.html
        http/tests/appcache/abort-cache-ondownloading.html
        http/tests/appcache/abort-cache-ondownloading-manifest-404.html
        http/tests/appcache/abort-cache-ondownloading-resource-404.html
        http/tests/appcache/abort-cache-onprogress.html

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::abort):
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::abort):
        * loader/appcache/ApplicationCacheHost.h:
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::abort):
        * loader/appcache/DOMApplicationCache.h:
        * loader/appcache/DOMApplicationCache.idl:

2012-01-16  Andreas Kling  <awesomekling@apple.com>

        Remove caching of mapped attribute count on NamedNodeMap.
        <http://webkit.org/b/76393>

        Reviewed by Antti Koivisto.

        Stop caching the mapped attribute count on Element's attribute map, effectively
        shrinking NamedNodeMap by one CPU word. The price we pay is always walking over
        the map in matchAllRules(), even if it has no mapped attribute styles.

        This reduces memory consumption by 605 kB (on 64-bit) when viewing the full
        HTML5 spec at <http://whatwg.org/c>

        * css/CSSStyleSelector.cpp:
        (WebCore::mappedAttributesEquivalent):

            Moved here from NamedNodeMap::mappedMapsEquivalent() to accomodate the only
            user under the added assumption that the two attribute maps have the same
            number of mapped attributes.

        (WebCore::CSSStyleSelector::matchAllRules):

            We don't have NamedNodeMap::hasMappedAttributes() at our convenience any
            more so walk the attribute map (if there is one) looking for styles to add.

        (WebCore::CSSStyleSelector::canShareStyleWithElement):

            Compare the elements' mapped attribute counts at an earlier time. This is
            slightly more expensive but we used to do it near the end anyway and this
            ends up rejecting elements that can't share style before doing a lot of
            semi-expensive checks.

        * dom/StyledElement.h:
        (WebCore::StyledElement::mappedAttributeCount):
        * dom/NamedNodeMap.h:
        (WebCore::NamedNodeMap::mappedAttributeCount):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::clearAttributes):

            Remove NamedNodeMap::m_mappedAttributeCount and add a function that walks
            the attribute map counting the attributes that have a decl().

        * dom/NamedNodeMap.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):

            Remove declAdded()/declRemoved() callbacks.

2012-01-16  Jer Noble  <jer.noble@apple.com>

        Unreviewed build fix.

        Added necessary header files to VectorMath.cpp to fix Chromium compile error.

        * platform/audio/VectorMath.cpp:

2011-12-12  Jer Noble  <jer.noble@apple.com>

        WebAudio: Optimize AudioChannel::maxAbsValue().
        https://bugs.webkit.org/show_bug.cgi?id=74359

        Reviewed by Eric Carlson.

        No new tests; optimization of existing code, so covered by existing test cases.

        * platform/audio/AudioChannel.cpp:
        (WebCore::AudioChannel::maxAbsValue): Replace implementation with optimized vector math 
            operation.
        * platform/audio/VectorMath.cpp:
        (WebCore::VectorMath::vmaxmgv): Vector math operation for determining maximum
            magnitude in a vector.
        * platform/audio/VectorMath.h:

2012-01-16  Joe Thomas  <joethomas@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=41210
        Cross Origin XMLHttpRequest can not expose headers indicated in Access-Control-Expose-Headers HTTP Response Header

        Parsing the "Access-Control-Expose-Headers" in the XMLHTTPRequest response header.
        If the custom response-header is part of Access-Control-Expose-Headers, then consider that custom response-header as a valid one.

        Reviewed by Alexey Proskuryakov.

        Test: http/tests/xmlhttprequest/access-control-response-with-expose-headers.html

        * loader/CrossOriginAccessControl.cpp:
        (WebCore::parseAccessControlExposeHeadersAllowList):  parsing logic of Access-Control-Expose-Headers
        * loader/CrossOriginAccessControl.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::getAllResponseHeaders): checking whether the custom response-header is part of "Access-Control-Expose-Headers"
        (WebCore::XMLHttpRequest::getResponseHeader):  checking whether the custom response-header is part of "Access-Control-Expose-Headers"

2012-01-16  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: timeline record bars may overlap with the records column
        https://bugs.webkit.org/show_bug.cgi?id=76387

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/timelinePanel.css:
        (#timeline-container .split-view-sidebar-left):

2012-01-13  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: styles sidebar rendering is broken
        https://bugs.webkit.org/show_bug.cgi?id=76065

        Reviewed by Pavel Feldman.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        * inspector/front-end/elementsPanel.css:
        (.styles-section .header .subtitle):
        (.styles-section .properties):

2012-01-16  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Inremental build problem revealed by https://bugs.webkit.org/show_bug.cgi?id=74455

        Reviewed by Tor Arne Vestbø.

        * DerivedSources.pri: supplemental_dependency.tmp must depends on idl files too.

2012-01-16  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: do not merge iframes into a single DOM hierarchy.
        https://bugs.webkit.org/show_bug.cgi?id=76383

        Reviewed by Timothy Hatcher.

        * inspector/DOMEditor.h:
        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::unbind):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::innerFirstChild):
        (WebCore::InspectorDOMAgent::innerParentNode):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule.callback):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype._ownerDocumentId):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.DOMNode.prototype.getChildNodes):
        (WebInspector.DOMNode.prototype._insertChild):
        (WebInspector.DOMNode.prototype._setChildrenPayload):
        (WebInspector.DOMDocument):
        (WebInspector.DOMAgent.prototype._setDetachedRoot):
        * inspector/front-end/ElementsTreeOutline.js:

2012-01-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: setCurrentFocusElement should not update selection when focus is moved to text field or text area.
        https://bugs.webkit.org/show_bug.cgi?id=76384

        Reviewed by Timothy Hatcher.

        * inspector/front-end/JavaScriptOutlineDialog.js:
        (WebInspector.JavaScriptOutlineDialog):
        * inspector/front-end/UIUtils.js:
        (WebInspector._isTextEditingElement):
        (WebInspector.setCurrentFocusElement):

2012-01-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Large SVG text layout performance regression in r81168
        https://bugs.webkit.org/show_bug.cgi?id=65711

        Reviewed by Zoltan Herczeg.

        Enable simple code path in SVGTextMetricsBuilder, allowing fast-measurement of simple text.
        This affects the geometry of several <text> elements, thus several tests need rebaselining.

        * rendering/svg/SVGTextMetricsBuilder.cpp:
        (WebCore::SVGTextMetricsBuilder::advance):
        (WebCore::SVGTextMetricsBuilder::advanceComplexText):

2012-01-16  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: generate array types.
        https://bugs.webkit.org/show_bug.cgi?id=75284

        Reviewed by Yury Semikhatsky.

        New classes are generated for ecah array type instance. Some includes
        and ifdefs are fixed.

        * inspector/CodeGeneratorInspector.py:
        (ArrayBinding):
        (ArrayBinding.get_code_generator):
        (ArrayBinding.get_code_generator.CodeGenerator):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
        (ArrayBinding.get_code_generator.CodeGenerator.register_use):
        (ArrayBinding.get_in_c_type_text):
        (ArrayBinding.get_setter_value_expression_pattern):
        (ArrayBinding.reduce_to_raw_type):
        (RawTypeBinding):
        (RawTypeBinding.__init__):
        (RawTypeBinding.get_code_generator):
        (RawTypeBinding.get_in_c_type_text):
        (RawTypeBinding.get_setter_value_expression_pattern):
        (RawTypeBinding.reduce_to_raw_type):
        (TypeData.__init__):
        (TypeData.get_binding):
        * inspector/ConsoleMessage.cpp:
        * inspector/InspectorValues.h:

2012-01-15  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: editing body multiplies head
        https://bugs.webkit.org/show_bug.cgi?id=62272

        Reviewed by Yury Semikhatsky.

        Test: inspector/elements/set-outer-html-body.html

        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::patchDocument):
        (WebCore::DOMEditor::patchNode):
        (WebCore::DOMEditor::innerPatchChildren):
        (WebCore::DOMEditor::insertBefore):
        * inspector/DOMEditor.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setOuterHTML):

2012-01-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Large SVG text layout performance regression in r81168
        https://bugs.webkit.org/show_bug.cgi?id=65711

        Reviewed by Zoltan Herczeg.

        Change the way we store x/y/dx/dy/rotate values for a <text> element and its ancestors.

        SVGTextLayoutAttributesBuilder used to hold a Vector<float> for x/y/dx/dy/rotate, each as big
        as the whole text subtree length. For each character, that has an absolute position, or rotation
        the value was stored in this list. For all other characters a special empty value marker was stored.

        This is highly inefficient, and is now replaced with a HashMap<unsigned, SVGCharacterData> where
        SVGCharacterData is a struct, holding float x/y/dx/dy/rotate. The code is now optimized for the
        common case, where only a few characters actually specify such values, eg:
        <text x="50" y="90">looooong text<tspan x="50" y="30">abc</tspan></text>.

        NOTE: There are still some inefficiencies in this patch (especially the copying of SVGTextLayoutAttributes).
        To keep the patch size smaller, I decided to fix this in another patch, and only fix the memory issue with this patch.

        This reduces the memory consumption from 35MB to 10MB on the attached testcase in bug 65711.

        Doesn't affect any test, yet. A follow-up commit will enable the usage of the simple code path, using WidthIterator,
        in SVGTextMetricsBuilder, which will result in several layout test changes, because of geometry changes.

        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::RenderSVGInlineText):
        (WebCore::RenderSVGInlineText::characterStartsNewTextChunk):
        * rendering/svg/RenderSVGInlineText.h:
        (WebCore::RenderSVGInlineText::layoutAttributes):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout):
        (WebCore::recursiveCollectLayoutAttributes):
        (WebCore::RenderSVGText::rebuildLayoutAttributes):
        * rendering/svg/RenderSVGText.h:
        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
        (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
        (WebCore::swapItemsInLayoutAttributes):
        (WebCore::findFirstAndLastAttributesInVector):
        (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
        * rendering/svg/SVGTextLayoutAttributes.cpp:
        (WebCore::SVGTextLayoutAttributes::clear):
        (WebCore::dumpSVGCharacterDataMapValue):
        (WebCore::SVGTextLayoutAttributes::dump):
        * rendering/svg/SVGTextLayoutAttributes.h:
        (WebCore::SVGTextLayoutAttributes::characterDataMap):
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::SVGTextLayoutAttributesBuilder):
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForWholeTree):
        (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForTextRenderer):
        (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForWholeTree):
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesIfNeeded):
        (WebCore::processRenderSVGInlineText):
        (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributes):
        (WebCore::updateCharacterData):
        (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):
        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
        (WebCore::SVGTextLayoutAttributesBuilder::clearTextPositioningElements):
        * rendering/svg/SVGTextLayoutEngine.cpp:
        (WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded):
        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
        * rendering/svg/SVGTextLayoutEngine.h:
        (WebCore::SVGTextLayoutEngine::layoutAttributes):
        * rendering/svg/SVGTextMetricsBuilder.cpp:
        (WebCore::SVGTextMetricsBuilder::advance):
        (WebCore::SVGTextMetricsBuilder::advanceComplexText):
        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
        * rendering/svg/SVGTextQuery.cpp:
        (WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):

2012-01-15  Andreas Kling  <awesomekling@apple.com>

        CSSCanvasValue can't be renamed, enforce this at compile-time.
        <http://webkit.org/b/76352>

        Reviewed by Antti Koivisto.

        Have the CSSCanvasValue constructor take the name as an argument instead of
        having a setName() that's only called from one place in CSSParser.

        * css/CSSCanvasValue.h:
        (WebCore::CSSCanvasValue::create):
        (WebCore::CSSCanvasValue::CSSCanvasValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseCanvas):

2012-01-16  Andreas Kling  <awesomekling@apple.com>

        CSSStyleSelector: Dodge parser when creating default LTR/RTL declarations.
        <http://webkit.org/b/76374>

        Reviewed by Antti Koivisto.

        Pass CSSValueLtr/CSSValueRtl directly to setProperty() instead of parsing "ltr"/"rtl".

        * css/CSSStyleSelector.cpp:
        (WebCore::leftToRightDeclaration):
        (WebCore::rightToLeftDeclaration):

2012-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.list.am: Add missing files.

2012-01-16  Roland Steiner  <rolandsteiner@chromium.org>

        CSSStyleSelector constructor and appendAuthorStylesheets() contain duplicated code
        https://bugs.webkit.org/show_bug.cgi?id=76043

        Re-use appendAuthorStylesheets() from within CSSStyleSelector constructor.

        Reviewed by Antti Koivisto.

        No new tests. (refactoring)

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        * css/StyleSheetList.h:
        (WebCore::StyleSheetList::vector):

2012-01-16  Shinya Kawanaka  <shinyak@google.com>

        [crash] Renderer crashes when spell checking a disabled input field.
        https://bugs.webkit.org/show_bug.cgi?id=75941

        Reviewed by Hajime Morita.

        We confirm the selection is editable before replacing text.

        Tests: ManualTests/editing-disabled-node-replace-crash.html

        * editing/Editor.cpp:
        (WebCore::Editor::replaceSelectionWithFragment):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):

2012-01-16  Pablo Flouret  <pablof@motorola.com>

        Fix compilation errors on build-webkit --debug --no-svg --no-svg-fonts --no-svg-dom-objc-bindings on mac.
        https://bugs.webkit.org/show_bug.cgi?id=75865

        Reviewed by Hajime Morita.

        * WebCore.exp.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::setContainerSizeForRenderer):
        (WebCore::CachedImage::imageSizeForRenderer):
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::drawGlyphBuffer):
        * rendering/FilterEffectRenderer.cpp:
        * svg/SVGElementInstance.idl:

2012-01-16  Pablo Flouret  <pablof@motorola.com>

        Compilation error on build-webkit --debug --no-request-animation-frame on mac.
        https://bugs.webkit.org/show_bug.cgi?id=75875

        Reviewed by Hajime Morita.

        * dom/Document.cpp:
        (WebCore::Document::windowScreenDidChange):

2012-01-16  Csaba Osztrogonác  <ossy@webkit.org>

        Web Inspector: Fix GoToLineDialog and extract common dialog functionality.
        https://bugs.webkit.org/show_bug.cgi?id=69341

        Unreviewed trivial buildfix/typo fix after r105043.

        * inspector/front-end/WebKit.qrc:

2011-10-11  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Fix GoToLineDialog and extract common dialog functionality.
        https://bugs.webkit.org/show_bug.cgi?id=69341

        Fixed dialog: in old implementation dialog never hides if you press mouse button
        on Go button and release it somewhere else.
        Dialog functionality extracted to be used for search dialog.

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/Dialog.js: Added.
        (WebInspector.Dialog):
        (WebInspector.Dialog.show):
        (WebInspector.Dialog.prototype._hide):
        (WebInspector.Dialog.prototype._onFocus):
        (WebInspector.Dialog.prototype._doFocus):
        (WebInspector.Dialog.prototype._position):
        (WebInspector.Dialog.prototype._onKeyDown):
        (WebInspector.Dialog.prototype._onClick):
        (WebInspector.DialogDelegate):
        (WebInspector.DialogDelegate.prototype.get defaultFocusedElement):
        (WebInspector.DialogDelegate.prototype.get okButton):
        (WebInspector.DialogDelegate.prototype.onAction):
        * inspector/front-end/GoToLineDialog.js:
        (WebInspector.GoToLineDialog):
        (WebInspector.GoToLineDialog._show):
        (WebInspector.GoToLineDialog.prototype.get defaultFocusedElement):
        (WebInspector.GoToLineDialog.prototype.get okButton):
        (WebInspector.GoToLineDialog.prototype.onAction):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/dialog.css: Renamed from Source/WebCore/inspector/front-end/goToLineDialog.css.
        (.dialog-glass-pane):
        (.dialog):
        (.dialog-contents):
        (.go-to-line-dialog input):
        (.go-to-line-dialog button):
        (.go-to-line-dialog button:active):
        * inspector/front-end/inspector.html:

2012-01-16  Jochen Eisinger  <jochen@chromium.org>

        ScriptRunner should also keep references to pending async scripts
        https://bugs.webkit.org/show_bug.cgi?id=76350

        Reviewed by Adam Barth.

        The CachedResourceLoader only keeps a raw pointer to a ScriptElement.
        If an async ScriptElement is removed from the document before it is
        executed, it might be garbage collected before the script is loaded, so
        it's never run.

        By making the ScriptRunner keep an explicit reference to the
        ScriptElement while it's loading (as is done for sync ScriptElements),
        we can guarantee that the ScriptElement lives until it is executed.

        No more flaky timeouts: http/tests/misc/async-script.html:

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::prepareScript):
        (WebCore::ScriptElement::notifyFinished):
        * dom/ScriptRunner.cpp:
        (WebCore::ScriptRunner::~ScriptRunner):
        (WebCore::ScriptRunner::queueScriptForExecution):
        (WebCore::ScriptRunner::notifyScriptReady):
        * dom/ScriptRunner.h:
        (WebCore::ScriptRunner::hasPendingScripts):

2012-01-16  Renata Hodovan  <reni@webkit.org>

        Unreviewed build fix; added WebCore.exp.in changes lost in r105036.

        * WebCore.exp.in:

2012-01-15  Xinchao He  <xinchao.he@intel.com>

        Add DeviceOrientationEvent.absolute
        https://bugs.webkit.org/show_bug.cgi?id=51742

        Reviewed by Darin Fisher.

        This patch add the DeviceOrientationEvent.absolute to follow the
        latest w3c device orientation event spec.
        http://www.w3.org/TR/orientation-event/


        * bindings/js/JSDeviceOrientationEventCustom.cpp:
        (WebCore::JSDeviceOrientationEvent::absolute):
        (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
        * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
        (WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):
        (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
        * dom/DeviceOrientation.cpp:
        (WebCore::DeviceOrientation::create):
        (WebCore::DeviceOrientation::DeviceOrientation):
        (WebCore::DeviceOrientation::absolute):
        (WebCore::DeviceOrientation::canProvideAbsolute):
        * dom/DeviceOrientation.h:
        * dom/DeviceOrientationEvent.idl:

2012-01-15  Luke Macpherson   <macpherson@chromium.org>

        Remove external references to CSSPrimitiveValue::UnitTypes enum.
        https://bugs.webkit.org/show_bug.cgi?id=76229

        Reviewed by Darin Adler.

        No new tests / refactoring only.

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::addStops):
        (WebCore::positionFromValue):
        (WebCore::CSSGradientValue::isCacheable):
        (WebCore::CSSRadialGradientValue::resolveRadius):
        (WebCore::CSSRadialGradientValue::createGradient):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::isUnitTypeLength):
        (WebCore::CSSPrimitiveValue::isFontRelativeLength):
        (WebCore::CSSPrimitiveValue::isIdent):
        (WebCore::CSSPrimitiveValue::isNumber):
        (WebCore::CSSPrimitiveValue::isPercentage):
        (WebCore::CSSPrimitiveValue::isString):
        (WebCore::CSSPrimitiveValue::isURI):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        (WebCore::ApplyPropertyFontSize::applyValue):
        (WebCore::ApplyPropertyCursor::applyValue):
        (WebCore::ApplyPropertyPageSize::applyValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
        (WebCore::ApplyPropertyZoom::applyValue):

2012-01-15  Pablo Flouret  <pablof@motorola.com>

        Fix compilation errors on build-webkit --debug --no-video on mac.
        https://bugs.webkit.org/show_bug.cgi?id=75867

        Reviewed by Philippe Normand.

        - Some exported HTMLMediaElement symbols were guarded by FULLSCREEN_API
          feature instead of VIDEO.
        - Unused parameter warning in CanvasRenderingContext::wouldTaintOrigin().
        - RenderThemeMac::shouldShowPlaceholderWhenFocused() implementation
          wrongly guarded by VIDEO feature.

        * WebCore.exp.in:
        * html/canvas/CanvasRenderingContext.cpp:
        (WebCore::CanvasRenderingContext::wouldTaintOrigin):
        * rendering/RenderThemeMac.mm:

2012-01-15  Andreas Kling  <awesomekling@apple.com>

        CSSParser: Fix failing assertion below BorderImageQuadParseContext.
        <http://webkit.org/b/76346> and <rdar://problem/10584969>

        Reviewed by Antti Koivisto.

        No longer asserts: fast/borders/inline-mask-overlay-image-outset-vertical-rl.html

        * css/CSSParser.cpp:
        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):

            Clone CSSValues by copying the RefPtrs instead of going through
            the CSSValuePool's create-from-double factory. This prevents an
            assertion when the incoming value is CSSValueAuto.

2011-08-30  Robert Hogan  <robert@webkit.org>

        <embed> width and height properties propagate to parent object node
        https://bugs.webkit.org/show_bug.cgi?id=17688

        Reviewed by Eric Seidel.

        Test: fast/images/embed-does-not-propagate-dimensions-to-object-ancestor.html

        WebKit seems to have inherited this behaviour from KHTML. When the width/height
        of an <embed> element is set, it propagates the values up to any parent <object>
        element. There doesn't seem to be any good reason for this and it is not consistent
        with the behaviour of Firefox and Opera.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::insertedIntoDocument):
        (WebCore::HTMLEmbedElement::attributeChanged): Removed
        * html/HTMLEmbedElement.h:
        (WebCore::HTMLEmbedElement::attributeChanged): Removed

2011-12-30  Robert Hogan  <robert@webkit.org>

        compareBorders() is called too often during painting
        https://bugs.webkit.org/show_bug.cgi?id=73349

        Reviewed by Julien Chaffraix.

        Collapsed borders are re-calculated every time they are painted.
        This is unnecessary, they only change with the layout or style so calculate and
        cache them whenever the layout or style changes and use the cached values when
        painting. The cache is stored in the table section so that the memory footprint
        of a table is only increased when it has collapsing borders.

        The gain in performance here consists of skipping collapsed border computation
        during painting. The only path that incurs a small performance penalty is the 
        additional get/set on the cache when a collapsed border is computed. This penalty only applies
        during style change, layout, or when the width of the table is calculated. The computed
        border value is not stored in the cache when it has been calculated without its color
        for borderHalfStart and co., so that code path is unaffected by this change.

        No new tests, covered by existing collapsed border tests.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::willBeDestroyed): remove entries from collapsed border cache
        (WebCore::RenderTableCell::collapsedStartBorder):
         Compute, and also cache if the full border including color was computed. 
        (WebCore::RenderTableCell::computeCollapsedStartBorder):
        (WebCore::RenderTableCell::collapsedEndBorder): ditto
        (WebCore::RenderTableCell::computeCollapsedEndBorder):
        (WebCore::RenderTableCell::collapsedBeforeBorder): ditto
        (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
        (WebCore::RenderTableCell::collapsedAfterBorder): ditto
        (WebCore::RenderTableCell::computeCollapsedAfterBorder):
        (WebCore::RenderTableCell::cachedCollapsedLeftBorder):
         Inline the function since it is only called in paintCollapsedBorders and remove
         includeColor as a parameter. Move the call to the table's style to the caller rather
         than call it 4 times in a row. Use the cached border values directly.
        (WebCore::RenderTableCell::cachedCollapsedRightBorder): ditto
        (WebCore::RenderTableCell::cachedCollapsedTopBorder): ditto
        (WebCore::RenderTableCell::cachedCollapsedBottomBorder): ditto
        (WebCore::RenderTableCell::paintCollapsedBorders):
         This function always uses the collapsed border cache now.
        * rendering/RenderTableCell.h:
         Make the collapsed border functions private.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::removeCachedCollapsedBorders): The cache is deleted by the HashMap
         since it is the only owner of the cached item.
        (WebCore::RenderTableSection::setCachedCollapsedBorder):
        (WebCore::RenderTableSection::cachedCollapsedBorder):
         This will assert if there is no cached collapsed border for the side of the 
         cell requested by the caller.
        * rendering/RenderTableSection.h:
         HashMap wouldn't let me use CollapsedBorderSide in the key value for the cache
         so use int instead.

2012-01-14  David Levin  <levin@chromium.org>

        HWndDC should be in platform/win instead of wtf.
        https://bugs.webkit.org/show_bug.cgi?id=76314

        Reviewed by Sam Weinig.

        No new functionality, so no new tests.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * platform/win/HWndDC.h: Renamed from Source/JavaScriptCore/wtf/win/HWndDCWin.h.
        I also made the class non-copyable.
        (WebCore::HWndDC::HWndDC):
        (WebCore::HWndDC::~HWndDC):
        (WebCore::HWndDC::operator HDC):

2012-01-14  Adam Treat  <atreat@rim.com>

        https://bugs.webkit.org/show_bug.cgi?id=76339

        Take a page from the Gtk and Qt ports and quiet these logs unless they
        are explicitly enabled via environment variable.

        Reviewed by George Staikos.

        * platform/blackberry/LoggingBlackBerry.cpp:
        (WebCore::initializeLoggingChannelsIfNecessary):

2011-11-09  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: outline-color-applies-to* tests fail
        https://bugs.webkit.org/show_bug.cgi?id=71944

        Reviewed by Julien Chaffraix.

        Paint the outline color for row, row-group, header-group and footer-group
        elements.

        Tests: css2.1/20110323/outline-color-applies-to-001.htm
               css2.1/20110323/outline-color-applies-to-002.htm
               css2.1/20110323/outline-color-applies-to-003.htm
               css2.1/20110323/outline-color-applies-to-004.htm
               css2.1/20110323/outline-color-applies-to-005.htm
               css2.1/20110323/outline-color-applies-to-006.htm
               css2.1/20110323/outline-color-applies-to-007.htm
               css2.1/20110323/outline-color-applies-to-008.htm
               css2.1/20110323/outline-color-applies-to-009.htm
               css2.1/20110323/outline-color-applies-to-010.htm
               (There is no outline-color-applies-to-011.htm in the test suite.)
               css2.1/20110323/outline-color-applies-to-012.htm
               css2.1/20110323/outline-color-applies-to-013.htm
               css2.1/20110323/outline-color-applies-to-014.htm
               css2.1/20110323/outline-color-applies-to-015.htm
               fast/css/outline-color-self-painting-row.htm

        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::paintOutlineForRowIfNeeded): Wrapper function for painting the outline for the row.
         This is used by RenderTableSection::paintObject and RenderTableRow::paint
        (WebCore::RenderTableRow::paint): For rows with a self-painting layer, paint the outline. Tested by
         fast/css/outline-color-self-painting-row.htm.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paint): Paint the outline for header-group, row-group and footer-groups.
        (WebCore::RenderTableSection::paintObject): When iterating through the cells paint the outline of rows as required.
        Doing it here avoids the need to walk the RenderTableSection's tree separately elsewhere.

2012-01-14  Simon Fraser  <simon.fraser@apple.com>

        Unmatched transparency layer begin/end on a filtered element with an opacity ancestor
        https://bugs.webkit.org/show_bug.cgi?id=76329

        Reviewed by Dan Bernstein.

        When doing a paint with painting disabled on the GraphicsContext, as we do
        for updating control tints, or computing text rectangles on Find, do not
        apply filter effects. This is both a performance gain, and fixes an issue
        with mismatched begin/end transparency layers.
        
        Manual test:
            ManualTests/filters/opacity-above-filter.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayerContents):

2012-01-13  Ojan Vafai  <ojan@chromium.org>

        Implement flex-align
        https://bugs.webkit.org/show_bug.cgi?id=75782

        Reviewed by Tony Chang.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        Intentially gets computed style for flex-item-align:auto wrong.
        Will fix this in a followup patch.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::flexAlignForChild):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
        (WebCore::RenderFlexibleBox::alignChildren):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::flexAlign):
        (WebCore::RenderStyleBitfields::setFlexAlign):
        (WebCore::RenderStyleBitfields::initialFlexAlign):
        (WebCore::RenderStyleBitfields::initialFlexItemAlign):
        * rendering/style/StyleFlexibleBoxData.cpp:
        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
        (WebCore::StyleFlexibleBoxData::operator==):
        * rendering/style/StyleFlexibleBoxData.h:

2012-01-13  Brent Fulgham  <bfulgham@webkit.org>

        [Windows, WinCairo] Build correction after r104919.

        * WebCore.vcproj/WebCore.vcproj: Exclude ShadowContentSelectorQuery.cpp
          from the build, since it is built as part of DOMAllInOne.cpp.

2012-01-13  Vincent Scheib  <scheib@chromium.org>

        Pointer Lock: Change isLocked() from operator to attribute isLocked
        https://bugs.webkit.org/show_bug.cgi?id=76311

        Reviewed by Adam Barth.

        This patch implements the recent Mouse Lock Specification update
        changing navigator.pointer.isLocked() to .isLocked.

        Test pointer-lock/pointer-lock-api.html updated to new spec.

        * page/PointerLock.idl:

2012-01-13  Raymond Toy  <rtoy@google.com>

        noteOn, noteGrainOn and noteOff idl should take doubles
        https://bugs.webkit.org/show_bug.cgi?id=76073

        Reviewed by Adam Barth.

        Existing audiobuffersource-playbackrate and gain tests cover the
        noteOn and noteOff changes.

        * webaudio/AudioBufferSourceNode.idl: noteOn, noteGrainOn, and
        noteOff take doubles.

2012-01-13  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=71230
        Clicking where the overlay scroll track would be should not scroll the page
        -and corresponding-
        <rdar://problem/9585424>

        Reviewed by Alexey Proskuryakov.

        These new functions indicate whether the scrollbar should participate in hit 
        testing. Non-overlay scrollbars always should, so they return true. Overlay 
        scrollbars consult the animator, which checks the current alpha. 
        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::shouldScrollbarParticipateInHitTesting):
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar:: shouldParticipateInHitTesting):
        * platform/Scrollbar.h:
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac:: shouldScrollbarParticipateInHitTesting):

        In these hit-testing functions, only hit-test when the scrollbar should 
        participate.
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollbarAtPoint):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::nodeAtPoint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestOverflowControls):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::isPointInOverflowControl):

2012-01-13  Dan Bernstein  <mitz@apple.com>

        REGRESSION: svg/custom/use-instanceRoot-event-listeners.xhtml & svg/custom/pointer-events-invalid-fill.svg broken on the Bots
        https://bugs.webkit.org/show_bug.cgi?id=76254

        Reviewed by Anders Carlsson.

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::beginLoadTimerFired): Added a call to
        CachedResourceLoader::loadDone() after decrementing the request count. This allows the
        frame loader to see that the request count is zero and dispatch didFinishLoad. 

2012-01-13  Jer Noble  <jer.noble@apple.com>

        WebAudio: Optimize calculateNormalizationScale().
        https://bugs.webkit.org/show_bug.cgi?id=74372

        Reviewed by Eric Carlson.

        No new tests; optimization of existing code, so covered by existing test cases.

        * platform/audio/Reverb.cpp:
        (WebCore::calculateNormalizationScale): Replace implementation with optimized vector
            math operation.
        (WebCore::Reverb::Reverb):
        * platform/audio/VectorMath.cpp:
        (WebCore::VectorMath::vsvesq): Vector math operation for squared sum of elements.
        * platform/audio/VectorMath.h:

2012-01-13  Nico Weber  <thakis@chromium.org>

        Remove a unused variable.
        https://bugs.webkit.org/show_bug.cgi?id=76307

        Reviewed by James Robinson.

        * platform/mac/ScrollElasticityController.mm:
        (WebCore::ScrollElasticityController::snapRubberBandTimerFired):

2012-01-13  Nate Chapin  <japhet@chromium.org>

        Revert most of the multipart changes in
        http://trac.webkit.org/changeset/104756.
        https://bugs.webkit.org/show_bug.cgi?id=76297

        Reviewed by Alexey Proskuryakov.

        http/tests/multipart/invalid-image-data.html
        should stop asserting on chromium win dbg.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didReceiveResponse):
        (WebCore::SubresourceLoader::didReceiveData):
        (WebCore::SubresourceLoader::sendDataToResource):

2011-01-13  Jer Noble  <jer.noble@apple.com>

        WebAudio: Use float instead of double values for gain operations.
        https://bugs.webkit.org/show_bug.cgi?id=74345

        Reviewed by Sam Weinig.

        No new tests; optimization of existing code, so covered by existing test cases.

        The following functions now take or operate on floats instead of doubles:
        (WebCore::AudioBus::scale):
        (WebCore::AudioBus::processWithGainFrom):
        (WebCore::AudioBus::copyWithGainFrom):
        (WebCore::AudioBus::sumWithGainFrom):
        * platform/audio/AudioBus.h:
        (WebCore::AudioBus::setGain):
        (WebCore::AudioBus::gain):
        * platform/audio/AudioChannel.cpp:
        (WebCore::AudioChannel::scale):
        * platform/audio/AudioChannel.h:
        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::process):
        * webaudio/AudioBufferSourceNode.h:
        * webaudio/AudioGainNode.h:
        * webaudio/AudioPannerNode.h:

2012-01-13  Greg Billock  <gbillock@google.com>

        Don't use pending activity notification in IntentRequest
        https://bugs.webkit.org/show_bug.cgi?id=76302

        Reviewed by Adam Barth.

        * Modules/intents/IntentRequest.cpp:
        (WebCore::IntentRequest::IntentRequest):
        (WebCore::IntentRequest::postResult):
        (WebCore::IntentRequest::postFailure):

2012-01-13  Raymond Toy  <rtoy@google.com>

        EQUALPOWER panner incorrectly computes gain
        https://bugs.webkit.org/show_bug.cgi?id=75767

        Reviewed by Kenneth Russell.

        Layout test added.

        * platform/audio/EqualPowerPanner.cpp:
        (WebCore::EqualPowerPanner::pan):  Correct the formula.

2012-01-13  Ojan Vafai  <ojan@chromium.org>

        Unreviewed, rolling out r104972.
        http://trac.webkit.org/changeset/104972
        https://bugs.webkit.org/show_bug.cgi?id=75782

        Broke some tests

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
        (WebCore::RenderFlexibleBox::alignChildren):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::initialFlexItemAlign):
        * rendering/style/StyleFlexibleBoxData.cpp:
        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
        (WebCore::StyleFlexibleBoxData::operator==):
        * rendering/style/StyleFlexibleBoxData.h:

2012-01-13  Anders Carlsson  <andersca@apple.com>

        -[WebTileCacheLayer setNeedsDisplay] doesn't trigger invalidation
        https://bugs.webkit.org/show_bug.cgi?id=76299

        Reviewed by Simon Fraser.

        Override -[WebTileCacheLayer setNeedsDisplay] and call TileCache::setNeedsDisplay from there,
        instead of ending up with a huge rectangle in TileCache::setNeedsDisplayInRect which causes our
        tile computation logic to fail due to integer overflow when converting from CGFloats to ints.

        * platform/graphics/ca/mac/TileCache.h:
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::setNeedsDisplay):
        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer setNeedsDisplay]):

2012-01-12  Ojan Vafai  <ojan@chromium.org>

        Implement flex-align
        https://bugs.webkit.org/show_bug.cgi?id=75782

        Reviewed by Tony Chang.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        Not 100% sure about this, but I think the computed value of
        flex-item-align needs to take the parent's flex-align into
        account for computed auto values.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::flexAlign):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
        (WebCore::RenderFlexibleBox::alignChildren):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::flexAlign):
        (WebCore::RenderStyleBitfields::setFlexAlign):
        (WebCore::RenderStyleBitfields::initialFlexAlign):
        (WebCore::RenderStyleBitfields::initialFlexItemAlign):
        * rendering/style/StyleFlexibleBoxData.cpp:
        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
        (WebCore::StyleFlexibleBoxData::operator==):
        * rendering/style/StyleFlexibleBoxData.h:

2012-01-13  Simon Fraser  <simon.fraser@apple.com>

        Rename GraphicsContext* argument in various RenderLayer methods
        https://bugs.webkit.org/show_bug.cgi?id=76283

        Reviewed by James Robinson/Anders Carlsson.

        Rename the GraphicsContext* parameter "p" in various RenderLayer
        methods to "context". "p" was a historical name from when it was
        called Painter.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::beginTransparencyLayers):
        (WebCore::RenderLayer::paint):
        (WebCore::RenderLayer::paintOverlayScrollbars):
        (WebCore::RenderLayer::restoreClip):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::paintLayerContentsAndReflection):
        (WebCore::RenderLayer::paintLayerContents):
        (WebCore::RenderLayer::paintList):

2012-01-13  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Add back region style code removed in r104036
        https://bugs.webkit.org/show_bug.cgi?id=76064

        Reviewed by David Hyatt.

        No new tests. The region style tests are still skipped. A follow up patch will enable
        both region style for background-color and region style tests.

        * WebCore.exp.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::RuleData::useInRegionStyle):
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        (WebCore::CSSStyleSelector::matchRules):
        (WebCore::CSSStyleSelector::matchAllRules):
        (WebCore::CSSStyleSelector::initForRegionStyling):
        (WebCore::CSSStyleSelector::initRegionRules):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::RuleData::RuleData):
        (WebCore::RuleSet::RuleSet):
        (WebCore::RuleSet::addToRuleSet):
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::isValidRegionStyleProperty):
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::setRegionForStyling):
        (WebCore::CSSStyleSelector::regionForStyling):
        (WebCore::CSSStyleSelector::applyPropertyToRegionStyle):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
        (WebCore::RenderFlowThread::setRegionRangeForBox):
        * rendering/RenderFlowThread.h:
        * rendering/RenderLayer.cpp:
        (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
        (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
        (WebCore::RenderLayer::paint):
        (WebCore::RenderLayer::hitTest):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleInRegion):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::canHaveRegionStyle):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::renderObjectRegionStyle):
        (WebCore::RenderRegion::computeStyleInRegion):
        (WebCore::RenderRegion::clearObjectStyleInRegion):
        * rendering/RenderRegion.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        * rendering/RenderView.h:
        (WebCore::RenderView::currentRenderRegion):
        (WebCore::RenderView::setCurrentRenderRegion):

2012-01-13  Kenneth Russell  <kbr@google.com>

        Unreviewed build fix; added project.pbxproj changes lost in r104954.
        https://bugs.webkit.org/show_bug.cgi?id=75906

        * WebCore.xcodeproj/project.pbxproj:

2012-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        TextureMapper: Extract layer transform logic to a LayerTransform class.
        https://bugs.webkit.org/show_bug.cgi?id=76291

        Reviewed by Noam Rosenthal.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * platform/graphics/texmap/LayerTransform.cpp: Added.
        (WebCore::LayerTransform::LayerTransform):
        (WebCore::LayerTransform::setPosition):
        (WebCore::LayerTransform::setSize):
        (WebCore::LayerTransform::setAnchorPoint):
        (WebCore::LayerTransform::setFlattening):
        (WebCore::LayerTransform::setLocalTransform):
        (WebCore::LayerTransform::setChildrenTransform):
        (WebCore::LayerTransform::combined):
        (WebCore::LayerTransform::combinedForChildren):
        (WebCore::LayerTransform::combineTransforms):
        (WebCore::LayerTransform::combineTransformsForChildren):
        * platform/graphics/texmap/LayerTransform.h: Added.
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::setTransform):
        (WebCore::TextureMapperNode::computeTransformsRecursive):
        (WebCore::TextureMapperNode::collectVisibleContentsRects):
        (WebCore::TextureMapperNode::paintSelf):
        (WebCore::TextureMapperNode::compareGraphicsLayersZValue):
        (WebCore::TextureMapperNode::paintSelfAndChildren):
        (WebCore::TextureMapperNode::paintReflection):
        (WebCore::TextureMapperNode::syncCompositingStateSelf):
        * platform/graphics/texmap/TextureMapperNode.h:
        (WebCore::TextureMapperNode::TextureMapperNode):

2012-01-13  Kenneth Russell  <kbr@google.com>

        Unreviewed, build fix for unused argument warning after r104954.
        https://bugs.webkit.org/show_bug.cgi?id=75906

        Also fixed up somebody's bad merge in Source/WebCore/ChangeLog.

        * html/canvas/WebGLObject.cpp:
        (WebCore::WebGLObject::WebGLObject):

2012-01-13  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [soup] Initialize m_soupFlags in all ResourceResponse constructors.

        Rubber-stamped by Gustavo Noronha Silva.

        m_soupFlags was being initialized in two of the three ResourceResponse
        constructors, causing some trouble in
        FrameLoaderClient::dispatchDidReceiveResponse (ports which use
        ResourceRequest::setSoupMessageFlags with the response's unitialized
        flags).

        * platform/network/soup/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):

2012-01-13  Alexey Proskuryakov  <ap@apple.com>

        CFURLRef to KURL conversion shouldn't turn raw paths into file URLs
        https://bugs.webkit.org/show_bug.cgi?id=76251

        Reviewed by Dan Bernstein.

        * platform/cf/KURLCFNet.cpp: (WebCore::KURL::KURL): Removed the offending code.

2012-01-13  Konrad Piascik  <kpiascik@rim.com>

        Web Inspector: Disconnecting the front-end does not disable profiling.
        https://bugs.webkit.org/show_bug.cgi?id=76213

        Reviewed by Pavel Feldman.

        Not testable.

        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::clearFrontend):

2012-01-13  Andreas Kling  <awesomekling@apple.com>

        JSC/DOM bindings: Reduce HandleHeap churn in cacheWrapper().
        <http://webkit.org/b/76271>

        Reviewed by Darin Adler.

        Use JSC::Weak::swap() to move JSDOMWrappers into the DOMWrapperWorld's wrapper map.
        This avoids invoking the JSC::Weak copy constructor and associated HandleHeap churn.

        * bindings/js/JSDOMBinding.h:
        (WebCore::cacheWrapper):

2012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [InspectorIndexedDB] Add InspectorIndexedDBAgent and IndexedDBModel, pass database names to inspector.
        https://bugs.webkit.org/show_bug.cgi?id=76264

        Reviewed by Pavel Feldman.

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/CodeGeneratorInspector.py:
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorIndexedDBAgent.cpp: Added.
        (WebCore::InspectorIndexedDBAgent::FrontendProvider::create):
        (WebCore::InspectorIndexedDBAgent::FrontendProvider::~FrontendProvider):
        (WebCore::InspectorIndexedDBAgent::FrontendProvider::frontend):
        (WebCore::InspectorIndexedDBAgent::FrontendProvider::clearFrontend):
        (WebCore::InspectorIndexedDBAgent::FrontendProvider::FrontendProvider):
        (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
        (WebCore::InspectorIndexedDBAgent::~InspectorIndexedDBAgent):
        (WebCore::InspectorIndexedDBAgent::setFrontend):
        (WebCore::InspectorIndexedDBAgent::clearFrontend):
        (WebCore::InspectorIndexedDBAgent::restore):
        (WebCore::InspectorIndexedDBAgent::enable):
        (WebCore::InspectorIndexedDBAgent::disable):
        (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
        * inspector/InspectorIndexedDBAgent.h: Added.
        (WebCore::InspectorIndexedDBAgent::create):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::buildObjectForFrame):
        * inspector/compile-front-end.sh:
        * inspector/front-end/IndexedDBModel.js: Added.
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeFrame):
        (WebInspector.ResourceTreeFrame.prototype.get securityOrigin):
        (WebInspector.ResourceTreeFrame.prototype._navigate):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-01-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104935.
        http://trac.webkit.org/changeset/104935
        https://bugs.webkit.org/show_bug.cgi?id=76277

        Breaks AppleWin compilation (Requested by vsevik on #webkit).

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/CodeGeneratorInspector.py:
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorIndexedDBAgent.cpp: Removed.
        * inspector/InspectorIndexedDBAgent.h: Removed.
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::buildObjectForFrame):
        * inspector/compile-front-end.sh:
        * inspector/front-end/IndexedDBModel.js: Removed.
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeFrame):
        (WebInspector.ResourceTreeFrame.prototype._navigate):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [InspectorIndexedDB] Add InspectorIndexedDBAgent and IndexedDBModel, pass database names to inspector.
        https://bugs.webkit.org/show_bug.cgi?id=76264

        Reviewed by Pavel Feldman.

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/CodeGeneratorInspector.py:
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorIndexedDBAgent.cpp: Added.
        (WebCore::InspectorIndexedDBAgent::FrontendProvider::create):
        (WebCore::InspectorIndexedDBAgent::FrontendProvider::~FrontendProvider):
        (WebCore::InspectorIndexedDBAgent::FrontendProvider::frontend):
        (WebCore::InspectorIndexedDBAgent::FrontendProvider::clearFrontend):
        (WebCore::InspectorIndexedDBAgent::FrontendProvider::FrontendProvider):
        (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
        (WebCore::InspectorIndexedDBAgent::~InspectorIndexedDBAgent):
        (WebCore::InspectorIndexedDBAgent::setFrontend):
        (WebCore::InspectorIndexedDBAgent::clearFrontend):
        (WebCore::InspectorIndexedDBAgent::restore):
        (WebCore::InspectorIndexedDBAgent::enable):
        (WebCore::InspectorIndexedDBAgent::disable):
        (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
        * inspector/InspectorIndexedDBAgent.h: Added.
        (WebCore::InspectorIndexedDBAgent::create):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::buildObjectForFrame):
        * inspector/compile-front-end.sh:
        * inspector/front-end/IndexedDBModel.js: Added.
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeFrame):
        (WebInspector.ResourceTreeFrame.prototype.get securityOrigin):
        (WebInspector.ResourceTreeFrame.prototype._navigate):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2012-01-13  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Fix build when using TextureMapper with OpenGL/ES
        https://bugs.webkit.org/show_bug.cgi?id=76268

        Reviewed by Tor Arne Vestbø.

        * WebCore.pri: When the texture mapper uses OpenGL/ES, then it also relies on the
        availability of libEGL by using eglGetCurrentContext(). In that case we need to link against
        libEGL.

2012-01-13  Jochen Eisinger  <jochen@chromium.org>

        Don't artifically keep IDBDatabase objects alive if there are no references to it.
        https://bugs.webkit.org/show_bug.cgi?id=75859

        Originally, this code was added to keep the IDBDatabase object alive
        even if no reference from JavaScript to the object existed, because
        running transactions could still send events for this database
        connection. Meanwhile, transactions are marked as active DOM objects
        during their lifetime, and they keep a RefPtr to the IDBDatabase
        object, so this hack is no longer required.

        Reviewed by Tony Gentilcore.

        Test: storage/indexeddb/delete-closed-database-object.html

        * storage/IDBDatabase.cpp:
        * storage/IDBDatabase.h:

2012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        TextureMapper: Do the node transform computation when painting.
        https://bugs.webkit.org/show_bug.cgi?id=74721

        Reviewed by Noam Rosenthal.

        The transform of the node tree was built during the syncCompositingState
        step. This would cause an ASSERT with QWebView, trying to use a dirty transform
        state since the rootTextureMapperNode in QWebFramePrivate::renderCompositedLayers
        doesn't run the sync step after getting the world transform set.

        This moves the transform computation from the sync to the paint step to
        prevent making sure that the sync step has been run on all nodes before painting.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::computeTransformsRecursive):
        (WebCore::TextureMapperNode::computeTiles):
        Remove an unused variable.
        (WebCore::TextureMapperNode::paint):
        (WebCore::TextureMapperNode::syncAnimationsRecursively):
        (WebCore::TextureMapperNode::syncCompositingState):
        * platform/graphics/texmap/TextureMapperNode.h:

2012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        TextureMapper: Simplify transform manipulations.
        https://bugs.webkit.org/show_bug.cgi?id=74719

        Reviewed by Noam Rosenthal.

        - Make sure that the replica node has a complete transform and
          use it directly instead of keeping a copy in the source.
        - Apply the origin and position translation only once, on the
          target and descendants transforms.
        - Use to2dTransform() on !preserves3D layers instead of doing
          the flattening manually.
        - Remove mentions of perspective as this is handled by WebCore
          through the children transform.
        - Apply the inverse target transform on the replica only where it
          is needed in paintReflection since it uses the full transform in paintSelf.
        - Merge the base and local transforms.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::setTransform):
        (WebCore::TextureMapperNode::computeTransformsSelf):
        (WebCore::TextureMapperNode::computeAllTransforms):
        (WebCore::TextureMapperNode::paintSelf):
        (WebCore::TextureMapperNode::paintReflection):
        * platform/graphics/texmap/TextureMapperNode.h:

2012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        TextureMapper: Fix the fillsForward transform adjustment in syncAnimations.
        https://bugs.webkit.org/show_bug.cgi?id=76184

        Reviewed by Noam Rosenthal.

        Also make the intention clearer by using setTransform and setOpacity.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::syncAnimations):

2012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed inspector scripts navigator style fixes.

        * inspector/front-end/scriptsPanel.css:
        (#scripts-editor-container-tabbed-pane .tabbed-pane-header-tab):

2012-01-13  Jochen Eisinger  <jochen@chromium.org>

        Once we prepared a script element for execution, execute it, even if the script element was meanwhile removed from the dom tree.
        https://bugs.webkit.org/show_bug.cgi?id=76083

        Reviewed by Adam Barth.

        This bug was caught by the following IE Test Center test:

        http://samples.msdn.microsoft.com/ietestcenter/HTML5/show_async_test.htm?11_RemovingAsyncScript

        Test: http/tests/misc/async-script-removed.html
              http/tests/misc/async-script.html

        * dom/ScriptElement.cpp:
        * dom/ScriptElement.h:
        * dom/ScriptRunner.cpp:
        (WebCore::ScriptRunner::queueScriptForExecution):
        * html/HTMLScriptElement.cpp:
        * html/HTMLScriptElement.h:
        * svg/SVGScriptElement.cpp:
        * svg/SVGScriptElement.h:

2012-01-12  Nikolas Zimmermann  <nzimmermann@rim.com>

        Large SVG text layout performance regression in r81168
        https://bugs.webkit.org/show_bug.cgi?id=65711

        Reviewed by Antti Koivisto.

        Finish SVGTextMetricsBuilder introduction, tested in my local svg-text-performance branch.
        SVGTextMetricsBuilder has two public methods:
        a) SVGTextMetricsBuilder::measureTextRenderer(RenderSVGInlineText*)
           It will be used exclusively for non-initial, incremental layout changes. Once the inital
           text layout ran, any mutation of eg. a child text node of a <tspan>, will only trigger
           a rebuild of the layout attributes associated with the passed in renderer.

        b) SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes(RenderSVGText*, RenderSVGInlineText* stopAtLeaf, SVGCharacterDataMap& allCharactersMap)
           stopAtLeaf=0:
           This carries out the initial layout phase. It measures all characters of the whole <text> subtree, and stores the SVGTextMetrics for each character
           in the SVGTextLayoutAttributes, stored in the RenderSVGInlineText object. It requires a SVGCharacterDataMap allCharactersMap as input argument,
           which contains a HashMap<unsigned, {float x, y, dx, dy, rotate}>, which maps each character position to a set of x/y/dx/dy/rotate values.
           The SVGCharacterDataMap living in SVGTextLayoutAttributes will be filled, from the global "allCharactersMap", so that each RenderSVGInlineText only
           stores the positioning information for its children, if any.

           Note: SVGTextMetricsBuilder is not yet deployed, so this talks about the design, once everything is landed.

           stopAtLeaf!=0:
           This is never used for the initial layout phase. If the initial layout is done, and eg. a <tspan> is added to the <text> subtree, we no longer
           need to rebuild the metrics map & layout attributes for the whole tree, but only for the desired <tspan>, and its previous/next sibling, if present
           (which may be affected by the inclusion of another node inbetween them).

        SVGTextMetricsBuilder is now finished, and will be used in the next patch chunk.
        Doesn't affect any tests yet.

        * rendering/svg/SVGTextLayoutAttributes.h:
        (WebCore::SVGTextLayoutAttributes::clear):
        (WebCore::SVGCharacterData::SVGCharacterData):
        * rendering/svg/SVGTextMetricsBuilder.cpp:
        (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
        (WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair):
        (WebCore::SVGTextMetricsBuilder::advance):
        (WebCore::SVGTextMetricsBuilder::advanceSimpleText):
        (WebCore::SVGTextMetricsBuilder::advanceComplexText):
        (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
        (WebCore::MeasureTextData::MeasureTextData):
        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
        (WebCore::SVGTextMetricsBuilder::walkTree):
        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
        (WebCore::SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes):
        * rendering/svg/SVGTextMetricsBuilder.h:

2012-01-13  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: Fixing Win builders.

        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::diff):

2012-01-13  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        [EFL] Add 'Copy Image Address' to context menu.
        https://bugs.webkit.org/show_bug.cgi?id=76153

        Reviewed by Andreas Kling.

        Enables 'Copy Image Address' option to context menu in WebKit-EFL as it is enabled in GTK and QT ports.

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        (WebCore::ContextMenuController::populate):
        (WebCore::ContextMenuController::checkOrEnableIfNeeded):
        * platform/ContextMenuItem.h:
        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.cpp:
        * platform/LocalizedStrings.h:
        * platform/efl/LocalizedStringsEfl.cpp:
        (WebCore::contextMenuItemTagCopyImageUrlToClipboard):

2012-01-13  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: 32bit build fix.

        * inspector/DOMEditor.cpp:
        * inspector/DOMEditor.h:

2012-01-13  Mario Sanchez Prada  <msanchez@igalia.com>

        Unreviewed, rolling out r104905.
        http://trac.webkit.org/changeset/104905
        https://bugs.webkit.org/show_bug.cgi?id=76267

        This patch broke tests in the GTK 64bit Debug bot (Requested
        by msanchez on #webkit).

        * editing/gtk/FrameSelectionGtk.cpp:
        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):

2012-01-13  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: make HTML editing preserve node identity when node nesting level changes.
        https://bugs.webkit.org/show_bug.cgi?id=76183

        Reviewed by Yury Semikhatsky.

        Test: inspector/elements/set-outer-html-2.html

        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::patchDocument):
        (WebCore::DOMEditor::patchNode):
        (WebCore::DOMEditor::innerPatchHTMLElement):
        (WebCore::DOMEditor::innerPatchNode):
        (WebCore::DOMEditor::diff):
        (WebCore::DOMEditor::innerPatchChildren):
        (WebCore::DOMEditor::createDigest):
        (WebCore::DOMEditor::insertBefore):
        (WebCore::DOMEditor::removeChild):
        (WebCore::DOMEditor::markNodeAsUsed):
        (WebCore::DOMEditor::dumpMap):
        * inspector/DOMEditor.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setOuterHTML):

2012-01-13  Shinya Kawanaka  <shinyak@google.com>

        ShadowContentElement should be able to use query.
        https://bugs.webkit.org/show_bug.cgi?id=75302

        Reviewed by Hajime Morita.

        This patch introduces a selector to query elements in ShadowContentElement.
        This can be used instead of ShadowContentElement::shouldInclude in more sophisticated ways.

        Tests: fast/dom/shadow/shadow-contents-select-expected.html
               fast/dom/shadow/shadow-contents-select.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/SelectorQuery.cpp:
        (WebCore::SelectorDataList::SelectorDataList):
          Extracted from SelectorQueryto share codes with ShadowContentSelectorQuery.
        (WebCore::SelectorDataList::initialize):
        (WebCore::SelectorDataList::matches):
        (WebCore::SelectorDataList::queryAll):
        (WebCore::SelectorDataList::queryFirst):
        (WebCore::SelectorDataList::canUseIdLookup):
        (WebCore::SelectorDataList::execute):
        (WebCore::SelectorQuery::SelectorQuery):
        (WebCore::SelectorQuery::queryAll):
        (WebCore::SelectorQuery::queryFirst):
        * dom/SelectorQuery.h:
        (WebCore::SelectorDataList::size):
        * dom/ShadowContentElement.cpp:
        (WebCore::ShadowContentElement::select):
        (WebCore::ShadowContentElement::setSelect):
        * dom/ShadowContentElement.h:
        * dom/ShadowContentSelectorQuery.cpp: Added.
        (WebCore::ShadowContentSelectorQuery::ShadowContentSelectorQuery):
        (WebCore::ShadowContentSelectorQuery::matches):
          Returns true if Node is matched by the query.
        * dom/ShadowContentSelectorQuery.h: Copied from Source/WebCore/dom/ShadowContentElement.h.
        * dom/ShadowInclusionSelector.cpp:
        (WebCore::ShadowInclusionSelector::select):
        * dom/ShadowInclusionSelector.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLDetailsElement.cpp:
        (WebCore::summaryQuerySelector):
        (WebCore::DetailsContentElement::DetailsContentElement): Re-implemented using query.
        (WebCore::DetailsSummaryElement::DetailsSummaryElement): ditto.

2012-01-13  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Detailed heap snapshot. _calculateFlags is too slow on a large heap snapshot.
        https://bugs.webkit.org/show_bug.cgi?id=76252

        _calculateFlags speed is about 10k edges per second.
        It requires 150sec for the snapshot with 1.5m edges.
        The root of problem is var node = list.shift();
        shift() is not effective in term of memory and cpu.
        In our case it can be replaced with pop().
        Now the function works 40 times faster.

        Drive by change: if statement was reformatted a bit for better readability.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype._calculateFlags):

2012-01-13  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Chromium] JavaScriptOutlineDialog fails to open
        https://bugs.webkit.org/show_bug.cgi?id=76259

        Reviewed by Yury Semikhatsky.

        * WebCore.gypi:

2012-01-13  Kentaro Hara  <haraken@chromium.org>

        text-decorations should not be propagated to floating, absolutely or fixed
        positioned decendants
        https://bugs.webkit.org/show_bug.cgi?id=18611

        Reviewed by Darin Adler.

        Previously text-decorations were propagated to all child elements,
        but they should not be propagated to out-of-flow descendants,
        i.e. floating, absolutely or fixed positioned elements.

        The spec says "text decorations are not propagated to any out-of-flow descendants":
        http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration

        Test: fast/css/text-decoration-in-descendants.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::getTextDecorationColors):

2012-01-13  Kent Tamura  <tkent@chromium.org>

        REGRESSION (r104668): Crash in HTMLFormElement destructor if the
        document contains radio groups with the identical name.
        https://bugs.webkit.org/show_bug.cgi?id=76206

        Reviewed by Darin Adler.

        Test: fast/forms/radio/radio-group-document-destruction.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement):
        setForm(0) may register this to a document-level radio button group.
        We need to unregister this from the group because
        Document::checkedRadioButtons() is still accessible from other objects.

2012-01-13  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] ATK text-caret-moved and text-selection-changed events not being emitted
        https://bugs.webkit.org/show_bug.cgi?id=76069

        Reviewed by Martin Robinson.

        Fix bug introduced with patch for Bug 72830.

        * editing/gtk/FrameSelectionGtk.cpp:
        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
        Pass the right accessibility object associated with the current
        selection to objectFocusedAndCaretOffsetUnignored.

2012-01-13  Alexandru Chiculita  <achicu@adobe.com>

        Refactor RenderLayerBacking::paintIntoLayer and RenderLayer::paintLayer()/paintLayerContents() to avoid duplicate code
        https://bugs.webkit.org/show_bug.cgi?id=75983

        Reviewed by Simon Fraser.

        No new tests, just merging two duplicate methods.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
            This method is used only in non-composited mode, so I've moved the check for composited mode much earlier.

        (WebCore::RenderLayer::paintLayerContentsAndReflection):
            Also used just in non-composited mode, it will draw the reflection and then just call paintLayerContents.

        (WebCore::RenderLayer::paintLayerContents):
            Old method, that is now used by both composited and non-composited mode. I've added 3 more flags used to render the
            Graphics layers: Background, Foreground and Mask.

        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
            Removed all the code and delegated the work to RenderLayer::paintLayerContents.

2012-01-12  Gavin Barraclough  <barraclough@apple.com>

        Clean up putDirect (part 2)
        https://bugs.webkit.org/show_bug.cgi?id=76232

        Reviewed by Sam Weinig.

        Rename putWithAttributes to putDirectVirtual.

        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::putDirectVirtual):
        * bindings/js/JSDOMWindowShell.h:

2012-01-12  MORITA Hajime  <morrita@google.com>

        [Chromium] JSExportMacros.h should be visible.
        https://bugs.webkit.org/show_bug.cgi?id=76147

        Reviewed by Tony Chang.

        No new tests. No behavior change.

        * config.h:

2012-01-12  ChangSeok Oh  <shivamidow@gmail.com>

        Split GraphicsContext3DOpenGL into several files
        https://bugs.webkit.org/show_bug.cgi?id=75462

        Reviewed by Kenneth Russell.

        Split GraphicsContext3DOpenGL.cpp into three files, GraphicsContext3DOpenGLCommon.cpp,
        GraphicsContext3DOpenGL.cpp & GraphicsContext3DOpenGLES.cpp so that makes gles support possible
        for WebGL etc. Most of common APIs between gl and gles are in GraphicsContext3DOpenGLCommon.cpp.
        The other gl and gles specific APIs are placed apart in GraphicsContext3DOpenGL.cpp &
        GraphicsContext3DOpenGLES.cpp

        No new tests required.

        * GNUmakefile.list.am: Added GraphicsContext3DOpenGLCommon.cpp
        * Target.pri: Added GraphicsContext3DOpenGLCommon.cpp
        * WebCore.gypi: Added GraphicsContext3DOpenGLCommon.cpp
        * WebCore.xcodeproj/project.pbxproj: Added GraphicsContext3DOpenGLCommon.cpp
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::readPixels):
        (WebCore::GraphicsContext3D::renderbufferStorage):
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: Copied from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp.
        (WebCore::GraphicsContext3D::validateAttributes):
        (WebCore::GraphicsContext3D::isResourceSafe):
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
        (WebCore::GraphicsContext3D::getInternalFramebufferSize):
        (WebCore::GraphicsContext3D::activeTexture):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::blendColor):
        (WebCore::GraphicsContext3D::blendEquation):
        (WebCore::GraphicsContext3D::blendEquationSeparate):
        (WebCore::GraphicsContext3D::blendFunc):
        (WebCore::GraphicsContext3D::blendFuncSeparate):
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        (WebCore::GraphicsContext3D::checkFramebufferStatus):
        (WebCore::GraphicsContext3D::clearColor):
        (WebCore::GraphicsContext3D::clear):
        (WebCore::GraphicsContext3D::clearDepth):
        (WebCore::GraphicsContext3D::clearStencil):
        (WebCore::GraphicsContext3D::colorMask):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::cullFace):
        (WebCore::GraphicsContext3D::depthFunc):
        (WebCore::GraphicsContext3D::depthMask):
        (WebCore::GraphicsContext3D::depthRange):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::disable):
        (WebCore::GraphicsContext3D::disableVertexAttribArray):
        (WebCore::GraphicsContext3D::drawArrays):
        (WebCore::GraphicsContext3D::drawElements):
        (WebCore::GraphicsContext3D::enable):
        (WebCore::GraphicsContext3D::enableVertexAttribArray):
        (WebCore::GraphicsContext3D::finish):
        (WebCore::GraphicsContext3D::flush):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::frontFace):
        (WebCore::GraphicsContext3D::generateMipmap):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getAttachedShaders):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::getContextAttributes):
        (WebCore::GraphicsContext3D::getError):
        (WebCore::GraphicsContext3D::getString):
        (WebCore::GraphicsContext3D::hint):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isEnabled):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::isTexture):
        (WebCore::GraphicsContext3D::lineWidth):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::pixelStorei):
        (WebCore::GraphicsContext3D::polygonOffset):
        (WebCore::GraphicsContext3D::releaseShaderCompiler):
        (WebCore::GraphicsContext3D::sampleCoverage):
        (WebCore::GraphicsContext3D::scissor):
        (WebCore::GraphicsContext3D::shaderSource):
        (WebCore::GraphicsContext3D::stencilFunc):
        (WebCore::GraphicsContext3D::stencilFuncSeparate):
        (WebCore::GraphicsContext3D::stencilMask):
        (WebCore::GraphicsContext3D::stencilMaskSeparate):
        (WebCore::GraphicsContext3D::stencilOp):
        (WebCore::GraphicsContext3D::stencilOpSeparate):
        (WebCore::GraphicsContext3D::texParameterf):
        (WebCore::GraphicsContext3D::texParameteri):
        (WebCore::GraphicsContext3D::uniform1f):
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2f):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3f):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4f):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1i):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2i):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3i):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4i):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::vertexAttrib1f):
        (WebCore::GraphicsContext3D::vertexAttrib1fv):
        (WebCore::GraphicsContext3D::vertexAttrib2f):
        (WebCore::GraphicsContext3D::vertexAttrib2fv):
        (WebCore::GraphicsContext3D::vertexAttrib3f):
        (WebCore::GraphicsContext3D::vertexAttrib3fv):
        (WebCore::GraphicsContext3D::vertexAttrib4f):
        (WebCore::GraphicsContext3D::vertexAttrib4fv):
        (WebCore::GraphicsContext3D::vertexAttribPointer):
        (WebCore::GraphicsContext3D::viewport):
        (WebCore::GraphicsContext3D::getBooleanv):
        (WebCore::GraphicsContext3D::getBufferParameteriv):
        (WebCore::GraphicsContext3D::getFloatv):
        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):
        (WebCore::GraphicsContext3D::getTexParameterfv):
        (WebCore::GraphicsContext3D::getTexParameteriv):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):
        (WebCore::GraphicsContext3D::getVertexAttribfv):
        (WebCore::GraphicsContext3D::getVertexAttribiv):
        (WebCore::GraphicsContext3D::getVertexAttribOffset):
        (WebCore::GraphicsContext3D::texSubImage2D):
        (WebCore::GraphicsContext3D::compressedTexImage2D):
        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
        (WebCore::GraphicsContext3D::createBuffer):
        (WebCore::GraphicsContext3D::createFramebuffer):
        (WebCore::GraphicsContext3D::createProgram):
        (WebCore::GraphicsContext3D::createRenderbuffer):
        (WebCore::GraphicsContext3D::createShader):
        (WebCore::GraphicsContext3D::createTexture):
        (WebCore::GraphicsContext3D::deleteBuffer):
        (WebCore::GraphicsContext3D::deleteFramebuffer):
        (WebCore::GraphicsContext3D::deleteProgram):
        (WebCore::GraphicsContext3D::deleteRenderbuffer):
        (WebCore::GraphicsContext3D::deleteShader):
        (WebCore::GraphicsContext3D::deleteTexture):
        (WebCore::GraphicsContext3D::synthesizeGLError):
        (WebCore::GraphicsContext3D::markContextChanged):
        (WebCore::GraphicsContext3D::markLayerComposited):
        (WebCore::GraphicsContext3D::layerComposited):
        (WebCore::GraphicsContext3D::getExtensions):
        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: Added.
        (WebCore::GraphicsContext3D::readRenderingResults):
        (WebCore::GraphicsContext3D::reshape):
        (WebCore::GraphicsContext3D::prepareTexture):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::copyTexImage2D):
        (WebCore::GraphicsContext3D::copyTexSubImage2D):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::readPixels):
        (WebCore::GraphicsContext3D::renderbufferStorage):
        (WebCore::GraphicsContext3D::getIntegerv):
        (WebCore::GraphicsContext3D::texImage2D):

2012-01-12  Wei James  <james.wei@intel.com>

        Add vsma in VectorMath to handle vector scale multiply and add and use it in AudioBus
        https://bugs.webkit.org/show_bug.cgi?id=75835

        When summing a audio bus, the source is multiplied with the scale and
        then summed into the destination bus. Add this function to fulfill it.

        Reviewed by Kenneth Russell.

        * platform/audio/AudioBus.cpp:
        * platform/audio/VectorMath.cpp:
        (WebCore::VectorMath::vsma):
        * platform/audio/VectorMath.h:

2012-01-12  James Simonsen  <simonjam@chromium.org>

        Web Inspector: [Chomium] Resources loaded with 304 status code have receiving time of 15000 days in network panel.
        https://bugs.webkit.org/show_bug.cgi?id=76176

        Reviewed by Nate Chapin.

        No new tests. Can't trigger this with inspector tests. Will add one when the Resource Timing API is in.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didReceiveResponse): Use monotonic time.

2012-01-12  Alexey Proskuryakov  <ap@apple.com>

        NSURL to KURL conversion shouldn't turn raw paths into file URLs
        https://bugs.webkit.org/show_bug.cgi?id=76234

        Reviewed by Darin Adler.

        * platform/mac/KURLMac.mm: (WebCore::KURL::KURL): Removed this code.

2012-01-12  Anders Carlsson  <andersca@apple.com>

        Create a GraphicsLayer for the overhang areas if threaded scrolling is enabled
        https://bugs.webkit.org/show_bug.cgi?id=76220

        Reviewed by Simon Fraser.

        * page/FrameView.cpp:
        Remove PLATFORM(CHROMIUM) #ifdefs.

        * page/FrameView.h:
        Ditto.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        Ditto.

        * platform/ScrollableArea.h:
        Ditto.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
        Ditto.

        (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
        Make this return true if we have a scrolling coordinator.

        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
        Remove PLATFORM(CHROMIUM) #ifdefs. Fix a bug the overhang layer was being added above the clip layer.

        (WebCore::RenderLayerCompositor::destroyRootLayer):
        Remove PLATFORM(CHROMIUM) #ifdefs.
        
        * rendering/RenderLayerCompositor.h:
        Ditto.

2012-01-12  Kenichi Ishibashi  <bashi@chromium.org>

        Move SimpleFontDataSkia.cpp to Source/WebCore/platform/graphics/skia
        https://bugs.webkit.org/show_bug.cgi?id=76155

        Reviewed by Tony Chang.

        No new tests. No behavior change.

        * PlatformBlackBerry.cmake:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/graphics/skia/SimpleFontDataSkia.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/SimpleFontDataSkia.cpp.
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::platformCharWidthInit):
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        (WebCore::SimpleFontData::containsCharacters):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformBoundsForGlyph):
        (WebCore::SimpleFontData::platformWidthForGlyph):

2012-01-12  Benjamin Poulain  <bpoulain@apple.com>

        A Frame with frame flattening can be stuck in a state in which performPostLayoutTasks() is never executed
        https://bugs.webkit.org/show_bug.cgi?id=76154

        Reviewed by Beth Dakin.

        In a frame with inSubframeLayoutWithFrameFlattening == true, if
        -m_hasPendingPostLayoutTasks == true
        -FrameView::unscheduleRelayout() is executed
        -->the timer m_postLayoutTasksTimer is stopped
        -->no timer is scheduled due to m_hasPendingPostLayoutTasks == true && inSubframeLayoutWithFrameFlattening == true

        This patch revert the handling of the postLayoutTasks to its state prior to r66552.

        The timer itself is used as the only state to know if post layout tasks are scheduled.

        For the case without frame flattening:
        -Prior to this patch, when FrameView::unscheduleRelayout() was executed, the postLayoutTasksTimer was killed,
        and the post layout tasks would be executed during the next layout().
        -After this patch, the post layout tasks stay scheduled and are executed on the next event loop if layout()
        was not invoked before.

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::~FrameView):
        (WebCore::FrameView::reset):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::unscheduleRelayout):
        (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
        (WebCore::FrameView::performPostLayoutTasks):
        * page/FrameView.h:

2012-01-12  Yongjun Zhang  <yongjun_zhang@apple.com>

        Reviewed by Benjamin Poulain.

        https://bugs.webkit.org/show_bug.cgi?id=75991
        Make the code in MemoryPressureHandler::respondToMemoryPressure shareable.

        Move memory pressure handling code inside a new function (releaseMemory) so that
        we could shared it between mac and iOS.

        * Configurations/WebCore.xcconfig: add MemoryPressureHandlerMac.mm into iOS build.
        * platform/MemoryPressureHandler.h:
        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore::MemoryPressureHandler::respondToMemoryPressure):
        (WebCore::MemoryPressureHandler::releaseMemory):

2012-01-12  Eric Seidel  <eric@webkit.org>

        Refactor DOMImplementation.hasFeature logic into helper functions.
        https://bugs.webkit.org/show_bug.cgi?id=76212

        Reviewed by Adam Barth.

        This patch should not have any behavior change.  The goal was
        to move our feature detection towards a more modular architecture
        (as that seems to be the current trend in webkit).  In a future
        patch we could easily move the SVG feature detection into the
        SVG directory, for example.  I've also added a list of all the
        Event3 features (currently commented out) which makes it obvious
        how many we're missing.

        * dom/DOMImplementation.cpp:
        (WebCore::isSVG10Feature):
        (WebCore::isSVG11Feature):
        (WebCore::isEvents2Feature):
        (WebCore::isEvents3Feature):
        (WebCore::DOMImplementation::hasFeature):

2012-01-12  Adam Barth  <abarth@webkit.org>

        NodeIterator loses track of the reference node when the reference node is removed from the document (IETC ni_removeReferenceNode)
        https://bugs.webkit.org/show_bug.cgi?id=76146

        Reviewed by Eric Seidel.

        In the case where we're removing the reference node we can end up with
        the wrong reference node.  This patch makes sure we traverse outside of
        the removed node's subtree.

        This bug was caught by the following IE Test Center test:

        http://samples.msdn.microsoft.com/ietestcenter/domtraversal/showdomtraversaltest.htm?ni_removeReferenceNode

        Our new behavior also match Firefox.

        I experimented a bit with adding ASSERT_NOT_REACHED to various branches
        in NodeIterator::updateForNodeRemoval, and it seems our test coverage
        for this function is relatively poor.  In the future, we should
        consider adding more tests for this complicated function.

        Test: fast/dom/node-iterator-reference-node-removed.html

        * dom/NodeIterator.cpp:
        (WebCore::NodeIterator::updateForNodeRemoval):

2012-01-12  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Throw exception if IDBCursor.continue() called with key equal to current
        https://bugs.webkit.org/show_bug.cgi?id=76100

        The fix for https://bugs.webkit.org/show_bug.cgi?id=74213 missed the "or equal" clause
        in the spec.

        Reviewed by Tony Chang.

        Test: storage/indexeddb/cursor-continue.html

        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::continueFunction):

2012-01-12  Jon Lee  <jonlee@apple.com>

        Setting value on a select element to a non existing option value should clear selection
        https://bugs.webkit.org/show_bug.cgi?id=67233
        <rdar://problem/10057159>

        Reviewed by Darin Adler.

        Test: fast/forms/select/setting-to-invalid-value.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setValue): Clear the selection in the cases where we cannot
        find an option with the specified value. The spec states to clear the selectedness of all
        options first. To avoid calling setSelectedIndex() multiple times, we clear the selected
        option(s) only when don't find the appropriate option.

        Also, correct the sentence style of a comment.

2012-01-12  Jer Noble  <jer.noble@apple.com>

        Unreviewed build fix after r104858.

        NSDataReadingMappedIfSafe is not defined on <= 10.6.  Use NSDataReadingMapped on that platform instead.

        * platform/audio/mac/AudioBusMac.mm:
        (WebCore::AudioBus::loadPlatformResource):

2012-01-12  Dana Jansens  <danakj@chromium.org>

        [skia] Track a simple opaque area when painting via PlatformContextSkia and save in LayerTextureUpdater
        https://bugs.webkit.org/show_bug.cgi?id=74352

        Reviewed by Stephen White.

        New unit tests in PlatformContextSkiaTest.cpp

        * WebCore.gypi:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::drawOuterPath):
        (WebCore::drawInnerPath):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawLineForTextChecking):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::strokeRect):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::paintSkBitmap):
        * platform/graphics/skia/OpaqueRegionSkia.cpp: Added.
        (WebCore::OpaqueRegionSkia::OpaqueRegionSkia):
        (WebCore::OpaqueRegionSkia::~OpaqueRegionSkia):
        (WebCore::OpaqueRegionSkia::asRect):
        (WebCore::xfermodeIsOpaque):
        (WebCore::xfermodePreservesOpaque):
        (WebCore::paintIsOpaque):
        (WebCore::OpaqueRegionSkia::didDrawRect):
        (WebCore::OpaqueRegionSkia::didDrawPath):
        (WebCore::OpaqueRegionSkia::didDrawPoints):
        (WebCore::OpaqueRegionSkia::didDrawBounded):
        (WebCore::OpaqueRegionSkia::didDraw):
        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
        (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
        * platform/graphics/skia/OpaqueRegionSkia.h: Added.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        (WebCore::PlatformContextSkia::clippedToImage):
        (WebCore::PlatformContextSkia::drawRect):
        (WebCore::PlatformContextSkia::paintSkPaint):
        (WebCore::PlatformContextSkia::didDrawRect):
        (WebCore::PlatformContextSkia::didDrawPath):
        (WebCore::PlatformContextSkia::didDrawPoints):
        (WebCore::PlatformContextSkia::didDrawBounded):
        * platform/graphics/skia/PlatformContextSkia.h:
        (WebCore::PlatformContextSkia::setTrackOpaqueRegion):
        (WebCore::PlatformContextSkia::opaqueRegion):

2012-01-12  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=76209
        Support expanded scrollbars
        -and corresponding-
        <rdar://problem/10527734>

        Reviewed by Sam Weinig.

        All this really requires is leaving the proper amount of space for the 
        expanded width.
        * platform/mac/NSScrollerImpDetails.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::supportsExpandedScrollbars):
        (WebCore::ScrollbarThemeMac::scrollbarThickness):

2011-12-12  Jer Noble  <jer.noble@apple.com>

        WebAudio: Enable USE_CONCATENATED_IMPULSE_RESPONSES on Mac port.
        https://bugs.webkit.org/show_bug.cgi?id=74328

        Reviewed by Eric Carlson.

        No new tests; no net change in functionality.

        * WebCore.xcodeproj/project.pbxproj: Added SincResampler class, Composite.wav to the project.
            Removed IRC_*.wav resources from the project.
        * platform/audio/AudioBus.cpp:
        (WebCore::AudioBus::createBySampleRateConverting): Uncommented this function
        * platform/audio/AudioBus.h:
        * platform/audio/HRTFElevation.cpp:

2011-12-12  Jer Noble  <jer.noble@apple.com>

        WebAudio: AudioBus::loadPlatformResource should mmap file on Mac port.
        https://bugs.webkit.org/show_bug.cgi?id=74326

        Reviewed by Darin Adler.

        No new tests; no net change in functionality.

        Use NSDataReadingMappedIfSafe when reading platform audio file data.

        * platform/audio/mac/AudioBusMac.mm:
        (WebCore::AudioBus::loadPlatformResource):

2011-12-12  Jer Noble  <jer.noble@apple.com>

        WebAudio: Use Logging instead of printf.
        https://bugs.webkit.org/show_bug.cgi?id=74322

        Reviewed by Darin Adler.

        No new tests; no net change in functionality.

        Add a new WebCoreLogLevel for WebAudio, and use this new log level instead of 
        printf statements in webaudio classes.

        * platform/Logging.cpp:
        (WebCore::getChannelFromName):
        * platform/Logging.h:
        * platform/mac/LoggingMac.mm:
        (WebCore::InitializeLoggingChannelsIfNecessary):
        * platform/audio/FFTFrame.cpp:
        (WebCore::FFTFrame::print):
        * webaudio/DefaultAudioDestinationNode.cpp:
        (WebCore::DefaultAudioDestinationNode::initialize):

2012-01-12  Anders Carlsson  <andersca@apple.com>

        Make ScrollElasticityController members private
        https://bugs.webkit.org/show_bug.cgi?id=76208

        Reviewed by Andreas Kling.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::endScrollGesture):
        Call ScrollElasticityController::endScrollGesture.

        * platform/mac/ScrollElasticityController.h:
        Make members private.

        * platform/mac/ScrollElasticityController.mm:
        (WebCore::ScrollElasticityController::endScrollGesture):
        Call snapRubberBand.

        (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
        Call stopSnapRubberbandTimer.

2012-01-12  Anders Carlsson  <andersca@apple.com>

        Move wheel event handling to ScrollElasticityController::handleWheelEvent
        https://bugs.webkit.org/show_bug.cgi?id=76205

        Reviewed by Andreas Kling.

        Move the code in ScrollAnimatorMac::smoothScrollWithEvent to ScrollElasticityController::handleWheelEvent and
        change ScrollAnimatorMac::handleWheelEvent to just call ScrollElasticityController::handleWheelEvent.
        This means that we'll not set m_haveScrolledSincePageLoad = true anymore (we used to set it in ScrollAnimatorMac::smoothScrollWithEvent),
        but we already set it to true in ScrollAnimatorMac::handleWheelEvent so it already had no effect.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleWheelEvent):
        * platform/mac/ScrollElasticityController.h:
        * platform/mac/ScrollElasticityController.mm:
        (WebCore::elasticDeltaForReboundDelta):
        (WebCore::scrollWheelMultiplier):
        (WebCore::ScrollElasticityController::handleWheelEvent):

2012-01-12  Simon Fraser  <simon.fraser@apple.com>

        Borders and box masks behave incorrectly with overlapping offsets
        https://bugs.webkit.org/show_bug.cgi?id=76137

        Reviewed by Dave Hyatt.
        
        When border-image-slice sizes add up to more than the height or width
        of the border-image, the middle sections should not be rendered, per spec.
        
        Test: fast/borders/border-image-slice-constrained.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

2012-01-12  Anders Carlsson  <andersca@apple.com>

        Make all calls to pinnedInDirection go through the ScrollElasticityController
        https://bugs.webkit.org/show_bug.cgi?id=76204

        Reviewed by Andreas Kling.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):

2012-01-12  Stephen White  <senorblanco@chromium.org>

        [chromium] Re-enable Skia feColorMatrix filter implementation.
        https://bugs.webkit.org/show_bug.cgi?id=76186

        This code was landed in http://trac.webkit.org/changeset/104566 and
        partially reverted in http://trac.webkit.org/changeset/104632 due
        to problems with the Windows Shared builder.  Those problems have
        been fixed in r3006, since rolled into Chrome.

        Reviewed by Kenneth Russell.

        Covered by SVG feColorMatrix tests.

        * WebCore.gypi:
        * platform/graphics/filters/FEColorMatrix.h:

2012-01-12  Anders Carlsson  <andersca@apple.com>

        Add allowsHorizontalStretching and allowsVerticalStretching to ScrollElasticityControllerClient
        https://bugs.webkit.org/show_bug.cgi?id=76202

        Reviewed by Andreas Kling.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
        (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
        * platform/mac/ScrollElasticityController.h:

2012-01-12  Anders Carlsson  <andersca@apple.com>

        Move snapRubberBand to ScrollElasticityController
        https://bugs.webkit.org/show_bug.cgi?id=76200

        Reviewed by Andreas Kling.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorMac::endScrollGesture):
        * platform/mac/ScrollElasticityController.h:
        * platform/mac/ScrollElasticityController.mm:
        (systemUptime):
        (WebCore::ScrollElasticityController::snapRubberBand):

2012-01-12  Antti Koivisto  <antti@apple.com>

        REGRESSION(r104060): Setting user stylesheet may leave CSSStyleSelector with stale rule pointers 
        https://bugs.webkit.org/show_bug.cgi?id=76191

        Reviewed by Andreas Kling.
        
        Setting the user style sheet frees the existing user style sheet data structures. The code
        in Document::updatePageGroupUserSheets then relies on styleSelectorChanged to clear the
        style selector so it is not left with stale pointers. However under certain conditions
        involving pending stylesheets it may bail out quickly without clearing.
        
        Document::styleSelectorChanged has to take care that it never leaves the style selector stale
        even when bailing out early.

        Test: fast/css/user-stylesheet-crash.html

        * dom/Document.cpp:
        (WebCore::Document::styleSelectorChanged):

2012-01-12  Nat Duca  <nduca@chromium.org>

        [chromium] Turn off FrameRateController timesource when it is not needed
        https://bugs.webkit.org/show_bug.cgi?id=76149

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
        (WebCore::CCDelayBasedTimeSource::active):
        * platform/graphics/chromium/cc/CCFrameRateController.cpp:
        (WebCore::CCFrameRateController::setActive):
        (WebCore::CCFrameRateController::onTimerTick):
        * platform/graphics/chromium/cc/CCFrameRateController.h:
        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::CCScheduler):
        (WebCore::CCScheduler::setVisible):
        (WebCore::CCScheduler::processScheduledActions):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
        * platform/graphics/chromium/cc/CCTimeSource.h:

2012-01-12  Anders Carlsson  <andersca@apple.com>

        Move snapRubberBandTimerFired to ScrollElasticityController
        https://bugs.webkit.org/show_bug.cgi?id=76196

        Reviewed by Andreas Kling.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
        * platform/mac/ScrollElasticityController.h:
        * platform/mac/ScrollElasticityController.mm:
        (WebCore::elasticDeltaForTimeDelta):
        (WebCore::roundTowardZero):
        (WebCore::roundToDevicePixelTowardZero):
        (WebCore::ScrollElasticityController::snapRubberBandTimerFired):

2012-01-12  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Raise NON_TRANSIENT_ERR when invalid mode specified for transaction
        https://bugs.webkit.org/show_bug.cgi?id=76072

        Spec was updated to detail what should be thrown: http://www.w3.org/Bugs/Public/show_bug.cgi?id=11406

        Reviewed by Tony Chang.

        Tests: storage/indexeddb/transaction-basics.html

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::transaction):

2012-01-12  Anders Carlsson  <andersca@apple.com>

        Remove the last non-ScrollElasticityController call from ScrollAnimatorMac::snapRubberBandTimerFired
        https://bugs.webkit.org/show_bug.cgi?id=76193

        Reviewed by Andreas Kling.

        Use ScrollElasticityControllerClient::immediateScrollBy for the final scroll before the rubber-band timer stops.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):

2011-09-26  Jer Noble  <jer.noble@apple.com>

        Emit an error event when a request to enter full-screen is rejected.
        https://bugs.webkit.org/show_bug.cgi?id=62320

        Reviewed by Eric Carlson.

        Tests: fullscreen/full-screen-request-rejected.html
               fullscreen/full-screen-request-removed.html

        When a request to enter full-screen is rejected, emit an event 
        (webkitfullscreenerror) in response.  But emit the event during the next
        trip through the run-loop, like the webkitfullscreenchange event, and so a new
        timer and queue are necessary.

        * dom/Document.cpp:
        (WebCore::Document::requestFullScreenForElement): Emit the error event
            if the request does not pass all our requirements.
        * dom/Document.h: Add new ivars.
        * dom/Document.idl: Add support for setting an onfullscreenerror attribute.
        * dom/Element.h: Ditto.
        * dom/Element.idl: Ditto.
        * dom/EventNames.h: Add the name for the error event.

2012-01-12  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=76133
        ScrollAnimatorMac::mouseEnteredScrollbar() and mouseExitedScrollbar() should 
        only do stuff for legacy scrollbars
        -and corresponding-
        <rdar://problem/10603290>

        Reviewed by Sam Weinig.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):

2012-01-12  Dan Bernstein  <mitz@apple.com>

        When generating derived sources, use the same compiler that is used to compile WebCore.

        Fixes <http://webkit.org/b/76189>
        [mac] When compiling WebCore with clang, llvm-gcc is used to generate derived sources

        Reviewed by Mark Rowe.

        * DerivedSources.make: Changed to use the CC environment variable instead of hardcoded gcc.
        * WebCore.xcodeproj/project.pbxproj: Set the CC environment variable, if not already set,
        according to TARGET_GCC_VERSION. CC is used by DerivedSources.make and some of the perl
        scripts it invokes.

2012-01-12  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Unreviewed build fix after r104828.

        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore::StylePainterMobile::findComboButton):

2012-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104829.
        http://trac.webkit.org/changeset/104829
        https://bugs.webkit.org/show_bug.cgi?id=76188

        it broke qt-minimal (Requested by loislo1 on #webkit).

        * inspector/CodeGeneratorInspector.py:
        (CodeGenerator):
        (CodeGenerator.generate_type_builder):
        (CodeGenerator.generate_type_builder.AdHocTypeContext):
        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
        (CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
        (CodeGenerator.register_use):
        (RawTypesBinding):
        (RawTypesBinding.get_code_generator):
        (RawTypesBinding.get_in_c_type_text):
        (RawTypesBinding.get_setter_value_expression_pattern):
        (RawTypesBinding.reduce_to_raw_type):
        (TypeData.__init__):
        * inspector/InspectorValues.h:

2012-01-12  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: [JSC] //@ sourceURL is not respected.
        https://bugs.webkit.org/show_bug.cgi?id=65532

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/source-url-comment.html

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::findMagicComment):
        (WebCore::ContentSearchUtils::findSourceURL):
        (WebCore::ContentSearchUtils::findSourceMapURL):
        * inspector/ContentSearchUtils.h:

2012-01-12  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed trivial buildfix after r104828.

        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore::StylePainterMobile::findComboButton):

2012-01-12  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: generate array types.
        https://bugs.webkit.org/show_bug.cgi?id=75284

        Reviewed by Yury Semikhatsky.

        New classes are generated for ecah array type instance.

        * inspector/CodeGeneratorInspector.py:
        (ArrayBinding):
        (ArrayBinding.get_code_generator):
        (ArrayBinding.get_code_generator.CodeGenerator):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
        (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
        (ArrayBinding.get_code_generator.CodeGenerator.register_use):
        (ArrayBinding.get_in_c_type_text):
        (ArrayBinding.get_setter_value_expression_pattern):
        (ArrayBinding.reduce_to_raw_type):
        (RawTypeBinding):
        (RawTypeBinding.__init__):
        (RawTypeBinding.get_code_generator):
        (RawTypeBinding.get_in_c_type_text):
        (RawTypeBinding.get_setter_value_expression_pattern):
        (RawTypeBinding.reduce_to_raw_type):
        (TypeData.__init__):
        (TypeData.get_binding):
        * inspector/InspectorValues.h:

2012-01-12  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Avoid string operations in mobile theme's caching mechanism
        https://bugs.webkit.org/show_bug.cgi?id=75010

        The string operations constantly performed in the mobile theme
        to fetch or put controls in the pixmap cache can be pretty expensive.
        The new mechanism harnesses the QPixmapCache::Key API instead.

        Reviewed by Kenneth Rohde Christiansen.

        No new tests, internal refactoring.

        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore::qHash):
        (WebCore::StylePainterMobile::findCachedControl):
        (WebCore::StylePainterMobile::insertIntoCache):
        (WebCore::StylePainterMobile::findCheckBox):
        (WebCore::StylePainterMobile::drawRadio):
        (WebCore::StylePainterMobile::findRadio):
        (WebCore::StylePainterMobile::drawMultipleComboButton):
        (WebCore::StylePainterMobile::drawSimpleComboButton):
        (WebCore::StylePainterMobile::getButtonImageSize):
        (WebCore::StylePainterMobile::findComboButton):
        (WebCore::StylePainterMobile::findLineEdit):
        (WebCore::StylePainterMobile::findPushButton):
        (WebCore::StylePainterMobile::drawComboBox):
        (WebCore::StylePainterMobile::drawProgress):
        (WebCore::StylePainterMobile::drawSliderThumb):
        (WebCore::RenderThemeQtMobile::paintTextField):
        (WebCore::RenderThemeQtMobile::paintMenuList):
        * platform/qt/RenderThemeQtMobile.h:
        (WebCore::KeyIdentifier::KeyIdentifier):
        (WebCore::KeyIdentifier::operator==):

2012-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104805.
        http://trac.webkit.org/changeset/104805
        https://bugs.webkit.org/show_bug.cgi?id=76180

        Breaks apple win compilation. (Requested by vsevik on
        #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/SelectorQuery.cpp:
        (WebCore::SelectorQuery::SelectorQuery):
        (WebCore::SelectorQuery::queryAll):
        (WebCore::SelectorQuery::queryFirst):
        (WebCore::SelectorQuery::canUseIdLookup):
        (WebCore::SelectorQuery::execute):
        * dom/SelectorQuery.h:
        * dom/ShadowContentElement.cpp:
        (WebCore::ShadowContentElement::create):
        (WebCore::ShadowContentElement::ShadowContentElement):
        (WebCore::ShadowContentElement::shouldInclude):
        * dom/ShadowContentElement.h:
        * dom/ShadowContentSelectorQuery.cpp: Removed.
        * dom/ShadowContentSelectorQuery.h: Removed.
        * dom/ShadowInclusionSelector.cpp:
        (WebCore::ShadowInclusionSelector::select):
        * dom/ShadowInclusionSelector.h:
        * html/HTMLDetailsElement.cpp:
        (WebCore::DetailsContentElement::DetailsContentElement):
        (WebCore::DetailsContentElement::shouldInclude):
        (WebCore::DetailsSummaryElement::DetailsSummaryElement):
        (WebCore::DetailsSummaryElement::shouldInclude):
        * html/HTMLSummaryElement.cpp:
        (WebCore::SummaryContentElement::SummaryContentElement):
        * testing/Internals.cpp:
        (WebCore::Internals::createShadowContentElement):
        * testing/Internals.h:
        * testing/Internals.idl:

2012-01-12  Zoltan Herczeg  <zherczeg@webkit.org>

        Fix turbulence bug when stitch tiles enabled and rendered in parallel
        https://bugs.webkit.org/show_bug.cgi?id=76042

        Reviewed by Nikolas Zimmermann.

        The width / height / wrap members are used by all threads
        in the same time. The patch makes them local for all threads.

        Fixes the layout fails in svg/dynamic-updates/SVGFETurbulence*

        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::noise2D):
        (WebCore::Noise::if):
        (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
        (WebCore::FETurbulence::fillRegion):
        * platform/graphics/filters/FETurbulence.h:
        (WebCore::FETurbulence::PaintingData::PaintingData):
        (WebCore::FETurbulence::StitchData::StitchData):

2012-01-12  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: performance: restore 'log 300 messages into console' test.
        https://bugs.webkit.org/show_bug.cgi?id=76170

        It was removed in order of transition from layout tests to perf tests.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):

2012-01-12  Hans Wennborg  <hans@chromium.org>

        Speech input: Send text to correct element even if focus has changed
        https://bugs.webkit.org/show_bug.cgi?id=76071

        Reviewed by Steve Block.

        Make sure that the text from speech input ends up in the correct
        element even if focus has changed since the user clicked on it.

        Test: fast/speech/change-focus.html

        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):

2012-01-10  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: make source urls relative to source map url.
        https://bugs.webkit.org/show_bug.cgi?id=75968

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.ClosureCompilerSourceMapping):
        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
        (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):

2012-01-12  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix WebKit build after r104803, by setting ScriptCallStack.h role to private.

        * WebCore.xcodeproj/project.pbxproj:

2012-01-12  Shinya Kawanaka  <shinyak@google.com>

        ShadowContentElement should be able to use query.
        https://bugs.webkit.org/show_bug.cgi?id=75302

        Reviewed by Hajime Morita.

        This patch introduces a selector to query elements in ShadowContentElement.
        This can be used instead of ShadowContentElement::shouldInclude in more sophisticated ways.

        Tests: fast/dom/shadow/shadow-contents-select-expected.html
               fast/dom/shadow/shadow-contents-select.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/SelectorQuery.cpp:
        (WebCore::SelectorDataList::SelectorDataList):
          Extracted from SelectorQueryto share codes with ShadowContentSelectorQuery.
        (WebCore::SelectorDataList::initialize):
        (WebCore::SelectorDataList::matches):
        (WebCore::SelectorDataList::queryAll):
        (WebCore::SelectorDataList::queryFirst):
        (WebCore::SelectorDataList::canUseIdLookup):
        (WebCore::SelectorDataList::execute):
        (WebCore::SelectorQuery::SelectorQuery):
        (WebCore::SelectorQuery::queryAll):
        (WebCore::SelectorQuery::queryFirst):
        * dom/SelectorQuery.h:
        (WebCore::SelectorDataList::size):
        * dom/ShadowContentElement.cpp:
        (WebCore::selectAttr):
        (WebCore::ShadowContentElement::create):
        (WebCore::ShadowContentElement::ShadowContentElement):
        (WebCore::ShadowContentElement::select):
        * dom/ShadowContentElement.h:
        * dom/ShadowContentSelectorQuery.cpp: Added.
        (WebCore::ShadowContentSelectorQuery::ShadowContentSelectorQuery):
        (WebCore::ShadowContentSelectorQuery::matches):
          Returns true if Node is matched by the query.
        * dom/ShadowContentSelectorQuery.h: Copied from Source/WebCore/dom/ShadowContentElement.h.
        * dom/ShadowInclusionSelector.cpp:
        (WebCore::ShadowInclusionSelector::select):
        * dom/ShadowInclusionSelector.h:
        * html/HTMLDetailsElement.cpp:
        (WebCore::summaryQuerySelector):
        (WebCore::DetailsContentElement::DetailsContentElement): Re-implemented using query.
        (WebCore::DetailsSummaryElement::DetailsSummaryElement): ditto.
        * html/HTMLSummaryElement.cpp:
        (WebCore::SummaryContentElement::SummaryContentElement):
        * testing/Internals.cpp:
        (WebCore::Internals::createShadowContentElement):
        * testing/Internals.h:
        * testing/Internals.idl:

2012-01-11  Vsevolod Vlasov  <vsevik@chromium.org>

        Make default console messages line numbers consistent.
        https://bugs.webkit.org/show_bug.cgi?id=74075

        Reviewed by Pavel Feldman.

        Added default values for Console::addMessage sourceURL, lineNumber and
        callStack parameters, moved lineNumber after sourceURL.
        Made virtual method ScriptExecutionContext::addMessage private
        Added default values to ScriptExecutionContext::AddConsoleMessage sourceURL, lineNumber and
        callStack parameters, moved lineNumber after sourceURL.
        Reorder ScriptExecutionContext::logExceptionToConsole parameters, move lineNumber after sourceURL.
        Reordered sourceURL and lineNumber parameters in inspector methods.
        Made all calls to Console::addMessage() pass 0 as lineNumber by default (i.e. when line number is unknown / irrelevant).
        Unset line numbers are not printed to console in QT now.

        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
        * dom/Document.cpp:
        (WebCore::Document::logExceptionToConsole):
        (WebCore::Document::addMessage):
        * dom/Document.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
        (WebCore::ScriptExecutionContext::reportException):
        (WebCore::ScriptExecutionContext::addConsoleMessage):
        * dom/ScriptExecutionContext.h:
        * dom/UIEvent.cpp:
        (WebCore::UIEvent::warnDeprecatedLayerXYUsage):
        * dom/ViewportArguments.cpp:
        (WebCore::reportViewportWarning):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::validateInteractively):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::printWarningToConsole):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        * inspector/ConsoleMessage.h:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::enable):
        (WebCore::InspectorConsoleAgent::addMessageToConsole):
        (WebCore::InspectorConsoleAgent::stopTiming):
        (WebCore::InspectorConsoleAgent::count):
        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorConsoleInstrumentation.h:
        (WebCore::InspectorInstrumentation::addMessageToConsole):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
        * inspector/InspectorInstrumentation.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
        (WebCore::FrameLoader::checkIfRunInsecureContent):
        (WebCore::FrameLoader::reportLocalLoadFailed):
        (WebCore::FrameLoader::shouldAllowNavigation):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didReceiveResponse):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        (WebCore::ApplicationCacheGroup::didFail):
        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        (WebCore::Console::groupEnd):
        * page/Console.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessageTimerFired):
        (WebCore::DOMWindow::printErrorMessage):
        * storage/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::logErrorMessage):
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::reportMessage):
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::fail):
        (WebCore::WebSocketChannel::didFailSocketStream):
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::postConsoleMessageTask):
        (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
        * workers/SharedWorkerContext.cpp:
        (WebCore::SharedWorkerContext::logExceptionToConsole):
        * workers/SharedWorkerContext.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::logExceptionToConsole):
        (WebCore::WorkerContext::addMessage):
        (WebCore::WorkerContext::addMessageToWorkerConsole):
        * workers/WorkerContext.h:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::postConsoleMessageTask):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::XSLTProcessor::parseErrorFunc):
        * xml/XSLTProcessorQt.cpp:
        (WebCore::XSLTMessageHandler::handleMessage):

2012-01-12  Mihnea Ovidenie  <mihnea@adobe.com>

        Add RenderStyle::isPositioned() helper method
        https://bugs.webkit.org/show_bug.cgi?id=75959

        Reviewed by Tony Chang.

        No new tests since this is refactoring of existing code.
        Replace (style()->position() == AbsolutePosition || style()->position() == FixedPosition) 
        with (style()->isPositioned()).
        Replace (style()->position() != AbsolutePosition && style()->position() != FixedPosition) 
        with (!style()->isPositioned()).

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::updateBoxModelInfoFromStyle):
        (WebCore::RenderBox::offsetFromContainer):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::computeRectForRepaint):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::markContainingBlocksForLayout):
        (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
        (WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::isPositioned):

2012-01-11  KwangHyuk Kim  <hyuki.kim@samsung.com>

        [EFL] Rename parameter and variable name 'r' to 'rect' in IntRectEfl.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=76140

        Reviewed by Andreas Kling.

        No new tests : Just for change of parameter and variable name.

        * platform/graphics/efl/IntRectEfl.cpp:
        (WebCore::IntRect::IntRect):
        (WebCore::IntRect::operator Eina_Rectangle):

2012-01-11  Shinya Kawanaka  <shinyak@google.com>

        QuerySelector should not have side effect.
        https://bugs.webkit.org/show_bug.cgi?id=75298

        Reviewed by Antti Koivisto.

        Since SelectorChecker is not collecting-rules-only mode, it may set some flags in render styles
        if some pseudo types (e.g. first-of-type) are used.

        No new tests. Covered by existing tests.

        * dom/SelectorQuery.cpp:
        (WebCore::SelectorQuery::SelectorQuery):
          Made collecting rules only.

2012-01-11  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10679035> Implement font-variant-ligatures: {no-}common-ligatures
        https://bugs.webkit.org/show_bug.cgi?id=76103

        Reviewed by Sam Weinig.

        Tests: fast/css/parsing-font-variant-ligatures.html
               fast/text/font-variant-ligatures-expected.html
               fast/text/font-variant-ligatures.html

        Added support for all font-variant-ligatures values in the style system and in
        FontDescription, and made the {no-}common-ligatures value keywords control basic ligatures.
        The {no-}{discretionary,historical}-ligatures keywords have no effect on rendering at this
        time.

        font-variant-ligatures was not made part of the font shorthand property.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added code to handle
        font-variant-ligatures.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Added code to handle font-variant-ligatures.
        (WebCore::CSSParser::parseFontVariantLigatures): Added. Parses font-variant-ligatures.
        * css/CSSParser.h:
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty): Added font-variant-ligatures to the set of
        inherited properties.
        * css/CSSPropertyNames.in: Added -webkit-font-variant-ligatures.
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue): Added. Copies
        {common,discretionary,historical}LigaturesState from the parent style font description.
        (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue): Added. Sets
        {common,discretionary,historical}LigaturesState to normal.
        (WebCore::ApplyPropertyFontVariantLigatures::applyValue): Added.
        (WebCore::ApplyPropertyFontVariantLigatures::createHandler): Added.
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Added a handler for
        font-variant-ligatures.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyDeclaration): Updated for the number of properties that
        affect the font.
        (WebCore::CSSStyleSelector::applyProperty): Added CSSPropertyWebkitFontVariantLigatures to
        the switch statement, which needs to list all values in SVG-disabled builds.
        * css/CSSValueKeywords.in: Added the value keywords
        {no-}{common,discretionary,historical}-ligatures.
        * platform/graphics/Font.h:
        (WebCore::Font::typesettingFeatures): Changed to enable ligatures if common ligatures are
        enabled in the font description, disable them if they are disabled, and leave them to the
        default (determined by the text-rendering property) if they are in the normal state.
        * platform/graphics/FontDescription.h:
        (WebCore::FontDescription::FontDescription): Added initializers.
        (WebCore::FontDescription::commonLigaturesState): Added this accessor.
        (WebCore::FontDescription::discretionaryLigaturesState): Ditto.
        (WebCore::FontDescription::historicalLigaturesState): Ditto.
        (WebCore::FontDescription::setCommonLigaturesState): Ditto.
        (WebCore::FontDescription::setDiscretionaryLigaturesState): Ditto.
        (WebCore::FontDescription::setHistoricalLigaturesState): Ditto.
        (WebCore::FontDescription::operator==): Updated to compare the ligatures state members.

2012-01-11  Adrienne Walker  <enne@google.com>

        Repaint all graphics layers when their renderer offset changes
        https://bugs.webkit.org/show_bug.cgi?id=75730

        Reviewed by Simon Fraser.

        In RenderLayerBacking, only the main graphics layer gets repainted
        when the offset changes. If the offset on other graphics layers (e.g.
        the foreground layer) changes, they should get repainted as well.

        Test: compositing/geometry/foreground-offset-change.html

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::setOffsetFromRenderer):
        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
        * platform/graphics/GraphicsLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::paintContents):

2012-01-11  Scott Violet  <sky@google.com>

        [chromium] TiledLayerChromium drops invalidates that occur during
        LayerTextureUpdater::prepareToUpdate
        https://bugs.webkit.org/show_bug.cgi?id=76067

        Reviewed by James Robinson.

        Test coverage in TiledLayerChromiumTest.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):

2012-01-11  Kentaro Hara  <haraken@chromium.org>

        [JSC] Remove redundant arguments from [Supplemental] custom methods
        https://bugs.webkit.org/show_bug.cgi?id=76127

        Reviewed by Adam Barth.

        Since in JSC a callback of custom methods is non-static, we do not need
        to pass a pointer of an implementation object.

        Before (JSTestInterface.cpp):
            JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, ...)
            {
                JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
                TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
                return castedThis->supplementalStr3(impl, exec);
            }

        After (JSTestInterface.cpp):
            JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, ...)
            {
                JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
                 return castedThis->supplementalStr3(exec);  // JSTestInterface knows 'impl'.
            }

        Tests: bindings/scripts/test/TestInterface.idl
               http/tests/websocket/tests/*
               webaudio/*

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader): Previously when we specify [CustomGetter, CustomSetter], the header for
        the custom setter was not generated. This patch fixes the bug.
        (GenerateImplementation):

        * bindings/js/JSDOMWindowWebAudioCustom.cpp: Removed redundant DOMWindow* from webkitAudioContext().
        (WebCore::JSDOMWindow::webkitAudioContext):
        * bindings/js/JSDOMWindowWebSocketCustom.cpp: Removed redundant DOMWindow* from webSocket().
        (WebCore::JSDOMWindow::webSocket):

        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the test result.
        (WebCore::jsTestInterfaceSupplementalStr3):
        (WebCore::setJSTestInterfaceSupplementalStr3):
        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.

2012-01-11  Adam Barth  <abarth@webkit.org>

        iframe sandbox doesn't block autofocus (IETC automatic-feature-block-autofocus-form-control)
        https://bugs.webkit.org/show_bug.cgi?id=76120

        Reviewed by Eric Seidel.

        Test: fast/forms/no-autofocus-in-sandbox.html

        * html/HTMLFormControlElement.cpp:
        (WebCore::shouldAutofocus):
            - The HTML5 spec says that we shouldn't autofocus elements when the
              automatic features are sandboxed.

2012-01-11  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=75904
        WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all 
        the time
        -and corresponding-
        <rdar://problem/10498816>

        Reviewed by Darin Adler.

        This patch gets rid of the optional parameter called onlyUpdateScrollbars for 
        mouseMoved() and instead moves that functionality into its own function 
        called passMouseMovedEventToScrollbars().
        * WebCore.exp.in:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::mouseMoved):
        (WebCore::EventHandler::passMouseMovedEventToScrollbars):
        * page/EventHandler.h:
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseMovedEventToScrollbars):

2012-01-11  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Methods should throw TRANSACTION_INACTIVE_ERR when transaction is completed/aborted
        https://bugs.webkit.org/show_bug.cgi?id=76108

        Updated IDBDatabaseException error codes to match spec (the pre-DOM4 version),
        including updated description strings, and changed relevant store and index 
        methods to raise the expected exception type now that it is detailed in the spec.

        Reviewed by Tony Chang.

        Tests: storage/indexeddb/transaction-basics.html

        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::continueFunction):
        (WebCore::IDBCursorBackendImpl::prefetchContinue):
        * storage/IDBDatabaseException.cpp:
        * storage/IDBDatabaseException.h:
        * storage/IDBDatabaseException.idl:
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursor):
        (WebCore::IDBIndexBackendImpl::openKeyCursor):
        (WebCore::IDBIndexBackendImpl::count):
        (WebCore::IDBIndexBackendImpl::get):
        (WebCore::IDBIndexBackendImpl::getKey):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
        (WebCore::IDBObjectStoreBackendImpl::clear):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
        (WebCore::IDBObjectStoreBackendImpl::openCursor):
        (WebCore::IDBObjectStoreBackendImpl::count):

2012-01-11  Kentaro Hara  <haraken@chromium.org>

        Implement the [Supplemental] IDL for custom methods
        https://bugs.webkit.org/show_bug.cgi?id=76036

        Reviewed by Adam Barth.

        We have implemented the [Supplemental] IDL for non-custom methods in bug 75944.
        This patch implements it for custom methods. This patch modifies only CodeGeneratorV8.pm,
        since CodeGeneratorJS.pm requires no change and other code generators
        do not support custom methods.

        Test: bindings/scripts/test/TestSupplemental.idl

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):

        * bindings/scripts/test/TestSupplemental.idl: Added a custom method with the [Supplemental] IDL.

        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the test result.
        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
        (-[DOMTestInterface supplementalMethod3]):
        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.

2011-12-21  Shaw Andy  <andy.shaw@digia.com>

        Fix build issue on Windows when Qt is configured with -ltcg
        https://bugs.webkit.org/show_bug.cgi?id=75003

        Rubber-stamped by Simon Hausmann.

        * WebCore.pri:

2012-01-09  Avi Drissman  <avi@chromium.org>

        https://bugs.webkit.org/show_bug.cgi?id=75860
        [Chromium Mac] no background is drawn for input elements

        Reviewed by Eric Seidel.

        Reverts r104240 for Chromium. Unfortunately the code that uses Cocoa
        API misbehaves when built with the 10.5 SDK, so we use SPI. For now.

        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintTextField):

2012-01-11  Adam Barth  <abarth@webkit.org>

        iframe sandbox doesn't block videos from autoplaying (IETC automatic-feature-block-autoplay-video)
        https://bugs.webkit.org/show_bug.cgi?id=76111

        Reviewed by Eric Seidel.

        Test: media/no-auto-play-in-sandbox.html

        * dom/SecurityContext.h:
            - Add a flag for sandboxing automatic features, per the HTML5 spec.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState):
            - Implement requirement in the HTML5 spec to not autoplay media
              when automatic features are sandboxed.

2012-01-11  Nate Chapin  <japhet@chromium.org>

        SubresourceLoader cleanup post r100311.
        1. Simplify matching incrementRequestCount()/decrementRequestCount() calls.
        2. Remove CachedImage custom code from SubresourceLoader.
        3. Add a bunch of ASSERTs.
        4. Remove the multipart-only call to didReceiveData() from didReceiveResponse(),
           since didReceiveData() would get called immediately after anyway.
        https://bugs.webkit.org/show_bug.cgi?id=75887

        Reviewed by Adam Barth.

        No new tests, refactor only.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didReceiveResponse): Remove multipart special case, handle it in didReceiveData().
        (WebCore::SubresourceLoader::didReceiveData): Handle multipart state here, since we will receive only one
             didReceiveData() call per multipart segment, but no didFinishLoading() call.
        * loader/SubresourceLoader.h: Add a RequestCountTracker subclass to reduce complexity of ensuring we don't
            decrement request count twice on CachedResourceLoader.
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::setResponse): Move CachedImage::clear() call out of SubresourceLoader, since it's
            kind of a layering violation as is.
        * loader/cache/CachedImage.h:
        * loader/cache/CachedResource.cpp:

2012-01-11  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Version change transaction should abort if constraints fail during createIndex
        https://bugs.webkit.org/show_bug.cgi?id=76094

        Reviewed by Tony Chang.

        Test: storage/indexeddb/index-population.html

        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
        * storage/IDBIndexBackendImpl.h:
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
        * storage/IDBObjectStoreBackendImpl.cpp:

2012-01-11  Greg Billock  <gbillock@google.com>

        Switch web intents to use supplemental IDL for DOMWindow
        https://bugs.webkit.org/show_bug.cgi?id=76092

        Reviewed by Adam Barth.

        * Modules/intents/DOMWindowIntents.idl: Added.
        * WebCore.gypi:
        * page/DOMWindow.idl:

2012-01-11  Kent Tamura  <tkent@chromium.org>

        Rename HTMLInputElement::setDefaultName to setInitialName.
        https://bugs.webkit.org/show_bug.cgi?id=76039

        Reviewed by Darin Adler.

        Rename setDefaultName to setInitialName, make it protected, and add two
        assertions.

        This change should not change any behavior.

        Test: fast/forms/isindex-name.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInitialName):
        - Renamed from setDefaultName.
        - Add assertions.
        * html/HTMLInputElement.h:
        Rename setDefaultName to setInitialName, and move it to protected.
        * html/HTMLIsIndexElement.cpp:
        (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
        Update a setDefaultName callsite.
        (WebCore::HTMLIsIndexElement::parseMappedAttribute):
        A style fix.

2012-01-11  Adam Treat  <atreat@rim.com>

        https://bugs.webkit.org/show_bug.cgi?id=76088
        The common case of content type = text/plain is not optimized and the plugin database is initialized instead

        In the dom/DOMImplementation.cpp file you can find the comment that text/plain is
        optimized so that the plugin database is not loaded. Unfortunately, this has been
        regressed since the patch for http://bugs.webkit.org/show_bug.cgi?id=16815 which
        refactored a bunch of the plugin code.  Now, the plugin database is initialized
        before we handle text/plain.  This line in DOMImplementation.cpp triggers
        the plugin initialization:

                pluginData = frame->page()->pluginData();

        The case of image types != PDF and the case of HTML5 video content type are also
        not optimized to be handled before plugin initialization.

        The solution is to refactor so all of these content types are handled before
        we initialize the plugin database.

        Reviewed by Adam Treat.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):

2012-01-11  Alexandre Elias  <aelias@google.com>

        [chromium] Make Skia canvas opaque for root layer tiles
        https://bugs.webkit.org/show_bug.cgi?id=75939

        Reviewed by James Robinson.

        Skia has extra optimizations if a bitmap has the "opaque" flag -- in
        particular, it doesn't do an unnecessary memset at creation time.
        Pass down the LayerChromium's opaque flag to Skia.

        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
        (WebCore::BitmapCanvasLayerTextureUpdater::setIsNonCompositedContent):
        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::createTextureUpdater):
        * platform/graphics/chromium/LayerTextureUpdater.h:
        (WebCore::LayerTextureUpdater::setIsNonCompositedContent):
        * platform/graphics/chromium/PlatformCanvas.cpp:
        (WebCore::PlatformCanvas::PlatformCanvas):
        (WebCore::PlatformCanvas::resize):
        * platform/graphics/chromium/PlatformCanvas.h:
        (WebCore::PlatformCanvas::setOpaque):
        (WebCore::PlatformCanvas::opaque):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::setIsNonCompositedContent):

2012-01-11  Greg Billock  <gbillock@google.com>

        [Coverity] Address some uninit constructor issues in WebCore/dom
        https://bugs.webkit.org/show_bug.cgi?id=74977

        Reviewed by Ryosuke Niwa.

        * css/SelectorChecker.h:
        (WebCore::SelectorChecker::ParentStackFrame::ParentStackFrame):
        * dom/DeviceMotionData.cpp:
        (WebCore::DeviceMotionData::DeviceMotionData):
        * dom/DeviceOrientation.cpp:
        (WebCore::DeviceOrientation::DeviceOrientation):

2012-01-11  Kenneth Russell  <kbr@google.com>

        [chromium] Color profiles are incorrect for images without premultiplied alpha
        https://bugs.webkit.org/show_bug.cgi?id=75999

        Reviewed by Stephen White.

        Don't apply the color profile if the user has requested separate alpha.

        Test: fast/canvas/webgl/texture-color-profile.html

        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
        (WebCore::ImageFrame::setStatus):

2012-01-11  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][Texmap] LayoutTests/compositing/masks/masked-ancestor does not render correctly.
        https://bugs.webkit.org/show_bug.cgi?id=75910

        Reviewed by Simon Hausmann.

        Handle the mask surface correctly when drawing in two passes. Also, improve the readability
        of the code that decides whether to draw in two passes.

        LayoutTests/compositing/masks/masked-ancestor.html tests this.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::computeAllTransforms):
        (WebCore::TextureMapperNode::hasMoreThanOneTile):
        (WebCore::TextureMapperNode::paintRecursive):
        * platform/graphics/texmap/TextureMapperNode.h:

2012-01-11  Dmitry Titov  <dimich@chromium.org>

        Add new CSS enum value to a switch() in CSSStyleSelector::applyProperty() to fix compile error.
        https://bugs.webkit.org/show_bug.cgi?id=76081

        Reviewed by David Levin.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2012-01-11  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler. Prepared by Sheriff Bot. Rolling out r94902.
        http://trac.webkit.org/changeset/94902
        https://bugs.webkit.org/show_bug.cgi?id=75905

        Disagrees with general direction for WebKit, and makes
        refactoring harder (Requested by ap on #webkit).

        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::deprecatedFrameEncoding):
        * loader/DocumentWriter.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::adopt):
        (WebCore::ResourceRequestBase::copyData):
        (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
        * platform/network/ResourceRequestBase.h:

2012-01-11  Eli Fidler  <efidler@rim.com>

        Fix OpenGL dependency in CMake build system
        https://bugs.webkit.org/show_bug.cgi?id=73559

        Reviewed by Daniel Bates.

        * CMakeLists.txt:
        * PlatformEfl.cmake:

2012-01-11  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Use HashMap<OwnPtr> for RenderBoxRegionInfo map in RenderRegion
        https://bugs.webkit.org/show_bug.cgi?id=75348

        Reviewed by Darin Adler.

        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::logicalWidthChangedInRegions): use OwnPtr.
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::setRenderBoxRegionInfo): use HashMap::add() instead of
        get() potentially followed by set().
        (WebCore::RenderRegion::takeRenderBoxRegionInfo): change to return PassOwnPtr.
        (WebCore::RenderRegion::removeRenderBoxRegionInfo):
        (WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
        * rendering/RenderRegion.h:

2012-01-11  Joel Webber  <jgw@google.com>

        Implement setCurrentTime() and pauseAnimations() on SVGSVGElement
        https://bugs.webkit.org/show_bug.cgi?id=12073

        Reviewed by Nikolas Zimmermann.

        Adds the ability to reset an SVGSMILElement internally. SVGSMILElements are no longer removed
        from their containers when they become inactive, because they sometimes have to be reactivated
        when the container's current time is changed.

        Test: svg/animations/animate-setcurrenttime.html

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::setCurrentTime):
        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::SMILTimeContainer):
        (WebCore::SMILTimeContainer::begin):
        (WebCore::SMILTimeContainer::pause):
        (WebCore::SMILTimeContainer::setElapsed):
        (WebCore::SMILTimeContainer::updateAnimations):
        * svg/animation/SMILTimeContainer.h:
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::reset):
        * svg/animation/SVGSMILElement.h:

2012-01-11  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: fix codestyle of generated enums
        https://bugs.webkit.org/show_bug.cgi?id=76062

        Reviewed by Yury Semikhatsky.

        This only changes how constants are named in generated .h file.

        * inspector/CodeGeneratorInspector.py:

2012-01-11  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: "undefined" instead of error message in the SourceFrame.
        https://bugs.webkit.org/show_bug.cgi?id=76060

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
        (WebInspector.ConsoleMessageImpl.prototype.get message):

2012-01-11  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: make setOuterHTML use new DOMEditor, cover it with tests.
        https://bugs.webkit.org/show_bug.cgi?id=76056

        Reviewed by Yury Semikhatsky.

        Test: inspector/elements/set-outer-html.html

        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::Digest::Digest):
        (WebCore::DOMEditor::patchDocument):
        (WebCore::DOMEditor::patchNode):
        (WebCore::DOMEditor::innerPatchHTMLElement):
        (WebCore::DOMEditor::innerPatchNode):
        (WebCore::DOMEditor::diff):
        (WebCore::DOMEditor::innerPatchChildren):
        (WebCore::DOMEditor::createDigest):
        * inspector/DOMEditor.h:
        * inspector/Inspector-0.1.json:
        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setOuterHTML):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.DOMNode.prototype._renumber):
        * inspector/front-end/ElementsTreeOutline.js:
        ():

2012-01-10  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: introduce "source" column in the CSS profiler.
        https://bugs.webkit.org/show_bug.cgi?id=75378

        Reviewed by Pavel Feldman.

        Rules are no longer merged by their selectors but are shown one per profile entry, with a link to
        their selector in the source whenever the latter is available.

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::RuleMatchingStats::RuleMatchingStats):
        (WebCore::SelectorProfile::makeKey):
        (WebCore::SelectorProfile::startSelector):
        (WebCore::SelectorProfile::commitSelector):
        (WebCore::SelectorProfile::commitSelectorTime):
        (WebCore::SelectorProfile::toInspectorObject):
        (WebCore::InspectorCSSAgent::willMatchRule):
        (WebCore::InspectorCSSAgent::willProcessRule):
        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::styleSheetURL):
        (WebCore::InspectorStyleSheet::finalURL):
        (WebCore::InspectorStyleSheet::setRuleSelector):
        * inspector/InspectorStyleSheet.h:
        * inspector/front-end/CSSSelectorProfileView.js:
        (WebInspector.CSSSelectorDataGridNode.prototype.get rawData):
        (WebInspector.CSSSelectorDataGridNode.prototype.createCell):
        (WebInspector.CSSSelectorProfileView):
        (WebInspector.CSSSelectorProfileView.prototype._createProfileNodes):
        (WebInspector.CSSSelectorProfileView.prototype._sortProfile.sourceComparator):
        (WebInspector.CSSSelectorProfileView.prototype._sortProfile):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.sidebarResized):
        * inspector/front-end/dataGrid.css:
        (.data-grid:focus tr.selected a):

2012-01-11  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: generate enum types.
        https://bugs.webkit.org/show_bug.cgi?id=74954

        Reviewed by Yury Semikhatsky.

        Internal map of string contants is created. C enums are created for
        each JSON enum.

        * inspector/CodeGeneratorInspector.py:
        (EnumConstants.add_constant):
        (EnumConstants):
        (EnumConstants.get_enum_constant_code):
        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
        (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
        (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
        (TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
        (TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
        (get_in_c_type_text):
        (get_setter_value_expression_pattern):
        (PlainObjectBinding.get_in_c_type_text):
        (PlainObjectBinding.get_setter_value_expression_pattern):
        (RawTypesBinding.get_in_c_type_text):
        (RawTypesBinding.get_setter_value_expression_pattern):
        (get_annotated_type_text):
        (MethodGenerateModes.get_modes):
        (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
        (MethodGenerateModes.StrictParameterMode):
        (MethodGenerateModes.StrictParameterMode.get_setter_value_expression):
        (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
        (MethodGenerateModes.RawParameterMode):
        (MethodGenerateModes.RawParameterMode.get_setter_value_expression):
        (MethodGenerateModes.CombinedMode.get_c_param_type_text):
        (MethodGenerateModes):
        (MethodGenerateModes.CombinedMode):
        (MethodGenerateModes.CombinedMode.get_setter_value_expression):

2012-01-11  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Avoid separate heap allocation for each RenderRegionRange in RenderFlowThread
        https://bugs.webkit.org/show_bug.cgi?id=75908

        Reviewed by Darin Adler.

        There's no benefit in explicit allocating RenderRegionRange in the heap. So this
        patch changes the RenderRegionRangeMap to use the value type directly instead of
        the pointer.

        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::removeRegionFromThread):
        (WebCore::RenderFlowThread::layout):
        (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
        (WebCore::RenderFlowThread::setRegionRangeForBox):
        (WebCore::RenderFlowThread::getRegionRangeForBox):
        * rendering/RenderFlowThread.h: add default constructor to act as emptyValue()
        for HashMap.

2012-01-09  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Shaders] Move CustomFilterOperation to the platform layer
        https://bugs.webkit.org/show_bug.cgi?id=74652

        Reviewed by Chris Marrin.

        FilterOperations are now part of the platform code and cannot reference style classes directly, but
        CustomFilterOperation requires to link to the CachedShader for the vertex and the fragment shader.
        
        The fix is to introduce another object that will actually keep a link to the cached resources, so in this patch 
        I'm adding a new class called CustomFilterProgram that will sit in the
        platform/graphics/filters directory and will be referenced from CustomFilterOperation.

        CustomFilterProgram is the base class of StyleCustomFilterProgram that is created from 
        CSSStyleSelector when a new CustomFilterOperation is created. StyleCustomFilterProgram is responsible
        with loading and keeping references to the StyleCachedShaders and the CachedShaders.

        More patches will follow with optimizations about reusing 3D graphics contexts and compiled shaders.

        Tests: css3/filters/custom-filter-shader-cache.html
               css3/filters/missing-custom-filter-shader.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::loadPendingShaders):
        (WebCore::CSSStyleSelector::createCustomFilterOperation):
            Updated to use the StyleCustomFilterProgram instead of the CustomFilterOperation.
        
        * platform/graphics/filters/CustomFilterOperation.h: Renamed from Source/WebCore/rendering/style/CustomFilterOperation.h.
        (WebCore::CustomFilterOperation::create):
            Accepts a CustomFilterProgram instead of vertex and fragment CachedShaders.
            
        (WebCore::CustomFilterOperation::program): Returns the CustomFilterProgram.
        
        (WebCore::CustomFilterOperation::CustomFilterOperation):
            Accepts a CustomFilterProgram instead of vertex and fragment CachedShaders.
            
        * platform/graphics/filters/CustomFilterProgram.cpp: Added.
        (WebCore::CustomFilterProgram::CustomFilterProgram):
        (WebCore::CustomFilterProgram::~CustomFilterProgram):
        (WebCore::CustomFilterProgram::addClient):
        (WebCore::CustomFilterProgram::removeClient):
        (WebCore::CustomFilterProgram::notifyClients):
        (WebCore::CustomFilterProgram::createShaderWithContext):
        * platform/graphics/filters/CustomFilterProgram.h: Added.
        * platform/graphics/filters/CustomFilterProgramClient.h: Added.
        (WebCore::CustomFilterProgramClient::~CustomFilterProgramClient):
        
        * platform/graphics/filters/FECustomFilter.cpp:
            FECustomFilter will not use strings anymore. It will just get a reference to the CustomFilterProgram.
        
        (WebCore::FECustomFilter::FECustomFilter):
        (WebCore::FECustomFilter::create):
        (WebCore::FECustomFilter::initializeContext):
            Using the CustomFilterProgram to generate the CustomFilterShader instance. A better name for CustomFilterShader
            would be CustomFilterCompiledProgram, but I would prefer to make that change in a different patch.
        
        * platform/graphics/filters/FECustomFilter.h:
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::build):
        (WebCore::FilterEffectRenderer::notifyCustomFilterProgramLoaded):
        (WebCore::FilterEffectRenderer::removeCustomFilterClients):
        * rendering/FilterEffectRenderer.h:
        * rendering/style/StyleCustomFilterProgram.h: Added.
        (WebCore::StyleCustomFilterProgram::create):
        (WebCore::StyleCustomFilterProgram::setVertexShader):
        (WebCore::StyleCustomFilterProgram::vertexShader):
        (WebCore::StyleCustomFilterProgram::setFragmentShader):
        (WebCore::StyleCustomFilterProgram::fragmentShader):
        (WebCore::StyleCustomFilterProgram::vertexShaderString):
        (WebCore::StyleCustomFilterProgram::fragmentShaderString):
        (WebCore::StyleCustomFilterProgram::isLoaded):
        (WebCore::StyleCustomFilterProgram::willHaveClients):
        (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
        (WebCore::StyleCustomFilterProgram::notifyFinished):
        (WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram):

2012-01-11  Alexandru Chiculita  <achicu@adobe.com>

        CSS Filters: apply the filters in RenderLayerBacking::paintIntoLayer when filters cannot be composited in hardware
        https://bugs.webkit.org/show_bug.cgi?id=75842

        Reviewed by Simon Fraser.

        RenderLayers have two possible states: composited or not. When composited the RenderLayerBacking::paintIntoLayer is used
        to render the result inside the graphics context of the GraphicsLayer. When not composited the RenderLayer::paintLayer method will draw
        the result in the graphics context of the parent layer. 

        Because a recent patch forced creation of composited layers for filters, this patch makes RenderLayerBacking::paintIntoLayer aware
        that it might need to apply the filters when the composition engine failed to apply them in platform code.

        No new tests needed, I've just updated some of the old tests to force disable the accelerated composition
        so that we can still test software painted filters.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::clearFilters):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setFilters):
            If filtersCanBeComposited() is false we need to reset the CoreAnimation layer to remove any previously applied filter.
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::filtersCanBeComposited):
            Added grayscale, brightness and contrast in the list of not accelerated filters. Otherwise an assert if triggered.
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::updateBackingStore):
            Moved this method from RenderLayer::updateFilterBackingStore. It had no dependencies on RenderLayer.
        (WebCore::FilterEffectRendererHelper::beginFilterEffect):
        (WebCore::FilterEffectRendererHelper::applyFilterEffect):
            Consolidated the filter rendering inside this helper class that is now used in both RenderLayerBacking::paintIntoLayer and RenderLayer::paintLayer.
        * rendering/FilterEffectRenderer.h:
        (WebCore::FilterEffectRendererHelper::FilterEffectRendererHelper):
        (WebCore::FilterEffectRendererHelper::haveFilterEffect):
        (WebCore::FilterEffectRendererHelper::hasStartedFilterEffect):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
            Filters should apply after the opacity is applied, so I moved this down to paintLayerContents.
        (WebCore::RenderLayer::paintLayerContents):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::filter):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
            Added software fallback rendering of the filters on composited RenderLayers.

2012-01-11  Jochen Eisinger  <jochen@chromium.org>

        Move the check for canExecuteScripts out of V8Proxy::retrieve
        https://bugs.webkit.org/show_bug.cgi?id=75533

        Reviewed by Adam Barth.

        This change doesn't move the check to custom/generated bindings for
        individual objects, as these won't get executed if scripts are disabled
        anyway.

        No new tests. No functional change.

        * bindings/v8/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::addListener):
        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::restore):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/V8EventListener.cpp:
        (WebCore::V8EventListener::callListenerFunction):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::callListenerFunction):
        (WebCore::V8LazyEventListener::prepareListenerObject):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::handleOutOfMemory):
        (WebCore::V8Proxy::retrieve):
        (WebCore::toV8Context):

2012-01-11  Kentaro Hara  <haraken@chromium.org>

        ShouldSkipTypeInHeader() and ShouldSkipTypeInImplementation() should be the same
        https://bugs.webkit.org/show_bug.cgi?id=76030

        Reviewed by Adam Barth.

        Because the attributes/methods that do not appear in the implementation
        do not need to appear in the header.

        Tests: bindings/scripts/test/TestCallback.idl
               bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGeneratorCPP.pm:
        (ShouldSkipType): Renamed from ShouldSkipTypeInImplementation().
        (GenerateHeader): Replaced ShouldSkipTypeInImplementation() with ShouldSkipType(),
        and replaced ShouldSkipTypeInHeader() with ShouldSkipType().
        (GenerateImplementation): Ditto.
        * bindings/scripts/test/CPP/WebDOMTestCallback.h: Updated the test result.
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.

2012-01-11  Zoltan Herczeg  <zherczeg@webkit.org>

        Fix more style errors in CSSParser.cpp (followup patch)
        https://bugs.webkit.org/show_bug.cgi?id=76038

        Reviewed by Nikolas Zimmermann.

        The previous was: http://trac.webkit.org/changeset/104576
        This patch mostly contains C cast to static_cast rewrites.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseBackgroundColor):
        (WebCore::ShadowParseContext::commitLength):
        (WebCore::BorderImageSliceParseContext::commitNumber):
        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
        (WebCore::BorderImageQuadParseContext::commitNumber):
        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
        (WebCore::parseDeprecatedGradientPoint):

2012-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix release builds.

        * rendering/svg/SVGTextMetricsBuilder.cpp:
        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):

2012-01-11  Kentaro Hara  <haraken@chromium.org>

        REGRESSION(r101445): [V8] Generated code for custom getters and setters
        with the [Supplemental] IDL is wrong
        https://bugs.webkit.org/show_bug.cgi?id=76034

        Reviewed by Adam Barth.

        This patch fixes the class name of the implementation of custom getters
        and setters, as follows.

        Previous V8TestInterface.cpp:
            // Attribute 'supplementalStr3'
            {"supplementalStr3", V8TestSupplemental::supplementalStr3AccessorGetter, V8TestSupplemental::supplementalStr3AccessorSetter, ...},

        New V8TestInterface.cpp:
            // Attribute 'supplementalStr3'
            {"supplementalStr3", V8TestInterface::supplementalStr3AccessorGetter, V8TestInterface::supplementalStr3AccessorSetter, ...},

        Test: bindings/scripts/test/TestInterface.idl
              bindings/scripts/test/TestSupplemental.idl

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateSingleBatchedAttribute):
        * bindings/scripts/test/V8/V8TestInterface.cpp:

2012-01-10  Nikolas Zimmermann  <nzimmermann@rim.com>

        Large SVG text layout performance regression in r81168
        https://bugs.webkit.org/show_bug.cgi?id=65711

        Reviewed by Zoltan Herczeg.

        Introduce SVGTextMetricsBuilder, which will be used to speed-up measuring of SVG text,
        by using the simple code path, whenever possibly. It's not enabled yet, as it requires
        a restructurization of SVGTextLayoutAttributesBuilder - its the first chunk of a set
        of patches, that all together fix the performance regression and much more :-)

        Doesn't affect any tests, SVGTextMetricsBuilder is not turned on yet.

        * CMakeLists.txt: Add SVGTextMetricsBuilder.cpp/h to build.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * platform/graphics/Font.h:
        (WebCore::Font::codePath): Make it public, to be usable from SVGTextMetricsBuilder.
        * rendering/svg/RenderSVGAllInOne.cpp: Add SVGTextMetricsBuilder.cpp to build.
        * rendering/svg/RenderSVGText.cpp:
        * rendering/svg/RenderSVGText.h:
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): SVGTextMetrics::emptyMetrics() is gone, adapt code.
        * rendering/svg/SVGTextLayoutEngine.cpp:
        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics): Ditto.
        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): Ditto.
        * rendering/svg/SVGTextMetrics.cpp:
        (WebCore::SVGTextMetrics::SVGTextMetrics): Made public, now used in SVGTextLayoutEngine.
        (WebCore::SVGTextMetrics::constructTextRun): Move to public static function, to be usable from SVGTextMetricsBuilder.
        * rendering/svg/SVGTextMetrics.h:
        (WebCore::SVGTextMetrics::isEmpty): Add new isEmpty method, which replaces the == empyMetrics().
        (WebCore::SVGTextMetrics::setWidth): Remove friendship with SVGTextLayoutAttributesBuilder, and make it public, to avoid another friendship.
        * rendering/svg/SVGTextMetricsBuilder.cpp: Added.
        (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
        (WebCore::SVGTextMetricsBuilder::advance):
        (WebCore::SVGTextMetricsBuilder::advanceSimpleText): New variant using WidthIterator directly, this is finally possible as SVG Fonts have been integrated into the glyph pages concept a while ago.
        (WebCore::SVGTextMetricsBuilder::advanceComplexText): Complex code path, accounting for sum of glyph widths != run width.
        (WebCore::SVGTextMetricsBuilder::measureTextRenderer): Either measure the text renderer, or just figure out lastCharacter.
        (WebCore::SVGTextMetricsBuilder::walkTreeUntilSpecificLeafIsReached): Walks SVG <text> tree, correctly computing "lastCharacter" until the leaf is reached.
        (WebCore::SVGTextMetricsBuilder::measureAllCharactersOfRenderer): Use above method.
        * rendering/svg/SVGTextMetricsBuilder.h: Added.

2012-01-11  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10674686> Implement the font-kerning CSS property
        https://bugs.webkit.org/show_bug.cgi?id=76033

        Reviewed by Darin Adler.

        Tests: fast/text/font-kerning-expected.html
               fast/text/font-kerning.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added code to handle
        font-kerning.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Ditto.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added mapping from FontDescription::Kerning.
        (WebCore::CSSPrimitiveValue::operator FontDescription::Kerning): Added mapping to
        FontDescription::Kerning.
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty): Added font-kerning to the set of inherited
        properties.
        * css/CSSPropertyNames.in: Added -webkit-font-kerning.
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Added a handler for font-kerning.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyDeclaration): Updated for the number of properties that
        affect the font.
        * platform/graphics/Font.h:
        (WebCore::Font::typesettingFeatures): Changed to enable kerning if font-kerning is set to
        normal, disable it if font-kerning is set to none, and leave it to the default (determined
        by the text-rendering property) if font-kerning is set to auto.
        * platform/graphics/FontDescription.h:
        (WebCore::FontDescription::FontDescription): Added a Kerning enum.
        (WebCore::FontDescription::kerning): Added this getter.
        (WebCore::FontDescription::setKerning): Added this setter.
        (WebCore::FontDescription::operator==): Updated to compare the m_kerning member.

2012-01-10  Ryosuke Niwa  <rniwa@webkit.org>

        Build fix. Forgot to revert Node.h.

        * dom/Node.h:

2012-01-10  Ryosuke Niwa  <rniwa@webkit.org>

        Revert r104210. It turned out that this patch makes improving the node list caches harder.

        * dom/Attr.cpp:
        (WebCore::Attr::setValue):
        (WebCore::Attr::childrenChanged):
        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
        (WebCore::DynamicSubtreeNodeList::length):
        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::item):
        (WebCore::DynamicSubtreeNodeList::invalidateCache):
        (WebCore::DynamicSubtreeNodeList::Caches::create):
        (WebCore::DynamicSubtreeNodeList::Caches::reset):
        * dom/DynamicNodeList.h:
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):
        * dom/Node.cpp:
        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
        (WebCore::Node::notifyLocalNodeListsLabelChanged):
        (WebCore::Node::itemTypeAttributeChanged):
        (WebCore::NodeListsNodeData::invalidateCaches):
        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
        * dom/NodeRareData.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::parseMappedAttribute):
        * html/HTMLLabelElement.h:

2012-01-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104263 and r104381.
        http://trac.webkit.org/changeset/104263
        http://trac.webkit.org/changeset/104381
        https://bugs.webkit.org/show_bug.cgi?id=76029

        Preparation to rollout r104210 (Requested by rniwa on
        #webkit).

        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache):
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache):
        (WebCore::DynamicSubtreeNodeList::length):
        (WebCore::DynamicSubtreeNodeList::item):
        * dom/DynamicNodeList.h:
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid):
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid):
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent):

2012-01-10  David Kilzer  <ddkilzer@apple.com>

        Add TestWebKitAPI tests for KURL
        <http://webkit.org/b/75774>

        Reviewed by Adam Barth.

        * WebCore.exp.in: Export additional KURL methods used in
        testing.

2012-01-10  Jer Noble  <jer.noble@apple.com>

        Crash in HTMLMediaElement::shouldDisableSleep()
        https://bugs.webkit.org/show_bug.cgi?id=76025

        Reviewed by Dan Bernstein.

        Check nullity of m_player before dereferencing.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::shouldDisableSleep):

2012-01-04  Kent Tamura  <tkent@chromium.org>

        A radio button not in a document should not join a radio button group
        https://bugs.webkit.org/show_bug.cgi?id=45719

        Reviewed by Darin Adler.

        As per the standard and other browser behaviors, we should not add a
        radio button not in a document to a radio button group.

        So, CheckedRadioButton member functions should be called in
        insertedIntoDocument() and removedFromDocument(), and they should do
        nothing if the specified radio button is not in a document.

        This change also fixes a bug that form owner change by 'form' attribute
        didn't update radio button groups correctly.

        Test: fast/forms/radio/radio-group.html

        * dom/CheckedRadioButtons.cpp:
        (WebCore::shouldMakeRadioGroup): A helper function to check <input> state.
        (WebCore::CheckedRadioButtons::addButton):
        - Change the argument type: HTMLFormControlElement* -> HTMLInputElement*.
        - Use shouldMakeRadioGroup().
        (WebCore::CheckedRadioButtons::removeButton): ditto.
        * dom/CheckedRadioButtons.h:
         Change the argument types of addButton() and removeButton():
         HTMLFormControlElement* -> HTMLInputElement*.
        * html/FormAssociatedElement.cpp:
         Do not update m_form except in setForm() and formWillBeDestroyed().
         This helps us to call registerFormElement() and removeFromElement()
         correctly, and call willChangeForm()/didChangeForm() hooks correctly.
        (WebCore::FormAssociatedElement::FormAssociatedElement):
        (WebCore::FormAssociatedElement::~FormAssociatedElement):
        (WebCore::FormAssociatedElement::insertedIntoTree):
        (WebCore::FormAssociatedElement::removedFromTree):
        (WebCore::FormAssociatedElement::setForm):
        (WebCore::FormAssociatedElement::willChangeForm):
        This virtual function is called before the owner form is updated.
        (WebCore::FormAssociatedElement::didChangeForm):
        This virtual function is called after the owner form was updated.
        (WebCore::FormAssociatedElement::formWillBeDestroyed):
        - Renamaed from formDestroyed()
        - Add calls to willChangeForm() and didChangeForm().
        (WebCore::FormAssociatedElement::resetFormOwner): Use setForm().
        (WebCore::FormAssociatedElement::formAttributeChanged): ditto.
        * html/FormAssociatedElement.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::HTMLFormControlElement): Use setForm().
        (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
        removeFormElement() is not needed. ~FormAssociatedElement() treats it.
        (WebCore::HTMLFormControlElement::parseMappedAttribute):
        No need to handle CheckedRadioButtons here. It is handled by HTMLInputElement.
        (WebCore::HTMLFormControlElement::insertedIntoTree): ditto.
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::~HTMLFormElement):
         Rename formDestroyed() with willDestroyForm().
        (WebCore::HTMLFormElement::registerFormElement):
        We don't need to handle radio button groups here.
        (WebCore::HTMLFormElement::removeFormElement): ditto.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement):
        Calls setForm(0) so that it calls correct virtual functions of
        HTMLInputElement.
        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
        Checking attached() was wrong.
        (WebCore::HTMLInputElement::willChangeForm):
        Remove this radio button from a radio button group for the old form.
        (WebCore::HTMLInputElement::didChangeForm):
        Add this radio button to a radio button group for the new form.
        (WebCore::HTMLInputElement::insertedIntoDocument):
        Add CheckedRadioButtons::addButton() call.
        (WebCore::HTMLInputElement::removedFromDocument):
        Add CheckedRadioButtons::removeButton() call.
        (WebCore::HTMLInputElement::didMoveToNewDocument):
        We don't need to handle CheckedRadioButton() here because
        removedFromDocument() handles it.
        * html/HTMLInputElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::HTMLObjectElement): Use setForm().
        (WebCore::HTMLObjectElement::~HTMLObjectElement):
        removeFormElement() is not needed. ~FormAssociatedElement() treats it.

2012-01-10  Kentaro Hara  <haraken@chromium.org>

        Remove redundant code from DOMWindowSQLDatabase.cpp
        https://bugs.webkit.org/show_bug.cgi?id=76010

        Reviewed by Adam Barth.

        This patch removes redundant code from DOMWindowSQLDatabase.cpp.

        - Remove window->frame() check, since window->frame() is always true when
          window->isCurrentlyDisplayedInFrame() is true.
        - window->frame()->document() can just be window->document()

        Tests: storage/open-database-creation-callback-isolated-world.html
               storage/open-database-creation-callback.html
               storage/open-database-empty-version.html
               storage/open-database-over-quota.html
               storage/open-database-set-empty-version.html
               storage/open-database-while-transaction-in-progress.html

        * storage/DOMWindowSQLDatabase.cpp:
        (WebCore::DOMWindowSQLDatabase::openDatabase):

2012-01-10  Dale Curtis  <dalecurtis@chromium.org>

        Repaint video controls when buffering during pause.
        https://bugs.webkit.org/show_bug.cgi?id=73957

        Pipes support for a new bufferingProgressed() method on MediaControls
        elements. Allows controls to be repainted as data buffers when paused.

        Reviewed by Hajime Morita.

        Test: http/tests/media/video-buffering-repaints-controls.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setNetworkState):
        (WebCore::HTMLMediaElement::progressEventTimerFired):
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::bufferingProgressed):
        * html/shadow/MediaControlRootElement.h:
        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::bufferingProgressed):
        * html/shadow/MediaControlRootElementChromium.h:
        * html/shadow/MediaControls.h:

2012-01-10  Daniel Cheng  <dcheng@chromium.org>

        [chromium] Pasteboard::documentFragment should fall back to text if there's no HTML text
        https://bugs.webkit.org/show_bug.cgi?id=75923

        Reviewed by Tony Chang.

        Test: editing/pasteboard/pasting-empty-html-falls-back-to-text.html

        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::documentFragment):

2012-01-10  Kentaro Hara  <haraken@chromium.org>

        Use the [Supplemental] IDL in SQLDatabase
        https://bugs.webkit.org/show_bug.cgi?id=76004

        Reviewed by Adam Barth.

        We've been working on WebKit modularization. By using the [Supplemental] IDL,
        we can move SQLDatabase related code from WebCore/page/DOMWindow.{h,cpp,idl}
        to WebCore/storage/DOMWindowSQLDatabase.{h,cpp,idl}.

        Tests: storage/open-database-creation-callback-isolated-world.html
               storage/open-database-creation-callback.html
               storage/open-database-empty-version.html
               storage/open-database-over-quota.html
               storage/open-database-set-empty-version.html
               storage/open-database-while-transaction-in-progress.html

        * CMakeLists.txt: Added DOMWindowSQLDatabase.{idl,h,cpp} to the build script.
        * DerivedSources.make: Ditto.
        * DerivedSources.pri: Ditto.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * page/DOMWindow.cpp: Removed SQLDatabase related code.
        * page/DOMWindow.idl: Ditto.
        * page/DOMWindow.h: Ditto. Moved isCurrentlyDisplayedInFrame() from private: to public:
        so that DOMWindowSQLDatabase::openDatabase() can access it.

        * storage/DOMWindowSQLDatabase.cpp: Added. Moved openDatabase() from DOMWindow.cpp to here.
        (WebCore::DOMWindowSQLDatabase::openDatabase):
        * storage/DOMWindowSQLDatabase.h: Added. Moved openDatabase() from DOMWindow.h to here.
        * storage/DOMWindowSQLDatabase.idl: Added. Using the [Supplemental] IDL, moved openDatabase()
        and SQLException from DOMWindow.idl to here.

2012-01-10  Chris Marrin  <cmarrin@apple.com>

        CIFilter version of Sepia Tone filter doesn't match software
        https://bugs.webkit.org/show_bug.cgi?id=75129

        Reviewed by Simon Fraser.

        Changed sepia tone filter to use a CIColorMatrix filter with
        values that match sw filter.

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (interp):
        (PlatformCALayer::setFilters):

2012-01-10  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        [Qt][WK2]REGRESSION(r102435): It made tst_QQuickWebView::show() crash
        https://bugs.webkit.org/show_bug.cgi?id=74176

        Reviewed by Noam Rosenthal.

        Replaces static global GL resource holder with holder shared between
        TextureMapperGL instances created on the same GL context. Also adds
        deallocation of GL resources when last TextureMapperGL instance on the 
        current GL context gets deleted.

        Tested by multipleWebViewWindows and multipleWebViews Qt WK2 API tests.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
        (WebCore::TextureMapperGLData::SharedGLData::glContextDataMap):
        (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
        (WebCore::TextureMapperGLData::SharedGLData::ProgramInfo::ProgramInfo):
        (WebCore::TextureMapperGLData::SharedGLData::createShaderProgram):
        (WebCore::TextureMapperGLData::SharedGLData::deleteShaderProgram):
        (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
        (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
        (WebCore::TextureMapperGLData::sharedGLData):
        (WebCore::TextureMapperGLData::TextureMapperGLData):
        (WebCore::TextureMapperGLData::SharedGLData::initializeShaders):
        (WebCore::TextureMapperGL::beginPainting):
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::BitmapTextureGL::bind):
        (WebCore::TextureMapperGL::bindSurface):
        (WebCore::TextureMapperGL::beginClip):
        (WebCore::TextureMapperGL::endClip):
        * platform/graphics/opengl/TextureMapperGL.h:

2012-01-10  Simon Fraser  <simon.fraser@apple.com>

        Disabled mock scrollbars should draw differently
        https://bugs.webkit.org/show_bug.cgi?id=75995

        Reviewed by James Robinson.
        
        When the scrollbar is disabled, paint the entire track of
        mock scrollbars with a lighter gray, and hide the thumb.

        No tests, since mock scrollbars aren't enabled by default on Mac yet.

        * platform/mock/ScrollbarThemeMock.cpp:
        (WebCore::ScrollbarThemeMock::paintTrackBackground):
        (WebCore::ScrollbarThemeMock::paintThumb):

2012-01-10  Tony Chang  <tony@chromium.org>

        Need to handle absolutely positioned elements inside flexboxes
        https://bugs.webkit.org/show_bug.cgi?id=70793

        Reviewed by David Hyatt.

        Tests: css3/flexbox/insert-text-crash.html
               css3/flexbox/position-absolute-child.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::computePreferredMainAxisExtent): Skip the size of positioned elements.
        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Add placeholders for positioned elements.
        (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout): Positions the layer for the positioned child.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Handle positioned elements.
        (WebCore::RenderFlexibleBox::layoutColumnReverse): Adjust the main axis offset of the layer for positioned elements.
        * rendering/RenderFlexibleBox.h:

2012-01-10  Nat Duca  <nduca@chromium.org>

        [chromium] Reuse old timebase when activating CCDelayBasedTimeSource
        https://bugs.webkit.org/show_bug.cgi?id=75938

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
        (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
        (WebCore::CCDelayBasedTimeSource::setActive):
        (WebCore::CCDelayBasedTimeSource::onTimerFired):
        (WebCore::CCDelayBasedTimeSource::postNextTickTask):
        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:

2012-01-10  Kentaro Hara  <haraken@chromium.org>

        Support the [Supplemental] IDL on methods
        https://bugs.webkit.org/show_bug.cgi?id=75944

        Reviewed by Adam Barth.

        The spec for the [Supplemental] IDL:
        http://dev.w3.org/2006/webapi/WebIDL/#dfn-supplemental-interface

        Currently the [Supplemental] IDL is supported on attributes but not supported
        on methods. This patch makes a change to support it.

        Specifically, assume the following IDL:

            interface [Supplemental=X] Y {
                void func();
            }

        Then the code generator generates the following V8X.cpp.

            void funcCallback(Arguments& args) {
                X* imp = V8X::toNative(args.Holder());
                Y::func(imp);
            }

        Similar code is also generated for JS, ObjC, GObject and CPP bindings.

        Test: bindings/scripts/test/TestSupplemental.idl

        * bindings/scripts/CodeGeneratorCPP.pm: Modified as described above.
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorGObject.pm: Ditto.
        (GenerateFunction):
        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        (GenerateFunctionCallString):
        * bindings/scripts/generate-bindings.pl: Ditto.

        * bindings/scripts/test/TestSupplemental.idl: Added test cases for [Supplemental] methods.

        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated the test result.
        (WebDOMTestInterface::supplementalMethod1):
        (WebDOMTestInterface::supplementalMethod2):
        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
        (webkit_dom_test_interface_supplemental_method1):
        (webkit_dom_test_interface_supplemental_method2):
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
        (WebCore::JSTestInterfacePrototype::getOwnPropertySlot):
        (WebCore::JSTestInterfacePrototype::getOwnPropertyDescriptor):
        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
        (-[DOMTestInterface supplementalMethod1]):
        (-[DOMTestInterface supplementalMethod2:objArg:]):
        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
        (WebCore::TestInterfaceInternal::supplementalMethod1Callback):
        (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
        (WebCore::ConfigureV8TestInterfaceTemplate):

2012-01-10  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] Rename attributes in TestSupplemental.idl to clarify
        that they are supplemental attributes
        https://bugs.webkit.org/show_bug.cgi?id=75942

        Reviewed by Adam Barth.

        This patch just renames attributes in TestSupplemental.idl
        to make it easy to find in {JS,V8,WebKitDOM,DOM,WebDOM}TestInterface.cpp
        which attributes originate from TestSupplemental.idl.

        * bindings/scripts/test/TestSupplemental.idl: Just renamed three attributes.

        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated the test result.
        (WebDOMTestInterface::supplementalStr1):
        (WebDOMTestInterface::supplementalStr2):
        (WebDOMTestInterface::setSupplementalStr2):
        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
        (webkit_dom_test_interface_get_supplemental_str1):
        (webkit_dom_test_interface_get_supplemental_str2):
        (webkit_dom_test_interface_set_supplemental_str2):
        (webkit_dom_test_interface_set_property):
        (webkit_dom_test_interface_get_property):
        (webkit_dom_test_interface_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
        (WebCore::jsTestInterfaceSupplementalStr1):
        (WebCore::jsTestInterfaceSupplementalStr2):
        (WebCore::jsTestInterface):
        (WebCore::setJSTestInterfaceSupplementalStr2):
        (WebCore::setJSTestInterface):
        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
        (-[DOMTestInterface supplementalStr1]):
        (-[DOMTestInterface supplementalStr2]):
        (-[DOMTestInterface setSupplementalStr2:]):
        (-[DOMTestInterface ]):
        (-[DOMTestInterface set:]):
        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
        (WebCore::TestInterfaceInternal::supplementalStr1AttrGetter):
        (WebCore::TestInterfaceInternal::supplementalStr2AttrGetter):
        (WebCore::TestInterfaceInternal::supplementalStr2AttrSetter):

2012-01-10  John Bauman  <jbauman@chromium.org>

        [chromium] Correctly recreate DrawingBuffer on lost device
        https://bugs.webkit.org/show_bug.cgi?id=75912

        Reviewed by Kenneth Russell.

        Create new drawing buffer on new context, not old lost context. Also,
        make sure to bind new drawing buffer.

        No new tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::maybeRestoreContext):

2012-01-10  Stephen White  <senorblanco@chromium.org>

        [Chromium] Partial revert of r104566, since it breaks the shared
        library build on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=75994

        Reviewed by Dmitry Titov.

        Covered by SVG feColorMatrix tests (see LayoutTests/ChangeLog).

        * WebCore.gypi:
        * platform/graphics/filters/FEColorMatrix.h:

2012-01-10  Simon Fraser  <simon.fraser@apple.com>

        Clean up RenderLayerBacking code that looks for the body
        https://bugs.webkit.org/show_bug.cgi?id=39502

        Reviewed by Dave Hyatt.
        
        Consolidate code that propagates the <body> background to the
        root, adding a utility method on RenderObject that is called
        by RenderBox and RenderLayerBacking.
        
        Removed an unused method in RenderLayerBacking.
        
        The compositiong changes are not testable, since rendererBackgroundColor()
        is only used by fullscreen at present.

        Tests: fast/backgrounds/root-background-propagation.html
               fast/backgrounds/root-background-propagation2.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintRootBoxFillLayers):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::rendererBackgroundColor):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::rendererForRootBackground):
        * rendering/RenderObject.h:

2012-01-10  Dana Jansens  <danakj@chromium.org>

        [chromium] Create iterators for the RenderSurface-Layer tree
        https://bugs.webkit.org/show_bug.cgi?id=74203

        Reviewed by James Robinson.

        New unit tests: CCLayerIteratorTest.cpp

        * WebCore.gypi:
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        * platform/graphics/chromium/cc/CCLayerIterator.cpp: Added.
        (WebCore::CCLayerIteratorActions::BackToFront::begin):
        (WebCore::CCLayerIteratorActions::BackToFront::end):
        (WebCore::CCLayerIteratorActions::BackToFront::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
        (WebCore::CCLayerIteratorActions::FrontToBack::end):
        (WebCore::CCLayerIteratorActions::FrontToBack::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
        * platform/graphics/chromium/cc/CCLayerIterator.h: Added.
        (WebCore::CCLayerIterator::CCLayerIterator):
        (WebCore::CCLayerIterator::begin):
        (WebCore::CCLayerIterator::end):
        (WebCore::CCLayerIterator::operator++):
        (WebCore::CCLayerIterator::operator==):
        (WebCore::CCLayerIterator::operator!=):
        (WebCore::CCLayerIterator::operator->):
        (WebCore::CCLayerIterator::operator*):
        (WebCore::CCLayerIterator::representsTargetRenderSurface):
        (WebCore::CCLayerIterator::representsContributingRenderSurface):
        (WebCore::CCLayerIterator::representsItself):
        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
        (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
        (WebCore::CCLayerIteratorPosition::currentLayer):
        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
        (WebCore::CCLayerIteratorPosition::targetRenderSurface):
        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
        (WebCore::CCLayerIteratorPosition::operator==):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::walkLayersAndCalculateVisibleLayerRects):
        * platform/graphics/chromium/cc/CCRenderSurface.h:

2012-01-10  Ojan Vafai  <ojan@chromium.org>

        Rename flex-align to flex-item-align.
        https://bugs.webkit.org/show_bug.cgi?id=75929

        Reviewed by Darin Adler.

        The spec has changed and now flex-align will be set on
        the flexbox itself.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFlexAlign):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
        (WebCore::RenderFlexibleBox::alignChildren):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::flexItemAlign):
        (WebCore::RenderStyleBitfields::setFlexItemAlign):
        (WebCore::RenderStyleBitfields::initialFlexItemAlign):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleFlexibleBoxData.cpp:
        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
        (WebCore::StyleFlexibleBoxData::operator==):
        * rendering/style/StyleFlexibleBoxData.h:

2012-01-10  Eric Carlson  <eric.carlson@apple.com>

        Replace TextTrackCue "getCueAsSource" method with "text" attribute
        https://bugs.webkit.org/show_bug.cgi?id=75646

        Reviewed by Darin Adler.

        Test: media/track/track-cue-mutable-text.html

        * html/HTMLMediaElement.h: getCueAsSource() -> text().

        * html/TextTrackCue.cpp:
        (WebCore::TextTrackCue::setText): New. Set cue text and clear the document fragment.
        (WebCore::TextTrackCue::getCueAsHTML): Allocate the document fragment if it doesn't exist.
        * html/TextTrackCue.h:
        (WebCore::TextTrackCue::text):
        * html/TextTrackCue.idl: getCueAsSource() -> text().

        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::updateTextTrackDisplay): getCueAsSource() -> text().
        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::updateTextTrackDisplay): getCueAsSource() -> text().

        * html/track/WebVTTParser.cpp:
        (WebCore::WebVTTParser::collectCueText): processCueText is dead, long live createNewCue.
        (WebCore::WebVTTParser::createDocumentFragmentFromCueText): New, split out of processCueText.
            Create a document fragment from the String argument.
        (WebCore::WebVTTParser::createNewCue): Split out of processCueText.
        (WebCore::WebVTTParser::constructTreeFromToken): Add a comment pointing to the spec section
            with the rules for DOM construction.
        * html/track/WebVTTParser.h:

2012-01-10  Jer Noble  <jer.noble@apple.com>

        REGRESSION (r102024): Having the Bing homepage open prevents idle sleep
        https://bugs.webkit.org/show_bug.cgi?id=75972

        Reviewed by Oliver Hunt.

        No new tests; no testing infrastructure exists to test display sleep assertions.

        Only disable idle and display sleep when a video element is not paused, not looping, and
        has both a video and audio track.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerRateChanged): Factor into updateDisableSleep() and
            shouldDisplaySleep().
        (WebCore::HTMLMediaElement::setLoop): Ditto.
        (WebCore::HTMLMediaElement::attributeChanged): Ditto.
        (WebCore::HTMLMediaElement::updateDisableSleep):
        (WebCore::HTMLMediaElement::shouldDisableSleep):
        * html/HTMLMediaElement.h:

2012-01-09  Matthew Delaney  <mdelaney@apple.com>

        [Mac] Accelerate canvas layers with the same logic as accelerating the canvas itself
        https://bugs.webkit.org/show_bug.cgi?id=75921

        Reviewed by Simon Fraser.

        No new tests. Does not affect detectable behavior.

        * rendering/RenderLayerCompositor.cpp: Use canvas's shouldAccelerate to avoid asking
        uninitialized canvas's if they're accelerated or not.
        (WebCore::RenderLayerCompositor::updateBacking):

2012-01-10  Daniel Sievers  <sievers@chromium.org>

        [Chromium] Do not recreate texture updater for image layer if one exists.
        https://bugs.webkit.org/show_bug.cgi?id=75589

        Reviewed by James Robinson.

        Test: platform/chromium/compositing/img-layer-grow.html

        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::createTextureUpdater):

2012-01-10  Mike Reed  <reed@google.com>

        [skia] not all convex paths are convex, so recompute convexity for the problematic ones
        https://bugs.webkit.org/show_bug.cgi?id=75960

        Reviewed by Stephen White.

        No new tests.
        See related chrome issue
        http://code.google.com/p/chromium/issues/detail?id=108605

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::setPathFromConvexPoints):

2012-01-10  Gavin Barraclough  <barraclough@apple.com>

        Do not allow Array length to be set if it is non-configurable
        https://bugs.webkit.org/show_bug.cgi?id=75935

        Reviewed by Sam Weinig.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::deserialize):
            - remove unnecessary call to JSArray::setLength.

2012-01-10  Adrienne Walker  <enne@google.com>

        [chromium] Draw debug tile borders on composited layers
        https://bugs.webkit.org/show_bug.cgi?id=75680

        Reviewed by James Robinson.

        On tiled layers, draw debug borders on the tiles themselves. By
        default, these are one pixel wide and transparent, so should be
        unobtrusive but informative. They are triggered when the layer itself
        would have a debug border via the existing flags.

        Also, fix the drawDebugBorderQuad function to handle arbitrarily
        positioned quads, not just full layer quads. Also, fix alpha issue
        with debug borders.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawDebugBorderQuad):
        * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp:
        (WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::appendDebugBorderQuad):
        (WebCore::CCLayerImpl::quadTransform):
        (WebCore::CCLayerImpl::hasDebugBorders):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):

2012-01-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Missing Implementation of Public InspectorDOMAgent Function
        https://bugs.webkit.org/show_bug.cgi?id=75759

        Follow-up: Remove the unused method. Keep the setter private.

        Reviewed by Pavel Feldman.

        * inspector/InspectorDOMAgent.cpp:
        * inspector/InspectorDOMAgent.h:

2012-01-10  Pavel Feldman  <pfeldman@google.com>

        Not reviewed, follow up to r104586: fix assertion within the loop.

        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::patchChildren):

2012-01-10  Brady Eidson  <beidson@apple.com>

        <rdar://problem/9328684> and https://bugs.webkit.org/show_bug.cgi?id=62764
        Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
 
        Reviewed by Maciej Stachowiak.

        This is a non-reproducible high volume crash, so no test :(. 

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::stopLoading): Don't re-run actual "stop loading" logic if the document loader is already
          stopping loading. Also add an ASSERT that might catch cases where new loads may have been started while old loads
          were being stopped.
        (WebCore::DocumentLoader::detachFromFrame): Be conservative and stop loading when we detach a document loader from a frame. 

2012-01-10  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: fixing the Mac build.

        * inspector/DOMEditor.cpp:
        (WebCore::DOMEditor::patchChildren):

2012-01-09  Jer Noble  <jer.noble@apple.com>

        Elements can appear over fullscreen video
        https://bugs.webkit.org/show_bug.cgi?id=75913

        Reviewed by Simon Fraser.

        No new tests; updated fullscreen/full-screen-zIndex.html to trigger error condition.

        RenderFullScreenPlaceholder inherits the pre-fullscreen element's style, causing a stacking
        context to be created.  Instead of making the placeholder the parent of the RenderFullScreen
        object, make the two renderers siblings.  Then the stacking context created by the placeholder
        will not affect the z-ordering of the RenderFullScreen.

        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::wrapRenderer):
        (RenderFullScreen::unwrapRenderer):
        (RenderFullScreen::createPlaceholder):

2012-01-10  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: add "free flow DOM editing" experiment.
        https://bugs.webkit.org/show_bug.cgi?id=75955

        This change enables HTML editing from Resources panel experiment.

        Reviewed by Yury Semikhatsky.

        * CMakeLists.txt:
        * English.lproj/localizedStrings.js:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/DOMEditor.cpp: Added.
        (WebCore::DOMEditor::DOMEditor):
        (WebCore::DOMEditor::~DOMEditor):
        (WebCore::DOMEditor::patch):
        (WebCore::DOMEditor::NodeDigest::NodeDigest):
        (WebCore::DOMEditor::patchElement):
        (WebCore::DOMEditor::patchNode):
        (WebCore::DOMEditor::patchChildren):
        (WebCore::addStringToSHA1):
        (WebCore::DOMEditor::createNodeDigest):
        * inspector/DOMEditor.h: Added.
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setOuterHTML):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent):
        (WebInspector.DOMModelResourceBinding):
        (WebInspector.DOMModelResourceBinding.prototype.setContent):
        (WebInspector.DOMModelResourceBinding.prototype.canSetContent):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):

2012-01-10  Stephen Chenney  <schenney@chromium.org>

        [Chromium] Shift PathSkia to use Skia's new RawIter
        https://bugs.webkit.org/show_bug.cgi?id=75703

        Reviewed by Nikolas Zimmermann.

        No new tests required - covered by existing tests.

        * platform/graphics/Path.h: Added comments ont he return values from iteration.
        * platform/graphics/skia/PathSkia.cpp:
        (WebCore::Path::apply): Switched to SkPath::RawIter

2012-01-10  Peter Beverloo  <peter@chromium.org>

        [Chromium] Use SkFontHost::GetUnitsPerEm instead of advanced type
        metrics for Android in FontPlatformData
        https://bugs.webkit.org/show_bug.cgi?id=75702

        Reviewed by Stephen White.

        Since Skia for Android doesn't implement advanced type metric routines,
        use an alternative method to calculate the number of font units for an
        em size. This will be exercized by existing layout tests, as it's being
        used by the ComplexTextController.

        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
        (WebCore::FontPlatformData::emSizeInFontUnits):

2012-01-10  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed, inspector style fix.

        Web Inspector: elements tree is shifted 12px to the right.
        https://bugs.webkit.org/show_bug.cgi?id=75609

        * inspector/front-end/elementsPanel.css:
        (#elements-content):

2012-01-10  Zoltan Herczeg  <zherczeg@webkit.org>

        Fix style errors in CSSParser.cpp
        https://bugs.webkit.org/show_bug.cgi?id=75854

        Reviewed by Nikolas Zimmermann.

        Minor style fixes.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseShadow):
        (WebCore::isBorderImageRepeatKeyword):
        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
        (WebCore::filterInfoForName):

2012-01-10  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION (r93614): Safari Reader doesn't repaint correctly when scrolling
        https://bugs.webkit.org/show_bug.cgi?id=67100

        Reviewed by Dan Bernstein.

        Tests: fast/layers/scroll-with-transform-composited-layer.html
               fast/layers/scroll-with-transform-layer.html

        The regression came from a previous optimization that was wrongly kept after r93614.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
        Remove the early return for transformed layer. This change worked as we used
        to call updateLayerPositions from scrollTo which would call updateLayerPosition on
        all our descendants. After r93614, this is no longer the case and we explicitely need
        to call updateLayerPosition on our descendants from updateLayerPositionsAfterScroll.

2012-01-10  Stephen White  <senorblanco@chromium.org>

        Fix Chrome/Mac build.

        Build fix; unreviewed.

        * platform/graphics/filters/skia/FEColorMatrixSkia.cpp:
        (WebCore::luminanceToAlphaMatrix):

2012-01-06  Stephen White  <senorblanco@chromium.org>

        [Skia] Switch FEColorMatrix to use a skia-based implementation when
        compiling with USE(SKIA).  This change will also switch the software
        implementation of FEGaussianBlur to the skia implementation (ie.,
        it removes the acceleration check).
        https://bugs.webkit.org/show_bug.cgi?id=75582

        Reviewed by Dirk Schulze.

        Covered by svg/W3C-SVG-1.1/filters-color-01-b.svg and friends (will
        need a rebaseline).

        * WebCore.gypi:
        Add FEColorMatrixSkia.cpp to the build.
        * platform/graphics/filters/FEColorMatrix.h:
        Add platformApplySkia().
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::platformApplySoftware):
        Remove skia-specific code from FEGaussianBlur::platformApplySoftware().
        * platform/graphics/filters/FEGaussianBlur.h:
        Make platformApplySkia() virtual, and put it behind #if USE(SKIA).
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::apply):
        Call out to platformApplySkia(), or fall back to
        platformApplySoftware().
        * platform/graphics/filters/FilterEffect.h:
        Add platformApplySkia().
        * platform/graphics/filters/skia/FEColorMatrixSkia.cpp: Added.
        (WebCore::saturateMatrix):
        (WebCore::hueRotateMatrix):
        (WebCore::luminanceToAlphaMatrix):
        (WebCore::FEColorMatrix::platformApplySkia):
        Process color matrix effect, by calling out to generic matrix
        version of SkColorMatrixFilter.
        * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp:
        (WebCore::FEGaussianBlur::platformApplySkia):
        Change the signature of FEGaussianBlur::platformApplySkia to be an
        override of the new FilterEffect base class version.

2012-01-10  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: fix DebuggerPresentationModel::uiSourceCodes - do not iterate
        over same raw source code multiple times.
        https://bugs.webkit.org/show_bug.cgi?id=75953

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
        (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):

2012-01-10  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt] Enable CSS_FILTERS in Qt build
        https://bugs.webkit.org/show_bug.cgi?id=75777

        Enable CSS_FILTERS and unskip the tests.

        Reviewed by Kenneth Rohde Christiansen.

        Filter tests are now unskipped for Qt.

        * Target.pri: add missing files to build.

2012-01-10  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: typo: NetworkAgent.canClearBrowserCache -> NetworkAgent.canClearBrowserCookies.
        https://bugs.webkit.org/show_bug.cgi?id=75949

        Reviewed by Andreas Kling.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView):

2012-01-10  pfeldman@chomium.org  <pavel.feldman@gmail.com>

        Web Inspector: restore front-end compilation
        https://bugs.webkit.org/show_bug.cgi?id=75625

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceSourceFrames):
        * inspector/front-end/TabbedPane.js:
        * inspector/front-end/externs.js:
        (WebInspector.isCompactMode):
        * inspector/front-end/treeoutline.js:

2012-01-10  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        Add NULL checks to setting access obtained on frame and document.
        https://bugs.webkit.org/show_bug.cgi?id=72002

        Reviewed by Andreas Kling.

        Adds NULL checks to setting object where it's required.
        Generally WebCore checks NULL which may be returned from setting object obtained
        on frame or document but in some cases these are skipped. These checks are not
        needed to setting's access on page object.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::shouldAccelerate):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::scheduleArchiveLoad):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::requestPlugin):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
        * page/DragController.cpp:
        (WebCore::DragController::draggableNode):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseReleaseEvent):
        * page/FocusController.cpp:
        (WebCore::FocusController::advanceFocusInDocumentOrder):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::flattenFrameSet):
        * rendering/RenderIFrame.cpp:
        (WebCore::RenderIFrame::flattenFrame):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):
        * rendering/RenderText.cpp:
        (WebCore::SecureTextTimer::restartWithNewText):

2012-01-10  Andreas Kling  <awesomekling@apple.com>

        Matched declaration cache should support mapped attribute declarations.
        <http://webkit.org/b/75948>

        Reviewed by Antti Koivisto.

        Support caching of matches that include mapped attribute declarations.
        To make this possible, let the cache hold references to the matched style declarations.
        Otherwise, declarations are assumed to survive until ~CSSStyleSelector, which may not
        be the case for CSSMappedAttributeDeclaration.

        To avoid hoarding of stale CSSMappedAttributeDeclarations in the cache, do a sweep for
        every 100 additions and garbage collect any entries containing a declaration that is
        only referenced by the cache.

        This increases cache hit rate by up to ~10% on the Alexa top sites.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::sweepMatchedDeclarationCache):
        (WebCore::CSSStyleSelector::matchAllRules):
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
        * css/CSSStyleSelector.h:

2012-01-10  Kenichi Ishibashi  <bashi@chromium.org>

        Complex path should be used when UVS exists in text run
        https://bugs.webkit.org/show_bug.cgi?id=75289

        Uses complex path when a text run contains UVS. The range from U+180B to U+180D already uses complex path.
        Removes unnecessary functions that were added by r102915.

        Reviewed by Dan Bernstein.

        No new tests. fast/text/unicode-variation-selector.html should take care of this change.

        * platform/graphics/Font.cpp:
        (WebCore::Font::codePath): Use Complex path when the text run contains UVS.
        * platform/graphics/SimpleFontData.h: Removed updateGlyphWithVariationSelector().
        * platform/graphics/SurrogatePairAwareTextIterator.cpp: Removed unnecessary static functions.
        * platform/graphics/SurrogatePairAwareTextIterator.h: Removed hasTrailingVariationSelector().
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance): Removed UVS detection code.
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Removed updateGlyphWithVariationSelector().
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Ditto.
        * platform/graphics/harfbuzz/SimpleFontDataSkia.cpp: Ditto.
        * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
        * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto.
        * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto.
        * platform/graphics/win/SimpleFontDataWin.cpp: Ditto.
        * platform/graphics/wince/SimpleFontDataWinCE.cpp: Ditto.
        * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto.

2012-01-10  Kenichi Ishibashi  <bashi@chromium.org>

        WebFonts are re-fetched from the server upon Document::styleSelectorChanged call.
        https://bugs.webkit.org/show_bug.cgi?id=73419

        Holds the CachedFont handle in CSSFontFaceSrcValue so that avoiding re-validation during style recalculation.

        Reviewed by Dan Bernstein.

        Test: http/tests/css/font-face-src-loading.html

        * css/CSSFontFaceSrcValue.cpp:
        (WebCore::CSSFontFaceSrcValue::cachedFont): Added.
        * css/CSSFontFaceSrcValue.h:
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule): Gets the CachedFont from CSSFontFaceSrcValue object. The object will request the resource if it doesn't exist.

2012-01-10  pfeldman@chomium.org  <pavel.feldman@gmail.com>

        Web Inspector: introduce experimental setting that makes source files always editable
        https://bugs.webkit.org/show_bug.cgi?id=75626

        Reviewed by Timothy Hatcher.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.setReadOnly):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.NavigatorScriptTreeElement.prototype.onselect):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype.get statusBarItems):
        (WebInspector.SourceFrame.prototype.setReadOnly):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2012-01-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104507.
        http://trac.webkit.org/changeset/104507
        https://bugs.webkit.org/show_bug.cgi?id=75936

        Broke webkit_unit_tests (Requested by dimich on #webkit).

        * WebCore.gypi:
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        * platform/graphics/chromium/cc/CCLayerIterator.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerIterator.h: Removed.
        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::walkLayersAndCalculateVisibleLayerRects):
        * platform/graphics/chromium/cc/CCRenderSurface.h:

2012-01-09  Rob Buis  <rbuis@rim.com>

        Upstream change to disable input[color] css rules for BlackBerry port
        https://bugs.webkit.org/show_bug.cgi?id=75719

        Reviewed by Antonio Gomes.

        Do not enable default css color rules for input["color"] for BlackBerry port.

        * CMakeLists.txt:

2012-01-09  Greg Billock  <gbillock@google.com>

        Implement navigator.startActivity; add IntentRequest object for managing web intents callbacks.
        Web content will invoke navigator.startActivity to launch a new Web
        Intents call. Each such call will map to an IntentRequest broker
        object which is used by client code to correlate any return data to
        the (optional) callbacks supplied by web content calls.
        https://bugs.webkit.org/show_bug.cgi?id=75756

        Reviewed by Adam Barth.

        Test: webintents/web-intents-api.html

        * Modules/intents/Intent.cpp: Added.
        (WebCore::Intent::identifier):
        (WebCore::Intent::setIdentifier):
        * Modules/intents/Intent.h: Added.
        * Modules/intents/Intent.idl: Added.
        * Modules/intents/IntentResultCallback.h: Added.
        (WebCore::IntentResultCallback::~IntentResultCallback):
        * Modules/intents/IntentResultCallback.idl: Added.
        * Modules/intents/IntentsRequest.cpp: Added.
        * Modules/intents/IntentsRequest.h: Added.
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        (GetNativeTypeForCallbacks):
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::dispatchIntent):

2012-01-09  Dan Bernstein  <mitz@apple.com>

        -[DOMRange renderedImageForcingBlackText:] fails with non-user-selectable text
        https://bugs.webkit.org/show_bug.cgi?id=75920

        Reviewed by Darin Adler.

        Test: added to TestWebKitAPI/Tests/mac/RenderedImageFromDOMRange.mm

        * page/mac/FrameMac.mm:
        (WebCore::Frame::rangeImage): Removed the requirement that the start and end positions used
        for setting the selection in the render tree be candidates.

2012-01-06  Hajime Morrita  <morrita@chromium.org>

        [Refactoring] Moving between TreeScopes should be done by its own class.
        https://bugs.webkit.org/show_bug.cgi?id=75290

        Reviewed by Ryosuke Niwa.

        This change extracted Node::setTreeScopeRecursively(),
        setDocumentRecursively() and a part of setDocument() into a new
        class called TreeScopeAdopter. By doing this, the idea of
        moving a node from scope to scope, that was originally hidden
        behind the forest of Node APIs, has become clearer.

        Note that this change is a preparation for Bug 59816.

        No new tests. No behavioral change.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ContainerNode.cpp: Followed the renaming.
        (WebCore::ContainerNode::takeAllChildrenFrom):
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::removeBetween):
        (WebCore::ContainerNode::removeChildren):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAddChild):
        * dom/DOMAllInOne.cpp:
        * dom/Document.cpp: Followed te renaming.
        (WebCore::Document::setDocType):
        (WebCore::Document::adoptNode):
        * dom/Element.cpp: Followed te renaming.
        (WebCore::Element::removeShadowRoot):
        * dom/Node.cpp:
        (WebCore::Node::setDocument):
        (WebCore::Node::setTreeScope):
        (WebCore::Node::didMoveToNewDocument):
        * dom/Node.h:
        * dom/TreeScope.h:
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::adoptIfNeeded): moved from setTreeScopeRecursively()
        * dom/TreeScopeAdopter.cpp: Added.
        (WebCore::TreeScopeAdopter::TreeScopeAdopter):
        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
        (WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
        (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
        * dom/TreeScopeAdopter.h: Added.
        (WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
        (WebCore::TreeScopeAdopter::execute):
        (WebCore::TreeScopeAdopter::needsScopeChange()):
        (WebCore::TreeScopeAdopter::shadowRootFor):

2012-01-09  Adam Barth  <abarth@webkit.org>

        run-bindings-tests should exercise all the IDL attributes we use
        https://bugs.webkit.org/show_bug.cgi?id=75900

        Reviewed by Eric Seidel.

        I just grepped through the code generator script for IDL attributes and
        wrote tests for them.

        * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp: Added.
        * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.h: Added.
        * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp: Added.
        * bindings/scripts/test/CPP/WebDOMTestEventTarget.h: Added.
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/CPP/WebDOMTestOverridingNameGetter.cpp: Added.
        * bindings/scripts/test/CPP/WebDOMTestOverridingNameGetter.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.cpp: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetterPrivate.h: Added.
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Added.
        * bindings/scripts/test/JS/JSTestActiveDOMObject.h: Added.
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        * bindings/scripts/test/JS/JSTestEventTarget.cpp: Added.
        * bindings/scripts/test/JS/JSTestEventTarget.h: Added.
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        * bindings/scripts/test/JS/JSTestInterface.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp: Added.
        * bindings/scripts/test/JS/JSTestOverridingNameGetter.h: Added.
        * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h: Added.
        * bindings/scripts/test/ObjC/DOMTestEventTarget.h: Added.
        * bindings/scripts/test/ObjC/DOMTestEventTarget.mm: Added.
        * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h: Added.
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        * bindings/scripts/test/ObjC/DOMTestOverridingNameGetter.h: Added.
        * bindings/scripts/test/ObjC/DOMTestOverridingNameGetter.mm: Added.
        * bindings/scripts/test/ObjC/DOMTestOverridingNameGetterInternal.h: Added.
        * bindings/scripts/test/TestDomainSecurity.idl: Added.
        * bindings/scripts/test/TestEventConstructor.idl:
        * bindings/scripts/test/TestEventTarget.idl: Added.
        * bindings/scripts/test/TestInterface.idl:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/TestOverridingNameGetter.idl: Added.
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Added.
        * bindings/scripts/test/V8/V8TestActiveDOMObject.h: Added.
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        * bindings/scripts/test/V8/V8TestEventTarget.cpp: Added.
        * bindings/scripts/test/V8/V8TestEventTarget.h: Added.
        * bindings/scripts/test/V8/V8TestInterface.h:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        * bindings/scripts/test/V8/V8TestOverridingNameGetter.cpp: Added.
        * bindings/scripts/test/V8/V8TestOverridingNameGetter.h: Added.

2012-01-09  Nat Duca  <nduca@chromium.org>

        [chromium] Add documentation to updater classes
        https://bugs.webkit.org/show_bug.cgi?id=75866

        Reviewed by James Robinson.

        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:

2012-01-09  Adam Barth  <abarth@webkit.org>

        Remove unused variable from CodeGeneratorV8
        https://bugs.webkit.org/show_bug.cgi?id=75895

        Reviewed by Eric Seidel.

        Unused variables aren't worth keeping around.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (GenerateImplementation):

2012-01-09  Dana Jansens  <danakj@chromium.org>

        [chromium] Create iterators for the RenderSurface-Layer tree
        https://bugs.webkit.org/show_bug.cgi?id=74203

        Reviewed by James Robinson.

        New unit tests: CCLayerIteratorTest.cpp

        * WebCore.gypi:
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        * platform/graphics/chromium/cc/CCLayerIterator.cpp: Added.
        (WebCore::CCLayerIteratorActions::BackToFront::begin):
        (WebCore::CCLayerIteratorActions::BackToFront::end):
        (WebCore::CCLayerIteratorActions::BackToFront::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
        (WebCore::CCLayerIteratorActions::FrontToBack::end):
        (WebCore::CCLayerIteratorActions::FrontToBack::next):
        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
        * platform/graphics/chromium/cc/CCLayerIterator.h: Added.
        (WebCore::CCLayerIterator::CCLayerIterator):
        (WebCore::CCLayerIterator::begin):
        (WebCore::CCLayerIterator::end):
        (WebCore::CCLayerIterator::operator++):
        (WebCore::CCLayerIterator::operator==):
        (WebCore::CCLayerIterator::operator!=):
        (WebCore::CCLayerIterator::operator->):
        (WebCore::CCLayerIterator::operator*):
        (WebCore::CCLayerIterator::representsTargetRenderSurface):
        (WebCore::CCLayerIterator::representsContributingRenderSurface):
        (WebCore::CCLayerIterator::representsItself):
        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
        (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
        (WebCore::CCLayerIteratorPosition::currentLayer):
        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
        (WebCore::CCLayerIteratorPosition::targetRenderSurface):
        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
        (WebCore::CCLayerIteratorPosition::operator==):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::walkLayersAndCalculateVisibleLayerRects):
        * platform/graphics/chromium/cc/CCRenderSurface.h:

2012-01-09  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Throw exception if IDBCursor.continue() called with lower key than current
        https://bugs.webkit.org/show_bug.cgi?id=74213

        Reviewed by Tony Chang.

        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::continueFunction):

2012-01-09  Justin Novosad  <junov@chromium.org>

        [chromium win] Creating lots of temporary canvas contexts will crash.
        https://bugs.webkit.org/show_bug.cgi?id=68420

        When using the skia port, the allocation of 2d canvas backing stores
        no longer needs to be done through a platform API (GDI/CG) because
        canvases now use skia for drawing text.  Removing the allocation through
        GDI on windows prevents resource exhaustion due to unreferenced canvases
        that are awaiting garbage collection.

        Reviewed by Stephen White.

        No new tests: Relying on existing canvas layout tests.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer):
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::createNonPlatformCanvas):
        (WebCore::ImageBuffer::ImageBuffer):

2012-01-09  Avi Drissman  <avi@chromium.org>

        https://bugs.webkit.org/show_bug.cgi?id=75860
        [Chromium Mac] no background is drawn for input elements

        Reviewed by Dimitri Glazkov.

        Reverts r104240 for Chromium. Unfortunately the code that uses Cocoa
        API misbehaves when built with the 10.5 SDK, so we use SPI. For now.

        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintTextField):

2012-01-09  Pablo Flouret  <pablof@motorola.com>

        Compilation error on build-webkit --debug --no-3d-canvas on mac.
        https://bugs.webkit.org/show_bug.cgi?id=75878

        Reviewed by Alexey Proskuryakov.

        * html/canvas/WebGLContextEvent.cpp:

2012-01-09  Tom Sepez  <tsepez@chromium.org>

        Treat code="" attribute in embed tags similarly to applet tags.
        https://bugs.webkit.org/show_bug.cgi?id=75871

        Reviewed by Daniel Bates.

        Tests: http/tests/security/xssAuditor/embed-tag-code-attribute-2.html
               http/tests/security/xssAuditor/embed-tag-code-attribute.html

        * html/parser/XSSAuditor.cpp:
        (WebCore::XSSAuditor::filterEmbedToken):

2012-01-09  Justin Novosad  <junov@chromium.org>

        [Chromium] remove all references to the legacy accelerated 2d Canvas
        implementation
        https://bugs.webkit.org/show_bug.cgi?id=75108

        Purging an old settings flag that is no longer referenced

        Reviewed by Darin Fisher.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:

2012-01-09  Eric Carlson  <eric.carlson@apple.com>

        REGRESSION(r104327?): media/track/track-cues-cuechange.html and track-cues-enter-exit.html 
        intermittently time out, media/track/track-cues-seeking and  fails
        https://bugs.webkit.org/show_bug.cgi?id=75817

        Unreviewed, fix a problem introduced in r104327.

        No new tests, covered by existing tests.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_ignoreTrackDisplayUpdate.

2012-01-09  Raymond Toy  <rtoy@google.com>

        Add normalize attribute to ConvolverNode to disable normalization.
        https://bugs.webkit.org/show_bug.cgi?id=75126

        Reviewed by Kenneth Russell.

        Tests added in convolution-mono-mono.html.

        * platform/audio/Reverb.cpp:
        (WebCore::Reverb::Reverb): Add extra arg to indicate whether
        normalization is enabled or not, and do it.
        * platform/audio/Reverb.h: Update declaration.
        * webaudio/ConvolverNode.cpp:
        (WebCore::ConvolverNode::ConvolverNode): Initialize attribute (to
        true).
        (WebCore::ConvolverNode::setBuffer): Call Reverb with
        normalization argument.
        * webaudio/ConvolverNode.h:
        (WebCore::ConvolverNode::normalize): New method to return
        normalization. 
        (WebCore::ConvolverNode::setNormalize):  New method to set
        normalization. 
        * webaudio/ConvolverNode.idl: Add normalize attribute.
        * LayoutTests/webaudio/convolution-mono-mono.html:
        * LayoutTests/webaudio/convolution-mono-mono-expected.txt:
        * LayoutTests/webaudio/resources/convolution-testing.js:
        Test for convolution.  Tests only work when normalization is
        disabled.

2012-01-09  Judy Hao  <judy.liqiong-hao@nokia.com>

        [GStreamer] webkitwebsrc: pad template is leaked
        https://bugs.webkit.org/show_bug.cgi?id=74224

        Reviewed by Philippe Normand.

        Use a GstPadTemplate smart pointer in webkit_web_src_init to
        avoid a memory leak.

        Fixing memory leaks. So, no new test case is introduced.

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webkit_web_src_init):

2012-01-09  Xianzhu Wang  <wangxianzhu@chromium.org>

        Avoid unnecessary TextureManager::reduceMemoryToLimit().
        https://bugs.webkit.org/show_bug.cgi?id=75632

        Unnecessary TextureManager::reduceMemoryToLimit() will cause some tile
        textures that are required soon to be unnecessarily removed/replaced,
        and degrade performance, sometimes significantly.

        For example, CCLayerTreeHost::setViewport will be called during
        scrolling. The original code would call TextureManager::reduceMemoryToLimit(),
        causing some textures unnecessarily discarded and then recreated
        repeatedly during scrolling.

        It's also unnecessary to call TextureManager::reduceMemoryToLimit()
        from TextureManager::setPreferredMemoryLimitBytes() because the limit
        is not a hard limit. The callers should call reduceMemoryToLimit()
        explicitly if it wants it when setting the preferred memory limit.

        Reviewed by James Robinson.

        Tests: webkit_unit_tests --gtest_filter=TextureManagerTest.*:CCLayerTreeHostTestSetViewportSize.*

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::finishDrawingFrame): Call reduceMemoryToLimit() explicitly
        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::setPreferredMemoryLimitBytes): Removed call to reduceMemoryToLimit().
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::setViewportSize): Changed name from setViewport(). Check change of viewportSize.
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::setViewportSize): Changed name from setViewport()
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

2012-01-09  Sami Kyostila  <skyostil@chromium.org>

        [Chromium] JPEG RGB swizzling order should match platform pixel format
        https://bugs.webkit.org/show_bug.cgi?id=75861

        Choose between JCS_EXT_BGRX and JCS_EXT_RGBX channel swizzling
        based on the configured Skia 32-bit pixel format.

        Reviewed by Kenneth Russell.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (rgbOutputColorSpace):

2012-01-09  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for border-radius is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=75630

        Reviewed by Tony Chang.

        Implement getComputedStyle for border-radius shorthand property.

        Test: fast/css/getComputedStyle/getComputedStyle-border-radius-shorthand.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::getBorderRadiusCornerValues):
        (WebCore::getBorderRadiusCornerValue):
        (WebCore::getBorderRadiusShorthandValue):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2012-01-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104418.
        http://trac.webkit.org/changeset/104418
        https://bugs.webkit.org/show_bug.cgi?id=75855

        we still need to build against CG on Mac sometimes (Requested
        by epoger on #webkit).

        * WebCore.gyp/WebCore.gyp:

2012-01-09  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [AC] Simplify accelerated compositing build options
        https://bugs.webkit.org/show_bug.cgi?id=75518

        Reviewed by Gustavo Noronha Silva.

        * GNUmakefile.am: Automatically enable 3D rendering when AC is available.
        * GNUmakefile.list.am: Clean up a comment.

2012-01-09  Antti Koivisto  <antti@apple.com>

        possible regression: r104060 maybe causing crashes
        https://bugs.webkit.org/show_bug.cgi?id=75676

        Reviewed by Andreas Kling.

        Based on the stacks, CSSStyleSelector may be getting deleted from under the
        CSSStyleSelector::appendAuthorStylesheets call. Protect by temporarily detaching
        from the document. Also add assertions to catch the case.
        
        No test, there is no known repro and the fix is speculative.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::setDocType):
        (WebCore::Document::childrenChanged):
        (WebCore::Document::clearStyleSelector):
        (WebCore::Document::updateActiveStylesheets):
        * dom/Document.h:

2012-01-09  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Use Vector<OwnPtr> for m_viewportDependentMediaQueryResults in CSSStyleSelector
        https://bugs.webkit.org/show_bug.cgi?id=75723

        Reviewed by Andreas Kling.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::~CSSStyleSelector):
        (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
        * css/CSSStyleSelector.h:

2012-01-09  Alexis Menard  <alexis.menard@openbossa.org>

        Extend CSSValueList to allow slash separated lists.
        https://bugs.webkit.org/show_bug.cgi?id=75841

        Reviewed by Andreas Kling.

        Multiple CSS properties are using slash to separate
        various parts (e.g. border-radius) so having this
        feature available in CSSValueList will make it easier
        in the future to support these properties.

        No new tests : existing ones should cover the refactor.

        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue::isImplicit):
        (WebCore::CSSInitialValue::CSSInitialValue):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::isImplicitInitialValue):
        * css/CSSValue.h:
        In order for CSSValue to not grow I moved m_isImplicitInitialValue
        back to CSSInitialValue as this object is used only in CSSValuePool
        and is allocated only twice.
        (WebCore::CSSValue::CSSValue):
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::CSSValueList):
        (WebCore::CSSValueList::copy):
        Fix also usage of PassRefPtr.
        (WebCore::CSSValueList::customCssText):
        Refactor to use StringBuilder.
        * css/CSSValueList.h:
        (WebCore::CSSValueList::createCommaSeparated):
        (WebCore::CSSValueList::createSpaceSeparated):
        (WebCore::CSSValueList::createSlashSeparated):
        * css/WebKitCSSFilterValue.cpp:
        (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
        * css/WebKitCSSTransformValue.cpp:
        (WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):

2012-01-09  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Texmap] Move surface management from TextureMapperNode to TextureMapper
        https://bugs.webkit.org/show_bug.cgi?id=75779

        Instead of a TextureMapperSurfaceManager class inside of TextureMapperNode.cpp, we now
        maintain that surface pool inside of the TextureMapper class. This will later allow us to
        allocate intermediate surface from within TextureMapperGL, a functionality we need for
        filters.

        Also, surfaces are not automatically created with the viewport size, but rather with the
        size passed as a parameter. The surface from the pool is the smallest texture that is
        larger than the required size, or any texture if such texture is not yet allocated.

        Reviewed by Kenneth Rohde Christiansen.

        Tests in LayoutTests/compositing already cover this.

        * GNUmakefile.list.am: Added TextureMapper.cpp to the build.
        * Target.pri: Added TextureMapper.cpp to the build.
        * WebCore.gypi: Added TextureMapper.cpp to the build.
        * platform/graphics/texmap/TextureMapper.cpp: Added.
        * platform/graphics/texmap/TextureMapper.h:
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::paint):
        (WebCore::TextureMapperNode::paintReflection):
        (WebCore::TextureMapperNode::paintRecursive):
        * platform/graphics/texmap/TextureMapperNode.h:
        (WebCore::TextureMapperNode::TextureMapperNode):

2012-01-09  Mario Sanchez Prada  <msanchez@igalia.com>

        [Gtk] Regression: text-inserted events lack text inserted and current line
        https://bugs.webkit.org/show_bug.cgi?id=72830

        Reviewed by Martin Robinson.

        Fix issue getting the exposed text for an accessibility object at,
        before of after a given offset, after changing it at least once.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_class_init): Don't initialize
        gailTextUtilQuark, it won't be used anymore.
        (getGailTextUtilForAtk): Don't cache the GailTextUtil as object
        data, but create a new one each time this function is called.
        (webkit_accessible_text_get_caret_offset): Simplified code by
        using the new focusedObjectAndCaretOffsetUnignored function,
        instead of the old objectAndOffsetUnignored function.
        (focusedObjectAndCaretOffsetUnignored): Rewrite of the old
        objectAndOffsetUnignored function so it now needs less
        parameters than before and takes care of carefully selecting the
        start and end visible positions to calculate the position of the
        caret from the point of view of the accessibility object of
        reference passed as the only input parameter now. Updated callers.
        * accessibility/gtk/AccessibilityObjectWrapperAtk.h:

        * editing/gtk/FrameSelectionGtk.cpp:
        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
        Simplified code by calling to focusedObjectAndCaretOffsetUnignored
        function, instead of the old objectAndOffsetUnignored function.

2012-01-09  Antti Koivisto  <antti@apple.com>

        Subtree invalidation on stylesheet change
        https://bugs.webkit.org/show_bug.cgi?id=75834

        Reviewed by Andreas Kling.
        
        Currently if we add a stylesheet with scoped selectors and matching scope elements exist,
        we recalculate the entire document style. It is sufficient to invalidate the subtrees 
        matching the scope only.
        
        This allows us to do less full style recalcs on many popular web sites (nytimes.com for example).
        Subtree recalcs are typically much cheaper.
        
        Test: fast/css/id-or-class-before-stylesheet.html

        * dom/Document.cpp:
        (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
        (WebCore::Document::analyzeStylesheetChange):
        (WebCore::Document::updateActiveStylesheets):
        * dom/Document.h:

2012-01-09  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck issues.

        * GNUmakefile.list.am: Add missing header.

2012-01-09  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] Use join(", ", @arguments) to build a method argument string
        in CodeGeneratorJS.pm
        https://bugs.webkit.org/show_bug.cgi?id=75830

        Reviewed by Adam Barth.

        The code in CodeGeneratorJS.pm to build a method argument string is dirty
        and error-prone. It is concatenating arguments one by one judging whether
        ", " is necessary or not. This patch refactors the code so that it pushes
        all arguments into @arguments and then builds a method string by
        join(", ", @arguments).

        Test: bindings/scripts/test/*

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        (GenerateParametersCheck):
        (GenerateImplementationFunctionCall):

2012-01-09  Andreas Kling  <awesomekling@apple.com>

        CSSMutableStyleDeclaration: Remove propertiesEqual().
        <http://webkit.org/b/75829>

        Reviewed by Antti Koivisto.

        Remove propertiesEqual() since it was wrong (it only compared CSSValue pointers,
        not the actual values.)

        Skip comparing the style declarations in NamedNodeMap::mappedMapsEquivalent()
        and just compare pointers instead. This is possible because the declarations
        all come from the mapped attribute/declaration table.

        * css/CSSMutableStyleDeclaration.h:
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::mappedMapsEquivalent):

2012-01-09  Adam Barth  <abarth@webkit.org>

        insertAdjacentHTML doesn't play nice with DocumentFragment
        https://bugs.webkit.org/show_bug.cgi?id=75826

        Reviewed by Eric Seidel.

        Test: fast/dom/insertAdjacentHTML-DocumentFragment-crash.html

        Document nodes aren't the only non-Element ContainerNodes.

        * html/HTMLElement.cpp:
        (WebCore::contextElementForInsertion):

2012-01-09  Andreas Kling  <awesomekling@apple.com>

        CSSStyleSelector: Any attribute with a decl() can be assumed to be mapped.
        <http://webkit.org/b/75832>

        Reviewed by Antti Koivisto.

        Replace isMappedAttribute() check with an assertion. Only a mapped attribute
        will have an associated style declaration.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchAllRules):

2012-01-09  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] Use join(", ", @arguments) to build a method argument
        string in CodeGeneratorV8.pm
        https://bugs.webkit.org/show_bug.cgi?id=75828

        Reviewed by Darin Adler.

        The code in CodeGeneratorV8.pm to build a method argument string is dirty
        and error-prone. It is concatenating arguments one by one judging whether
        ", " is necessary or not. This patch refactors the code so that it pushes
        all arguments into @arguments and then builds a method string by
        join(", ", @arguments).

        Test: bindings/scripts/test/*

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionCallString):

2012-01-08  Benjamin Poulain  <benjamin@webkit.org>

        Build fix: ScrollAnimatorMac has missing initializer in systemUptime()
        https://bugs.webkit.org/show_bug.cgi?id=75827

        Reviewed by Darin Adler.

        Explicitly initialize the struct timeval to avoid compiler warnings.

        * platform/mac/ScrollAnimatorMac.mm:
        (systemUptime):

2012-01-08  ChangSeok Oh  <shivamidow@gmail.com>

        Memory allocation mismatch by using adoptArrayPtr in GraphicsContext3DOpenGL.cpp
        https://bugs.webkit.org/show_bug.cgi?id=75820

        Reviewed by Darin Adler.

        Dbates submitted a patch to release fastMalloc allocation
        in GraphicsContext3DOpenGL.cpp properly.
        See http://trac.webkit.org/browser/trunk/Source/WebCore/ChangeLog?rev=104395
        But one thing similar to the above still remains mismatched.

        No new tests required.

        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::getShaderInfoLog):

2012-01-08  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Use the concrete FrameNetworkingContextBlackBerry to access Frame
        https://bugs.webkit.org/show_bug.cgi?id=75611

        Reviewed by Antonio Gomes.

        In platform/network/blackberry/ResourceHandleBlackBerry.cpp, we were using
        NetworkingContext::wrappedFrame() to access the frame associated with the
        networking context. NetworkingContext::wrappedFrame() was added as a virtual
        function by the BlackBerry porting internally. It's unnecessary because
        FrameNetworkingContextBlackBerry inherits from FrameNetworkingContext which
        has a protected frame() member which is exported as public in
        FrameNetworkingContextBlackBerry. We don't want to upstream wrappedFrame()
        as a specific change of the BlackBerry porting in
        platform/network/NetworkingContext.h, so use the concrete networking context
        FrameNetworkingContextBlackBerry to access the associated frame.

        No functionalities changed, no new tests.

        * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::loadResourceSynchronously):

2012-01-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104421.
        http://trac.webkit.org/changeset/104421
        https://bugs.webkit.org/show_bug.cgi?id=75816

        Need to rebaseline some tests on Linux (Requested by noamr on
        #webkit).

        * Target.pri:

2012-01-08  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt] Enable CSS_FILTERS in Qt build
        https://bugs.webkit.org/show_bug.cgi?id=75777

        Enable CSS_FILTERS and unskip the tests.

        Reviewed by Kenneth Rohde Christiansen.

        Filter tests are now unskipped for Qt.

        * Target.pri: add missing files to build.

2012-01-08  Adam Barth  <abarth@webkit.org>

        [Chromium] Remove use_skia option from GYP
        https://bugs.webkit.org/show_bug.cgi?id=75811

        Reviewed by Ryosuke Niwa.

        The CG configuration of Chromium Mac is no longer supported.

        * WebCore.gyp/WebCore.gyp:

2012-01-08  Benjamin Poulain  <benjamin@webkit.org>

        Valid canonical URLs should have a lowercase hostname
        https://bugs.webkit.org/show_bug.cgi?id=75771

        Reviewed by Adam Barth.

        According to the RFC 3986 (and other browsers implementation), the hostname
        of valid canonical URLs should be lowercase.

        This patch lowercase the hostname in KURL::parse() similarily to what we
        do for the scheme.

        Tests: fast/url/host-lowercase-per-scheme.html
               fast/url/safari-extension.html

        * platform/KURL.cpp:
        (WebCore::isCanonicalHostnameLowercaseForScheme):
        (WebCore::KURL::parse):

2012-01-08  Adam Barth  <abarth@webkit.org>

        Rename checkNodeSecurity and allowsAccessFromFrame to have sensible names
        https://bugs.webkit.org/show_bug.cgi?id=75796

        Reviewed by Sam Weinig.

        This patch contains only renames and FIXME comments.  No behavior change.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::allowAccessToNode):
        (WebCore::allowAccessToFrame):
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSHTMLFrameElementCustom.cpp:
        (WebCore::allowSettingJavascriptURL):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::getOwnPropertySlotDelegate):
        (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
        (WebCore::JSHistory::putDelegate):
        (WebCore::JSHistory::deleteProperty):
        (WebCore::JSHistory::getOwnPropertyNames):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::getOwnPropertySlotDelegate):
        (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
        (WebCore::JSLocation::putDelegate):
        (WebCore::JSLocation::deleteProperty):
        (WebCore::JSLocation::getOwnPropertyNames):
        (WebCore::JSLocation::toStringFunction):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::canAccessFromCurrentOrigin):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateFunctionCallback):

2012-01-08  Adam Barth  <abarth@webkit.org>

        Remove deprecated toDynamicFrame and unused [CallWith=DynamicFrame]
        https://bugs.webkit.org/show_bug.cgi?id=75795

        Reviewed by Eric Seidel.

        We've succeeded in removing all the callers fo this function, including
        all the uses of CallWith=DynamicFrame in IDL files.

        * bindings/js/JSDOMBinding.cpp:
        * bindings/js/JSDOMBinding.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionCallString):
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:

2012-01-08  Adam Barth  <abarth@webkit.org>

        NeedsUserGestureCheck IDL attribute is no longer used
        https://bugs.webkit.org/show_bug.cgi?id=75794

        Reviewed by Eric Seidel.

        This IDL attribute is no longer used because we use static state to
        keep track of the user gesture state.  We can delete the code that
        supports it.

        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/TestObj.idl:

2012-01-08  Adam Barth  <abarth@webkit.org>

        Remove unused security functions from V8 bindings
        https://bugs.webkit.org/show_bug.cgi?id=75797

        Reviewed by Eric Seidel.

        This functions have no callers.  They can be removed.

        * bindings/v8/ScriptController.cpp:
        * bindings/v8/ScriptController.h:
        * bindings/v8/specialization/V8BindingState.cpp:
        * bindings/v8/specialization/V8BindingState.h:

2012-01-08  Pratik Solanki  <psolanki@apple.com>

        Assertion failure under SharedBuffer::append() when NETWORK_CFDATA_ARRAY_CALLBACK is enabled
        https://bugs.webkit.org/show_bug.cgi?id=75656

        Reviewed by Darin Adler.

        Update the implementation of SubresourceLoader::didReceiveDataArray() to conform to the
        refactoring done as part of bug 71149 in r100311.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didReceiveData):
        (WebCore::SubresourceLoader::errorLoadingResource):
        * loader/SubresourceLoader.h:
        * loader/cf/SubresourceLoaderCF.cpp:
        (WebCore::SubresourceLoader::didReceiveDataArray):

2012-01-08  Steve Block  <steveblock@google.com>

        Remove V8-specific Java Bridge code
        https://bugs.webkit.org/show_bug.cgi?id=75801

        Reviewed by Darin Adler.

        Also remove superfluous JSC and V8 guards, as the code is now used only
        with JSC.

        No new tests, removing dead code only.

        * WebCore.gypi:
        * bridge/jni/JNIUtility.cpp:
        (JSC::Bindings::javaTypeFromClassName):
        (JSC::Bindings::signatureFromJavaType):
        (JSC::Bindings::getJNIField):
        (JSC::Bindings::callJNIMethod):
        * bridge/jni/JavaType.h:
        * bridge/jni/jsc/JavaMethodJSC.cpp:
        (appendClassName):
        (JavaMethod::signature):
        * bridge/jni/v8/JNIUtilityPrivate.cpp: Removed.
        * bridge/jni/v8/JNIUtilityPrivate.h: Removed.
        * bridge/jni/v8/JavaClassV8.h: Removed.
        * bridge/jni/v8/JavaFieldV8.h: Removed.
        * bridge/jni/v8/JavaInstanceV8.h: Removed.
        * bridge/jni/v8/JavaMethodV8.h: Removed.
        * bridge/jni/v8/JavaNPObjectV8.cpp: Removed.
        * bridge/jni/v8/JavaNPObjectV8.h: Removed.
        * bridge/jni/v8/JavaValueV8.h: Removed.
        * bridge/jsc/BridgeJSC.h:

2012-01-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104403.
        http://trac.webkit.org/changeset/104403
        https://bugs.webkit.org/show_bug.cgi?id=75803

        It broke all tests on Qt5 (Requested by Ossy_weekend on
        #webkit).

        * Target.pri:

2012-01-08  Antti Koivisto  <antti@apple.com>

        Don't create style selector in Element::recalcStyleIfNeededAfterAttributeChanged if it doesn't exist
        https://bugs.webkit.org/show_bug.cgi?id=75802

        Rubber-stamped by Andreas Kling.

        Element::recalcStyleIfNeededAfterAttributeChanged shouldn't create style selector for attribute 
        check if it doesn't already exist. We are going to need a full style recalc anyway in that case
        and the constructed style selector may get throw out again.

        * dom/Element.cpp:
        (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):

2012-01-08  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt] Enable CSS_FILTERS in Qt build
        https://bugs.webkit.org/show_bug.cgi?id=75777

        Enable CSS_FILTERS and unskip the tests.

        Reviewed by Kenneth Rohde Christiansen.

        Filter tests are now unskipped for Qt.

        * Target.pri: add missing files to build.

2012-01-07  Antti Koivisto  <antti@apple.com>

        REGRESSION (r104060): Layout Test fast/media/viewport-media-query.html is occasionally failing
        https://bugs.webkit.org/show_bug.cgi?id=75633

        Reviewed by Andreas Kling.
        
        If something triggers CSSStyleSelector construction very early, before documentElement is known,
        it won't be able to resolve viewport-related media queries. In the included test case
        the attribute on <html> element triggers the style selector creation. I can't repro
        the fast/media/viewport-media-query.html failure but I suspect it is the same issue with
        a different mechanism for early CSSStyleSelector construction.
        
        - Reset style selector on documentElement change.
        - Remove the code for lazy documentElement initialization. It is not an useful optimization,
          the children of Document rarely change.

        Test: fast/media/viewport-media-query-synchronous.html

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::childrenChanged):
        * dom/Document.h:
        (WebCore::Document::documentElement):

2012-01-07  Andreas Kling  <awesomekling@apple.com>

        Attempt to regenerate bindings on the Windows bot.

        * html/HTMLCollection.h:

2012-01-07  Daniel Bates  <dbates@webkit.org>

        Memory allocator mismatch; Use operator new[] with OwnArrayPtr instead of fastMalloc()

        Rubber-stamped by Adam Barth.

        Currently getProgramInfoLog() in GraphicsContext3DOpenGL.cpp assumes that operator new[]
        and fastMalloc() are equivalent when it adopts a fastMalloc() allocated buffer. Notice,
        OwnArrayPtr ultimately calls delete[] on destruction. When GLOBAL_FASTMALLOC_NEW is disabled,
        it isn't true that operator new[], operator delete[] are equivalent to fastMalloc(), fastFree(),
        respectively. Hence, there may be a mismatch between the allocation and deallocation
        routines. Therefore, we should allocate the array to be adopted by OwnArrayPtr using
        operator new[].

        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::getProgramInfoLog):

2012-01-07  Chris Marrin  <cmarrin@apple.com>

        Fixed ANGLE build for GNU and QT broken in https://trac.webkit.org/changeset/104363

        Unreviewed.

        * GNUmakefile.list.am:
        * Target.pri:

2012-01-07  Andreas Kling  <awesomekling@apple.com>

        Unreviewed C++ bindings build fix after r104383.

        Use WTF::getPtr() to grab at impl pointer since they could be either RefPtr or raw.

        * bindings/scripts/CodeGeneratorCPP.pm:
        (GenerateImplementation):
        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
        (WebDOMTestCallback::impl):
        * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp:
        (WebDOMTestEventConstructor::impl):
        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
        (WebDOMTestInterface::impl):
        * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp:
        (WebDOMTestMediaQueryListListener::impl):
        * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp:
        (WebDOMTestNamedConstructor::impl):
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::impl):
        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
        (WebDOMTestSerializedScriptValueInterface::impl):

2012-01-07  Andreas Kling  <awesomekling@apple.com>

        Simplify HTMLCollection ownership model.
        <http://webkit.org/b/75437>

        Reviewed by Sam Weinig.

        Remove HTMLCollection's inheritance from RefCounted and use OwnPtr to store it.
        Added ref()/deref() methods that forward to the collection's base node, these
        are only ever used by DOM wrappers.

        This is a behavior change, HTMLCollection wrappers now keep the base node alive.

        Test: fast/dom/htmlcollection-protects-base.html

        * html/HTMLCollection.h:
        (WebCore::HTMLCollection::ref):
        (WebCore::HTMLCollection::deref):

            Removed inheritance from RefCounted. Added ref/deref that forward the refs
            to the collection's base Node.

        * dom/Element.cpp:
        (WebCore::Element::~Element):
        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::~Document):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::~HTMLFormElement):
        * html/HTMLSelectElement.h:
        * html/HTMLSelectElement.cpp:

            Remove HTMLCollection::detachFromNode() and call sites.

        * html/HTMLAllCollection.cpp:
        (WebCore::HTMLAllCollection::namedItemWithIndex):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::invalidateCacheIfNeeded):
        (WebCore::HTMLCollection::itemAfter):
        (WebCore::HTMLCollection::calcLength):
        (WebCore::HTMLCollection::length):
        (WebCore::HTMLCollection::item):
        (WebCore::HTMLCollection::nextItem):
        (WebCore::HTMLCollection::namedItem):
        (WebCore::HTMLCollection::updateNameCache):
        (WebCore::HTMLCollection::hasNamedItem):
        (WebCore::HTMLCollection::namedItems):
        (WebCore::HTMLCollection::tags):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::calcLength):
        (WebCore::HTMLFormCollection::item):
        (WebCore::HTMLFormCollection::getNamedItem):
        (WebCore::HTMLFormCollection::namedItem):
        (WebCore::HTMLFormCollection::updateNameCache):
        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::itemAfter):
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::add):
        (WebCore::HTMLOptionsCollection::remove):
        (WebCore::HTMLOptionsCollection::selectedIndex):
        (WebCore::HTMLOptionsCollection::setSelectedIndex):
        (WebCore::HTMLOptionsCollection::setLength):
        * html/HTMLPropertiesCollection.cpp:
        (WebCore::HTMLPropertiesCollection::length):
        (WebCore::HTMLPropertiesCollection::item):
        (WebCore::HTMLPropertiesCollection::names):

            Removed base node null-checks and assertions. Added one assertion to
            the HTMLCollection constructor (that m_base is non-null.)

        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::openSearchDescriptionURL):
        (WebCore::Document::cachedCollection):
        (WebCore::Document::images):
        (WebCore::Document::applets):
        (WebCore::Document::embeds):
        (WebCore::Document::plugins):
        (WebCore::Document::objects):
        (WebCore::Document::scripts):
        (WebCore::Document::links):
        (WebCore::Document::forms):
        (WebCore::Document::anchors):
        (WebCore::Document::all):
        (WebCore::Document::windowNamedItems):
        (WebCore::Document::documentNamedItems):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::namedItemGetter):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::nameGetter):
        (WebCore::JSHTMLDocument::all):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::GetNamedProperty):
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::ensureCachedHTMLCollection):
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::properties):
        * html/HTMLAllCollection.h:
        * html/HTMLAllCollection.cpp:
        (WebCore::HTMLAllCollection::create):
        * html/HTMLCollection.h:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::create):
        (WebCore::HTMLCollection::HTMLCollection):
        * html/HTMLDataListElement.cpp:
        (WebCore::HTMLDataListElement::options):
        * html/HTMLDataListElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::children):
        * html/HTMLElement.h:
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::options):
        * html/HTMLFormCollection.h:
        * html/HTMLFormElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::elements):
        * html/HTMLNameCollection.h:
        (WebCore::HTMLNameCollection::create):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::create):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::imageElement):
        (WebCore::HTMLMapElement::areas):
        * html/HTMLMapElement.h:
        * html/HTMLPropertiesCollection.h:
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::rows):
        (WebCore::HTMLTableElement::tBodies):
        * html/HTMLTableElement.h:
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::insertCell):
        (WebCore::HTMLTableRowElement::deleteCell):
        (WebCore::HTMLTableRowElement::cells):
        * html/HTMLTableRowElement.h:
        * html/HTMLTableRowsCollection.cpp:
        (WebCore::HTMLTableRowsCollection::create):
        (WebCore::HTMLTableRowsCollection::itemAfter):
        * html/HTMLTableRowsCollection.h:
        * html/HTMLTableSectionElement.h:
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::insertRow):
        (WebCore::HTMLTableSectionElement::deleteRow):
        (WebCore::HTMLTableSectionElement::rows):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::selectedOption):
        * html/HTMLOptionsCollection.h:
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::create):
        * html/HTMLPropertiesCollection.cpp:
        (WebCore::HTMLPropertiesCollection::create):
        * Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::getDocumentLinks):

            Store cached HTMLCollections in OwnPtrs. Methods that used to return
            PassRefPtr<HTMLCollection> now simply return HTMLCollection*.
            Updated call sites as appropriate.

2012-01-07  Adam Barth  <abarth@webkit.org>

        Attempt to fix Qt build.

        * page/Geolocation.cpp:
        (WebCore::Geolocation::Geolocation):

2012-01-06  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r104210): Crash inside DynamicSubtreeNodeList::length
        https://bugs.webkit.org/show_bug.cgi?id=75731

        Reviewed by Andreas Kling.

        The crash was caused by DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent
        using m_cachedItem as a way to access the document. Changed SubtreeCaches to use
        DynamicSubtreeNodeList's m_node instead.

        Test: fast/dom/node-list-length-after-removing-node.html

        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache):
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache):
        (WebCore::DynamicSubtreeNodeList::length):
        (WebCore::DynamicSubtreeNodeList::item):
        * dom/DynamicNodeList.h:
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid):
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid):
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItem):
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent):

2012-01-07  Adam Barth  <abarth@webkit.org>

        Disconnecting DOMWindow properties is fragile and overly complicated
        https://bugs.webkit.org/show_bug.cgi?id=75699

        Reviewed by Alexey Proskuryakov.

        Previously, we had to carefully check every object tree hanging off of
        DOMWindow to make sure that every property correctly disconnected
        itself and all its subobjects from the Frame when the DOMWindow
        disconnected from the Frame.

        This patch introduces DOMWindowProperty, which is a base class that
        handles this work automagically, ensuring that we won't have any
        dangling Frame pointers and removing a bunch of boilerplate code.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * css/StyleMedia.cpp:
        (WebCore::StyleMedia::StyleMedia):
        * css/StyleMedia.h:
        (WebCore::StyleMedia::create):
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::DOMApplicationCache):
        (WebCore::DOMApplicationCache::disconnectFrame):
        * loader/appcache/DOMApplicationCache.h:
        * page/BarInfo.cpp:
        (WebCore::BarInfo::BarInfo):
        * page/BarInfo.h:
        * page/Console.cpp:
        (WebCore::Console::Console):
        (WebCore::Console::memory):
        * page/Console.h:
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::DOMSelection):
        * page/DOMSelection.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::registerProperty):
        (WebCore::DOMWindow::unregisterProperty):
        (WebCore::DOMWindow::clear):
        * page/DOMWindow.h:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::Geolocation):
        (WebCore::Geolocation::disconnectFrame):
        * page/Geolocation.h:
        * page/History.cpp:
        (WebCore::History::History):
        * page/History.h:
        * page/Location.cpp:
        (WebCore::Location::Location):
        * page/Location.h:
        * page/Navigator.cpp:
        (WebCore::Navigator::Navigator):
        (WebCore::Navigator::~Navigator):
        * page/Navigator.h:
        * page/Performance.cpp:
        (WebCore::Performance::Performance):
        (WebCore::Performance::memory):
        * page/Performance.h:
        * page/PerformanceNavigation.cpp:
        (WebCore::PerformanceNavigation::PerformanceNavigation):
        * page/PerformanceNavigation.h:
        * page/PerformanceTiming.cpp:
        (WebCore::PerformanceTiming::PerformanceTiming):
        * page/PerformanceTiming.h:
        * page/Screen.cpp:
        (WebCore::Screen::Screen):
        * page/Screen.h:
        * plugins/DOMMimeTypeArray.cpp:
        (WebCore::DOMMimeTypeArray::DOMMimeTypeArray):
        * plugins/DOMMimeTypeArray.h:
        * plugins/DOMPluginArray.cpp:
        (WebCore::DOMPluginArray::DOMPluginArray):
        * plugins/DOMPluginArray.h:
        * storage/Storage.cpp:
        (WebCore::Storage::Storage):
        * storage/Storage.h:

2012-01-06  Mark Rowe  <mrowe@apple.com>

        REGRESSION (r83075): Save as PDF does not generate any links for webkit.org and others
        <http://webkit.org/b/75768> <rdar://problem/10659258>

        Use RenderObject::hasOutline when determining whether to always create line boxes so that
        we take in to consideration whether we'll be creating PDF link rects.

        Reviewed by Dan Bernstein.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::styleDidChange):

2012-01-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104373 and r104374.
        http://trac.webkit.org/changeset/104373
        http://trac.webkit.org/changeset/104374
        https://bugs.webkit.org/show_bug.cgi?id=75769

        Too many assertion failures. (Requested by kling on #webkit).

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::namedItemGetter):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::nameGetter):
        (WebCore::JSHTMLDocument::all):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::GetNamedProperty):
        * dom/Document.cpp:
        (WebCore::Document::~Document):
        (WebCore::Document::openSearchDescriptionURL):
        (WebCore::Document::cachedCollection):
        (WebCore::Document::images):
        (WebCore::Document::applets):
        (WebCore::Document::embeds):
        (WebCore::Document::plugins):
        (WebCore::Document::objects):
        (WebCore::Document::scripts):
        (WebCore::Document::links):
        (WebCore::Document::forms):
        (WebCore::Document::anchors):
        (WebCore::Document::all):
        (WebCore::Document::windowNamedItems):
        (WebCore::Document::documentNamedItems):
        * dom/Document.h:
        * dom/Element.cpp:
        (WebCore::Element::~Element):
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::cachedHTMLCollection):
        (WebCore::ElementRareData::ensureCachedHTMLCollection):
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::properties):
        * html/HTMLAllCollection.cpp:
        (WebCore::HTMLAllCollection::create):
        (WebCore::HTMLAllCollection::namedItemWithIndex):
        * html/HTMLAllCollection.h:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::create):
        (WebCore::HTMLCollection::detachFromNode):
        (WebCore::HTMLCollection::invalidateCacheIfNeeded):
        (WebCore::HTMLCollection::itemAfter):
        (WebCore::HTMLCollection::calcLength):
        (WebCore::HTMLCollection::length):
        (WebCore::HTMLCollection::item):
        (WebCore::HTMLCollection::nextItem):
        (WebCore::HTMLCollection::namedItem):
        (WebCore::HTMLCollection::updateNameCache):
        (WebCore::HTMLCollection::hasNamedItem):
        (WebCore::HTMLCollection::namedItems):
        (WebCore::HTMLCollection::tags):
        * html/HTMLCollection.h:
        * html/HTMLDataListElement.cpp:
        (WebCore::HTMLDataListElement::options):
        * html/HTMLDataListElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::children):
        * html/HTMLElement.h:
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::create):
        (WebCore::HTMLFormCollection::calcLength):
        (WebCore::HTMLFormCollection::item):
        (WebCore::HTMLFormCollection::getNamedItem):
        (WebCore::HTMLFormCollection::namedItem):
        (WebCore::HTMLFormCollection::updateNameCache):
        * html/HTMLFormCollection.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::~HTMLFormElement):
        (WebCore::HTMLFormElement::elements):
        * html/HTMLFormElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::selectedOption):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::imageElement):
        (WebCore::HTMLMapElement::areas):
        * html/HTMLMapElement.h:
        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::itemAfter):
        * html/HTMLNameCollection.h:
        (WebCore::HTMLNameCollection::create):
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::create):
        (WebCore::HTMLOptionsCollection::add):
        (WebCore::HTMLOptionsCollection::remove):
        (WebCore::HTMLOptionsCollection::selectedIndex):
        (WebCore::HTMLOptionsCollection::setSelectedIndex):
        (WebCore::HTMLOptionsCollection::setLength):
        * html/HTMLOptionsCollection.h:
        * html/HTMLPropertiesCollection.cpp:
        (WebCore::HTMLPropertiesCollection::create):
        (WebCore::HTMLPropertiesCollection::length):
        (WebCore::HTMLPropertiesCollection::item):
        (WebCore::HTMLPropertiesCollection::names):
        * html/HTMLPropertiesCollection.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::~HTMLSelectElement):
        (WebCore::HTMLSelectElement::options):
        * html/HTMLSelectElement.h:
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::~HTMLTableElement):

2012-01-06  Andreas Kling  <awesomekling@apple.com>

        Unreviewed build fix after r104373.

        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::~HTMLTableElement):

2012-01-06  Andreas Kling  <awesomekling@apple.com>

        Simplify HTMLCollection ownership model.
        <http://webkit.org/b/75437>

        Reviewed by Sam Weinig.

        Remove HTMLCollection's inheritance from RefCounted and use OwnPtr to store it.
        Added ref()/deref() methods that forward to the collection's base node, these
        are only ever used by DOM wrappers.

        This is a behavior change, HTMLCollection wrappers now keep the base node alive.

        Test: fast/dom/htmlcollection-protects-base.html

        * html/HTMLCollection.h:
        (WebCore::HTMLCollection::ref):
        (WebCore::HTMLCollection::deref):

            Removed inheritance from RefCounted. Added ref/deref that forward the refs
            to the collection's base Node.

        * dom/Element.cpp:
        (WebCore::Element::~Element):
        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::~Document):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::~HTMLFormElement):
        * html/HTMLSelectElement.h:
        * html/HTMLSelectElement.cpp:

            Remove HTMLCollection::detachFromNode() and call sites.

        * html/HTMLAllCollection.cpp:
        (WebCore::HTMLAllCollection::namedItemWithIndex):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::invalidateCacheIfNeeded):
        (WebCore::HTMLCollection::itemAfter):
        (WebCore::HTMLCollection::calcLength):
        (WebCore::HTMLCollection::length):
        (WebCore::HTMLCollection::item):
        (WebCore::HTMLCollection::nextItem):
        (WebCore::HTMLCollection::namedItem):
        (WebCore::HTMLCollection::updateNameCache):
        (WebCore::HTMLCollection::hasNamedItem):
        (WebCore::HTMLCollection::namedItems):
        (WebCore::HTMLCollection::tags):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::calcLength):
        (WebCore::HTMLFormCollection::item):
        (WebCore::HTMLFormCollection::getNamedItem):
        (WebCore::HTMLFormCollection::namedItem):
        (WebCore::HTMLFormCollection::updateNameCache):
        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::itemAfter):
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::add):
        (WebCore::HTMLOptionsCollection::remove):
        (WebCore::HTMLOptionsCollection::selectedIndex):
        (WebCore::HTMLOptionsCollection::setSelectedIndex):
        (WebCore::HTMLOptionsCollection::setLength):
        * html/HTMLPropertiesCollection.cpp:
        (WebCore::HTMLPropertiesCollection::length):
        (WebCore::HTMLPropertiesCollection::item):
        (WebCore::HTMLPropertiesCollection::names):

            Removed base node null-checks and assertions. Added one assertion to
            the HTMLCollection constructor (that m_base is non-null.)

        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::openSearchDescriptionURL):
        (WebCore::Document::cachedCollection):
        (WebCore::Document::images):
        (WebCore::Document::applets):
        (WebCore::Document::embeds):
        (WebCore::Document::plugins):
        (WebCore::Document::objects):
        (WebCore::Document::scripts):
        (WebCore::Document::links):
        (WebCore::Document::forms):
        (WebCore::Document::anchors):
        (WebCore::Document::all):
        (WebCore::Document::windowNamedItems):
        (WebCore::Document::documentNamedItems):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::namedItemGetter):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::nameGetter):
        (WebCore::JSHTMLDocument::all):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::GetNamedProperty):
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::ensureCachedHTMLCollection):
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::properties):
        * html/HTMLAllCollection.h:
        * html/HTMLAllCollection.cpp:
        (WebCore::HTMLAllCollection::create):
        * html/HTMLCollection.h:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::create):
        (WebCore::HTMLCollection::HTMLCollection):
        * html/HTMLDataListElement.cpp:
        (WebCore::HTMLDataListElement::options):
        * html/HTMLDataListElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::children):
        * html/HTMLElement.h:
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::options):
        * html/HTMLFormCollection.h:
        * html/HTMLFormElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::elements):
        * html/HTMLNameCollection.h:
        (WebCore::HTMLNameCollection::create):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::create):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::imageElement):
        (WebCore::HTMLMapElement::areas):
        * html/HTMLMapElement.h:
        * html/HTMLPropertiesCollection.h:
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::rows):
        (WebCore::HTMLTableElement::tBodies):
        * html/HTMLTableElement.h:
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::insertCell):
        (WebCore::HTMLTableRowElement::deleteCell):
        (WebCore::HTMLTableRowElement::cells):
        * html/HTMLTableRowElement.h:
        * html/HTMLTableRowsCollection.cpp:
        (WebCore::HTMLTableRowsCollection::create):
        (WebCore::HTMLTableRowsCollection::itemAfter):
        * html/HTMLTableRowsCollection.h:
        * html/HTMLTableSectionElement.h:
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::insertRow):
        (WebCore::HTMLTableSectionElement::deleteRow):
        (WebCore::HTMLTableSectionElement::rows):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::selectedOption):
        * html/HTMLOptionsCollection.h:
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::create):
        * html/HTMLPropertiesCollection.cpp:
        (WebCore::HTMLPropertiesCollection::create):

            Store cached HTMLCollections in OwnPtrs. Methods that used to return
            PassRefPtr<HTMLCollection> now simply return HTMLCollection*.
            Updated call sites as appropriate.

2012-01-06  Adam Barth  <abarth@webkit.org>

        DOMWindow should be a FrameDestructionObserver
        https://bugs.webkit.org/show_bug.cgi?id=75697

        Reviewed by Alexey Proskuryakov.

        DOMWindow plays exactly the role of a FrameDestructionObserver, just
        with special-case code.  It should just use the general-case code.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::DOMWindow):
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::frameDestroyed):
        * page/DOMWindow.h:
        * page/Frame.cpp:
        (WebCore::Frame::~Frame):
        (WebCore::Frame::clearDOMWindow):
        (WebCore::Frame::setDOMWindow):
        * page/Frame.h:

2012-01-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Missing Implementation of Public InspectorDOMAgent Function
        https://bugs.webkit.org/show_bug.cgi?id=75759

        Implement missing accessor and make setter public.

        Reviewed by Timothy Hatcher.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::searchingForNodeInPage):
        * inspector/InspectorDOMAgent.h:

2012-01-06  W. James MacLean  <wjmaclean@chromium.org>

        [Chromium] Cull occluded tiles in tiled layers
        https://bugs.webkit.org/show_bug.cgi?id=70533

        Reviewed by James Robinson.

        Unit test provided, must pass all existing GPU layout tests.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::appendQuads):
        (WebCore::CCLayerImpl::quadTransform):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        * platform/graphics/chromium/cc/CCQuadCuller.cpp: Added.
        (std::swap):
        (WebCore::regionContainsRect):
        (WebCore::CCQuadCuller::cullOccludedQuads):
        * platform/graphics/chromium/cc/CCQuadCuller.h: Added.
        (WebCore::CCQuadCuller::CCQuadCuller):
        * platform/graphics/chromium/cc/CCRenderPass.cpp:
        (WebCore::CCRenderPass::optimizeQuads):
        * platform/graphics/chromium/cc/CCRenderPass.h:

2012-01-06  Anders Carlsson  <andersca@apple.com>

        Move more rubberbanding code into ScrollAnimatorMac::smoothScrollWithEvent
        https://bugs.webkit.org/show_bug.cgi?id=75750

        Reviewed by Sam Weinig.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleWheelEvent):
        Move rubberbanding related code into smoothScrollWithEvent.

        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
        Move code here from handleWheelEvent and made the function return a boolean.

        (WebCore::ScrollAnimatorMac::snapRubberBand):
        Call the client.

        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
        Ditto.

2012-01-06  Greg Billock  <gbillock@google.com>

        WebCore implementation of the Intent object
        See http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
        for draft spec.

        https://bugs.webkit.org/show_bug.cgi?id=73051

        Reviewed by Adam Barth.

        Test: web-intents/web-intents-api.html

        * WebCore.gypi:
        * page/DOMWindow.idl:
        * Modules/intents/Intent.cpp: Added.
        (WebCore::Intent::Intent):
        (WebCore::Intent::action):
        (WebCore::Intent::setAction):
        (WebCore::Intent::type):
        (WebCore::Intent::setType):
        (WebCore::Intent::data):
        (WebCore::Intent::setData):
        (WebCore::Intent::create):
        * Modules/intents/Intent.h: Added.
        * Modules/intents/Intent.idl: Added.

2012-01-06  Tim Horton  <timothy_horton@apple.com>

        [cg] userSpaceOnUse SVG Patterns have the wrong origin
        https://bugs.webkit.org/show_bug.cgi?id=75741
        <rdar://problem/9383222>

        Reviewed by Simon Fraser.

        The transformation from pattern space to user space should use the userToBase CTM,
        not the current CTM.

        Test: svg/custom/pattern-userSpaceOnUse-userToBaseTransform.xhtml

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::applyStrokePattern):
        (WebCore::GraphicsContext::applyFillPattern):
        (WebCore::GraphicsContext::getCTM):
        * platform/graphics/cg/TransformationMatrixCG.cpp:
        (WebCore::AffineTransform::AffineTransform): Add a AffineTransform(CGAffineTransform) constructor
        * platform/graphics/transforms/AffineTransform.h:

2012-01-05  Simon Fraser  <simon.fraser@apple.com>

        Avoid falling into tiled layers more often when the device scale factor is > 1
        <rdar://problem/10588725>

        Reviewed by John Sullivan.
        
        Stop taking the device scale factor into account when deciding to make
        tiled layers.

        Test: compositing/tiled-layers-hidpi.html

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::requiresTiledLayer):

2012-01-06  Ryosuke Niwa  <rniwa@webkit.org>

        Touch a bunch of files in an attempt to fix Mac release builds.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::get):
        * accessibility/AccessibilityAllInOne.cpp:
        * editing/visible_units.cpp:
        (WebCore::previousBoundary):

2012-01-06  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Enable a compositing trigger for filters
        https://bugs.webkit.org/show_bug.cgi?id=75658

        This will enable forcing the compositing code path when filters exist for a RenderObject.

        Reviewed by Simon Fraser.

        No new functionality so no new tests.

        * page/ChromeClient.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::requiresCompositingForFilters):
        * rendering/RenderLayerCompositor.h:

2012-01-06  Anders Carlsson  <andersca@apple.com>

        Add and use ScrollElasticityControllerClient::absoluteScrollPosition
        https://bugs.webkit.org/show_bug.cgi?id=75744

        Reviewed by Dan Bernstein.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::absoluteScrollPosition):
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
        * platform/mac/ScrollElasticityController.h:

2012-01-06  Adam Barth  <abarth@webkit.org>

        Move FrameDestructionObserver to its own file
        https://bugs.webkit.org/show_bug.cgi?id=75693

        Reviewed by Eric Seidel.

        We should have one class per file, on general principles.  Also, this
        make it possible to use this class in DOMWindow without introducing a
        circular include dependency.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * page/Frame.cpp:
        * page/Frame.h:
        * page/FrameDestructionObserver.cpp: Added.
        (WebCore::FrameDestructionObserver::FrameDestructionObserver):
        (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
        (WebCore::FrameDestructionObserver::frameDestroyed):
        * page/FrameDestructionObserver.h: Added.
        (WebCore::FrameDestructionObserver::frame):
        * plugins/DOMMimeType.h:
        * plugins/DOMPlugin.h:

2012-01-06  Anders Carlsson  <andersca@apple.com>

        Fix Snow Leopard build.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::immediateScrollBy):
        Move the function definition inside #if ENABLE(RUBBER_BANDING).

2012-01-04  Jon Lee  <jonlee@apple.com>

        Clicking on the cancel button on readonly and disabled search fields darkens as if the search field was editable
        https://bugs.webkit.org/show_bug.cgi?id=69886
        <rdar://problem/10070187>

        Reviewed by Adele Peterson.

        Tests: ManualTests/search-cancel-button.html

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton): If the input is readonly and/or disabled, force the cell to
        render without highlight.

2012-01-06  Simon Fraser  <simon.fraser@apple.com>

        Mitigate scrollbar differences when running pixel tests
        https://bugs.webkit.org/show_bug.cgi?id=67217

        Reviewed by Dan Bernstein.

        Export WebCore::Settings::mockScrollbarsEnabled() for DRT.

        * WebCore.exp.in:

2012-01-06  Tom Sepez  <tsepez@chromium.org>

        Pass Content-Security-Policy directives to worker threads.
        https://bugs.webkit.org/show_bug.cgi?id=73242

        Reviewed by David Levin.

        Tests: http/tests/security/contentSecurityPolicy/shared-worker-connect-src-allowed.html
               http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked.html
               http/tests/security/contentSecurityPolicy/worker-connect-src-allowed.html
               http/tests/security/contentSecurityPolicy/worker-connect-src-blocked.html

        * page/ContentSecurityPolicy.h:
        (WebCore::ContentSecurityPolicy::policy):
        (WebCore::ContentSecurityPolicy::headerType):
        * workers/DedicatedWorkerContext.cpp:
        (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
        * workers/DedicatedWorkerContext.h:
        (WebCore::DedicatedWorkerContext::create):
        * workers/DedicatedWorkerThread.cpp:
        (WebCore::DedicatedWorkerThread::create):
        (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
        (WebCore::DedicatedWorkerThread::createWorkerContext):
        * workers/DedicatedWorkerThread.h:
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerScriptLoader::notifyFinished):
        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
        * workers/DefaultSharedWorkerRepository.h:
        * workers/SharedWorkerContext.cpp:
        (WebCore::SharedWorkerContext::SharedWorkerContext):
        * workers/SharedWorkerContext.h:
        (WebCore::SharedWorkerContext::create):
        * workers/SharedWorkerThread.cpp:
        (WebCore::SharedWorkerThread::create):
        (WebCore::SharedWorkerThread::SharedWorkerThread):
        (WebCore::SharedWorkerThread::createWorkerContext):
        * workers/SharedWorkerThread.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::WorkerContext):
        * workers/WorkerContext.h:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerMessagingProxy::startWorkerContext):
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThreadStartupData::create):
        (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
        (WebCore::WorkerThread::WorkerThread):
        (WebCore::WorkerThread::workerThread):
        * workers/WorkerThread.h:

2012-01-06  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Crash while collecting svg elements in render flow thread.
        https://bugs.webkit.org/show_bug.cgi?id=73735

        Reviewed by David Hyatt.

        Tests: fast/regions/svg-doc-fragment-not-collected-expected.html
               fast/regions/svg-doc-fragment-not-collected.html
               fast/regions/svg-element-not-collected-expected.html
               fast/regions/svg-element-not-collected.html
               fast/regions/svg-root-element-collected.html

        By allowing only svg root elements to be collected in a render flow thread,
        the svg render tree is properly constructed, thus prevented a possible further crash.

        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):

2012-01-06  Eric Carlson  <eric.carlson@apple.com>

        Make TextTrackCue more mutable
        https://bugs.webkit.org/show_bug.cgi?id=72555

        Reviewed by Anders Carlsson.

        Test: media/track/track-cue-mutable.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Do nothing if the "ignore cue updates"
            flag is set
        (WebCore::HTMLMediaElement::textTrackAddCues): Block cue updates until all of the new cues have
            been added, then call updateActiveTextTrackCues so update the display if necessary.
        (WebCore::HTMLMediaElement::textTrackRemoveCues): Block cue updates until all of the new cues have
            been removed, then call updateActiveTextTrackCues so update the display if necessary.
        (WebCore::HTMLMediaElement::textTrackAddCue): Call updateActiveTextTrackCues so update the display if necessary.
        (WebCore::HTMLMediaElement::textTrackRemoveCue): Ditto.
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::ignoreTrackDisplayUpdateRequests):
        (WebCore::HTMLMediaElement::beginIgnoringTrackDisplayUpdateRequests):
        (WebCore::HTMLMediaElement::endIgnoringTrackDisplayUpdateRequests):

        * html/TextTrack.cpp:
        (WebCore::TextTrack::cueWillChange): New, remove the cue from the media element because its
            position in the interval tree is based on start and end times.
        (WebCore::TextTrack::cueDidChange): Add the cue to the media element.
        * html/TextTrack.h:

        * html/TextTrackCue.cpp:
        (WebCore::startKeyword): New, use a static String for the constant.
        (WebCore::middleKeyword): Ditto.
        (WebCore::endKeyword): Ditto.
        (WebCore::horizontalKeyword): Ditto.
        (WebCore::verticalKeyword): Ditto.
        (WebCore::verticallrKeyword): Ditto.
        (WebCore::TextTrackCue::cueWillChange): New, tell the track the cue is about to change.
        (WebCore::TextTrackCue::cueDidChange): New, tell the track the cue has changed.
        (WebCore::TextTrackCue::setId): New, attribute is mutable.
        (WebCore::TextTrackCue::setStartTime): Ditto.
        (WebCore::TextTrackCue::setEndTime): Ditto.
        (WebCore::TextTrackCue::setPauseOnExit): Ditto.
        (WebCore::TextTrackCue::direction): Ditto.
        (WebCore::TextTrackCue::setDirection): Ditto.
        (WebCore::TextTrackCue::setSnapToLines): Ditto.
        (WebCore::TextTrackCue::setLinePosition): Ditto.
        (WebCore::TextTrackCue::setTextPosition): Ditto.
        (WebCore::TextTrackCue::setSize): Ditto.
        (WebCore::TextTrackCue::alignment): Ditto.
        (WebCore::TextTrackCue::setAlignment): Ditto.
        (WebCore::TextTrackCue::parseSettings): Use the static strings.
        * html/TextTrackCue.h:
        (WebCore::TextTrackCue::id):
        (WebCore::TextTrackCue::startTime):
        (WebCore::TextTrackCue::endTime):
        (WebCore::TextTrackCue::pauseOnExit):
        * html/TextTrackCue.idl:

2012-01-06  Oliver Hunt  <oliver@apple.com>

        DFG no longer optimises CanvasPixelArray
        https://bugs.webkit.org/show_bug.cgi?id=75729

        Reviewed by Gavin Barraclough.

        Remove the custom ClassInfo for CanvasPixelArray as that is
        defeating ByteArray optimisation, and is no longer needed
        anyway as it was only there to change the visible name.

        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):

2012-01-06  Ken Buchanan  <kenrb@chromium.org>

        ASSERT failure due to combine-text with preceding spaces
        https://bugs.webkit.org/show_bug.cgi?id=65147

        Reviewed by David Hyatt.

        A couple of ASSERTs were failing due to a parsing problem when
        advancing an inline iterator to the next linebreak in a
        RenderCombineText. skipLeadingWhitespace advances the iterator
        over leading whitespace but when searching for the line break
        nextLineBreak would call RenderCombineText::combineText(),
        collapsing the text so that the iterator is pointing past the
        end of it.

        This patch causes combineText() to be called during
        skipLeadingWhiteSpace before iteration over the RenderCombineText
        begins.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):

2012-01-06  Anders Carlsson  <andersca@apple.com>

        Make ScrollAnimatorMac::snapRubberBandTimerFired use m_scrollElasticityController in more places
        https://bugs.webkit.org/show_bug.cgi?id=75726

        Reviewed by Sam Weinig.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::canScrollHorizontally):
        (WebCore::ScrollAnimatorMac::canScrollVertically):
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
        * platform/mac/ScrollElasticityController.h:

2012-01-06  Pratik Solanki  <psolanki@apple.com>

        WebKit1 fails to compile with USE(CFNETWORK) and HAVE(NETWORK_CFDATA_ARRAY_CALLBACK)
        https://bugs.webkit.org/show_bug.cgi?id=75675

        Reviewed by Oliver Hunt.

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::willCacheResponse):

2012-01-06  Abhishek Arya  <inferno@chromium.org>

        Crash with range selection across different documents.
        https://bugs.webkit.org/show_bug.cgi?id=74285

        Reviewed by Ryosuke Niwa.

        Test: fast/dom/Range/range-selection-across-documents-crash.html

        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::addRange):

2012-01-06  Sam Weinig  <sam@webkit.org>

        Remove unused OwnFastMallocPtr class.
        https://bugs.webkit.org/show_bug.cgi?id=75722

        Reviewed by Geoffrey Garen.

        * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Removed.
        * bindings/js/JSWebGLRenderingContextCustom.cpp:

2012-01-06  Tony Chang  <tony@chromium.org>

        Need to relayout when stretching the height of a flex item
        https://bugs.webkit.org/show_bug.cgi?id=75661

        Reviewed by Ojan Vafai.

        Test: css3/flexbox/flex-align-stretch.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::computePreferredMainAxisExtent): Always clear the override size since
        it may be set when aligning.
        (WebCore::RenderFlexibleBox::alignChildren): Only relayout if the height changed.

2012-01-06  Anders Carlsson  <andersca@apple.com>

        Add ScrollElasticityControllerClient::immediateScrollBy
        https://bugs.webkit.org/show_bug.cgi?id=75720

        Reviewed by Andreas Kling.

        Add a new ScrollElasticityControllerClient::immediateScrollBy client member function.
        Also, make ScrollAnimatorMac::smoothScrollWithEvent calls go through the ScrollElasticityController
        in preparation for moving that function to ScrollElasticityController.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
        * platform/mac/ScrollElasticityController.h:

2012-01-06  Wei James  <james.wei@intel.com>

        Use VectorMath lib when possible to optimize the processing in WebAudio AudioBus
        https://bugs.webkit.org/show_bug.cgi?id=75334

        Reviewed by Kenneth Russell.

        * platform/audio/AudioBus.cpp:
        (WebCore::AudioBus::processWithGainFromMonoStereo):

2012-01-06  Jer Noble  <jer.noble@apple.com>

        Fullscreen video controller can't be dragged the first time I enter fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=75709

        Reviewed by Eric Carlson.

        No new tests; updated video-controls-drag.html.

        When the media controls are created, check to see if we are full screen, and pass
        that information to the newly created controls.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::createMediaControls):

2012-01-05  Jer Noble  <jer.noble@apple.com>

        Media Element: scrubbing in full-screen mode breaks playback.
        https://bugs.webkit.org/show_bug.cgi?id=75650

        Reviewed by John Sullivan.

        Test: fullscreen/video-controls-timeline.html

        Only begin scrubbing if the panel itself is the mousedown event target.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::defaultEventHandler):

2012-01-05  Jer Noble  <jer.noble@apple.com>

        REGRESSION (r90797): Full screen video HUD cannot be dragged horizontally
        https://bugs.webkit.org/show_bug.cgi?id=75200

        Reviewed by Eric Carlson.

        Test: fullscreen/video-controls-drag.html

        The !important rules in fullscreenQuickTime.css are overriding the styles added by the 
        drag operation in MediaControlElements.cpp.  Give the panel a "dragged" class in setPosition
        (clearing it in resetPosition) that allows the !important rules to apply only when the 
        panel is not dragged.

        * css/fullscreenQuickTime.css:
        (video:-webkit-full-screen::-webkit-media-controls-panel):
        (video:-webkit-full-screen::-webkit-media-controls-panel:not(.dragged)):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::setPosition):
        (WebCore::MediaControlPanelElement::resetPosition):

2012-01-05  Antti Koivisto  <antti@apple.com>

        REGRESSION (r104060): fast/forms/textarea-metrics.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=75644

        Reviewed by Alexey Proskuryakov.

        We need to clear the style selector on doc type change as the doc type
        may affect interpretation of the stylesheets. r104060 extended the life
        of the style selector in some cases, exposing this problem.

        * dom/Document.cpp:
        (WebCore::Document::setDocType):

2012-01-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Move listing of include paths and libs to pri files in sources

        Includepaths are sometimes modified by non-Qt contributors so keeping
        them in files inside Sources makes it more likely that they are updated
        along with project files for the other ports.

        Using pri files instead of prf files for this also has the benefit that
        the include() from the main target file can be parsed and followed by
        Qt Creator -- something that does not work with load().

        Dependency from a target to a library through the WEBKIT variable are
        handled through forwarding-files in Tools/qmake/mkspecs/modules, which
        set the source root of the module and include the right pri file.

        Ideally we'd use the variant of include() that takes an optional
        namespace to read the variables into, or the fromfile() function,
        but both of these add an overhead of about 40% on the total qmake
        runtime, due to making a deep copy of all the variables in the
        project or re-reading all the prf files from scratch.

        Reviewed by Simon Hausmann.
        Reviewed by Ossy.

        * Target.pri:
        * WebCore.pri: Renamed from Tools/qmake/mkspecs/features/webcore.prf.

2012-01-06  Adam Barth  <abarth@webkit.org>

        FrameDestructionObserver should be more full-service
        https://bugs.webkit.org/show_bug.cgi?id=75690

        Reviewed by Eric Seidel.

        This patch moves code common to both subclasses of
        FrameDestructionObserver into FrameDestructionObserver itself.  As we
        add more subclasses, we don't want to keep copy/pasting this code.

        * page/Frame.cpp:
        (WebCore::FrameDestructionObserver::FrameDestructionObserver):
        (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
        (WebCore::FrameDestructionObserver::frameDestroyed):
        * page/Frame.h:
        (WebCore::FrameDestructionObserver::frame):
        * plugins/DOMMimeType.cpp:
        (WebCore::DOMMimeType::DOMMimeType):
        (WebCore::DOMMimeType::~DOMMimeType):
        * plugins/DOMMimeType.h:
        * plugins/DOMPlugin.cpp:
        (WebCore::DOMPlugin::DOMPlugin):
        (WebCore::DOMPlugin::~DOMPlugin):
        * plugins/DOMPlugin.h:

2012-01-06  Dale Curtis  <dalecurtis@chromium.org>

        Move MediaDocument styles into CSS. Set black background for chromium.
        https://bugs.webkit.org/show_bug.cgi?id=74123

        Reviewed by Eric Seidel.

        Test: platform/chromium/media/video-black-bg-in-media-document.html

        * css/mediaControls.css:
        (body:-webkit-full-page-media):
        (video:-webkit-full-page-media):
        * css/mediaControlsChromium.css:
        (body:-webkit-full-page-media):
        * html/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::createDocumentStructure):

2012-01-06  Alice Boxhall  <aboxhall@chromium.org>

        Report correct line number for non-native editable text elements.
        https://bugs.webkit.org/show_bug.cgi?id=71263

        Reviewed by Ryosuke Niwa.

        A non-native editable text element is an element with an ARIA role of "textbox", which is
        set on an element which behaves like an editable text element (such as a textarea, text
        input field or contenteditable text), but whose behaviour is controlled by the author rather
        than the browser.

        This change makes certain methods on Node, and related methods in htmlediting and
        visible_units, aware of the notion that an element may be editable only from the point of
        view of assistive technology (via the ARIA textbox role), via the EditableType enum added to
        EditingBoundary.h.

        This is so that AccessibilityObject::lineForPosition() can use previousLinePosition(), and
        AccessibilityRenderObject::indexForVisiblePosition() can use highestEditableRoot(), in a way
        that respects non-native editability.

        Test: accessibility/textbox-role-reports-line-number.html

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::rootAXEditableElement): Returns the root element which is
        editable from the point of view of assistive technology, whether natively or otherwise.
        (WebCore::AXObjectCache::nodeIsTextControl): Whether the given node is considered an
        editable text element by assistive technology, natively or otherwise.
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::lineForPosition): Modified to request the previous line
        position in an element which is editable to Accessibility.
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Modified to request the
        highest root element which is editable to Accessibility.
        * dom/Node.cpp:
        (WebCore::Node::rendererIsEditableToAccessibility): Whether this node is editable to
        Accessibility for the given EditableLevel.
        (WebCore::Node::rootEditableElement): Overloaded version of this method which takes an
        EditableType enum value indicating whether non-native editability is to be respected.
        * dom/Node.h:
        (WebCore::Node::rendererIsEditable): Overloaded version of this method which takes an
        EditableType enum value indicating whether non-native editability is to be respected.
        (WebCore::Node::rendererIsRichlyEditable):  Overloaded version of this method which takes
        an EditableType enum value indicating whether non-native editability is to be respected.
        * editing/EditingBoundary.h:
        * editing/htmlediting.cpp:
        (WebCore::highestEditableRoot): Added optional EditableType parameter.
        (WebCore::isEditablePosition): Added optional EditableType parameter.
        (WebCore::isRichlyEditablePosition): Added optional EditableType parameter.
        (WebCore::editableRootForPosition): Added optional EditableType parameter.
        * editing/htmlediting.h:
        * editing/visible_units.cpp:
        (WebCore::previousLeafWithSameEditability): Added optional EditableType parameter.
        (WebCore::previousLinePosition): Added optional EditableType parameter.
        (WebCore::nextLeafWithSameEditability): Added optional EditableType parameter.
        (WebCore::nextLinePosition): Added optional EditableType parameter.
        * editing/visible_units.h:

2012-01-05  Kent Tamura  <tkent@chromium.org>

        Fix a crash by importing an element of which local name ends with ":input".
        https://bugs.webkit.org/show_bug.cgi?id=75103

        Reviewed by Ryosuke Niwa.

        Test: fast/dom/importNode-confusing-localName.html

        * dom/Document.cpp:
        (WebCore::Document::importNode): Pass QualifiedName of the source elemnt
        to createElement() in order to avoid unnecessary serialization and
        parsing of the qualified name

2012-01-06  Alexis Menard  <alexis.menard@openbossa.org>

        Move HTMLFormControlElementWithState class in its own header file.
        https://bugs.webkit.org/show_bug.cgi?id=75482

        Reviewed by Kent Tamura.

        Move HTMLFormControlElementWithState class which was mixed in HTMLFormControlElement
        files into its own header file and its own implementation file.

        No new tests : the existing ones should cover the refactoring.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLFormControlElement.cpp:
        * html/HTMLFormControlElement.h:
        * html/HTMLKeygenElement.h:
        * html/HTMLSelectElement.h:
        * html/HTMLTextFormControlElement.h:

2012-01-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104268.
        http://trac.webkit.org/changeset/104268
        https://bugs.webkit.org/show_bug.cgi?id=75689

        It broke the mac build (Requested by Ossy on #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
        (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
        (WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
        (WebCore::HTMLFormControlElementWithState::shouldAutocomplete):
        (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
        (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint):
        (WebCore::HTMLFormControlElementWithState::saveFormControlState):
        (WebCore::HTMLFormControlElementWithState::restoreFormControlState):
        * html/HTMLFormControlElementWithState.cpp: Removed.
        * html/HTMLFormControlElementWithState.h: Removed.
        * html/HTMLKeygenElement.h:
        * html/HTMLSelectElement.h:
        * html/HTMLTextFormControlElement.h:

2012-01-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104259 and r104261.
        http://trac.webkit.org/changeset/104259
        http://trac.webkit.org/changeset/104261
        https://bugs.webkit.org/show_bug.cgi?id=75688

        Caused assertion failures (Requested by rniwa on #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::takeAllChildrenFrom):
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::removeBetween):
        (WebCore::ContainerNode::removeChildren):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAddChild):
        * dom/DOMAllInOne.cpp:
        * dom/Document.cpp:
        (WebCore::Document::setDocType):
        (WebCore::Document::adoptNode):
        * dom/Element.cpp:
        (WebCore::Element::removeShadowRoot):
        * dom/Node.cpp:
        (WebCore::Node::setDocument):
        (WebCore::Node::setTreeScopeRecursively):
        (WebCore::Node::setDocumentRecursively):
        (WebCore::Node::didMoveToNewDocument):
        * dom/Node.h:
        * dom/TreeScope.cpp:
        * dom/TreeScope.h:
        * dom/TreeScopeAdopter.cpp: Removed.
        * dom/TreeScopeAdopter.h: Removed.

2012-01-05  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10633760> Update copyright strings

        Reviewed by Mark Rowe.

        * Info.plist:

2012-01-05  Alexis Menard  <alexis.menard@openbossa.org>

        Move HTMLFormControlElementWithState class in its own header file.
        https://bugs.webkit.org/show_bug.cgi?id=75482

        Reviewed by Kent Tamura.

        Move HTMLFormControlElementWithState class which was mixed in HTMLFormControlElement
        files into its own header file and its own implementation file.

        No new tests : the existing ones should cover the refactoring.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLFormControlElement.cpp:
        * html/HTMLFormControlElement.h:
        * html/HTMLKeygenElement.h:
        * html/HTMLSelectElement.h:
        * html/HTMLTextFormControlElement.h:

2012-01-05  Wei James  <james.wei@intel.com>

        Optimize with memcpy instead of copying frame by frame in Realtimeanalyser::doFFTAnalysis
        https://bugs.webkit.org/show_bug.cgi?id=74693

        Reviewed by Kenneth Russell.

        * webaudio/RealtimeAnalyser.cpp:
        (WebCore::RealtimeAnalyser::doFFTAnalysis):

2012-01-05  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r104210): Dromaeo DOM test score is lower
        https://bugs.webkit.org/show_bug.cgi?id=75679

        Reviewed by Andreas Kling.

        The regression was caused by isDomVersionConsistent not being able to obtain the tree version
        inside isLengthCacheValid when m_cachedItem is null. Fix the regression by always setting
        m_cachedItem to some node when caching the length so that we can obtain the tree version later.

        Also address Antti's review comment to fit m_cachedLength, m_isLengthCacheValid, and
        m_isItemCacheValid all in 32-bit.

        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache):

2012-01-05  Hajime Morrita  <morrita@chromium.org>

        Unreviewed bad merge fix for r104259 which dropped a line from r104210.

        * dom/TreeScopeAdopter.cpp:
        (WebCore::TreeScopeAdopter::moveTreeToNewScope):

2012-01-05  Yongjun Zhang  <yongjun_zhang@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=75593
        Reviewed by Alexey Proskuryakov.

        Null-check 'page' variable before use, to follow the common usage pattern of m_frame->page()
        throughout the rest of FrameView.cpp.

        * page/FrameView.cpp:
        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):

2012-01-04  Hajime Morrita  <morrita@chromium.org>

        [Refactoring] Moving between TreeScopes should be done by its own class.
        https://bugs.webkit.org/show_bug.cgi?id=75290

        Reviewed by Ryosuke Niwa.

        This change extracted Node::setTreeScopeRecursively(),
        setDocumentRecursively() and a part of setDocument() into a new
        class called TreeScopeAdopter. By doing this, the idea of
        moving a node from scope to scope, that was originally hidden
        behind the forest of Node APIs, has become clearer.

        Note that this change is a preparation for Bug 59816.

        No new tests. No behavioral change.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ContainerNode.cpp: Followed the renaming.
        (WebCore::ContainerNode::takeAllChildrenFrom):
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::removeBetween):
        (WebCore::ContainerNode::removeChildren):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAddChild):
        * dom/DOMAllInOne.cpp:
        * dom/Document.cpp: Followed te renaming.
        (WebCore::Document::setDocType):
        (WebCore::Document::adoptNode):
        * dom/Element.cpp: Followed te renaming.
        (WebCore::Element::removeShadowRoot):
        * dom/Node.cpp:
        (WebCore::Node::setDocument):
        (WebCore::Node::setTreeScope):
        (WebCore::Node::didMoveToNewDocument):
        * dom/Node.h:
        * dom/TreeScope.h:
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::adoptIfNeeded): moved from setTreeScopeRecursively()
        * dom/TreeScopeAdopter.cpp: Added.
        (WebCore::TreeScopeAdopter::TreeScopeAdopter):
        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
        (WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
        (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
        * dom/TreeScopeAdopter.h: Added.
        (WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
        (WebCore::TreeScopeAdopter::execute):
        (WebCore::TreeScopeAdopter::needsScopeChange()):
        (WebCore::TreeScopeAdopter::shadowRootFor):

2012-01-05  Jochen Eisinger  <jochen@chromium.org>

        Disallow access to DOM storage from detached frames.
        https://bugs.webkit.org/show_bug.cgi?id=61326

        Reviewed by Adam Barth.

        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):

2012-01-05  No'am Rosenthal  <noam.rosenthal@nokia.com>

        [Qt][Texmap] Convert shaders in TextureMapperGL to use a macro
        https://bugs.webkit.org/show_bug.cgi?id=75598

        Use VERTEX_SHADER() and FRAGMENT_SHADER() macros, instead of quoted string literals when
        declaring shaders in TextureMapperGL.

        We need two macros to account for the differences between OpenGL and OpenGL ES2.

        Reviewed by Martin Robinson.

2012-01-05  Ryosuke Niwa  <rniwa@webkit.org>

        sizeof(CSSRule) is 20 instead of 12 on Windows
        https://bugs.webkit.org/show_bug.cgi?id=75665

        Reviewed by Darin Fisher.

        Unlike gcc and clang, MSVC pads each consecutive member variables of the same type
        in bitfields. e.g. if you have:

        sturct AB {
        unsigned m_1 : 31;
        bool m_2 : 1;
        }

        then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang
        only allocate sizeof(unsigned) * 1 for AB.

        Fix the bloat by turning all bitfields in CSSRule either signed or unsigned integers.

        * css/CSSRule.cpp:
        * css/CSSRule.h:
        (WebCore::CSSRule::sourceLine):
        (WebCore::CSSRule::setSourceLine):
        (WebCore::CSSRule::hasCachedSelectorText):
        (WebCore::CSSRule::setHasCachedSelectorText):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::CSSStyleRule):
        (WebCore::CSSStyleRule::cleanup):
        (WebCore::CSSStyleRule::selectorText):
        (WebCore::CSSStyleRule::setSelectorText):
        * css/CSSStyleRule.h:

2012-01-05  David Grogan  <dgrogan@chromium.org>

        IndexedDB: fix cursor prefetch crash
        http://crbug.com/108071
        https://bugs.webkit.org/show_bug.cgi?id=75596

        Reviewed by Tony Chang.

        Test: storage/indexeddb/prefetch-bugfix-108071.html
        Note: DumpRenderTree doesn't exercise the bug, it only occurs in
        multi-process chromium.  The layout test will soon be run as a
        chromium ui test: http://codereview.chromium.org/9108004

        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
        (WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl): Destroy
        cursors before their objectstores.
        (WebCore::IDBCursorBackendImpl::prefetchReset): Don't run continue if
        the cursor is closed.
        (WebCore::IDBCursorBackendImpl::close): Set a closed flag.
        * storage/IDBCursorBackendImpl.h:

2012-01-04  James Robinson  <jamesr@chromium.org>

        [chromium] Route all animate calls through CCLayerTreeHost in composited mode to simplify rate limiting logic
        https://bugs.webkit.org/show_bug.cgi?id=75577

        Reviewed by Darin Fisher.

        This internalizes the animation rate limiting logic to CCLayerTreeHost and removes the setters/getters for the
        m_animating flag. This requires that all animation updates have to go through CCLayerTreeHost to get the right
        rate limiting behavior, regardless of which proxy is being used.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::updateAnimations):
        (WebCore::CCLayerTreeHost::layout):
        (WebCore::CCLayerTreeHost::startRateLimiter):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::beginFrameAndCommit):

2012-01-05  Justin Novosad  <junov@chromium.org>

        [Chromium] NativeImageSkia should mark SkBitmaps as immutable
        https://bugs.webkit.org/show_bug.cgi?id=74962

        Removed m_isDataComplete from class NativeImageSkia. Instead, data
        completeness will be tracked through SkBitmap::setImmutable/
        isImmutable.  The immutable state signifies that the pixel data
        will no longer change for the lifetime of the bitmap, which corresponds
        to the semantic of the old m_isDataComplete member. setImmutable is
        also called on the cached resized bitmap, since it too is invariant for
        its life time. Temporary resized bitmaps are also marked as immutable
        since they technically are.

        Reviewed by Stephen White.

        * platform/graphics/skia/NativeImageSkia.cpp:
        (WebCore::NativeImageSkia::NativeImageSkia):
        (WebCore::NativeImageSkia::resizedBitmap):
        (WebCore::NativeImageSkia::shouldCacheResampling):
        * platform/graphics/skia/NativeImageSkia.h:
        (WebCore::NativeImageSkia::setDataComplete):
        (WebCore::NativeImageSkia::isDataComplete):

2012-01-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104231.
        http://trac.webkit.org/changeset/104231
        https://bugs.webkit.org/show_bug.cgi?id=75668

        Breaks the Qt build (Requested by abarth on #webkit).

        * platform/SchemeRegistry.cpp:
        * platform/SchemeRegistry.h:

2012-01-05  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=75654
        Text fields should draw using NSTextFieldCell instead of WebKitSystemInterface

        Reviewed by John Sullivan.

        This change should not have any affect on tests or real web sites. It just changed 
        the implementation under the hood to the more modern NSCell approach.
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintTextField):
        (WebCore::RenderThemeMac::textField):

2012-01-05  Ryosuke Niwa  <rniwa@webkit.org>

        Add a compile-time assertion for the size of CSSValue
        https://bugs.webkit.org/show_bug.cgi?id=75635

        Reviewed by Tony Chang.

        Tightened the compile-time assertion.

        * css/CSSValue.cpp:

2012-01-05  Adam Barth  <abarth@webkit.org>

        [V8] CodeGeneration for SerializedScriptValue doesn't play nice with [Constructor]
        https://bugs.webkit.org/show_bug.cgi?id=75641

        Reviewed by David Levin.

        Rather than generate getters for SerializedScriptValues, we eagerly
        deserialize them into JavaScript objects.  However, previously, we were
        only doing that for DOM wrappers created by taking an existing C++
        object and wrapping it.  For objects created with Constructors (e.g.,
        those with the [Constructor] attribute), we need to do this eager
        deserialization during the constructor as well.

        This bug isn't observable yet, but it is causing the WebIntent test
        being added in Bug 73051 to fail.

        Test: TestSerializedScriptValueInterface.idl
              webintents/web-intents-api.html (after Bug 73051 lands)

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateEagerDeserialization):
        (GenerateConstructorCallback):
        (GenerateNamedConstructorCallback):
        (GenerateImplementation):
        (GenerateToV8Converters):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getConstructData):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::constructorCallback):
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
        (WebCore::V8TestNamedConstructorConstructorCallback):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::constructorCallback):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
        (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:

2012-01-05  Adam Barth  <abarth@webkit.org>

        Introduce Platform namespace for WebCore/platform
        https://bugs.webkit.org/show_bug.cgi?id=75653

        Reviewed by Eric Seidel.

        This patch introduces the Platform namespace for WebCore/platform.
        Introducing this namespace will help us find and fix layering
        violations in preparation for moving WebCore/platform to Platform.

        * platform/SchemeRegistry.cpp:
        * platform/SchemeRegistry.h:

2012-01-05  Ryosuke Niwa  <rniwa@webkit.org>

        Inserting nodes is slow due to Node::notifyNodeListsAttributeChanged (20%+)
        https://bugs.webkit.org/show_bug.cgi?id=73853

        Reviewed by Antti Koivisto.

        Lazily invalidate the node list caches instead of invaliding them at the time of modification. We use
        the DOM tree version to detect whether caches need to be invalidated or not. We now invalidate caches more
        frequently after this patch (in particular, invalidates caches that are stored on nodes not present in
        the ancestry of the modified nodes); however, our study on major Web sites such as Gmail, Facebook, Twitter,
        etc... indicate that about 1% of real-world usage benefits from keeping the caches alive across different
        DOM tree versions.

        In order to invalidate caches lazily, this patch adds replaces the type of m_caches in DynamicSubtreeNodeList
        by DynamicSubtreeNodeList::SubtreeCaches which encapsulates member variables in DynamicNodeList::Caches and
        invalidates values as needed. Also this change allows m_caches to be allocated as a part of
        DynamicSubtreeNodeList instead of a separate ref-counted object.

        * dom/Attr.cpp:
        (WebCore::Attr::setValue):
        (WebCore::Attr::childrenChanged):
        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
        (WebCore::DynamicSubtreeNodeList::length):
        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::item):
        (WebCore::DynamicSubtreeNodeList::invalidateCache):
        (WebCore::DynamicNodeList::Caches::create):
        (WebCore::DynamicNodeList::Caches::reset):
        * dom/DynamicNodeList.h:
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::SubtreeCaches): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedLength): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItem): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItemOffset): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::reset): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent): Added.
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):
        * dom/Node.cpp:
        (WebCore::Node::setTreeScopeRecursively): Clear caches when a node moves from one document to another.
        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Only clears child node list of Attr.
        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): Only clears child node list.
        (WebCore::NodeListsNodeData::invalidateCaches): Merged with invalidateCachesThatDependOnAttributes.
        * dom/Node.h:
        * dom/NodeRareData.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * html/HTMLLabelElement.cpp:
        * html/HTMLLabelElement.h:

2012-01-05  Ojan Vafai  <ojan@chromium.org>

        IE quirk for percentage size on a table element doesn't work with orthogonal writing modes
        https://bugs.webkit.org/show_bug.cgi?id=70195

        Reviewed by Eric Seidel.

        Remove this quirk entirely. Mozilla and Opera don't implement it and IE
        doesn't restrict the quirk to standards mode. As it's unlikely for
        webkit-only content to hit this quirk (e.g. use tables for layout),
        it should be relatively safe to match Mozilla/Opera here.

        Test: fast/writing-mode/table-percent-width-quirk.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):

2012-01-05  Tien Ren Chen  <trchen@chromium.org>

        [chromium] Add CCTimer class for the compositor
        https://bugs.webkit.org/show_bug.cgi?id=74769

        Reviewed by James Robinson.

        Add a simple timer class for CCThread that the timered task can be
        manually cancelled.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCTimer.cpp: Added.
        (WebCore::CCTimerTask::CCTimerTask):
        (WebCore::CCTimerTask::~CCTimerTask):
        (WebCore::CCTimerTask::performTask):
        (WebCore::CCTimer::CCTimer):
        (WebCore::CCTimer::~CCTimer):
        (WebCore::CCTimer::startOneShot):
        (WebCore::CCTimer::stop):
        * platform/graphics/chromium/cc/CCTimer.h: Added.
        (WebCore::CCTimerClient::~CCTimerClient):
        (WebCore::CCTimer::isActive):

2012-01-05  Eric Carlson  <eric.carlson@apple.com>

        Implement temporal dimension portion of Media Fragments URI specification for video/audio
        https://bugs.webkit.org/show_bug.cgi?id=65838

        Reviewed by Sam Weinig.

        Tests: media/media-fragments/TC0001-TC0009.html
               media/media-fragments/TC0010-TC0019.html
               media/media-fragments/TC0020-TC0029.html
               media/media-fragments/TC0030-TC0039.html
               media/media-fragments/TC0040-TC0049.html
               media/media-fragments/TC0050-TC0059.html
               media/media-fragments/TC0060-TC0069.html
               media/media-fragments/TC0070-TC0079.html
               media/media-fragments/TC0080-TC0089.html
               media/media-fragments/TC0090-TC0099.html

        * CMakeLists.txt: Add fragment parser files.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_fragmentStartTime and m_fragmentEndTime.
        (WebCore::HTMLMediaElement::setReadyState): Check for and parse a media fragment once readyState
            reaches HAVE_METADATA, apply it once it reaches HAVE_CURRENT_DATA.
        (WebCore::HTMLMediaElement::initialTime): Return the fragment start time if possible.
        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Pause if the time is >= the fragment
            end time.
        (WebCore::HTMLMediaElement::prepareMediaFragmentURI): Look for a temporal fragment.
        (WebCore::HTMLMediaElement::applyMediaFragmentURI): Apply the fragment, if any.
        * html/HTMLMediaElement.h:

        * html/MediaFragmentURIParser.cpp: Added.
        (WebCore::skipWhiteSpace):
        (WebCore::collectDigits):
        (WebCore::collectFraction):
        (WebCore::MediaFragmentURIParser::invalidTimeValue):
        (WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
        (WebCore::MediaFragmentURIParser::startTime):
        (WebCore::MediaFragmentURIParser::endTime):
        (WebCore::MediaFragmentURIParser::parseFragments):
        (WebCore::MediaFragmentURIParser::parseTimeFragment):
        (WebCore::MediaFragmentURIParser::parseNPTFragment):
        (WebCore::MediaFragmentURIParser::parseNPTTime):
        * html/MediaFragmentURIParser.h: Added.
        (WebCore::MediaFragmentURIParser::~MediaFragmentURIParser):
        (WebCore::MediaFragmentURIParser::create):

2012-01-05  ChangSeok Oh  <shivamidow@gmail.com>

        Remove style warning in GraphicsContext3DOpenGL.cpp
        https://bugs.webkit.org/show_bug.cgi?id=75466

        Reviewed by Kenneth Russell.

        Relocated some headers according to alphabetical order & modified indentation.
        And used OwnArrayPtr to deal with character array.

        No new tests required. 

        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::getString):
        (WebCore::GraphicsContext3D::releaseShaderCompiler):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):

2012-01-05  Ken Buchanan <kenrb@chromium.org>

        Crash due to reparenting of relpositioned object under anonymous block
        https://bugs.webkit.org/show_bug.cgi?id=70848

        The associated test case creates a condition where a relative
        positioned renderer is a descendant of an anonymous block for a
        table column. The anonymous block is the containingBlock() for the
        relpositioned renderer. Removal of a div causes the anonymous blocks to
        be merged, and the renderer becomes a descendant of a different block.
        Since the new containingBlock() has an empty positionedObject list,
        the relpositioned renderer does not get layout after being dirtied.

        This patch changes containingBlock() so that it returns the container
        of an anonymous block for positioned objects, not the anonymous
        block itself. It also adds an ASSERT to insertPositionedObject()
        to flag any other cases where something is trying to create a
        positioned object list on an anonymous block.

        Reviewed by David Hyatt.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::insertPositionedObject):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock):

2012-01-05  Jian Li  <jianli@chromium.org>

        FileReader needs addEventListener
        https://bugs.webkit.org/show_bug.cgi?id=42723

        Reviewed by Adam Barth.

        Test: fast/files/file-reader-event-listener.html

        * fileapi/FileReader.idl:

2012-01-04  Pratik Solanki  <psolanki@apple.com>

        Remove deprecated calls from CookieJarCFNet.cpp
        https://bugs.webkit.org/show_bug.cgi?id=68958

        Reviewed by Sam Weinig.

        * platform/network/cf/CookieJarCFNet.cpp:
        (WebCore::cookieDomain):
        (WebCore::cookieExpirationTime):
        (WebCore::cookieName):
        (WebCore::cookiePath):
        (WebCore::cookieValue):

2012-01-05  Fady Samuel  <fsamuel@chromium.org>

        Move scalePageBy from eventSender to window.internals
        https://bugs.webkit.org/show_bug.cgi?id=64512

        Reviewed by Simon Fraser.

        Added setPageScaleFactor to window.internals.
        Renamed window.internals.getPageScaleFactor to window.internals.pageScaleFactor
        to match the webkit style.

        * testing/Internals.cpp:
        (WebCore::Internals::pageScaleFactor):
        (WebCore::Internals::setPageScaleFactor):
        * testing/Internals.h:
        * testing/Internals.idl:

2012-01-05  Cary Clark  <caryclark@google.com>

        [Skia Mac] Rounded bezel style button needs one more local graphics context to scale
        https://bugs.webkit.org/show_bug.cgi?id=75623
        http://code.google.com/p/chromium/issues/detail?id=108749

        In paintButton(), the local context is set up first, and later the context is
        scaled if there's a zoomFactor. Skia creates the CoreGraphics context to draw the
        button into without that scale factor. To fix this, another local context is added
        after the parameter context scale, before the button draw. The first local context
        is still required to restore the parameter context state.

        Reviewed by Stephen White.

        * platform/chromium/ThemeChromiumMac.mm:
        (WebCore::paintButton):

2012-01-05  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for background is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=75539

        Reviewed by Tony Chang.

        Implement getComputedStyle for background.

        Test: fast/css/getComputedStyle/getComputedStyle-background-shorthand.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2012-01-05  Ryosuke Niwa  <rniwa@webkit.org>

        DOM Attribute tests on Dromaeo spends 2.7% of time in hasSelectorForAttribute
        https://bugs.webkit.org/show_bug.cgi?id=75569

        Reviewed by Andreas Kling.

        Check needsStyleRecalc() first to avoid unnecessary hash lookups.

        * dom/Element.cpp:
        (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):

2012-01-05  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        [EFL] Replace alloca to C++ new placement.
        https://bugs.webkit.org/show_bug.cgi?id=72017

        Reviewed by Andreas Kling.

        Replaces alloca to C++ new placement as it is not very portable.
        It allows to skip checking of memory allocation as new never returns NULL.
        According to Edje's documentation type of val (member of Edje_Message_Float_Set)
        is double so I changed it to avoid undefined behaviour.

        * platform/efl/ScrollbarEfl.cpp:
        (ScrollbarEfl::updateThumbPositionAndProportion):

2012-01-05  Benjamin Poulain  <bpoulain@apple.com>

        Remove duplicate file references from WebCore.xcodeproj
        https://bugs.webkit.org/show_bug.cgi?id=75581

        Reviewed by Andreas Kling.

        Many generated DOMSVG files had two references.

        In platform/graphics, there was two arm directory
        with the same files related to ARM Neon.

        * WebCore.xcodeproj/project.pbxproj:

2012-01-05  Antti Koivisto  <antti@apple.com>

        Improve SelectorChecker::determineSelectorScopes
        https://bugs.webkit.org/show_bug.cgi?id=75619

        Reviewed by Andreas Kling.

        SelectorChecker::determineSelectorScopes currently searches to the end of the selector chain and
        then sees if the last one is suitable to be a scope. A better algorithm will find a scope from
        anywhere in the chain.
        
        With this patch we search the whole chain for potential scopes. We now prefer id scopes
        over class scopes. Scopes can be found for rules using sibling selectors too.
        
        On both engadget.com and nytimes.com, we can now skip one more full style recalc due to 
        the improved stylesheet analysis. 

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::determineSelectorScopes):

2012-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use the default screen in PlatformScreenGtk methods when they are called with a NULL widget
        https://bugs.webkit.org/show_bug.cgi?id=75620

        Reviewed by Philippe Normand.

        We are currently retuning an empty rectangle for
        screenRect/screenAvailableRect and 0 for getVisual.

        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::getVisual):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):

2012-01-05  Alpha Lam  <hclam@chromium.org>

        Unreviewed. Build fix.

        Adding missing const_cast<> to fix compilation failures due to r104143.

        * platform/audio/VectorMath.cpp:
        (WebCore::VectorMath::zvmul):

2012-01-05  Adam Barth  <abarth@webkit.org>

        Move Gamepad declarations from Navigator.idl into Modules/gamepad
        https://bugs.webkit.org/show_bug.cgi?id=75559

        Reviewed by Eric Seidel.

        This patch moves the gamepad-related declarations in Navigator.idl into
        Modules/gamepad.  The next step is to move the state into
        Modules/gamepad as well.

        * Modules/gamepad/NavigatorGamepad.cpp: Added.
        (WebCore::NavigatorGamepad::NavigatorGamepad):
        (WebCore::NavigatorGamepad::~NavigatorGamepad):
        (WebCore::NavigatorGamepad::webkitGamepads):
        * Modules/gamepad/NavigatorGamepad.h: Added.
        * Modules/gamepad/NavigatorGamepad.idl: Added.
        * WebCore.gypi:
        * page/Navigator.cpp:
        (WebCore::Navigator::gamepads):
        * page/Navigator.h:
        * page/Navigator.idl:

2012-01-05  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for border-image is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=75347

        Reviewed by Tony Chang.

        Implement getComputedStyle for border-color.

        fast/css/getComputedStyle/computed-style-border-image.html was extended to cover the
        new feature.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2012-01-05  Xingnan Wang  <xingnan.wang@intel.com>

        Add a SSE2 optimized function zvmul in VectorMatch
        https://bugs.webkit.org/show_bug.cgi?id=74842

        Reviewed by Kenneth Russell.

        Use zvmul in FFTFrameFFMPEG.cpp::multiply() and FFTFrameMac.cpp::multiply().

        * platform/audio/VectorMath.cpp:
        (WebCore::VectorMath::zvmul):
        * platform/audio/VectorMath.h:
        * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp:
        (WebCore::FFTFrame::multiply):
        * platform/audio/mac/FFTFrameMac.cpp:
        (WebCore::FFTFrame::multiply):

2012-01-05  Alpha Lam  <hclam@chromium.org>

        Unreviewed. Build fix for Chromium Mac Clang build.

        Push using namespace WTF to .cpp file from .h file.

        * platform/text/TextCodecASCIIFastPath.h:
        * platform/text/TextCodecLatin1.cpp:
        * platform/text/TextCodecUTF8.cpp:

2012-01-05  Max Vujovic  <mvujovic@adobe.com>

        WebKit adds vertical paddings and borders to the fixed width of CSS tables
        https://bugs.webkit.org/show_bug.cgi?id=74955

        Reviewed by Julien Chaffraix.

        Test: fast/table/css-table-width.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):

            Changed the width calculation for CSS tables to take into account horizontal
            paddings and borders instead of vertical paddings and borders.

2012-01-05  Peter Beverloo  <peter@chromium.org>

        [Chromium] Upstream the RenderTheme and ScrollbarTheme for Android
        https://bugs.webkit.org/show_bug.cgi?id=74614

        Reviewed by Adam Barth.

        Upstream the RenderTheme and ScrollbarTheme for Android. These are
        mostly derived from their Linux variants.

        RenderThemeChromiumAndroid inherits from RenderThemeChromiumLinux and
        only overrides the three methods which have different behavior.
        Scrollbars will be drawn in the threaded compositor for Android (which
        will be upstreamed later), but for increased layout test parity we'll
        match Chromium-Linux.

        No new tests. This code will be exercised by existing layout tests, and
        by manually verifying that theme parts render as expected.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/chromium/ScrollbarThemeChromiumAndroid.cpp: Added.
        (WebCore::ScrollbarTheme::nativeTheme):
        (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
        (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
        (WebCore::ScrollbarThemeChromiumAndroid::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeChromiumAndroid::buttonSize):
        (WebCore::ScrollbarThemeChromiumAndroid::minimumThumbLength):
        * platform/chromium/ScrollbarThemeChromiumAndroid.h: Added.
        * rendering/RenderThemeChromiumAndroid.cpp: Added.
        (WebCore::RenderThemeChromiumAndroid::create):
        (WebCore::RenderTheme::themeForPage):
        (WebCore::RenderThemeChromiumAndroid::~RenderThemeChromiumAndroid):
        (WebCore::RenderThemeChromiumAndroid::systemColor):
        (WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
        * rendering/RenderThemeChromiumAndroid.h: Added.
        * rendering/RenderThemeChromiumLinux.cpp:
        * rendering/RenderThemeChromiumLinux.h:

2012-01-05  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Fix potential superlinear runtime of multiple indirect adjenceny combinators.
        https://bugs.webkit.org/show_bug.cgi?id=75083

        Reviewed by Antti Koivisto.

        A sequence of indirect adjencency combinator such as "li ~ li ~ la" could with the
        former algorithm potentially do an quadratic number of element matches.
        The recursive matching algorithm now detects cases where all siblings have
        failed one indirect sibling match and fails the entire selector.

        Test: perf/nested-combined-selectors.html

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkSelector): Return SelectorFailsAllSiblings when
        all siblings have failed a selector component.
        * css/SelectorChecker.h: Add SelectorFailsAllSiblings enum value

2012-01-05  Andreas Kling  <awesomekling@apple.com>

        InspectorStyleSheet: Avoid cloning CSSRuleLists.
        <http://webkit.org/b/75603>

        Reviewed by Ryosuke Niwa.

        Don't filter out @charset rules from CSSRuleLists. This was forcing us to clone
        the stylesheet rule list, and is unnecessary since InspectorStyleSheet disregards
        any rule that isn't either a style rule or a rule with an internal rule list.

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::asCSSRuleList):
        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):

            Don't pass omitCharsetRules=true to the CSSRuleList constructor.

2012-01-05  Andreas Kling  <awesomekling@apple.com>

        Make elements with attributes smaller by eliminating the ref count in NamedNodeMap.
        <http://webkit.org/b/75068>

        Reviewed by Antti Koivisto.

        Remove NamedNodeMap's inheritance from RefCounted and forward the ref()/deref()
        calls to its owner Element, effectively reducing the size of an element that has
        attributes by 4 bytes.

        This reduces memory consumption by 311 kB when viewing the full HTML5 spec.

        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::ref):
        (WebCore::NamedNodeMap::deref):

            Added. Forwards the operation to m_element. Only ever used by the DOM wrappers.

        * dom/NamedNodeMap.h:
        (WebCore::NamedNodeMap::create):
        * dom/DocumentType.h:
        * dom/Element.cpp:
        (WebCore::Element::parserSetAttributeMap):
        * dom/Element.h:
        * html/parser/HTMLConstructionSite.cpp:
        * html/parser/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakeStartTag):
        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
        * html/parser/HTMLTreeBuilder.h:
        * html/parser/TextDocumentParser.cpp:
        (WebCore::TextDocumentParser::insertFakePreElement):
        * xml/parser/MarkupTokenBase.h:
        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
        (WebCore::AtomicMarkupTokenBase::takeAttributes):
        * xml/parser/XMLToken.h:
        (WebCore::AtomicXMLToken::AtomicXMLToken):

            Store NamedNodeMap in OwnPtr/PassOwnPtr, rather than RefPtr/PassRefPtr.

2012-01-05  Benjamin Poulain  <benjamin@webkit.org>

        Improve charactersAreAllASCII() to compare multiple characters at a time
        https://bugs.webkit.org/show_bug.cgi?id=74063

        Reviewed by Darin Adler.

        Move some part of TextCodecASCIIFastPath.h to WTF in ASCIIFastPath.h.
        The function isAllASCII() is changed to the template version which now works
        with both LChar and UChar.

        * ForwardingHeaders/wtf/text/ASCIIFastPath.h: Added.
        * platform/text/TextCodecASCIIFastPath.h:
        (WebCore::copyASCIIMachineWord):
        * platform/text/TextCodecLatin1.cpp:
        (WebCore::TextCodecLatin1::decode):
        * platform/text/TextCodecUTF8.cpp:
        (WebCore::TextCodecUTF8::decode):

2012-01-05  Eric Uhrhane  <ericu@chromium.org>

       [fileapi] WebKitFlags should not be constructable per Directories & System spec
       https://bugs.webkit.org/show_bug.cgi?id=68916

       Reviewed by Eric Seidel.

       Remove IDL for the object and all DOM references to it.
       * fileapi/WebKitFlags.idl: Removed.
       * page/DOMWindow.idl:
       * workers/WorkerContext.idl:
       Remove references to the JSC/V8 objects compiled from the IDL.
       * bindings/js/JSDirectoryEntryCustom.cpp:
       (WebCore::JSDirectoryEntry::getFile):
       (WebCore::JSDirectoryEntry::getDirectory):
       * bindings/js/JSDirectoryEntrySyncCustom.cpp:
       (WebCore::getFlags):
       * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
       (WebCore::V8DirectoryEntry::getDirectoryCallback):
       (WebCore::V8DirectoryEntry::getFileCallback):
       * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
       (WebCore::getFlags):
       Fix up build files.
       * WebCore.gypi:
       * WebCore.vcproj/WebCore.vcproj:
       * WebCore.xcodeproj/project.pbxproj:
       * WebCore/CMakeLists.txt:
       * WebCore/CodeGenerators.pri:
       * WebCore/DerivedSources.cpp:
       * WebCore/DerivedSources.make:
       * WebCore/GNUmakefile.list.am:

2012-01-05  Ken Buchanan  <kenrb@chromium.org>

        Crash due to first-letter block processing
        https://bugs.webkit.org/show_bug.cgi?id=74009

        Fixing the way updateFirstLetter() finds the remaining text fragment
        for a given first-letter. Previously this was unreliable in some
        circumstances.

        This patch provides a reliable mechanism to identify the remaining
        text by storing first-letter to remaining text associations in a
        hash map, managed by methods in RenderBoxModelObject.

        Reviewed by David Hyatt.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter)
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::willBeDestroyed):
        (WebCore::RenderBoxModelObject::setFirstLetterRemainingText): Added
        (WebCore::RenderBoxModelObject::firstLetterRemainingText): Added
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::setFirstLetterRemainingText): Added
        (WebCore::RenderBoxModelObject::firstLetterRemainingText): Added

2012-01-05  Mihnea Ovidenie  <mihnea@adobe.com>

        Crash in RenderRegion::getRegionRangeForBox.
        https://bugs.webkit.org/show_bug.cgi?id=74781

        Reviewed by David Hyatt.

        Test: fast/regions/region-range-for-box-crash.html

        This patch fixes 2 issues:
        1. When removing a region from a flow thread, we clear the region range information for boxes since
        this information is accurate only after the regions are laid out.
        2. While the regions are invalidated (content of flow thread is not yet laid out in regions), the
        functions that ask for properties of content in regions should bail out early.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::regionAtBlockOffset):
        (WebCore::RenderBlock::logicalWidthChangedInRegions):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::clearRenderBoxRegionInfo):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::removeRegionFromThread):
        (WebCore::RenderFlowThread::repaintRectangleInRegions):
        (WebCore::RenderFlowThread::mapFromFlowToRegion):
        (WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion):
        (WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion):
        (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
        (WebCore::RenderFlowThread::firstRegion):
        (WebCore::RenderFlowThread::lastRegion):
        (WebCore::RenderFlowThread::getRegionRangeForBox):
        * rendering/RenderFlowThread.h:

2012-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104084.
        http://trac.webkit.org/changeset/104084
        https://bugs.webkit.org/show_bug.cgi?id=75600

        Likely kills dom-perf benchmark in chromium
        http://build.chromium.org/f/chromium/perf/linux-
        release/dom_perf/report.html?history=150&rev=116444 (Requested
        by dslomov on #webkit).

        * dom/Attr.cpp:
        (WebCore::Attr::setValue):
        (WebCore::Attr::childrenChanged):
        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
        (WebCore::DynamicSubtreeNodeList::length):
        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::item):
        (WebCore::DynamicSubtreeNodeList::invalidateCache):
        (WebCore::DynamicSubtreeNodeList::Caches::create):
        (WebCore::DynamicSubtreeNodeList::Caches::reset):
        * dom/DynamicNodeList.h:
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):
        * dom/Node.cpp:
        (WebCore::Node::setTreeScopeRecursively):
        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
        (WebCore::Node::notifyLocalNodeListsLabelChanged):
        (WebCore::Node::itemTypeAttributeChanged):
        (WebCore::NodeListsNodeData::invalidateCaches):
        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
        * dom/Node.h:
        * dom/NodeRareData.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::parseMappedAttribute):
        * html/HTMLLabelElement.h:

2012-01-04  James Robinson  <jamesr@chromium.org>

        [chromium] Remove chromium compositor support for unused zoomAnimatorTransform
        https://bugs.webkit.org/show_bug.cgi?id=75585

        Reviewed by Kenneth Russell.

        Removes compositor support for zoomAnimatorTransform property. This code is unused and never was used.
        Zoom animations are handled by adjusting the page scale factor and scroll offsets.

        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

2012-01-04  Kenneth Russell  <kbr@google.com>

        Fix semantics of WEBKIT_WEBGL_lose_context
        https://bugs.webkit.org/show_bug.cgi?id=75053

        Reviewed by James Robinson.

        Updated WEBGL_lose_context extension to match WebGL spec's
        behavior:

          - loseContext() causes the context to be lost immediately, but
            the webglcontextlost event isn't dispatched until JavaScript
            returns.
          - restoreContext() may only be called once dispatch of the
            webglcontextlost event has completed, *and* if that event handler
            prevented the default behavior of the event.
          - restoreContext() performs its work asynchronously. The context
            is not restored until just before the webglcontextrestored event
            is dispatched.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::forceLostContext):
        (WebCore::WebGLRenderingContext::forceRestoreContext):
        (WebCore::WebGLRenderingContext::dispatchContextLostEvent):
        (WebCore::WebGLRenderingContext::maybeRestoreContext):
        * html/canvas/WebGLRenderingContext.h:

2011-12-30  Ryosuke Niwa  <rniwa@webkit.org>

        Inserting nodes is slow due to Node::notifyNodeListsAttributeChanged (20%+)
        https://bugs.webkit.org/show_bug.cgi?id=73853

        Reviewed by Antti Koivisto.

        Lazily invalidate the node list caches instead of invaliding them at the time of modification. We use
        the DOM tree version to detect whether caches need to be invalidated or not. We now invalidate caches more
        frequently after this patch (in particular, invalidates caches that are stored on nodes not present in
        the ancestry of the modified nodes); however, our study on major Web sites such as Gmail, Facebook, Twitter,
        etc... indicate that about 1% of real-world usage benefits from keeping the caches alive across different
        DOM tree versions.

        In order to invalidate caches lazily, this patch adds replaces the type of m_caches in DynamicSubtreeNodeList
        by DynamicSubtreeNodeList::SubtreeCaches which encapsulates member variables in DynamicNodeList::Caches and
        invalidates values as needed. Also this change allows m_caches to be allocated as a part of
        DynamicSubtreeNodeList instead of a separate ref-counted object.

        * dom/Attr.cpp:
        (WebCore::Attr::setValue):
        (WebCore::Attr::childrenChanged):
        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
        (WebCore::DynamicSubtreeNodeList::length):
        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::item):
        (WebCore::DynamicSubtreeNodeList::invalidateCache):
        (WebCore::DynamicNodeList::Caches::create):
        (WebCore::DynamicNodeList::Caches::reset):
        * dom/DynamicNodeList.h:
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::SubtreeCaches): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedLength): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItem): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItemOffset): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::reset): Added.
        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent): Added.
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):
        * dom/Node.cpp:
        (WebCore::Node::setTreeScopeRecursively): Clear caches when a node moves from one document to another.
        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Only clears child node list of Attr.
        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): Only clears child node list.
        (WebCore::NodeListsNodeData::invalidateCaches): Merged with invalidateCachesThatDependOnAttributes.
        * dom/Node.h:
        * dom/NodeRareData.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * html/HTMLLabelElement.cpp:
        * html/HTMLLabelElement.h:

2012-01-04  Ryosuke Niwa  <rniwa@webkit.org>

        Revert unintentional changes to Element.cpp in r104068.

        * dom/Element.cpp:
        (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):

2012-01-03  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION (r92823): Background color not preserved when copying and pasting a table row
        https://bugs.webkit.org/show_bug.cgi?id=75330

        Reviewed by Tony Chang.

        The bug was caused by the background color of the wrapping style overriding the background color
        in a matched rule of a highest element to be serialized. Fixed the bug by removing the conflicting
        background color prior to the merge.

        Tests: editing/pasteboard/copy-element-with-conflicting-background-color-from-rule-expected.html
               editing/pasteboard/copy-element-with-conflicting-background-color-from-rule.html

        * editing/EditingStyle.cpp:
        (WebCore::editingStyleFromComputedStyle):
        (WebCore::EditingStyle::removeStyleAddedByNode):
        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):

2012-01-03  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Hyatt.

        Analyze stylesheet scope to minimize style recalcs
        https://bugs.webkit.org/show_bug.cgi?id=75508
        
        It is a relatively common pattern to use inline stylesheets in document body where all rules are scoped using descendant selector

        <style>
        #foo {...}
        #foo div {...}
        #foo .bar {...}
        </style>

        When this pattern is used it is also common that the rules only apply to elements that come after the style element. 

        When the set of active stylesheets changes we invalidate and recompute the entire document style. This is very expensive. We can 
        detect the case above and avoid the style recalc.
        
        On engadget.com, this patch cuts the time spent in style recalcs to roughly half. There are further savings from reduced 
        relayouts. In total the engine CPU time used over the page load is reduced by ~10%.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::collectFeatures):
        
            Refactor feature collection from constructor to a separate function.
        
        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
        
            New function for non-destructively updating the style selector.
        
        (WebCore::CSSStyleSelector::Features::clear):
        
            Clear the features for another collection.
            
        (WebCore::CSSStyleSelector::determineStylesheetSelectorScopes):
        
            Find if all rules on a stylesheetare scoped to some set of ids and classes.
        
        (WebCore::CSSStyleSelector::styleForDocument):
        
            Add optional font selector argument. We updated the correct base style font on style selector construction but that is no longer sufficient
            as font selector may be updated without reconstructing the style selector.
        
        (WebCore::RuleSet::addRulesFromSheet):
        
            Invalidate the matched declaration cache in case of new font-face rules.
        
        * css/CSSStyleSelector.h:
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::determineSelectorScopes):
        
            Find if all rules on a selector list are scoped to some set of ids and classes.
        
        * css/SelectorChecker.h:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::recalcStyle):
        
            Pass the font selector, if exists, to styleForDocument so we always have the base font up to date.
        
        (WebCore::Document::combineCSSFeatureFlags):
        (WebCore::Document::resetCSSFeatureFlags):
        (WebCore::Document::createStyleSelector):

            Refactor css feature flag resetting to functions.
        
        (WebCore::Document::removePendingSheet):
        
            Use new PendingStylesheetCompleted flag when new stylesheets arrive.

        (WebCore::Document::styleSelectorChanged):

            Skip style recalc if it is not needed.

        (WebCore::Document::collectActiveStylesheets):
        
            Refactor collecting stylesheets to a separate function.
        
        (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
        
            Determine the scopes and use hasElementWithId/getElementsByClassName to figure out if any scoped elements currently exist in the tree.
        
        (WebCore::Document::analyzeStylesheetChange):
        
            Figure out if we can update the style selector incrementally and if we can skip the style recalc.
        
        (WebCore::Document::updateActiveStylesheets):
        
            Renamed from recalcStyleSelector.
            Invoke the new analysis functions.
        
        * dom/Document.h:

2012-01-04  Igor Oliveira  <igor.oliveira@openbossa.org>

        Share fractional time code between AnimationBase and KeyframeAnimation
        https://bugs.webkit.org/show_bug.cgi?id=75549

        Remove left over from changeset 104045.

        Unreviewed trivial fix.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::fractionalTime):

2012-01-04  Igor Oliveira  <igor.oliveira@openbossa.org>

        Share fractional time code between AnimationBase and KeyframeAnimation
        https://bugs.webkit.org/show_bug.cgi?id=75549

        Share fractional time calculation between AnimationBase and KeyframeAnimation.

        Reviewed by Simon Fraser.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::fractionalTime):
        (WebCore::AnimationBase::progress):
        * page/animation/AnimationBase.h:
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):

2012-01-03  Vangelis Kokkevis  <vangelis@chromium.org>

        [chromium] Bypass the shadow texture copy for accelerated
        canvas when running the compositor in single threaded mode.
        https://bugs.webkit.org/show_bug.cgi?id=75146

        The texture copy fails on Windows as glCopyTexImage2D() doesn't
        support BGRA source textures.
        This change also modifies Canvas2DLayerChromium::updateCompositorResources
        to call glCopyTexSubImage2D() instead of glCopyTexImage2D() so that
        the copy can work with texture allocated via the glTexStorage2D
        extension.

        Reviewed by James Robinson.

        Tests: Canvas2DLayerChromiumTest.cpp

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        (WebCore::Canvas2DLayerChromium::setTextureManager):
        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
        (WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
        (WebCore::Canvas2DLayerChromium::cleanupResources):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:

2012-01-04  Adam Roben  <aroben@apple.com>

        Use one big printf command instead of many chained echo commands to generate idl_files.tmp

        This works around a bug in Cygwin where sh.exe will crash if given a too-long sequence of
        &&-chained commands.

        Fixes <http://webkit.org/b/75546> <rdar://problem/10622193> REGRESSION (r103519): WebCore's
        DerivedSources.make crashes sh.exe if path to WebKit source tree is long enough

        Reviewed by Antti Koivisto.

        * DerivedSources.make: Change the '(echo foo && echo bar && echo baz && echo -n) >
        ./idl_files.tmp' command to 'printf "foo\nbar\nbaz\n" > ./idl_files.tmp'. We use the
        patsubst function to append "\n" to each IDL filename, then use the subst function to remove
        the spaces between the filenames.

2012-01-04  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Rollout support for background-color region styling
        https://bugs.webkit.org/show_bug.cgi?id=75007

        Reviewed by Tony Chang.

        Removed functionality, therefore no new tests. Since this is a temporary rollout,
        the tests for region-style with background-color are not removed in this patch, just skipped.

        * WebCore.exp.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        (WebCore::CSSStyleSelector::matchRules):
        (WebCore::CSSStyleSelector::matchAllRules):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::RuleData::RuleData):
        (WebCore::RuleSet::RuleSet):
        (WebCore::RuleSet::addToRuleSet):
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSStyleSelector.h:
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::setRegionRangeForBox):
        * rendering/RenderFlowThread.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paint):
        (WebCore::RenderLayer::hitTest):
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):
        * rendering/RenderRegion.cpp:
        * rendering/RenderRegion.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        * rendering/RenderView.h:

2012-01-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Introduce new qmake variable 'WEBKIT' for signaling dependencies

        The custom qmake variable 'WEBKIT' is used for signaling that a
        target depends in some way on other subproject of the WebKit
        project. For now this is limited to the set of intermediate
        libraries: wtf, javascriptcore, webcore, and webkit2.

        This replaces the previous convension of using load(foo) for
        just include paths, and CONFIG += foo to also link against foo.

        Adding a dependency results in additional include paths being
        available, and potentially linking to the library. This is
        decided by the build system based on conditions such as what
        kind of target is being built and the general build config.

        An advantage to his approach is that it simplifies the individual
        foo.prf files, for example by allowing us to use INCLUDEPATH +=
        and LIBS += as normal instead of prepending.

        Reviewed by Simon Hausmann.

        * Target.pri:

2012-01-03  Adam Barth  <abarth@webkit.org>

        HTMLConstructionSite::attach shouldn't return a value
        https://bugs.webkit.org/show_bug.cgi?id=75520

        Reviewed by Eric Seidel.

        We used to return a value to avoid some refchurn, but now that we're
        using tasks, we always need to take that reference.  Removing the
        return value lets us remove the template parameter, which is a boon.
        This patch has no impact on the html-parser.html benchmark.

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attachLater):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
        (WebCore::HTMLConstructionSite::insertDoctype):
        (WebCore::HTMLConstructionSite::insertComment):
        (WebCore::HTMLConstructionSite::insertCommentOnDocument):
        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
        (WebCore::HTMLConstructionSite::insertHTMLFormElement):
        (WebCore::HTMLConstructionSite::insertHTMLElement):
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLConstructionSite::insertForeignElement):
        (WebCore::HTMLConstructionSite::insertTextNode):
        (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
        (WebCore::HTMLConstructionSite::fosterParent):
        * html/parser/HTMLConstructionSite.h:

2012-01-03  Adam Barth  <abarth@webkit.org>

        Fix assert when foster parenting self-closing elements
        https://bugs.webkit.org/show_bug.cgi?id=75527

        Unreviewed.

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::fosterParent):
            - We can't execute this task immediately because the code for
              self-closing elements wants to set the self-closing flag.
              Instead, we queue the task.

2012-01-03  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Need to support credentials in the URL
        https://bugs.webkit.org/show_bug.cgi?id=75341

        Reviewed by George Staikos.

        No new tests required.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::sendRequestWithCredentials):

2012-01-03  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] Use data decoding swizzle for turbo JPEG grayscale images
        https://bugs.webkit.org/show_bug.cgi?id=75189

        Reviewed by Adam Barth.

        No new tests.  Covered by exiting tests, in particular for grayscale
        images that were corrupted by earlier versions on libjpeg-turbo:

        tables/mozilla/bugs/bug29314.html
        tables/mozilla/bugs/bug13169.html
        tables/mozilla/bugs/bug10565.html
        tables/mozilla/bugs/bug11026.html
        fast/repaint/backgroundSizeRepaint.html
        fast/repaint/block-layout-inline-children-replaced.html
        fast/repaint/clipped-relative.html
        fast/repaint/selected-replaced.html
        tables/mozilla/bugs/bug12908-1.html

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode):  Use a data decoding swizzle for
        JCS_GRAYSCALE images.

2012-01-03  Adam Barth  <abarth@webkit.org>

        Minor speed improvement in HTML parser
        https://bugs.webkit.org/show_bug.cgi?id=75517

        Reviewed by Eric Seidel.

        This improves the html-parser.html benchmark by 0.3%.  I don't think
        that's actually anything to write home about, but this patch makes me
        feel better about my life.

        * html/parser/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):

2012-01-03  Kentaro Hara  <haraken@chromium.org>

        Remove temporary code that we've inserted to implement the [Supplemental] IDL incrementally
        https://bugs.webkit.org/show_bug.cgi?id=75510

        Reviewed by Adam Barth.

        Now all build systems support the [Supplemental] IDL. This patch removes all
        temporary code that we've inserted to implement the [Supplemental] IDL.

        No tests. No change in behavior. Confirm that all builds pass.

        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        * bindings/scripts/generate-bindings.pl:
        * page/DOMWindow.idl: Removed all attributes with a temporal [Supplemented] IDL.

2012-01-03  Karl Koscher  <supersat@chromium.org>

        Give embedders a chance to handle postMessage calls
        https://bugs.webkit.org/show_bug.cgi?id=73883

        To support cross-process postMessage calls in Chromium (bug 73337), we need to intercept 
        postMessage calls to proxy windows. Originally we were just going to add a native event
        listener on the Chromium side, but that required more changes to WebKit and was a bit of
        a hack. See bug 73359 for a discuss about moving to this approach.

        Reviewed by Adam Barth.

        Test: platform/chromium/fast/events/intercept-postmessage.html

        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::willCheckAndDispatchPostMessage): new method to allow the
            embedder to intercept postMessage calls
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessageTimerFired): add a call to
            FrameLoaderClient::willCheckAndDispatchPostMessage

2012-01-03  Eric Penner  <epenner@google.com>

        [chromium] Prevent crashing due to NULL texture updater.
        https://bugs.webkit.org/show_bug.cgi?id=75288

        Reviewed by James Robinson.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        * platform/graphics/chromium/ImageLayerChromium.h:

2012-01-03  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] CCLayerSorter accidentally reverses order of some layers.
        https://bugs.webkit.org/show_bug.cgi?id=75046

        Reviewed by James Robinson.

        Unit test added to CCLayerSorterTest.cpp

        Fixes two related bugs that were causing z-ordering problems in
        layers when preserves3D triggers the need for layer sorting.

        The first problem was that CCLayerSorter accidentally reversed the
        order of layers when there was no sorting dependency between them.

        The second problem was that zDiff had numerical precision problems
        that forced sorting dependencies that were sometimes incorrect,
        when the dependencies should not have existed.

        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
        (WebCore::CCLayerSorter::checkOverlap):
        (WebCore::CCLayerSorter::sort):

2012-01-03  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Add support of blob form data to the BlackBerry port
        https://bugs.webkit.org/show_bug.cgi?id=75218

        Pass FormDataElement::encodedBlob type of form data to the BlackBerry
        platform request to support blob data and blob file range.

        Reviewed by George Staikos.

        The port can't be built now, no new tests so far.

        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::initializePlatformRequest):

2012-01-03  Adam Barth  <abarth@webkit.org>

        Two null crashes in Treebuilder
        https://bugs.webkit.org/show_bug.cgi?id=66101

        Reviewed by Eric Seidel.

        The underly issue with causing the crash is that we're re-entering the
        tree builder.  We've done a bunch of point fixes around tree builder
        re-entrancy, but neither the implementation nor the specification are
        really designed to handle re-entrancy.

        Firefox avoids this problem by putting the parser on its own thread.  I
        don't think we're quite ready to do that yet (although we will
        eventually, presumably, as computers become ever more parallel).  The
        approach in this patch is to queue up the DOM mutations and actually
        perform them on a shallower stack.  That's essentially the approach
        we've used for executing <scripts>.

        This patch queues up DOM modifications and executes them from a clean
        call stack, stopping us from re-entering the tree builder.  We might
        need to experiment with exactly where to kick off the queue, but this
        location seems reasonable and fixes the crash.

        Test: fast/parser/re-enter-and-crash.html

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::executeTask):
            - Add a helper function for actually executing a queue DOM
              mutation.
        (WebCore::HTMLConstructionSite::attach):
            - Instead of actually attaching the element to the DOM, this
              function now queues the element for attachment.  In a follow-up
              patch, I plan to change this function to return void (and I'll
              probably rename it to something that makes it clear that it only
              queues the attachment).
        (WebCore::HTMLConstructionSite::executeQueuedTasks):
        (WebCore::HTMLConstructionSite::insertDoctype):
            - Setting the compatmode from the Doctype requires the doctype to
              actually be in the DOM, so we need to execute our queued tasks
              synchronously.  We can likely improve this function by passing
              the Doctype element explicitly in a follow-up patch.
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
        (WebCore::HTMLConstructionSite::insertTextNode):
        (WebCore::HTMLConstructionSite::findFosterSite):
        (WebCore::HTMLConstructionSite::fosterParent):
        * html/parser/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSiteTask::HTMLConstructionSiteTask):
            - Add a task object that holds on to the relevant elements.  We
              define some vector traits for this object to match the traits on
              RefPtr (which make Vector operations faster by explaining that
              this type is moveable without having to churn reference counts).
        * html/parser/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::pushCommon):
            - We delay the "begin parsing" call until we actually attach the
              element to the DOM.  That splits the responsibility for calling
              begin/finished, which is less than ideal, but I didn't see
              another solution.
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
            - Kick off the queued mutations.

2012-01-03  Adam Barth  <abarth@webkit.org>

        view-source doesn't colorize </script> correctly
        https://bugs.webkit.org/show_bug.cgi?id=62971

        Reviewed by Eric Seidel.

        The reason these tags weren't colorized correctly was because the
        characters for the end tags where consumed by the tokenizer at the same
        time as it consumed the text of the script tag.  These characters are
        buffered internally by the tokenizer because the tokenizer is searching
        for "an appropriate end tag", which is "</script>" in this case.

        I tried a number of different approaches to fixing this bug.  The
        approach in this patch adds an accessor to the tokenizer to read out
        the buffered characters.  This approach makes it easier for the
        HTMLSourceTracker to get exactly the right value for these buffered
        characters without having to do a complicated simulation of the
        buffering itself.

        Tests: fast/frames/viewsource-plain-text-tags.html:

        * html/parser/HTMLViewSourceParser.cpp:
        (WebCore::HTMLViewSourceParser::pumpTokenizer):
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::pumpTokenizer):
          - Give the HTMLSourceTracker a pointer to the tokenizer so it can ask
            for the buffered characters.
        * html/parser/HTMLSourceTracker.cpp:
        (WebCore::HTMLSourceTracker::start):
          - The idea here is to treat characters buffered internally by the
            tokenizer the same way we treat characters that were contained in a
            previous segment of source.  We copy them into our accumulation
            buffer and adjust the token base offset to account for the extra
            characters.
        (WebCore::HTMLSourceTracker::end):
          - Don't consier the character buffered by the tokenizer to be part of
            the token we've just finished.
        (WebCore::HTMLSourceTracker::sourceForToken):
          - Remove the assumption that all of the m_previousSource is contained
            in the source for the current token.  Because we now understand
            that the tokenizer can buffer some characters internally, we might
            not exhaust the m_previousSource.
        * html/parser/HTMLSourceTracker.h:
          - Rename m_sourceFromPreviousSegments to m_previousSource and changed
            to a SegementedString to avoid extra mallocs we keep appending tiny
            segments.
          - Rename m_source to m_currentSource to contrast nicely with
            m_previousSource.
        * html/parser/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::flushBufferedEndTag):
        (WebCore::HTMLTokenizer::nextToken):
          - Previously, we cleared the temporary buffer lazily when we needed
            to add new characters to it.  Now we clear it eagerly so that it's
            length tells us whether we're currently using it to store
            characters.
          - Previously, we weren't storing the character that we used to
            terminate the appropriate end tag (e.g., the > in </script>)
            because we didn't need to "unbuffer" that character into the
            HTMLToken::appendToCharacter.  Now, we do store that character in
            the temporary buffer so that the HTMLSourceTracker can see that
            character.
        (WebCore::HTMLTokenizer::bufferedCharacters):
        * html/parser/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::numberOfBufferedCharacters):
          - Add accessor methods to copy out the buffered characters.
          - Also, unrelated to the rest of this patch, I made the constructor
            for HTMLTokenizer explicit because it takes only a single
            paramater, per the style guide.
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::clear):
          - SegmentedString::clear wasn't clearing all of its state.  I don't
            think this issue was actually observable, but I noticed it when
            working on this patch, so I fixed it.

2012-01-03  Benjamin Poulain  <bpoulain@apple.com>

        Exclude Mac's PlatformEventFactory from iOS
        https://bugs.webkit.org/show_bug.cgi?id=75493

        Reviewed by Sam Weinig.

        Move PlatformEventFactory.(h|cpp) to PlatformEventFactoryMac(h|cpp) and exclude the file
        from iOS build.

        * Configurations/WebCore.xcconfig: Also exclude EventHandlerMac for consistency.
        * WebCore.xcodeproj/project.pbxproj:
        * page/mac/EventHandlerMac.mm:
        * platform/mac/PlatformEventFactoryMac.h: Renamed from Source/WebCore/platform/mac/PlatformEventFactory.h.
        * platform/mac/PlatformEventFactoryMac.mm: Renamed from Source/WebCore/platform/mac/PlatformEventFactory.mm.
        (WebCore::globalPoint):
        (WebCore::globalPointForEvent):
        (WebCore::pointForEvent):
        (WebCore::mouseButtonForEvent):
        (WebCore::mouseEventTypeForEvent):
        (WebCore::clickCountForEvent):
        (WebCore::momentumPhaseForEvent):
        (WebCore::phaseForEvent):
        (WebCore::gestureEventTypeForEvent):
        (WebCore::textFromEvent):
        (WebCore::unmodifiedTextFromEvent):
        (WebCore::keyIdentifierForKeyEvent):
        (WebCore::isKeypadEvent):
        (WebCore::windowsKeyCodeForKeyEvent):
        (WebCore::isKeyUpEvent):
        (WebCore::modifiersForEvent):
        (WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
        (WebCore::PlatformEventFactory::createPlatformMouseEvent):
        (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
        (WebCore::PlatformEventFactory::createPlatformWheelEvent):
        (WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
        (WebCore::PlatformEventFactory::createPlatformKeyboardEvent):
        (WebCore::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
        (WebCore::PlatformEventFactory::createPlatformGestureEvent):

2012-01-03  Wei James  <james.wei@intel.com>

        Optimize AudioBufferSourceNode process by avoiding interpolation when pitchRate==1
        https://bugs.webkit.org/show_bug.cgi?id=74592

        Reviewed by Kenneth Russell.

        Covered by existing webaudio layout tests, especially webaudio/audiobuffersource-playbackrate.html

        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping):
        (WebCore::AudioBufferSourceNode::renderFromBuffer):
        * webaudio/AudioBufferSourceNode.h:

2012-01-03  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Access to Node Highlighting info without drawing
        https://bugs.webkit.org/show_bug.cgi?id=75504

        Provide a "getHighlight" method alongside "drawHighlight" that
        gets most of the important node highlighting information. This
        can be used by a port to do its own node highlighting or provide
        extra content without interfering with the highlight rects.

        Reviewed by Timothy Hatcher.

        * WebCore.xcodeproj/project.pbxproj:
        Privately expose the Highlight struct in DOMNodeHighlighter.h.

        * inspector/DOMNodeHighlighter.cpp:
        (WebCore::DOMNodeHighlighter::drawHighlight):
        (WebCore::DOMNodeHighlighter::getHighlight):
        * inspector/DOMNodeHighlighter.h:
        Reuse the existing draw code to instead populate
        the Highlight struct with the information it is
        about to draw, and only draw if there is a context.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::getHighlight):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getHighlight):
        * inspector/InspectorDOMAgent.h:
        Get highlight information by going through getHighlight
        in InspectorController. This is alongside drawHighlight.

2012-01-03  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Push drawsContent and contentsVisible into accelerated compositor
        https://bugs.webkit.org/show_bug.cgi?id=71209

        Reviewed by James Robinson.

        Tests: compositing/visibility/visibility-simple-canvas2d-layer.html
               compositing/visibility/visibility-simple-video-layer.html
               compositing/visibility/visibility-simple-webgl-layer.html

        Rebaselined compositing/visibility/visibility-image-layers.html

        The CSS visibility property was not being properly obeyed by many
        specialized layer types in the accelerated compositor. The root of
        the problem was that drawsContent and contentsVisible flags were
        not properly propagated into the compositor. This patch removes
        the drawsContent() callback, and instead makes sure that
        drawsContent and contentsVisible are "pushed" through the
        accelerated compositor.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::drawsContent):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setDrawsContent):
        (WebCore::GraphicsLayerChromium::setContentsVisible):
        (WebCore::GraphicsLayerChromium::setContentsToImage):
        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
        (WebCore::GraphicsLayerChromium::setContentsToMedia):
        (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
        (WebCore::GraphicsLayerChromium::setupContentsLayer):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::setIsDrawable):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::drawsContent):
        * platform/graphics/chromium/PluginLayerChromium.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::drawsContent):
        * platform/graphics/chromium/VideoLayerChromium.h:
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::drawsContent):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::dumpLayerProperties):

2012-01-03  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Make sure root damage rect gets passed to renderer
        https://bugs.webkit.org/show_bug.cgi?id=74893

        Reviewed by James Robinson.

        Unit test added to CCLayerTreeHostImplTest.cpp

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::swapBuffers):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::swapBuffers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

2012-01-03  Yuzhu Shen  <yzshen@chromium.org>

        v8 binding: npCreateV8ScriptObject() should not returned an existing V8NPObject if the rootObject doesn't match
        https://bugs.webkit.org/show_bug.cgi?id=74515

        Reviewed by Nate Chapin.

        Test: http/tests/plugins/create-v8-script-objects.html

        * bindings/v8/NPV8Object.cpp:
        (WebCore::freeV8NPObject):
        (WebCore::npCreateV8ScriptObject):

2012-01-03  Jon Lee  <jonlee@apple.com>

        Leak of WebNotificationClient when page is destroyed
        https://bugs.webkit.org/show_bug.cgi?id=74980
        <rdar://problem/10611231>

        Reviewed by Mark Rowe.

        * notifications/NotificationController.cpp:
        (WebCore::NotificationController::~NotificationController): Notify the client
        that the controller has been destroyed.
        * notifications/NotificationPresenter.h: Add notificationControllerDestroyed()
        callback to the client interface.

2012-01-03  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for list-style is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=75443

        Reviewed by Tony Chang.

        Implement getComputedStyle for list-style.

        Test: fast/css/getComputedStyle/getComputedStyle-list-style-shorthand.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2012-01-03  Adrienne Walker  <enne@google.com>

        [chromium] Remove unneeded content vs. layer space distinction in tiled layers
        https://bugs.webkit.org/show_bug.cgi?id=75498

        Reviewed by James Robinson.

        Long ago, before scrollbars became their own layers, tiled layers had
        a distinction between content space (what's mostly called layer space
        elsewhere) and layer space (the transformed content space). It seemed
        like this transform could get reused for supporting RTL pages, but as
        that's not the case, it should be eradicated.

        Tiled layers now deal with everything in "layer space", which is a 2d
        rectangle starting at (0, 0) in the top left of the layer and
        extending to contentBounds() in the bottom right.

        As no code actually set the tiler position, this change should be a
        no-op.

        Test: LayoutTests/compositing/

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::isDirty):
        (WebCore::UpdatableTile::clearDirty):
        (WebCore::TiledLayerChromium::updateCompositorResources):
        (WebCore::TiledLayerChromium::createTile):
        (WebCore::TiledLayerChromium::invalidateRect):
        (WebCore::TiledLayerChromium::protectTileTextures):
        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
        (WebCore::TiledLayerChromium::needsIdlePaint):
        (WebCore::TiledLayerChromium::idlePaintRect):
        * platform/graphics/chromium/TiledLayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::operator=):
        (WebCore::CCLayerTilingData::layerRectToTileIndices):
        (WebCore::CCLayerTilingData::tileRect):
        * platform/graphics/chromium/cc/CCLayerTilingData.h:
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::appendQuads):

2011-12-22  Joseph Pecoraro  <pecoraro@apple.com>

        Implement Date and Time Input Value Sanitization
        https://bugs.webkit.org/show_bug.cgi?id=59951

        Sanitize non-parsable incoming strings to the empty string.

        Reviewed by Kent Tamura.

        Covered by existing tests.

        * html/BaseDateAndTimeInputType.h:
        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::sanitizeValue): check if the
        incoming string is valid. If not just return the empty string.

2012-01-03  Julien Chaffraix  <jchaffraix@webkit.org>

        RenderLayer::backgroundClipRect should not check parent()
        https://bugs.webkit.org/show_bug.cgi?id=73731

        Reviewed by Simon Fraser.

        Clean-up only, no expected change in behavior.

        * rendering/RenderLayer.cpp:
        (WebCore::backgroundClipRectForPosition): Changed RenderObject::isPositioned() to
        a check for AbsolutePosition for consistency but also as this is equivalent due to:
        - the previous check for FixedPosition.
        - RenderView, which is positioned, will never goes to this code as it has no parent().

        (WebCore::RenderLayer::backgroundClipRect): Removed the parent() check. While at
        it, also moved the inline initialization of |backgroundClipRect| to its own function
        and removed a |view| check as the associated ASSERT seems to never have been reached.

2012-01-03  Alexey Proskuryakov  <ap@apple.com>

        <rdar://problem/10637779> REGRESSION (r102247): Focus ring is not drawn around a button

        Rubber-stamped by Dan Bernstein.

        * platform/mac/ThemeMac.mm: (WebCore::updateStates): Flip an incorrect conditional, this code
        should run on Snow Leopard and Lion.

2012-01-03  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle should return shorthands property with the minimum number of sides possible.
        https://bugs.webkit.org/show_bug.cgi?id=75434

        Reviewed by Tony Chang.

        As stated in http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSS2Properties we should
        return shorthands properties with the minimum number of sides possible.

        Existing tests have been updated accordingly.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
        * css/CSSComputedStyleDeclaration.h:

2012-01-03  Martin Robinson  <mrobinson@igalia.com>

        [GTK] GTK+ 3 theming code does not use the GtkOrientable style class
        https://bugs.webkit.org/show_bug.cgi?id=72789

        Reviewed by Philippe Normand.

        No new tests. Testing GTK+ theming is quite difficult
        because no two distributions have the same set of themes.
        Current tests prevent regressions.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::applySliderStyleContextClasses): Added this helper that
        properly handles the orientable style class.
        (WebCore::RenderThemeGtk::paintSliderTrack): Use the new helper.
        (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
        * platform/gtk/ScrollbarThemeGtk3.cpp:
        (WebCore::applyScrollbarStyleContextClasses): Added this helper that
        properly handles the orientable style class.
        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Use the new helper.
        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
        (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
        (WebCore::ScrollbarThemeGtk::paintButton): Ditto.

2012-01-03  Florin Malita  <fmalita@google.com>

        NULL ptr in WebCore::SVGStyledTransformableElement::animatedLocalTransform
        https://bugs.webkit.org/show_bug.cgi?id=75227

        Reviewed by Dirk Schulze.

        Test: svg/custom/webkit-transform-crash.html

        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
        Add a null-renderer check.

2012-01-03  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for border is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=75319

        Reviewed by Tony Chang.

        Implement getComputedStyle for border.

        fast/css/getComputedStyle/getComputedStyle-border-shorthand.html was extented.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2012-01-03  Alexis Menard  <alexis.menard@openbossa.org>

        Sort the WebCore Xcode project file

        Reviewed by Dimitri Glazkov.

        * WebCore.xcodeproj/project.pbxproj:

2012-01-03  Adrienne Walker  <enne@google.com>

        [chromium] Set tiler bounds explicitly rather than growing them
        https://bugs.webkit.org/show_bug.cgi?id=75331

        Reviewed by James Robinson.

        Rather than only growing bounds, make the bounds on the tiler be set
        explicitly by TiledLayerChromium. This patch now properly invalidates
        regions when the bounds change.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::updateBounds):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
        * platform/graphics/chromium/TiledLayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::setBounds):
        (WebCore::CCLayerTilingData::bounds):
        * platform/graphics/chromium/cc/CCLayerTilingData.h:

2012-01-03  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Slider thumb is not centered on the track with the unico theme
        https://bugs.webkit.org/show_bug.cgi?id=72802

        Reviewed by Philippe Normand.

        No new tests. This only applies to certain GTK+ themes.
        Existing tests cover the default GTK+ theme.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::paintSliderThumb): Do not resize the
        slider thumb by the trough border.

2012-01-03  Adrienne Walker  <enne@google.com>

        [chromium] Make tiled layer's tiler always exist
        https://bugs.webkit.org/show_bug.cgi?id=75329

        Reviewed by James Robinson.

        TiledLayerChromium has some awkward code to handle lazily creating the
        tiler, including lots of null checks and shadowing the tile size.
        Instead, always create the tiler up front. As values change that
        invalidate all tiles, reset it rather than clear the pointer.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setIsNonCompositedContent):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::TiledLayerChromium):
        (WebCore::TiledLayerChromium::cleanupResources):
        (WebCore::TiledLayerChromium::setTileSize):
        (WebCore::TiledLayerChromium::setBorderTexelOption):
        (WebCore::TiledLayerChromium::drawsContent):
        (WebCore::TiledLayerChromium::updateCompositorResources):
        (WebCore::TiledLayerChromium::setTilingOption):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::TiledLayerChromium::setIsNonCompositedContent):
        (WebCore::TiledLayerChromium::invalidateRect):
        (WebCore::TiledLayerChromium::protectTileTextures):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
        (WebCore::TiledLayerChromium::needsIdlePaint):
        (WebCore::TiledLayerChromium::idlePaintRect):
        * platform/graphics/chromium/TiledLayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::setBorderTexelOption):
        * platform/graphics/chromium/cc/CCLayerTilingData.h:
        * platform/graphics/gpu/TilingData.cpp:
        (WebCore::TilingData::setHasBorderTexels):
        * platform/graphics/gpu/TilingData.h:

2012-01-03  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::JSTestEventConstructor::destroy):
        * bindings/scripts/test/JS/JSTestEventConstructor.h:
        (WebCore::JSTestEventConstructor::releaseImplIfNotNull):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterface::destroy):
        * bindings/scripts/test/JS/JSTestInterface.h:
        (WebCore::JSTestInterface::releaseImplIfNotNull):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::JSTestMediaQueryListListener::destroy):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
        (WebCore::JSTestMediaQueryListListener::releaseImplIfNotNull):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructor::destroy):
        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
        (WebCore::JSTestNamedConstructor::releaseImplIfNotNull):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObj::destroy):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore::JSTestObj::releaseImplIfNotNull):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterface::destroy):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        (WebCore::JSTestSerializedScriptValueInterface::releaseImplIfNotNull):

2012-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Fix scrollbars size with GTK+ 3.x
        https://bugs.webkit.org/show_bug.cgi?id=75467

        Reviewed by Xan Lopez.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::getStyleContext): Add the style class for the given
        widget type to the GtkWidgetPath when creating GtkStyleContext
        objects.

2012-01-03  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for outline is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=75441

        Reviewed by Antonio Gomes.

        Implement getComputedStyle for outline.

        Test: fast/css/getComputedStyle/getComputedStyle-outline-shorthand.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2012-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use gdk_screen_get_monitor_workarea() when available for screenAvailableRect()
        https://bugs.webkit.org/show_bug.cgi?id=75435

        Reviewed by Martin Robinson.

        * platform/gtk/GtkVersioning.c:
        (getScreenCurrentDesktop):
        (getScreenWorkArea):
        (gdk_screen_get_monitor_workarea): Implement it when GTK+ < 3.3.6.
        * platform/gtk/GtkVersioning.h:
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::screenAvailableRect): Use
        gdk_screen_get_monitor_workarea() instead of our own
        implementation.

2012-01-02  Kentaro Hara  <haraken@chromium.org>

        REGRESSION(r103919): Remove resolve-supplemental.pl from the WebCore target in Xcode
        https://bugs.webkit.org/show_bug.cgi?id=75458

        Reviewed by Adam Barth.

        At r103919, we added resolve-supplemental.pl to WebCore.framework/Resources,
        but we should have added it to the project without adding it to any target.
        This patch fixes it.

        No tests. No change in behavior.

        * WebCore.xcodeproj/project.pbxproj:

2012-01-02  Kentaro Hara  <haraken@chromium.org>

        Enable the [Supplemental] IDL on GTK/GObject
        https://bugs.webkit.org/show_bug.cgi?id=75411

        Reviewed by Adam Barth.

        This patch enables the [Supplemental] IDL on GObject bindings of GTK
        by changing the build flow of bindings/gobject/GNUmakefile.am as follows.

        - Previous build flow:
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl;
                generate-bindings.pl reads $idl;
                generate-bindings.pl generates .h and .cpp files for $idl;
            }

        - New build flow (See the discussions in bug 72138 for more details):
            resolve-supplemental.pl depends on all IDL files;
            resolve-supplemental.pl reads all IDL files;
            resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
            resolve-supplemental.pl outputs supplemental_dependency.tmp;
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                generate-bindings.pl reads $idl;
                generate-bindings.pl reads supplemental_dependency.tmp;
                generate-bindings.pl generates .h and .cpp files for $idl,
                    including all attributes in the IDL files that are implementing $idl;
            }

        Tests: Confirm that build succeeds.
               http/tests/websocket/tests/*

        * GNUmakefile.am:
        * bindings/gobject/GNUmakefile.am:

2012-01-02  Kentaro Hara  <haraken@chromium.org>

        Add resolve-supplemental.pl to project.pbxproj
        https://bugs.webkit.org/show_bug.cgi?id=75426

        Reviewed by Adam Barth.

        We should have added "resolve-supplemental.pl" to build scripts of AppleWebKit
        when we enabled the [Supplemental] IDL on AppleWebKit at r103519.
        This is a follow-up patch for it.

        No tests. Just confirm that the AppleWebKit build passes.

        * WebCore.xcodeproj/project.pbxproj:

2012-01-02  Kentaro Hara  <haraken@chromium.org>

        Add resolve-supplemental.pl to build scripts of AppleWin
        https://bugs.webkit.org/show_bug.cgi?id=75412

        Reviewed by Adam Barth.

        We should have added "resolve-supplemental.pl" to build scripts of AppleWin
        when we enabled the [Supplemental] IDL on AppleWin at r103519.
        This is a follow-up patch for it.

        No tests. Just confirm that the AppleWin build passes.

        * WebCore.vcproj/MigrateScripts:
        * WebCore.vcproj/WebCore.vcproj:

2012-01-02  Sam Weinig  <sam@webkit.org>

        Fix the build.

        * bindings/scripts/CodeGeneratorJS.pm:

2012-01-02  Andy Estes  <aestes@apple.com>

        Fix the Windows build after r103888.

        * WebCore.vcproj/WebCore.vcproj: Remove CollectionCache.{cpp, h} from
        the WebCore vcproj.

2012-01-02  Sam Weinig  <sam@webkit.org>

        REGRESSION(r100517): We're leaking many, many DOM objects!
        https://bugs.webkit.org/show_bug.cgi?id=75451

        Reviewed by Mark Rowe.

        * bindings/scripts/CodeGeneratorJS.pm:
        Add a temporary workaround to the problem of handle finalizers
        not getting called by adding back the destructors (or rather
        their replacement, destroy() functions).

2012-01-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Fix chromium mac build after r103905
        https://bugs.webkit.org/show_bug.cgi?id=75436

        Reviewed by Csaba Osztrogonác.

        Adding parenthesis to disambiguate because clang gives error
        "expression is not assignable".

        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):

2011-12-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Use HashMap<OwnPtr> in RenderSVGResourceGradient
        https://bugs.webkit.org/show_bug.cgi?id=75364

        Reviewed by Daniel Bates.

        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
        (WebCore::RenderSVGResourceGradient::removeClientFromCache):
        (WebCore::RenderSVGResourceGradient::applyResource): avoid looking
        up the hash twice by using HashMap::add().
        * rendering/svg/RenderSVGResourceGradient.h: rename m_gradient to m_gradientMap.

2012-01-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Fix qmake warning about unescaped backslashes

        Reviewed by Ossy.

        * DerivedSources.pri:

2012-01-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck issue.

        * GNUmakefile.am: Add resolve-supplemental.pl script to
        EXTRA_DIST.

2012-01-01  Andreas Kling  <awesomekling@apple.com>

        Clear HTMLCollection's internal cache on construction.
        <http://webkit.org/b/75423>

        Reviewed by Antti Koivisto.

        * html/HTMLCollection.h:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::invalidateCacheIfNeeded):

2012-01-01  Eunmi Lee  <eunmi15.lee@samsung.com>

        [EFL] Move function to get dpi to the WebCore/platform/efl/EflScreenUtilities.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=75292

        Reviewed by Andreas Kling.

        Move ewk_util_dpi_get() function in the ewk_util.cpp to the
        WebCore/platform/efl/EflScreenUtilities.cpp in order to use it in the WebKit2.
        The function's name is changed to getDPI().

        * PlatformEfl.cmake:
        * platform/efl/EflScreenUtilities.cpp: Added.
        (WebCore::getDPI):
        * platform/efl/EflScreenUtilities.h: Added.

2012-01-01  Andreas Kling  <awesomekling@apple.com>

        Merge CollectionCache into HTMLCollection.
        <http://webkit.org/b/75423>

        Reviewed by Anders Carlsson.

        - Move the members of CollectionCache into HTMLCollection.
        - Renamed resetCollectionInfo() to invalidateCacheIfNeeded().
        - Removed a bunch of overkill HashMap::checkConsistency() calls.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * html/CollectionCache.cpp: Removed.
        * html/CollectionCache.h: Removed.

            Remove CollectionCache.

        * html/HTMLAllCollection.cpp:
        (WebCore::HTMLAllCollection::namedItemWithIndex):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::~HTMLCollection):
        (WebCore::HTMLCollection::invalidateCacheIfNeeded):
        (WebCore::HTMLCollection::length):
        (WebCore::HTMLCollection::item):
        (WebCore::HTMLCollection::nextItem):
        (WebCore::HTMLCollection::namedItem):
        (WebCore::HTMLCollection::updateNameCache):
        (WebCore::HTMLCollection::hasNamedItem):
        (WebCore::HTMLCollection::namedItems):
        (WebCore::HTMLCollection::append):
        * html/HTMLCollection.h:
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::item):
        (WebCore::HTMLFormCollection::getNamedItem):
        (WebCore::HTMLFormCollection::nextItem):
        (WebCore::HTMLFormCollection::namedItem):
        (WebCore::HTMLFormCollection::updateNameCache):

            HTMLCollection's m_info and info() become "struct m_cache" (protected.)

        * html/HTMLOptionsCollection.cpp:
        * html/HTMLOptionsCollection.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setRecalcListItems):

            Expose HTMLCollection::invalidateCacheIfNeeded() so we can call it from
            HTMLSelectElement::setRecalcListItems().

        * html/HTMLFormCollection.h:

            Remove stale declaration of formCollectionInfo() which no longer exists.

2012-01-01  Andreas Kling  <awesomekling@apple.com>

        Move the remaining collections to caching on their respective base nodes.
        <http://webkit.org/b/75416>

        Reviewed by Anders Carlsson.

        Add a (lazily-allocated) array of HTMLCollections to ElementRareData and cache
        the various collections on their base node rather than recreating them every time.

        Test: fast/dom/collection-idempotence.html
              fast/dom/gc-9.html

        * html/CollectionType.h:
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::hasCachedHTMLCollections):
        (WebCore::ElementRareData::cachedHTMLCollection):
        (WebCore::ElementRareData::ensureCachedHTMLCollection):
        * dom/Element.h:
        * dom/Element.cpp:
        (WebCore::Element::ensureCachedHTMLCollection):

            Plumbing to cache HTMLCollections on ElementRareData.

        (WebCore::Element::~Element):

            Detach any cached collections from an element when it's destroyed.

        * html/HTMLCollection.h:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::create):
        (WebCore::HTMLCollection::~HTMLCollection):
        (WebCore::HTMLCollection::detachFromNode):
        * html/HTMLTableRowsCollection.cpp:
        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::HTMLFormCollection):
        * dom/Document.cpp:
        (WebCore::Document::cachedCollection):

            Consolidate the HTMLCollection constructors and get rid of the hacks to
            optionally retain the base node.

        * html/HTMLDataListElement.cpp:
        (WebCore::HTMLDataListElement::options):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::children):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::areas):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::tBodies):
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::cells):
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::rows):

            Cached collections!

2012-01-01  Raymond Liu  <raymond.liu@intel.com>

        Use overload methods to implement [Optional] parameters in AudioNode.idl
        https://bugs.webkit.org/show_bug.cgi?id=75402

        Reviewed by Adam Barth.

        No new tests required.

        * GNUmakefile.list.am:
        * UseV8.cmake:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSAudioNodeCustom.cpp: Removed.
        * bindings/v8/custom/V8AudioNodeCustom.cpp: Removed.
        * webaudio/AudioNode.cpp:
        (WebCore::AudioNode::connect):
        (WebCore::AudioNode::disconnect):
        * webaudio/AudioNode.h:
        * webaudio/AudioNode.idl:

2011-12-20  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: border-collapse-offset-002.htm fails
        https://bugs.webkit.org/show_bug.cgi?id=71705

        Reviewed by Julien Chaffraix.

        Tests: css2.1/20110323/border-collapse-offset-002-expected.html
               fast/css/caption-width-absolute-position-offset-top.htm
               fast/css/caption-width-absolute-position.htm
               fast/css/caption-width-fixed-position-offset-top.htm
               fast/css/caption-width-fixed-position.htm
               fast/css/caption-width-relative-position-offset-top.htm
               fast/css/caption-width-relative-position.htm

        Table captions are implemented as children of the table but have a special
        requirement to expand to the full width of the table rather than just the 'available'
        width, i.e. the full width minus padding and borders.

        To accomodate this create a RenderTableCaption object that reimplements containingBlockLogicalWidthForContent()
        to return the full width of the containing block (i.e. the table) rather than the available width.


        * CMakeLists.txt: Add RenderTableCaption.[cpp|h]
        * GNUmakefile.list.am: Add RenderTableCaption.[cpp|h]
        * Target.pri: Add RenderTableCaption.[cpp|h]
        * WebCore.gypi: Add RenderTableCaption.[cpp|h]
        * WebCore.vcproj/WebCore.vcproj: Add RenderTableCaption.[cpp|h]
        * WebCore.xcodeproj/project.pbxproj: Add RenderTableCaption.[cpp|h]
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use RenderTableCaption
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject): Add RenderTableCaption.[cpp|h]
        (WebCore::RenderObject::addChild): ditto
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isTableCaption):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild):
        * rendering/RenderTable.h:
        * rendering/RenderTableCaption.cpp: Added.
        (WebCore::RenderTableCaption::RenderTableCaption): Implement RenderTableCaption
        (WebCore::RenderTableCaption::~RenderTableCaption):
        (WebCore::RenderTableCaption::containingBlockLogicalWidthForContent): Return the containing block's full width rather than it's available width.
        * rendering/RenderTableCaption.h: Added.
        (WebCore::RenderTableCaption::isTableCaption):
        (WebCore::toRenderTableCaption):
        * rendering/RenderingAllInOne.cpp:

2012-01-01  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/CPP/WebDOMTestSupplemental.cpp: Added.
        * bindings/scripts/test/CPP/WebDOMTestSupplemental.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestSupplemental.cpp: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestSupplemental.h: Added.
        * bindings/scripts/test/ObjC/DOMTestSupplemental.cpp: Added.
        * bindings/scripts/test/ObjC/DOMTestSupplemental.h: Added.

2012-01-01  Andreas Kling  <awesomekling@apple.com>

        Make HTMLCollections play nice after their base node is gone.
        <http://webkit.org/b/75410>

        Reviewed by Anders Carlsson.

        Added HTMLCollection::detachFromNode() and call that from destructors of nodes
        with cached collections.

        Sprinkled checks/assertions where applicable to make sure HTMLCollections are
        empty after their associated node has been destroyed.

        This is a slight change in behavior, as collections would previously keep
        their nodes alive indefinitely. Added a test to document this.

        Test: fast/dom/htmlcollection-zombies.html

        * dom/Document.cpp:
        (WebCore::Document::~Document):
        * html/HTMLAllCollection.cpp:
        (WebCore::HTMLAllCollection::namedItemWithIndex):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::detachFromNode):
        (WebCore::HTMLCollection::resetCollectionInfo):
        (WebCore::HTMLCollection::itemAfter):
        (WebCore::HTMLCollection::calcLength):
        (WebCore::HTMLCollection::length):
        (WebCore::HTMLCollection::item):
        (WebCore::HTMLCollection::nextItem):
        (WebCore::HTMLCollection::namedItem):
        (WebCore::HTMLCollection::updateNameCache):
        (WebCore::HTMLCollection::hasNamedItem):
        (WebCore::HTMLCollection::namedItems):
        (WebCore::HTMLCollection::tags):
        * html/HTMLCollection.h:
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::calcLength):
        (WebCore::HTMLFormCollection::item):
        (WebCore::HTMLFormCollection::getNamedItem):
        (WebCore::HTMLFormCollection::getNamedFormItem):
        (WebCore::HTMLFormCollection::namedItem):
        (WebCore::HTMLFormCollection::updateNameCache):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::~HTMLFormElement):
        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::itemAfter):
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::add):
        (WebCore::HTMLOptionsCollection::remove):
        (WebCore::HTMLOptionsCollection::selectedIndex):
        (WebCore::HTMLOptionsCollection::setSelectedIndex):
        (WebCore::HTMLOptionsCollection::setLength):
        * html/HTMLPropertiesCollection.cpp:
        (WebCore::HTMLPropertiesCollection::length):
        (WebCore::HTMLPropertiesCollection::item):
        (WebCore::HTMLPropertiesCollection::names):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::~HTMLSelectElement):
        * html/HTMLSelectElement.h:
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::~HTMLTableElement):
        * html/HTMLTableElement.h:
        * html/HTMLTableRowsCollection.cpp:
        (WebCore::HTMLTableRowsCollection::itemAfter):

2012-01-01  Andreas Kling  <awesomekling@apple.com>

        HTMLCollection: Remove the constructor's custom CollectionCache* argument.
        <http://webkit.org/b/75414>

        Reviewed by Anders Carlsson.

        We no longer need to initialize HTMLCollections with a custom CollectionCache,
        so remove the argument from the constructor.

        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        * html/HTMLCollection.h:
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::HTMLFormCollection):
        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::HTMLNameCollection):
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
        * html/HTMLTableRowsCollection.cpp:
        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):

2011-12-31  Dan Bernstein  <mitz@apple.com>

        WebCore changes for: REGRESSION (WebKit2): Cursor, hover states not updated when page scrolls under stationary mouse pointer
        https://bugs.webkit.org/show_bug.cgi?id=75405

        Reviewed by Anders Carlsson.

        Test: fast/events/frame-scroll-fake-mouse-move.html

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChanged): Added a call to
        EventHandler::dispatchFakeMouseMoveEventSoon().

2012-01-01  Andreas Kling  <awesomekling@apple.com>

        Cache named item collections on Document, not just their caches.
        <http://webkit.org/b/75403>

        Reviewed by Anders Carlsson.

        Keep two maps of name -> RefPtr<HTMLNameCollection> on Document. We already
        had maps for the CollectionCaches and were creating the HTMLNameCollections
        every time they were accessed. We now let the collections create and manage
        the CollectionCaches instead of Document.

        No new tests since these collections are not exposed to the web.

        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::windowNamedItems):
        (WebCore::Document::documentNamedItems):

            Replace the name/CollectionCache maps by name/HTMLNameCollection maps.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::namedItemGetter):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::nameGetter):

            Pass names as AtomicStrings to Document's collection getters.

        * html/HTMLNameCollection.h:
        (WebCore::HTMLNameCollection::create):
        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::HTMLNameCollection):

            Store the name in an AtomicString instead of a String, incidentally
            making traversal of HTMLNameCollections more efficient.

        * html/CollectionType.h:

            Remove two now-unneeded constants.

2012-01-01  Andreas Kling  <awesomekling@apple.com>

        Remove Document::collectionInfo() and let collections manage their caches.
        <http://webkit.org/b/75401>

        Reviewed by Anders Carlsson.

        Remove the CollectionCaches from Document and have the document's collections
        create and manage the caches on-demand instead. This is a step towards merging
        CollectionCache into HTMLCollection.

        * dom/Document.h:
        * dom/Document.cpp:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        * html/HTMLOptionsCollection.cpp:

2012-01-01  Andreas Kling  <awesomekling@apple.com>

        RenderThemeMac: Avoid double hash lookup in systemColor().
        <http://webkit.org/b/75409>

        Reviewed by Anders Carlsson.

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::systemColor):

2012-01-01  Andreas Kling  <awesomekling@apple.com>

        CSSStyleSelector: Avoid double hash lookup in keyframeStylesForAnimation().
        <http://webkit.org/b/75408>

        Reviewed by Anders Carlsson.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):

2012-01-01  Andreas Kling  <awesomekling@apple.com>

        KeyframeAnimation: Use hash lookups to determine if property is animated.
        <http://webkit.org/b/75407>

        Reviewed by Anders Carlsson.

        Clean out an old FIXME about using hash lookups instead of iterating over
        the properties.

        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::hasAnimationForProperty):
        (WebCore::KeyframeAnimation::affectsProperty):

2011-12-31  Dan Bernstein  <mitz@apple.com>

        WebCore change for <rdar://problem/10463059> Cannot print USPS shipping labels
        http://webkit.org/b/72801

        Reviewed by Anders Carlsson and Alexey Proskuryakov.

        * WebCore.exp.in: Exported Chrome::print().

2011-12-31  Dan Bernstein  <mitz@apple.com>

        WebCore changes for <rdar://problem/8750356> REGRESSION (WebKit2): Printing a subframe containing a PDF prints the on-screen view instead of the entire PDF document
        <http://webkit.org/b/75232>

        Reviewed by Alexey Proskuryakov.

        * WebCore.exp.in: Exported PluginDocument::pluginWidget().
        * WebCore.xcodeproj/project.pbxproj: Promoted PluginDocument.h to private.
        * html/PluginDocument.h: Fixed a typo in a comment.

2011-12-30  Andreas Kling  <awesomekling@apple.com>

        Cache and reuse the HTMLTableElement.rows collection.
        <http://webkit.org/b/75398>

        Reviewed by Anders Carlsson.

        Let HTMLTableElement::rows() cache the returned collection and tie it to the
        lifetime of the form.

        Test: fast/dom/table-rows-collection-idempotence.html
              fast/dom/gc-9.html

        * html/HTMLTableElement.h:
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::rows):

            Cache the HTMLTableRowsCollection returned by rows() on the HTMLTableElement.
            Remove the per-table CollectionCache and let the collection manage that.

        * html/HTMLTableRowsCollection.h:
        * html/HTMLTableRowsCollection.cpp:
        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
        (WebCore::HTMLTableRowsCollection::create):

            Tell the base class constructor to not retain the back-pointer to the table.

2011-12-30  Andreas Kling  <awesomekling@apple.com>

        Cache and reuse the HTMLSelectElement.options collection.
        <http://webkit.org/b/75399>

        Reviewed by Anders Carlsson.

        Let HTMLSelectElement::options() cache the returned collection and tie it to the
        lifetime of the form. This shrinks HTMLSelectElement by sizeof(CollectionCache)
        minus one pointer.

        Test: fast/dom/select-options-collection-idempotence.html
              fast/gc-9.html

        * html/HTMLSelectElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::options):

            Cache the HTMLOptionsCollection returned by options() on the HTMLSelectElement.
            Remove the per-select CollectionCache and let the collection manage that.

        * html/HTMLOptionsCollection.h:
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::create):
        (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):

            Tell the base class constructor to not retain the back-pointer to the element.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setRecalcListItems):
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::invalidateCache):

            Added so HTMLSelectElement can invalidate the collection without triggering
            unnecessary instantiation of a CollectionCache.

2011-12-30  Kentaro Hara  <haraken@chromium.org>

        Enable the [Supplemental] IDL on CMake
        https://bugs.webkit.org/show_bug.cgi?id=75345

        Reviewed by Daniel Bates.

        This patch enables the [Supplemental] IDL on CMake by changing the build
        flow of CMake as follows.

        - Previous build flow:
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl;
                generate-bindings.pl reads $idl;
                generate-bindings.pl generates .h and .cpp files for $idl;
            }

        - New build flow (See the discussions in bug 72138 for more details):
            resolve-supplemental.pl depends on all IDL files;
            resolve-supplemental.pl reads all IDL files;
            resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
            resolve-supplemental.pl outputs supplemental_dependency.tmp;
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                generate-bindings.pl reads $idl;
                generate-bindings.pl reads supplemental_dependency.tmp;
                generate-bindings.pl generates .h and .cpp files for $idl,
                    including all attributes in the IDL files that are implementing $idl;
            }

        Tests: Confirm that build succeeds.
               http/tests/websocket/tests/*

        * CMakeLists.txt:
        * UseJSC.cmake: Modified to reflect the new build flow as described above.
        * UseV8.cmake: Ditto.

2011-12-30  Robert Hogan  <robert@webkit.org>

        REGRESSION (r94492): Text is shifted to the right in some buttons in the Mac App Store
        https://bugs.webkit.org/show_bug.cgi?id=74723

        Reviewed by Dan Bernstein.

        Tests: fast/css/absolute-inline-alignment-2.html
               fast/css/absolute-inline-alignment.html

        Inline positioned elements in the leading spaces of an inline run need to align to 
        adjacent text, so add them to the run as they're encountered.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineInfo::LineInfo): Keep a count of positioned objects encountered when
         skipping leading whitespace.
        (WebCore::LineInfo::runsFromLeadingWhitespace):
        (WebCore::LineInfo::resetRunsFromLeadingWhitespace):
        (WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
        (WebCore::RenderBlock::constructLine): Leading positioned objects should not be considered
         when deciding the number of runs in a line. Otherwise they would contribute towards line 
         height themselves and prevent a free-standing BR following the positioned object from providing a full 
         20px of height.
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Since a run containing line-breaks will enter
         skipLeadingWhitespace for each new line we reset the count every time so that the count of positioned
         objects we encounter only affects the line they appear on. This case is covered by 
         fast/inline/styledEmptyInlinesWithBRs.html
        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace): Add a run for each inline positioned object
         encountered in leading white space. Keep a count of them so that they can be excluded from
         the total number of runs in constructLine. 

2011-12-30  Raymond Liu  <raymond.liu@intel.com>

        Remove unnecessary [Custom] attribute in CanvasRenderingContext2D.idl
        https://bugs.webkit.org/show_bug.cgi?id=75376

        Reviewed by Adam Barth.

        No new tests required.

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        * html/canvas/CanvasRenderingContext2D.idl:

2011-12-30  Andreas Kling  <awesomekling@apple.com>

        Cache and reuse the HTMLFormElement.elements collection.
        <http://webkit.org/b/75375>

        Reviewed by Anders Carlsson.

        Let HTMLFormElement::elements() cache the returned collection and tie it to the
        lifetime of the form. This reduces memory consumption by ~70 kB (on 64-bit) when
        viewing your average popular post on reddit.com.

        Test: fast/dom/form-elements-collection-idempotence.html
              fast/dom/gc-9.html

        * html/HTMLFormElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::elements):

            Cache the HTMLFormCollection returned by elements() on the HTMLFormElement.
            Remove the per-form CollectionCache and let the collection manage that.

        * html/HTMLCollection.h:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::create):

            Have the HTMLCollection constructor take a bool argument that decides whether
            we retain the base node pointer or not. This mechanism is a temporary measure
            until all collection types are owned by their respective base nodes.

        * html/HTMLFormCollection.h:
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::HTMLFormCollection):
        (WebCore::HTMLFormCollection::create):

            Tell the base class constructor to not retain the back-pointer to the form.

2011-12-30  Andreas Kling  <awesomekling@apple.com>

        Unreviewed buildfix after r103841.

        * inspector/InspectorMemoryAgent.cpp:

2011-12-30  Andreas Kling  <awesomekling@apple.com>

        CSSStyleDeclaration: Only allow setting parent rule at construction.
        <http://webkit.org/b/75391>

        Reviewed by Dan Bernstein.

        A CSSStyleDeclaration should only ever belong to one CSSRule. Enforce this
        at compile-time by replacing setParentRule(CSSRule*) with clearParentRule().

        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
        * css/CSSStyleDeclaration.h:
        (WebCore::CSSStyleDeclaration::clearParentRule):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::~CSSStyleRule):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):

2011-12-30  Andreas Kling  <awesomekling@apple.com>

        WebKitCSSKeyframeRule.style.parentRule should point to the keyframe rule.
        <http://webkit.org/b/75336>

        Reviewed by Antti Koivisto.

        Let CSS animation keyframe rules .style.parentRule point back to the keyframe
        board, rather than the keyframes rule containing it.

        Test: fast/css/css-keyframe-style-parentRule.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::createKeyframeRule):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::WebKitCSSKeyframeRule::setDeclaration):

            Set the CSSMutableStyleDeclaration's parent rule when creating it instead
            of in WebKitCSSKeyframeRule::setDeclaration(). Add assertion to make sure
            it's only called with declarations already parented to the keyframe rule.

        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
        (WebCore::WebKitCSSKeyframesRule::append):
        (WebCore::WebKitCSSKeyframesRule::deleteRule):

            Stop reparenting keyframe rules' style declarations to the keyframes rule.

2011-12-30  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: use typed front-end API in the memory agent
        https://bugs.webkit.org/show_bug.cgi?id=75382

        Memory agent now uses generate C++ API for communicating to the front-end.

        Reviewed by Pavel Feldman.

        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::DOMTreeStatistics::CounterVisitor::CounterVisitor):
        (WebCore::DOMTreeStatistics::CounterVisitor::counters):
        (WebCore::DOMTreeStatistics::CounterVisitor::visitNode):

2011-12-30  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: migrate from "attached" to "compact" styles.
        https://bugs.webkit.org/show_bug.cgi?id=75381

        When front-end is docked to right, it should look like "detached", but is still "attached".
        Use "compact" mode instead of "attached" mode in the styles to mitigate it.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/SearchController.js:
        (WebInspector.SearchController.prototype.updateSearchLabel):
        * inspector/front-end/Toolbar.js:
        (WebInspector.Toolbar.prototype.set compact):
        (WebInspector.Toolbar.prototype._toolbarDragStart):
        (WebInspector.Toolbar.prototype._toolbarDrag):
        * inspector/front-end/helpScreen.css:
        (body.compact .help-window-outer):
        (body.compact .help-window-main):
        (body.compact .help-window-caption):
        (body.compact .help-close-button):
        (body.compact .help-content):
        * inspector/front-end/inspector.css:
        (body.compact #toolbar):
        (body.compact.port-qt #toolbar):
        (body.compact.inactive #toolbar):
        (body.compact #search-toolbar-label):
        (body.compact #toolbar-dropdown-arrow):
        (body.compact #search):
        (body.compact.port-qt .toolbar-item.close-left, body.compact.port-qt .toolbar-item.close-right):
        (body.compact #main):
        * inspector/front-end/inspector.js:
        (WebInspector.set attached):
        (WebInspector.get isCompactMode):
        (WebInspector.get _setCompactMode):
        (WebInspector._installDockToRight.listener.get if):
        (WebInspector._installDockToRight.listener):
        * inspector/front-end/inspectorCommon.css:
        (body.dock-to-right):
        (body.dock-to-right.inactive):

2011-12-30  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r103794.
        http://trac.webkit.org/changeset/103794
        https://bugs.webkit.org/show_bug.cgi?id=75379

        the ASSERT is triggered by several tests (Requested by
        jchaffraix on #webkit).

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::RenderTable):
        (WebCore::RenderTable::addChild):
        (WebCore::RenderTable::layout):
        (WebCore::RenderTable::recalcSections):
        (WebCore::RenderTable::outerBorderAfter):
        (WebCore::RenderTable::sectionAbove):
        (WebCore::RenderTable::sectionBelow):
        * rendering/RenderTable.h:
        (WebCore::RenderTable::header):
        (WebCore::RenderTable::footer):
        (WebCore::RenderTable::firstBody):
        (WebCore::RenderTable::hasSections):
        (WebCore::RenderTable::topSection):

2011-12-29  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: enable dock-to-right view (still need embedders to support it).
        https://bugs.webkit.org/show_bug.cgi?id=75360

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        * inspector/front-end/inspector.js:
        (WebInspector.set attached):
        (WebInspector._renderAsAttached.get return):
        (WebInspector._renderAsAttached):
        (WebInspector._installDockToRight.updateToolbar):

2011-12-29  Raymond Liu  <raymond.liu@intel.com>

        Use IDL overloads in AudioContext.idl for createBuffer
        https://bugs.webkit.org/show_bug.cgi?id=75293

        Reviewed by Adam Barth.

        No new tests required.

        * bindings/js/JSAudioContextCustom.cpp:
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createBuffer):
        * webaudio/AudioContext.h:
        * webaudio/AudioContext.idl:

2011-12-29  Andreas Kling  <awesomekling@apple.com>

        HTMLDivElement: Remove unnecessary variable in parseMappedAttribute().
        <http://webkit.org/b/75363>

        Reviewed by Daniel Bates.

        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::parseMappedAttribute):

2011-12-29  Andreas Kling  <awesomekling@apple.com>

        HTMLParagraphElement: Remove unnecessary variable in parseMappedAttribute().
        <http://webkit.org/b/75362>

        Reviewed by Daniel Bates.

        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::parseMappedAttribute):

2011-12-29  Andreas Kling  <awesomekling@apple.com>

        Use HashMap<OwnPtr> for Document's named item collection caches.
        <http://webkit.org/b/75335>

        Reviewed by Daniel Bates.

        * dom/Document.cpp:
        (WebCore::Document::~Document):

            Remove now-unneeded deleteAllValues() loop.

        (WebCore::Document::nameCollectionInfo):

            Use add() instead of find()/add() to avoid one extra hash lookup.

        * dom/Document.h:

            Switch the value type of m_nameCollectionInfo to use OwnPtr.

2011-12-29  David Barton  <dbarton@mathscribe.com>

        mfenced skips the first separator if the separators attribute contains multiple separators
        https://bugs.webkit.org/show_bug.cgi?id=57697

        Reviewed by Dan Bernstein.

        Added 2 test cases.

        * rendering/mathml/RenderMathMLFenced.cpp:
        (WebCore::RenderMathMLFenced::addChild):
            - Thanks to Xun Sun <xun.sun@intel.com> for the off-by-one error fix.

2011-12-29  Alexis Menard  <alexis.menard@openbossa.org>

        Enable the [Supplemental] IDL on Qt.
        https://bugs.webkit.org/show_bug.cgi?id=75274

        Reviewed by Andreas Kling.

        http://trac.webkit.org/changeset/103783 broke the Qt SL bot.
        This patch fixes the problem by using 'tr' rather than 'sed' which
        seems to be more consistent between Mac and Linux.

        * DerivedSources.pri:

2011-12-29  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Scripts navigator should support incremental search by typing.
        https://bugs.webkit.org/show_bug.cgi?id=75349

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
        (WebInspector.ScriptsNavigator.prototype.show):
        (WebInspector.ScriptsNavigator.prototype._reset):
        (WebInspector.NavigatorTreeOutline):
        (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
        (WebInspector.NavigatorTreeOutline.prototype.searchStarted):
        (WebInspector.NavigatorTreeOutline.prototype.searchFinished):
        (WebInspector.BaseNavigatorTreeElement.prototype.onreveal):
        (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
        (WebInspector.BaseNavigatorTreeElement.prototype.matchesSearchText):
        * inspector/front-end/inspector.css:
        (.outline-disclosure ol.search-match-not-found li.selected .selection):
        (.outline-disclosure ol.search-match-found li.selected):
        (.outline-disclosure ol.search-match-found li.selected *):
        (.outline-disclosure ol.search-match-found li.parent.selected::before):
        (.outline-disclosure ol.search-match-found li.parent.expanded.selected::before):
        * inspector/front-end/scriptsPanel.css:
        (#scripts-navigator-tree-search-box):
        (#scripts-navigator-tree-search-box.visible):
        (#scripts-navigator-tree-search-box > input):
        (.scripts.panel .navigator .search-match-found li.selected .selection):
        (.scripts.panel .navigator .search-match-not-found li.selected .selection):
        (.scripts.panel .navigator .searching li.selected .selection):
        * inspector/front-end/treeoutline.js:
        (TreeOutline):
        (TreeOutline.prototype._treeKeyPress):
        (TreeOutline.prototype._startSearch.focusSearchInput):
        (TreeOutline.prototype._startSearch):
        (TreeOutline.prototype._searchTextChanged):
        (TreeOutline.prototype._showSearchMatchElement):
        (TreeOutline.prototype._searchInputKeyDown):
        (TreeOutline.prototype._nextSearchMatch):
        (TreeOutline.prototype._previousSearchMatch):
        (TreeOutline.prototype._searchInputBlur):
        (TreeOutline.prototype._searchFinished):
        (TreeOutline.prototype.stopSearch):

2011-12-29  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Scripts navigator should trim long file names and show full url in tooltip.
        https://bugs.webkit.org/show_bug.cgi?id=75343

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/ui-source-code-display-name.html

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype.setScriptSourceIsDirty):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.EditorContainer.prototype.showSourceFrame):
        (WebInspector.ScriptsPanel.EditorContainer.prototype.replaceSourceFrames):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showSourceFrame):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceSourceFrames):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer):
        (WebInspector.TabbedEditorContainer.prototype._appendSourceFrameTab):
        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
        (WebInspector.TabbedEditorContainer.prototype._replaceSourceFrameTab.get if):
        (WebInspector.TabbedEditorContainer.prototype._replaceSourceFrameTab):
        (WebInspector.TabbedEditorContainer.prototype.get replaceSourceFrames):
        (WebInspector.TabbedEditorContainer.prototype.reset):
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype.changeTabTooltip):
        (WebInspector.TabbedPaneTab):
        (WebInspector.TabbedPaneTab.prototype.get tooltip):
        (WebInspector.TabbedPaneTab.prototype.set tooltip):
        (WebInspector.TabbedPaneTab.prototype._createTabElement):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype._parseURL):
        * inspector/front-end/utilities.js:
        ():

2011-12-29  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for margin is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=75358

        Reviewed by Andreas Kling.

        Implement getComputedStyle for margin.

        Test: fast/css/getComputedStyle/getComputedStyle-margin-shorthand.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2011-12-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Use HashMap<OwnPtr> in RenderSVGResourcePattern
        https://bugs.webkit.org/show_bug.cgi?id=75361

        Reviewed by Andreas Kling.

        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
        (WebCore::RenderSVGResourcePattern::removeClientFromCache):
        (WebCore::RenderSVGResourcePattern::applyResource): use HashMap::add() to avoid
        looking up the hash twice.
        * rendering/svg/RenderSVGResourcePattern.h: rename m_pattern to m_patternMap to
        improve readability a little bit.

2011-12-29  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for padding is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=75352

        Reviewed by Andreas Kling.

        Implement getComputedStyle for padding shorthand property.

        Test: fast/css/getComputedStyle/getComputedStyle-padding-shorthand.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2011-12-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Use HashMap<OwnPtr> in OriginAccessMap
        https://bugs.webkit.org/show_bug.cgi?id=75327

        Reviewed by Andreas Kling.

        * page/SecurityPolicy.cpp:
        (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
        (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
        (WebCore::SecurityPolicy::resetOriginAccessWhitelists):

2011-12-29  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: support sourceMappingURL magic comment.
        https://bugs.webkit.org/show_bug.cgi?id=75356

        Reviewed by Pavel Feldman.

        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::findSourceMapURL):
        * inspector/ContentSearchUtils.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):

2011-12-29  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Suggest pop-over doesn't hide on tab switch
        https://bugs.webkit.org/show_bug.cgi?id=73611

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.willHide):
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.complete):
        (WebInspector.TextPrompt.prototype._completionsReady):
        (WebInspector.TextPrompt.prototype.acceptSuggestion):
        (WebInspector.TextPrompt.prototype.hideSuggestBox):
        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):

2011-12-28  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Implement CSS selector profiler
        https://bugs.webkit.org/show_bug.cgi?id=74004

        Reviewed by Pavel Feldman.

        This implementation of CSS selector profiler measures the total time required to match a certain selector
        against DOM nodes and apply the style declaration properties to the particular element,
        as well as the number of selector  matches (i.e. the number of nodes that matched the selector.)
        The results are approximate due to internal matching algorithm optimizations (shared styles et al.)
        Multiple selectors with the same selectorText are coalesced into a single record.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/CSSSelectorProfileView.js: Added.
        (WebInspector.CSSSelectorDataGridNode):
        (WebInspector.CSSSelectorDataGridNode.prototype.get rawData):
        (WebInspector.CSSSelectorProfileView):
        (WebInspector.CSSSelectorProfileView.prototype.get statusBarItems):
        (WebInspector.CSSSelectorProfileView.prototype.get profile):
        (WebInspector.CSSSelectorProfileView.prototype.set profile):
        (WebInspector.CSSSelectorProfileView.prototype._createProfileNodes):
        (WebInspector.CSSSelectorProfileView.prototype.rebuildGridItems):
        (WebInspector.CSSSelectorProfileView.prototype.refreshData):
        (WebInspector.CSSSelectorProfileView.prototype.refreshShowAsPercents):
        (WebInspector.CSSSelectorProfileView.prototype._sortProfile.get selectorComparator):
        (WebInspector.CSSSelectorProfileView.prototype._sortProfile.timeComparator):
        (WebInspector.CSSSelectorProfileView.prototype._sortProfile.matchesComparator):
        (WebInspector.CSSSelectorProfileView.prototype._sortProfile):
        (WebInspector.CSSSelectorProfileType):
        (WebInspector.CSSSelectorProfileType.prototype.get buttonTooltip):
        (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
        (WebInspector.CSSSelectorProfileType.prototype.get treeItemTitle):
        (WebInspector.CSSSelectorProfileType.prototype.get description):
        (WebInspector.CSSSelectorProfileType.prototype.reset):
        (WebInspector.CSSSelectorProfileType.prototype.isRecordingProfile):
        (WebInspector.CSSSelectorProfileType.prototype.setRecordingProfile):
        (WebInspector.CSSSelectorProfileType.prototype.startRecordingProfile):
        (WebInspector.CSSSelectorProfileType.prototype.stopRecordingProfile):
        (WebInspector.CSSSelectorProfileType.prototype.createSidebarTreeElementForProfile):
        (WebInspector.CSSSelectorProfileType.prototype.createView):
        * inspector/front-end/DetailedHeapshotView.js:
        * inspector/front-end/ProfileView.js:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileType.prototype.reset):
        (WebInspector.ProfilesPanel.prototype._reset):
        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
        (WebInspector.ProfilesPanel.prototype._removeTemporaryProfile):
        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
        (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/profilesPanel.css:

2011-12-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r103798.
        http://trac.webkit.org/changeset/103798
        https://bugs.webkit.org/show_bug.cgi?id=75353

        some small scrollbar differences are making the tests fail on
        several platforms (Requested by jchaffraix on #webkit).

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):

2011-12-29  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Focus of the DOM tree is not restored when switching to the Elements panel
        https://bugs.webkit.org/show_bug.cgi?id=75351

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.wasShown):

2011-12-29  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION (r93614): Safari Reader doesn't repaint correctly when scrolling
        https://bugs.webkit.org/show_bug.cgi?id=67100

        Reviewed by Dan Bernstein.

        Tests: fast/layers/scroll-with-transform-composited-layer-expected.html
               fast/layers/scroll-with-transform-composited-layer.html
               fast/layers/scroll-with-transform-layer-expected.html
               fast/layers/scroll-with-transform-layer.html

        The regression came from a previous optimization that was wrongly kept after r93614.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
        Remove the early return for transformed layer. This change worked as we used
        to call updateLayerPositions from scrollTo which would call updateLayerPosition on
        all our descendants. After r93614, this is no longer the case and we explicitely need
        to call updateLayerPosition on our descendants from updateLayerPositionsAfterScroll.

2011-12-29  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Tree views can be collapsed/hidden using the keyboard arrows
        https://bugs.webkit.org/show_bug.cgi?id=46272

        Reviewed by Yury Semikhatsky.

        WebInspector.SidebarSectionTreeElement which is not selectable has also been made non-collapsible
        and expanded by default.

        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._registerProfileType):
        * inspector/front-end/SidebarTreeElement.js:
        (WebInspector.SidebarSectionTreeElement):
        (WebInspector.SidebarSectionTreeElement.prototype.selectable.false.collapse):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):

2011-12-29  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: [chromium] pass dock to side request to the embedder.
        https://bugs.webkit.org/show_bug.cgi?id=75344

        Reviewed by Yury Semikhatsky.

        I'd like to enable dock-to-right for the front-end window. This is a background work
        to pass control flow from the front-end to the front-end host.

        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendClientLocal.h:
        (WebCore::InspectorFrontendClientLocal::requestSetDockSide):
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::requestSetDockSide):
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.requestAttachWindow):
        (.WebInspector.InspectorFrontendHostStub.prototype.requestDetachWindow):
        (.WebInspector.InspectorFrontendHostStub.prototype.requestSetDockSide):

2011-12-28  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: add "enable source maps" checkbox setting.
        https://bugs.webkit.org/show_bug.cgi?id=75311

        Reviewed by Pavel Feldman.

        When "enable source maps" is on, all auto detected source maps are silently applied.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DebuggerPresentationModel.js:
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode):
        (WebInspector.RawSourceCode.prototype.setFormatted):
        (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
        (WebInspector.RawSourceCode.prototype._updateSourceMapping):
        (WebInspector.RawSourceCode.prototype._createUISourceCode):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):
        * inspector/front-end/inspector.js:
        (WebInspector._toolbarItemClicked):

2011-12-29  Julien Chaffraix  <jchaffraix@webkit.org>

        Tighten our checks for needsSectionRecalc in RenderTable
        https://bugs.webkit.org/show_bug.cgi?id=73972

        Reviewed by Adam Barth.

        Refactoring covered under the new tests.

        Now most of the functions use the header, first body and footer's 
        getters that checks if we need a section recalculation. The only
        exceptions are addChild and recalcSections as they can be called
        with the bit set.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        (WebCore::RenderTable::outerBorderAfter):
        (WebCore::RenderTable::sectionAbove):
        (WebCore::RenderTable::sectionBelow):
        Updated the previous functions to use the sections' getters.

        (WebCore::RenderTable::RenderTable):
        (WebCore::RenderTable::addChild):
        (WebCore::RenderTable::recalcSections):
        Update the previous functions after the 2 renames
        (see below).

        * rendering/RenderTable.h:
        (WebCore::RenderTable::header):
        (WebCore::RenderTable::footer):
        (WebCore::RenderTable::firstBody):
        Added some ASSERT here. Also renamed m_head to m_header
        and m_foot to m_footer to match the getter and to avoid
        unneeded abbreviation.

        (WebCore::RenderTable::hasSections):
        (WebCore::RenderTable::topSection):
        Updated the previous functions to use the section getters.

2011-12-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Use HashMap<OwnPtr> for UserScriptMap and UserStyleSheetMap
        https://bugs.webkit.org/show_bug.cgi?id=75323

        Reviewed by Darin Adler.

        * dom/Document.cpp:
        (WebCore::Document::pageGroupUserSheets):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::addUserScriptToWorld):
        (WebCore::PageGroup::addUserStyleSheetToWorld):
        (WebCore::PageGroup::removeUserScriptFromWorld):
        (WebCore::PageGroup::removeUserStyleSheetFromWorld): fix a small mistake in
        previous code. Now the entry for world is removed (and deleted) only if its
        stylesheet vector is empty.
        (WebCore::PageGroup::removeUserScriptsFromWorld):
        (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
        (WebCore::PageGroup::removeAllUserContent):
        * page/UserScriptTypes.h:
        * page/UserStyleSheetTypes.h:

2011-12-28  Andreas Kling  <awesomekling@apple.com>

        Reduce memory used by NamedNodeMap.
        <http://webkit.org/b/75333>

        Reviewed by Sam Weinig.

        Give NamedNodeMap's attribute vector an inline capacity of 4. The vast majority
        of elements have <= 4 attributes, and if they don't have any we normally don't
        allocate an attribute map at all.

        This reduces memory consumption by 1.2MB (on 64-bit) when loading the full HTML5
        spec at <http://whatwg.org/c>.

        * dom/NamedNodeMap.h:

2011-12-28  Andreas Kling  <awesomekling@apple.com>

        Reduce memory used by SpaceSplitString.
        <http://webkit.org/b/75315>

        Reviewed by Sam Weinig.

        Split the string upon creation instead of waiting until it's accessed.
        This allows us to get rid of all data members except the substring vector.
        Since we're storing AtomicStrings, this is way more memory-efficient than
        the previous implementation in the majority of cases.

        Also reduced the inline capcity of the vector to 2 (from 8), after testing
        showed this to cover 90% of the cases on the Alexa top sites.

        All in all this reduces memory consumption by 1.1MB (on 64-bit) when
        loading the full HTML5 spec at <http://whatwg.org/c>. On that same page,
        less than 2ms is spent (on my MBP) splitting the ~20000 strings.

        * dom/SpaceSplitString.cpp:
        (WebCore::SpaceSplitStringData::createVector):
        (WebCore::SpaceSplitStringData::containsAll):
        (WebCore::SpaceSplitStringData::remove):
        * dom/SpaceSplitString.h:
        (WebCore::SpaceSplitStringData::SpaceSplitStringData):
        (WebCore::SpaceSplitStringData::contains):
        (WebCore::SpaceSplitStringData::size):
        (WebCore::SpaceSplitStringData::operator[]):

2011-12-28  ChangSeok Oh  <shivamidow@gmail.com>

        [GTK] Fix compilation issue when selecting opengl for Accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=75309

        Reviewed by Martin Robinson.

        Add TextureMapperGL and TextureMapperGLCairo files.
        They define new classes required to implement TextureMapperGL for GTK port.

        No new tests required.

        * GNUmakefile.list.am:
        * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added.
        (WebCore::BGRA32PremultimpliedBufferCairo::BGRA32PremultimpliedBufferCairo):
        (WebCore::BGRA32PremultimpliedBufferCairo::~BGRA32PremultimpliedBufferCairo):
        (WebCore::BGRA32PremultimpliedBufferCairo::beginPaint):
        (WebCore::BGRA32PremultimpliedBufferCairo::data):
        (WebCore::BGRA32PremultimpliedBufferCairo::endPaint):
        (WebCore::uidForImage):
        (WebCore::BGRA32PremultimpliedBuffer::create):
        * platform/graphics/cairo/TextureMapperGLCairo.h: Added.

2011-12-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r103782.
        http://trac.webkit.org/changeset/103782
        https://bugs.webkit.org/show_bug.cgi?id=75328

        broke origin-whitelisting-removal.html (Requested by kling on
        #webkit).

        * page/SecurityPolicy.cpp:
        (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
        (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
        (WebCore::SecurityPolicy::resetOriginAccessWhitelists):

2011-12-28  Kentaro Hara  <haraken@chromium.org>

        Enable the [Supplemental] IDL on Qt
        https://bugs.webkit.org/show_bug.cgi?id=75274

        Reviewed by Adam Barth.

        This patch enables the [Supplemental] IDL on Qt by changing the build
        flow of Qt as follows.

        - Previous build flow:
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl;
                generate-bindings.pl reads $idl;
                generate-bindings.pl generates .h and .cpp files for $idl;
            }

        - New build flow (See the discussions in bug 72138 for more details):
            resolve-supplemental.pl depends on all IDL files;
            resolve-supplemental.pl reads all IDL files;
            resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
            resolve-supplemental.pl outputs supplemental_dependency.tmp;
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                generate-bindings.pl reads $idl;
                generate-bindings.pl reads supplemental_dependency.tmp;
                generate-bindings.pl generates .h and .cpp files for $idl,
                    including all attributes in the IDL files that are implementing $idl;
            }

        Tests: Confirm that build succeeds.
               http/tests/websocket/tests/*

        * DerivedSources.pri: Described the above build flow.

2011-12-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Use HashMap<OwnPtr> in OriginAccessMap
        https://bugs.webkit.org/show_bug.cgi?id=75327

        Reviewed by Andreas Kling.

        * page/SecurityPolicy.cpp:
        (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
        (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
        (WebCore::SecurityPolicy::resetOriginAccessWhitelists):

2011-12-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Use HashMap<OwnPtr> for ProgressTracker's items
        https://bugs.webkit.org/show_bug.cgi?id=75326

        Reviewed by Andreas Kling.

        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::~ProgressTracker): although is empty, the destructor was
        kept so in the header file we can forward declare ProgressItem and use in an OwnPtr.
        (WebCore::ProgressTracker::reset):
        (WebCore::ProgressTracker::incrementProgress):
        (WebCore::ProgressTracker::completeProgress): removed a useless assignment to item
        member just before it is deleted.
        * loader/ProgressTracker.h:

2011-12-28  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for border-color is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=75324

        Reviewed by Andreas Kling.

        Implement getComputedStyle for border-color.

        Test: fast/css/getComputedStyle/getComputedStyle-border-color-shorthand.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2011-12-28  Darin Adler  <darin@apple.com>

        Use OwnPtr to handle lifetime and deletion of FontFace objects
        https://bugs.webkit.org/show_bug.cgi?id=75221

        Reviewed by Daniel Bates.

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData): Use add instead of get/set to read and
        then later fill a cache. Use new version of registerCustomFont that takes PassOwnPtr.
        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::getFontData): Ditto.

        * dom/Document.cpp:
        (WebCore::Document::registerCustomFont): Take a PassOwnPtr instead of raw pointer.
        * dom/Document.h: Ditto.

2011-12-28  Adam Barth  <abarth@webkit.org>

        "Fake" insertion mode in HTMLTreeBuilder doesn't do anything
        https://bugs.webkit.org/show_bug.cgi?id=75322

        Reviewed by Darin Adler.

        This machinery isn't needed anymore now that we're using the new
        foreign content hotness.

        * html/parser/HTMLTreeBuilder.cpp:
        * html/parser/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::setInsertionMode):

2011-12-28  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for border-style is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=75312

        Reviewed by Andreas Kling.

        Implement getComputedStyle for border-style.

        Test: fast/css/getComputedStyle/getComputedStyle-border-style-shorthand.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2011-12-28  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for border-bottom, border-top, border-left, border-right is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=74743

        Reviewed by Tony Chang.

        Implement getComputedStyle for border-top, border-bottom, border-right, border-left.

        Test: fast/css/getComputedStyle/getComputedStyle-border-shorthand.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForShorthandProperties):
        * css/CSSComputedStyleDeclaration.h:

2011-12-28  Robert Hogan  <robert@webkit.org>

        Inline flow not learning height of all text descendants
        https://bugs.webkit.org/show_bug.cgi?id=75305

        Reviewed by Dan Bernstein.

        Tests: fast/inline/nested-text-descendants-expected.html
               fast/inline/nested-text-descendants.html

        The root inline box would only learn it had text descendants if its first grandchild
        was text. It wasn't informed of subsequent text grandchildren so could not factor them 
        into its calculation of the line height.
        To fix this, propagate the existence of a text descendant to the root inline box
        by walking up through the text child's ancestors.

        * rendering/InlineFlowBox.cpp:
        (WebCore::setHasTextDescendantsOnAncestors):
        (WebCore::InlineFlowBox::addToLine):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::setHasTextDescendants):

2011-12-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r103620.
        http://trac.webkit.org/changeset/103620
        https://bugs.webkit.org/show_bug.cgi?id=75316

        Causes many crashes (Requested by abarth on #webkit).

        * loader/FrameLoaderClient.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessageTimerFired):

2011-12-28  Alexander Pavlov  <apavlov@chromium.org>

        [V8][Chromium] 'randomString' in document.body.style always returns true
        https://bugs.webkit.org/show_bug.cgi?id=75313

        Reviewed by Adam Barth.

        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::V8CSSStyleDeclaration::namedPropertyQuery):

2011-12-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add domain.png to WebCore.gypi / WebKit.qrc.
        https://bugs.webkit.org/show_bug.cgi?id=75310

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * inspector/front-end/WebKit.qrc:

2011-12-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: ExperimentsSettings causes warning on chromium when reading localizedStrings.
        https://bugs.webkit.org/show_bug.cgi?id=75299

        Reviewed by Pavel Feldman.

        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen.prototype._createExperimentCheckbox):

2011-12-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Scripts panel: add debug sidebar resizer to TabbedEditorContainer.
        https://bugs.webkit.org/show_bug.cgi?id=75300

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/scriptsPanel.css:
        (#scripts-debug-sidebar-resizer-widget):

2011-12-28  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Introduce a Profiler launcher view similar to that in the Audits panel
        https://bugs.webkit.org/show_bug.cgi?id=75228

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotProfileType):
        (WebInspector.DetailedHeapshotProfileType.prototype.get treeItemTitle):
        (WebInspector.DetailedHeapshotProfileType.prototype.get description):
        * inspector/front-end/ProfileLauncherView.js: Added.
        (WebInspector.ProfileLauncherView):
        (WebInspector.ProfileLauncherView.prototype.setUpEventListeners):
        (WebInspector.ProfileLauncherView.prototype.addProfileType):
        (WebInspector.ProfileLauncherView.prototype._controlButtonClicked):
        (WebInspector.ProfileLauncherView.prototype._updateControls):
        (WebInspector.ProfileLauncherView.prototype._profileTypeChanged):
        (WebInspector.ProfileLauncherView.prototype._onProfileStarted):
        (WebInspector.ProfileLauncherView.prototype._onProfileFinished):
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileType):
        (WebInspector.CPUProfileType.prototype.get treeItemTitle):
        (WebInspector.CPUProfileType.prototype.get description):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileType.prototype.get treeItemTitle):
        (WebInspector.ProfileType.prototype.get description):
        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
        (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
        (WebInspector.ProfilesPanel.prototype._onProfileTypeSelected):
        (WebInspector.ProfilesPanel.prototype._reset):
        (WebInspector.ProfilesPanel.prototype._showLauncherView):
        (WebInspector.ProfilesPanel.prototype._registerProfileType):
        (WebInspector.ProfilesPanel.prototype._addProfileHeader):
        (WebInspector.ProfilesPanel.prototype._updateInterface):
        (WebInspector.ProfileTypeTreeElement):
        (WebInspector.ProfileTypeTreeElement.prototype.collapse):
        (WebInspector.ProfilesSidebarTreeElement):
        (WebInspector.ProfilesSidebarTreeElement.prototype.onattach):
        (WebInspector.ProfilesSidebarTreeElement.prototype.onselect):
        (WebInspector.ProfilesSidebarTreeElement.prototype.get selectable):
        (WebInspector.ProfilesSidebarTreeElement.prototype.refresh):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/WelcomeView.js: Removed.
        * inspector/front-end/auditsPanel.css:
        (.audit-launcher-view .audit-launcher-view-content):
        (.audit-launcher-view div.button-container):
        (.panel-enabler-view.audit-launcher-view label):
        (.panel-enabler-view.audit-launcher-view label.disabled):
        * inspector/front-end/inspector.html:
        * inspector/front-end/panelEnablerView.css:
        (.panel-enabler-view img):
        (.panel-enabler-view .flexible-space):
        (.panel-enabler-view button:not(.status-bar-item)):
        (body.inactive .panel-enabler-view button, .panel-enabler-view button:disabled):
        (.panel-enabler-view input[type="radio"]):
        (.panel-enabler-view input[type="radio"]:active:not(:disabled)):
        (.panel-enabler-view input[type="radio"]:checked):
        (.panel-enabler-view input[type="radio"]:checked:active):
        * inspector/front-end/profilesPanel.css:
        (.profile-launcher-view-tree-item > .icon):
        (.profile-launcher-view-content):
        (.profile-launcher-view-content h1):
        (.panel-enabler-view.profile-launcher-view form):
        (.panel-enabler-view.profile-launcher-view label):
        (.profile-launcher-view-content p):
        (.panel-enabler-view.profile-launcher-view button:not(.status-bar-item)):
        (.profile-launcher-view-content button.running:not(.status-bar-item)):
        (body.inactive .profile-launcher-view-content button.running:not(.status-bar-item)):

2011-12-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r103763.
        http://trac.webkit.org/changeset/103763
        https://bugs.webkit.org/show_bug.cgi?id=75307

        "Compilation fails on Snow Leopard" (Requested by yurys on
        #webkit).

        * inspector/CodeGeneratorInspector.py:
        (Helper):
        (create_ad_hoc_type_declaration.Helper):
        (CodeGenerator.generate_type_builder):
        (get_in_c_type_text):

2011-12-28  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: generate enum types.
        https://bugs.webkit.org/show_bug.cgi?id=74954

        Reviewed by Yury Semikhatsky.

        Internal map of string contants is created. C enums are created for
        each JSON enum.

        * inspector/CodeGeneratorInspector.py:
        (EnumConstants.add_constant):
        (EnumConstants):
        (EnumConstants.get_enum_constant_code):
        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
        (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
        (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
        (TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
        (TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
        (get_in_c_type_text):
        (get_setter_value_expression_pattern):
        (PlainObjectBinding.get_in_c_type_text):
        (PlainObjectBinding.get_setter_value_expression_pattern):
        (RawTypesBinding.get_in_c_type_text):
        (RawTypesBinding.get_setter_value_expression_pattern):
        (get_annotated_type_text):
        (MethodGenerateModes.get_modes):
        (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
        (MethodGenerateModes.StrictParameterMode):
        (MethodGenerateModes.StrictParameterMode.get_setter_value_expression):
        (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
        (MethodGenerateModes.RawParameterMode):
        (MethodGenerateModes.RawParameterMode.get_setter_value_expression):
        (MethodGenerateModes.CombinedMode.get_c_param_type_text):
        (MethodGenerateModes):
        (MethodGenerateModes.CombinedMode):
        (MethodGenerateModes.CombinedMode.get_setter_value_expression):

2011-12-28  Hans Wennborg  <hans@chromium.org>

        IndexedDB: IDBKeyRange constructor should throw when lower > upper
        https://bugs.webkit.org/show_bug.cgi?id=74705

        Reviewed by Tony Chang.

        Make IDBKeyRange throw an exception when lower > upper,
        or lower == upper and one or both of the bounds is open.

        Tested in storage/indexeddb/keyrange.html.

        * storage/IDBKeyRange.cpp:
        (WebCore::IDBKeyRange::bound):

2011-12-28  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [protocol] empty enum constant should be replaced with identifier
        https://bugs.webkit.org/show_bug.cgi?id=75273

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::detectOrigin):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSRule.prototype.get isRegular):

2011-12-27  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: complete annotating SDK component.
        https://bugs.webkit.org/show_bug.cgi?id=75259

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._addScript):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
        (WebInspector.NetworkDispatcher.prototype._isNull):
        (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.displayName):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
        (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
        (WebInspector.ResourceTreeFrame.prototype.get name):
        * inspector/front-end/TabbedEditorContainer.js:

2011-12-27  Anantanarayanan G Iyengar  <ananta@chromium.org>

        Crash in the WebKit accessibility code while attempting to retrieve the title UI element.
        https://bugs.webkit.org/show_bug.cgi?id=75279

        Reviewed by Ryosuke Niwa.

        Fix a crash in the the WebKit accessibility code which occurs while retrieving
        the title UI clement. The fix is to NULL check the RenderObject::node return value.

        No test added as there is no reduction.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::titleUIElement):

2011-12-27  Dominic Cooney  <dominicc@chromium.org>

        Remove initWebKitAnimationEvent method
        https://bugs.webkit.org/show_bug.cgi?id=71698

        Reviewed by Ojan Vafai.

        Now that WebKitAnimationEvent has a constructor, we don't need
        this
        method. <https://www.w3.org/Bugs/Public/show_bug.cgi?id=15338> is
        tracking the change to the CSS Animations spec.

        * dom/WebKitAnimationEvent.cpp:
        * dom/WebKitAnimationEvent.h:
        * dom/WebKitAnimationEvent.idl:

2011-12-27  Dominic Cooney   <dominicc@chromium.org>

        Remove initWebKitTransitionEvent method
        https://bugs.webkit.org/show_bug.cgi?id=71701

        Reviewed by Ojan Vafai.

        Now that WebKitTransitionEvent has a constructor, we don't need
        this
        method. <https://www.w3.org/Bugs/Public/show_bug.cgi?id=15339> is
        tracking the change to the CSS Transitions spec.

        * dom/WebKitTransitionEvent.cpp:
        * dom/WebKitTransitionEvent.h:
        * dom/WebKitTransitionEvent.idl:

2011-12-27  Tony Chang  <tony@chromium.org>

        Move HarfBuzz files into their own directory
        https://bugs.webkit.org/show_bug.cgi?id=72780

        Reviewed by Daniel Bates.

        FontCacheLinux.cpp got moved to platform/graphics/skia/FontCacheSkia.cpp since it wasn't HarfBuzz specific.

        I used HarfBuzz in filenames since that seems to be how the name is capitalized on the project home page.

        Fixed some style errors caught by the style checker.

        * PlatformBlackBerry.cmake:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/graphics/chromium/FontPlatformData.h:
        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp: Renamed from Source/WebCore/platform/graphics/chromium/ComplexTextControllerLinux.cpp.
        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h: Renamed from Source/WebCore/platform/graphics/chromium/ComplexTextControllerLinux.h.
        * platform/graphics/harfbuzz/FontHarfBuzz.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FontLinux.cpp.
        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp.
        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Renamed from Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.h.
        * platform/graphics/harfbuzz/HarfBuzzSkia.cpp: Renamed from Source/WebCore/platform/graphics/chromium/HarfbuzzSkia.cpp.
        * platform/graphics/harfbuzz/HarfBuzzSkia.h: Renamed from Source/WebCore/platform/graphics/chromium/HarfbuzzSkia.h.
        * platform/graphics/harfbuzz/SimpleFontDataSkia.cpp: Renamed from Source/WebCore/platform/graphics/chromium/SimpleFontDataLinux.cpp.
        * platform/graphics/skia/FontCacheSkia.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FontCacheLinux.cpp.
        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:

2011-12-27  Huang Dongsung  <luxtella@company100.net>

        [TexMap][QT] The fragment shader in OpenGL ES2 requires the default precision
        qualifier.
        https://bugs.webkit.org/show_bug.cgi?id=75168

        Reviewed by Noam Rosenthal.

        No new functionality so no new tests.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::initializeShaders):

2011-12-27  Ryosuke Niwa  <rniwa@webkit.org>

        [Chromium] uninitialized variable in fakeMouseMoveEventTimerFired
        https://bugs.webkit.org/show_bug.cgi?id=75263

        Reviewed by Tony Chang.

        The failure was caused by PlatformKeyboardEvent::getCurrentModifierState in PlatformKeyboardEventChromium.cpp
        not initializing arguments on Linux. Fixed the failure by always assigning false to the arguments.

        But we should really fix this function for Linux. Not recognizing any modifier isn't great.

        * platform/chromium/PlatformKeyboardEventChromium.cpp:
        (WebCore::PlatformKeyboardEvent::getCurrentModifierState):

2011-12-27  Kentaro Hara  <haraken@chromium.org>

        WIP: Enable the [Supplemental] IDL on Gtk
        https://bugs.webkit.org/show_bug.cgi?id=74972

        Reviewed by Adam Barth.

        This patch enables the [Supplemental] IDL on Gtk by changing the build
        flow of Gtk as follows.

        - Previous build flow:
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl;
                generate-bindings.pl reads $idl;
                generate-bindings.pl generates .h and .cpp files for $idl;
            }

        - New build flow (See the discussions in bug 72138 for more details):
            resolve-supplemental.pl depends on all IDL files;
            resolve-supplemental.pl reads all IDL files;
            resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
            resolve-supplemental.pl outputs supplemental_dependency.tmp;
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                generate-bindings.pl reads $idl;
                generate-bindings.pl reads supplemental_dependency.tmp;
                generate-bindings.pl generates .h and .cpp files for $idl,
                    including all attributes in the IDL files that are implementing $idl;
            }

        Tests: Confirm that build succeeds.
               http/tests/websocket/tests/*

        * GNUmakefile.am: Described the above build flow.
        * GNUmakefile.list.am: Added a list of IDL files. Instead, removed a list of JS*.h and JS*.cpp
        that are generated by the IDL files.

2011-12-27  Tony Chang  <tony@chromium.org>

        [chromium] When building with clang, enable -Wglobal-constructors
        https://bugs.webkit.org/show_bug.cgi?id=74365

        Reviewed by Adam Barth.

        * WebCore.gyp/WebCore.gyp:

2011-12-27  Tony Chang  <tony@chromium.org>

        [chromium] really enable wpo for WebCore libs and for WTF
        https://bugs.webkit.org/show_bug.cgi?id=75264

        Reviewed by Adam Barth.

        * WebCore.gyp/WebCore.gyp: The variable was getting clobbered by the
        value set in common.gypi.  Use a target_defaults instead to set the
        variable.  I tested manually on my Windows machine and
        WholeProgramOptimization is getting set when buildtype is Official.

2011-12-27  Tony Chang  <tony@chromium.org>

        [chromium] remove references to files no longer in the tree
        https://bugs.webkit.org/show_bug.cgi?id=75262

        Reviewed by Adam Barth.

        * WebCore.gypi: platform/mac/PlatformMouseEventMac.mm and platform/mac/WheelEventMac.mm
        were removed in r103652.

2011-12-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed web inspector localizedStrings.js fix.

        * English.lproj/localizedStrings.js:

2011-12-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Introduce support for experimental settings.
        https://bugs.webkit.org/show_bug.cgi?id=75250

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        (WebInspector.ExperimentsSettings.prototype.get experiments):
        (WebInspector.ExperimentsSettings.prototype.get experimentsEnabled):
        (WebInspector.ExperimentsSettings.prototype._createExperiment):
        (WebInspector.ExperimentsSettings.prototype.set _cleanUpSetting.get var):
        (WebInspector.ExperimentsSettings.prototype.set _cleanUpSetting):
        (set WebInspector.Experiment):
        (WebInspector.Experiment.prototype.get name):
        (WebInspector.Experiment.prototype.get title):
        (WebInspector.Experiment.prototype.isEnabled):
        (WebInspector.Experiment.prototype.setEnabled):
        (set WebInspector):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        (WebInspector.SettingsScreen.prototype._createExperimentsWarningSubsection):
        (WebInspector.SettingsScreen.prototype._createExperimentCheckbox.listener):
        (WebInspector.SettingsScreen.prototype._createExperimentCheckbox):
        * inspector/front-end/helpScreen.css:
        (.settings-experiments-warning-subsection-warning):
        (.settings-experiments-warning-subsection-message):

2011-12-27  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: exception when scrolling in JavaScriptOutline dialog with empty query
        https://bugs.webkit.org/show_bug.cgi?id=75255

        Reviewed by Pavel Feldman.

        * inspector/front-end/JavaScriptOutlineDialog.js:
        (WebInspector.JavaScriptOutlineDialog.prototype._onScroll):

2011-12-27  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: add more annotations on SDK classes.
        https://bugs.webkit.org/show_bug.cgi?id=75247

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/compile-front-end.sh:
        * inspector/front-end/ApplicationCacheModel.js:
        (WebInspector.ApplicationCacheDispatcher.prototype.networkStateUpdated):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._breakpoint):
        * inspector/front-end/Color.js:
        (WebInspector.Color.prototype.get shorthex):
        (WebInspector.Color.prototype.get hex):
        (WebInspector.Color.prototype.get rgb):
        (WebInspector.Color.prototype.get hsl):
        (WebInspector.Color.prototype.get nickname):
        (WebInspector.Color.prototype.hasShortHex):
        (WebInspector.Color.prototype._individualRGBValueToFloatValue):
        (WebInspector.Color.prototype._rgbStringsToHex):
        (WebInspector.Color.prototype._parse.this.nickname.set 2):
        (WebInspector.Color.prototype._parse.this.hsla.set 1):
        (WebInspector.Color.prototype._parse.this.rgba.set 0):
        (WebInspector.Color.prototype._parse.set WebInspector):
        (WebInspector.Color.prototype._parse):
        * inspector/front-end/CompilerSourceMapping.js:
        * inspector/front-end/ConsoleModel.js:
        * inspector/front-end/ContentProviders.js:
        (WebInspector.ScriptContentProvider):
        (WebInspector.ConcatenatedScriptsContentProvider):
        (WebInspector.CompilerSourceMappingContentProvider):
        (WebInspector.StaticContentProvider):
        * inspector/front-end/CookieParser.js:
        (WebInspector.CookieParser.KeyValue):
        (WebInspector.CookieParser.prototype.parseCookie):
        (WebInspector.CookieParser.prototype.parseSetCookie):
        (WebInspector.CookieParser.prototype._extractKeyValue):
        * inspector/front-end/DOMStorage.js:
        * inspector/front-end/Database.js:
        (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
        (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.Location):
        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
        * inspector/front-end/ElementsTreeOutline.js:
        * inspector/front-end/HAREntry.js:
        * inspector/front-end/NetworkLog.js:
        (WebInspector.NetworkLog.prototype._mainFrameNavigated):
        * inspector/front-end/Placard.js:
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
        (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.fromPrimitiveValue):
        (WebInspector.RemoteObject.prototype.setPropertyValue.propertySetCallback):
        (WebInspector.RemoteObject.prototype.setPropertyValue):
        (WebInspector.LocalJSONObject.prototype.get hasChildren):
        (WebInspector.LocalJSONObject.prototype._children):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.restoreRevisions):
        (WebInspector.Resource.prototype.get queryParameters):
        (WebInspector.Resource.prototype.get formParameters):
        (WebInspector.Resource.prototype.isHttpFamily):
        * inspector/front-end/ResourceCategory.js:
        * inspector/front-end/ResourceUtils.js:
        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane.prototype.update):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.isInlineScript):
        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter.positionToLocation):
        * inspector/front-end/WelcomeView.js:
        (WebInspector.WelcomeView.prototype.addMessage):
        * inspector/front-end/externs.js:
        (Array.prototype.upperBound):

2011-12-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Scripts panel tabbed editor does not reopen closed tabs.
        https://bugs.webkit.org/show_bug.cgi?id=75245

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer):
        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype.closeTab):
        (WebInspector.TabbedPane.prototype.selectTab):

2011-12-27  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: report per document JS event listener count
        https://bugs.webkit.org/show_bug.cgi?id=74298

        This patch adds JS event listener count to the memory agent
        report.

        Reviewed by Pavel Feldman.

        Test: inspector/dom-statistics.html

        * inspector/Inspector.json:
        * inspector/InspectorMemoryAgent.cpp:

2011-12-27  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [REGRESSION] Go to Function dialog always has a minimal height
        https://bugs.webkit.org/show_bug.cgi?id=75254

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/scriptsPanel.css:
        (.script-view):

2011-12-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Create tabbed editor for scripts panel.
        https://bugs.webkit.org/show_bug.cgi?id=75230

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes.get if):
        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes):
        (WebInspector.NavigatorScriptTreeElement.prototype.ondblclick):
        (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/TabbedEditorContainer.js: Added.
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype.get visibleView):
        (WebInspector.TabbedPane.prototype.get selectedTabId):
        (WebInspector.TabbedPane.prototype.closeAllTabs):
        (WebInspector.TabbedPane.prototype.changeTabTitle):
        (WebInspector.TabbedPane.prototype.changeTabView):
        (WebInspector.TabbedPaneTab):
        (WebInspector.TabbedPaneTab.prototype.get title):
        (WebInspector.TabbedPaneTab.prototype.set title):
        (WebInspector.TabbedPaneTab.prototype.get view):
        (WebInspector.TabbedPaneTab.prototype.set view):
        (WebInspector.TabbedPaneTab.prototype._createTabElement):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/scriptsPanel.css:
        (.scripts-views-container):
        (.script-view):
        (#scripts-editor-container-tabbed-pane .tabbed-pane-header):
        (#scripts-editor-container-tabbed-pane .tabbed-pane-header-contents):
        (#scripts-editor-container-tabbed-pane .tabbed-pane-content):

2011-12-27  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: Rolling out r103703 for breaking Canvas2DLayerChromiumTest.testFullLifecycle.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        (WebCore::Canvas2DLayerChromium::setTextureManager):
        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
        (WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
        (WebCore::Canvas2DLayerChromium::cleanupResources):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:

2011-12-22  Vangelis Kokkevis  <vangelis@chromium.org>

        [chromium] Bypass the shadow texture copy for accelerated
        canvas when running the compositor in single threaded mode.
        https://bugs.webkit.org/show_bug.cgi?id=75146

        The texture copy fails on Windows as glCopyTexImage2D() doesn't
        support BGRA source textures. 
        This change also modified Canvas2DLayerChromium::updateCompositorResources
        to call glCopyTexSubImage2D() instead of glCopyTexImage2D() so that
        the copy can work with texture allocated via the glTexStorage2D
        extension.

        Reviewed by James Robinson.


        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        (WebCore::Canvas2DLayerChromium::setTextureManager):
        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
        (WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
        (WebCore::Canvas2DLayerChromium::cleanupResources):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:

2011-12-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL][WK2] Implement context menu for EFL port.
        https://bugs.webkit.org/show_bug.cgi?id=74995

        Reviewed by Anders Carlsson.

        Implement missing ContextMenuEfl class in order to support WK2's context menu.
        Because WK2's context menu still needs WebCore's context menu implementation.
        And of course, this patch also can be used for WK1 without CROSS_PLATFORM_CONTEXT_MENU
        option.

        * platform/ContextMenu.h:
        * platform/ContextMenuItem.h:
        * platform/PlatformMenuDescription.h:
        * platform/efl/ContextMenuEfl.cpp:
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::insertItem):
        (WebCore::ContextMenu::itemCount):
        (WebCore::ContextMenu::setPlatformDescription):
        (WebCore::ContextMenu::platformDescription):
        (WebCore::ContextMenu::releasePlatformDescription):
        (WebCore::platformMenuDescription):
        (WebCore::contextMenuItemVector):
        * platform/efl/ContextMenuItemEfl.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::checked):
        (WebCore::ContextMenuItem::setEnabled):
        (WebCore::ContextMenuItem::enabled):

2011-12-26  Hajime Morrita  <morrita@chromium.org>

        [Refactoring] Node::setTreeScopeRecursively() doesn't need includeRoot parameter
        https://bugs.webkit.org/show_bug.cgi?id=75240

        Reviewed by Anders Carlsson.

        No new tests. No behavior change.

        * dom/Node.cpp:
        (WebCore::Node::setTreeScopeRecursively):
        * dom/Node.h:

2011-12-26  Darin Adler  <darin@apple.com>

        Use OwnPtr and OwnArrayPtr in a couple more places
        https://bugs.webkit.org/show_bug.cgi?id=75211

        Reviewed by Andreas Kling.

        I had a patch with some changes from a while back from going through all sorts of
        classes and changing code to use adoptPtr. Most were landed long ago, these are the
        ones that still apply.

        There are six pieces here that could each be landed separately.
        The big one is CSSParser.

        * css/CSSGrammar.y: Update for members and functions that now
        return PassOwnPtr instead of raw pointers.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser): Remove explicit construction
        for m_valueList and m_data since OwnPtr and OwnArrayPtr initialize
        to zero without it.
        (WebCore::CSSParser::~CSSParser): Removed delete m_valueList and
        fastFree(m_data) since OwnPtr and OwnArrayPtr handle that.
        (WebCore::CSSParser::setupParser): Use adoptArrayPtr and new for
        the character array instead of fastFree/fastMalloc. Added get
        function calls as needed.
        (WebCore::CSSParser::parseValue): Added get function calls as needed.
        (WebCore::CSSParser::parseContent): Ditto.
        (WebCore::CSSParser::parseFillProperty): Ditto.
        (WebCore::CSSParser::parseTransformOriginShorthand): Ditto.
        (WebCore::CSSParser::parseBorderImage): Ditto.
        (WebCore::CSSParser::parseTransformOrigin): Ditto.
        (WebCore::CSSParser::parsePerspectiveOrigin): Ditto.
        (WebCore::CSSParser::sinkFloatingValueList): Changed to return PassOwnPtr.
        The adoptPtr call is here.
        (WebCore::CSSParser::sinkFloatingFunction): Ditto.
        (WebCore::CSSParser::markSelectorListStart): Added get function calls as needed.
        (WebCore::CSSParser::markSelectorListEnd): Ditto.
        (WebCore::CSSParser::markRuleBodyStart): Ditto.
        (WebCore::CSSParser::markRuleBodyEnd): Ditto.
        (WebCore::CSSParser::markPropertyStart): Ditto.
        (WebCore::CSSParser::markPropertyEnd): Ditto.
        * css/CSSParser.h: Moved conditional includes to their own paragraph.
        Made sinkFloatingValueList and sinkFloatingFunction return PassOwnPtr.
        Made m_valueList an OwnPtr and m_data an OwnArrayPtr.
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue): Added a call to the get function.

        * html/PluginDocument.h: Made isPluginDocument private. Also marked all the
        functions that are overriding here as OVERRIDE since I was touching the header.

        * html/parser/HTMLToken.h:
        (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData): Removed an unneeded line
        explicitly initializing the base class.

        * page/animation/AnimationBase.cpp:
        (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper): Fixed indent.

        * rendering/style/RenderStyle.h: Moved conditional includes to their own paragraph.

        * xml/parser/MarkupTokenBase.h:
        (WebCore::MarkupTokenBase::beginDOCTYPE): Removed unneeded parentheses.

2011-12-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Extract FileEditor from ScriptsPanel.
        https://bugs.webkit.org/show_bug.cgi?id=75229

        Reviewed by Pavel Feldman.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
        * inspector/front-end/ScriptsNavigator.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._reset):
        (WebInspector.ScriptsPanel.prototype.get visibleView):
        (WebInspector.ScriptsPanel.prototype._updateScriptViewStatusBarItems):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced.get if):
        (WebInspector.ScriptsPanel.EditorContainer):
        (WebInspector.ScriptsPanel.EditorContainer.prototype.get currentSourceFrame):
        (WebInspector.ScriptsPanel.EditorContainer.prototype.show):
        (WebInspector.ScriptsPanel.EditorContainer.prototype.showSourceFrame):
        (WebInspector.ScriptsPanel.EditorContainer.prototype.isSourceFrameOpen):
        (WebInspector.ScriptsPanel.EditorContainer.prototype.replaceSourceFrames):
        (WebInspector.ScriptsPanel.EditorContainer.prototype.setSourceFrameIsDirty):
        (WebInspector.ScriptsPanel.EditorContainer.prototype.reset):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.get currentSourceFrame):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.show):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showSourceFrame):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.isSourceFrameOpen):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceSourceFrames):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.setSourceFrameIsDirty):
        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.get domain):
        (WebInspector.UISourceCode.prototype.get folderName):
        (WebInspector.UISourceCode.prototype.get fileName):
        (WebInspector.UISourceCode.prototype.get displayName):
        (WebInspector.UISourceCode.prototype._parseURL):

2011-12-26  Darin Adler  <darin@apple.com>

        Fix mutation observer build after didMoveToNewDocument change
        https://bugs.webkit.org/show_bug.cgi?id=75224

        Reviewed by Hajime Morita.

        * dom/Node.cpp:
        (WebCore::willCallDidMoveToNewDocument): Added.
        (WebCore::didMoveToNewDocumentWasCalled): Added.
        (WebCore::Node::setDocument): Call new debugging function.
        (WebCore::Node::didMoveToNewDocument): Ditto. Also use ASSERT_UNUSED
        unconditionally rather than UNUSED_PARAM inside and #if. Also added
        a new assertion that checks that hte old document was passed through
        properly.

2011-12-26  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Scripts] Implement iterative match highlighting in the "Go to Function" dialog item list
        https://bugs.webkit.org/show_bug.cgi?id=75226

        Reviewed by Pavel Feldman.

        * inspector/front-end/JavaScriptOutlineDialog.js:
        (WebInspector.JavaScriptOutlineDialog):
        (WebInspector.JavaScriptOutlineDialog.prototype._createSearchRegExp):
        (WebInspector.JavaScriptOutlineDialog.prototype._filterFunctions):
        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.previousItem):
        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.nextItem):
        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown):
        (WebInspector.JavaScriptOutlineDialog.prototype._updateSelection):
        (WebInspector.JavaScriptOutlineDialog.prototype._onScroll):
        (WebInspector.JavaScriptOutlineDialog.MatchHighlighter):
        (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype.highlightViewportItems):
        (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype.clearHighlight):
        (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype._highlightItem):
        (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype._viewportRowRange):
        * inspector/front-end/javaScriptOutlineDialog.css:
        (.js-outline-dialog > .container > div.item > span.highlight):

2011-12-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Extract FileSelector from ScriptsPanel.
        https://bugs.webkit.org/show_bug.cgi?id=75173

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
        (WebInspector.ScriptsNavigator.prototype.show):
        (WebInspector.ScriptsNavigator.prototype.setScriptSourceIsDirty):
        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes):
        (WebInspector.ScriptsNavigator.prototype.scriptSelected):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
        (WebInspector.ScriptsPanel.prototype._reset):
        (WebInspector.ScriptsPanel.prototype._showSourceLine):
        (WebInspector.ScriptsPanel.prototype._showAndRevealInFileSelector):
        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
        (WebInspector.ScriptsPanel.prototype._scriptSelected):
        (WebInspector.ScriptsPanel.FileSelector):
        (WebInspector.ScriptsPanel.FileSelector.prototype.get defaultFocusedElement):
        (WebInspector.ScriptsPanel.FileSelector.prototype.show):
        (WebInspector.ScriptsPanel.FileSelector.prototype.addUISourceCode):
        (WebInspector.ScriptsPanel.FileSelector.prototype.isScriptSourceAdded):
        (WebInspector.ScriptsPanel.FileSelector.prototype.revealUISourceCode):
        (WebInspector.ScriptsPanel.FileSelector.prototype.setScriptSourceIsDirty):
        (WebInspector.ScriptsPanel.FileSelector.prototype.replaceUISourceCodes):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.get defaultFocusedElement):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.show):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.showDebugSidebarResizeWidget):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.addUISourceCode):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.isScriptSourceAdded):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.revealUISourceCode):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._innerRevealUISourceCode):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addToHistory):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.replaceUISourceCodes):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._showScriptFoldersSettingChanged):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._reset):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.setScriptSourceIsDirty):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._createEditorToolbar):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.get var):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._resetFilesSelect):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._updateBackAndForwardButtons):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
        * inspector/front-end/inspector.html:
        * inspector/front-end/utilities.js:
        ():

2011-12-26  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Implement "Go to Function" dialog for JavaScript
        https://bugs.webkit.org/show_bug.cgi?id=75092

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/JavaScriptOutlineDialog.js: Added.
        (WebInspector.JavaScriptOutlineDialog.onMouseDown):
        (WebInspector.JavaScriptOutlineDialog):
        (WebInspector.JavaScriptOutlineDialog.didAddChunk):
        (WebInspector.JavaScriptOutlineDialog.install):
        (WebInspector.JavaScriptOutlineDialog._show):
        (WebInspector.JavaScriptOutlineDialog.createShortcut):
        (WebInspector.JavaScriptOutlineDialog.prototype._resizeWindow):
        (WebInspector.JavaScriptOutlineDialog.prototype._appendItemElements):
        (WebInspector.JavaScriptOutlineDialog.prototype._createSearchRegExp):
        (WebInspector.JavaScriptOutlineDialog.prototype._filterFunctions):
        (WebInspector.JavaScriptOutlineDialog.prototype._selectFirstItem):
        (WebInspector.JavaScriptOutlineDialog.prototype._hide):
        (WebInspector.JavaScriptOutlineDialog.prototype._onBlur):
        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.previousItem):
        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.nextItem):
        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown):
        (WebInspector.JavaScriptOutlineDialog.prototype._scheduleFilter):
        (WebInspector.JavaScriptOutlineDialog.prototype._updateSelection):
        (WebInspector.JavaScriptOutlineDialog.prototype._onClick):
        (WebInspector.JavaScriptOutlineDialog.prototype._onMouseMove):
        (WebInspector.JavaScriptOutlineDialog.prototype._highlightFunctionLine):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.get uiSourceCode):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._didBuildOutlineChunk):
        (WebInspector.ScriptsPanel.prototype._reset):
        (WebInspector.ScriptsPanel.prototype.requestVisibleScriptOutline):
        (WebInspector.ScriptsPanel.prototype._createEditorToolbar):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/javaScriptOutlineDialog.css: Added.
        (.js-outline-dialog):
        (.js-outline-dialog > input):
        (.js-outline-dialog > div.progress):
        (.js-outline-dialog > div.container):
        (.js-outline-dialog > .container > div.item):
        (.js-outline-dialog > .container > div.item.selected):

2011-12-26  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: make SDK compilation component self-contained.
        https://bugs.webkit.org/show_bug.cgi?id=75172

        Reviewed by Yury Semikhatsky.

        * inspector/compile-front-end.sh:
        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl):
        (WebInspector.ConsoleMessageImpl.prototype.get stackTrace):
        (WebInspector.ConsoleMessageImpl.prototype.clone):
        * inspector/front-end/ConsoleModel.js:
        (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
        (WebInspector.ConsoleMessage):
        (WebInspector.ConsoleMessage.prototype.isErrorOrWarning):
        (WebInspector.ConsoleMessage.prototype.updateRepeatCount):
        (WebInspector.ConsoleMessage.prototype.clone):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
        * inspector/front-end/ResourceUtils.js:
        * inspector/front-end/UIUtils.js:
        (WebInspector.resetToolbarColors):
        (WebInspector.populateHrefContextMenu):

2011-12-26  Hajime Morrita  <morrita@google.com>

        Unreviewed bad merge fix.

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::didMoveToNewDocument):

2011-12-25  Hajime Morrita  <morrita@chromium.org>

        https://bugs.webkit.org/show_bug.cgi?id=74067
        Refactoring: Unitfy willMoveToNewDocument() and didMoveToNewDocument()

        Reviewed by Darin Adler.

        No new tests. No behavior change.

        This change combines two method Node::willMoveToNewOwnerDocument() and Node::didMoveToNewOwnerDocument()
        into Node::didMoveToNewDocument(Document* oldDocument).

        The intention of this change is:
        - Making upcoming refactoring (Bug 59816) possible. The refactoring will turn Node::m_document into
          Node::m_treeScope, and we will no longer have Node::setDocument() where we can invoke both
          willMoveToNewDocument() and didMoveToNewDocument() at once.
        - Killing one extra virtual method call.
        - Making the concept of "move" clearer by keeping such an operation into the single method.

        * dom/Node.cpp:
        (WebCore::setWillMoveToNewDocumentWasCalled):
        (WebCore::setDidMoveToNewDocumentWasCalled):
        (WebCore::Node::setDocument):
        (WebCore::Node::didMoveToNewDocument):
        * dom/Node.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):
        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::didMoveToNewDocument):
        * html/FormAssociatedElement.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::didMoveToNewDocument):
        (WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::didMoveToNewDocument):
        * html/HTMLFormElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::didMoveToNewDocument):
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::didMoveToNewDocument):
        * html/HTMLInputElement.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::didMoveToNewDocument):
        * html/HTMLMediaElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::didMoveToNewDocument):
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::didMoveToNewDocument):
        * html/HTMLPlugInImageElement.h:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::didMoveToNewDocument):
        * html/HTMLVideoElement.h:
        * html/ImageDocument.cpp:
        (WebCore::ImageDocumentElement::didMoveToNewDocument):
        * html/ImageInputType.cpp:
        (WebCore::ImageInputType::willMoveToNewDocument):
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::elementDidMoveToNewDocument):
        * loader/ImageLoader.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::didMoveToNewDocument):
        * svg/SVGImageElement.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::didMoveToNewDocument):
        * svg/SVGSVGElement.h:

2011-12-25  Kentaro Hara  <haraken@chromium.org>

        REGRESSION(r102987): Fix the filename prefix of the generated empty .h
        and .cpp files for [Supplemental] IDLs
        https://bugs.webkit.org/show_bug.cgi?id=75082

        Reviewed by Darin Adler.

        In bug 74481, we changed generate-bindings.pl so that it generates empty .h
        and .cpp files for the [Supplemental] IDLs. However, the filename prefixes of
        those .h and .cpp files are wrong. This patch fixes the prefixes as follows:

            generator=JS  => JS*.h, JS*.cpp
            generator=V8  => V8*.h, V8*.cpp
            generator=ObjC  => DOM*.h, DOM*.cpp
            generator=GObject  => WebKitDOM*.h, WebKitDOM*.cpp
            generator=CPP  => WebDOM*.h, WebDOM*.cpp

        No new tests. No change in behavior.
        I confirmed that the names of generated .h and .cpp files are correct.

        * bindings/scripts/CodeGenerator.pm:
        (FileNamePrefix): Returns the prefix of file names.
        * bindings/scripts/CodeGeneratorCPP.pm:
        (GenerateInterface): Uses CodeGenerator::FileNamePrefix.
        * bindings/scripts/CodeGeneratorGObject.pm:
        (GenerateInterface): Ditto.
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateInterface): Ditto.
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateInterface): Ditto.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateInterface): Ditto.
        * bindings/scripts/generate-bindings.pl:
        (generateEmptyHeaderAndCpp): Ditto.

2011-12-25  Dan Bernstein  <mitz@apple.com>

        WebCore changes for: Find indicators overlap when a match spans multiple text boxes
        https://bugs.webkit.org/show_bug.cgi?id=75220

        Reviewed by Darin Adler.

        * WebCore.exp.in: Exported new unionRect(const Vector<FloatRect>&) and existing
        FloatRect::intersects().
        * platform/graphics/FloatRect.cpp:
        (WebCore::unionRect): Added.
        * platform/graphics/FloatRect.h:

2011-12-25  Darin Adler  <darin@apple.com>

        Use OwnPtr for CSSFontFace::m_sources
        https://bugs.webkit.org/show_bug.cgi?id=75219

        Reviewed by Dan Bernstein.

        * css/CSSFontFace.cpp:
        (WebCore::CSSFontFace::isLoaded): Use the same size_t idiom here as in the rest
        of the functions.
        (WebCore::CSSFontFace::isValid): Ditto. Also removed unneeded empty special casing.
        (WebCore::CSSFontFace::addSource): Changed to take a PassOwnPtr. Reordered so the
        PassOwnPtr zeroing does not cause trouble.
        (WebCore::CSSFontFace::getFontData): Added call to get.
        (WebCore::CSSFontFace::hasSVGFontFaceSource): Use the same size_t idiom here as in
        the rest of the functions.

        * css/CSSFontFace.h: Use PassOwnPtr for addSource argument, and Vector<OwnPtr> for
        the m_sources vector.

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule): Use OwnPtr and PassOwnPtr for font face
        sources that are passed to addSource.

        * css/CSSSegmentedFontFace.cpp: Added a now-needed include.

2011-12-24  Jarred Nicholls  <jarred@sencha.com>

        Allow XMLHttpRequest responseType to be set at any state up to and including HEADERS_RECEIVED
        https://bugs.webkit.org/show_bug.cgi?id=75190

        XMLHttpRequest.responseType should be modifiable at any state up to and including the
        HEADERS_RECEIVED state. Therefore, subsequent calls to open() should not reset responseType
        to its default value, and calls to open() must follow the same spec mandate set forth in
        setResponseType() for synchronous HTTP(S) requests made from the window context.

        Reviewed by Alexey Proskuryakov.

        Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request.html
               fast/xmlhttprequest/xmlhttprequest-responsetype-before-open.html
               fast/xmlhttprequest/xmlhttprequest-responsetype-set-at-headers-received.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::setResponseType):
        Prevent setting the value only when in LOADING and DONE states. No longer check if
        m_loader is present, which is instantiated on a call to send(), because responseType
        can be safely changed after a request is sent.
        (WebCore::XMLHttpRequest::open):
        Do not reset m_responseTypeCode to the default value, and prevent calls to open()
        for synchronous HTTP(S) requests made from the window context when m_responseTypeCode
        is not the default value.

2011-12-25  Sam Weinig  <sam@webkit.org>

        Fix tests failing as a result of r103643
        https://bugs.webkit.org/show_bug.cgi?id=75209

        Reviewed by Dan Bernstein.

        Switch accidental switch of default scroll granularity from 
        ScrollByPageWheelEvent back to ScrollByPixelWheelEvent.

        * platform/mac/PlatformEventFactory.mm:
        (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):

2011-12-25  Darin Adler  <darin@apple.com>

        Change CSS canvas code that does HashMap get/set to use the more efficient add idiom
        https://bugs.webkit.org/show_bug.cgi?id=75204

        Reviewed by Dan Bernstein.

        * dom/Document.cpp:
        (WebCore::Document::getCSSCanvasContext): Change local variable name of element to
        element; it's not the function result, so not good to name it result.
        (WebCore::Document::getCSSCanvasElement): Use add instead of get/set so we only do
        one hash table lookup.

2011-12-24  Andreas Kling  <awesomekling@apple.com>

        CSSElementStyleDeclarations should never move between elements.
        <http://webkit.org/b/75198>

        Reviewed by Anders Carlsson.

        Have the CSSElementStyleDeclaration subclasses take a StyledElement* in
        the constructor and replace setElement(StyledElement*) by clearElement().

        No behavior change, just enforcing the current behavior at compile-time.

        * css/CSSElementStyleDeclaration.h:
        (WebCore::CSSElementStyleDeclaration::clearElement):
        (WebCore::CSSElementStyleDeclaration::CSSElementStyleDeclaration):
        * css/CSSInlineStyleDeclaration.h:
        (WebCore::CSSInlineStyleDeclaration::create):
        (WebCore::CSSInlineStyleDeclaration::CSSInlineStyleDeclaration):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::destroyInlineStyleDecl):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::FontFaceStyleDeclaration::FontFaceStyleDeclaration):

2011-12-23  Andreas Kling  <awesomekling@apple.com>

        Decouple CSSMappedAttributeDeclaration from element completely.
        <http://webkit.org/b/75187>

        Reviewed by Darin Adler.

        Let CSSMappedAttributeDeclaration inherit from CSSMutableDeclaration instead
        of CSSElementStyleDeclaration. Add methods to CSSMappedAttributeDeclaration
        for setting properties that also take a StyledElement* and use that mechanism
        instead of temporarily associating an element with the declaration.

        This reduces the size of mapped attributes by 4/8 bytes, but more importantly
        opens a number of ways to simplify style declarations in future patches.

        * css/CSSMutableStyleDeclaration.h:
        * dom/CSSMappedAttributeDeclaration.cpp:
        (WebCore::CSSMappedAttributeDeclaration::setNeedsStyleRecalc):
        (WebCore::CSSMappedAttributeDeclaration::setMappedImageProperty):
        (WebCore::CSSMappedAttributeDeclaration::setMappedLengthProperty):
        (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
        (WebCore::CSSMappedAttributeDeclaration::removeMappedProperty):
        * dom/CSSMappedAttributeDeclaration.h:
        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):

            Add/move methods to CSSMappedAttributeDeclaration for setting/removing
            properties that also take a StyledElement*. That element is used for
            scheduling style recalc and passing the right document to CSSParser.

        * css/CSSParser.h:
        * css/CSSParser.cpp:
        (WebCore::parseColorValue):
        (WebCore::parseSimpleLengthValue):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseMappedAttributeValue):

            Added a parsedMappedAttributeValue() alternative to parseValue() that
            takes a StyledElement*.

        * dom/StyledElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setContentEditable):

            Add (and use) a StyledElement::removeCSSProperty() complement to the
            addCSS*() functions.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):
        (WebCore::StyledElement::removeCSSProperty):
        (WebCore::StyledElement::addCSSProperty):
        (WebCore::StyledElement::addCSSImageProperty):
        (WebCore::StyledElement::addCSSLength):
        (WebCore::StyledElement::addCSSColor):
        (WebCore::StyledElement::createMappedDecl):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
        (WebCore::HTMLTableElement::addSharedGroupDecls):

            Use the setMapped*Property() functions to plumb the element through.

        * css/CSSElementStyleDeclaration.h:

            Update comment about CSSElementStyleDeclaration's subclasses.

2011-12-24  Jarred Nicholls  <jarred@sencha.com>

        Allow XMLHttpRequest withCredentials to be set prior to a call to open()
        https://bugs.webkit.org/show_bug.cgi?id=75194

        XMLHttpRequest.withCredentials attribute should be modifiable prior to the OPENED state per
        the W3C spec. See http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-withcredentials-attribute

        Reviewed by Alexey Proskuryakov.

        Test: fast/xmlhttprequest/xmlhttprequest-withcredentials-before-open.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::setWithCredentials):
        Prevent setting the value only after the OPENED state.

2011-12-24  Andreas Kling  <awesomekling@apple.com>

        Remove empty inline RenderStyle destructor.
        <http://webkit.org/b/75188>

        Rubber-stamped by Anders "Ordvits" Carlsson.

        * rendering/style/RenderStyle.h:

2011-12-24  Andreas Kling  <awesomekling@apple.com>

        RenderStyle: Inline the destructor.
        <http://webkit.org/b/75188>

        Reviewed by Kenneth Rohde Christiansen.

        The (empty) RenderStyle destructor gets a little hot sometimes, reaching up
        to 0.4% when loading the full HTML5 spec. Inline it to remove the pointless
        function call.

        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::~RenderStyle):

2011-12-23  Noel Gordon  <noel.gordon@gmail.com>

        JPEG decoders should only save color profile markers if color management is enabled
        https://bugs.webkit.org/show_bug.cgi?id=75182

        Reviewed by Adam Barth.

        No new tests. Covered by existing tests.
            fast/images/ycbcr-with-cmyk-color-profile.html
            fast/images/gray-scale-jpeg-with-color-profile.html
            fast/images/cmyk-jpeg-with-color-profile.html
            fast/images/color-jpeg-with-color-profile.html

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::JPEGImageReader):  Store color profile (JPEG_APP0 + 2) markers
        using the iccjpeg helper setup_read_icc_profile() if color management is enabled.

2011-12-23  Alice Boxhall  <aboxhall@chromium.org>

        Fix crash when adding paragraph in contenteditable with role=textbox.
        https://bugs.webkit.org/show_bug.cgi?id=75159

        Reviewed by Ryosuke Niwa.

        Test: accessibility/textbox-role-on-contenteditable-crash.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::childrenChanged): Use rendererIsEditable() rather than isContentEditable()
        as this method is called during render layouts, and isContentEditable() triggers a layout update, which crashes.

2011-12-23  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] JPEG image with CMYK ICC color profile renders color-inverted and squashed
        https://bugs.webkit.org/show_bug.cgi?id=74400

        Reviewed by Adam Barth.

        Use color profiles for GRAYSCALE, RGB, YCbCr, CMYK and YCCK jpeg images only if their
        embedded color profile is from an RGB color space input device.

        Test:
           fast/images/ycbcr-with-cmyk-color-profile.html
               - YCbCr image, with CMYK output device color profile.
        Existing Tests:
           fast/images/gray-scale-jpeg-with-color-profile.html
               - YCbCr image, with GRAY input device color profile.
           fast/images/cmyk-jpeg-with-color-profile.html
               - YCCK image, with CMYK output device color profile.
           fast/images/color-jpeg-with-color-profile.html
               - YCbCr image, with RGB input device color profile.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::rgbColorProfile): Return true if the profile has an RGB color space.
        (WebCore::inputDeviceColorProfile): Return true if the profile is from an input device.
        (WebCore::readColorProfile): Ignore the embedded color profile unless if it is from
        an RGB color space input device.
        (WebCore::JPEGImageReader::decode):

2011-12-23  Dan Bernstein  <mitz@apple.com>

        Print dlerror() when dyld functions fail unexpectedly
        https://bugs.webkit.org/show_bug.cgi?id=75185

        Reviewed by Sam Weinig.

        * platform/mac/SoftLinking.h:

2011-12-23  Sam Weinig  <sam@webkit.org>

        Start extracting platform specific bits out of PlatformEvents
        https://bugs.webkit.org/show_bug.cgi?id=75063

        Reviewed by Anders Carlsson.

        * WebCore.exp.in:
        Update exports.

        * WebCore.xcodeproj/project.pbxproj:
        Add factory, remove implementation files for mac PlatformWheelEvent
        and PlatformMouseEvent.

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::wheelEvent):
        (WebCore::EventHandler::keyEvent):
        (WebCore::EventHandler::currentPlatformMouseEvent):
        Switch to use the factory.

        * platform/PlatformEvent.h:
        (WebCore::PlatformEvent::shiftKey):
        (WebCore::PlatformEvent::ctrlKey):
        (WebCore::PlatformEvent::altKey):
        (WebCore::PlatformEvent::metaKey):
        (WebCore::PlatformEvent::modifiers):
        (WebCore::PlatformEvent::PlatformEvent):
        Switch to storing the modifiers as bits on an unsigned
        instead of as individual bools.

        * platform/PlatformGestureEvent.h:
        Remove unused timestamp member.

        * platform/PlatformKeyboardEvent.h:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::keyIdentifier):
        (WebCore::PlatformKeyboardEvent::macCharCode):
        (WebCore::PlatformKeyboardEvent::isSystemKey):
        Give this class a more consistent interface across platforms,
        and remove constructor that took an NSEvent.

        * platform/PlatformMouseEvent.h:
        Remove constructor that took an NSEvent (and an unused constructor that took
        many arguments) as well as some free functions for point conversion.

        * platform/PlatformWheelEvent.h:
        Remove constructor that took an NSEvent and an unnecessary override of the timestamp()
        function.

        * platform/mac/KeyEventMac.mm:
        Removed constructor and moved helpers to PlatformEventFactory.

        * platform/mac/PlatformEventFactory.h: Added.
        * platform/mac/PlatformEventFactory.mm: Added.
        (WebCore::globalPoint):
        (WebCore::globalPointForEvent):
        (WebCore::pointForEvent):
        (WebCore::mouseButtonForEvent):
        (WebCore::mouseEventTypeForEvent):
        (WebCore::clickCountForEvent):
        (WebCore::momentumPhaseForEvent):
        (WebCore::phaseForEvent):
        (WebCore::gestureEventTypeForEvent):
        (WebCore::textFromEvent):
        (WebCore::unmodifiedTextFromEvent):
        (WebCore::keyIdentifierForKeyEvent):
        (WebCore::isKeypadEvent):
        (WebCore::windowsKeyCodeForKeyEvent):
        (WebCore::isKeyUpEvent):
        (WebCore::modifiersForEvent):
        (WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
        (WebCore::PlatformEventFactory::createPlatformMouseEvent):
        (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
        (WebCore::PlatformEventFactory::createPlatformWheelEvent):
        (WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
        (WebCore::PlatformEventFactory::createPlatformKeyboardEvent):
        (WebCore::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
        (WebCore::PlatformEventFactory::createPlatformGestureEvent):
        Consolidate platform event creation logic and add factory functions.

        * platform/mac/PlatformMouseEventMac.mm: Removed.
        * platform/mac/WheelEventMac.mm: Removed.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        Expose wkGetNSEventKeyChar in WebCore.

        * platform/gtk/PlatformKeyboardEventGtk.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/gtk/PlatformMouseEventGtk.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/gtk/PlatformWheelEventGtk.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/qt/PlatformMouseEventQt.cpp:
        (WebCore::mouseEventModifiersFromQtKeyboardModifiers):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/qt/PlatformTouchEventQt.cpp:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        * platform/win/KeyEventWin.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/win/WheelEventWin.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        Update for new variables/names.

2011-12-22  Andreas Kling  <kling@webkit.org>

        CSSParser: Avoid creating dummy declaration in parseColor() slow path.
        <http://webkit.org/b/75104>

        Reviewed by Darin Adler.

        We only needed the dummy declaration to trigger the instantiation of
        a CSSValuePool. Added an ensureCSSValuePool() method and have parseColor()
        call that instead.

        Also renamed the fast-path parseColor() to fastParseColor() and reordered
        the arguments for consistency with the slow-path parseColor().

        * css/CSSParser.cpp:
        (WebCore::parseColorValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::ensureCSSValuePool):
        (WebCore::CSSParser::fastParseColor):
        (WebCore::CSSParser::parseColorFromValue):
        * css/CSSParser.h:

2011-12-21  Andreas Kling  <kling@webkit.org>

        Automate elements' registration as document namedItem/extraNamedItem.
        <http://webkit.org/b/74991>

        Reviewed by Antti Koivisto.

        Remove caching of the "id" and "name" attributes on applet, embed, form,
        image and object elements. We were caching them to keep the document's
        map of named and "extra named" (named by id) item counts in sync.

        Instead, add a hook to Element::willModifyAttribute() that detects when
        the attributes are being changed and handle the registration/unregistration
        automatically if the element returns true for shouldRegisterAsNamedItem()
        or shouldRegisterAsExtraNamedItem() respectively.

        This shrinks the elements by two AtomicStrings (8 or 16 bytes) each.

        IFrame elements retain the old mechanism for now, as there are some subtle
        differences to how that's handled.

        * dom/Node.h:
        (WebCore::Node::hasName):
        (WebCore::Node::setHasName):

            Cache whether we have a "name" attribute or not (1 bit on Node.)
            This is done in order to minimize the overhead added to Element's
            insertedIntoDocument() and removeFromDocument().

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):

            Update the Node's has-name flag as appropriate.

        * dom/Element.cpp:
        (WebCore::Element::updateNamedItemRegistration):
        (WebCore::Element::updateExtraNamedItemRegistration):

            Added. Called when the "name" and "id" attributes are changed.
            Updates the document's named item maps accordingly.

        (WebCore::Element::insertedIntoDocument):
        (WebCore::Element::removedFromDocument):

            Make sure updateName() is called in addition to updateId() when applicable.

        * dom/Element.h:
        (WebCore::Element::shouldRegisterAsNamedItem):
        (WebCore::Element::shouldRegisterAsExtraNamedItem):

            Added. If an element returns true for these, it will be automatically
            registered with the document when the name/id attribute changes.

        (WebCore::Element::updateId):
        (WebCore::Element::updateName):

            Register/unregister from the document's named item maps as appropriate.

        (WebCore::Element::willModifyAttribute):

            Add updateName() hook in addition to the existing updateId() hook.

        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setAttributes):

            Make sure updateName() is called when we're cloning the attributes
            from another element.

        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::parseMappedAttribute):
        * html/HTMLAppletElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        (WebCore::HTMLEmbedElement::insertedIntoDocument):
        * html/HTMLEmbedElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::insertedIntoDocument):
        (WebCore::HTMLFormElement::removedFromDocument):
        (WebCore::HTMLFormElement::parseMappedAttribute):
        * html/HTMLFormElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute):
        (WebCore::HTMLImageElement::insertedIntoDocument):
        * html/HTMLImageElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::insertedIntoDocument):
        (WebCore::HTMLObjectElement::removedFromDocument):
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInElement.h:

            Remove duplicated code that is now handled by Element.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateDocNamedItem):
        (WebCore::HTMLObjectElement::formControlName):

            Use fastGetAttribute() since we no longer cache the name.

2011-12-23  Anders Carlsson  <andersca@apple.com>

        Add two (currently unused) new member functions to ScrollElasticityControllerClient
        https://bugs.webkit.org/show_bug.cgi?id=75179

        Reviewed by Dan Bernstein.

        This is so we'll be able to move more code to ScrollElasticityController.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::pinnedInDirection):
        (WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
        * platform/mac/ScrollElasticityController.h:

2011-12-23  Simon Fraser  <simon.fraser@apple.com>

        Blur filter doesn't invalidate enough
        https://bugs.webkit.org/show_bug.cgi?id=74891

        Reviewed by Darin Adler.
        
        Take the effects of filters into account for repainting; we need
        to inflate the repaint rect by the outsets provided by the filter.
        
        Test: css3/filters/filter-repaint.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeRectForRepaint):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::computeRectForRepaint):

2011-12-23  Simon Fraser  <simon.fraser@apple.com>

        Filters should apply to inline elements
        https://bugs.webkit.org/show_bug.cgi?id=75152

        Reviewed by Darin Adler.
        
        Filters need to cause creation of RenderLayers for inlines, just like
        opacity and masks do.

        Test: css3/filters/filtered-inline.html

        * rendering/RenderInline.h:
        (WebCore::RenderInline::requiresLayer):
        * rendering/RenderTableRow.h: Remove an obviously incorrect comment.

2011-12-23  Jarred Nicholls  <jarred@sencha.com>

        Synchronous XHR in window context should not support new XHR responseTypes for HTTP(S) requests
        https://bugs.webkit.org/show_bug.cgi?id=72154

        Per the latest W3C editor draft: http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html
        This is a spec-mandated attempt to thwart and otherwise discourage the use of synchronous XHR
        in the window context by deliberately not exposing newer functionality. Here we are disabling
        the use of responseType in synchronous HTTP(S) XHR requests from the window context.

        When a user attempts this action, an InvalidAccessError exception is thrown and a message is
        printed to the console to further explain.

        Renamed reportUnsafeUsage to a more generic name, and hoisted it up so it would be defined
        earlier and thus referenceable by setResponseType.

        Reviewed by Alexey Proskuryakov.

        Test: fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::logConsoleError):
        reportUnsafeUsage -> logConsoleError
        (WebCore::XMLHttpRequest::setResponseType):
        (WebCore::XMLHttpRequest::setRequestHeader):
        reportUnsafeUsage -> logConsoleError
        (WebCore::XMLHttpRequest::getResponseHeader):
        reportUnsafeUsage -> logConsoleError
        (WebCore::XMLHttpRequest::didFail):
        reportUnsafeUsage -> logConsoleError

2011-12-23  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Implement a worker for parsing out JavaScript function data
        https://bugs.webkit.org/show_bug.cgi?id=75166

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/script-extract-outline.html

        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter.prototype.formatContent):
        * inspector/front-end/ScriptFormatterWorker.js:
        (onmessage):
        (format):
        (getChunkCount):
        ():
        (Array.prototype.keySet):

2011-12-23  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed, rolling out r103624.
        http://trac.webkit.org/changeset/103624
        https://bugs.webkit.org/show_bug.cgi?id=68916

        Broke Snow Leopard builders

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDirectoryEntryCustom.cpp:
        (WebCore::JSDirectoryEntry::getFile):
        (WebCore::JSDirectoryEntry::getDirectory):
        * bindings/js/JSDirectoryEntrySyncCustom.cpp:
        (WebCore::getFlags):
        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
        (WebCore::V8DirectoryEntry::getDirectoryCallback):
        (WebCore::V8DirectoryEntry::getFileCallback):
        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
        (WebCore::getFlags):
        * fileapi/WebKitFlags.idl: Added.
        * page/DOMWindow.idl:
        * workers/WorkerContext.idl:

2011-12-23  Eric Uhrhane  <ericu@chromium.org>

       [fileapi] WebKitFlags should not be constructable per Directories & System spec
       https://bugs.webkit.org/show_bug.cgi?id=68916

       Reviewed by Eric Seidel.

       Remove IDL for the object and all DOM references to it.
       * fileapi/WebKitFlags.idl: Removed.
       * page/DOMWindow.idl:
       * workers/WorkerContext.idl:
       Remove references to the JSC/V8 objects compiled from the IDL.
       * bindings/js/JSDirectoryEntryCustom.cpp:
       (WebCore::JSDirectoryEntry::getFile):
       (WebCore::JSDirectoryEntry::getDirectory):
       * bindings/js/JSDirectoryEntrySyncCustom.cpp:
       (WebCore::getFlags):
       * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
       (WebCore::V8DirectoryEntry::getDirectoryCallback):
       (WebCore::V8DirectoryEntry::getFileCallback):
       * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
       (WebCore::getFlags):
       Fix up build files.
       * WebCore.gypi:
       * WebCore.vcproj/WebCore.vcproj:
       * WebCore.xcodeproj/project.pbxproj:
       * WebCore/CMakeLists.txt:
       * WebCore/CodeGenerators.pri:
       * WebCore/DerivedSources.cpp:
       * WebCore/GNUmakefile.list.am:

2011-12-23  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: Migrate to native Function.prototype.bind; fix front-end compilation with the
        version of compiler that respects Function.prototype.bind.
        https://bugs.webkit.org/show_bug.cgi?id=75170

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ApplicationCacheModel.js:
        * inspector/front-end/CSSKeywordCompletions.js:
        (WebInspector.CSSKeywordCompletions.colors):
        * inspector/front-end/CSSStyleModel.js:
        * inspector/front-end/CompilerSourceMapping.js:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
        (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
        (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
        (WebInspector.DOMAgent.prototype._loadNodeAttributes):
        (WebInspector.DOMAgent.prototype.querySelector):
        (WebInspector.DOMAgent.prototype.querySelectorAll):
        * inspector/front-end/DebuggerModel.js:
        * inspector/front-end/DebuggerPresentationModel.js:
        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.InspectorExtensionAPI):
        (injectedExtensionAPI):
        * inspector/front-end/ExtensionPanel.js:
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.enableResourceTracking):
        (WebInspector.NetworkManager.prototype.disableResourceTracking):
        * inspector/front-end/Script.js:
        * inspector/front-end/Settings.js:
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.complete):
        * inspector/front-end/utilities.js:

2011-12-23  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Add the BlackBerry specific pauseLoad(bool) to ResourceHandle
        https://bugs.webkit.org/show_bug.cgi?id=75162

        Reviewed by George Staikos.

        The porting can be built now, no new tests so far.

        * platform/network/ResourceHandle.h:

2011-12-23  Karl Koscher  <supersat@chromium.org>

        Give embedders a chance to handle postMessage calls
        https://bugs.webkit.org/show_bug.cgi?id=73883

        To support cross-process postMessage calls in Chromium (bug 73337), we need to intercept 
        postMessage calls to proxy windows. Originally we were just going to add a native event
        listener on the Chromium side, but that required more changes to WebKit and was a bit of
        a hack. See bug 73359 for a discuss about moving to this approach.

        Reviewed by Adam Barth.

        Test: platform/chromium/fast/events/intercept-postmessage.html

        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::willCheckAndDispatchPostMessage): new method to allow the
            embedder to intercept postMessage calls
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessageTimerFired): add a call to
            FrameLoaderClient::willCheckAndDispatchPostMessage

2011-12-23  Tom Sepez  <tsepez@chromium.org>

        XSLT-created HTML documents do not inherit content-security-policy from originally loaded XML.
        https://bugs.webkit.org/show_bug.cgi?id=75043

        Reviewed by Adam Barth.

        Test: http/tests/security/contentSecurityPolicy/xsl-img-blocked.php

        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::copyStateFrom):
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
        * page/ContentSecurityPolicy.h:
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

2011-12-23  Darin Adler  <darin@apple.com>

        REGRESSION (r97533): Optgroup label is not disabled
        https://bugs.webkit.org/show_bug.cgi?id=74869

        Reviewed by Alexey Proskuryakov.

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemIsEnabled): Added back a line of code that was
        accidentally deleted as part of the refactoring in r97533. This line of code
        ensures that any items that are not option elements are disabled.

2011-12-19  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Add CSSStyleSelector instrumentation calls towards implementing a CSS selector profiler
        https://bugs.webkit.org/show_bug.cgi?id=74863

        Performance checks run on PerformanceTest/Parser/html5-full-render.html did not result in any noticeable
        perf regression, as the instrumentation calls are inline and bail out early if there are no
        Web Inspector frontends open.

        Reviewed by Antti Koivisto.

        No new tests, as the functionality is not bound to any user-visible outputs.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchRulesForList):
        (WebCore::CSSStyleSelector::applyDeclaration):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willMatchRuleImpl):
        (WebCore::InspectorInstrumentation::didMatchRuleImpl):
        (WebCore::InspectorInstrumentation::willProcessRuleImpl):
        (WebCore::InspectorInstrumentation::didProcessRuleImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::willMatchRule):
        (WebCore::InspectorInstrumentation::didMatchRule):
        (WebCore::InspectorInstrumentation::willProcessRule):
        (WebCore::InspectorInstrumentation::didProcessRule):

2011-12-23  Ivan Briano  <ivan@profusion.mobi>

        [EFL] Fix building with Glib support disabled
        https://bugs.webkit.org/show_bug.cgi?id=70990

        Reviewed by Martin Robinson.

        Add forward declaration for cairo_surface_t, missing when building
        the EFL port with Glib disabled.

        * platform/cairo/WidgetBackingStore.h:

2011-12-23  Adam Klein  <adamk@chromium.org>

        Minimize callsites and duplication of before/after advice for attribute mutations
        https://bugs.webkit.org/show_bug.cgi?id=75054

        Reviewed by Ryosuke Niwa.

        r103452 helpfully made before and after advice regarding attribute
        changes symmetrical. This change finishes that work, by pulling
        together all the before/after work, not just the crumbs previously
        covered. This includes incrementing Document::domTreeVersion()
        when an attribute is about to be changed, Inspector instrumentation,
        and MutationEvent dispatch. This is in addition to the previous code,
        which handled enqueueing MutationRecords for MutationObservers and
        updating the Document's list of IDs.

        The only change in behavior should be in InspectorInstrumentation,
        which causes DOM breakpoints to occur for more cases of Attribute
        mutation. This seems like more correct behavior, and a test has
        been included to exercise it.

        Hopefully the last Attribute-related refactor for awhile.

        * dom/Attr.cpp:
        (WebCore::Attr::setValue): Update to call didModifyAttribute instead
        of attributeChanged.
        * dom/Element.cpp:
        (WebCore::Element::removeAttribute): Got rid of
        removeAttributeInternal as most of that logic moved back into
        NamedNodeMap::removeAttribute.
        (WebCore::Element::setAttributeInternal): Reorganized to read better
        now that only some cases result in calls to will/didModifyAttribute.
        (WebCore::Element::willModifyAttribute): Un-inlined and added
        incDOMTreeVersion and InspectorInstrumentation calls.
        (WebCore::Element::didModifyAttribute): New method which encapsulates
        calling attributeChanged, InspectorInstrumentation, and MutationEvents.
        (WebCore::Element::didRemoveAttribute): New method which encapsulates
        calling attributeChanged, InspectorInstrumentation, and MutationEvents.
        Separate from didModifyAttribute because it has special handling of
        the removed Attribute's value.
        * dom/Element.h:
        (WebCore::Element::willRemoveAttribute): New method which delegates to
        willModifyAttribute as appropriate.
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setNamedItem): Simplified.
        (WebCore::NamedNodeMap::removeNamedItem): Simplified.
        (WebCore::NamedNodeMap::addAttribute): Added calls to will/didModifyAttribute.
        (WebCore::NamedNodeMap::removeAttribute): ditto.
        (WebCore::NamedNodeMap::replaceAttribute): ditto.
        * svg/properties/SVGAnimatedPropertySynchronizer.h: Reverted changes
        made in r103452 now that addAttribute/removeAttribute once again
        call attributeChanged appropriately.

2011-12-22  Matt Falkenhagen  <falken@chromium.org>

        Map 'lang' and xml:lang attributes to '-webkit-locale' CSS property for use with font fallback and text-transform
        https://bugs.webkit.org/show_bug.cgi?id=67586

        Original patch by Jungshik Shin <jshin@chromium.org>

        Reviewed by Darin Adler.

        Tests: fast/text/lang-mapped-to-webkit-locale.xhtml
               fast/text/xml-lang-ignored-in-html.html

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::mapLanguageAttributeToLocale):
        (WebCore::HTMLElement::parseMappedAttribute): Map 'lang' and 'xml:lang' to -webkit-locale.
        * html/HTMLElement.h:

2011-12-22  Ryosuke Niwa  <rniwa@webkit.org>

        WinCE build fix after r103539.

        * rendering/svg/RenderSVGResource.cpp:
        (WebCore::RenderSVGResource::removeFromFilterCache):

2011-12-22  Chris Marrin  <cmarrin@apple.com>

        Crash and incorrect behavior when switching between hardware and software CSS filters
        https://bugs.webkit.org/show_bug.cgi?id=75130

        Reviewed by Simon Fraser.

        Test: css3/filters/crash-hw-sw-switch.html

        Backing store on layer gets fixed up (added or removed) after style change is evaluated
        so the state of the m_filter variable might not match the current filter state. Added
        updateOrRemoveFilterEffect() call to ensureBacking() and clearBacking() to get the
        m_filter property in the right state. Also added an ASSERT() where the crash was
        occuring.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::ensureBacking):
        (WebCore::RenderLayer::clearBacking):

2011-12-22  Jon Lee  <jonlee@apple.com>

        Radio buttons cut in download movie sheet
        https://bugs.webkit.org/show_bug.cgi?id=75128
        <rdar://problem/9399450>

        Reviewed by Dan Bernstein.

        Test: compositing/overflow/theme-affects-visual-overflow.html

        The clipping comes from the fact the visual overflow rect of the radio button's
        RenderBlock is not expanded to accommodate for the size of the button on the Mac
        platform. We use the existing RenderTheme::adjustRepaintRect() to make the
        appropriate adjustment. This, consequently, makes it unnecessary to have to
        recalculate it for repaint.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeOverflow): As part of the overflow computation, we
        make a call to addVisualOverflowFromTheme().
        (WebCore::RenderBlock::addVisualOverflowFromTheme): Ask the theme to inflate the
        RenderBlock's rect if necessary, and add that to the visual overflow rect.
        * rendering/RenderBlock.h: Added addVisualOverflowFromTheme().
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::clippedOverflowRectForRepaint): Remove the call to
        adjustRepaintRect() since the rectangle r already uses the new visual overflow
        rect.
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::clippedOverflowRectForRepaint): Remove the call to
        adjustRepaintRect() since the rectangle r already uses the new visual overflow
        rect.

2011-12-22  Chris Rogers  <crogers@google.com>

        Fix mac build breakage - add SincResampler files to WebCore.xcodeproj
        https://bugs.webkit.org/show_bug.cgi?id=75139

        Unreviewed build fix.

        * WebCore.xcodeproj/project.pbxproj:

2011-12-22  Simon Fraser  <simon.fraser@apple.com>

        Animating some CSS filter values is wrong
        https://bugs.webkit.org/show_bug.cgi?id=75122

        Reviewed by Chris Marrin.
        
        Fix some reversed filter animation behavior for brightness,
        contrast and drop-shadow filters.

        Test: css3/filters/filter-animation-from-none.html

        * platform/graphics/filters/FilterOperation.cpp:
        (WebCore::BasicComponentTransferFilterOperation::blend): Just use the global blend() function.
        (WebCore::BasicComponentTransferFilterOperation::passthroughAmount): Add CONTRAST and BRIGHTNESS to the sswitch.
        (WebCore::GammaFilterOperation::blend): Fix the ordering.
        (WebCore::DropShadowFilterOperation::blend): Fix the ordering.

2011-12-22  Chris Rogers  <crogers@google.com>

        Fix mac build caused by improper include of "Locker.h"
        https://bugs.webkit.org/show_bug.cgi?id=75134

        Unreviewed build fix.

        * webaudio/MediaElementAudioSourceNode.cpp:

2011-12-22  Anders Carlsson  <andersca@apple.com>

        More ScrollAnimatorMac cleanup
        https://bugs.webkit.org/show_bug.cgi?id=75127

        Reviewed by Andreas Kling.

        Introduce a immediateScrollByWithoutContentEdgeConstraints and use it whenever we want to scroll by an
        offset instead of doing the setConstrainsScrollingToContentEdge dance.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):

2011-12-22  Chris Rogers  <crogers@google.com>

        Implement MediaElementAudioSourceNode::setFormat() so numberOfChannels and sampleRate are accounted for
        https://bugs.webkit.org/show_bug.cgi?id=75057

        Reviewed by Eric Carlson.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        Add MultiChannelResampler source files to makefiles.
        * platform/audio/MultiChannelResampler.cpp: Added.
        (WebCore::MultiChannelResampler::MultiChannelResampler):
        (WebCore::MultiChannelResampler::process):
        * platform/audio/MultiChannelResampler.h: Added.
        Add MultiChannelResampler implementation which uses one SincResampler per channel.
        * webaudio/MediaElementAudioSourceNode.cpp:
        (WebCore::MediaElementAudioSourceNode::create):
        (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
        (WebCore::MediaElementAudioSourceNode::setFormat):
        (WebCore::MediaElementAudioSourceNode::process):
        Implement MediaElementAudioSourceNode::setFormat() so that we can
        properly setup a sample-rate converter and set the number of channels
        of the MediaElementAudioSourceNode output.
        * webaudio/MediaElementAudioSourceNode.h:

2011-12-22  Chris Fleizach  <cfleizach@apple.com>

        AX: WebKit should ignore ARIA role=presentation on focusable elements
        https://bugs.webkit.org/show_bug.cgi?id=75101

        Reviewed by Darin Adler.

        If an element is focusable, the presentational role must be ignored, lest the user not be able
        to interact with something important.

        Test: accessibility/presentational-elements-with-focus.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
        (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):

2011-12-22  Anders Carlsson  <andersca@apple.com>

        Use immediateScrollBy instead of immediateScrollTo where possible
        https://bugs.webkit.org/show_bug.cgi?id=75124

        Reviewed by Sam Weinig.

        Instead of computing the position to scroll to, just compute the delta and use scrollBy instead.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):

2011-12-22  Anders Carlsson  <andersca@apple.com>

        Remove a private ScrollAnimatorMac getter/setter and just update the member variable directly
        https://bugs.webkit.org/show_bug.cgi?id=75121

        Reviewed by Sam Weinig.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::setIsActive):
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):

2011-12-22  Anders Carlsson  <andersca@apple.com>

        Simplify ScrollAnimatorMac scrollByDelta functions
        https://bugs.webkit.org/show_bug.cgi?id=75120

        Reviewed by Sam Weinig.

        Merge immediateScrollByDeltaX and immediateScrollByDeltaY to a single function and rename it
        to immediateScrollBy. Also, rename immediateScrollToPoint to immediateScrollTo.
        
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollAnimatorMac::immediateScrollTo):
        (WebCore::ScrollAnimatorMac::immediateScrollBy):
        (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):

2011-12-22  Anders Carlsson  <andersca@apple.com>

        Make some ScrollAnimatorMac member functions private
        https://bugs.webkit.org/show_bug.cgi?id=75117

        Reviewed by Sam Weinig.

        Make virtual member functions and functions that are only called from ScrollAnimatorMac private.

        * platform/mac/ScrollAnimatorMac.h:

2011-12-22  Anders Carlsson  <andersca@apple.com>

        Move some member variables out of ScrollElasticityController
        https://bugs.webkit.org/show_bug.cgi?id=75115

        Reviewed by Adam Roben.

        Move a couple of member variables that aren't related to rubberbanding out from
        ScrollElasticityController and back into ScrollAnimatorMac and remove now unneeded
        ScrollElasticityControllerClient member functions as well.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::handleWheelEvent):
        (WebCore::ScrollAnimatorMac::beginScrollGesture):
        * platform/mac/ScrollElasticityController.h:
        * platform/mac/ScrollElasticityController.mm:
        (WebCore::ScrollElasticityController::ScrollElasticityController):
        (WebCore::ScrollElasticityController::beginScrollGesture):

2011-12-22  Balazs Kelemen  <kbalazs@webkit.org>

        Fix debug build with assertions disabled
        https://bugs.webkit.org/show_bug.cgi?id=75075

        Reviewed by Darin Adler.

        Check whether assertions are disabled instead of NDEBUG
        where appropriate to avoid "defined but not used" warnings.

        No change in behaviour so no new tests.

        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::insertInLRUList):
        (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
        (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChild):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions):

2011-12-22  Anders Carlsson  <andersca@apple.com>

        Get rid of didStartAnimatedScroll and didCompleteAnimatedScroll
        https://bugs.webkit.org/show_bug.cgi?id=75107

        Reviewed by Adam Roben.

        This is another step towards removing the display throttling in WebKit2.

        * page/ChromeClient.h:
        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/ScrollableArea.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::scroll):
        (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):

2011-12-22  Anders Carlsson  <andersca@apple.com>

        Remove didStartRubberBand and didCompleteRubberBand callbacks
        https://bugs.webkit.org/show_bug.cgi?id=75102

        Reviewed by Adam Roben.

        The code to do display throttling in WebKit2 is complex and doesn't really help us except
        on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead.

        * page/ChromeClient.h:
        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        * platform/ScrollView.h:
        * platform/ScrollableArea.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
        * rendering/RenderLayer.cpp:
        * rendering/RenderLayer.h:

2011-12-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] Network item view is not displayed.
        https://bugs.webkit.org/show_bug.cgi?id=75100

        Not reviewed, one line css fix.

        * inspector/front-end/networkPanel.css:
        (.network-item-view.visible):

2011-12-22  Andreas Kling  <kling@webkit.org>

        NamedNodeMap: Get rid of declCount().
        <http://webkit.org/b/74948>

        Reviewed by Darin Adler.

        We already have the number of mapped attribute declarations in the map
        stored in m_mappedAttributeCount (updated by declAdded()/declRemoved())
        so compare that in mappedMapsEquivalent() to skip one loop over the map.

        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::mappedMapsEquivalent):
        * dom/NamedNodeMap.h:

2011-12-22  Andreas Kling  <kling@webkit.org>

        SnowLeopard crashes due to thread-unsafe EventListenerIterator ASSERTs
        <http://webkit.org/b/74260>

        Reviewed by Darin Adler.

        Guard EventListenerMap::m_activeIteratorCount with a mutex.

        * dom/EventListenerMap.cpp:
        (WebCore::activeIteratorCountMutex):
        (WebCore::EventListenerMap::assertNoActiveIterators):
        (WebCore::EventListenerMap::clear):
        (WebCore::EventListenerMap::add):
        (WebCore::EventListenerMap::remove):
        (WebCore::EventListenerMap::find):
        (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
        (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
        (WebCore::EventListenerIterator::EventListenerIterator):
        (WebCore::EventListenerIterator::~EventListenerIterator):
        * dom/EventListenerMap.h:
        (WebCore::EventListenerMap::assertNoActiveIterators):

2011-12-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: TabbedPane should support closeable tabs, hiding tabs into drop down menu.
        https://bugs.webkit.org/show_bug.cgi?id=75085

        Reviewed by Pavel Feldman.

        Test: inspector/tabbed-pane-tabs-to-show.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator):
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane):
        (WebInspector.TabbedPane.prototype.set shrinkableTabs):
        (WebInspector.TabbedPane.prototype.set closeableTabs):
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype.closeTab):
        (WebInspector.TabbedPane.prototype.selectTab):
        (WebInspector.TabbedPane.prototype.onResize):
        (WebInspector.TabbedPane.prototype._updateTabElements):
        (WebInspector.TabbedPane.prototype._showTabElement):
        (WebInspector.TabbedPane.prototype._hideTabElement):
        (WebInspector.TabbedPane.prototype._createDropDownButton):
        (WebInspector.TabbedPane.prototype._updateTabsDropDown):
        (WebInspector.TabbedPane.prototype._populateDropDownFromIndex):
        (WebInspector.TabbedPane.prototype._tabsSelectChanged):
        (WebInspector.TabbedPane.prototype._measureDropDownButton):
        (WebInspector.TabbedPane.prototype._updateWidths):
        (WebInspector.TabbedPane.prototype._calculateMaxWidth.var):
        (WebInspector.TabbedPane.prototype._calculateMaxWidth):
        (WebInspector.TabbedPane.prototype._hideCurrentTab):
        (WebInspector.TabbedPaneTab):
        (WebInspector.TabbedPaneTab.prototype.get id):
        (WebInspector.TabbedPaneTab.prototype.get tabElement):
        (WebInspector.TabbedPaneTab.prototype.get measuredWidth):
        (WebInspector.TabbedPaneTab.prototype.get width):
        (WebInspector.TabbedPaneTab.prototype.set width):
        (WebInspector.TabbedPaneTab.prototype._createTabElement):
        (WebInspector.TabbedPaneTab.prototype._measure):
        (WebInspector.TabbedPaneTab.prototype._tabSelected):
        (WebInspector.TabbedPaneTab.prototype._tabClosed):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        * inspector/front-end/scriptsPanel.css:
        (#scripts-navigator-tabbed-pane .tabbed-pane-header-contents):
        * inspector/front-end/tabbedPane.css: Added.

2011-12-22  Chris Fleizach  <cfleizach@apple.com>

        AX: attributed strings do not include AXHeading information when a link is contained within the heading
        https://bugs.webkit.org/show_bug.cgi?id=75059

        Reviewed by Darin Adler.

        An attributed string should contain the heading level of an ancestor node if it exists.
        This change allows the ancestor to be higher up in the hierarchy than just the direct parent.

        Test: platform/mac/accessibility/heading-and-link-attributed-string.html

        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
          (AXAttributeStringSetHeadingLevel):

2011-12-22  Chris Fleizach  <cfleizach@apple.com>

        AX: Title attribute should not be used in AXTitle
        https://bugs.webkit.org/show_bug.cgi?id=75027

        Reviewed by Darin Adler.

        Accessibility has been incorrectly exposing the title attribute through AXTitle. The title
        attribute better corresponds with a help tag for accessibility clients.

        Test: platform/mac/accessibility/title-attribute-not-used-as-axtitle.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::title):
            Don't use the title attribute.
        (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
            Change the semantics around when a checkbox or radio button combines it's title ui element. The change
            makes it so that we will expose the title ui element when the control already has a label. Otherwise
            the title ui element is hidden, and it's text is used as the AXTitle for the control.
        (WebCore::AccessibilityRenderObject::titleUIElement):
            Change this method so it always returns the title ui element, and then leave it up to exposesTitleUIElement
            to determine whether it should be shown.
        * accessibility/AccessibilityTableCell.h:
        (WebCore::AccessibilityTableCell::exposesTitleUIElement):
            There's no special logic for table cells that have title ui elements, and we don't want to use
            the logic in AccessibilityRenderObject, hence the override here.
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

2011-12-22  Chris Fleizach  <cfleizach@apple.com>

        AX: aria-describedby should not be part of AXDescription (should be a part of AXHelp)
        https://bugs.webkit.org/show_bug.cgi?id=75052

        Reviewed by Darin Adler.

        According to the ARIA spec, aria-describedby is a more detailed description that is akin to help, rather
        than a description describing the actual object.

        As such, it makes more sense for this attribute to be exposed under help text.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::helpText):
        (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):

2011-12-22  Mariusz Grzegorczyk  <mariusz.g@samsung.com>

        [EFL] Missing plugins support for efl port
        https://bugs.webkit.org/show_bug.cgi?id=44505

        Reviewed by Anders Carlsson.

        Basic functionality of plugins for efl port.

        Template version, so no new tests are needed.

        * PlatformEfl.cmake:
        * plugins/PluginView.h:
        * plugins/efl/PluginDataEfl.cpp: Added. Copied from plugins/gtk/PluginDataGtk.cpp.
        (WebCore::PluginData::initPlugins): Fill mime/description/extension maps for plugins.
        (WebCore::PluginData::refresh): Refresh plugin's database.
        * plugins/efl/PluginPackageEfl.cpp: Added. Copied from plugins/gtk/PluginPackageGtk.cpp.
        (WebCore::PluginPackage::fetchInfo): Get info from plugin's library about name and mime supported.
        (WebCore::PluginPackage::NPVersion):
        (WebCore::PluginPackage::load): Load plugin.
        * plugins/efl/PluginViewEfl.cpp: Added. Copied from plugins/gtk/PluginViewGtk.cpp.
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::handleFocusInEvent):
        (WebCore::PluginView::handleFocusOutEvent):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::setFocus):
        (WebCore::PluginView::show):
        (WebCore::PluginView::hide):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::setParent):
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::setParentVisible):
        (WebCore::PluginView::handlePostReadFile):
        (WebCore::PluginView::platformGetValueStatic):
        (WebCore::PluginView::platformGetValue):
        (WebCore::PluginView::invalidateRect):
        (WebCore::PluginView::invalidateRegion):
        (WebCore::PluginView::forceRedraw):
        (WebCore::PluginView::platformStart):
        (WebCore::PluginView::platformDestroy):

2011-12-22  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: add "install source map" to JS source frame context menu.
        https://bugs.webkit.org/show_bug.cgi?id=74181

        Reviewed by Pavel Feldman.

        Add "install source map" to source frame context menu when source map url is auto detected.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.ClosureCompilerSourceMapping.prototype.load):
        (WebInspector.ClosureCompilerSourceMapping.prototype._parseSections):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
        (WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
        (WebInspector.RawSourceCode.prototype._createSourceMapping):
        (WebInspector.RawSourceCode.prototype._createUISourceCode):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):

2011-12-22  Branimir Lambov  <blambov@google.com>

        SVG: "filter" race condition may prevent SVG elements from being re-drawn
        https://bugs.webkit.org/show_bug.cgi?id=53088

        Reviewed by Nikolas Zimmermann.

        Added code to explicitly invalidate data cached by filters applied to
        an invalidated object or one of its parents.

        Test: svg/filters/filter-refresh.svg

        * rendering/svg/RenderSVGResource.cpp:
        (WebCore::RenderSVGResource::removeFromFilterCache):
        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
        Added code to invalidate any filters applied to any of the parents.
        * rendering/svg/RenderSVGResource.h:
        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
        Replaced a duplicate of RenderSVGResource::
        markForLayoutAndParentResourceInvalidation with a call to the method.
        * rendering/svg/SVGResourcesCache.cpp:
        (WebCore::SVGResourcesCache::clientLayoutChanged):
        Removed filter invalidation code as this function would not be called if
        the filter isn't already invalidated.
        (WebCore::SVGResourcesCache::clientStyleChanged):
        (WebCore::SVGResourcesCache::clientUpdatedFromElement):
        Replaced filter invalidation with a markForLayoutAndParentResourceInvalidation
        call as all filters in the ancestor chain need to be invalidated.

2011-12-22  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to ResourceHandle.h
        https://bugs.webkit.org/show_bug.cgi?id=75061

        Reviewed by George Staikos.

        No functionality change to the existing code, no new tests.

        * platform/network/ResourceHandle.h:

2011-12-22  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Shaders] Follow up bug to fix issues mentioned in comment 23 from bug 73317
        https://bugs.webkit.org/show_bug.cgi?id=74840
        
        Some comments were added on bug 73317 after the patch was reviewed and committed.
        This patch is fixing those issues, mostly about coding style and some missing comments.
        
        The initial patch had no explanation about the feature in the ChangeLog, so I'm including the description
        in this patch:
        
        CSS Shaders allow a designer to use a pair of WebGL vertex and fragment shaders to alter the final
        rendering of a specific element. The navigator will render the element inside a texture and map it
        to a mesh. The mesh is formed by equal sized quads, that depending on the mesh style, attached or detached,
        can be stitched or separated. The number of quads can be changed from CSS.
        
        Usually the vertex shader is changing the vertices of the mesh, while the fragment shader affects only the color
        that is rendered to screen (for example lighting effects).
        
        More info about CSS Shaders can be found in the specification
        https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html
        
        Also a good tutorial is published here
        http://www.adobe.com/devnet/html5/articles/css-shaders.html
        
        Initially we are using the software filter effects pipeline. It uploads the image to the GPU, applies
        the shaders, reads it back to CPU and continues the rendering. The advantage of using the software pipeline is that
        it can be enabled on all the platforms that have WebGL support. The obvious disadvantage is performance: copies from CPU
        memory to GPU memory and the CPU will need to wait the GPU to finish before it could continue. In following 
        patches the shaders will be integrated in the hardware accelerated pipeline, so that no copies and, most 
        important, no waits will be required.
        
        Also, the new syntax counts total number of the lines and the columns, not just the
        additional lines and columns, so the minimum accepted and the default value is now 1 by 1.

        Reviewed by Nikolas Zimmermann.

        Some tests were updated for the default mesh size change.

        * css/CSSParser.cpp:
            Only accept non-zero positive int values for mesh sizes.
            
        (WebCore::CSSParser::parseCustomFilter):
        * css/CSSStyleSelector.cpp:
            Updated the default mesh size to be 1 column with 1 line.
            
        (WebCore::CSSStyleSelector::createCustomFilterOperation):
        * loader/cache/CachedShader.cpp:
        (WebCore::CachedShader::shaderString):
            Corrected the CachedShader to use a StringBuilder. Also there was an incorrect 
            cast to bool, which resulted from a copy/paste from CachedScript which still has
            both same issues.
            
        (WebCore::CachedShader::data):
        * loader/cache/CachedShader.h:
        * platform/graphics/filters/CustomFilterMesh.cpp:
        (WebCore::MeshGenerator::MeshGenerator):
        (WebCore::MeshGenerator::verticesCount):
        (WebCore::MeshGenerator::generateAttachedMesh):
        (WebCore::MeshGenerator::generateDetachedMesh):
        (WebCore::CustomFilterMesh::CustomFilterMesh):
        * platform/graphics/filters/CustomFilterMesh.h:
        (WebCore::CustomFilterMesh::create):
        * platform/graphics/filters/CustomFilterShader.cpp:
        (WebCore::CustomFilterShader::CustomFilterShader):
            Exploded the body of the constructor into smaller helper functions.
            
        (WebCore::CustomFilterShader::compileShader):
        (WebCore::CustomFilterShader::linkProgram):
        (WebCore::CustomFilterShader::initializeParameterLocations):
        * platform/graphics/filters/CustomFilterShader.h:
        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::orthogonalProjectionMatrix):
            Passing a TransformationMatrix by reference to be filled with the result matrix, instead
            of returning it by value. Also changed the name of the method.
            
        (WebCore::FECustomFilter::FECustomFilter):
        (WebCore::FECustomFilter::platformApplySoftware):
            Created some helper functions to make this method shorter.
            
        (WebCore::FECustomFilter::initializeContext):
        (WebCore::FECustomFilter::resizeContext):
        (WebCore::FECustomFilter::bindVertexAttribute):
        (WebCore::FECustomFilter::bindProgramAndBuffers):
        * platform/graphics/filters/FECustomFilter.h:

2011-12-12  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: fix source map url resolving.
        https://bugs.webkit.org/show_bug.cgi?id=74305

        Reviewed by Pavel Feldman.

        Also fix the bug with repeated source urls in mapping sections.

        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.ClosureCompilerSourceMapping):
        (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
        (WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
        * inspector/front-end/utilities.js:
        (String.prototype.asParsedURL):

2011-12-09  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: auto detect source map url.
        https://bugs.webkit.org/show_bug.cgi?id=74088

        Reviewed by Pavel Feldman.

        Check to see if "X-SourceMap" HTTP response header was sent with script resource.
        Header value will be used as auto suggestion for source map url in UI.

        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode):
        * inspector/front-end/Script.js:
        (WebInspector.Script):

2011-12-22  Kentaro Hara  <haraken@chromium.org>

        Change the build flow of AppleWebKit to use the [Supplemental] IDL
        https://bugs.webkit.org/show_bug.cgi?id=74900

        Reviewed by Adam Barth.

        This is the final step for bug 74599. This patch changes the build flow
        of DerivedSources.make as follows, and thus enable the [Supplemental] IDL.

        - Previous build flow:
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl;
                generate-bindings.pl reads $idl;
                generate-bindings.pl generates .h and .cpp files for $idl;
            }

        - New build flow (See the discussions in bug 72138 for more details):
            resolve-supplemental.pl depends on all IDL files;
            resolve-supplemental.pl reads all IDL files;
            resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
            resolve-supplemental.pl outputs supplemental_dependency.tmp;
            foreach $idl (all IDL files) {
                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                generate-bindings.pl reads $idl;
                generate-bindings.pl reads supplemental_dependency.tmp;
                generate-bindings.pl generates .h and .cpp files for $idl,
                    including all attributes in the IDL files that are implementing $idl;
            }

        Tests: Confirm that build succeeds.
               http/tests/websocket/tests/*

        * DerivedSources.make: Described the build flow as described above.
        Added a list of IDL files. Instead, removed a list of JS*.h and JS*.cpp
        which are generated by the IDL files.

2011-12-22  Eric Uhrhane  <ericu@chromium.org>

        [filesystem] Remove old filesystem naming restrictions
        https://bugs.webkit.org/show_bug.cgi?id=62813

        Reviewed by David Levin.

        * fileapi/DOMFilePath.cpp:
        (WebCore::DOMFilePath::isValidPath): Replace strict restrictions with
        minimal safety [no files named "." or "..", no use of '\\' or '\0' in
        paths, no use of '/' in file names].

2011-12-22  Greg Billock  <gbillock@google.com>

        [Coverity] Address use-after-free report in MemoryCache
        https://bugs.webkit.org/show_bug.cgi?id=74970

        Reviewed by Eric Seidel.

        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::revalidationSucceeded):

2011-12-22  Tom Sepez  <tsepez@chromium.org>

        XSLT-created HTML documents do not inherit first party for cookies from originally loaded XML.
        https://bugs.webkit.org/show_bug.cgi?id=74757

        Reviewed by Alexey Proskuryakov.

        Tests: http/tests/security/cookies/first-party-cookie-allow-xslt.xml
               http/tests/security/cookies/third-party-cookie-blocking-xslt.xml

        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

2011-12-22  Daniel Jalkut  <jalkut@red-sweater.com>

        WebKit editing throws exception when monochrome color dragged onto text
        https://bugs.webkit.org/show_bug.cgi?id=74775

        Reviewed by Ryosuke Niwa.

        Handle non-RGB colorspace colors in the Mac platform drag manager. Fixes NSException thrown 
        when dragging monochrome colors to contentEditable regions.

        Manual test added to trunk/ManualTests/drag-color-to-contenteditable.html

        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::asColor):

2011-12-22  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: generate anonymous types.
        https://bugs.webkit.org/show_bug.cgi?id=74890

        Reviewed by Yury Semikhatsky.

        Anonymous types are generated. Forward declarations are generated.

        In general it now generates C++ types for anonymous object types from
        JSON. It takes a name from the type declaration site, usually a
        parameter name. This all is explained in comments in generated file. Also
        all generated types now refer to other generated types in setter
        methods -- but this is commented out in generated code for now. All
        necessary forward declarations are also added. Anonymous enums are
        generated, but they are in comments too, because we didn't have
        solution about form the enums should have in C++ API.

        Internally:
        The change reorganizes type bindings — a polymorphous "code generator"
        object is factored out from binding.
        A helper class Writer is added to allow generating code with ajustable
        indentations and to support insertion points where additional code can
        be inserted retroactively.
        ForwardListener class is used for preparing necessary forward
        declarations.
        AdHocTypeContext conception is a speculative abstract class that is
        needed wherever anonymous type can emerge.

        * inspector/CodeGeneratorInspector.py:
        (fix_type_name.Result.output_comment):
        (Writer.__init__):
        (Writer.newline):
        (Writer.append):
        (Writer.newline_multiline):
        (Writer.append_multiline):
        (Writer.get_indented):
        (Writer):
        (Writer.insert_writer):
        (TypeBindings.create_named_type_declaration.Helper.write_doc):
        (TypeBindings.create_named_type_declaration.Helper):
        (TypeBindings.create_named_type_declaration.Helper.add_to_forward_listener):
        (TypeBindings.create_named_type_declaration):
        (TypeBindings.create_ad_hoc_type_declaration.Helper.write_doc):
        (TypeBindings.create_ad_hoc_type_declaration.Helper):
        (TypeBindings.create_ad_hoc_type_declaration.Helper.add_to_forward_listener):
        (TypeBindings.create_ad_hoc_type_declaration):
        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator):
        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.register_use):
        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
        (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.generate_type_builder.String):
        (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.generate_type_builder):
        (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator):
        (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.register_use):
        (TypeBindings.create_type_declaration_.PlainString.get_code_generator):
        (TypeBindings.create_type_declaration_.PlainString.get_in_c_type_text.name):
        (TypeBindings.create_type_declaration_.PlainString):
        (TypeBindings.create_type_declaration_):
        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator):
        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
        (AdHocTypeContextImpl.__init__):
        (AdHocTypeContextImpl.get_type_name_fix.NameFix):
        (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
        (AdHocTypeContextImpl.get_type_name_fix):
        (AdHocTypeContextImpl):
        (AdHocTypeContextImpl.call_generate_type_builder):
        (generate_forward_declaration):
        (register_use):
        (get_in_c_type_text):
        (reduce_to_raw_type):
        (PlainObjectBinding.get_code_generator):
        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
        (CodeGenerator.generate_type_builder.AdHocTypeContext):
        (CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
        (CodeGenerator.generate_type_builder):
        (CodeGenerator):
        (CodeGenerator.register_use):
        (RawTypesBinding.get_code_generator):
        (RawTypesBinding.get_in_c_type_text):
        (RawTypesBinding):
        (RawTypesBinding.reduce_to_raw_type):
        (TypeData.__init__):
        (TypeData.get_json_type):
        (resolve_param_type):
        (Generator.go):
        (Generator.process_event.NoOpForwardListener):
        (Generator.process_event.NoOpForwardListener.add_type_data):
        (Generator.process_event.AdHocTypeContext.get_type_name_fix.NameFix):
        (Generator.process_event.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
        (Generator.process_event.AdHocTypeContext.get_type_name_fix):
        (Generator.process_event.AdHocTypeContext):
        (Generator.process_event.AdHocTypeContext.call_generate_type_builder):
        (Generator.process_event):
        (Generator.process_types.ForwardListener):
        (Generator.process_types.ForwardListener.add_type_data):
        (Generator.process_types.generate_all_domains_code.namespace_lazy_generator):
        (Generator.process_types.generate_all_domains_code):
        (Generator.process_types.call_type_builder):
        (Generator.process_types.generate_forward_callback):
        (Generator):
        (Generator.process_types):
        (flatten_list.fill_recursive):
        (flatten_list):

2011-12-22  Hans Muller  <hmuller@adobe.com>

        Onloadend event is not supported in XMLHttpRequest
        https://bugs.webkit.org/show_bug.cgi?id=40952

        Reviewed by Julien Chaffraix.

        Added support for the loadend ProgressEvent to XMLHttpRequest and XMLHttpRequestUpload.
        A new method, dispatchEventAndLoadEnd(), was added to XMLHttpRequestProgressEventThrottle
        and XMLHttpRequestUpload to foolproof the common case of dispatching a load, abort,
        or error event followed by a loadend event.

        Tests: http/tests/xmlhttprequest/onloadend-event-after-abort.html
               http/tests/xmlhttprequest/onloadend-event-after-error.html
               http/tests/xmlhttprequest/onloadend-event-after-load.html
               http/tests/xmlhttprequest/onloadend-event-after-sync-requests.html
               http/tests/xmlhttprequest/upload-onloadend-event-after-abort.html
               http/tests/xmlhttprequest/upload-onloadend-event-after-load.html
               http/tests/xmlhttprequest/upload-onloadend-event-after-sync-requests.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::networkError):
        (WebCore::XMLHttpRequest::abortError):
        (WebCore::XMLHttpRequest::didSendData):
        * xml/XMLHttpRequest.h:
        * xml/XMLHttpRequest.idl:
        * xml/XMLHttpRequestProgressEventThrottle.cpp:
        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadEnd):
        * xml/XMLHttpRequestProgressEventThrottle.h:
        * xml/XMLHttpRequestUpload.cpp:
        (WebCore::XMLHttpRequestUpload::dispatchEventAndLoadEnd):
        * xml/XMLHttpRequestUpload.h:
        * xml/XMLHttpRequestUpload.idl:

2011-12-22  Mark Pilgrim  <pilgrim@chromium.org>

        [FileSystem API] Entry.getMetadata successCallback is required
        https://bugs.webkit.org/show_bug.cgi?id=69638

        Reviewed by Eric Seidel.

        Test: fast/filesystem/simple-required-arguments-getmetadata.html

        * fileapi/Entry.idl: remove [Optional] flag from successCallback parameter

2011-12-22  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed, rolling out r103405.
        http://trac.webkit.org/changeset/103405
        https://bugs.webkit.org/show_bug.cgi?id=74088

        it broke WorkerDevToolsSanityTest.InspectSharedWorker

        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode):
        * inspector/front-end/Script.js:
        (WebInspector.Script):
        (WebInspector.Script.prototype.searchInContent):

2011-12-21  Darin Adler  <darin@apple.com>

        Make ~CSSParserSelector use Vector<OwnPtr>
        https://bugs.webkit.org/show_bug.cgi?id=73782

        Reviewed by Alexey Proskuryakov.

        * css/CSSParserValues.cpp:
        (WebCore::CSSParserSelector::~CSSParserSelector): Use Vector<OwnPtr>
        so we don't have to call leakPtr or deleteAllValues.

2011-12-21  Yosifumi Inoue  <yosin@chromium.org>

        [Forms] Selection change by type-ahead doesn't fire 'change' event
        https://bugs.webkit.org/show_bug.cgi?id=74590

        Reviewed by Kent Tamura.

        This patch changes when onchange event fired in select element for:
        1 Fire onchange event for type ahead selection.
        2 Don't fire onchange event for Enter key. We've already fired onchange event for cursor key
          and type ahead selection. So, onchange for Enter key is redundant. This behavior is 
          compatible to IE(9.0.8112.16421) and Opera(9.80) on Windows. FF(8.01) doesn't fire onchange
          by cursor key selection change and type ahead. FF requires Enter key press to fire onchange
          event.

        Test: fast/forms/select/menulist-type-ahead-find.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't fire onchange event for Entry key.
        (WebCore::HTMLSelectElement::typeAheadFind): Add DispatchChangeEvent when
        calling selectOption method.

2011-12-21  Darin Adler  <darin@apple.com>

        Tweak and comment some transform-related code
        https://bugs.webkit.org/show_bug.cgi?id=68670

        Reviewed by Daniel Bates.

        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint): Added a FIXME about additional overhead paid here
        when the scale factor is 2x.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow): Added a FIXME about this check possibly
        being wrong, and also changed the local vairable name so the check need not stretch over
        multiple lines.

2011-12-21  Kent Tamura  <tkent@chromium.org>

        Change the item type of Document::m_formElementsWithState from Element*
        to HTMLFormControlElementWithState*.
        https://bugs.webkit.org/show_bug.cgi?id=74998

        Reviewed by Andreas Kling.

        No new tests. Just refactoring.

        * dom/Document.cpp:
        (WebCore::Document::formElementsState): Use HTMLFormControlElementWithState*.
        * dom/Document.h:
        (WebCore::Document::registerFormElementWithState): Change the argument type.
        (WebCore::Document::unregisterFormElementWithState): ditto.
        (WebCore::Document::formElements): Renamed from getFormElements().
        * dom/Element.h:
        Removed shouldSaveAndRestoreFormControlState(), saveFormControlState(),
        and restoreFormControlState() because they are not called for Element
        anymore.
        * html/HTMLFormControlElement.h:
        - Make formControlName() and formControlType() public.
         They are called from Document class.
        - Make shouldSaveAndRestoreFormControlState() public, and non-virtual.
         This is called from Document class, and no other classes override this.
        (WebCore::HTMLFormControlElementWithState::saveFormControlState):
        Moved from Element.
        (WebCore::HTMLFormControlElementWithState::restoreFormControlState): ditto.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
        Use HTMLFormControlElementWithState* instead of Element*.

2011-12-21  Alexandre Elias  <aelias@google.com>

        [chromium] Always use border texels on platforms using pageScaleDelta
        https://bugs.webkit.org/show_bug.cgi?id=74226

        Reviewed by James Robinson.

        On platforms where the root layer can be zoomed in at draw time
        (pageScaleDelta), we want to turn on border texels in order for
        scaling to use GL_LINEAR instead of GL_NEAREST.

        No new tests. (Flag flip.)

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdate):

2011-12-21  Dale Curtis  <dalecurtis@chromium.org>

        [chromium] Scale audio, video tags in MediaDocument to fit in window.
        https://bugs.webkit.org/show_bug.cgi?id=73948

        Add CSS max-height: 100%, max-width: 100% settings to the audio and
        video tags when in MediaDocuments.

        Reviewed by Eric Seidel.

        Test: media/video-scales-in-media-document.html

        * css/mediaControlsChromium.css:
        (audio:-webkit-full-page-media, video:-webkit-full-page-media):

2011-12-21  Konrad Piascik  <kpiascik@rim.com>

        Implement the JavaScriptCore bindings for eventListenerHandlerLocation
        https://bugs.webkit.org/show_bug.cgi?id=74313

        Reviewed by Eric Seidel.

        Implemented the JavaScriptCore binding to allow Web Inspector to
        show the function name and line number for an event listener in
        the Elements panel.

        Tested by opening up a page which has a registered event listener in Safari
        and checking if the Elements panel script name and line number are present
        and clickable.

        * ForwardingHeaders/runtime/Executable.h: Added.
        * ForwardingHeaders/wtf/SegmentedVector.h: Added.
        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerLocation):

2011-12-21  Chris Guan  <chris.guan@torchmobile.com.cn>

        Upstream the Multipart feature in Blackberry port
        https://bugs.webkit.org/show_bug.cgi?id=73533

        Reviewed by Rob Buis.

        I refactored Multipart code of Blackberry port. Moved Multipart into
        Blackerry network layer and removed the dependence of std::string.

        Initial upstream, no new test cases.

        * platform/network/blackberry/DeferredData.cpp:
        (WebCore::DeferredData::deferMultipartHeaderReceived):
        (WebCore::DeferredData::processHeaders):
        (WebCore::DeferredData::processDeferredData):
        * platform/network/blackberry/DeferredData.h:
        (WebCore::DeferredData::hasDeferredData):
        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::notifyMultipartHeaderReceived):
        (WebCore::NetworkJob::handleNotifyMultipartHeaderReceived):
        (WebCore::NetworkJob::handleNotifyDataReceived):
        (WebCore::NetworkJob::handleNotifyClose):
        (WebCore::NetworkJob::startNewJobWithRequest):
        (WebCore::NetworkJob::sendResponseIfNeeded):
        (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
        * platform/network/blackberry/NetworkJob.h:

2011-12-21  Eric Carlson  <eric.carlson@apple.com>

        Fix text track cue font size and colors
        https://bugs.webkit.org/show_bug.cgi?id=75051

        Reviewed by Darin Adler.

        No new tests, updated media/track/track-cue-rendering.html for the changes.

        * css/mediaControls.css:
        (video::-webkit-media-text-track-container): Match WebVTT spec.
        (video::-webkit-media-text-track-display): Ditto.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlTextTrackContainerElement::updateSizes): Change font size from  4% of the
            video height to 5% as per the spec. Don't enforce a minimum size.

2011-12-21  Andreas Kling  <kling@webkit.org>

        Unreviewed, rolling out r103473.
        http://trac.webkit.org/changeset/103473
        https://bugs.webkit.org/show_bug.cgi?id=74991

        Overestimated my superpowers a bit here.

        * dom/Element.cpp:
        (WebCore::Element::attributeChanged):
        (WebCore::Element::insertedIntoDocument):
        (WebCore::Element::removedFromDocument):
        * dom/Element.h:
        (WebCore::Element::updateId):
        (WebCore::Element::willModifyAttribute):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setAttributes):
        * dom/Node.h:
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::parseMappedAttribute):
        (WebCore::HTMLAppletElement::insertedIntoDocument):
        (WebCore::HTMLAppletElement::removedFromDocument):
        * html/HTMLAppletElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        (WebCore::HTMLEmbedElement::insertedIntoDocument):
        (WebCore::HTMLEmbedElement::removedFromDocument):
        * html/HTMLEmbedElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::insertedIntoDocument):
        (WebCore::HTMLFormElement::removedFromDocument):
        (WebCore::HTMLFormElement::parseMappedAttribute):
        * html/HTMLFormElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute):
        (WebCore::HTMLImageElement::insertedIntoDocument):
        (WebCore::HTMLImageElement::removedFromDocument):
        * html/HTMLImageElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::insertedIntoDocument):
        (WebCore::HTMLObjectElement::removedFromDocument):
        (WebCore::HTMLObjectElement::updateDocNamedItem):
        (WebCore::HTMLObjectElement::formControlName):
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInElement.h:

2011-12-21  Simon Fraser  <simon.fraser@apple.com>

        Clean up RenderLayer code that applies filters and transforms
        https://bugs.webkit.org/show_bug.cgi?id=75032
        
        This also fixes:
            Nested filters not working as expected
            https://bugs.webkit.org/show_bug.cgi?id=75029
            
            Filter region is computed incorrectly
            https://bugs.webkit.org/show_bug.cgi?id=74889

        Reviewed by James Robinson.

        RenderLayer::paintLayer() had this confusing behavior where,
        for transforms, it would change the CTM and then re-enter
        the method with a bit set. This was partially, but incorrectly
        copied for filters, so things like nested filters didn't work,
        and the case of a filter + transform was confused.
        
        Clean up by making RenderLayer::paintLayer() be a fairly simple
        method that handles the re-entering with bit set, for both
        transforms and filters. The bulk of the code in RenderLayer::paintLayer()
        is now in RenderLayer::paintLayerContents(). There is no
        behavior change for transforms.
        
        There are two fixes for filters. First, instead of just using
        the layer size to compute the bounds of the filtered region,
        use transparencyClipBox() which already takes descendents, box
        decorations etc into account (it's what we use for opacity).
        Some cleanup of the coordinate math, and separation from transforms
        code was also achieved.
        
        Second, make sure we toggle off the PaintLayerAppliedFilters bit
        (which was renamed for clarity) for sublayers, so that sublayers
        paint their filters correctly.

        Tests: css3/filters/filter-region.html
               css3/filters/nested-filters.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::paintLayerContents):
        (WebCore::RenderLayer::updateFilterBackingStore):
        * rendering/RenderLayer.h:

2011-12-21  Per-Erik Brodin  <per-erik.brodin@ericsson.com>

        Discard event data not followed by an empty line before eof when parsing an event-stream
        https://bugs.webkit.org/show_bug.cgi?id=68833

        Reviewed by Alexey Proskuryakov.

        Test: http/tests/eventsource/eventsource-eof.html

        * page/EventSource.cpp:
        (WebCore::EventSource::didFinishLoading):
        (WebCore::EventSource::parseEventStreamLine):
        * page/EventSource.h:

2011-12-21  Andreas Kling  <kling@webkit.org>

        Automate elements' registration as document namedItem/extraNamedItem.
        <http://webkit.org/b/74991>

        Reviewed by Antti Koivisto.

        Remove caching of the "id" and "name" attributes on applet, embed, form,
        image and object elements. We were caching them to keep the document's
        map of named and "extra named" (named by id) item counts in sync.

        Instead, add a hook to Element::willModifyAttribute() that detects when
        the attributes are being changed and handle the registration/unregistration
        automatically if the element returns true for shouldRegisterAsNamedItem()
        or shouldRegisterAsExtraNamedItem() respectively.

        This shrinks the elements by two AtomicStrings (8 or 16 bytes) each.

        IFrame elements retain the old mechanism for now, as there are some subtle
        differences to how that's handled.

        * dom/Node.h:
        (WebCore::Node::hasName):
        (WebCore::Node::setHasName):

            Cache whether we have a "name" attribute or not (1 bit on Node.)
            This is done in order to minimize the overhead added to Element's
            insertedIntoDocument() and removeFromDocument().

        * dom/Element.cpp:
        (WebCore::Element::updateNamedItemRegistration):
        (WebCore::Element::updateExtraNamedItemRegistration):

            Added. Called when the "name" and "id" attributes are changed.
            Updates the document's named item maps accordingly.

        (WebCore::Element::insertedIntoDocument):
        (WebCore::Element::removedFromDocument):

            Make sure updateName() is called in addition to updateId() when applicable.

        (WebCore::Element::attributeChanged):

            Update the Node's has-name flag as appropriate.

        * dom/Element.h:
        (WebCore::Element::shouldRegisterAsNamedItem):
        (WebCore::Element::shouldRegisterAsExtraNamedItem):

            Added. If an element returns true for these, it will be automatically
            registered with the document when the name/id attribute changes.

        (WebCore::Element::updateId):
        (WebCore::Element::updateName):

            Register/unregister from the document's named item maps as appropriate.

        (WebCore::Element::willModifyAttribute):

            Add updateName() hook in addition to the existing updateId() hook.

        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setAttributes):

            Make sure updateName() is called when we're cloning the attributes
            from another element.

        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::parseMappedAttribute):
        * html/HTMLAppletElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        (WebCore::HTMLEmbedElement::insertedIntoDocument):
        * html/HTMLEmbedElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::insertedIntoDocument):
        (WebCore::HTMLFormElement::removedFromDocument):
        (WebCore::HTMLFormElement::parseMappedAttribute):
        * html/HTMLFormElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute):
        (WebCore::HTMLImageElement::insertedIntoDocument):
        * html/HTMLImageElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::insertedIntoDocument):
        (WebCore::HTMLObjectElement::removedFromDocument):
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInElement.h:

            Remove duplicated code that is now handled by Element.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateDocNamedItem):
        (WebCore::HTMLObjectElement::formControlName):

            Use fastGetAttribute() since we no longer cache the name.

2011-12-21  Wyatt Carss  <wcarss@chromium.org>

        Reviewed by Ryosuke Niwa.

        strong and b should be font-weight: bold, not bolder
        https://bugs.webkit.org/show_bug.cgi?id=56400

        Test: fast/html/font-weight-bold-for-b-and-strong.html

        * css/html.css:
        (strong, b):

2011-12-21  Florin Malita  <fmalita@google.com>

        Improper handling of foreignobjects nested in svg groups
        https://bugs.webkit.org/show_bug.cgi?id=69762

        Reviewed by Nikolas Zimmermann.

        Tests: svg/foreignObject/repaint-rect-coordinates-expected.html
               svg/foreignObject/repaint-rect-coordinates.html

        * rendering/svg/RenderSVGForeignObject.h:
        (WebCore::RenderSVGForeignObject::objectBoundingBox):
        (WebCore::RenderSVGForeignObject::strokeBoundingBox):
        (WebCore::RenderSVGForeignObject::repaintRectInLocalCoordinates):
        Return local coordinates.

2011-12-21  Anders Carlsson  <andersca@apple.com>

        Make it possible to use contents layers in scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=75044

        Reviewed by Simon Fraser.

        * page/ScrollingCoordinator.h:
        * page/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
        Don't pass const GraphicsLayers to these member functions; we need to be able to mutate them.

        * platform/ScrollView.cpp:
        (positionScrollbarLayer):
        If the scrollbar layer has a contents layer, just update its contents rect. Otherwise,
        invalidate the scrollbar layer.

2011-12-21  Anders Carlsson  <andersca@apple.com>

        Always reposition the scrollbar layers when the frame view size changes
        https://bugs.webkit.org/show_bug.cgi?id=75035

        Reviewed by Darin Adler.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
        Remove the layersChanged check and unconditionally call positionScrollbarLayers(). This only
        worked by accident before because we were recreating horizontal and vertical scrollbars on every call.

2011-12-21  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        [EFL] Add 'Select All' option to context menus in WebKit-EFL.
        https://bugs.webkit.org/show_bug.cgi?id=74920

        Reviewed by Eric Seidel.

        Enable 'Select All' option to context menus called on input fields in WebKit-EFL
        as it is enabled in GTK and QT ports.

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected): Add 'Select All' option.
        (WebCore::ContextMenuController::populate): Append 'Select All' item.
        (WebCore::ContextMenuController::checkOrEnableIfNeeded): Enable 'Select All' option.
        * platform/ContextMenuItem.h: Add 'Select All' option.
        * platform/LocalizationStrategy.h: Add constructor for 'Select All' option.
        * platform/LocalizedStrings.h: Add constructor for 'Select All' option.

2011-12-20  Adam Klein  <adamk@chromium.org>

        Make calls to willModifyAttribute and attributeChanged symmetrical
        https://bugs.webkit.org/show_bug.cgi?id=74987

        Reviewed by Ryosuke Niwa.

        Previously, calls to Element::willModifyAttribute sometimes happened
        in one method while calls to Element::attributeChanged happened in
        another. This change makes them symmetrical for all the cases I know
        about: setAttribute, removeAttribute, setNamedItem, removeNamedItem.

        To accomplish this, NamedNodeMap::addAttribute, removeAttribute, and
        replaceAttribute have been reduced to their pure functionality of
        manipulating m_attributes, and their callers are left responsible for
        properly notifying the Element of the underlying changes.

        One other bit of refactoring was done: to simplify
        Element::setAttribute, it now dispatches to
        Element::removeAttributeInternal if the incoming value is null.

        No new tests, no change in behavior.

        * dom/Attribute.h:
        * dom/Element.cpp:
        (WebCore::Element::removeAttribute):
        (WebCore::Element::removeAttributeInternal): Added, sharing code
        between the two removeAttribute overloads.
        (WebCore::Element::setAttributeInternal):
        * dom/Element.h:
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setNamedItem):
        (WebCore::NamedNodeMap::removeNamedItem):
        (WebCore::NamedNodeMap::addAttribute):
        (WebCore::NamedNodeMap::removeAttribute):
        (WebCore::NamedNodeMap::replaceAttribute):
        * svg/properties/SVGAnimatedPropertySynchronizer.h:
        Call Element::setAttribute unless the attribute is already present,
        and add a comment explaining why the code looks the way it does.

2011-12-21  Adrienne Walker  <enne@google.com>

        Unreviewed, rolling out r103408.
        http://trac.webkit.org/changeset/103408
        https://bugs.webkit.org/show_bug.cgi?id=75017

        WorkerDevToolsSanityTest.InspectSharedWorker is failing
        (Requested by loislo_ on #webkit).

        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.ClosureCompilerSourceMapping):
        (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.setCompilerSourceMapping):
        * inspector/front-end/utilities.js:
        (String.prototype.asParsedURL):

2011-12-21  Stephen White  <senorblanco@chromium.org>

        Fix CSS filters crash on zero-sized elements.
        https://bugs.webkit.org/show_bug.cgi?id=75020

        Reviewed by Dean Jackson.

        Test: css3/filters/filter-empty-element-crash.html

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::inputContext):
        Protect against null ImageBuffer.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        Protect against null GraphicsContext.

2011-12-21  Anders Carlsson  <andersca@apple.com>

        Inform the scrolling coordinator when scrollbar layers come and go
        https://bugs.webkit.org/show_bug.cgi?id=75028

        Reviewed by Andreas Kling and Simon Fraser.

        * page/ScrollingCoordinator.h:
        * page/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinator::setFrameViewHorizontalScrollbarLayer):
        (WebCore::ScrollingCoordinator::setFrameViewVerticalScrollbarLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

2011-12-20  Dmitry Lomov  <dslomov@google.com>

        [Chromium] DatabaseTrackerChromium: iterating DatabaseSet races with Database disposal on worker thread 
        https://bugs.webkit.org/show_bug.cgi?id=74554

        Reviewed by David Levin.

        Covered by existing tests in fast/workers/storage.

        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::NotifyDatabaseObserverOnCloseTask::create):
        (WebCore::NotifyDatabaseObserverOnCloseTask::performTask):
        (WebCore::NotifyDatabaseObserverOnCloseTask::isCleanupTask):
        (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
        (WebCore::DatabaseTracker::removeOpenDatabase):

2011-12-21  Eric Carlson  <eric.carlson@apple.com>

        HTMLMediaElement::configureTextTrackDisplay is unnecessary
        https://bugs.webkit.org/show_bug.cgi?id=74945

        Reviewed by Darin Adler.

        Nothing to test, just removing redundant code. Correct behavior tested by 
        media/track/track-cue-rendering.html and media/track/track-cue-nothing-to-render.html.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::configureTextTrackDisplay): Don't show and hide track, just call
            updateTextTrackDisplay and it will do the right thing.

2011-12-21  Anders Carlsson  <andersca@apple.com>

        ScrollingCoordinator functions should take FrameView objects
        https://bugs.webkit.org/show_bug.cgi?id=75023

        Reviewed by Sam Weinig.

        * page/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::syncFrameViewGeometry):
        * page/ScrollingCoordinator.h:
        * page/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinator::setFrameViewScrollLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
        (WebCore::RenderLayerCompositor::ensureRootLayer):

2011-12-21  Anders Carlsson  <andersca@apple.com>

        Get rid of ScrollableAreaClient
        https://bugs.webkit.org/show_bug.cgi?id=75021

        Reviewed by Sam Weinig.

        The ScrollableAreaClient interface will just add an extra level of indirection between ScrollableArea and
        ScrollAnimator, which is unnecessary. Eventually I'd like to rename ScrollAnimator to something that better reflects
        all the different responsibilities it currently has.

        * WebCore.exp.in:
        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        * page/ScrollingCoordinator.cpp:
        * page/ScrollingCoordinator.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::ScrollView):
        * platform/ScrollView.h:
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::ScrollableArea):
        * platform/ScrollableArea.h:
        * platform/ScrollableAreaClient.h: Removed.

2011-12-21  Anders Carlsson  <andersca@apple.com>

        Don't recreate scrollbar layers whenever the frame view size changes
        https://bugs.webkit.org/show_bug.cgi?id=75018

        Reviewed by Darin Adler and Simon Fraser.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

2011-12-20  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extension API] refactor extension API build code, expose experimental APIs conditionally in chromium
        https://bugs.webkit.org/show_bug.cgi?id=74941

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * inspector/front-end/ExtensionAPI.js:
        (buildPlatformExtensionAPI.platformExtensionAPI):
        (buildPlatformExtensionAPI):
        (buildExtensionAPIInjectedScript):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionServer.prototype._addExtension):
        (window.addExtension):

2011-12-12  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: fix source map url resolving.
        https://bugs.webkit.org/show_bug.cgi?id=74305

        Reviewed by Pavel Feldman.

        Also fix the bug with repeated source urls in mapping sections.

        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.ClosureCompilerSourceMapping):
        (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
        (WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
        * inspector/front-end/utilities.js:
        (String.prototype.asParsedURL):

2011-12-21  Renata Hodovan  <reni@webkit.org>

        New renderer for SVGRectElement
        https://bugs.webkit.org/show_bug.cgi?id=65769

        Rubber-stamped by Zoltan Herczeg.

        Change the return value of RenderSVGRect::renderName() from RenderSVGPath to RenderSVGRect.
        This is a follow-up patch of r101517 to correct the DRT output.

        * rendering/svg/RenderSVGRect.h:
        (WebCore::RenderSVGRect::renderName):

2011-12-21  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: TabbedPane should use tabElement width measuring to layout tab elements when width is too small to fit them.
        https://bugs.webkit.org/show_bug.cgi?id=75005

        Reviewed by Pavel Feldman.

        Test: inspector/tabbed-pane-max-tab-width-calculation.html

        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView.prototype.wasShown):
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane):
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype._createTabElement):
        (WebInspector.TabbedPane.prototype.onResize):
        (WebInspector.TabbedPane.prototype._maybeMeasureAndUpdate):
        (WebInspector.TabbedPane.prototype._measureTab):
        (WebInspector.TabbedPane.prototype._updateWidths):
        (WebInspector.TabbedPane.prototype._calculateMaxWidth):
        (WebInspector.TabbedPaneTab):
        * inspector/front-end/inspector.css:
        (.tabbed-pane-header):
        (.tabbed-pane-header-tabs):
        (.tabbed-pane-header-tab):
        (.tabbed-pane-header-tab.measuring):
        (.tabbed-pane-header-tab.selected):
        * inspector/front-end/scriptsPanel.css:
        (#scripts-navigator-tabbed-pane .tabbed-pane-header-tabs):

2011-12-09  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: auto detect source map url.
        https://bugs.webkit.org/show_bug.cgi?id=74088

        Reviewed by Pavel Feldman.

        Check to see if "X-SourceMap" HTTP response header was sent with script resource.
        Header value will be used as auto suggestion for source map url in UI.

        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode):
        * inspector/front-end/Script.js:
        (WebInspector.Script):

2011-12-21  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Mobile theme refinements
        https://bugs.webkit.org/show_bug.cgi?id=74727

        Mostly to replace most of the rounded-rect-shaped
        controls with squircle-shaped ones.

        Reviewed by Kenneth Rohde Christiansen.

        No new tests needed.

        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore::drawControlBackground):
        (WebCore::painterScale):
        (WebCore::borderPen):
        (WebCore::StylePainterMobile::drawCheckableBackground): Toned down the gradient a bit.
        (WebCore::StylePainterMobile::findCheckBox):
        (WebCore::StylePainterMobile::drawRadio):
        (WebCore::StylePainterMobile::findRadio):
        (WebCore::StylePainterMobile::drawMultipleComboButton): increase spacing between the dots.
        (WebCore::StylePainterMobile::drawSimpleComboButton): attempt to improve readability.
        (WebCore::StylePainterMobile::getButtonImageSize):
        (WebCore::StylePainterMobile::findComboButton):
        (WebCore::StylePainterMobile::drawLineEdit):
        (WebCore::StylePainterMobile::findLineEdit):
        (WebCore::StylePainterMobile::drawPushButton):
        (WebCore::StylePainterMobile::findPushButton):
        (WebCore::StylePainterMobile::drawComboBox):
        (WebCore::StylePainterMobile::drawProgress):
        (WebCore::StylePainterMobile::drawSliderThumb):
        (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQtMobile::paintTextField):
        * platform/qt/RenderThemeQtMobile.h:

2011-12-21  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: CSSStyleSheet::cssRules can return 0 and InspectorStyleSheet dosen't check
        https://bugs.webkit.org/show_bug.cgi?id=74938

        Prevent security checks when retrieving a just-added CSS rule from the "inspector stylesheet".

        Reviewed by Pavel Feldman.

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::addRule):

2011-12-21  Renata Hodovan  <reni@webkit.org>

        Fulfill FIXME in  HTMLLinkElement.h.
        https://bugs.webkit.org/show_bug.cgi?id=74278

        Rename isStyleSheetLoading() method to styleSheetIsLoading().
        This new one has the correct grammar.

        Reviewed by Darin Adler.

        No new tests because the functionality remains the same.

        * dom/Document.cpp:
        (WebCore::Document::recalcStyleSelector):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setDisabledState):
        (WebCore::HTMLLinkElement::styleSheetIsLoading):
        (WebCore::HTMLLinkElement::sheetLoaded):
        * html/HTMLLinkElement.h:

2011-12-21  Yosifumi Inoue  <yosin@chromium.org>

        [Forms] Add OVERRIDE to WebCore/html/*InputType.h
        https://bugs.webkit.org/show_bug.cgi?id=74996

        Reviewed by Kent Tamura.

        No new tests. Changes are just for compilation.

        * html/BaseButtonInputType.h: Add OVERRIDE.
        * html/BaseCheckableInputType.h: Add OVERRIDE.
        * html/BaseDateAndTimeInputType.h: Add OVERRIDE.
        * html/BaseTextInputType.h: Add OVERRIDE.
        * html/ButtonInputType.h: Add OVERRIDE.
        * html/CheckboxInputType.h: Add OVERRIDE.
        * html/ColorInputType.h: Add OVERRIDE.
        * html/DateInputType.h: Add OVERRIDE.
        * html/DateTimeInputType.h: Add OVERRIDE.
        * html/DateTimeLocalInputType.h: Add OVERRIDE.
        * html/EmailInputType.h: Add OVERRIDE.
        * html/FileInputType.h: Add OVERRIDE.
        * html/HiddenInputType.h: Add OVERRIDE.
        * html/ImageInputType.h: Add OVERRIDE.
        * html/IsIndexInputType.h: Add OVERRIDE.
        * html/MonthInputType.h: Add OVERRIDE.
        * html/NumberInputType.h: Add OVERRIDE.
        * html/PasswordInputType.h: Add OVERRIDE.
        * html/RadioInputType.h: Add OVERRIDE.
        * html/RangeInputType.h: Add OVERRIDE.
        * html/ResetInputType.h: Add OVERRIDE.
        * html/SearchInputType.h: Add OVERRIDE.
        * html/SubmitInputType.h: Add OVERRIDE.
        * html/TelephoneInputType.h: Add OVERRIDE.
        * html/TextFieldInputType.h: Add OVERRIDE.
        * html/TextInputType.h: Add OVERRIDE.
        * html/TimeInputType.h: Add OVERRIDE.
        * html/URLInputType.h: Add OVERRIDE.
        * html/WeekInputType.h: Add OVERRIDE.

2011-12-21  Matt Falkenhagen  <falken@chromium.org>

        Add all ICU languages to LocaleToScriptMappingDefault.cpp
        https://bugs.webkit.org/show_bug.cgi?id=67274

        Reviewed by Kent Tamura.

        This better mimics the behavior of LocaleToScriptMappingICU.cpp. ICU
        languages from ICU 3.6 are added. Also, script suffix in locale is
        handled, so for example "fa_Latn" is mapped to Latin while "fa" is mapped to
        Arabic.

        No new tests, there is no visible effect until default per-script fonts
        are added to non-ICU ports (alternatively, we could extend DumpRenderTree 
        to support overridePreference for per-script fonts as in bug 71110).

        * platform/text/LocaleToScriptMappingDefault.cpp:
        (WebCore::getScriptCode): add script name to script code mapping
        (WebCore::localeToScriptCodeForFontSelection): add ICU languages to map 

2011-12-20  Mary Wu  <mary.wu@torchmobile.com.cn>

        Upstream PageClientBlackBerry.h into WebCore/platform/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=74169

        Reviewed by Daniel Bates.

        Initial upstream, no new tests.

        * platform/blackberry/PageClientBlackBerry.h: Added.

2011-12-20  Mary Wu  <mary.wu@torchmobile.com.cn>

        Upstream PlatformMouseEvent and LocalizedStrings into WebCore/platform/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=74383

        Reviewed by Daniel Bates.

        Other Main Contributors:
        Rob Buis <rbuis@rim.com>
        Mike Fenton <mifenton@rim.com> 

        Initial upstream, no new tests.

        * PlatformBlackBerry.cmake: Modified to rename Localizations.cpp to LocalizedStringsBlackBerry.cpp
        * platform/blackberry/LocalizedStringsBlackBerry.cpp: Added.
        * platform/blackberry/PlatformMouseEventBlackBerry.cpp: Added.

2011-12-20  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
        https://bugs.webkit.org/show_bug.cgi?id=69366

        Reviewed by Pavel Feldman.

        Generator fixed and all usages are changed manually.

        * inspector/CodeGeneratorInspector.py:
        (RawTypes.BaseType):
        (RawTypes.BaseType.get_output_argument_prefix):
        (RawTypes.Object.get_output_argument_prefix):
        (RawTypes.Array.get_output_argument_prefix):
        (RawTypes):
        (Generator.process_command):
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
        (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::clearFrontend):
        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
        (WebCore::InspectorCSSAgent::getAllStyleSheets):
        (WebCore::InspectorCSSAgent::getStyleSheet):
        (WebCore::InspectorCSSAgent::setPropertyText):
        (WebCore::InspectorCSSAgent::toggleProperty):
        (WebCore::InspectorCSSAgent::setRuleSelector):
        (WebCore::InspectorCSSAgent::addRule):
        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
        (WebCore::InspectorCSSAgent::stopSelectorProfiler):
        (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getDocument):
        (WebCore::InspectorDOMAgent::querySelectorAll):
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::getSearchResults):
        (WebCore::InspectorDOMAgent::resolveNode):
        (WebCore::InspectorDOMAgent::getAttributes):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
        * inspector/InspectorDOMStorageAgent.h:
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
        * inspector/InspectorDatabaseAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::searchInContent):
        (WebCore::InspectorDebuggerAgent::setScriptSource):
        (WebCore::InspectorDebuggerAgent::getFunctionLocation):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
        * inspector/InspectorMemoryAgent.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::getCookies):
        (WebCore::InspectorPageAgent::getResourceTree):
        (WebCore::InspectorPageAgent::searchInResource):
        (WebCore::InspectorPageAgent::searchInResources):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::getProfileHeaders):
        (WebCore::InspectorProfilerAgent::getProfile):
        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::callFunctionOn):
        (WebCore::InspectorRuntimeAgent::getProperties):
        * inspector/InspectorRuntimeAgent.h:

2011-12-20  Eric Penner  <epenner@google.com>

        [chromium] m_triggerIdlePaints not reset after a compositeAndReadback
        https://bugs.webkit.org/show_bug.cgi?id=74974

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::compositeAndReadback):

2011-12-20  David Levin  <levin@chromium.org>

        Move misplaced assert in SQLiteStatement.cpp
        https://bugs.webkit.org/show_bug.cgi?id=74975

        Reviewed by Dmitry Titov.

        The test is coming with bug 74666.

        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::step): If a database was interrupted
        before the prepare method was called, then m_isPrepared will be
        false, so I moved the assert to be after the check for interrupted.

2011-12-20  Eric Carlson  <eric.carlson@apple.com>

        WebVTT cues sometimes render when they should not
        https://bugs.webkit.org/show_bug.cgi?id=74873

        Not reviewed: update Chromium to pass new test added in r103371.

        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::updateTextTrackDisplay):

2011-12-20  Andreas Kling  <kling@webkit.org>

        HTMLOptionsCollection: Remove incorrect FIXME about having a base class.
        <http://webkit.org/b/74973>

        Reviewed by Alexey Proskuryakov.

        HTMLOptionsCollection should indeed inherit from HTMLCollection according to
        current HTML5, so remove the comment saying we should change that.

        Spec: http://www.whatwg.org/specs/web-apps/current-work/#htmloptionscollection

        * html/HTMLOptionsCollection.idl:

2011-12-20  Florin Malita  <fmalita@google.com>

        td element ignores zero width/height input element
        https://bugs.webkit.org/show_bug.cgi?id=74636

        Reviewed by Kent Tamura.

        Test: fast/forms/input-zero-width.html

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::computePreferredLogicalWidths):
        Relax the attribute test to allow setting widths == 0.

2011-12-20  Adam Klein  <adamk@chromium.org>

        Avoid unnecessary work when removing attributes from an element
        https://bugs.webkit.org/show_bug.cgi?id=74953

        Reviewed by Ryosuke Niwa.

        Various codepaths in Element and NamedNodeMap repeatedly search
        through the list of attributes during a single operation. To avoid
        this, I've added new getters to NamedNodeMap that return indices
        rather than Attribute*s (they return WTF::notFound if no match is
        found). These new methods are now used during removeAttribute
        operations, as well as setAttribute and NamedNodeMap::setNamedItem
        (along with a new replaceAttribute helper method).

        The other optimization here involves the creation/destruction
        of never-references Attr nodes. This is now avoided by calling
        NamedNodeMap::removeAttribute directly instead of going through
        NamedNodeMap::removeNamedItem.

        As a cleanup after the above changes, the ExceptionCode argument is
        gone from Element::removeAttribute and friends (it was never set
        previously). The bulk of the files mentioned below are simply updating
        callers to these methods.

        No new tests, no change in behavior expected.

        * dom/DatasetDOMStringMap.cpp:
        (WebCore::DatasetDOMStringMap::deleteItem):
        * dom/Element.cpp:
        (WebCore::Element::removeAttribute):
        (WebCore::Element::setBooleanAttribute):
        (WebCore::Element::removeAttributeNS):
        (WebCore::Element::setAttribute):
        (WebCore::Element::setAttributeInternal):
        * dom/Element.h:
        * dom/Element.idl:
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setNamedItem):
        (WebCore::NamedNodeMap::removeNamedItem):
        (WebCore::NamedNodeMap::getAttributeItemIndexSlowCase):
        (WebCore::NamedNodeMap::replaceAttribute):
        (WebCore::NamedNodeMap::removeAttribute):
        * dom/NamedNodeMap.h:
        (WebCore::NamedNodeMap::getAttributeItem):
        (WebCore::NamedNodeMap::getAttributeItemIndex):
        (WebCore::NamedNodeMap::removeAttribute):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
        * editing/SplitElementCommand.cpp:
        (WebCore::SplitElementCommand::executeApply):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setContentEditable):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setType):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setAttributesAsText):
        (WebCore::InspectorDOMAgent::removeAttribute):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):

2011-12-20  Eric Carlson  <eric.carlson@apple.com>

        WebVTT cues sometimes render when they should not
        https://bugs.webkit.org/show_bug.cgi?id=74873

        Reviewed by Darin Adler.

        Test: media/track/track-cue-nothing-to-render.html

        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::updateTextTrackDisplay): Don't return early if the current
            cue is empty so the previous cue is removed.

2011-12-20  Ami Fischman  <fischman@chromium.org>

        Don't crash on the second time VideoLayerChromium::createCCVideoLayer() is called
        https://bugs.webkit.org/show_bug.cgi?id=74963

        Reviewed by James Robinson.

        Manually tested by force-dropping the layer tree in CCLayerTreeHost::didBecomeInvisibleOnImplThread().
        Crashed before the fix, doesn't crash after.

        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        (WebCore::VideoLayerChromium::~VideoLayerChromium):
        (WebCore::VideoLayerChromium::createCCLayerImpl):
        * platform/graphics/chromium/VideoLayerChromium.h:

2011-12-20  Scott Graham  <scottmg@chromium.org>

        wouldTaintOrigin m_cleanURLs cache grows very large when data urls used
        https://bugs.webkit.org/show_bug.cgi?id=74957

        Reviewed by Kenneth Russell.

        No new tests, but memory usage of CanvasRenderingContext::m_cleanURLs
        is reduced.

        * html/canvas/CanvasRenderingContext.cpp:
        (WebCore::CanvasRenderingContext::wouldTaintOrigin):

2011-12-20  Greg Billock  <gbillock@google.com>

        Change adoptPtr(new ...) to ...::create in Page.cpp
        https://bugs.webkit.org/show_bug.cgi?id=74457

        Reviewed by Darin Adler.

        * dom/DeviceMotionController.cpp:
        (WebCore::DeviceMotionController::create):
        * dom/DeviceMotionController.h:
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::create):
        * dom/DeviceOrientationController.h:
        * editing/FrameSelection.cpp:
        (WebCore::DragCaretController::create):
        * editing/FrameSelection.h:
        * history/BackForwardController.cpp:
        (WebCore::BackForwardController::create):
        * history/BackForwardController.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::create):
        * inspector/InspectorController.h:
        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::create):
        * loader/ProgressTracker.h:
        * notifications/NotificationController.cpp:
        (WebCore::NotificationController::create):
        * notifications/NotificationController.h:
        * page/Chrome.cpp:
        (WebCore::Chrome::create):
        * page/Chrome.h:
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::create):
        * page/ContextMenuController.h:
        * page/DragController.cpp:
        (WebCore::DragController::create):
        * page/DragController.h:
        * page/FocusController.cpp:
        (WebCore::FocusController::create):
        * page/FocusController.h:
        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::create):
        * page/GeolocationController.h:
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::initGroup):
        (WebCore::Page::speechInput):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::create):
        * page/PageGroup.h:
        * page/Settings.cpp:
        (WebCore::Settings::create):
        * page/Settings.h:
        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::create):
        * page/SpeechInput.h:

2011-12-20  Ryosuke Niwa  <rniwa@webkit.org>

        Mac build fix after r103354.

        * platform/mac/ScrollAnimatorMac.mm:
        (systemUptime):

2011-12-20  Anders Carlsson  <andersca@apple.com>

        Add ScrollableArea::contentsResized and have it call the scroll animator
        https://bugs.webkit.org/show_bug.cgi?id=74966

        Reviewed by Sam Weinig.

        * WebCore.exp.in:
        * page/FrameView.cpp:
        (WebCore::FrameView::setContentsSize):
        (WebCore::FrameView::contentsResized):
        * page/FrameView.h:
        * platform/ScrollView.h:
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::contentsResized):
        * platform/ScrollableArea.h:

2011-12-20  Simon Fraser  <simon.fraser@apple.com>

        requestAnimationFrame on Mac fires at 60fps even when drawing is much slower
        https://bugs.webkit.org/show_bug.cgi?id=74964

        Reviewed by Chris Marrin.
        
        On Mac requestAnimationFrame uses a CVDisplayLink, sending notifications
        from the display link thread to the main thread that the display link fired.
        However, there was no throttling on these notifications; if processing an event
        took a long time, notifications would pile up, and then get handled after
        the slow event completed.
        
        This would cause JS animations which animate by changing style to report
        60fps when their display framerate was much lower.
        
        Fix by throttling notifications from the display link thread to the web
        thread; if the previous event hasn't completed yet, don't send any new ones.

        No new tests, since testing this runtime behavior is hard.

        * platform/graphics/DisplayRefreshMonitor.cpp:
        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
        (WebCore::DisplayRefreshMonitor::refreshDisplayOnMainThread):
        (WebCore::DisplayRefreshMonitor::notifyClients): Factored out of the
        static refreshDisplayOnMainThread method so we can use 'this'.
        * platform/graphics/DisplayRefreshMonitor.h:
        * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
        (WebCore::DisplayRefreshMonitor::displayLinkFired):

2011-12-20  Greg Billock  <gbillock@google.com>

        [Coverity] Fix leak in V8HTMLDocument
        https://bugs.webkit.org/show_bug.cgi?id=74943

        Reviewed by Adam Barth.

        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::openCallback):

2011-12-20  Sailesh Agrawal <sail@chromium.org>

        Merge ScrollAnimatorChromiumMac.mm back to ScrollAnimatorMac
        https://bugs.webkit.org/show_bug.cgi?id=61144

        Reviewed by Beth Dakin.

        At a high level the main changes are:
            - replace #ifdefs in ScrollAnimatorMac and ScrollbarThemeMac with run time checks
            - delete duplicate code in ScrollbarThemeChromiumMac. Keep the paint code since it does tickmarks and SKIA stuff.
            - delete ScrollAnimatorChromiumMac since ScrollAnimatorMac does the exact same thing
            - delete ScrollbarOverlayUtilitiesChromiumMac since NSScrollerImpDetails does the same thing

        No new tests. Just refactoring.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
        * platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Removed.
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Removed.
        * platform/chromium/ScrollbarThemeChromiumMac.h:
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
        (WebCore::scrollbarPainterPaintTrack):
        (WebCore::ScrollbarThemeChromiumMac::paint):
        * platform/mac/EmptyProtocolDefinitions.h:
        * platform/mac/NSScrollerImpDetails.h:
        (WebCore::isScrollbarOverlayAPIAvailable):
        * platform/mac/NSScrollerImpDetails.mm: Added.
        (WebCore::isScrollbarOverlayAPIAvailable):
        (WebCore::recommendedScrollerStyle):
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (scrollbarPainterForScrollbar):
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::notifyPositionChanged):
        (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
        (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
        (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
        (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
        (WebCore::ScrollAnimatorMac::willStartLiveResize):
        (WebCore::ScrollAnimatorMac::contentsResized):
        (WebCore::ScrollAnimatorMac::willEndLiveResize):
        (WebCore::ScrollAnimatorMac::contentAreaDidShow):
        (WebCore::ScrollAnimatorMac::contentAreaDidHide):
        (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
        (WebCore::ScrollAnimatorMac::didEndScrollGesture):
        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::cancelAnimations):
        (WebCore::ScrollAnimatorMac::setIsActive):
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
        (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
        * platform/mac/ScrollElasticityController.h:
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
        (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
        (WebCore::updateArrowPlacement):
        (WebCore::ScrollbarThemeMac::registerScrollbar):
        (WebCore::ScrollbarThemeMac::setIsCurrentlyDrawingIntoLayer):
        (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
        (WebCore::ScrollbarThemeMac::scrollbarThickness):
        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
        (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
        (WebCore::ScrollbarThemeMac::hasButtons):
        (WebCore::ScrollbarThemeMac::hasThumb):
        (WebCore::ScrollbarThemeMac::minimumThumbLength):
        (WebCore::ScrollbarThemeMac::scrollbarPartToHIPressedState):
        (WebCore::ScrollbarThemeMac::updateEnabledState):
        (WebCore::scrollbarPainterPaint):
        (WebCore::ScrollbarThemeMac::paint):

2011-12-20  Tony Chang  <tony@chromium.org>

        sizeof(RenderStyle) is 64 instead of 56 on Windows (x86)
        https://bugs.webkit.org/show_bug.cgi?id=74876

        Reviewed by Ryosuke Niwa.

        Move bit fields into a new class and use unsigned for all types so we
        align at 4 byte bounds. Also move the initializers into the header
        file (has the side benefit of not needing to duplicate the initializers
        in 3 places).

        Enable the compile assert on Windows.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyleBitfields::affectedByUncommonAttributeSelectors):
        (WebCore::RenderStyleBitfields::setAffectedByUncommonAttributeSelectors):
        (WebCore::RenderStyleBitfields::unique):
        (WebCore::RenderStyleBitfields::setUnique):
        (WebCore::RenderStyleBitfields::affectedByEmpty):
        (WebCore::RenderStyleBitfields::emptyState):
        (WebCore::RenderStyleBitfields::setEmptyState):
        (WebCore::RenderStyleBitfields::childrenAffectedByFirstChildRules):
        (WebCore::RenderStyleBitfields::setChildrenAffectedByFirstChildRules):
        (WebCore::RenderStyleBitfields::childrenAffectedByLastChildRules):
        (WebCore::RenderStyleBitfields::setChildrenAffectedByLastChildRules):
        (WebCore::RenderStyleBitfields::childrenAffectedByDirectAdjacentRules):
        (WebCore::RenderStyleBitfields::setChildrenAffectedByDirectAdjacentRules):
        (WebCore::RenderStyleBitfields::childrenAffectedByForwardPositionalRules):
        (WebCore::RenderStyleBitfields::setChildrenAffectedByForwardPositionalRules):
        (WebCore::RenderStyleBitfields::childrenAffectedByBackwardPositionalRules):
        (WebCore::RenderStyleBitfields::setChildrenAffectedByBackwardPositionalRules):
        (WebCore::RenderStyleBitfields::firstChildState):
        (WebCore::RenderStyleBitfields::setFirstChildState):
        (WebCore::RenderStyleBitfields::lastChildState):
        (WebCore::RenderStyleBitfields::setLastChildState):
        (WebCore::RenderStyleBitfields::childIndex):
        (WebCore::RenderStyleBitfields::setChildIndex):
        (WebCore::RenderStyleBitfields::setHasExplicitlyInheritedProperties):
        (WebCore::RenderStyleBitfields::hasExplicitlyInheritedProperties):

2011-12-20  Tony Chang  <tony@chromium.org>

        [chromium] enable WPO for WebCore libs in official builds
        https://bugs.webkit.org/show_bug.cgi?id=74947

        Reviewed by James Robinson.

        Also move enable_wexit_time_destructors to the top level variables
        so we don't have to add it to all targets.

        * WebCore.gyp/WebCore.gyp:

2011-12-20  Anders Carlsson  <andersca@apple.com>

        Add ScrollableArea wrappers for a bunch of ScrollAnimator member functions
        https://bugs.webkit.org/show_bug.cgi?id=74951

        Reviewed by Sam Weinig.

        * WebCore.exp.in:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::mouseMoved):
        (WebCore::EventHandler::updateMouseEventTargetNode):
        * page/FocusController.cpp:
        (WebCore::FocusController::setActive):
        * page/FrameView.cpp:
        (WebCore::FrameView::didMoveOnscreen):
        (WebCore::FrameView::willMoveOffscreen):
        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::contentAreaWillPaint):
        (WebCore::ScrollableArea::mouseEnteredContentArea):
        (WebCore::ScrollableArea::mouseExitedContentArea):
        (WebCore::ScrollableArea::mouseMovedInContentArea):
        (WebCore::ScrollableArea::mouseEnteredScrollbar):
        (WebCore::ScrollableArea::mouseExitedScrollbar):
        (WebCore::ScrollableArea::contentAreaDidShow):
        (WebCore::ScrollableArea::contentAreaDidHide):
        * platform/ScrollableArea.h:
        * platform/ScrollableAreaClient.h:
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::mouseEntered):
        (WebCore::Scrollbar::mouseExited):
        (WebCore::Scrollbar::mouseUp):

2011-12-20  Jarred Nicholls  <jarred@sencha.com>

        Perform case insensitive matching on MIME types in XHR
        https://bugs.webkit.org/show_bug.cgi?id=74800

        Perform case insensitive matching on responseMIMEType() in didReceiveData().
        Workaround case sensitive matching by DOMImplementation::isXMLMIMEType() in responseIsXML().

        Reviewed by Darin Adler.

        Tests: http/tests/xmlhttprequest/xmlhttprequest-mimetype-mixed-case.html
               http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-mixed-case.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didReceiveData):
        (WebCore::XMLHttpRequest::responseIsXML):

2011-12-20  Adam Klein  <adamk@chromium.org>

        Remove no-op DOMAttr* event dispatch methods from Element
        https://bugs.webkit.org/show_bug.cgi?id=74946

        Reviewed by Darin Adler.

        The removed methods had their bodies #if 0'd out, so this should have
        no effect on anything.

        * dom/Element.cpp:
        * dom/Element.h:
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::addAttribute):
        (WebCore::NamedNodeMap::removeAttribute):

2011-12-20  Anders Carlsson  <andersca@apple.com>

        ScrollableArea should have an optional ScrollableAreaClient
        https://bugs.webkit.org/show_bug.cgi?id=74949

        Reviewed by Sam Weinig.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * page/FrameView.cpp:
        (WebCore::scrollableAreaClient):
        (WebCore::FrameView::FrameView):
        * page/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::scrollableAreaClientForFrame):
        * page/ScrollingCoordinator.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::ScrollView):
        * platform/ScrollView.h:
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::ScrollableArea):
        * platform/ScrollableArea.h:
        * platform/ScrollableAreaClient.h: Added.
        (WebCore::ScrollableAreaClient::~ScrollableAreaClient):
        (WebCore::ScrollableAreaClient::ScrollableAreaClient):

2011-12-19  Adam Klein  <adamk@chromium.org>

        Rename Element::setAttributeMap to parserSetAttributeMap and limit its use to the parser
        https://bugs.webkit.org/show_bug.cgi?id=74885

        Reviewed by Ryosuke Niwa.

        Element::setAttributeMap is currently used by the parser in cases
        where a NamedNodeMap of attributes has already been allocated and
        transfers ownership to the Element. Other uses in WebCore don't have
        this ownership-transfer requirement, and so are more clearly expressed
        with normal setAttribute calls.

        Eliminating non-parser callers allows the code to make safe
        assumptions about the state of the Element it's called on: no need to
        worry about, e.g., updating the id in the document's cache or
        enqueueing mutation records.

        No new tests, no change in behavior expected.

        * dom/Element.cpp:
        (WebCore::Element::parserSetAttributeMap): Renamed, added assertions
        to make sure it's not called unexpectedly, update comments.
        * dom/Element.h:
        * html/HTMLViewSourceDocument.cpp: Use setAttribute instead of setAttributeMap.
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
        (WebCore::HTMLViewSourceDocument::addLine):
        (WebCore::HTMLViewSourceDocument::addBase):
        (WebCore::HTMLViewSourceDocument::addLink):
        * html/parser/HTMLConstructionSite.cpp: Reference new name.
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLConstructionSite::createElement):
        (WebCore::HTMLConstructionSite::createHTMLElement):
        * html/track/WebVTTParser.cpp:
        (WebCore::WebVTTParser::constructTreeFromToken): Use setAttribute instead of setAttributeMap.
        Also get rid of an unnecessary String -> AtomicString conversion.

2011-12-20  Iain Merrick  <husky@google.com>

        Remove unused parameter from RenderLayerCompositor::rebuildCompositingLayerTree
        https://bugs.webkit.org/show_bug.cgi?id=74936

        Reviewed by Simon Fraser.

        Pure refactoring, no change in functionality.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        * rendering/RenderLayerCompositor.h:

2011-12-20  Tony Chang  <tony@chromium.org>

        RenderStyle::InheritedFlags and RenderStyle::NonInheritedFlags members should be 4 byte aligned
        https://bugs.webkit.org/show_bug.cgi?id=74880

        Reviewed by Ryosuke Niwa.

        Use unsigned for all types so we get 4 byte boundaries (unsigned char
        means we try to align to 1 byte boundaries) and add setters and
        getters for bool members.

        Move some members around to make sure we're aligned to 4 byte boundaries.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::copyNonInheritedFrom):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::NonInheritedFlags::affectedByHover):
        (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByHover):
        (WebCore::InheritedFlags::NonInheritedFlags::affectedByActive):
        (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByActive):
        (WebCore::InheritedFlags::NonInheritedFlags::affectedByDrag):
        (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByDrag):
        (WebCore::InheritedFlags::NonInheritedFlags::isLink):
        (WebCore::InheritedFlags::NonInheritedFlags::setIsLink):
        (WebCore::InheritedFlags::setBitDefaults):
        (WebCore::InheritedFlags::affectedByHoverRules):
        (WebCore::InheritedFlags::affectedByActiveRules):
        (WebCore::InheritedFlags::affectedByDragRules):
        (WebCore::InheritedFlags::setAffectedByHoverRules):
        (WebCore::InheritedFlags::setAffectedByActiveRules):
        (WebCore::InheritedFlags::setAffectedByDragRules):
        (WebCore::InheritedFlags::isLink):
        (WebCore::InheritedFlags::setIsLink):

2011-12-20  Julien Chaffraix  <jchaffraix@webkit.org>

        Regression(99212): table rows get incorrect height after changing some cells' height
        https://bugs.webkit.org/show_bug.cgi?id=74303

        Reviewed by Darin Adler.

        Tests: fast/table/resize-table-binding-cell.html
               fast/table/resize-table-cell.html
               fast/table/resize-table-row.html

        r99212 wrongly implemented the row's logicalHeight recalculation.
        The original code would use recalcCells which would properly recalculate a
        row logicalHeight by iterating over the table's cells but throwing out the
        existing result.

        Our approach is just to recompute our row's logicalHeight and leave the
        rest of the section untouched.

        * rendering/RenderTableSection.cpp:
        (WebCore::updateLogicalHeightForCell):
        Added this new helper function to update the RowStruct logicalHeight during
        |addCell| and |rowLogicalHeightChanged|.

        (WebCore::RenderTableSection::addCell):
        Replaced the old code with a call to updateLogicalHeightForCell.
        (WebCore::RenderTableSection::rowLogicalHeightChanged):
        Added a call to updateLogicalHeightForCell for each cells.

2011-12-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r103322.
        http://trac.webkit.org/changeset/103322
        https://bugs.webkit.org/show_bug.cgi?id=74927

        seven inspector's tests are crashing on qt (Requested by
        loislo on #webkit).

        * inspector/CodeGeneratorInspector.py:
        (RawTypes.BaseType.is_event_param_check_optional):
        (RawTypes.Object.is_event_param_check_optional):
        (RawTypes.Array.is_event_param_check_optional):
        (RawTypes):
        (Generator.process_command):
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
        (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::clearFrontend):
        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
        (WebCore::InspectorCSSAgent::getAllStyleSheets):
        (WebCore::InspectorCSSAgent::getStyleSheet):
        (WebCore::InspectorCSSAgent::setPropertyText):
        (WebCore::InspectorCSSAgent::toggleProperty):
        (WebCore::InspectorCSSAgent::setRuleSelector):
        (WebCore::InspectorCSSAgent::addRule):
        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
        (WebCore::InspectorCSSAgent::stopSelectorProfiler):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getDocument):
        (WebCore::InspectorDOMAgent::querySelectorAll):
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::getSearchResults):
        (WebCore::InspectorDOMAgent::resolveNode):
        (WebCore::InspectorDOMAgent::getAttributes):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
        * inspector/InspectorDOMStorageAgent.h:
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
        * inspector/InspectorDatabaseAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::searchInContent):
        (WebCore::InspectorDebuggerAgent::setScriptSource):
        (WebCore::InspectorDebuggerAgent::getFunctionLocation):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
        * inspector/InspectorMemoryAgent.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::getCookies):
        (WebCore::InspectorPageAgent::getResourceTree):
        (WebCore::InspectorPageAgent::searchInResource):
        (WebCore::InspectorPageAgent::searchInResources):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::getProfileHeaders):
        (WebCore::InspectorProfilerAgent::getProfile):
        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::callFunctionOn):
        (WebCore::InspectorRuntimeAgent::getProperties):
        * inspector/InspectorRuntimeAgent.h:

2011-12-19  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] allow setting extension API per extension security origin
        https://bugs.webkit.org/show_bug.cgi?id=74868

        Reviewed by Pavel Feldman.

        This replaces InspectorExtensionAPI string within InspectorFrontendHost with a map by extension
        security origin, so that we can have APIs customized by extension (in particular, this is needed
        to expose experimental APIs only to certain extensions).

        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
        (WebCore::InspectorAgent::setInjectedScriptForOrigin):
        * inspector/InspectorAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setInjectedScriptForOrigin):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::setInjectedScriptForOrigin):
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionServer.prototype._addExtension):

2011-12-20  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
        https://bugs.webkit.org/show_bug.cgi?id=69366

        Reviewed by Pavel Feldman.

        Generator fixed and all usages are changed manually.

        * inspector/CodeGeneratorInspector.py:
        (RawTypes.BaseType.is_event_param_check_optional):
        (RawTypes.BaseType):
        (RawTypes.BaseType.get_output_argument_prefix):
        (RawTypes.Object.get_output_argument_prefix):
        (RawTypes.Array.get_output_argument_prefix):
        (RawTypes):
        (Generator.process_command):
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
        (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::clearFrontend):
        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
        (WebCore::InspectorCSSAgent::getAllStyleSheets):
        (WebCore::InspectorCSSAgent::getStyleSheet):
        (WebCore::InspectorCSSAgent::setPropertyText):
        (WebCore::InspectorCSSAgent::toggleProperty):
        (WebCore::InspectorCSSAgent::setRuleSelector):
        (WebCore::InspectorCSSAgent::addRule):
        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
        (WebCore::InspectorCSSAgent::stopSelectorProfiler):
        (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getDocument):
        (WebCore::InspectorDOMAgent::querySelectorAll):
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::getSearchResults):
        (WebCore::InspectorDOMAgent::resolveNode):
        (WebCore::InspectorDOMAgent::getAttributes):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
        * inspector/InspectorDOMStorageAgent.h:
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
        * inspector/InspectorDatabaseAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::searchInContent):
        (WebCore::InspectorDebuggerAgent::setScriptSource):
        (WebCore::InspectorDebuggerAgent::getFunctionLocation):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
        * inspector/InspectorMemoryAgent.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::getCookies):
        (WebCore::InspectorPageAgent::getResourceTree):
        (WebCore::InspectorPageAgent::searchInResource):
        (WebCore::InspectorPageAgent::searchInResources):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::getProfileHeaders):
        (WebCore::InspectorProfilerAgent::getProfile):
        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::callFunctionOn):
        (WebCore::InspectorRuntimeAgent::getProperties):
        * inspector/InspectorRuntimeAgent.h:

2011-12-20  Julien Chaffraix  <jchaffraix@webkit.org>

        Crash in RenderTable::outerBorderAfter
        http://webkit.org/b/74026
        <rdar://problem/10552313>

        Reviewed by Eric Seidel.

        Test: fast/table/computeLogicalWidth-table-needsSectionRecalc.html

        RenderBlock can call computeLogicalWidth() before calling layout(). The code in
        RenderTable::computeLogicalWidth would make the assumption that layout() was called
        as layout() is responsible for recomputing our sections.

        To prevent the issue, let's just recompute the section if it's needed as this situation
        shouldn't be an error. Also adding more knowledge of table in RenderBlock seems bad.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        Make sure we recalculate our section if it's needed.

2011-12-20  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] Replace imp with impl in CodeGeneratorJS.pm
        https://bugs.webkit.org/show_bug.cgi?id=74901

        Reviewed by Adam Barth.

        As pointed out in bug 74837, the generated code by CodeGeneratorJS.pm includes
        both 'imp' and 'impl'. This patch unifies them into 'impl'.
        I confirmed that "perl -lne 'print if /imp[^a-z]/' CodeGeneratorJS.pm" outputs nothing.

        No new tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateAttributeEventListenerCall):
        (GenerateEventListenerCall):
        (GenerateImplementation):
        (GenerateParametersCheck):
        (GenerateImplementationFunctionCall):
        (NativeToJSValue):

        * bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests results.
        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::jsTestEventConstructorAttr1):
        (WebCore::jsTestEventConstructorAttr2):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::jsTestInterfaceStr1):
        (WebCore::jsTestInterfaceStr2):
        (WebCore::jsTestInterfaceStr3):
        (WebCore::setJSTestInterfaceStr2):
        (WebCore::setJSTestInterfaceStr3):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjReadOnlyIntAttr):
        (WebCore::jsTestObjReadOnlyStringAttr):
        (WebCore::jsTestObjReadOnlyTestObjAttr):
        (WebCore::jsTestObjShortAttr):
        (WebCore::jsTestObjUnsignedShortAttr):
        (WebCore::jsTestObjIntAttr):
        (WebCore::jsTestObjLongLongAttr):
        (WebCore::jsTestObjUnsignedLongLongAttr):
        (WebCore::jsTestObjStringAttr):
        (WebCore::jsTestObjTestObjAttr):
        (WebCore::jsTestObjXMLObjAttr):
        (WebCore::jsTestObjCreate):
        (WebCore::jsTestObjReflectedStringAttr):
        (WebCore::jsTestObjReflectedIntegralAttr):
        (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
        (WebCore::jsTestObjReflectedBooleanAttr):
        (WebCore::jsTestObjReflectedURLAttr):
        (WebCore::jsTestObjReflectedNonEmptyURLAttr):
        (WebCore::jsTestObjReflectedCustomIntegralAttr):
        (WebCore::jsTestObjReflectedCustomBooleanAttr):
        (WebCore::jsTestObjReflectedCustomURLAttr):
        (WebCore::jsTestObjReflectedCustomNonEmptyURLAttr):
        (WebCore::jsTestObjAttrWithGetterException):
        (WebCore::jsTestObjAttrWithSetterException):
        (WebCore::jsTestObjStringAttrWithGetterException):
        (WebCore::jsTestObjStringAttrWithSetterException):
        (WebCore::jsTestObjScriptStringAttr):
        (WebCore::jsTestObjConditionalAttr1):
        (WebCore::jsTestObjConditionalAttr2):
        (WebCore::jsTestObjConditionalAttr3):
        (WebCore::jsTestObjCachedAttribute1):
        (WebCore::jsTestObjCachedAttribute2):
        (WebCore::jsTestObjDescription):
        (WebCore::jsTestObjId):
        (WebCore::jsTestObjHash):
        (WebCore::setJSTestObjShortAttr):
        (WebCore::setJSTestObjUnsignedShortAttr):
        (WebCore::setJSTestObjIntAttr):
        (WebCore::setJSTestObjLongLongAttr):
        (WebCore::setJSTestObjUnsignedLongLongAttr):
        (WebCore::setJSTestObjStringAttr):
        (WebCore::setJSTestObjTestObjAttr):
        (WebCore::setJSTestObjXMLObjAttr):
        (WebCore::setJSTestObjCreate):
        (WebCore::setJSTestObjReflectedStringAttr):
        (WebCore::setJSTestObjReflectedIntegralAttr):
        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
        (WebCore::setJSTestObjReflectedBooleanAttr):
        (WebCore::setJSTestObjReflectedURLAttr):
        (WebCore::setJSTestObjReflectedNonEmptyURLAttr):
        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
        (WebCore::setJSTestObjReflectedCustomURLAttr):
        (WebCore::setJSTestObjReflectedCustomNonEmptyURLAttr):
        (WebCore::setJSTestObjAttrWithGetterException):
        (WebCore::setJSTestObjAttrWithSetterException):
        (WebCore::setJSTestObjStringAttrWithGetterException):
        (WebCore::setJSTestObjStringAttrWithSetterException):
        (WebCore::setJSTestObjConditionalAttr1):
        (WebCore::setJSTestObjConditionalAttr2):
        (WebCore::setJSTestObjConditionalAttr3):
        (WebCore::setJSTestObjId):
        (WebCore::jsTestObjPrototypeFunctionVoidMethod):
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethod):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethod):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
        (WebCore::jsTestObjPrototypeFunctionMethodWithException):
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
        (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
        (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::jsTestSerializedScriptValueInterfaceValue):

2011-12-20  Alok Priyadarshi  <alokp@chromium.org>

        [chromium] compositing/shadows tests fail with accelerated painting
        https://bugs.webkit.org/show_bug.cgi?id=74871

        Reviewed by James Robinson.
        
        Switched over to new API for creating accelerated canvas GrContext::createPlatformTexture.
        It correctly binds the stencil buffer to the FBO.

        Test: compositing/shadows/shadow-drawing.html (existing)

        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::createAcceleratedCanvas):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
        * platform/graphics/chromium/ManagedTexture.cpp:
        (WebCore::ManagedTexture::allocate):
        (WebCore::ManagedTexture::bindTexture):
        (WebCore::ManagedTexture::framebufferTexture2D):
        * platform/graphics/chromium/ManagedTexture.h:

2011-12-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r103291.
        http://trac.webkit.org/changeset/103291
        https://bugs.webkit.org/show_bug.cgi?id=74915

        Looks like it broke fast/events/touch and
        fast/events/touch/gesture/gesture-scroll.html
        http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.5/builds/7010
        (Requested by loislo on #webkit).

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/chromium/ScrollAnimatorChromiumMac.h: Copied from Source/WebCore/platform/mac/ScrollAnimatorMac.h.
        (WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
        (WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
        (WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
        (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
        (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
        * platform/chromium/ScrollAnimatorChromiumMac.mm: Added.
        (-[NSProcessInfo systemUptime]):
        (abs):
        (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
        (-[ScrollAnimationHelperDelegate bounds]):
        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
        (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
        (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
        (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
        (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
        (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
        (-[ScrollAnimationHelperDelegate superview]):
        (-[ScrollAnimationHelperDelegate documentView]):
        (-[ScrollAnimationHelperDelegate window]):
        (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
        (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
        (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
        (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
        (-[ScrollbarPartAnimation setCurrentProgress:]):
        (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
        (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollbarPainterDelegate cancelAnimations]):
        (-[ScrollbarPainterDelegate convertRectToBacking:]):
        (-[ScrollbarPainterDelegate convertRectFromBacking:]):
        (-[ScrollbarPainterDelegate layer]):
        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
        (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
        (WebCore::ScrollAnimator::create):
        (WebCore::chromiumScrollbarTheme):
        (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
        (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
        (WebCore::ScrollAnimatorChromiumMac::scroll):
        (WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
        (WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
        (WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
        (WebCore::ScrollAnimatorChromiumMac::notifyPositionChanged):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
        (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
        (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
        (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
        (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
        (WebCore::ScrollAnimatorChromiumMac::contentsResized):
        (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
        (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
        (WebCore::elasticDeltaForTimeDelta):
        (WebCore::elasticDeltaForReboundDelta):
        (WebCore::reboundDeltaForElasticDelta):
        (WebCore::scrollWheelMultiplier):
        (WebCore::isScrollingLeftAndShouldNotRubberBand):
        (WebCore::isScrollingRightAndShouldNotRubberBand):
        (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
        (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
        (WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
        (WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
        (WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
        (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
        (WebCore::roundTowardZero):
        (WebCore::roundToDevicePixelTowardZero):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
        (WebCore::ScrollAnimatorChromiumMac::setIsActive):
        (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
        (WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
        (WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
        (WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
        (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
        (WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Added.
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Added.
        (lookUpNSScrollerImpClass):
        (lookUpNSScrollerImpPairClass):
        (scrollbarControlSizeToNSControlSize):
        (preferredScrollerStyle):
        (wkScrollbarPainterUsesOverlayScrollers):
        (wkScrollbarPainterIsHorizontal):
        (wkScrollbarPainterKnobAlpha):
        (wkScrollbarPainterSetOverlayState):
        (wkScrollbarPainterPaint):
        (wkScrollbarPainterPaintTrack):
        (wkScrollbarPainterPaintKnob):
        (wkScrollbarMinimumThumbLength):
        (wkScrollbarPainterSetDelegate):
        (wkScrollbarPainterSetEnabled):
        (wkScrollbarPainterTrackAlpha):
        (wkMakeScrollbarPainter):
        (wkScrollbarThickness):
        (wkScrollbarMinimumTotalLengthNeededForThumb):
        (wkVerticalScrollbarPainterForController):
        (wkHorizontalScrollbarPainterForController):
        (wkScrollbarPainterControllerStyle):
        (wkMakeScrollbarReplacementPainter):
        (wkSetPainterForPainterController):
        (wkSetScrollbarPainterControllerStyle):
        (wkScrollbarPainterKnobRect):
        (wkSetScrollbarPainterKnobAlpha):
        (wkSetScrollbarPainterTrackAlpha):
        (wkSetScrollbarPainterKnobStyle):
        (wkMakeScrollbarPainterController):
        (wkContentAreaScrolled):
        (wkContentAreaWillPaint):
        (wkMouseEnteredContentArea):
        (wkMouseExitedContentArea):
        (wkMouseMovedInContentArea):
        (wkWillStartLiveResize):
        (wkContentAreaResized):
        (wkWillEndLiveResize):
        (wkContentAreaDidShow):
        (wkContentAreaDidHide):
        (wkDidBeginScrollGesture):
        (wkDidEndScrollGesture):
        (wkScrollbarPainterForceFlashScrollers):
        (isScrollbarOverlayAPIAvailable):
        * platform/chromium/ScrollbarThemeChromiumMac.h:
        (WebCore::ScrollbarThemeChromiumMac::supportsControlTints):
        (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::scrollbarMap):
        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
        (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
        (+[ScrollbarPrefsObserver registerAsObserver]):
        (WebCore::updateArrowPlacement):
        (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
        (WebCore::ScrollbarThemeChromiumMac::unregisterScrollbar):
        (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
        (WebCore::ScrollbarThemeChromiumMac::painterForScrollbar):
        (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
        (WebCore::ScrollbarThemeChromiumMac::preferencesChanged):
        (WebCore::ScrollbarThemeChromiumMac::scrollbarThickness):
        (WebCore::ScrollbarThemeChromiumMac::usesOverlayScrollbars):
        (WebCore::toScrollbarPainterKnobStyle):
        (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
        (WebCore::ScrollbarThemeChromiumMac::initialAutoscrollTimerDelay):
        (WebCore::ScrollbarThemeChromiumMac::autoscrollTimerDelay):
        (WebCore::ScrollbarThemeChromiumMac::buttonsPlacement):
        (WebCore::ScrollbarThemeChromiumMac::hasButtons):
        (WebCore::ScrollbarThemeChromiumMac::hasThumb):
        (WebCore::buttonRepaintRect):
        (WebCore::ScrollbarThemeChromiumMac::backButtonRect):
        (WebCore::ScrollbarThemeChromiumMac::forwardButtonRect):
        (WebCore::ScrollbarThemeChromiumMac::trackRect):
        (WebCore::ScrollbarThemeChromiumMac::minimumThumbLength):
        (WebCore::ScrollbarThemeChromiumMac::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeChromiumMac::shouldDragDocumentInsteadOfThumb):
        (WebCore::scrollbarPartToHIPressedState):
        (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
        (WebCore::ScrollbarThemeChromiumMac::paint):
        * platform/mac/EmptyProtocolDefinitions.h:
        * platform/mac/NSScrollerImpDetails.h:
        * platform/mac/NSScrollerImpDetails.mm: Removed.
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterDelegate layer]):
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::notifyPositionChanged):
        (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
        (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
        (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
        (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
        (WebCore::ScrollAnimatorMac::willStartLiveResize):
        (WebCore::ScrollAnimatorMac::contentsResized):
        (WebCore::ScrollAnimatorMac::willEndLiveResize):
        (WebCore::ScrollAnimatorMac::contentAreaDidShow):
        (WebCore::ScrollAnimatorMac::contentAreaDidHide):
        (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
        (WebCore::ScrollAnimatorMac::didEndScrollGesture):
        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::cancelAnimations):
        (WebCore::ScrollAnimatorMac::setIsActive):
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
        (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
        * platform/mac/ScrollElasticityController.h:
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
        (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
        (WebCore::ScrollbarTheme::nativeTheme):
        (WebCore::updateArrowPlacement):
        (WebCore::ScrollbarThemeMac::registerScrollbar):
        (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
        (WebCore::ScrollbarThemeMac::scrollbarThickness):
        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
        (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
        (WebCore::ScrollbarThemeMac::hasButtons):
        (WebCore::ScrollbarThemeMac::hasThumb):
        (WebCore::ScrollbarThemeMac::minimumThumbLength):
        (WebCore::scrollbarPartToHIPressedState):
        (WebCore::ScrollbarThemeMac::updateEnabledState):
        (WebCore::ScrollbarThemeMac::paint):

2011-12-19  Adam Klein  <adamk@chromium.org>

        Make all calls to NamedNodeMap::setAttributes go through Element
        https://bugs.webkit.org/show_bug.cgi?id=74895

        Reviewed by Ryosuke Niwa.

        There are two reasons for this change. One is an optimization: some
        callers were previously always creating a NamedNodeMap even if the
        source didn't have any attributes.

        The other reason is forward-looking: setAttributes' behavior is subtly
        wrong in the presence of MutationObservers. This doesn't matter
        for most callers since the element on which setAttributesFromElement
        is called is newly-created. In the editing case, however, it could
        make a difference in behavior, which I hope to fix in a future change
        without sacrificing the performance of cloneNode() on an Element
        (which is what NamedNodeMap::setAttributes is designed for).

        No new tests, no change in behavior.

        * dom/Element.cpp:
        (WebCore::Element::cloneElementWithoutChildren): Call setAttributesFromElement.
        * dom/Element.h:
        (WebCore::Element::setAttributesFromElement): Create new inline helper method
        which conditionally forwards to NamedNodeMap::setAttribute.
        * dom/NamedNodeMap.h: Make setAttributes private (Element is already a friend).
        * editing/ReplaceNodeWithSpanCommand.cpp:
        (WebCore::swapInNodePreservingAttributesAndChildren): Call setAttributesFromElement.
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setNodeName): Call setAttributesFromElement.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Call setAttributesFromElement.
        (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Call setAttributesFromElement
        and make use of ASSERT_NO_EXCEPTION to make code easier to read.

2011-12-19  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to ResourceRequestBase.cpp
        https://bugs.webkit.org/show_bug.cgi?id=74910

        Reviewed by Daniel Bates.

        No functionality change to the existing code, no new tests.

        * platform/network/ResourceRequestBase.cpp: The BlackBerry porting has its own
        initializeMaximumHTTPConnectionCountPerHost(). Exclude the default implementation.

2011-12-19  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Upstream the BlackBerry change to NetworkStateNotifier.h
        https://bugs.webkit.org/show_bug.cgi?id=74904

        Reviewed by Daniel Bates.

        No functionality change to existing code, no new tests.

        * platform/network/NetworkStateNotifier.h:

2011-12-19  Yael Aharon  <yael.aharon@nokia.com>

        Update dropzone implementation per spec update
        https://bugs.webkit.org/show_bug.cgi?id=74834

        Reviewed by Tony Chang.

        Update support for dropzone attribute to use file: and string: instead of f: and s:. 
        http://www.whatwg.org/specs/web-apps/current-work/#the-dropzone-attribute

        No new tests. Existing tests cover this and were updated.

        * dom/Clipboard.cpp:
        (WebCore::Clipboard::hasDropZoneType):

2011-12-19  Sam Weinig  <sam@webkit.org>

        Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
        https://bugs.webkit.org/show_bug.cgi?id=74907

        Reviewed by Dan Bernstein.

        Added API test: WebKit2.ScrollByLineCommands

        * editing/EditorCommand.cpp:
        (WebCore::executeScrollLineUp):
        (WebCore::executeScrollLineDown):
        (WebCore::createCommandMap):
        Add implementations for scrollLineUp/Down. Do not expose
        these to execCommand

2011-12-19  Huang Dongsung  <luxtella@company100.net>

        [QT] WebGL can not make the frame buffer with the stencil buffer.
        https://bugs.webkit.org/show_bug.cgi?id=74783

        When initializing a framebuffer in OpenGL ES 2, we need to initialize the depth
        and stencil buffers separately, as opposed to the combined depth-stencil buffer
        we initialize for desktop GL.

        This makes fast/canvas/webgl/context-attributes-depth-stencil-combination.html
        work in OpenGL ES 2.

        Reviewed by Noam Rosenthal.

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        (WebCore::GraphicsContext3D::~GraphicsContext3D):
        (WebCore::GraphicsContext3D::reshape):

2011-12-19  Ami Fischman  <fischman@chromium.org>

        Teach VideoLayerChromium how to render native texture (to support HW video decode).
        https://bugs.webkit.org/show_bug.cgi?id=73043

        Reviewed by James Robinson.
        
        Fix the life-cycle of video frames handled by VideoLayerChromium/CCVideoLayerImpl.
        VideoFrameProvider::{get,put}CurrentFrame provide lease semantics.  Previously
        VideoLayerChromium would acquire the lease for the duration of copying the frame,
        even if that was only a texture ID, and immediately return the lease, while
        CCVideoLayerImpl::draw() would come along later and use the (no-longer locked)
        texture optimistically.  This change makes it so that CCVideoLayerImpl holds
        the frame's lease for the duration of draw(), guaranteeing the frame is valid to read.

        Existing test coverage (compositing/video/, LayoutTests).  HW render of
        HW-decoded textures is not yet tested explicitly.

        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        (WebCore::VideoLayerChromium::~VideoLayerChromium):
        (WebCore::VideoLayerChromium::createCCLayerImpl):
        (WebCore::VideoLayerChromium::releaseProvider):
        * platform/graphics/chromium/VideoLayerChromium.h:
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
        (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
        (WebCore::CCVideoLayerImpl::setProvider):
        (WebCore::convertVFCFormatToGC3DFormat):
        (WebCore::CCVideoLayerImpl::draw):
        (WebCore::CCVideoLayerImpl::copyFrameToTextures):
        (WebCore::CCVideoLayerImpl::copyPlaneToTexture):
        (WebCore::computeVisibleSize):
        (WebCore::CCVideoLayerImpl::reserveTextures):
        (WebCore::CCVideoLayerImpl::drawYUV):
        (WebCore::CCVideoLayerImpl::drawCommon):
        (WebCore::CCVideoLayerImpl::drawRGBA):
        (WebCore::CCVideoLayerImpl::drawNativeTexture):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:

2011-12-19  Sam Weinig  <sam@webkit.org>

        More PlatformEvent cleanup
        https://bugs.webkit.org/show_bug.cgi?id=74831

        Reviewed by Dan Bernstein.

        * platform/PlatformMouseEvent.h:
        (WebCore::PlatformMouseEvent::position):
        Rename pos -> position(). Remove x() and y() accessors.

        (WebCore::PlatformMouseEvent::globalPosition):
        Added. Replaces globalX() and globalY() accessors.

        (WebCore::PlatformMouseEvent::movementDelta):
        Added. Replaces movementX() and movementY() accessors.

        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::position):
        Renamed pos -> position().

        (WebCore::PlatformWheelEvent::globalPosition):
        Renamed globalPos -> globalPosition().

        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::create):
        * dom/WheelEvent.cpp:
        (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
        * page/DragController.cpp:
        (WebCore::DragController::startDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::eventMayStartDrag):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::EventHandler::selectCursor):
        (WebCore::EventHandler::handleMouseDoubleClickEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        (WebCore::EventHandler::dispatchDragEvent):
        (WebCore::EventHandler::prepareMouseEvent):
        (WebCore::EventHandler::dispatchMouseEvent):
        (WebCore::EventHandler::handleWheelEvent):
        (WebCore::EventHandler::sendContextMenuEvent):
        (WebCore::EventHandler::handleDrag):
        (WebCore::EventHandler::handleTouchEvent):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::passMousePressEventToSubframe):
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::mouseMoved):
        (WebCore::Scrollbar::mouseDown):
        * platform/ScrollbarThemeComposite.cpp:
        (WebCore::ScrollbarThemeComposite::hitTest):
        * platform/chromium/PopupContainer.cpp:
        (WebCore::constructRelativeMouseEvent):
        (WebCore::constructRelativeWheelEvent):
        * platform/chromium/PopupListBox.cpp:
        (WebCore::PopupListBox::handleMouseDownEvent):
        (WebCore::PopupListBox::handleMouseMoveEvent):
        (WebCore::PopupListBox::handleMouseReleaseEvent):
        (WebCore::PopupListBox::handleWheelEvent):
        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
        (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
        * platform/qt/ScrollbarQt.cpp:
        (WebCore::Scrollbar::contextMenu):
        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::ScrollbarThemeQt::hitTest):
        * platform/win/ScrollbarThemeWin.cpp:
        (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize):
        Update to use new names, access style.

2011-12-19  Adam Klein  <adamk@chromium.org>

        Remove unused ExceptionCode& argument from Element::setAttribute(QualifiedName)
        https://bugs.webkit.org/show_bug.cgi?id=74740

        Reviewed by Ryosuke Niwa.

        Updated lots of callers to remove third argument. The list of changes
        below only lists things other than updating callers.

        * dom/Document.cpp:
        (WebCore::Document::importNode):
        * dom/Element.cpp:
        (WebCore::Element::setAttribute):
        (WebCore::Element::setAttributeNS):
        (WebCore::Element::setIntegralAttribute):
        (WebCore::Element::setUnsignedIntegralAttribute):
        * dom/Element.h: Removed third arg from method, removed old two-arg
        overload which now has an identical signature.
        * editing/mac/EditorMac.mm: Updated caller and used
        ASSERT_NO_EXCEPTION for nearby code.
        (WebCore::styleForSelectionStart):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setContentEditable):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setAttributesAsText):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
        * svg/SVGElement.idl: Removed 'setter raises(DOMException)'
        * svg/SVGGlyphRefElement.idl: ditto.
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::setType):
        (WebCore::SVGStyleElement::setMedia):
        (WebCore::SVGStyleElement::setTitle):
        * xml/parser/XMLTreeBuilder.cpp:
        (WebCore::XMLTreeBuilder::processAttributes):

2011-12-19  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/JS/JSFloat64Array.h:
        (WebCore::JSFloat64Array::create):
        (WebCore::JSFloat64ArrayPrototype::create):
        (WebCore::JSFloat64ArrayConstructor::create):
        * bindings/scripts/test/JS/JSTestEventConstructor.h:
        (WebCore::JSTestEventConstructor::create):
        (WebCore::JSTestEventConstructorPrototype::create):
        (WebCore::JSTestEventConstructorConstructor::create):
        * bindings/scripts/test/JS/JSTestInterface.h:
        (WebCore::JSTestInterface::create):
        (WebCore::JSTestInterfacePrototype::create):
        (WebCore::JSTestInterfaceConstructor::create):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
        (WebCore::JSTestMediaQueryListListener::create):
        (WebCore::JSTestMediaQueryListListenerPrototype::create):
        (WebCore::JSTestMediaQueryListListenerConstructor::create):
        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
        (WebCore::JSTestNamedConstructor::create):
        (WebCore::JSTestNamedConstructorPrototype::create):
        (WebCore::JSTestNamedConstructorConstructor::create):
        (WebCore::JSTestNamedConstructorNamedConstructor::create):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore::JSTestObj::create):
        (WebCore::JSTestObjPrototype::create):
        (WebCore::JSTestObjConstructor::create):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        (WebCore::JSTestSerializedScriptValueInterface::create):
        (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):

2011-12-19  James Robinson  <jamesr@chromium.org>

        [chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired
        https://bugs.webkit.org/show_bug.cgi?id=74376

        Reviewed by Kenneth Russell.

        CCLayerDelegate::notifySyncRequired is an odd bit of interface that we originally cargo-culted from the
        CoreAnimation compositor implementation. It is a mechanism by which a LayerChromium instance may request a new
        frame via its CCLayerDelegate, which in WebCore is always a GraphicsLayerClient. In practice, all
        implementations eventually ended up routing to CCLayerTreeHost::setNeedsCommit which then made the proper
        scheduling decision.

        This patch routes all changes that would have gone through CCLayerDelegate::notifySyncRequired directly to
        CCLayerTreeHost::setNeedsCommit, which greatly simplifies the scheduling logic.

        There is a large amount of unit test coverage for this change, largely in LayerChromiumTest

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setNeedsCommit):
        (WebCore::LayerChromium::insertChild):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::setRootLayer):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCScopedThreadProxy.h:
        (WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):

2011-12-19  Sailesh Agrawal <sail@chromium.org>

        Merge ScrollAnimatorChromiumMac.mm back to ScrollAnimatorMac
        https://bugs.webkit.org/show_bug.cgi?id=61144

        Reviewed by Beth Dakin.

        At a high level the main changes are:
            - replace #ifdefs in ScrollAnimatorMac and ScrollbarThemeMac with run time checks
            - delete duplicate code in ScrollbarThemeChromiumMac. Keep the paint code since it does tickmarks and SKIA stuff.
            - delete ScrollAnimatorChromiumMac since ScrollAnimatorMac does the exact same thing
            - delete ScrollbarOverlayUtilitiesChromiumMac since NSScrollerImpDetails does the same thing

        No new tests. Just refactoring.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
        * platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Removed.
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Removed.
        * platform/chromium/ScrollbarThemeChromiumMac.h:
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
        (WebCore::scrollbarPainterPaintTrack):
        (WebCore::ScrollbarThemeChromiumMac::paint):
        * platform/mac/EmptyProtocolDefinitions.h:
        * platform/mac/NSScrollerImpDetails.h:
        (WebCore::isScrollbarOverlayAPIAvailable):
        * platform/mac/NSScrollerImpDetails.mm: Added.
        (WebCore::isScrollbarOverlayAPIAvailable):
        (WebCore::recommendedScrollerStyle):
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (scrollbarPainterForScrollbar):
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::notifyPositionChanged):
        (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
        (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
        (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
        (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
        (WebCore::ScrollAnimatorMac::willStartLiveResize):
        (WebCore::ScrollAnimatorMac::contentsResized):
        (WebCore::ScrollAnimatorMac::willEndLiveResize):
        (WebCore::ScrollAnimatorMac::contentAreaDidShow):
        (WebCore::ScrollAnimatorMac::contentAreaDidHide):
        (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
        (WebCore::ScrollAnimatorMac::didEndScrollGesture):
        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::cancelAnimations):
        (WebCore::ScrollAnimatorMac::setIsActive):
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
        (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
        * platform/mac/ScrollElasticityController.h:
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
        (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
        (WebCore::updateArrowPlacement):
        (WebCore::ScrollbarThemeMac::registerScrollbar):
        (WebCore::ScrollbarThemeMac::setIsCurrentlyDrawingIntoLayer):
        (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
        (WebCore::ScrollbarThemeMac::scrollbarThickness):
        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
        (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
        (WebCore::ScrollbarThemeMac::hasButtons):
        (WebCore::ScrollbarThemeMac::hasThumb):
        (WebCore::ScrollbarThemeMac::minimumThumbLength):
        (WebCore::ScrollbarThemeMac::scrollbarPartToHIPressedState):
        (WebCore::ScrollbarThemeMac::updateEnabledState):
        (WebCore::scrollbarPainterPaint):
        (WebCore::ScrollbarThemeMac::paint):

2011-12-19  James Robinson  <jamesr@chromium.org>

        [chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
        https://bugs.webkit.org/show_bug.cgi?id=74477

        Reviewed by Kenneth Russell.

        This enforces that the m_layerTreeHost pointer on LayerChromium instances is always up to date, instead of
        lazily setting it in the paintContents loop. There are two invariants:
        1.) If a LayerChromium is the root layer of a CCLayerTreeHost, or is reachable via the children, mask, or
        replica pointers from the root layer of a CCLayerTreeHost, then that LayerChromium's m_layerTreeHost pointer
        refers to that CCLayerTreeHost
        2.) If a LayerChromium is not a root layer or reachable from a root layer of any CCLayerTreeHost, its
        CCLayerTreeHost pointer is nil.

        Covered by several new layout tests in LayerChromiumTest

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setLayerTreeHost):
        (WebCore::LayerChromium::setParent):
        (WebCore::LayerChromium::setMaskLayer):
        (WebCore::LayerChromium::setReplicaLayer):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::createTile):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setRootLayer):
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:

2011-12-19  Joshua Bell  <jsbell@chromium.org>

        IndexedDB multiple calls to transaction.objectStore(name) should return the same instance
        https://bugs.webkit.org/show_bug.cgi?id=60208

        Reviewed by Tony Chang.

        Ditto for calls to IDBObjectStore.index(). Calling these methods after the
        enclosing transaction has finished now consistently throws an error, which
        allows us to break reference cycles.

        Test: storage/indexeddb/mozilla/object-identity.html

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore):
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::index):
        (WebCore::IDBObjectStore::transactionFinished):
        * storage/IDBObjectStore.h:
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::objectStore):
        (WebCore::IDBTransaction::objectStoreCreated):
        (WebCore::IDBTransaction::dispatchEvent):
        * storage/IDBTransaction.h:

2011-12-19  Anders Carlsson  <andersca@apple.com>

        Send gesture events through the event dispatcher and scrolling coordinator
        https://bugs.webkit.org/show_bug.cgi?id=74879

        Reviewed by Andreas Kling.

        * WebCore.exp.in:
        Export ScrollingCoordinator::handleGestureEvent.

        * page/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::handleGestureEvent):
        * page/ScrollingCoordinator.h:
        Add handleGestureEvent stub.

2011-12-19  Kentaro Hara  <haraken@chromium.org>

        Move WebAudio and WebSocket getters from JSDOMWindowCustom.cpp
        to JSDOMWindow{WebAudio,WebSocket}Custom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=74841

        Reviewed by Adam Barth.

        This is the second step for bug 74599. We are planning to enable the [Supplemental]
        IDL and modularize WebAudio and WebSocket on AppleWebKit. This patch moves
        webkitAudioContext() and webSocket() from JSDOMWindowCustom.cpp to JSDOMWindowWebAudioCustom.cpp
        and JSDOMWindowWebSocketCustom.cpp, for modularization.

        Tests: Confirm that build succeeds.
               http/tests/websocket/tests/*

        * GNUmakefile.list.am: Added JSDOMWindowWebAudioCustom.cpp and JSDOMWindowWebSocketCustom.cpp.
        * Target.pri: Ditto.
        * UseJSC.cmake: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.

        * bindings/js/JSDOMWindowCustom.cpp: For now we do not remove settingsForWindow(),
        webkitAudioContext() and webSocket(), since other build systems are still using them.
        We will remove them after all build systems implement the [Supplemental] IDL.
        * bindings/js/JSDOMWindowWebAudioCustom.cpp: Added.
        (WebCore::settingsForWindowWebAudio):
        (WebCore::JSDOMWindow::webkitAudioContext):
        * bindings/js/JSDOMWindowWebSocketCustom.cpp: Added.
        (WebCore::settingsForWindowWebSocket):
        (WebCore::JSDOMWindow::webSocket):

        * bindings/scripts/CodeGeneratorJS.pm: Until we implement the [Supplemental] IDL
        on all build systems, we need to temporarily allow two kinds of webkitAudioContext()
        and webSocket().
        (GenerateHeader):

2011-12-16  Zhenyao Mo  <zmo@google.com>

        Postpone deleteRenderbuffer/deleteTexture until all framebuffer attachment points are removed.
        https://bugs.webkit.org/show_bug.cgi?id=74741

        Reviewed by Kenneth Russell.

        Use WebGLObject's attachment count mechanism to track if a renderbuffer/texture
        is still attached to framebuffers, and if its deletion should be delated or not.

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
        (WebCore::WebGLFramebuffer::getAttachment):
        (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
        (WebCore::WebGLFramebuffer::deleteObjectImpl):
        (WebCore::WebGLFramebuffer::isBound):
        * html/canvas/WebGLFramebuffer.h:

2011-12-19  Iain Merrick  <husky@google.com>

        [chromium] Accelerated canvas broken in threaded compositing mode
        https://bugs.webkit.org/show_bug.cgi?id=72738

        We were flushing the Skia canvas in updateCompositorResources, which
        is illegal as it runs on the wrong thread. Moved to paintContentsIfDirty
        instead. For correct rendering on the compositor thread, we make a copy
        of the canvas texture in updateCompositorResources.

        Removed m_textureId and pushPropertiesTo from CanvasLayerChromium, as
        it's no longer common between Canvas2DLayerChromium and
        WebGLLayerChromium. WebGL changes do not change functionality.

        Reviewed by James Robinson.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::create):
        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::setTextureId):
        (WebCore::Canvas2DLayerChromium::contentChanged):
        (WebCore::Canvas2DLayerChromium::drawsContent):
        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
        (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
        (WebCore::Canvas2DLayerChromium::setTextureManager):
        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
        (WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
        (WebCore::Canvas2DLayerChromium::cleanupResources):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        * platform/graphics/chromium/CanvasLayerChromium.cpp:
        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
        * platform/graphics/chromium/CanvasLayerChromium.h:
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
        (WebCore::WebGLLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebCore::WebGLLayerChromium::textureId):
        (WebCore::WebGLLayerChromium::setTextureId):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
        (WebCore::CCCanvasLayerImpl::textureId):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::createAcceleratedCanvas):

2011-12-19  Mike Reed  <reed@google.com>

        [skia] cache typeface in FontPlatformData
        https://bugs.webkit.org/show_bug.cgi?id=74415

        Reviewed by Stephen White.

        No new tests. optimization only, existing tests in play

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        (WebCore::CreateTypefaceFromHFont):
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::~FontPlatformData):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
        (WebCore::FontPlatformData::typeface):
        (WebCore::FontPlatformData::lfQuality):
        (WebCore::FontPlatformData::hash):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::setupPaintForFont):
        (WebCore::paintSkiaText):
        * platform/graphics/skia/SkiaFontWin.h:

2011-12-04  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: border-conflict-element-*
        https://bugs.webkit.org/show_bug.cgi?id=71244

        Reviewed by Darin Adler.

        From http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution :
         "When two adjacent cells have the same border-width and the same border-style in a 
          'border-collapse: collapse' table, then the color of the border from the leftmost cell wins
          (if the table's 'direction' is 'ltr'; right, if it is 'rtl') and the color of the border
          from the topmost cell wins."

        RenderTable manages collapsed borders by first creating a list of unique border values sorted in ascending
        priority. A unique border value is determined by style, width and color and cell-type precedence. For each 
        entry in this list RenderTableSection paints each cell in its section starting at the top-left. If a cell 
        is using the border RenderTable is currently iterating for, the cell will paint that border. 

        The problems with this approach are:
          1. Painting cells from the top-left to the bottom-right means that borders further to the right and to the bottom
             of the table will paint over those further to the left and the top, breaking the precedence due to cell position.
          2. It creates more unique borders in the list than necessary. Borders that differ only on color do not need to be painted in 
             a separate iteration. Precedence in such cases is determined by cell position.

        So in order to respect cell position when painting collapsed borders:
          1. RenderTableCell now treats borders with the same style, width and precedence as equal. This results in a performance
             improvement on tables where collapsed borders differ only in color, since RenderTable is no longer painting every cell in the table
             for each unique collapsed border color. It also allows color to be a function of cell position rather than border type.
          2. RenderTableSection now paints collapsed borders separately from cells and from the bottom-right to the top-left instead of top-left
             to bottom-right. If a collapsed border has precedence due to style, width or cell-group-type it will still be respected but precedence 
             due to color is enforced by painting cells nearer to the top and left *after* cells nearer to the bottom and right.

        The order in which collapsed borders paint over each other in the same cell has not changed. Unlike Firefox,
        WebKit does not attempt render them as diagonals or attempt to give borders on the edge of the table precedence
        so that grooved and ridged styles have a smooth edge all round the table.

        This fixes the following failing tests from the border-conflict-element-* set
        in the CSS 2.1 test suite:
          border-conflict-element-001d.htm
          border-conflict-element-0037.htm
          border-conflict-element-0038.htm

        One test in the suite is known to be wrong, so a corrected version has been landed outside the 
        css2.1 folder:
          border-conflict-element-002.htm

        This change entails rebaselining quite a few tests, see the LayoutTests ChangeLog for a full
        explanation of the rebaselines.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paint):
        (WebCore::addBorderStyle):
        (WebCore::compareBorderValuesForQSort):
        (WebCore::RenderTableCell::paintCollapsedBorders):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paintCell):
        (WebCore::RenderTableSection::paintObject):
        * rendering/style/CollapsedBorderValue.h:
        (WebCore::CollapsedBorderValue::isSameIgnoringColor):

2011-12-19  Jer Noble  <jer.noble@apple.com>

        MediaController: cannot scrub while playing.
        https://bugs.webkit.org/show_bug.cgi?id=74870
        rdar://problem/10602037

        Reviewed by Eric Carlson.

        Updated media/media-controller-playback.html test.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setController): Change order of operations; set the controllers media
            element before passing controller to the controls.
        * html/MediaController.cpp:
        (MediaController::updatePlaybackState): Stop the playback clock when WAITING or ENDED.
        (MediaController::beginScrubbing): Stop the playback clock.
        (MediaController::endScrubbing): Restart (if necessary) the playback clock.
        (MediaController::canPlay): Return true if paused.
        * platform/mac/PlatformClockCA.cpp:
        (PlatformClockCA::setCurrentTime): Stop the CAClock before changing the current time.

2011-12-19  Adam Barth  <abarth@webkit.org>

        We don't pass all of the html5lib unsafe-text.dat tests
        https://bugs.webkit.org/show_bug.cgi?id=74825

        Reviewed by Eric Seidel.

        This patch is actually three (tiny) related patches.  Together these
        changes cause use to pass the plain-text-unsafe.dat tests from html5lib.

        Tests: html5lib/runner.html

        * html/parser/HTMLTokenizer.cpp:
        (WebCore::::shouldSkipNullCharacters):
            - We're not supposed to skip null characters in the PLAINTEXTState.
              This might cause compatibility problems with text/plain documents
              that contains NUL characters because we use the PLAINTEXTState
              to parse them.  If we run into any trouble, it's easy to fix in
              TextDocumentParser.
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
            - Fix typo.
        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
            - We're supposed to replace NUL characters if the next character
              token if we're in foreign content.  The previous check didn't
              quite get this case correctly.
        (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
            - Now that we replace NUL characters with the replacement
              character, we need to be more careful about the fact that
              replacement characters don't flip m_framesetOk to false.  Note:
              This new check matches the check for non-foreign content.

2011-12-19  Adam Barth  <abarth@webkit.org>

        WebKit should support HTML entities that expand to more than one character
        https://bugs.webkit.org/show_bug.cgi?id=74826

        Reviewed by Darin Adler.

        Tests: html5lib/runner.html

        * html/parser/HTMLEntityNames.in:
            - Add missing HTML entities from HTML5 spec.  I'll sort this file
              in a followup patch.  (It's not quite sorted perfectly and
              sorting in this patch would introduce noise into the patch.)
        * html/parser/HTMLEntityParser.cpp:
        (WebCore::decodeNamedEntity):
            - convertToUTF16 always returns true, so make it return void instead.
            - Teach the entity parse that some entities expand to two characters.
        * html/parser/HTMLEntityParser.h:
            - Add a warning that decodeNamedEntity is really a broken API.
            - This patch doesn't actually change any behavior of this API, but
              it does illustrate that the two callers of this API (the two XML
              parsers) really need to move a more sensible API.
        * html/parser/HTMLEntitySearch.cpp:
        (WebCore::HTMLEntitySearch::HTMLEntitySearch):
        (WebCore::HTMLEntitySearch::advance):
        * html/parser/HTMLEntitySearch.h:
        (WebCore::HTMLEntitySearch::fail):
            - Remove the concept of currentValue.  This isn't really used for
              anything and conflicts with the idea that entities can expand
              to more than one character.
        * html/parser/HTMLEntityTable.h:
            - Add storage for two UChar32 values per entity.
        * html/parser/create-html-entity-table:
        (convert_value_to_int):
            - Teach this script to handle entities that expand to multiple
              Unicode characters.
        * xml/parser/CharacterReferenceParserInlineMethods.h:
        (WebCore::consumeCharacterReference):
            - Update this function now that convertToUTF16 returns void.
        * xml/parser/XMLCharacterReferenceParser.cpp:
            - The XML version of convertToUTF16 also needs to return void to
              match the HTML signature.  (It used to return true all the time
              as well.)
        * xml/parser/XMLTreeBuilder.cpp:
        (WebCore::XMLTreeBuilder::processHTMLEntity):
            - Update this caller use leftValue instead of value.  My sense is
              that this code is moderately broken today because it's using HTML
              entities in parsing XML.  I've added a FIXME.  This code is
              disabled in all builds, so I don't feel a big need to fix this
              issue in this patch.  We should either finish this project or
              delete this complexity from the project.

2011-12-19  Andreas Kling  <kling@webkit.org>

        Avoid instantiating ScrollAnimators when possible.
        <http://webkit.org/b/74830>

        Reviewed by Beth Dakin.

        Have RenderLayer::scrollToOffset() check if we're scrolling to the already
        current offset. In that case, don't call down to scrollToOffsetWithoutAnimation(),
        avoiding the instantiation of a ScrollAnimator.

        This reduces memory consumption by 400 kB (on 32-bit) when viewing the full HTML5
        spec on <http://whatwg.org/c>, since we were creating a ScrollAnimator for every
        single RenderLayer.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):

2011-12-19  Chris Guan  <chris.guan@torchmobile.com.cn>

        [BlackBerry] remove one file related to multipart from the BlackBerry build system
        https://bugs.webkit.org/show_bug.cgi?id=74839

        Reviewed by Daniel Bates.

        After refactored multipart, the code of MultipartResponseDelegate have been moved 
        out of WebCore, we do not need to upstream MultipartResponseDelegate any more. 
        So remove it from PlatformBlackBerry.cmake to update build system. 
        
        * PlatformBlackBerry.cmake:

2011-12-15  Geoffrey Garen  <ggaren@apple.com>

        Placement new does an unnecessary NULL check
        https://bugs.webkit.org/show_bug.cgi?id=74676

        Reviewed by Sam Weinig.

        * bindings/js/JSImageConstructor.h:
        (WebCore::JSImageConstructor::create):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateConstructorDeclaration):
        * bridge/c/CRuntimeObject.h:
        (JSC::Bindings::CRuntimeObject::create):
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CRuntimeMethod::create):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaRuntimeMethod::create):
        * bridge/jni/jsc/JavaRuntimeObject.h:
        (JSC::Bindings::JavaRuntimeObject::create):
        * bridge/objc/ObjCRuntimeObject.h:
        (JSC::Bindings::ObjCRuntimeObject::create):
        * bridge/objc/objc_instance.mm:
        (ObjCRuntimeMethod::create):
        * bridge/objc/objc_runtime.h:
        (JSC::Bindings::ObjcFallbackObjectImp::create):
        * bridge/runtime_array.h:
        (JSC::RuntimeArray::create):
        * bridge/runtime_method.h:
        (JSC::RuntimeMethod::create):
        * bridge/runtime_object.h:
        (JSC::Bindings::RuntimeObject::create):
        * dom/Document.h:
        (WebCore::FormElementKeyHashTraits::constructDeletedValue): Use NotNull
        placement new, as in JavaScriptCore.

        * platform/PODArena.h:
        (WebCore::PODArena::allocateObject): No need to check for NULL explicitly,
        since that's the built-in behavior of placement new.

        * platform/graphics/FontCache.cpp:
        (WebCore::FontDataCacheKeyTraits::constructDeletedValue):
        * platform/graphics/IntRectHash.h:
        * platform/graphics/IntSizeHash.h: More NotNull.

        * rendering/RenderObject.h: Declaring that we throw is the C++ way to say
        that operator new will not return NULL.

2011-12-19  Eric Carlson  <eric.carlson@apple.com>

        Render text tracks
        https://bugs.webkit.org/show_bug.cgi?id=62886

        Reviewed by Sam Weinig.

        Test: media/track/track-cue-rendering.html

        * css/mediaControls.css:
        (video::-webkit-media-text-track-container):
        (video::-webkit-media-text-track-display):

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_haveVisibleTextTrack.
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Trigger an update of the text
            track display.
        (WebCore::HTMLMediaElement::textTrackModeChanged): call configureTextTrackDisplay() so 
            the text track display is hidden or shown when necessary.
        (WebCore::HTMLMediaElement::userIsInterestedInThisTrack): Minor cleanup.
        (WebCore::HTMLMediaElement::createMediaControls): configureMediaControls() always called
            reset after creating the controls, do it here instead.
        (WebCore::HTMLMediaElement::configureMediaControls): Simplify and cleanup.
        (WebCore::HTMLMediaElement::configureTextTrackDisplay): Show and hide text track display.
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::currentlyVisibleCues):

        * html/shadow/MediaControlElements.cpp:
        (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): New.
        (WebCore::RenderTextTrackContainerElement::layout): New. Call the display element so it can
            update the position and font size.
        (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): New.
        (WebCore::MediaControlTextTrackContainerElement::create): Ditto.
        (WebCore::MediaControlTextTrackContainerElement::createRenderer): Ditto.
        (WebCore::MediaControlTextTrackContainerElement::shadowPseudoId): Ditto.
        (WebCore::MediaControlTextTrackContainerElement::updateSizes): Keep the cue display element
            positioned above the bottom of the video box, and size the font according to the video height.
        (WebCore::MediaControlTextTrackDisplayElement::MediaControlTextTrackDisplayElement): New.
        (WebCore::MediaControlTextTrackDisplayElement::create): Ditto.
        (WebCore::MediaControlTextTrackDisplayElement::shadowPseudoId): Ditto.
        * html/shadow/MediaControlElements.h:
        (WebCore::MediaControlTextTrackContainerElement::displayType):
        (WebCore::MediaControlTextTrackDisplayElement::displayType):

        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::MediaControlRootElement): New.
        (WebCore::MediaControlRootElement::setMediaController): Ditto.
        (WebCore::MediaControlRootElement::createTextTrackDisplay): Ditto.
        (WebCore::MediaControlRootElement::showTextTrackDisplay): Ditto.
        (WebCore::MediaControlRootElement::hideTextTrackDisplay): Ditto.
        (WebCore::MediaControlRootElement::updateTextTrackDisplay): Ditto.
        * html/shadow/MediaControlRootElement.h:

        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): New.
        (WebCore::MediaControlRootElement::createTextTrackDisplay): Ditto.
        (WebCore::MediaControlRootElement::showTextTrackDisplay): Ditto.
        (WebCore::MediaControlRootElement::hideTextTrackDisplay): Ditto.
        (WebCore::MediaControlRootElement::updateTextTrackDisplay): Ditto.
        * html/shadow/MediaControlRootElementChromium.h:
        * html/shadow/MediaControls.h:

2011-12-19  Eric Carlson  <eric.carlson@apple.com>

        Enable <track> for Mac build
        https://bugs.webkit.org/show_bug.cgi?id=74838

        Reviewed by Darin Adler.

        * Configurations/FeatureDefines.xcconfig:
        * bindings/generic/RuntimeEnabledFeatures.cpp:

2011-12-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Make the Editor::setIgnoreCompositionSelectionChange public as it is needed by Qt

        Reviewed by Simon Hausmann.

        * editing/Editor.h:

2011-12-19  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Implement CSS selector profiler backend
        https://bugs.webkit.org/show_bug.cgi?id=74603

        Reviewed by Pavel Feldman.

        No new tests, as the changed code does not result in visible effects yet.

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::RuleMatchingStats::RuleMatchingStats):
        (WebCore::SelectorProfile::SelectorProfile):
        (WebCore::SelectorProfile::~SelectorProfile):
        (WebCore::SelectorProfile::totalMatchingTimeMs):
        (WebCore::SelectorProfile::startSelector):
        (WebCore::SelectorProfile::commitSelector):
        (WebCore::SelectorProfile::commitSelectorTime):
        (WebCore::SelectorProfile::toInspectorObject):
        (WebCore::InspectorCSSAgent::clearFrontend):
        (WebCore::InspectorCSSAgent::restore):
        (WebCore::InspectorCSSAgent::startSelectorProfiler):
        (WebCore::InspectorCSSAgent::stopSelectorProfiler):
        (WebCore::InspectorCSSAgent::willMatchRule):
        (WebCore::InspectorCSSAgent::didMatchRule):
        (WebCore::InspectorCSSAgent::willProcessRule):
        (WebCore::InspectorCSSAgent::didProcessRule):
        * inspector/InspectorCSSAgent.h:

2011-12-19  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Status bar button glyph for the "Record" buttons broken
        https://bugs.webkit.org/show_bug.cgi?id=74861

        Reviewed by Pavel Feldman.

        * inspector/front-end/inspector.css:
        (.record-cpu-profile-status-bar-item .glyph, .record-profile-status-bar-item .glyph):
        (.record-cpu-profile-status-bar-item.toggled-on .glyph, .record-profile-status-bar-item.toggled-on .glyph):

2011-12-19  Pavel Feldman  <pavel.feldman@gmail.com>

        Web Inspector: only the first @rule is highlighted in CSS
        https://bugs.webkit.org/show_bug.cgi?id=74568

        Reviewed by Timothy Hatcher.

        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer.prototype.nextToken):
        * inspector/front-end/SourceCSSTokenizer.re2js:

2011-12-19  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Feature Request: Able to remove all breakpoints.
        https://bugs.webkit.org/show_bug.cgi?id=63055

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.removeAllBreakpoints):

2011-12-19  Benjamin Poulain  <benjamin@webkit.org>

        Build fix for ScrollingCoordinatorMac.mm when building on a case sensitive system

        Unreviewed build fix for r103180. StdlibExtras.h->StdLibExtras.h to compile on case sensitive system.

        * page/mac/ScrollingCoordinatorMac.mm:

2011-12-19  Kentaro Hara  <haraken@chromium.org>

        Remove unnecessary [JSCCustomGetter] IDLs from DOMWindow.idl
        https://bugs.webkit.org/show_bug.cgi?id=74829

        Reviewed by Adam Barth.

        Now JSC has implemented the [Constructor] IDL and it generates
        getDOMConstructor() automatically. This patch removes hand-written
        unnecessary getDOMConstructor()s from JSDOMWindowCustom.cpp.

        No new tests. No change in behavior.

        * bindings/js/JSDOMWindowCustom.cpp:
        * page/DOMWindow.idl:

2011-12-19  Adam Barth  <abarth@webkit.org>

        The HTML parser doesn't enforce the "Noah's Ark condition" from the HTML5 spec
        https://bugs.webkit.org/show_bug.cgi?id=74828

        Reviewed by Darin Adler.

        This patch implement the "Noah's Ark condition" from the HTML5
        specification.  This condition limits the number of identitical
        elements that can be in the list of active formatting elements.  I'm not
        entirely sure that enforcing this condition is worth the complexity,
        but given that we've come this far in support of the HTML5 parsing
        algorithm, we might as well finish it.

        After this patch, we pass all but one of the html5lib parsing tests!

        Tests: html5lib/runner.html

        * html/parser/HTMLFormattingElementList.cpp:
        (WebCore::attributeCount):
        (WebCore::HTMLFormattingElementList::append):
        (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
        (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):
        * html/parser/HTMLFormattingElementList.h:

2011-12-19  Benjamin Poulain  <bpoulain@apple.com>

        Add support for 8 bits strings to Document::isValidName()
        https://bugs.webkit.org/show_bug.cgi?id=74784

        Reviewed by Darin Adler.

        Avoid the conversion to 16bits when we are in the ASCII fast path,
        otherwise fallback to the Unicode testing in 16bits.

        * dom/Document.cpp:
        (WebCore::isValidNameASCII):
        (WebCore::Document::isValidName):

2011-12-18  Kentaro Hara  <haraken@chromium.org>

        REGRESSION(r101445): [JSC] Generated code for custom getters and setters
        with the [Supplemental] IDL is wrong
        https://bugs.webkit.org/show_bug.cgi?id=74837

        Reviewed by Darin Adler.

        In bug 73162, we implemented the [Supplemental] IDL, but the generated code
        for custom getters and setters was wrong in JSC. This patch fixes CodeGeneratorJS.pm
        so that the result of WebCore/bindings/scripts/test/TestInterface.idl becomes as follows:

        Wrong:
            JSValue jsTestInterfaceStr3(ExecState* exec, JSValue slotBase, const Identifier&)
            {
                JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
                return JSTestSupplemental::str3(castedThis, exec);
            }

        Correct:
            JSValue jsTestInterfaceStr3(ExecState* exec, JSValue slotBase, const Identifier&)
            {
                JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
                TestInterface* imp = static_cast<TestInterface*>(castedThis->impl());
                return castedThis->str3(imp, exec);
            }

        Tests: bindings/scripts/test/JS/TestInterface.idl

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests result.
        (WebCore::jsTestInterfaceStr3):
        (WebCore::setJSTestInterfaceStr3):
        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.

2011-12-18  Adam Barth  <abarth@webkit.org>

        Fix typo in comment.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2011-12-18  Keishi Hattori  <keishi@webkit.org>

        Implement <input type=color> UI WebKit chromium part
        https://bugs.webkit.org/show_bug.cgi?id=65897

        Reviewed by Darin Fisher.

        * GNUmakefile.list.am: Removed ColorChooser.cpp and added ColorChooserClient.h
        * WebCore.gypi: Added ColorChooser.h and ColorChooserClient.h
        * WebCore.xcodeproj/project.pbxproj: Removed ColorChooser.cpp and added ColorChooserClient.h

2011-12-18  David Barton  <dbarton@mathscribe.com>

        <msup>, <munder>, <mover>, and <munderover> baseline positions are wrong
        https://bugs.webkit.org/show_bug.cgi?id=72821

        Reviewed by Darin Adler.

        Tested by rebaselining 8 existing tests. (Pardon the pun.)

        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::baselinePosition):
        Just using the base's (these puns are not my fault) baseline did not leave room for the exponent.
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::baselinePosition):
        Added a guard condition, and removed some bad lines apparently mistakenly copied from RenderMathMLSubSup.cpp.

2011-12-18  Luke Macpherson   <macpherson@chromium.org>

        Implement CSS line-height property in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=74561

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::isNumber):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLineHeight::applyValue):
        (WebCore::ApplyPropertyLineHeight::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-12-18  Luke Macpherson   <macpherson@chromium.org>

        Implement CSS outline shorthand property in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=74467

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        RenderStyle::resetOutline was removed in favor of explicity expanding to the
        initial values of the shorthand expansion. This improves consistency because
        the initial values to use are more clearly (and singularly) defined.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/style/RenderStyle.h:

2011-12-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r103205.
        http://trac.webkit.org/changeset/103205
        https://bugs.webkit.org/show_bug.cgi?id=74833

        There are valid characters above 0x80 when the  string is
        8bits (Requested by benjaminp on #webkit).

        * dom/Document.cpp:
        (WebCore::isValidNameASCII):
        (WebCore::Document::isValidName):

2011-12-18  Luke Macpherson   <macpherson@chromium.org>

        Separate box alignment and box pack values into separate enums.
        https://bugs.webkit.org/show_bug.cgi?id=74580

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        Separating these types cleans up the code by removing several assertions that
        values are in the correct ranges, as this is ensured by the type system.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EBoxPack):
        (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
        * rendering/RenderFullScreen.cpp:
        (createFullScreenStyle):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::boxPack):
        (WebCore::InheritedFlags::setBoxAlign):
        (WebCore::InheritedFlags::setBoxPack):
        (WebCore::InheritedFlags::initialBoxPack):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleDeprecatedFlexibleBoxData.h:

2011-12-18  Luke Macpherson   <macpherson@chromium.org>

        Implement CSS font-size property in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=74368

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyFontSize::largerFontSize):
        (WebCore::ApplyPropertyFontSize::smallerFontSize):
        (WebCore::ApplyPropertyFontSize::applyInheritValue):
        (WebCore::ApplyPropertyFontSize::applyInitialValue):
        (WebCore::ApplyPropertyFontSize::applyValue):
        (WebCore::ApplyPropertyFontSize::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::hasParentNode):

2011-12-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r103199.
        http://trac.webkit.org/changeset/103199
        https://bugs.webkit.org/show_bug.cgi?id=74832

        Caused a bot crashiness extravaganza! (Requested by kling on
        #webkit).

        * platform/KURL.cpp:
        (WebCore::isLetterMatchIgnoringCase):
        (WebCore::protocolIs):

2011-12-18  Dan Bernstein  <mitz@apple.com>

        Positioned Floats: Assertion hit in fast/block/positioning/positioned-float-layout-after-image-load.html
        https://bugs.webkit.org/show_bug.cgi?id=67759

        Reviewed by Darin Adler.

        Test: fast/block/positioning/positioned-float-layout-after-image-load.html

        Positioned floats are both floating and positioned. Made the following functions treat them as
        positioned rather than as floats by reordering code.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):

2011-12-18  Benjamin Poulain  <bpoulain@apple.com>

        Add support for 8 bits strings to Document::isValidName()
        https://bugs.webkit.org/show_bug.cgi?id=74784

        Reviewed by Andreas Kling.

        The valid name has a fast path for ASCII, and a slow path
        taking Unicode characters into account.

        For 8-bit strings, we don't need to take the non-ASCII path
        as it could never succeed if the ASCII path didn't.

        * dom/Document.cpp:
        (WebCore::isValidNameASCII):
        (WebCore::Document::isValidName):

2011-12-18  Huang Dongsung  <luxtella@company100.net>

        [Qt] Remove redundant m_glWidget->makeCurrent() calls in GraphicsContext3DQt.
        https://bugs.webkit.org/show_bug.cgi?id=73814

        It causes a performance hit.
        Moved the redundant function calls to makeContextCurrent().

        Reviewed by Noam Rosenthal.

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        (WebCore::GraphicsContext3DPrivate::paint):
        (WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded):
        (WebCore::GraphicsContext3D::~GraphicsContext3D):
        (WebCore::GraphicsContext3D::makeContextCurrent):
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::reshape):
        (WebCore::GraphicsContext3D::activeTexture):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::getAttachedShaders):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::blendColor):
        (WebCore::GraphicsContext3D::blendEquation):
        (WebCore::GraphicsContext3D::blendEquationSeparate):
        (WebCore::GraphicsContext3D::blendFunc):
        (WebCore::GraphicsContext3D::blendFuncSeparate):
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        (WebCore::GraphicsContext3D::checkFramebufferStatus):
        (WebCore::GraphicsContext3D::clearColor):
        (WebCore::GraphicsContext3D::clear):
        (WebCore::GraphicsContext3D::clearDepth):
        (WebCore::GraphicsContext3D::clearStencil):
        (WebCore::GraphicsContext3D::colorMask):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::compressedTexImage2D):
        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
        (WebCore::GraphicsContext3D::copyTexImage2D):
        (WebCore::GraphicsContext3D::copyTexSubImage2D):
        (WebCore::GraphicsContext3D::cullFace):
        (WebCore::GraphicsContext3D::depthFunc):
        (WebCore::GraphicsContext3D::depthMask):
        (WebCore::GraphicsContext3D::depthRange):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::disable):
        (WebCore::GraphicsContext3D::disableVertexAttribArray):
        (WebCore::GraphicsContext3D::drawArrays):
        (WebCore::GraphicsContext3D::drawElements):
        (WebCore::GraphicsContext3D::enable):
        (WebCore::GraphicsContext3D::enableVertexAttribArray):
        (WebCore::GraphicsContext3D::finish):
        (WebCore::GraphicsContext3D::flush):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::frontFace):
        (WebCore::GraphicsContext3D::generateMipmap):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::getError):
        (WebCore::GraphicsContext3D::getString):
        (WebCore::GraphicsContext3D::hint):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isEnabled):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::isTexture):
        (WebCore::GraphicsContext3D::lineWidth):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::pixelStorei):
        (WebCore::GraphicsContext3D::polygonOffset):
        (WebCore::GraphicsContext3D::readPixels):
        (WebCore::GraphicsContext3D::releaseShaderCompiler):
        (WebCore::GraphicsContext3D::renderbufferStorage):
        (WebCore::GraphicsContext3D::sampleCoverage):
        (WebCore::GraphicsContext3D::scissor):
        (WebCore::GraphicsContext3D::shaderSource):
        (WebCore::GraphicsContext3D::stencilFunc):
        (WebCore::GraphicsContext3D::stencilFuncSeparate):
        (WebCore::GraphicsContext3D::stencilMask):
        (WebCore::GraphicsContext3D::stencilMaskSeparate):
        (WebCore::GraphicsContext3D::stencilOp):
        (WebCore::GraphicsContext3D::stencilOpSeparate):
        (WebCore::GraphicsContext3D::texParameterf):
        (WebCore::GraphicsContext3D::texParameteri):
        (WebCore::GraphicsContext3D::uniform1f):
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2f):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3f):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4f):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1i):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2i):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3i):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4i):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::vertexAttrib1f):
        (WebCore::GraphicsContext3D::vertexAttrib1fv):
        (WebCore::GraphicsContext3D::vertexAttrib2f):
        (WebCore::GraphicsContext3D::vertexAttrib2fv):
        (WebCore::GraphicsContext3D::vertexAttrib3f):
        (WebCore::GraphicsContext3D::vertexAttrib3fv):
        (WebCore::GraphicsContext3D::vertexAttrib4f):
        (WebCore::GraphicsContext3D::vertexAttrib4fv):
        (WebCore::GraphicsContext3D::vertexAttribPointer):
        (WebCore::GraphicsContext3D::viewport):
        (WebCore::GraphicsContext3D::getBooleanv):
        (WebCore::GraphicsContext3D::getBufferParameteriv):
        (WebCore::GraphicsContext3D::getFloatv):
        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
        (WebCore::GraphicsContext3D::getIntegerv):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):
        (WebCore::GraphicsContext3D::getTexParameterfv):
        (WebCore::GraphicsContext3D::getTexParameteriv):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):
        (WebCore::GraphicsContext3D::getVertexAttribfv):
        (WebCore::GraphicsContext3D::getVertexAttribiv):
        (WebCore::GraphicsContext3D::getVertexAttribOffset):
        (WebCore::GraphicsContext3D::texImage2D):
        (WebCore::GraphicsContext3D::texSubImage2D):
        (WebCore::GraphicsContext3D::createBuffer):
        (WebCore::GraphicsContext3D::createFramebuffer):
        (WebCore::GraphicsContext3D::createProgram):
        (WebCore::GraphicsContext3D::createRenderbuffer):
        (WebCore::GraphicsContext3D::createShader):
        (WebCore::GraphicsContext3D::createTexture):
        (WebCore::GraphicsContext3D::deleteBuffer):
        (WebCore::GraphicsContext3D::deleteFramebuffer):
        (WebCore::GraphicsContext3D::deleteProgram):
        (WebCore::GraphicsContext3D::deleteRenderbuffer):
        (WebCore::GraphicsContext3D::deleteShader):
        (WebCore::GraphicsContext3D::deleteTexture):

2011-12-18  Andreas Kling  <kling@webkit.org>

        Removing unrelated printf() that slipped into my last commit.

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):

2011-12-18  Andreas Kling  <kling@webkit.org>

        KURL::protocolIs() should handle 8-bit strings.
        <http://webkit.org/b/74827>

        Reviewed by Antti Koivisto.

        * platform/KURL.cpp:
        (WebCore::isLetterMatchIgnoringCase):

            Turned this into a template method so it can be used for both UChar and LChar.

        (WebCore::charactersAreProtocol):
        (WebCore::protocolIs):

            Handle 8/16 bit strings separately to avoid conversion.

2011-12-18  Alice Boxhall  <aboxhall@chromium.org>

        Make AccessibilityObject::lineForPosition return the correct value for cases where the position is not within the current object.
        https://bugs.webkit.org/show_bug.cgi?id=71348

        Reviewed by Chris Fleizach.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::lineForPosition):
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

2011-12-18  Sam Weinig  <sam@webkit.org>

        Make EventHandler::handleWheelEvent take const PlatformWheelEvent&
        https://bugs.webkit.org/show_bug.cgi?id=74824

        Reviewed by Anders Carlsson.

        * WebCore.exp.in:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleWheelEvent):
        * page/EventHandler.h:
        * page/blackberry/EventHandlerBlackBerry.cpp:
        (WebCore::EventHandler::passWheelEventToWidget):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::passWheelEventToWidget):
        * page/efl/EventHandlerEfl.cpp:
        (WebCore::EventHandler::passWheelEventToWidget):
        * page/gtk/EventHandlerGtk.cpp:
        (WebCore::EventHandler::passWheelEventToWidget):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passWheelEventToWidget):
        * page/qt/EventHandlerQt.cpp:
        (WebCore::EventHandler::passWheelEventToWidget):
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::passWheelEventToWidget):
        * page/wx/EventHandlerWx.cpp:
        (WebCore::EventHandler::passWheelEventToWidget):
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::copyTurningVerticalTicksIntoHorizontalTicks):

2011-12-18  James Kozianski  <koz@chromium.org>

        [chromium] Add worldId parameter to allowScriptExtension()
        https://bugs.webkit.org/show_bug.cgi?id=74214

        Chromium uses the worldId to determine what extension is running in a
        v8 context and knowing that at the time allowScriptExtension() is
        called allows us to conditionally inject extension APIs.

        Reviewed by Darin Fisher.

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        (WebCore::V8DOMWindowShell::createNewContext):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::V8IsolatedContext):
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::allowScriptExtension):
        * loader/FrameLoaderClient.h:

2011-12-18  Adam Barth  <abarth@webkit.org>

        Adoption agency iteration limits in HTML parser don't match HTML5 spec
        https://bugs.webkit.org/show_bug.cgi?id=74822

        Reviewed by Eric Seidel.

        Previously, we were using the iteration limits from the old tree
        builder.  Now we use the iteration limits from the HTML5 specification.

        Tests: html5lib/runner.html

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2011-12-18  Antti Koivisto  <antti@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=73954
        REGRESSION (r97745): Transitions don't work on links

        Reviewed by Andreas Kling.

        Test: transitions/visited-link-color.html
        
        Since visited link colors are now part of the RenderStyle, they need to be transitioned
        along with the corresponding regular colors.

        * page/animation/AnimationBase.cpp:
        (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
        (WebCore::PropertyWrapperVisitedAffectedColor::equals):
        (WebCore::PropertyWrapperVisitedAffectedColor::blend):
        (WebCore::AnimationBase::ensurePropertyMap):
        
            Add new wrapper class that applies both regular and visited color.
        
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::visitedLinkColor):
        (WebCore::InheritedFlags::visitedLinkBackgroundColor):
        (WebCore::InheritedFlags::visitedLinkBorderLeftColor):
        (WebCore::InheritedFlags::visitedLinkBorderRightColor):
        (WebCore::InheritedFlags::visitedLinkBorderBottomColor):
        (WebCore::InheritedFlags::visitedLinkBorderTopColor):
        (WebCore::InheritedFlags::visitedLinkOutlineColor):
        (WebCore::InheritedFlags::visitedLinkColumnRuleColor):
        (WebCore::InheritedFlags::visitedLinkTextEmphasisColor):
        (WebCore::InheritedFlags::visitedLinkTextFillColor):
        (WebCore::InheritedFlags::visitedLinkTextStrokeColor):
        
            Add accessors.
        
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        
            Opportunistic fix. Don't know how to test.

2011-12-18  Anders Carlsson  <andersca@apple.com>

        Set the main frame view scroll position asynchronously
        https://bugs.webkit.org/show_bug.cgi?id=74823

        Reviewed by Sam Weinig.

        * page/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
        Initialize m_didDispatchDidUpdateMainFrameScrollPosition to false.

        (WebCore::ScrollingCoordinator::didUpdateMainFrameScrollPosition):
        Get the scroll position, reset m_didDispatchDidUpdateMainFrameScrollPosition to false and
        then call FrameView::setScrollOffset to update the scroll position.

        * page/ScrollingCoordinator.h:
        * page/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
        Update the scroll position and dispatch ScrollingCoordinator::didUpdateMainFrameScrollPosition on
        the main thread if needed.

2011-12-18  Andreas Kling  <kling@webkit.org>

        JSC/HTMLCollection: Optimize canGetItemsForName().
        <http://webkit.org/b/74806>

        Reviewed by Sam Weinig.

        Add HTMLCollection::hasNamedItem(name) and use that in the JSC bindings'
        canGetItemsForName() instead of fetching the list of named items just to
        check if it's empty or not.

        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::JSHTMLAllCollection::canGetItemsForName):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::JSHTMLCollection::canGetItemsForName):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::hasNamedItem):
        * html/HTMLCollection.h:

2011-12-18  Sam Weinig  <sam@webkit.org>

        Spruce up PlatformWheelEvent a bit
        https://bugs.webkit.org/show_bug.cgi?id=74821

        Reviewed by Dan Bernstein.

        * dom/WheelEvent.cpp:
        (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::directionInvertedFromDevice):
        Remove x/y getters in favor of direct access to the IntPoints, and rename 
        webkitDirectionInvertedFromDevice() to directionInvertedFromDevice() since
        it is not an exposed API.

2011-12-18  Anders Carlsson  <andersca@apple.com>

        Scroll the main frame on the scrolling thread
        https://bugs.webkit.org/show_bug.cgi?id=74820

        Reviewed by Andreas Kling.

        * page/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::handleWheelEvent):
        Compute a scroll offset from the wheel event and tell the scrolling thread to scroll by the given offset.

        * page/ScrollingCoordinator.h:
        * page/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
        Clamp the updated position to the minimum and maximum scrollable position.

        (WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPositionOnScrollingThread):
        Actually reposition the layer.

2011-12-18  Andreas Kling  <kling@webkit.org>

        HTMLAllCollection: Get rid of stateful namedItem traversal.
        <http://webkit.org/b/74803>

        Reviewed by Sam Weinig.

        Add a namedItemWithIndex() function to HTMLAllCollection to cover the
        document.all(name, index) use-case. This moves the collection traversal
        into WebCore and allows us to remove some complexity.

        This incidentally fixes a bug where the CollectionCache would point to
        the last node returned by document.all(name, index) without the correct
        associated node index (because info()->current was getting set without
        updating info()->position.) Added a layout test for that.

        Test: fast/dom/htmlallcollection-call-with-index-caching-bug.html

        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::callHTMLAllCollection):
        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
        (WebCore::V8HTMLAllCollection::callAsFunctionCallback):

            Replace collection traversal by calls to namedItemWithIndex().

        * html/HTMLCollection.h:

            Promoted updateNameCache() to protected (for HTMLAllCollection.)
            Demoted checkForNameMatch() to private.

        * html/HTMLAllCollection.cpp:
        (WebCore::HTMLAllCollection::namedItemWithIndex):

            Added for document.all(name, index). Uses the name/id cache.

        * html/HTMLAllCollection.cpp:
        * html/HTMLAllCollection.h:
        (WebCore::HTMLAllCollection::HTMLAllCollection):

            Removed m_idsDone, HTMLAllCollection is now stateless.


2011-12-18  Anders Carlsson  <andersca@apple.com>

        The scrolling coordinator should know about the main frame scroll layer
        https://bugs.webkit.org/show_bug.cgi?id=74817

        Reviewed by Andreas Kling.

        * page/ScrollingCoordinator.h:
        * page/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingThread::threadCallback):
        Move the * to where it belongs.

        (WebCore::ScrollingCoordinator::setFrameScrollLayer):
        Keep track of the underlying CALayer of the frame scroll layer.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::ensureRootLayer):
        Call ScrollingCoordinator::setFrameScrollLayer.

2011-12-18  Andreas Kling  <kling@webkit.org>

        Interacting with GMail message lists is sluggish.
        <http://webkit.org/b/74813>

        Reviewed by Dan Bernstein.

        Add an argument to collapsed*Border() to control whether the border
        color is computed or not. This allows us to avoid expensive work when
        we're only interested in the metrics.

        RenderStyle::visitedDependentColor() was very hot (4.5%) when hit-testing
        on GMail and this removes its usage altogether.
        This should be an improvement for table rendering as well, since it was
        all happening below RenderBox::overflowClipRect().

        * rendering/RenderTableCell.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::collapsedLeftBorder):
        (WebCore::RenderTableCell::collapsedRightBorder):
        (WebCore::RenderTableCell::collapsedTopBorder):
        (WebCore::RenderTableCell::collapsedBottomBorder):

            Add and propagate an IncludeBorderColorOrNot argument that decides
            whether we compute the CollapsedBorderValue's color.

        (WebCore::RenderTableCell::collapsedStartBorder):
        (WebCore::RenderTableCell::collapsedEndBorder):

            Renamed start & end to startColorProperty & endColorProperty
            for clarity. Also same modifications as the above functions.

        (WebCore::RenderTableCell::collapsedBeforeBorder):
        (WebCore::RenderTableCell::collapsedAfterBorder):

            Renamed before & after to beforeColorProperty & afterColorProperty
            for clarity. Also same modifications as the above functions.

        (WebCore::RenderTableCell::borderHalfStart):
        (WebCore::RenderTableCell::borderHalfEnd):
        (WebCore::RenderTableCell::borderHalfBefore):
        (WebCore::RenderTableCell::borderHalfAfter):

            Pass DoNotIncludeBorderColor to collapsed*Border() since we only care
            about the metrics here.

2011-12-18  Anders Carlsson  <andersca@apple.com>

        The scrolling coordinator should keep track of the main frame geometry
        https://bugs.webkit.org/show_bug.cgi?id=74816

        Reviewed by Andreas Kling.

        * page/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::syncFrameGeometry):
        Update the frame geometry accordingly when it changes.

        * page/ScrollingCoordinator.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
        Call ScrollingCoordinator::syncFrameGeometry.

        (WebCore::RenderLayerCompositor::scrollingCoordinator):
        Add new getter.

2011-12-17  Sam Weinig  <sam@webkit.org>

        Move timestamp down from PlatformEvent subclasses to the base class
        https://bugs.webkit.org/show_bug.cgi?id=74805

        Reviewed by Anders Carlsson.

        * platform/PlatformEvent.h:
        (WebCore::PlatformEvent::type):
        (WebCore::PlatformEvent::timestamp):
        (WebCore::PlatformEvent::PlatformEvent):
        * platform/PlatformGestureEvent.h:
        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
        * platform/PlatformMouseEvent.h:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        (WebCore::PlatformMouseEvent::clickCount):
        * platform/PlatformTouchEvent.h:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/efl/PlatformKeyboardEventEfl.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/efl/PlatformMouseEventEfl.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/efl/PlatformTouchEventEfl.cpp:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        * platform/efl/PlatformWheelEventEfl.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/gtk/PlatformKeyboardEventGtk.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/gtk/PlatformWheelEventGtk.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/mac/KeyEventMac.mm:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/mac/PlatformMouseEventMac.mm:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/mac/WheelEventMac.mm:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/qt/WheelEventQt.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/win/KeyEventWin.cpp:
        (WebCore::singleCharacterString):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/win/PlatformMouseEventWin.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/win/WheelEventWin.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/wx/KeyboardEventWx.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/wx/MouseEventWx.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/wx/MouseWheelEventWx.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2011-12-18  Anders Carlsson  <andersca@apple.com>

        Add a scrolling thread to the scrolling coordinator
        https://bugs.webkit.org/show_bug.cgi?id=74814

        Reviewed by Andreas Kling.

        * WebCore.exp.in:
        Export ScrollingCoordinator::handleWheelEvent.

        * WebCore.xcodeproj/project.pbxproj:
        Add ScrollingCoordinatorMac.mm

        * page/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::handleWheelEvent):
        Add a stub function.

        * page/ScrollingCoordinator.h:
        * page/mac/ScrollingCoordinatorMac.mm: Added.
        Add a ScrollingThread object which creates a thread and attaches a run loop source
        to it, allowing for functions to be dispatched and run on said thread.

        (WebCore::ScrollingCoordinator::isScrollingThread):
        Call ScrollingThread::isCurrentThread.

        (WebCore::ScrollingCoordinator::dispatchOnScrollingThread):
        Call ScrollingThread::dispatch.

2011-12-18  Anders Carlsson  <andersca@apple.com>

        EventDispatcher should keep track of all scrolling coordinators
        https://bugs.webkit.org/show_bug.cgi?id=74810

        Reviewed by Andreas Kling.

        Export symbols needed by WebKit2.

        * WebCore.exp.in:

2011-12-18  Raul Hudea  <rhudea@adobe.com>

        Add transform function completion to web-inspector

        Web Inspector: Auto-complete transform functions for -webkit-transform
        https://bugs.webkit.org/show_bug.cgi?id=74730

        Reviewed by Pavel Feldman.

        No new test. Trivial change.

        * inspector/front-end/CSSKeywordCompletions.js:

2011-12-18  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: chromium profiler: change default root type for retaining paths from GC Roots to DOMWindow.
        https://bugs.webkit.org/show_bug.cgi?id=74697

        Reviewed by Pavel Feldman.

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype.get isTracingToWindowObjects):

2011-12-18  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: Switch to type-safe JSON ConsoleMessage.cpp, InspectorDOMAgent.cpp, InspectorDebuggerAgent.cpp, ScriptCallFrame.cpp
        https://bugs.webkit.org/show_bug.cgi?id=74549

        Reviewed by Pavel Feldman.

        Work with InspectorObject is replaced with type-safe generated API
        usage.
        Inspector.json and Inspector-0.1.json are also changed to better
        reflect data types that are actually being transmitted.

        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::addToFrontend):
        * inspector/Inspector-0.1.json:
        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
        * inspector/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::buildInspectorObject):

2011-12-18  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py: use generated types in method parameters
        https://bugs.webkit.org/show_bug.cgi?id=74661

        Reviewed by Pavel Feldman.

        Type binding object is added to raw_type object.

        * inspector/CodeGeneratorInspector.py:
        (TypeBindings.create_for_named_type_declaration.EnumBinding.generate_type_builder):
        (TypeBindings.create_for_named_type_declaration.EnumBinding.get_in_c_type_text):
        (TypeBindings.create_for_named_type_declaration.EnumBinding):
        (TypeBindings.create_for_named_type_declaration.EnumBinding.reduce_to_raw_type):
        (TypeBindings.create_for_named_type_declaration.PlainString.generate_type_builder):
        (TypeBindings.create_for_named_type_declaration.PlainString.reduce_to_raw_type):
        (TypeBindings.create_for_named_type_declaration.PlainString):
        (TypeBindings.create_for_named_type_declaration.PlainString.get_in_c_type_text):
        (TypeBindings):
        (TypeBindings.create_for_named_type_declaration.ClassBinding):
        (get_in_c_type_text):
        (reduce_to_raw_type):
        (PlainObjectBinding.generate_type_builder):
        (PlainObjectBinding.get_in_c_type_text):
        (PlainObjectBinding):
        (PlainObjectBinding.reduce_to_raw_type):
        (RawTypesBinding.generate_type_builder):
        (RawTypesBinding.get_in_c_type_text):
        (RawTypesBinding):
        (RawTypesBinding.reduce_to_raw_type):
        (resolve_param_type.RawTypeBinding.reduce_to_raw_type):
        (resolve_param_type.RawTypeBinding):
        (resolve_param_type.RawTypeBinding.get_in_c_type_text):
        (resolve_param_type):
        (Generator.process_event):

2011-12-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r103169.
        http://trac.webkit.org/changeset/103169
        https://bugs.webkit.org/show_bug.cgi?id=74809

        it broke compilation on many platforms (Requested by loislo_
        on #webkit).

        * WebCore.gypi:
        * platform/ColorChooser.cpp: Renamed from Source/WebKit/chromium/src/ColorChooserProxy.h.
        (WebCore::ColorChooserClient::~ColorChooserClient):
        (WebCore::ColorChooserClient::newColorChooser):
        (WebCore::ColorChooserClient::discardChooser):
        (WebCore::ColorChooser::ColorChooser):
        (WebCore::ColorChooser::create):
        (WebCore::ColorChooser::~ColorChooser):
        (WebCore::ColorChooser::didChooseColor):
        (WebCore::ColorChooser::didCleanup):

2011-12-18  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Shaders] Add FECustomFilter that renders custom filters
        https://bugs.webkit.org/show_bug.cgi?id=73317

        Using a GraphicsContext3D to render the shaders in GPU, read the
        result back and use it in the software filters pipeline.

        Reviewed by Chris Marrin.

        Test: css3/filters/effect-custom.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/cache/CachedShader.cpp:
        (WebCore::CachedShader::CachedShader):
        (WebCore::CachedShader::shaderString):
        (WebCore::CachedShader::data):
        * loader/cache/CachedShader.h:
        * platform/graphics/filters/CustomFilterMesh.cpp: Added.
        (WebCore::MeshGenerator::MeshGenerator):
        (WebCore::MeshGenerator::vertices):
        (WebCore::MeshGenerator::indices):
        (WebCore::MeshGenerator::points):
        (WebCore::MeshGenerator::pointsCount):
        (WebCore::MeshGenerator::tiles):
        (WebCore::MeshGenerator::tilesCount):
        (WebCore::MeshGenerator::indicesCount):
        (WebCore::MeshGenerator::floatsPerVertex):
        (WebCore::MeshGenerator::vertexCount):
        (WebCore::MeshGenerator::addTile):
        (WebCore::MeshGenerator::addAttachedMeshIndex):
        (WebCore::MeshGenerator::generateAttachedMesh):
        (WebCore::MeshGenerator::addDetachedMeshVertexAndIndex):
        (WebCore::MeshGenerator::generateDetachedMesh):
        (WebCore::MeshGenerator::addPositionAttribute):
        (WebCore::MeshGenerator::addTexCoordAttribute):
        (WebCore::MeshGenerator::addMeshCoordAttribute):
        (WebCore::MeshGenerator::addTriangleCoordAttribute):
        (WebCore::MeshGenerator::addAttachedMeshVertexAttributes):
        (WebCore::MeshGenerator::addDetachedMeshVertexAttributes):
        (WebCore::MeshGenerator::dumpBuffers):
        (WebCore::CustomFilterMesh::CustomFilterMesh):
        (WebCore::CustomFilterMesh::~CustomFilterMesh):
        * platform/graphics/filters/CustomFilterMesh.h: Added.
        (WebCore::CustomFilterMesh::create):
        (WebCore::CustomFilterMesh::verticesBufferObject):
        (WebCore::CustomFilterMesh::bytesPerVertex):
        (WebCore::CustomFilterMesh::elementsBufferObject):
        (WebCore::CustomFilterMesh::indicesCount):
        (WebCore::CustomFilterMesh::meshBox):
        (WebCore::CustomFilterMesh::meshType):
        * platform/graphics/filters/CustomFilterShader.cpp: Added.
        (WebCore::CustomFilterShader::defaultVertexShaderString):
        (WebCore::CustomFilterShader::defaultFragmentShaderString):
        (WebCore::CustomFilterShader::CustomFilterShader):
        (WebCore::CustomFilterShader::~CustomFilterShader):
        * platform/graphics/filters/CustomFilterShader.h: Added.
        * platform/graphics/filters/FECustomFilter.cpp: Added.
        (WebCore::orthoMatrix):
        (WebCore::FECustomFilter::FECustomFilter):
        (WebCore::FECustomFilter::create):
        (WebCore::FECustomFilter::platformApplySoftware):
        (WebCore::FECustomFilter::dump):
        (WebCore::FECustomFilter::externalRepresentation):
        * platform/graphics/filters/FECustomFilter.h: Added.
        * platform/graphics/gpu/Texture.cpp:
        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::TransformationMatrix::toColumnMajorFloatArray):
        * platform/graphics/transforms/TransformationMatrix.h:
        * rendering/FilterEffectObserver.h: Copied from Source/WebCore/loader/cache/CachedShader.cpp.
        (WebCore::FilterEffectObserver::~FilterEffectObserver):
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::isWebGLEnabled):
        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::build):
        (WebCore::FilterEffectRenderer::notifyFinished):
        * rendering/FilterEffectRenderer.h:
        (WebCore::FilterEffectRenderer::create):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
        (WebCore::RenderLayer::filterNeedsRepaint):
        * rendering/RenderLayer.h:
        * rendering/style/StyleCachedShader.h:
        (WebCore::StyleCachedShader::cachedShader):
        * rendering/style/StyleShader.h:
        (WebCore::StyleShader::cachedShader):

2011-12-18  Keishi Hattori  <keishi@webkit.org>

        Implement <input type=color> UI WebKit chromium part
        https://bugs.webkit.org/show_bug.cgi?id=65897

        Reviewed by Darin Fisher.

        * WebCore.gypi: Added ColorChooser.h and ColorChooserClient.h

2011-12-17  Keishi Hattori  <keishi@webkit.org>

        Refactor input type color WebCore part
        https://bugs.webkit.org/show_bug.cgi?id=74591

        Reviewed by Kent Tamura.

        Changing ColorChooser to address issues raised in Bug 65897.
        Chrome::createColorChooser will return a WebCore::ColorChooser instance
        so the WebCore side (ColorInputType) and call the WebKit side. We pass the ColorChooserClient as an argument
        to Chrome::createColorChooser so the WebKit side can call callbacks, didEndChooser and didChooseColor.

        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::~ColorInputType):
        (WebCore::ColorInputType::setValue):
        (WebCore::ColorInputType::handleDOMActivateEvent): Calls createColorChooser to open the color chooser.
        (WebCore::ColorInputType::detach):
        (WebCore::ColorInputType::didEndChooser): Release the ColorChooser object.
        (WebCore::ColorInputType::endColorChooser):
        (WebCore::ColorInputType::updateColorSwatch): Added argument so it will compile again.
        * html/ColorInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::selectColorInColorChooser):
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::createColorChooser):
        * loader/FrameLoader.cpp:
        * page/Chrome.cpp:
        (WebCore::Chrome::createColorChooser): Opens the color chooser. Returns a ColorChooser PassOwnPtr.
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/ColorChooser.h:
        (WebCore::ColorChooser::~ColorChooser):
        (WebCore::ColorChooser::setSelectedColor):
        (WebCore::ColorChooser::endChooser):
        * platform/ColorChooserClient.h: Added.

2011-12-17  Sam Weinig  <sam@webkit.org>

        Make PlatformTouchEvent inherit from PlatformEvent
        https://bugs.webkit.org/show_bug.cgi?id=74777

        Reviewed by Andreas Kling.

        * platform/PlatformEvent.h:
        Add TouchEvent types.

        * platform/PlatformTouchEvent.h:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        Make inherit from PlatformEvent.

        * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
        (WebCore::touchEventType):
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        * platform/efl/PlatformTouchEventEfl.cpp:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        * platform/qt/PlatformTouchEventQt.cpp:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        Make necessary changes to work with new base class.

2011-12-17  Andreas Kling  <kling@webkit.org>

        Cache and reuse the HTMLAllCollection returned by document.all.
        <http://webkit.org/b/74768>

        Reviewed by Antti Koivisto.

        Let Document cache the document.all collection, just like we do for
        the other collections (.links, .images, etc.)
        This is primarily a memory optimization, as repeated calls to
        document.all will no longer cause collection objects to stack up.

        Tests: fast/dom/document-collection-idempotence.html
               fast/dom/gc-9.html

        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::all):

            Cache the HTMLAllCollection and reuse it across calls instead of
            creating a new one each time.

        * html/HTMLAllCollection.h:
        * html/HTMLAllCollection.cpp:
        (WebCore::HTMLAllCollection::create):
        (WebCore::HTMLAllCollection::HTMLAllCollection):

            Make the HTMLAllCollection constructor take a Document* to enforce
            the fact that it's the only way it should ever be created.

        * html/HTMLAllCollection.idl:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):

            Custom reachability code for JSC, same as HTMLCollection.

2011-12-17  Andreas Kling  <kling@webkit.org>

        HTMLCollection: Simplify itemAfter().
        <http://webkit.org/b/74795>

        Reviewed by Antti Koivisto.

        Whether to do deep traversal of children depends on m_type which
        doesn't change after construction, so move that decision there
        by caching it in a "m_includeChildren" bit.

        Also factored out the big switch statement in itemAfter() into
        an isAcceptableElement() function.

        Last and least, use fastHasAttribute() to check for itempropAttr
        since it's not SVG animatable.

        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::shouldIncludeChildren):
        (WebCore::HTMLCollection::isAcceptableElement):
        (WebCore::HTMLCollection::itemAfter):
        * html/HTMLCollection.h:

2011-12-17  Andreas Kling  <kling@webkit.org>

        TagNodeList: Optimize nodeMatches() for the common case.
        <http://webkit.org/b/74796>

        Reviewed by Antti Koivisto.

        Reject based on tag name mismatch before comparing the namespaces,
        as this case is vastly more common.

        nodeMatches() is very hot on the DOM Query (Dojo) test on Dromaeo.
        This change takes it from 8.3% to 7.7% on my MBP.

        * dom/TagNodeList.cpp:
        (WebCore::TagNodeList::nodeMatches):

2011-12-17  Andreas Kling  <kling@webkit.org>

        NameNodeList: Use fastGetAttribute() in nodeMatches().
        <http://webkit.org/b/74797>

        Reviewed by Darin Adler.

        It's safe and slightly more efficient to use fastGetAttribute()
        for HTMLNames::nameAttr here.

        * dom/NameNodeList.cpp:
        (WebCore::NameNodeList::nodeMatches):

2011-12-17  Andreas Kling  <kling@webkit.org>

        CSSPrimitiveValue: Inline getIdent().
        <http://webkit.org/b/74793>

        Reviewed by Antti Koivisto.

        Inline the trivial getIdent(), the same as its getFoo() siblings.

        * css/CSSPrimitiveValue.cpp:
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::getIdent):

2011-12-17  Andreas Kling  <kling@webkit.org>

        CSSStyleSelector: Clean up matchRules().
        <http://webkit.org/b/74794>

        Reviewed by Antti Koivisto.

        - Early return from the isCollectingRulesOnly() path to reduce nesting.
        - Move the creation of m_ruleList out of the loop that builds the list.
        - Removed some comments from the Captain Obvious department.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchRules):

2011-12-17  Andreas Kling  <kling@webkit.org>

        RuleSet: Remove style sheet null-check in addRulesFromSheet().
        <http://webkit.org/b/74792>

        Reviewed by Antti Koivisto.

        Replace the "sheet" null-check in addRulesFromSheet() by an assertion.
        The only call-site where it could be null was when adding rules from
        an @import'ed sheet, so add a check there instead.

        * css/CSSStyleSelector.cpp:
        (WebCore::RuleSet::addRulesFromSheet):

2011-12-17  Andreas Kling  <kling@webkit.org>

        CSSStyleSelector: Clean up getColorFromPrimitiveValue().
        <http://webkit.org/b/74789>

        Reviewed by Antti Koivisto.

        Rename getColorFromPrimitiveValue() to colorFromPrimitiveValue() and rework
        it to be a bit more readable.

        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::addStops):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyColor::applyValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::colorFromPrimitiveValue):
        (WebCore::CSSStyleSelector::createFilterOperations):
        * css/CSSStyleSelector.h:
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):

2011-12-17  Kenichi Ishibashi  <bashi@chromium.org>

        Text dispappear when SVG font has no latin character
        https://bugs.webkit.org/show_bug.cgi?id=71765

        Reviewed by Nikolas Zimmermann.

        Initialize SVG font metrics even if the font doesn't contain latin characters.

        Test: svg/custom/svg-fonts-no-latin-glyph.html

        * svg/SVGFontData.cpp:
        (WebCore::SVGFontData::initializeFontData): Initializes metrics even if the zeroGlyphPage doesn't exist.

2011-12-17  David Barton  <dbarton@mathscribe.com>

        Radical sign drawn incorrectly due to refactoring typo
        https://bugs.webkit.org/show_bug.cgi?id=74780

        Reviewed by Dan Bernstein.

        LayoutTests/mathml/presentation/roots.xhtml shows the bug, but apparently its .png
        checksum is ok so run-webkit-tests can't detect the problem.

        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):
        In revision 88250, one paintOffset should have been adjustedPaintOffset.

2011-12-17  Adrienne Walker  <enne@google.com>

        [chromium] Reverting r103011, r103135 due to Aura test failures

        Unreviewed gardening.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::~ContentLayerChromium):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::notifySyncRequired):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setLayerTreeHost):
        (WebCore::LayerChromium::setNeedsCommit):
        (WebCore::LayerChromium::setParent):
        (WebCore::LayerChromium::setMaskLayer):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setReplicaLayer):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::setLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCLayerTreeHost::setRootLayer):

2011-12-16  Chris Marrin  <cmarrin@apple.com>

        Hardware acceleration of W3C Filter Effects
        https://bugs.webkit.org/show_bug.cgi?id=68479

        Reviewed by Simon Fraser.

        Tests: css3/filters/effect-blur-hw.html
               css3/filters/effect-combined-hw.html
               css3/filters/effect-drop-shadow-hw.html
               css3/filters/effect-grayscale-hw.html
               css3/filters/effect-hue-rotate-hw.html
               css3/filters/effect-invert-hw.html
               css3/filters/effect-opacity-hw.html
               css3/filters/effect-saturate-hw.html
               css3/filters/effect-sepia-hw.html

        Implement hardware acceleration of filters. If a filter is
        on a RenderLayer and that layer has a GraphicsLayer, a test
        is done to see if the desired filter can be rendered in hardware.
        If so, skip rendering it when painting, and add the filters to the
        CALayer. Currently Mac only, using CoreImage. Animation is done in
        software, with the filters being recreated every frame. There are
        some fidelity issues with the software renderer, but those will
        be dealt with as bugs to be fixed.

        * platform/graphics/GraphicsLayer.h: Pass down FilterOperations
        (WebCore::GraphicsLayer::filter):
        (WebCore::GraphicsLayer::setFilter):
        * platform/graphics/ca/GraphicsLayerCA.cpp: Deferred passdown of FilterOperations to PlatformCALayer
        (WebCore::GraphicsLayerCA::setFilter):
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerCA::updateFilter):
        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        * platform/graphics/ca/GraphicsLayerCA.h:
        * platform/graphics/ca/PlatformCALayer.h:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm: Mac implementation using CI
        (PlatformCALayer::setFilter):
        (PlatformCALayer::filterCanBeComposited): Static function to tell GraphicsLayer if this Filter object can be rendered
        * platform/graphics/filters/FilterOperations.cpp:
        (WebCore::FilterOperations::operator=):
        * platform/graphics/filters/FilterOperations.h:
        (WebCore::FilterOperations::FilterOperations):
        * rendering/RenderLayer.cpp: Pass filter object to GraphicsLayer
        (WebCore::RenderLayer::rendersFilter):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
        (WebCore::RenderLayerBacking::updateLayerFilter):
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        * rendering/RenderLayerBacking.h:
        (WebCore::RenderLayerBacking::canCompositeFilter):

2011-12-17  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, GTK build fix after r103131.

        * GNUmakefile.list.am: Fix typo... s/.cop/.cpp

2011-12-16  Benjamin Poulain  <bpoulain@apple.com>

        FEComposite does not build when you disable filters on ARMv7
        https://bugs.webkit.org/show_bug.cgi?id=74772

        Reviewed by David Kilzer.

        Add the missing ENABLE(FILTERS).

        * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp:
        * platform/graphics/filters/arm/FECompositeArithmeticNEON.h:

2011-12-16  Ryosuke Niwa  <rniwa@webkit.org>

        Mac build fix after r103104.

        * WebCore.xcodeproj/project.pbxproj:

2011-12-16  Adam Klein  <adamk@chromium.org>

        Consolidate before-advice regarding attribute modification into a single method
        https://bugs.webkit.org/show_bug.cgi?id=74752

        Reviewed by Ryosuke Niwa.

        Adds a willModifyAttribute method to Element, meant to be called
        before an attribute on that Element is added/removed/changed.

        Replace most calls to Element::updateId and all calls to
        Element::enqueueAttributesMutationRecordIfRequested with calls to
        willModifyAttribute. Moreover, enqueueAttributesMutation... can now
        be private since its only caller is willModifyAttribute.

        The only remaining direct calls to updateId are in cases the entire
        NamedNodeMap is being replaced. These are implementation details of
        WebCore that shouldn't be exposed via MutationObservers.

        No new tests, no expected change in behavior.

        * dom/Attr.cpp:
        (WebCore::Attr::setValue):
        (WebCore::Attr::childrenChanged): Besides the above change, use a
        StringBuilder to build up value, and only do String -> AtomicString
        conversion once.
        * dom/Element.cpp:
        (WebCore::Element::setAttributeInternal):
        * dom/Element.h:
        (WebCore::Element::willModifyAttribute):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setNamedItem):
        (WebCore::NamedNodeMap::removeNamedItem):

2011-12-16  James Robinson  <jamesr@chromium.org>

        [chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired
        https://bugs.webkit.org/show_bug.cgi?id=74376

        Reviewed by Kenneth Russell.

        CCLayerDelegate::notifySyncRequired is an odd bit of interface that we originally cargo-culted from the
        CoreAnimation compositor implementation. It is a mechanism by which a LayerChromium instance may request a new
        frame via its CCLayerDelegate, which in WebCore is always a GraphicsLayerClient. In practice, all
        implementations eventually ended up routing to CCLayerTreeHost::setNeedsCommit which then made the proper
        scheduling decision.

        This patch routes all changes that would have gone through CCLayerDelegate::notifySyncRequired directly to
        CCLayerTreeHost::setNeedsCommit, which greatly simplifies the scheduling logic.

        There is a large amount of unit test coverage for this change, largely in LayerChromiumTest

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setNeedsCommit):
        (WebCore::LayerChromium::insertChild):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::setRootLayer):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCScopedThreadProxy.h:
        (WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):

2011-12-16  Adam Klein  <adamk@chromium.org>

        Fix typo in MarkupTokenBase: rename takeAtributes to takeAttributes
        https://bugs.webkit.org/show_bug.cgi?id=74766

        Reviewed by Darin Adler.

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLConstructionSite::createElement):
        (WebCore::HTMLConstructionSite::createHTMLElement):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
        * xml/parser/MarkupTokenBase.h:
        (WebCore::AtomicMarkupTokenBase::takeAttributes):

2011-12-16  Adam Barth  <abarth@webkit.org>

        <option><span><option> doesn't parse correctly
        https://bugs.webkit.org/show_bug.cgi?id=74760

        Reviewed by Eric Seidel.

        The <option> start tag shouldn't be quite as aggressive in closing open
        <option> tags.  I'm not sure whether this was a change in the spec or a
        mistranscription, but this patch causes us to match the spec.  I've
        checked the other optionTag checks, and they all seem to be correct.

        * html/parser/HTMLTreeBuilder.cpp:

2011-12-16  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Remove platform-dependent code in Document.cpp resulting from Mutation Event histogram collection
        https://bugs.webkit.org/show_bug.cgi?id=73026

        Reviewed by Ryosuke Niwa.

        This patch adds platform/HistogramSupport which has an empty implementation for all ports
        except Chromium.

        No tests need. This patch is just a refactor.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::histogramMutationEventUsage):
        (WebCore::Document::~Document):
        * platform/HistogramSupport.h: Added.
        (WebCore::HistogramSupport::histogramEnumeration):
        * platform/chromium/HistogramSupportChromium.cpp: Added.
        (WebCore::HistogramSupport::histogramEnumeration):

2011-12-16  Brady Eidson  <beidson@apple.com>

        <rdar://problem/10576732> and https://bugs.webkit.org/show_bug.cgi?id=74533
        REGRESSION(r102619): Reproducible crash closing window with video + poster image inside an object element

        Reviewed by Darin Adler.

        Test: media/crash-closing-page-with-media-as-plugin-fallback.html

        At some point documentWillBecomeInactive() was overloaded to not only notify elements they were going in to the page
        cache but also do some other work that was necessary during Document teardown.

        This crash occurs because we're notifying elements they're going in to the page cache at document teardown, so this
        patch breaks that work back out in to a separate function.

        * dom/Document.cpp:
        (WebCore::Document::detach): Remove obsolete comment.
        (WebCore::Document::documentWillBecomeInactive): Handle only accelerated compositing cleanup.
        (WebCore::Document::documentWillSuspendForPageCache): Call documentWillBecomeInactive before notifying elements of suspension.
        (WebCore::Document::documentDidResumeFromPageCache):
        (WebCore::Document::registerForPageCacheSuspensionCallbacks):
        (WebCore::Document::unregisterForPageCacheSuspensionCallbacks):
        * dom/Document.h:

        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::restore): Call the renamed documentDidResumeFromPageCache.
        (WebCore::CachedFrame::CachedFrame): Call documentWillSuspendForPageCache instead of documentDidBecomeInactive.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad): Call the renamed documentDidResumeFromPageCache.

        * dom/Element.h:
        (WebCore::Element::documentWillSuspendForPageCache): Renamed from documentWillBecomeInactive()
        (WebCore::Element::documentDidResumeFromPageCache): Renamed from documentDidBecomeActive()

        Change to the renamed registration and callbacks functions in the handful of classes that use them:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::~HTMLFormElement):
        (WebCore::HTMLFormElement::parseMappedAttribute):
        (WebCore::HTMLFormElement::documentDidResumeFromPageCache):
        (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
        (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
        * html/HTMLFormElement.h:

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement):
        (WebCore::HTMLInputElement::updateType):
        (WebCore::HTMLInputElement::parseMappedAttribute):
        (WebCore::HTMLInputElement::needsSuspensionCallback):
        (WebCore::HTMLInputElement::registerForSuspensionCallbackIfNeeded):
        (WebCore::HTMLInputElement::unregisterForSuspensionCallbackIfNeeded):
        (WebCore::HTMLInputElement::documentDidResumeFromPageCache):
        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
        * html/HTMLInputElement.h:

        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement):
        (WebCore::HTMLPlugInImageElement::createRenderer):
        (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument):
        (WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument):
        (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
        (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
        * html/HTMLPlugInImageElement.h:

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::~SVGSVGElement):
        (WebCore::SVGSVGElement::willMoveToNewOwnerDocument):
        (WebCore::SVGSVGElement::didMoveToNewOwnerDocument):
        (WebCore::SVGSVGElement::documentWillSuspendForPageCache):
        (WebCore::SVGSVGElement::documentDidResumeFromPageCache):
        * svg/SVGSVGElement.h:

2011-12-16  Eric Penner  <epenner@google.com>

        [chromium] Need to prepaint tiles in TiledLayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=72686

        Reviewed by James Robinson.

        Tests: TiledLayerChromiumTest (idlePaintOutOfMemory, pushIdlePaintTiles)

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty): added idle paint function
        * platform/graphics/chromium/ContentLayerChromium.h: ditto
        * platform/graphics/chromium/LayerChromium.h: ditto
        (WebCore::LayerChromium::idlePaintContentsIfDirty): ditto
        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::protectTexture): removed assert for protecting a texture twice
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::TiledLayerChromium):
        (WebCore::TiledLayerChromium::cleanupResources):
        (WebCore::TiledLayerChromium::updateCompositorResources): refactoring to use tile indices
        (WebCore::TiledLayerChromium::prepareToUpdateTiles): refactored common code and made idle/visible versions
        (WebCore::TiledLayerChromium::prepareToUpdate): ditto
        (WebCore::TiledLayerChromium::prepareToUpdateIdle): ditto
        (WebCore::TiledLayerChromium::needsIdlePaint): 
        (WebCore::TiledLayerChromium::idlePaintRect):
        * platform/graphics/chromium/TiledLayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::compositeAndReadback): set flag to avoid idle paint durring composite and readback
        (WebCore::CCLayerTreeHost::updateLayers): added idle flag parameter
        (WebCore::CCLayerTreeHost::paintContentsIfDirty): ditto
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface): ditto
        (WebCore::CCLayerTreeHost::paintLayerContents): chooses idle or visible paint
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:

2011-12-16  Dean Jackson  <dino@apple.com>

        Miscellaneous Filter updates to align with spec
        https://bugs.webkit.org/show_bug.cgi?id=74736

        Reviewed by Simon Fraser.

        Combine a bunch of small updates to filters where
        we were not compliant with the specification.

        - blur() only takes one value, not two
        - blur() does not accept percentages. This allowed us
          to stop passing the borderBoxSize around while building
          the filter chain or calculating visual overflow.
        - gamma() and sharpen() removed
        - brightness() and contrast() added

        Tests: css3/filters/effect-brightness.html
               css3/filters/effect-contrast.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::valueForFilter): Create new
        variations on component transfer functions for brightness() and
        contrast() effects. Also remove sharpen() and gamma().
        * css/CSSParser.cpp:
        (WebCore::filterInfoForName):
        (WebCore::CSSParser::parseBuiltinFilterArguments): Ditto, and blur
        only takes one argument.
        * css/CSSStyleSelector.cpp:
        (WebCore::filterOperationForType):
        (WebCore::CSSStyleSelector::createFilterOperations): Ditto, and
        use ->isPercentage() to test rather than getting the type.
        * css/WebKitCSSFilterValue.cpp:
        (WebCore::WebKitCSSFilterValue::customCssText):
        * css/WebKitCSSFilterValue.h:
        * css/WebKitCSSFilterValue.idl: Remove sharpen and gamma, add
        brightness and contrast.
        * platform/graphics/filters/FilterOperation.cpp:
        (WebCore::BlurFilterOperation::blend): Blurs only need to blend
        between one standard deviation parameter.
        * platform/graphics/filters/FilterOperation.h: Remove sharpen and
        gamma, add brightness and contrast.
        (WebCore::BlurFilterOperation::create):
        (WebCore::BlurFilterOperation::stdDeviation):
        (WebCore::BlurFilterOperation::operator==):
        (WebCore::BlurFilterOperation::BlurFilterOperation): Blur only takes
        one standard deviation / radius parameter.
        * platform/graphics/filters/FilterOperations.cpp:
        (WebCore::outsetSizeForBlur):
        (WebCore::FilterOperations::getOutsets): No need for borderBox now.
        * platform/graphics/filters/FilterOperations.h:
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::build): Build new effect types.
        * rendering/FilterEffectRenderer.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::addVisualEffectOverflow): No need to pass
        borderBox size when calculating overflow on filter.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::getFilterOutsets): Ditto.

2011-12-16  Andreas Kling  <kling@webkit.org>

        Unreviewed debug build fix after r103115.

        * dom/Document.cpp:
        (WebCore::Document::cachedCollection):

2011-12-16  Mark Hahnenberg  <mhahnenberg@apple.com>

        Windows test fix

        No new tests.

        Unreviewed test fix. All Windows tests were crashing when objects who were pointing to 
        static data members across DLL boundaries were getting garbage in their pointers.

        * WebCore.exp.in:
        * bindings/js/JSDOMWrapper.cpp:
        * bindings/js/JSDOMWrapper.h:

2011-12-16  Ryosuke Niwa  <rniwa@webkit.org>

        Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
        https://bugs.webkit.org/show_bug.cgi?id=74748

        Reviewed by Eric Seidel.

        Renamed registerCommandForUndo and registerCommandForRedo to
        registerUndoStep and registerRedoStep respectively.

        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing):
        (WebCore::Editor::unappliedEditing):
        (WebCore::Editor::reappliedEditing):
        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::registerUndoStep):
        (WebCore::EmptyEditorClient::registerRedoStep):
        * page/EditorClient.h:

2011-12-16  Tim Horton  <timothy_horton@apple.com>

        Canvas should respect backing store scale ratio when used as drawImage() source
        https://bugs.webkit.org/show_bug.cgi?id=74758
        <rdar://problem/10350194>

        Reviewed by Simon Fraser.

        Interpret the source rectangle passed into drawImage() when using a Canvas source in the source Canvas coordinate space,
        instead of in the backing store coordinate space, without changing the behavior of drawImage(canvas, x, y).

        No new tests.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::convertDeviceToLogical):
        * html/HTMLCanvasElement.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):

2011-12-16  Anders Carlsson  <andersca@apple.com>

        Subpixel antialiasing not working in tiled mode
        https://bugs.webkit.org/show_bug.cgi?id=74759

        Reviewed by Simon Fraser.

        Call setContentsOpaque(true) on the main frame render view layer so subpixel aa will be used
        when drawing text into that layer.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):

2011-12-16  Ryosuke Niwa  <rniwa@webkit.org>

        invalidateNodeListsCacheAfterAttributeChanged has too many callers
        https://bugs.webkit.org/show_bug.cgi?id=74692

        Reviewed by Sam Weinig.

        Call invalidateNodeListsCacheAfterAttributeChanged in Element::updateAfterAttributeChanged instead of
        parsedMappedAttribute of various elements. Also make invalidateNodeListsCacheAfterAttributeChanged take
        the qualified name of the changed attribute so that we can exit early when the changed attribute isn't
        one of attributes we care.

        In addition, added a missing call to invalidateNodeListsCacheAfterAttributeChanged in Attr::setValue.

        Test: fast/dom/Attr/invalidate-nodelist-after-attr-setvalue.html

        * dom/Attr.cpp:
        (WebCore::Attr::childrenChanged):
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::addAttribute):
        (WebCore::NamedNodeMap::removeAttribute):
        * dom/Node.cpp:
        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
        * dom/Node.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::classAttributeChanged):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::parseMappedAttribute):
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::parseMappedAttribute):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::parseMappedAttribute):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::parseMappedAttribute):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::parseMappedAttribute):
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::parseMappedAttribute):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::parseMappedAttribute):

2011-12-16  Andreas Kling  <kling@webkit.org>

        Cache and reuse HTMLCollections exposed by Document.
        <http://webkit.org/b/71956>

        Reviewed by Antti Koivisto.

        Let Document cache the various HTMLCollection objects it exposes.
        This is a behavior change in two ways:

        1) The lifetime of returned collections is now tied to the lifetime
           of the Document. This matches the behavior of Firefox and Opera.

        2) The cached collections returned by document are now exactly equal
           to those returned by subsequent calls to the same getters.

        This reduces memory consumption by ~800 kB (on 64-bit) when loading
        the full HTML5 spec. document.links was called 34001 times, yielding
        34001 separate HTMLCollections, and now we only need 1.

        The document.all collection retains the old behavior, as caching it
        will be a bit more complicated.

        To avoid a reference cycle between Document and HTMLCollection,
        collections that are cached on Document do not retained their base
        node pointer (controlled by a m_baseIsRetained flag.)

        Tests: fast/dom/document-collection-idempotence.html
               fast/dom/gc-9.html

        * dom/Document.cpp:
        (WebCore::Document::detach):
        (WebCore::Document::cachedCollection):
        (WebCore::Document::images):
        (WebCore::Document::applets):
        (WebCore::Document::embeds):
        (WebCore::Document::plugins):
        (WebCore::Document::objects):
        (WebCore::Document::scripts):
        (WebCore::Document::links):
        (WebCore::Document::forms):
        (WebCore::Document::anchors):
        * dom/Document.h:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::createForCachingOnDocument):
        (WebCore::HTMLCollection::~HTMLCollection):
        (WebCore::HTMLCollection::itemAfter):
        * html/HTMLCollection.h:
        (WebCore::HTMLCollection::base):

2011-12-16  Anders Carlsson  <andersca@apple.com>

        Add a pretty dumb tile cache to WebTileCacheLayer
        https://bugs.webkit.org/show_bug.cgi?id=74753

        Reviewed by Simon Fraser.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::requiresTiledLayer):
        If a layer is a tile cache layer, we never want to swap it out for a tiled layer.

        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        Assert that we don't have a tile cache layer.

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::PlatformCALayer):
        If we have a tile cache layer, add its tile container to the list of custom sublayers.

        * platform/graphics/ca/mac/TileCache.h: Added.
        (WebCore::TileCache::tileContainerLayer):
        Return the tile container layer.

        * platform/graphics/ca/mac/TileCache.mm: Added.
        (WebCore::TileCache::tileCacheLayerBoundsChanged):
        Resize the tile grid if necessary.

        (WebCore::TileCache::setNeedsDisplayInRect):
        Invalidate the necessary tiles.

        (WebCore::TileCache::drawLayer):
        Set up the transform and draw the layer.

        (WebCore::TileCache::getTileRangeForRect):
        Given a rect, return the range of tiles that it covers.

        (WebCore::TileCache::numTilesForGridSize):
        Given a size, return how many tiles are needed to completely cover it.

        (WebCore::TileCache::resizeTileGrid):
        Create new tile layers if needed, or reuse already existing ones.

        (WebCore::TileCache::tileLayerAtPosition):
        Given a position in the grid, return the tile layer.

        (WebCore::TileCache::createTileLayer):
        Create a WebTileLayer and set it up.

        * platform/graphics/ca/mac/WebTileCacheLayer.h:
        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
        (-[WebTileCacheLayer setBounds:]):
        (-[WebTileCacheLayer setNeedsDisplayInRect:]):
        (-[WebTileCacheLayer tileContainerLayer]):
        Call down to the tile cache object.

        * platform/graphics/ca/mac/WebTileLayer.h: Added.
        * platform/graphics/ca/mac/WebTileLayer.mm: Added.

        (-[WebTileLayer drawInContext:]):
        Ask the tile cache to draw the given layer.

        (-[WebTileLayer setTileCache:WebCore::]):

2011-12-16  Sam Weinig  <sam@webkit.org>

        Give PlatformEvents a base class
        https://bugs.webkit.org/show_bug.cgi?id=74685

        Reviewed by Anders Carlsson.

        Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
        and PlatformGestureEvent and move Type enumeration and modifiers down to it.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Add new files.

        * platform/PlatformEvent.cpp: Added.
        * platform/PlatformEvent.h: Added.
        (WebCore::PlatformEvent::type):
        (WebCore::PlatformEvent::shiftKey):
        (WebCore::PlatformEvent::ctrlKey):
        (WebCore::PlatformEvent::altKey):
        (WebCore::PlatformEvent::metaKey):
        (WebCore::PlatformEvent::modifiers):
        (WebCore::PlatformEvent::PlatformEvent):
        Add new class.

        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
        * dom/KeyboardEvent.cpp:
        (WebCore::eventTypeForKeyboardEventType):
        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::create):
        * page/DragController.cpp:
        (WebCore::createMouseEvent):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        (WebCore::EventHandler::sendContextMenuEventForKey):
        (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
        (WebCore::EventHandler::handleAccessKey):
        (WebCore::EventHandler::keyEvent):
        (WebCore::EventHandler::handleDrag):
        * page/blackberry/EventHandlerBlackBerry.cpp:
        (WebCore::EventHandler::accessKeyModifiers):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::accessKeyModifiers):
        * page/efl/EventHandlerEfl.cpp:
        (WebCore::EventHandler::accessKeyModifiers):
        * page/gtk/EventHandlerGtk.cpp:
        (WebCore::EventHandler::accessKeyModifiers):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::accessKeyModifiers):
        * page/qt/EventHandlerQt.cpp:
        (WebCore::EventHandler::accessKeyModifiers):
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::accessKeyModifiers):
        * page/wx/EventHandlerWx.cpp:
        (WebCore::EventHandler::accessKeyModifiers):
        * platform/PlatformGestureEvent.h:
        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
        * platform/PlatformKeyboardEvent.h:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::isKeypad):
        * platform/PlatformMouseEvent.h:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        (WebCore::PlatformMouseEvent::button):
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::zoom):
        (WebCore::ScrollAnimatorNone::handleGestureEvent):
        * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
        (WebCore::toWebCorePlatformKeyboardEventType):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        * platform/chromium/GestureRecognizerChromium.cpp:
        (WebCore::GestureRecognizerChromium::appendTapDownGestureEvent):
        (WebCore::GestureRecognizerChromium::appendClickGestureEvent):
        (WebCore::GestureRecognizerChromium::appendDoubleClickGestureEvent):
        (WebCore::GestureRecognizerChromium::appendScrollGestureBegin):
        (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
        (WebCore::GestureRecognizerChromium::appendScrollGestureUpdate):
        * platform/chromium/PlatformKeyboardEventChromium.cpp:
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        * platform/chromium/PopupContainer.cpp:
        (WebCore::PopupContainer::handleGestureEvent):
        * platform/chromium/PopupListBox.cpp:
        (WebCore::isCharacterTypeEvent):
        (WebCore::PopupListBox::handleKeyEvent):
        * platform/chromium/ScrollAnimatorChromiumMac.mm:
        (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
        * platform/efl/PlatformKeyboardEventEfl.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        * platform/efl/PlatformMouseEventEfl.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/efl/PlatformWheelEventEfl.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/gtk/PlatformKeyboardEventGtk.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        * platform/gtk/PlatformMouseEventGtk.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/gtk/PlatformWheelEventGtk.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/ios/KeyEventIOS.mm:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        * platform/mac/KeyEventMac.mm:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/mac/PlatformMouseEventMac.mm:
        (WebCore::mouseEventForNSEvent):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleGestureEvent):
        * platform/mac/WheelEventMac.mm:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        * platform/qt/PlatformMouseEventQt.cpp:
        (WebCore::mouseEventTypeAndMouseButtonFromQEvent):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/qt/WheelEventQt.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/win/KeyEventWin.cpp:
        (WebCore::isKeypadEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/win/PlatformMouseEventWin.cpp:
        (WebCore::messageToEventType):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/win/WheelEventWin.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/wx/KeyboardEventWx.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        * platform/wx/MouseEventWx.cpp:
        (WebCore::typeFromMouseEvent):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/wx/MouseWheelEventWx.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * plugins/mac/PluginViewMac.mm:
        (WebCore::PluginView::handleKeyboardEvent):
        * testing/Internals.cpp:
        (WebCore::Internals::setZoomAnimatorTransform):
        Switch to using new names/class modifier as necessary.

2011-12-16  Adam Barth  <abarth@webkit.org>

        <!doctype html><div><body><frameset> doesn't parse correctly
        https://bugs.webkit.org/show_bug.cgi?id=74745

        Reviewed by Eric Seidel.

        We were missing one place the spec tells us to set this bool.

        Tests: html5lib/runner.html

        * html/parser/HTMLTreeBuilder.cpp:

2011-12-16  Jarred Nicholls  <jarred@sencha.com>

        Support HTML documents in XHR.responseXML
        https://bugs.webkit.org/show_bug.cgi?id=74626

        Latest W3C XHR spec details for the responseXML attribute:
        http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-responsexml-attribute
        http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#document-response-entity-body

        XHR.responseXML was not compliant per the latest editor's draft of the XHR spec.
        The following compliance issue have been corrected:
          - A responseType of "text" should disallow access to responseXML by throwing an InvalidState exception.
          - When the error flag is toggled, responseXML should return "null" immediately and not attempt to create a new Document.
          - responseXML should return a valid HTML document when the MIME type is "text/html", but only when the caller has
            explicitly set responseType to "document".

        Reviewed by Alexey Proskuryakov.

        Tests: fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks.html
               fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-strict.html
               fast/xmlhttprequest/xmlhttprequest-responseXML-html-no-responsetype.html
               fast/xmlhttprequest/xmlhttprequest-responseXML-invalid-xml.html
               fast/xmlhttprequest/xmlhttprequest-responseXML-xml-document-responsetype.html
               fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseXML):
        (WebCore::XMLHttpRequest::clearResponseBuffers):
        * xml/XMLHttpRequest.h: Rename m_responseXML to m_responseDocument
        (WebCore::XMLHttpRequest::optionalResponseXML):

2011-12-16  Ryosuke Niwa  <rniwa@webkit.org>

        Only EditCommandComposition should implement unapply and reapply
        https://bugs.webkit.org/show_bug.cgi?id=74490

        Reviewed by Eric Seidel.

        Introduce new abstract class UndoStep to replace EditCommand for EditorClient, and make EditCommand
        private to WebCore.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/CompositeEditCommand.cpp:
        (WebCore::EditCommandComposition::create): Takes EditAction instead of boolean for CreateLinkCommand.
        (WebCore::EditCommandComposition::EditCommandComposition): Ditto.
        (WebCore::EditCommandComposition::unapply): Moved from EditCommand; we don't have to call isTopLevelCommand
        anymore because EditCommandComposition is always top-level. In fact, the only thing unapply/reapply do
        in addition to what doUnapply/doReapply do for sub-level commands is disabling and enabling delete button
        and defining an event queue scope. However, these can be done at top-level command anyway, so we now only call
        doApply for sub-level commands.
        (WebCore::EditCommandComposition::reapply): Ditto.
        (WebCore::EditCommandComposition::setStartingSelection): Added.
        (WebCore::EditCommandComposition::setEndingSelection): Added.
        (WebCore::applyCommand): Moved from EditCommand.
        (WebCore::CompositeEditCommand::apply): Moved from EditCommand; doesn't call isTopLevelCommand for the same reason.
        (WebCore::CompositeEditCommand::ensureComposition):
        (WebCore::CompositeEditCommand::applyCommandToComposite): Call doApply instead of apply for the same reason.
        * editing/CompositeEditCommand.h:
        (WebCore::EditCommandComposition::wasCreateLinkCommand):
        (WebCore::EditCommandComposition::startingSelection): Added.
        (WebCore::EditCommandComposition::endingSelection): Added.
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::setStartingSelection):
        (WebCore::EditCommand::setEndingSelection):
        (WebCore::SimpleEditCommand::doReapply): Moved from EditCommand.
        * editing/EditCommand.h:
        * editing/UndoStep.h: Added.
        (WebCore::UndoStep::~UndoStep):
        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::shouldInsertNode):
        (WebCore::EmptyEditorClient::didSetSelectionTypesForPasteboard):
        (WebCore::EmptyEditorClient::registerCommandForUndo): Takes UndoStep instead of EditCommand.
        (WebCore::EmptyEditorClient::registerCommandForRedo): Ditto.
        * page/EditorClient.h:

2011-12-16  Simon Fraser  <simon.fraser@apple.com>

        Allow a PlatformCALayer to own its own sublayers
        https://bugs.webkit.org/show_bug.cgi?id=74744

        Reviewed by Anders Carlsson.

        GraphicsLayerCA rebuilds the sublayer list of CALayers, which would
        blow away any custom layers that a PlatformCALayer wants to maintain
        as children.
        
        Make it possible for a PlatformLayerCA to indicate that it wants
        a specific list of sublayers to be maintained as the first layers
        in the child list.
        
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::updateSublayerList):
        * platform/graphics/ca/PlatformCALayer.h:
        (WebCore::PlatformCALayer::customSublayers):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::PlatformCALayer):

2011-12-16  Adam Barth  <abarth@webkit.org>

        <!DOCTYPE html><pre>&#x0a;&#x0a;A</pre> doesn't parse correctly
        https://bugs.webkit.org/show_bug.cgi?id=74658

        Reviewed by Darin Adler.

        Previously, we handled skipping newlines after <pre> in the tokenizer,
        which isn't how the spec handles them.  Instead, the spec skips them in
        the tree builder.  This isn't usually observable, except in the case of
        an HTML entity.  In that case, the tokenzier sees '&' (because the
        entity hasn't been decoded yet), but the tree builder sees '\n' (the
        decoded entity).  This patch fixes the bug by more closely aligning our
        implementation with the spec.

        Test: html5lib/runner.html

        * html/parser/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::reset):
        (WebCore::HTMLTokenizer::nextToken):
        * html/parser/HTMLTokenizer.h:
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipAtMostOneLeadingNewline):
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
        * html/parser/HTMLTreeBuilder.h:
        * xml/parser/MarkupTokenizerBase.h:

2011-12-16  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Implement IDBObjectStore.count() and IDBIndex.count()
        https://bugs.webkit.org/show_bug.cgi?id=73686

        Reviewed by Tony Chang.

        These new methods open an internal cursor and iterate through the
        results, returning the number of items found. Note that only
        passing an IDBKeyRange is supported, not an IDBKey. Supporting
        that will require some IDL/binding monkeying; several other
        methods also need the same Key-or-KeyRange behavior.

        Tests: storage/indexeddb/index-count.html
               storage/indexeddb/objectstore-count.html

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::numberValue):
        * bindings/v8/SerializedScriptValue.h:
        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::count):
        * storage/IDBIndex.h:
        (WebCore::IDBIndex::count):
        * storage/IDBIndex.idl:
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::countInternal):
        (WebCore::IDBIndexBackendImpl::count):
        * storage/IDBIndexBackendImpl.h:
        * storage/IDBIndexBackendInterface.h:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::count):
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::count):
        * storage/IDBObjectStore.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::count):
        (WebCore::IDBObjectStoreBackendImpl::countInternal):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBObjectStoreBackendInterface.h:

2011-12-16  Yael Aharon  <yael.aharon@nokia.com>

        Audio file in video element has a size of 0x0 .
        https://bugs.webkit.org/show_bug.cgi?id=74738

        Reviewed by Kenneth Rohde Christiansen.

        When the source of a video element has audio only, the intrinsic size of the video should
        not be 0x0. Instead, it should be the same as as no media was loaded.

        No new tests. An existing test is covering this case and was modified to reflect this change.

        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::calculateIntrinsicSize):

2011-12-16  Alexis Menard  <alexis.menard@openbossa.org>

        getComputedStyle for border-width is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=74635

        Reviewed by Tony Chang.

        Implement getComputedStyle for border-width.

        Test: fast/css/getComputedStyle/getComputedStyle-border-width.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2011-12-16  Branimir Lambov  <blambov@google.com>

        [chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux
        https://bugs.webkit.org/show_bug.cgi?id=53378

        Reviewed by Tony Chang.

        Fixes a problem in Skia's clipping layer code's handling of coordinate
        transformations that was causing all complex clipping (including text
        and/or masks) to fail.

        The method beginLayerClippedToImage was taking rectangle coordinates
        in one local coordinate space, but it was applying them in a different  
        one because of the delay between the time it is called and the actual 
        application occurs in applyClipFromImage. The fix translates the 
        coordinates passed to beginLayerClippedToImage to absolute ones, so 
        that they are not affected by any change in the transform matrix, and 
        makes sure that applyClipFromImage clears the matrix before drawing
        the clip layer to correctly apply the absolute coordinates.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
        (WebCore::PlatformContextSkia::applyClipFromImage):
        * platform/graphics/skia/PlatformContextSkia.h:

2011-12-16  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize destructors
        https://bugs.webkit.org/show_bug.cgi?id=74331

        Reviewed by Geoffrey Garen.

        No new tests.

        Doing everything here that was done to the JSCell hierarchy in JavaScriptCore. 
        See the ChangeLog for this commit for a more in-depth description.

        * WebCore.exp.in: Add/remove symbols.
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Remove first arg from isJSArray call.
        (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
        * bindings/js/JSDOMBinding.cpp: Add trival destructor assert for DOMConstructorObject 
        and DOMConstructorWithDocument.
        * bindings/js/JSDOMGlobalObject.cpp: Add static destroy.  Add implementation for 
        scriptExecutionContext that dispatches to different functions in subclasses 
        depending on our current ClassInfo.  We do this so that we can get rid of the 
        virtual-ness of scriptExecutionContext, because any virtual functions will throw 
        off the layout of the object and we'll crash at runtime.
        (WebCore::JSDOMGlobalObject::destroy):
        (WebCore::JSDOMGlobalObject::scriptExecutionContext):
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSDOMWindowBase.cpp: Add static destroy.
        (WebCore::JSDOMWindowBase::destroy):
        * bindings/js/JSDOMWindowBase.h: De-virtualize scriptExecutionContext.
        * bindings/js/JSDOMWindowShell.cpp: Add static destroy.
        (WebCore::JSDOMWindowShell::destroy):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSDOMWrapper.cpp: Add trivial destructor assert.
        * bindings/js/JSDOMWrapper.h: Add a ClassInfo to JSDOMWrapper since it now overrides 
        a MethodTable function. Remove vtableAnchor virtual function.
        * bindings/js/JSImageConstructor.cpp: Add trivial destructor assert.
        * bindings/js/JSNodeCustom.cpp: Change implementation of pushEventHandlerScope so that 
        it dispatches to the correct function depending on the 
        identity of the class as specified by the ClassInfo.  
        See JSDOMGlobalObject::scriptExecutionContext for explanation.
        (WebCore::JSNode::pushEventHandlerScope):
        * bindings/js/JSWebSocketCustom.cpp: Remove first arg to isJSArray call.
        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
        * bindings/js/JSWorkerContextBase.cpp: Add static destroy.
        (WebCore::JSWorkerContextBase::destroy):
        * bindings/js/JSWorkerContextBase.h: 
        * bindings/js/ScriptValue.cpp: Remove first arg to isJSArray call.
        (WebCore::jsToInspectorValue): 
        * bindings/js/SerializedScriptValue.cpp: Ditto.
        (WebCore::CloneSerializer::isArray):
        (WebCore::CloneSerializer::getSparseIndex):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader): Remove virtual-ness of any custom pushEventHandlerScope (see 
        JSNodeCustom::pushEventHandlerScope for explanation).  Remove virtual toBoolean 
        for anybody who masquerades as undefined, since our JSObject implementation handles 
        this based on the TypeInfo in the Structure. Add trivial destructor assert for any 
        class other than DOMWindow or WorkerContexts.
        (GenerateImplementation): Change ClassInfo definitions to use Base::s_info, since 
        typing the parent class more than once is duplication of information and increases 
        the likelihood of mistakes.  Pass ClassInfo to TypeArrayDescriptors instead of vptr. 
        (GenerateConstructorDefinition): Add trivial destructor assert for all generated constructors.
        * bridge/c/CRuntimeObject.cpp: Remove empty virtual destructor.
        * bridge/c/CRuntimeObject.h: 
        * bridge/jni/jsc/JavaRuntimeObject.cpp: Ditto.
        * bridge/jni/jsc/JavaRuntimeObject.h: 
        * bridge/objc/ObjCRuntimeObject.h: Ditto.
        * bridge/objc/ObjCRuntimeObject.mm:
        * bridge/objc/objc_runtime.h: Add static destroy for ObjcFallbackObjectImp. De-virtualize 
        toBoolean in the short term.  Need longer term fix.
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcFallbackObjectImp::destroy):
        * bridge/qt/qt_runtime.cpp: Add static destroy to QtRuntimeMethod.
        (JSC::Bindings::QtRuntimeMethod::destroy):
        * bridge/qt/qt_runtime.h: De-virtualize ~QtRuntimeMethod.
        * bridge/runtime_array.cpp: De-virtualize destructor. Add static destroy.
        (JSC::RuntimeArray::destroy):
        * bridge/runtime_array.h:
        * bridge/runtime_method.cpp: Remove vtableAnchor. Add static destroy.
        (JSC::RuntimeMethod::destroy):
        * bridge/runtime_method.h:
        * bridge/runtime_object.cpp: Add static destroy.
        (JSC::Bindings::RuntimeObject::destroy):
        * bridge/runtime_object.h:

2011-12-15  Alexey Proskuryakov  <ap@apple.com>

        Poor XPath performance when evaluating an expression that returns a lot of nodes
        https://bugs.webkit.org/show_bug.cgi?id=74665
        <rdar://problem/10517146>

        Reviewed by Darin Adler.

        No change in funcitonality. Well covered by existing tests (ran them with zero cutoff to
        execute the new code path).

        Our sorting function is optimized for small node sets in large documents, and this is the
        opposite of it. Added another one that traverses the whole document, adding nodes from the
        node set to sorted list. That doesn't grow with the number of nodes nearly as fast.

        Cutoff amount chosen for the document referenced in bug - this is roughly where the algorithms
        have the same performance on it.

        * xml/XPathNodeSet.cpp:
        (WebCore::XPath::NodeSet::sort):
        (WebCore::XPath::findRootNode):
        (WebCore::XPath::NodeSet::traversalSort):
        * xml/XPathNodeSet.h:

2011-12-15  Antti Koivisto  <antti@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=74677
        Count ResourceLoadScheduler suspends/resumes

        Reviewed by Andreas Kling.

        Using boolean is not robust when there are multiple clients calling suspendPendingRequests/resumePendingRequests.
        
        Increment and decrement suspend count instead of just setting/unsetting a boolean.

        * loader/ResourceLoadScheduler.cpp:
        (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
        (WebCore::ResourceLoadScheduler::servePendingRequests):
        (WebCore::ResourceLoadScheduler::suspendPendingRequests):
        (WebCore::ResourceLoadScheduler::resumePendingRequests):
        * loader/ResourceLoadScheduler.h:
        (WebCore::ResourceLoadScheduler::isSuspendingPendingRequests):

2011-12-16  Adam Klein  <adamk@chromium.org>

        Improve performance of ChildListMutationScope when no MutationObservers are present
        https://bugs.webkit.org/show_bug.cgi?id=74671

        Reviewed by Ojan Vafai.

        Inline ChildListMutationScope's methods (including constructor and
        destructor), and provide a fast-fail case when no mutation observers
        are present.

        The code reorganization necessary for the above also removed the
        anonymous namespace in ChildListMutationScope.cpp, making both helper
        classes private inner classes of ChildListMutationScope.

        No new tests, refactoring only.

        * dom/ChildListMutationScope.cpp:
        (WebCore::ChildListMutationScope::MutationAccumulator::MutationAccumulator):
        (WebCore::ChildListMutationScope::MutationAccumulator::~MutationAccumulator):
        (WebCore::ChildListMutationScope::MutationAccumulator::isAddedNodeInOrder):
        (WebCore::ChildListMutationScope::MutationAccumulator::childAdded):
        (WebCore::ChildListMutationScope::MutationAccumulator::isRemovedNodeInOrder):
        (WebCore::ChildListMutationScope::MutationAccumulator::willRemoveChild):
        (WebCore::ChildListMutationScope::MutationAccumulator::enqueueMutationRecord):
        (WebCore::ChildListMutationScope::MutationAccumulator::clear):
        (WebCore::ChildListMutationScope::MutationAccumulator::isEmpty):
        (WebCore::ChildListMutationScope::MutationAccumulationRouter::MutationAccumulationRouter):
        (WebCore::ChildListMutationScope::MutationAccumulationRouter::~MutationAccumulationRouter):
        (WebCore::ChildListMutationScope::MutationAccumulationRouter::initialize):
        (WebCore::ChildListMutationScope::MutationAccumulationRouter::instance):
        (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
        (WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild):
        (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
        (WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel):
        * dom/ChildListMutationScope.h:
        (WebCore::ChildListMutationScope::ChildListMutationScope):
        (WebCore::ChildListMutationScope::~ChildListMutationScope):
        (WebCore::ChildListMutationScope::childAdded):
        (WebCore::ChildListMutationScope::willRemoveChild):

2011-12-16  Dean Jackson  <dino@apple.com>

        Filters need to affect visual overflow
        https://bugs.webkit.org/show_bug.cgi?id=71930

        Reviewed by Simon Fraser.

        Make sure filters are included in visual overflow.
        Add a new method to calculate the expansion of overflow
        region given a list of FilterOperations. This is a slight
        duplication of code from the rendering path, but is needed
        because overflow is calculated before the FilterEffect
        chain is built.

        Also, filters were always rendered into their
        input rectangle which was wrong for any effect
        that produced a different sized result - drop-shadow
        and blur. This required two changes. First, FilterEffect
        needed a flag to decide whether or not to clip
        output to primitive regions (as required by SVG but not
        what we want here). Second, the rendering operation
        draws into the rectangle the filter claims is its painting
        rectangle.

        Test: css3/filters/regions-expanding.html

        * platform/graphics/filters/FEDropShadow.cpp:
        (WebCore::FEDropShadow::determineAbsolutePaintRect): Only
        clipToBounds if necessary.
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::calculateUnscaledKernelSize): CSS filters
        ask for the kernel size before the Filter object is created, so
        add a new method to return an unscaled kernel.
        (WebCore::FEGaussianBlur::calculateKernelSize):
        (WebCore::FEGaussianBlur::determineAbsolutePaintRect): Only
        clipToBounds if necessary.
        * platform/graphics/filters/FEGaussianBlur.h:
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::determineAbsolutePaintRect): Only
        clipToBounds if necessary.
        * platform/graphics/filters/FEOffset.cpp:
        (WebCore::FEOffset::determineAbsolutePaintRect): Only
        clipToBounds if necessary.
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::FilterEffect): Initialize clipToBounds
        as false so SVG remains unchanged.
        (WebCore::FilterEffect::determineAbsolutePaintRect): Only
        clipToBounds if necessary.
        * platform/graphics/filters/FilterEffect.h:
        (WebCore::FilterEffect::clipsToBounds):
        (WebCore::FilterEffect::setClipsToBounds):
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::build): Make sure we set our
        filters here to NOT clip to bounds.
        * rendering/FilterEffectRenderer.h:
        (WebCore::FilterEffectRenderer::outputRect): Asks the filter
        operation for the size of the result image.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeOverflow):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::addVisualEffectOverflow): Change the name
        from addBoxShadowAndBorderOverflow().
        * rendering/RenderBox.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::layout):
        * rendering/RenderIFrame.cpp:
        (WebCore::RenderIFrame::layout):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::hasBoxDecorations): Change name from
        hasBorderOutlineOrShadow().
        (WebCore::hasBoxDecorationsOrBackground):
        (WebCore::hasBoxDecorationsOrBackgroundImage):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::layout):
        * rendering/style/FilterOperations.cpp:
        (WebCore::outsetSizeForBlur): Return an IntSize that is the amount
        of offset.
        (WebCore::FilterOperations::hasOutsets):
        (WebCore::FilterOperations::getOutsets):
        * rendering/style/FilterOperations.h:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::getFilterOutsets):
        (WebCore::InheritedFlags::hasFilterOutsets):
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::determineAbsolutePaintRect): Only
        clipToBounds if necessary.

2011-12-16  Alexis Menard  <alexis.menard@openbossa.org>, Jakub Wieczorek  <jwieczorek@webkit.org>

        Add support for <ol reversed>.
        https://bugs.webkit.org/show_bug.cgi?id=36724

        The reversed attribute makes an ordered list appear with marker values
        decreasing from n, where n is the number of items.
        See: http://www.whatwg.org/specs/web-apps/current-work/#attr-ol-reversed

        Reviewed by Darin Adler.

        Tests: fast/lists/ol-reversed-dynamic-simple.html
               fast/lists/ol-reversed-dynamic.html
               fast/lists/ol-reversed-nested-items.html
               fast/lists/ol-reversed-nested-list.html
               fast/lists/ol-reversed-simple.html

        * html/HTMLAttributeNames.in:
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::HTMLOListElement):
        (WebCore::HTMLOListElement::parseMappedAttribute):
        (WebCore::HTMLOListElement::updateItemValues):
        (WebCore::HTMLOListElement::recalculateItemCount):
        * html/HTMLOListElement.h:
        (WebCore::HTMLOListElement::start):
        (WebCore::HTMLOListElement::isReversed):
        (WebCore::HTMLOListElement::itemCountChanged):
        (WebCore::HTMLOListElement::itemCount):
        * html/HTMLOListElement.idl:
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::nextListItem):
        (WebCore::previousListItem):
        (WebCore::RenderListItem::calcValue):
        (WebCore::RenderListItem::explicitValueChanged):
        (WebCore::previousOrNextItem):
        (WebCore::RenderListItem::updateListMarkerNumbers):
        * rendering/RenderListItem.h:

2011-12-16  Mikhail Naganov  <mnaganov@chromium.org>

        Scroll non-visible edit controls and caret into the center of the view when starting typing.
        https://bugs.webkit.org/show_bug.cgi?id=65027

        Reviewed by Ryosuke Niwa.

        Tests: editing/input/caret-at-the-edge-of-contenteditable.html
               editing/input/caret-at-the-edge-of-input.html
               editing/input/reveal-caret-of-multiline-contenteditable.html
               editing/input/reveal-caret-of-multiline-input.html
               editing/input/reveal-contenteditable-on-input-vertically.html
               editing/input/reveal-contenteditable-on-paste-vertically.html
               editing/input/reveal-edit-on-input-vertically.html
               editing/input/reveal-edit-on-paste-vertically.html

        * editing/Editor.cpp:
        (WebCore::Editor::insertTextWithoutSendingTextEvent):
        (WebCore::Editor::revealSelectionAfterEditingOperation):

2011-12-16  Ryosuke Niwa  <rniwa@webkit.org>

        Touch RenderStyle in an attempt to fix linking errors on Chromium Windows bots.

        * rendering/style/RenderStyle.h:

2011-12-14  Nat Duca  <nduca@chromium.org>

        [chromium] DelayBasedTimeSource should not change its timebase on late ticks
        https://bugs.webkit.org/show_bug.cgi?id=74573

        The original DelayBasedTimeSource was designed to shift its timebase
        to the tick time when a tick came back "late." The rationale was that it is
        better to just "start fresh" after a stutter. After profiling this,
        this time-rebasing just destabilizes frame rate anytime the thread gets
        loaded.  This patch keeps the timebase stationary, leading to vastly
        smoother framerates when the message loop is under load.

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
        (WebCore::CCDelayBasedTimeSource::updateState):

2011-12-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r103062.
        http://trac.webkit.org/changeset/103062
        https://bugs.webkit.org/show_bug.cgi?id=74715

        It broke many tests (Requested by Ossy on #webkit).

        * html/HTMLAttributeNames.in:
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::HTMLOListElement):
        (WebCore::HTMLOListElement::parseMappedAttribute):
        * html/HTMLOListElement.h:
        (WebCore::HTMLOListElement::start):
        * html/HTMLOListElement.idl:
        * rendering/RenderListItem.cpp:
        (WebCore::previousListItem):
        (WebCore::RenderListItem::calcValue):
        (WebCore::RenderListItem::explicitValueChanged):
        (WebCore::RenderListItem::updateListMarkerNumbers):
        * rendering/RenderListItem.h:

2011-12-16  Alexis Menard  <alexis.menard@openbossa.org>, Jakub Wieczorek  <jwieczorek@webkit.org>

        Add support for <ol reversed>.
        https://bugs.webkit.org/show_bug.cgi?id=36724

        The reversed attribute makes an ordered list appear with marker values
        decreasing from n, where n is the number of items.
        See: http://www.whatwg.org/specs/web-apps/current-work/#attr-ol-reversed

        Reviewed by Darin Adler.

        Tests: fast/lists/ol-reversed-dynamic-simple.html
               fast/lists/ol-reversed-dynamic.html
               fast/lists/ol-reversed-nested-items.html
               fast/lists/ol-reversed-nested-list.html
               fast/lists/ol-reversed-simple.html

        * html/HTMLAttributeNames.in:
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::HTMLOListElement):
        (WebCore::HTMLOListElement::parseMappedAttribute):
        (WebCore::HTMLOListElement::updateItemValues):
        (WebCore::HTMLOListElement::recalculateItemCount):
        * html/HTMLOListElement.h:
        (WebCore::HTMLOListElement::start):
        (WebCore::HTMLOListElement::isReversed):
        (WebCore::HTMLOListElement::itemCountChanged):
        (WebCore::HTMLOListElement::itemCount):
        * html/HTMLOListElement.idl:
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::nextListItem):
        (WebCore::previousListItem):
        (WebCore::RenderListItem::calcValue):
        (WebCore::RenderListItem::explicitValueChanged):
        (WebCore::previousOrNextItem):
        (WebCore::RenderListItem::updateListMarkerNumbers):
        * rendering/RenderListItem.h:

2011-12-15  Stephen White  <senorblanco@chromium.org>

        Enable CSS_FILTERS in Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=74334

        Reviewed by Chris Marrin.

        Covered by css3/filters (when enabled).

        * platform/graphics/filters/FilterOperation.h:
        (WebCore::PassthroughFilterOperation::PassthroughFilterOperation):
        Since wingdi.h #define's PASSTHROUGH, #undef it after the includes.

2011-12-16  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix after r102979.

        Make everHadLayout() public accessible as it was before the change.

        * rendering/RenderObject.h:
        (WebCore::RenderObject::everHadLayout):

2011-12-15  Hans Wennborg  <hans@chromium.org>

        IndexedDB: Don't prefetch values from key cursors
        https://bugs.webkit.org/show_bug.cgi?id=74604

        Reviewed by Tony Chang.

        Since index key cursors don't have values, prefetching should not try
        to retrieve them. Doing so trips an ASSERT in debug builds.

        This will be tested Chromium-side.

        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::prefetchContinueInternal):

2011-12-16  Yosifumi Inoue  <yosin@chromium.org>

        [Forms] The "maxlength" attribute on "textarea" tag miscounts hard newlines
        https://bugs.webkit.org/show_bug.cgi?id=74686

        Reviewed by Kent Tamura.

        This patch counts LF in textarea value as two for LF to CRLF conversion on submission.

        No new tests. Existing tests cover all changes.

        * html/HTMLTextAreaElement.cpp:
        (WebCore::computeLengthForSubmission): Count LF as 2 for CR LF conversion on submission.
        (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): Use computeLengthForSubmission instead of numGraphemeClusters.
        (WebCore::HTMLTextAreaElement::tooLong): Use computeLengthForSubmission instead of numGraphemeClusters.

2011-12-16  Hajime Morrita  <morrita@chromium.org>

        Unreviewed, rolling out r103045.
        http://trac.webkit.org/changeset/103045
        https://bugs.webkit.org/show_bug.cgi?id=74590

        Breaks select-script-onchange.html on Chromium Windows

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::typeAheadFind):

2011-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.list.am: Add missing header file.

2011-12-16  Yosifumi Inoue  <yosin@chromium.org>

        [Forms] Selection change by type-ahead doesn't fire 'change' event
        https://bugs.webkit.org/show_bug.cgi?id=74590

        Reviewed by Kent Tamura.

        Fire onchange even for type ahead selection.

        Test: fast/forms/select/menulist-type-ahead-find.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::typeAheadFind): Add DispatchChangeEvent when
        calling selectOption method.

2011-12-16  Andreas Kling  <kling@webkit.org>

        Don't call Document::body() twice in the same function.
        <http://webkit.org/b/74683>

        Reviewed by Dan Bernstein.

        Document::body() is O(n), so we should avoid calling it multiple
        times unnecessarily.

        * dom/Document.cpp:
        (WebCore::Document::updateLayoutIgnorePendingStylesheets):

2011-12-16  Daniel Sievers  <sievers@chromium.org>

        [Chromium] Add trace events for decoding and drawing images.
        https://bugs.webkit.org/show_bug.cgi?id=74547

        Reviewed by James Robinson.

        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::drawResampledBitmap):
        (WebCore::paintSkBitmap):
        (WebCore::Image::drawPattern):
        * platform/graphics/skia/NativeImageSkia.cpp:
        (WebCore::NativeImageSkia::resizedBitmap):
        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::decode):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::decode):
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::decode):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::decode):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::decode):
        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::decode):

2011-12-15  Martin Robinson  <mrobinson@igalia.com>

        Fix 'make dist' in preparation for the GTK+ release.

        * GNUmakefile.list.am: Add missing header.

2011-12-15  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>

        Don't create empty files on error.
        https://bugs.webkit.org/show_bug.cgi?id=74373

        Reviewed by Ryosuke Niwa.

        * css/makeprop.pl:
        * css/makevalues.pl:
        * make-hash-tools.pl:

2011-12-15  Yongjun Zhang  <yongjun_zhang@apple.com>

        PODIntervalTree takes 1.7MB memory on www.nytimes.com.
        https://bugs.webkit.org/show_bug.cgi?id=73712

        Reviewed by Kenneth Russell.

        For a RenderBlock which has floating objects inside, we will create a PODIntervalTree and a PODArena with
        at least one 16KB chunk.  A page could have a large number of such RenderBlocks and they could take huge
        amount of memory.  To fix that, we can create a shared PODArena in the root RenderView.  Instead of having
        their own PODArena, each RenderBlock with floating objects could share this PODArena to reduce memory consumption.

        The shared PODArena could grow unboundedly if we keep removing and adding floating objects.  We can fix that
        by reusing the freed memory in each chunk.  However, a PODArena could allocate objects of different sizes and
        it would be complex to keep track of the size for each allocation in PODArena.  To address that, this patch
        added class PODFreeListArena<T> which only allocates objects of type T (hence the same size).  We can then use a
        free list to track freed nodes inside the chunk and reuse the free nodes in future allocations.

        Manually tested on nytimes.com and the heap consumption of PODIntervalTree reduced from 1.7MB to 16KB. Performance
        doesn't regress on test PerformanceTests/Layout/floats.html.

        * WebCore.xcodeproj/project.pbxproj: add new header file PODFreeListArena.h.
        * platform/PODArena.h:
        (WebCore::PODArena::~PODArena): change dtor to virtual.
        (WebCore::PODArena::Chunk::~Chunk): ditto.
        * platform/PODFreeListArena.h: Added.
        (WebCore::PODFreeListArena::create): 
        (WebCore::PODFreeListArena::allocateObject): allocate an object.
        (WebCore::PODFreeListArena::freeObject): free an object, find the right chunk and update its free list.
        (WebCore::PODFreeListArena::allocate): allocate memory from the free list or current chunk.
        (WebCore::PODFreeListArena::FreeListChunk::FreeListChunk): add m_freeList to track freed cells.
        (WebCore::PODFreeListArena::FreeListChunk::allocate): reuse a free cell if there is one.
        (WebCore::PODFreeListArena::FreeListChunk::free): make the memory taken by this object is free, and link it to m_freeList.
        (WebCore::PODFreeListArena::FreeListChunk::contains): check if a pointer is inside this chunk.
        (WebCore::PODFreeListArena::FreeListChunk::hasFreeList): check if this chunk has free cells.
        * platform/PODRedBlackTree.h:
        (WebCore::PODRedBlackTree::PODRedBlackTree): take PODFreeListArena instead of PODArena, since nodes of a particular PODRedBlackTree
            is always of the same size.
        (WebCore::PODRedBlackTree::clear): mark all nodes before clearing the tree.
        (WebCore::PODRedBlackTree::initIfNeeded): add initIfNeeded to take an external PODFreeListArena.
        (WebCore::PODRedBlackTree::add):
        (WebCore::PODRedBlackTree::deleteNode): mark the node free in arena after it is removed from the tree.
        (WebCore::PODRedBlackTree::markFree): mark all node free in the tree.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::addIntrudingFloats):
        (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree):  passing the shared PODFreeListArena to m_placedFloatsTree.
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::intervalArena): create the shared PODFreeListArena lazily.
        * rendering/RenderView.h:

2011-12-15  Tony Chang  <tony@chromium.org>

        Unreviewed, rollout r102825 because it didn't improve performance.
        https://bugs.webkit.org/show_bug.cgi?id=74622

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):

2011-12-15  Ryosuke Niwa  <rniwa@webkit.org>

        sizeof(RenderObject) is 32 instead of 24 on Windows
        https://bugs.webkit.org/show_bug.cgi?id=74646

        Reviewed by Darin Adler.

        Make all bitfields in RenderObject to unsigned and wrap them around by RenderObjectBitfields.
        Also add a compilation time assertion to make sure we won't grow RenderObject's size unintentionally.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
        (WebCore::RenderBlock::layoutColumns):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
        * rendering/RenderObject.cpp:
        (WebCore::SameSizeAsRenderObject::~SameSizeAsRenderObject):
        (WebCore::RenderObject::RenderObject):
        (WebCore::RenderObject::markContainingBlocksForLayout):
        (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
        (WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
        (WebCore::RenderObject::styleWillChange):
        (WebCore::RenderObject::styleDidChange):
        (WebCore::RenderObject::willBeDestroyed):
        (WebCore::RenderObject::updateDragState):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::hasCounterNodeMap):
        (WebCore::RenderObject::setHasCounterNodeMap):
        (WebCore::RenderObject::childrenInline):
        (WebCore::RenderObject::setChildrenInline):
        (WebCore::RenderObject::hasColumns):
        (WebCore::RenderObject::setHasColumns):
        (WebCore::RenderObject::inRenderFlowThread):
        (WebCore::RenderObject::setInRenderFlowThread):
        (WebCore::RenderObject::isAnonymous):
        (WebCore::RenderObject::setIsAnonymous):
        (WebCore::RenderObject::isAnonymousBlock):
        (WebCore::RenderObject::isFloating):
        (WebCore::RenderObject::isPositioned):
        (WebCore::RenderObject::isRelPositioned):
        (WebCore::RenderObject::isText):
        (WebCore::RenderObject::isBox):
        (WebCore::RenderObject::isInline):
        (WebCore::RenderObject::isDragging):
        (WebCore::RenderObject::isReplaced):
        (WebCore::RenderObject::isHorizontalWritingMode):
        (WebCore::RenderObject::hasLayer):
        (WebCore::RenderObject::hasBoxDecorations):
        (WebCore::RenderObject::needsLayout):
        (WebCore::RenderObject::selfNeedsLayout):
        (WebCore::RenderObject::needsPositionedMovementLayout):
        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
        (WebCore::RenderObject::posChildNeedsLayout):
        (WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
        (WebCore::RenderObject::normalChildNeedsLayout):
        (WebCore::RenderObject::preferredLogicalWidthsDirty):
        (WebCore::RenderObject::hasOverflowClip):
        (WebCore::RenderObject::hasTransform):
        (WebCore::RenderObject::node):
        (WebCore::RenderObject::setPositioned):
        (WebCore::RenderObject::setRelPositioned):
        (WebCore::RenderObject::setFloating):
        (WebCore::RenderObject::setInline):
        (WebCore::RenderObject::setHasBoxDecorations):
        (WebCore::RenderObject::setIsText):
        (WebCore::RenderObject::setIsBox):
        (WebCore::RenderObject::setReplaced):
        (WebCore::RenderObject::setHorizontalWritingMode):
        (WebCore::RenderObject::setHasOverflowClip):
        (WebCore::RenderObject::setHasLayer):
        (WebCore::RenderObject::setHasTransform):
        (WebCore::RenderObject::setHasReflection):
        (WebCore::RenderObject::hasReflection):
        (WebCore::RenderObject::setHasMarkupTruncation):
        (WebCore::RenderObject::hasMarkupTruncation):
        (WebCore::RenderObject::selectionState):
        (WebCore::RenderObject::setSelectionState):
        (WebCore::RenderObject::hasSelectedChildren):
        (WebCore::RenderObject::isMarginBeforeQuirk):
        (WebCore::RenderObject::isMarginAfterQuirk):
        (WebCore::RenderObject::setMarginBeforeQuirk):
        (WebCore::RenderObject::setMarginAfterQuirk):
        (WebCore::RenderObject::everHadLayout):
        (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
        (WebCore::RenderObject::RenderObjectBitfields::selectionState):
        (WebCore::RenderObject::RenderObjectBitfields::setSelectionState):
        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
        (WebCore::RenderObject::setNormalChildNeedsLayout):
        (WebCore::RenderObject::setPosChildNeedsLayout):
        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
        (WebCore::RenderObject::setPaintBackground):
        (WebCore::RenderObject::setIsDragging):
        (WebCore::RenderObject::setEverHadLayout):
        (WebCore::RenderObject::setNeedsLayout):
        (WebCore::RenderObject::setChildNeedsLayout):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):
        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):

2011-12-15  Wei Charles  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Upstream BlackBerry porting of pluginView
        https://bugs.webkit.org/show_bug.cgi?id=73397

        Reviewed by Daniel Bates.

        No new tests for now.

        * plugins/blackberry/PluginViewBlackBerry.cpp: Added.

2011-12-15  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Can't pass DOMStringList to IDBDatabase.transaction()
        https://bugs.webkit.org/show_bug.cgi?id=74452

        Reviewed by Adam Barth.

        V8 code generator generated checks for DOMStringList arguments, then
        deferred to a function that only handled array inputs. This previously
        worked for IndexedDB because it would fall into a now-removed default
        handler.

        Modified storage/indexeddb/transaction-basics.html to test this.

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8ValueToWebCoreDOMStringList):

2011-12-15  Adam Klein  <adamk@chromium.org>

        Make Element::setAttributeInternal inline in an attempt to avoid function call overhead
        https://bugs.webkit.org/show_bug.cgi?id=74638

        Reviewed by Andreas Kling.

        In r102695, I factored common code in setAttribute into
        Element::setAttributeInternal. This may have caused a perf regression
        due to the extra function call, which inlining should eliminate.

        Running Dromaeo locally suggests that this will improve performance
        by ~9% on the "dom-attr element.property = value" test (which assigns
        a value to an element's id).

        * dom/Element.cpp:
        (WebCore::Element::setAttributeInternal):

2011-12-15  Mary Wu  <mary.wu@torchmobile.com.cn>

        Upstream FileSystemBlackBerry.cpp into WebCore/platform/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=74491

        Reviewed by Rob Buis.

        We are using POSIX porting of FileSystem, so here only implement other 
        necessary functions.

        Initial upstream, no new tests.

        * platform/blackberry/FileSystemBlackBerry.cpp: Added.
        (WebCore::homeDirectoryPath):
        (WebCore::fileSystemRepresentation):
        (WebCore::unloadModule):
        (WebCore::openTemporaryFile):

2011-12-15  Adrienne Walker  <enne@google.com>

        [chromium] Clean up unnecessary leaf functions in GraphicsLayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=74140

        Reviewed by James Robinson.

        Tested by existing compositor layout tests.

        This is a follow-on cleanup to r102196, which made some of these
        functions less useful than they had been in the past.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsOpaque):
        (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        * platform/graphics/chromium/GraphicsLayerChromium.h:

2011-12-15  Kenneth Russell  <kbr@google.com>

        Unreviewed, rolling out r103000.
        http://trac.webkit.org/changeset/103000
        https://bugs.webkit.org/show_bug.cgi?id=74658

        Does not handle text/plain documents correctly.

        * html/parser/HTMLTokenizer.cpp:
        * html/parser/HTMLTokenizer.h:
        * html/parser/HTMLTreeBuilder.cpp:
        * html/parser/HTMLTreeBuilder.h:
        * xml/parser/MarkupTokenizerBase.h:

2011-12-15  James Robinson  <jamesr@chromium.org>

        [chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
        https://bugs.webkit.org/show_bug.cgi?id=74477

        Reviewed by Kenneth Russell.

        This enforces that the m_layerTreeHost pointer on LayerChromium instances is always up to date, instead of
        lazily setting it in the paintContents loop. There are two invariants:
        1.) If a LayerChromium is the root layer of a CCLayerTreeHost, or is reachable via the children, mask, or
        replica pointers from the root layer of a CCLayerTreeHost, then that LayerChromium's m_layerTreeHost pointer
        refers to that CCLayerTreeHost
        2.) If a LayerChromium is not a root layer or reachable from a root layer of any CCLayerTreeHost, its
        CCLayerTreeHost pointer is nil.

        Covered by several new layout tests in LayerChromiumTest

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setLayerTreeHost):
        (WebCore::LayerChromium::setParent):
        (WebCore::LayerChromium::setMaskLayer):
        (WebCore::LayerChromium::setReplicaLayer):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::createTile):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setRootLayer):
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:

2011-12-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r102652 and r102717.
        http://trac.webkit.org/changeset/102652
        http://trac.webkit.org/changeset/102717
        https://bugs.webkit.org/show_bug.cgi?id=74674

        Broke too many webs. (Requested by kling on #webkit).

        * WebCore.exp.in:

2011-12-15  Anders Carlsson  <andersca@apple.com>

        Lazily create the scrolling coordinator and add a setting for enabling it
        https://bugs.webkit.org/show_bug.cgi?id=74667

        Reviewed by Darin Adler.

        * WebCore.xcodeproj/project.pbxproj:
        Make ScrollingCoordinator.h a private header so it can be used in WebKit.
        * page/Page.cpp:
        (WebCore::Page::Page):
        Don't create the scrolling coordinator.

        (WebCore::Page::~Page):
        Check for a null scrolling coordinator.

        (WebCore::Page::scrollingCoordinator):
        Create the scrolling coordinator lazily.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setScrollingCoordinatorEnabled):
        (WebCore::Settings::scrollingCoordinatorEnabled):
        Add a setting for enabling the scrolling coordinator.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
        Use a tile cache layer for the main frame when the scrolling coordinator is neabled.

2011-12-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed. Fix build break when data-transfer-items is enabled.

        * platform/efl/ClipboardEfl.cpp:
        (WebCore::ClipboardEfl::items):
        * platform/efl/ClipboardEfl.h:

2011-12-15  Adam Barth  <abarth@webkit.org>

        <ruby><div><p><rp> parses incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=74668

        Reviewed by Darin Adler.

        This patch updates our implementation to match a change to the HTML5
        specification regarding how <ruby> elements parse.  Previously, <rp>
        and similar tags used to pop the stack up to the <ruby> element.  Now
        the popping does not occur.

        Tests: html5lib/runner.html

        * html/parser/HTMLTreeBuilder.cpp:

2011-12-15  Daniel Sievers  <sievers@chromium.org>

        [Chromium] Avoid strdup() for extra argument when tracing is disabled.
        https://bugs.webkit.org/show_bug.cgi?id=74637

        Reviewed by James Robinson.

        * platform/chromium/TraceEvent.h:
        (WebCore::internal::ScopeTracer::ScopeTracer):

2011-12-15  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Add a document-level flag that can trivially be checked to avoid doing unnessary work if mutation observers absent
        https://bugs.webkit.org/show_bug.cgi?id=74641

        Reviewed by Ojan Vafai.

        This patch adds a byte of flags to Document, of which three bits are used to signal if any
        node owned by the document has a Mutation Observer of the given type. This is used to
        reduce the cost of discovering there are none to a single (inlined) method call and bit-check.
        Also, a similar byte of flags which was used to optimize a particular case when mutation observers
        are present has been removed, with the reasoning that we should first focus on minimizing impact on
        the null-case before optimizing particular in-use cases.

        Also, MutationObserverInterestGroup is broken out into its own file (which probably should have happened
        earlier, but now avoids a circular header dependency).

        No tests needed. This patch is just a refactor.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSMutableStyleDeclaration.cpp:
        * dom/CharacterData.cpp:
        * dom/ChildListMutationScope.cpp:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Document::hasMutationObserversOfType):
        (WebCore::Document::hasMutationObservers):
        (WebCore::Document::addMutationObserverTypes):
        * dom/Element.cpp:
        * dom/MutationObserverInterestGroup.cpp: Added.
        (WebCore::MutationObserverInterestGroup::createIfNeeded):
        (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
        (WebCore::MutationObserverInterestGroup::isOldValueRequested):
        (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
        * dom/MutationObserverInterestGroup.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.
        (WebCore::MutationObserverInterestGroup::createForChildListMutation):
        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
        (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
        (WebCore::MutationObserverInterestGroup::hasOldValue):
        * dom/Node.cpp:
        (WebCore::Node::didMoveToNewOwnerDocument):
        (WebCore::Node::getRegisteredMutationObserversOfType):
        (WebCore::Node::notifyMutationObserversNodeWillDetach):
        * dom/Node.h:
        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::observe):
        * dom/WebKitMutationObserver.h:

2011-12-15  Adam Barth  <abarth@webkit.org>

        <!DOCTYPE html><pre>&#x0a;&#x0a;A</pre> doesn't parse correctly
        https://bugs.webkit.org/show_bug.cgi?id=74658

        Reviewed by Darin Adler.

        Previously, we handled skipping newlines after <pre> in the tokenizer,
        which isn't how the spec handles them.  Instead, the spec skips them in
        the tree builder.  This isn't usually observable, except in the case of
        an HTML entity.  In that case, the tokenzier sees '&' (because the
        entity hasn't been decoded yet), but the tree builder sees '\n' (the
        decoded entity).  This patch fixes the bug by more closely aligning our
        implementation with the spec.

        Test: html5lib/runner.html

        * html/parser/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::reset):
        (WebCore::HTMLTokenizer::nextToken):
        * html/parser/HTMLTokenizer.h:
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipAtMostOneLeadingNewline):
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
        * html/parser/HTMLTreeBuilder.h:
        * xml/parser/MarkupTokenizerBase.h:

2011-12-15  Kenneth Russell  <kbr@google.com>

        Unreviewed, rolling out r102989.
        http://trac.webkit.org/changeset/102989
        https://bugs.webkit.org/show_bug.cgi?id=74580

        Caused SHOULD NOT BE REACHED assertions in debug builds.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
        * rendering/RenderFullScreen.cpp:
        (createFullScreenStyle):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::boxPack):
        (WebCore::InheritedFlags::setBoxAlign):
        (WebCore::InheritedFlags::setBoxPack):
        (WebCore::InheritedFlags::initialBoxPack):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleDeprecatedFlexibleBoxData.h:

2011-12-15  Ryosuke Niwa  <rniwa@webkit.org>

        Touch make_name.pl in an attempt to make Qt bots happy.

        * dom/make_names.pl:
        (printNamesHeaderFile):

2011-12-15  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        * bindings/scripts/test/JS/JSTestObj.cpp:

2011-12-15  Luke Macpherson   <macpherson@chromium.org>

        Separate box alignment and box pack values into separate enums.
        https://bugs.webkit.org/show_bug.cgi?id=74580

        Reviewed by Darin Adler.

        No new tests / refactoring only.

        Separating these types cleans up the code by removing several assertions that
        values are in the correct ranges, as this is ensured by the type system.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EBoxPack):
        (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
        * rendering/RenderFullScreen.cpp:
        (createFullScreenStyle):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::boxPack):
        (WebCore::InheritedFlags::setBoxAlign):
        (WebCore::InheritedFlags::setBoxPack):
        (WebCore::InheritedFlags::initialBoxPack):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleDeprecatedFlexibleBoxData.h:

2011-12-15  Kentaro Hara  <haraken@chromium.org>

        REGRESSION(r102663): generate-bindings.pl runs every time
        https://bugs.webkit.org/show_bug.cgi?id=74481

        Reviewed by Adam Barth.

        See the comment #1 of bug 74481 for the cause of this bug.

        This patch fixes generate-bindings.pl so that it generates .h and .cpp files
        even for IDL files that do not need .h and .cpp files. This is just to prevent
        build scripts from trying to generate .h and .cpp files at every build.

        No new tests. No change in behavior.

        * bindings/scripts/generate-bindings.pl:
        (generateEmptyHeaderAndCpp): Generates .h and .cpp files for IDL files
        that do not need .h and .cpp files.
        * bindings/scripts/test/CPP/CPPTestSupplemental.cpp: Added.
        * bindings/scripts/test/CPP/CPPTestSupplemental.h: Added.
        * bindings/scripts/test/GObject/GObjectTestSupplemental.cpp: Added.
        * bindings/scripts/test/GObject/GObjectTestSupplemental.h: Added.
        * bindings/scripts/test/JS/JSTestSupplemental.cpp: Added.
        * bindings/scripts/test/JS/JSTestSupplemental.h: Added.
        * bindings/scripts/test/ObjC/ObjCTestSupplemental.cpp: Added.
        * bindings/scripts/test/ObjC/ObjCTestSupplemental.h: Added.
        * bindings/scripts/test/V8/V8TestSupplemental.cpp: Added.
        * bindings/scripts/test/V8/V8TestSupplemental.h: Added.

2011-12-15  Jarred Nicholls  <jarred@sencha.com>

        Unreviewed build fix. Mac build broken when CSS Filters enabled.
        Needed to move Filter headers out as private headers in WebCore.framework.

        * WebCore.xcodeproj/project.pbxproj:

2011-12-15  Eric Seidel  <eric@webkit.org>

        WebCore has two (disconnected) ways to keep track of updated widgets, should be unified
        https://bugs.webkit.org/show_bug.cgi?id=74367

        Reviewed by Adam Barth.

        It seems the FrameView updateWidgets set is needed for now,
        so just making FrameView::addWidgetToUpdate mark the DOM node
        as needing a widget update and later when it goes to call
        updateWidget() checking first if it needs an update.

        No new tests, just adding an assert.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget):
        * html/HTMLPlugInImageElement.h:
        (WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
        (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
        * page/FrameView.cpp:
        (WebCore::FrameView::addWidgetToUpdate):
        (WebCore::FrameView::updateWidget):

2011-12-15  Alexandru Chiculita  <achicu@adobe.com>

        Windows project file is broken. It has a missing </File> enclosing tag
        https://bugs.webkit.org/show_bug.cgi?id=74632

        Reviewed by Anders Carlsson.

        No new tests, just fixing the project file.

        * WebCore.vcproj/WebCore.vcproj:

2011-12-15  Adam Barth  <abarth@webkit.org>

        <table><tr><td><svg><desc><td> parses incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=68106

        Reviewed by Eric Seidel.

        This patch updates our implementation of the HTML5 parser to account
        for recent changes in the spec.  The main change in this patch is to
        remove the "in foreign content" state from the tree builder.  Rather
        than maintaining this as a separate state, the parser now introspects
        on the stack of open elements to determine whether the parser is in
        foriegn content.  In the process, I've deleted some now-unused
        machinery in the tree builder.

        Tested by the html5lib LayoutTests.  These tests show the progression
        in our spec compliance.

        * html/parser/HTMLElementStack.cpp:
        * html/parser/HTMLElementStack.h:
        * html/parser/HTMLTreeBuilder.cpp:
        * html/parser/HTMLTreeBuilder.h:
        * mathml/mathattrs.in:

2011-12-15  Ryosuke Niwa  <rniwa@webkit.org>

        m_hasCounterNodeMap and m_everHadLayout should be private to RenderObject
        https://bugs.webkit.org/show_bug.cgi?id=74645

        Reviewed by Eric Seidel.

        Made them private and added getters and setters as needed.

        * rendering/RenderCounter.cpp:
        (WebCore::makeCounterNode):
        (WebCore::RenderCounter::destroyCounterNodes):
        (WebCore::updateCounters):
        (WebCore::RenderCounter::rendererStyleChanged):
        (showCounterRendererTree):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::layout):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::hasCounterNodeMap):
        (WebCore::RenderObject::setHasCounterNodeMap):
        (WebCore::RenderObject::everHadLayout):
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::layout):
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout):
        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::layout):
        * rendering/svg/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::layout):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout):
        * rendering/svg/RenderSVGShape.cpp:
        (WebCore::RenderSVGShape::layout):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout):

2011-12-15  Vsevolod Vlasov  <vsevik@chromium.org>

        Not able to navigate the Resource tab options properly with arrow keys after adding the sticky-notes.
        https://bugs.webkit.org/show_bug.cgi?id=72013

        Reviewed by Pavel Feldman.

        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView):
        (WebInspector.DatabaseQueryView.prototype._messagesClicked):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.DatabaseTreeElement.prototype.onexpand):

2011-12-15  Anders Carlsson  <andersca@apple.com>

        Add ScrollingCoordinator class and ENABLE_THREADED_SCROLLING define
        https://bugs.webkit.org/show_bug.cgi?id=74639

        Reviewed by Andreas Kling.

        Add a ScrollingCoordinator class and make it a member of Page. Tear it down
        when the page goes away.

        * WebCore.xcodeproj/project.pbxproj:
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::~Page):
        * page/Page.h:
        (WebCore::Page::scrollingCoordinator):
        * page/ScrollingCoordinator.cpp: Added.
        (WebCore::ScrollingCoordinator::create):
        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
        (WebCore::ScrollingCoordinator::pageDestroyed):
        * page/ScrollingCoordinator.h: Added.

2011-12-15  Kenneth Russell  <kbr@google.com>

        Rename WEBKIT_lose_context to WEBKIT_WEBGL_lose_context
        https://bugs.webkit.org/show_bug.cgi?id=71870

        Reviewed by James Robinson.

        Re-landing after original commit was rolled out.

        Rename largely done with do-webcore-rename with a couple of
        necessary manual fixups. Ran WebGL layout tests.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        * html/canvas/WebGLExtension.h:
        * html/canvas/WebGLLoseContext.cpp: Copied from Source/WebCore/html/canvas/WebKitLoseContext.cpp.
        (WebCore::WebGLLoseContext::WebGLLoseContext):
        (WebCore::WebGLLoseContext::~WebGLLoseContext):
        (WebCore::WebGLLoseContext::getName):
        (WebCore::WebGLLoseContext::create):
        (WebCore::WebGLLoseContext::loseContext):
        (WebCore::WebGLLoseContext::restoreContext):
        * html/canvas/WebGLLoseContext.h: Copied from Source/WebCore/html/canvas/WebKitLoseContext.h.
        * html/canvas/WebGLLoseContext.idl: Copied from Source/WebCore/html/canvas/WebKitLoseContext.idl.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getExtension):
        (WebCore::WebGLRenderingContext::getSupportedExtensions):
        (WebCore::WebGLRenderingContext::maybeRestoreContext):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebKitLoseContext.cpp: Removed.
        * html/canvas/WebKitLoseContext.h: Removed.
        * html/canvas/WebKitLoseContext.idl: Removed.

2011-12-15  Brady Eidson  <beidson@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=74631
        HTMLMediaElement should not register for document activation callbacks as it doesn't use them

        Reviewed by Eric Carlson.

        No new tests. (No behavior change, pruning useless code)

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        (WebCore::HTMLMediaElement::~HTMLMediaElement):
        (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument):
        (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument):

2011-12-15  Eric Carlson  <eric.carlson@apple.com>

        Text tracks should be treated differently according to their kind
        https://bugs.webkit.org/show_bug.cgi?id=72547

        Reviewed by Sam Weinig.

        Tests: media/track/track-default-attribute.html
               media/track/track-mode-not-changed-by-new-track.html
               media/track/track-mode-triggers-loading.html

        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::HTMLAudioElement): Add "createdByParser" parameter.
        (WebCore::HTMLAudioElement::create): Ditto.
        (WebCore::HTMLAudioElement::createForJSConstructor): Deal with constructor change.
        * html/HTMLAudioElement.h:

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Add "createdByParser" parameter. Initialize m_parsingInProgress.
        (WebCore::HTMLMediaElement::finishParsingChildren): Clear m_parsingInProgress. Schedule track
            loading if necessary.
        (WebCore::HTMLMediaElement::loadTimerFired): Call configureTextTracks not call scheduleLoad, 
            it just schedules the load timer again.
        (WebCore::HTMLMediaElement::prepareForLoad): Add all non-disabled track elements to a vector
            so we can prevent the media element's readyState from reaching HAVE_METADATA until the
            tracks are ready.
        (WebCore::HTMLMediaElement::textTracksAreReady): New. Return false unless all tracks that were
            not disabled when loading started have loaded or failed.
        (WebCore::HTMLMediaElement::textTrackReadyStateChanged): Call setReadyState when a track is
            stops loading.
        (WebCore::HTMLMediaElement::textTrackModeChanged): Trigger <track> loading when the mode
            changes to hidden or showing for the first time.
        (WebCore::HTMLMediaElement::setReadyState): Do not advance to HAVE_METADATA or higher while
            track elements are loading.
        (WebCore::HTMLMediaElement::addTrack): Removed.
        (WebCore::HTMLMediaElement::showingTrackWithSameKind): New.
        (WebCore::HTMLMediaElement::trackWasAdded):
        (WebCore::HTMLMediaElement::trackWillBeRemoved): Flag a track as unconfigured so it will be
            reconfigured if it is added to another element.
        (WebCore::HTMLMediaElement::userIsInterestedInThisLanguage): New.
        (WebCore::HTMLMediaElement::userIsInterestedInThisTrack): New. Consider user preferences.
        (WebCore::HTMLMediaElement::configureTextTrack): New. Configure a track as per the user's preferences.
        (WebCore::HTMLMediaElement::configureTextTracks): New. Configure all track elements.
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.h:

        * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser to audio and video.

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::HTMLTrackElement): Initialize m_hasBeenConfigured.
        * html/HTMLTrackElement.h:
        (WebCore::HTMLTrackElement::hasBeenConfigured):
        (WebCore::HTMLTrackElement::setHasBeenConfigured):

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::HTMLVideoElement): Add "createdByParser" parameter.
        (WebCore::HTMLVideoElement::create): Ditto.
        * html/HTMLVideoElement.h:

        * html/TextTrack.cpp:
        (WebCore::TextTrack::TextTrack): Initialize m_mode to DISABLED, not HIDDEN. Initialize m_showingByDefault.
        (WebCore::TextTrack::setMode): Clear the "showing by default" flag when a track's mode is
            explicitly set to SHOWING.
        (WebCore::TextTrack::mode): Return SHOWING whenever the "showing by default" flag is set.
        * html/TextTrack.h:
        (WebCore::TextTrack::showingByDefault):
        (WebCore::TextTrack::setShowingByDefault):

        * html/TextTrackCue.cpp:
        (WebCore::TextTrackCue::isActive): Return false if a cue has no track, or if its track is disabled.
        (WebCore::TextTrackCue::setIsActive): Don't enable a cue if it has no track, or if its track
            is disabled.

2011-12-15  Brady Eidson  <beidson@apple.com>

        Unreviewed, rolling out r102829.
        http://trac.webkit.org/changeset/102829
        https://bugs.webkit.org/show_bug.cgi?id=74533

        Caused https://bugs.webkit.org/show_bug.cgi?id=74555

        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
        (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument):
        (WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument):
        (WebCore::HTMLPlugInImageElement::documentWillBecomeInactive):
        (WebCore::HTMLPlugInImageElement::documentDidBecomeActive):
        * html/HTMLPlugInImageElement.h:

2011-12-15  James Simonsen  <simonjam@chromium.org>

        [Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()
        https://bugs.webkit.org/show_bug.cgi?id=58354

        Reviewed by Pavel Feldman.

        No new tests. Relies on existing webtiming-* tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp: Use monotonic times.
        (WebCore::Document::setReadyState):
        (WebCore::Document::finishedParsing):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didFinishLoadingImpl): Convert monotonicFinishTime to wall time if needed.
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForTiming): Convert monotonic requestTime to wall time.
        (WebCore::buildObjectForResourceResponse): Plumbing for above.
        (WebCore::buildObjectForCachedResource): Ditto.
        (WebCore::InspectorResourceAgent::willSendRequest): Ditto.
        (WebCore::InspectorResourceAgent::didReceiveResponse): Ditto.
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): Ditto.
        * loader/DocumentLoadTiming.cpp: Added.
        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
        (WebCore::DocumentLoadTiming::setNavigationStart): Determine reference time and root reference time.
        (WebCore::DocumentLoadTiming::addRedirect): Moved logic from MainResourceLoader.
        (WebCore::DocumentLoadTiming::convertMonotonicTimeToDocumentTime): Helper to compute wall time from monotonic time.
        * loader/DocumentLoadTiming.h: Turned into class. Made times monotonic.
        (WebCore::DocumentLoadTiming::setUnloadEventStart):
        (WebCore::DocumentLoadTiming::setUnloadEventEnd):
        (WebCore::DocumentLoadTiming::setRedirectStart):
        (WebCore::DocumentLoadTiming::setRedirectEnd):
        (WebCore::DocumentLoadTiming::setFetchStart):
        (WebCore::DocumentLoadTiming::setResponseEnd):
        (WebCore::DocumentLoadTiming::setLoadEventStart):
        (WebCore::DocumentLoadTiming::setLoadEventEnd):
        (WebCore::DocumentLoadTiming::setHasSameOriginAsPreviousDocument):
        (WebCore::DocumentLoadTiming::navigationStart):
        (WebCore::DocumentLoadTiming::unloadEventStart):
        (WebCore::DocumentLoadTiming::unloadEventEnd):
        (WebCore::DocumentLoadTiming::redirectStart):
        (WebCore::DocumentLoadTiming::redirectEnd):
        (WebCore::DocumentLoadTiming::redirectCount):
        (WebCore::DocumentLoadTiming::fetchStart):
        (WebCore::DocumentLoadTiming::responseEnd):
        (WebCore::DocumentLoadTiming::loadEventStart):
        (WebCore::DocumentLoadTiming::loadEventEnd):
        (WebCore::DocumentLoadTiming::hasCrossOriginRedirect):
        (WebCore::DocumentLoadTiming::hasSameOriginAsPreviousDocument):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
        (WebCore::MainResourceLoader::willSendRequest): Moved logic to DocumentLoadTiming.
        (WebCore::MainResourceLoader::didReceiveData): Use monotonic time.
        (WebCore::MainResourceLoader::didFinishLoading): Ditto.
        (WebCore::MainResourceLoader::load):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchLoadEvent):
        * page/DOMWindow.h: Removed dispatchTimedEvent. It doesn't really help in the new model.
        * page/PerformanceNavigation.cpp:
        (WebCore::PerformanceNavigation::redirectCount):
        * page/PerformanceTiming.cpp: Removed skew correction code. This should never happen now.
        (WebCore::PerformanceTiming::navigationStart):
        (WebCore::PerformanceTiming::unloadEventStart):
        (WebCore::PerformanceTiming::unloadEventEnd):
        (WebCore::PerformanceTiming::redirectStart):
        (WebCore::PerformanceTiming::redirectEnd):
        (WebCore::PerformanceTiming::fetchStart):
        (WebCore::PerformanceTiming::responseEnd):
        (WebCore::PerformanceTiming::domLoading):
        (WebCore::PerformanceTiming::domInteractive):
        (WebCore::PerformanceTiming::domContentLoadedEventStart):
        (WebCore::PerformanceTiming::domContentLoadedEventEnd):
        (WebCore::PerformanceTiming::domComplete):
        (WebCore::PerformanceTiming::loadEventStart):
        (WebCore::PerformanceTiming::loadEventEnd):
        (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Used for ResourceLoadTiming.
        (WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds): Used for DocumentTiming and DocumentLoadTiming.
        * page/PerformanceTiming.h:
        * platform/network/ResourceLoadTiming.cpp:
        (WebCore::ResourceLoadTiming::convertResourceLoadTimeToDocumentTime):
        * platform/network/ResourceLoadTiming.h: Added helper function to convert to wall times. Added instructions for use.

2011-12-15  Martin Robinson  <mrobinson@igalia.com>

        plugin crash

        [GTK] Plugins sometimes crash WebKitGTK+ with Gdk-CRITICAL **: gdk_window_get_toplevel: assertion `GDK_IS_WINDOW (window)' failed
        https://bugs.webkit.org/show_bug.cgi?id=73719

        Reviewed by Philippe Normand.

        No new tests. It's difficult to test or reproduce this exact situation
        as it only occurs when running plugins under nspluginwrapper.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::platformGetValue): Properly handle when the plugin tries to
        get the window value when the GtkSocket is no longer realized.

2011-12-15  Martin Kosiba  <mkosiba@google.com>

        Fix find on web pages with -webkit-user-select: none for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=72281

        Reviewed by Ryosuke Niwa.

        Adding findStringAndScrollToVisible to Editor. This new method returns
        the new match as a range rather than modify the active selection.

        Test: editing/text-iterator/findString-selection-disabled.html

        * editing/Editor.cpp:
        (WebCore::Editor::findStringAndScrollToVisible):
        * editing/Editor.h:

2011-12-14  Anders Carlsson  <andersca@apple.com>

        Add WTF::Function to wtf/Forward.h
        https://bugs.webkit.org/show_bug.cgi?id=74576

        Reviewed by Adam Roben.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        Add a JSC:: qualifier to the Function flags to avoid ambiguities.

2011-12-15  Julien Chaffraix  <jchaffraix@webkit.org>

        Hardware-backed renderLayer could avoid repainting during a positioned movement layout
        https://bugs.webkit.org/show_bug.cgi?id=74370

        Reviewed by Simon Fraser.

        Tests: compositing/absolute-position-changed-in-composited-layer.html
               compositing/absolute-position-changed-with-composited-parent-layer.html
               compositing/fixed-position-changed-in-composited-layer.html
               compositing/fixed-position-changed-within-composited-parent-layer.html

        To be able to properly skip repainting after a positioned movement layout only, we
        needed to add more state to the current |setNeedsFullRepaint| method. As part of that
        we refactored the callers and internal fields to better match the new meaning.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::styleDidChange):
        Explicitely gave the RepaintStatus to setRepaintStatus.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::removeOnlyThisLayer):
        Updated those function after the renamings.

        (WebCore::RenderLayer::updateLayerPositions):
        Ditto. Also added a sholdRepaintAfterLayout check.

        (WebCore::RenderLayer::shouldRepaintAfterLayout):
        Heart of the optimization, if we just did a positioned movement layout of composited RenderLayer,
        then don't repaint. All the other cases should still trigger a repaint.

        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::setRepaintStatus):
        Renamed setNeedsFullRepaint to setRepaintStatus. Also added a new enum RepaintStatus.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setLayerNeedsFullRepaint):
        Updated after the renamings.

        (WebCore::RenderObject::setLayerNeedsFullRepaintForPositionedMovementLayout):
        New method that pass a new value to the RenderLayer.

        * rendering/RenderObject.h:
        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
        Switched the call to the dedicated method.

2011-12-15  Antti Koivisto  <antti@apple.com>

        Don't invoke CSSStyleSelector::pushParent before Text::recalcTextStyle
        https://bugs.webkit.org/show_bug.cgi?id=74575

        Reviewed by Darin Adler.
        
        Text::recalcTextStyle never enters the style selector so pushing the state is not necessary

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):

2011-12-15  Chris Marrin  <cmarrin@apple.com>

        Fixed error in Target.pri.

        Unreviewed.

        * Target.pri:

2011-12-15  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: #hex colors are not highlighted in CSS files
        https://bugs.webkit.org/show_bug.cgi?id=74570

        Reviewed by Pavel Feldman.

        Drive by: highlight color keywords as colors, not as keywords.

        * inspector/front-end/CSSKeywordCompletions.js:
        (WebInspector.CSSKeywordCompletions.colors):
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer):
        (WebInspector.SourceCSSTokenizer.prototype.nextToken):
        * inspector/front-end/SourceCSSTokenizer.re2js:

2011-12-14  Chris Marrin  <cmarrin@apple.com>

        Hardware acceleration of W3C Filter Effects
        https://bugs.webkit.org/show_bug.cgi?id=68479

        Reviewed by Simon Fraser.

        Move FilterOperation(s) to platform/graphics/filters so it can be used to pass filter information 
        down to GraphicsLayer for hardware acceleration. This leaves the CustomFilterOperation subclass in
        rendering/style since it has dependencies outside platform. Some part of that class will
        eventually need to be down in platform.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/filters/FilterOperation.cpp: Renamed from Source/WebCore/rendering/style/FilterOperation.cpp.
        (WebCore::BasicColorMatrixFilterOperation::blend):
        (WebCore::BasicColorMatrixFilterOperation::passthroughAmount):
        (WebCore::BasicComponentTransferFilterOperation::blend):
        (WebCore::BasicComponentTransferFilterOperation::passthroughAmount):
        (WebCore::GammaFilterOperation::blend):
        (WebCore::BlurFilterOperation::blend):
        (WebCore::DropShadowFilterOperation::blend):
        * platform/graphics/filters/FilterOperation.h: Renamed from Source/WebCore/rendering/style/FilterOperation.h.
        (WebCore::FilterOperation::~FilterOperation):
        (WebCore::FilterOperation::operator!=):
        (WebCore::FilterOperation::blend):
        (WebCore::FilterOperation::getOperationType):
        (WebCore::FilterOperation::isSameType):
        (WebCore::FilterOperation::FilterOperation):
        (WebCore::PassthroughFilterOperation::create):
        (WebCore::PassthroughFilterOperation::operator==):
        (WebCore::PassthroughFilterOperation::PassthroughFilterOperation):
        (WebCore::ReferenceFilterOperation::create):
        (WebCore::ReferenceFilterOperation::reference):
        (WebCore::ReferenceFilterOperation::operator==):
        (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
        (WebCore::BasicColorMatrixFilterOperation::create):
        (WebCore::BasicColorMatrixFilterOperation::amount):
        (WebCore::BasicColorMatrixFilterOperation::operator==):
        (WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
        (WebCore::BasicComponentTransferFilterOperation::create):
        (WebCore::BasicComponentTransferFilterOperation::amount):
        (WebCore::BasicComponentTransferFilterOperation::operator==):
        (WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
        (WebCore::GammaFilterOperation::create):
        (WebCore::GammaFilterOperation::amplitude):
        (WebCore::GammaFilterOperation::exponent):
        (WebCore::GammaFilterOperation::offset):
        (WebCore::GammaFilterOperation::operator==):
        (WebCore::GammaFilterOperation::GammaFilterOperation):
        (WebCore::BlurFilterOperation::create):
        (WebCore::BlurFilterOperation::stdDeviationX):
        (WebCore::BlurFilterOperation::stdDeviationY):
        (WebCore::BlurFilterOperation::operator==):
        (WebCore::BlurFilterOperation::BlurFilterOperation):
        (WebCore::SharpenFilterOperation::create):
        (WebCore::SharpenFilterOperation::amount):
        (WebCore::SharpenFilterOperation::radius):
        (WebCore::SharpenFilterOperation::threshold):
        (WebCore::SharpenFilterOperation::operator==):
        (WebCore::SharpenFilterOperation::SharpenFilterOperation):
        (WebCore::DropShadowFilterOperation::create):
        (WebCore::DropShadowFilterOperation::x):
        (WebCore::DropShadowFilterOperation::y):
        (WebCore::DropShadowFilterOperation::stdDeviation):
        (WebCore::DropShadowFilterOperation::color):
        (WebCore::DropShadowFilterOperation::operator==):
        (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
        * platform/graphics/filters/FilterOperations.cpp: Renamed from Source/WebCore/rendering/style/FilterOperations.cpp.
        (WebCore::FilterOperations::FilterOperations):
        (WebCore::FilterOperations::operator==):
        (WebCore::FilterOperations::operationsMatch):
        * platform/graphics/filters/FilterOperations.h: Renamed from Source/WebCore/rendering/style/FilterOperations.h.
        (WebCore::FilterOperations::operator!=):
        (WebCore::FilterOperations::clear):
        (WebCore::FilterOperations::operations):
        (WebCore::FilterOperations::size):
        (WebCore::FilterOperations::at):

2011-12-15  Igor Oliveira  <igor.oliveira@openbossa.org>

        [Qt] Support requestAnimationFrame API
        https://bugs.webkit.org/show_bug.cgi?id=74528

        Add necessary files to Target.pri when enabling requestAnimationFrame option.

        Reviewed by Kenneth Rohde Christiansen.

        * Target.pri:

2011-12-15  Otto Cheung  <ocheung@rim.com>

        Removing BlackBerryCookieCache from the build system
        https://bugs.webkit.org/show_bug.cgi?id=74318

        Reviewed by Rob Buis.

        Removing any references to BlackBerryCookieCache in files that are upstreamed.

        We are removing the BlackBerryCookieCache because the CookieManager cookie structure has been
        refactored to have a similar structure to the cache. Since the read speeds in both structures
        are similar, we no longer need the cache to speed up read performance.

        No new tests, this patch by itself will not work. This patch is only removing
        the references to BlackBerryCookieCache in files that are upstreamed.

        * PlatformBlackBerry.cmake:
        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleNotifyHeaderReceived):

2011-12-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        [Qt] Mobile theme improvements

        Rubberstamped by Simon Hausmann.

        - Invert the gradient on the checkboxes
        - Make the buttons on the multi select combobox work on floats
        - Mini cleanups

        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore::StylePainterMobile::drawCheckableBackground):
        (WebCore::StylePainterMobile::drawMultipleComboButton):
        (WebCore::StylePainterMobile::getButtonImageSize):
        (WebCore::StylePainterMobile::drawComboBox):

2011-12-15  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: CodeGeneratorInspector.py convert script conditions to precompiler #ifs
        https://bugs.webkit.org/show_bug.cgi?id=74534

        Reviewed by Pavel Feldman.

        Generator is rewritten to add #if's to output.

        * inspector/CodeGeneratorInspector.py:
        (DomainNameFixes.get_fixed_data.Res.get_guard.Guard.generate_open):
        (DomainNameFixes.get_fixed_data.Res.get_guard.Guard):
        (DomainNameFixes.get_fixed_data.Res.get_guard.Guard.generate_close):
        (DomainNameFixes.get_fixed_data.Res):
        (DomainNameFixes.get_fixed_data.Res.get_guard):
        (Generator.go):
        (Generator.process_event):
        (Generator.process_command):
        (Generator.process_types):

2011-12-15  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        [Qt][WK2] Setting Download as action for navigation request crashes WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=74526

        Reviewed by Simon Hausmann.

        Adding checks for networkcontext and networkAccessManager
        and return true in case they don't exist, following the same
        logic as if the CookieJar doesn't exist.

        * platform/qt/ThirdPartyCookiesQt.cpp:
        (WebCore::thirdPartyCookiePolicyPermits):

2011-12-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Get rid of layering violation in PluginViewQt

        PluginViewQt has a layering violation in relying on QWebPagePrivate for
        the check if running under DRT. We remove this and add a specific flag
        in the PluginView for this check, enabled from DRTSupport. This isn't
        pretty, but an improvement over what's currently there.

        Reviewed by Simon Hausmann.

        * plugins/PluginView.h:
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::setXKeyEventSpecificFields):

2011-12-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Console should show network messages origins.
        https://bugs.webkit.org/show_bug.cgi?id=74521

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):

2011-12-15  Rakesh KN  <rakesh.kn@motorola.com>

        "user-select none" causes selection to incorrectly escape from clicked container
        https://bugs.webkit.org/show_bug.cgi?id=57289

        Reviewed by Ryosuke Niwa.

        Not selecting the nearest word from the target node if target node has -webkit-user-select:none

        Test: fast/events/mouse-double-triple-click-should-not-select-next-node-for-user-select-none.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
        If target node has webkit-user-select:none style then do not update the selection.

2011-12-13  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: Generated HAR is missing pages.startedDateTime
        https://bugs.webkit.org/show_bug.cgi?id=74188

        Reviewed by Pavel Feldman.

        * inspector/front-end/HAREntry.js:
        (WebInspector.HARLog.prototype._buildPages):
        * inspector/front-end/NetworkLog.js:
        (WebInspector.NetworkLog):
        (WebInspector.NetworkLog.prototype.get mainResourceStartTime):
        (WebInspector.NetworkLog.prototype._mainFrameNavigated):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._updateSummaryBar):

2011-12-15  Kenichi Ishibashi  <bashi@chromium.org>

        Supports Unicode variation selector
        https://bugs.webkit.org/show_bug.cgi?id=50999

        Reviewed by Nikolas Zimmermann.

        Adds SimpleFontData::updateGlyphWithVariationSelector() which substitutes the
        glyph in question based on the selector. WidthIterator::advance() calls it
        when an unicode variation selector follows the character.

        Test: fast/text/unicode-variation-selector.html

        * platform/graphics/SimpleFontData.h: Added updateGlyphWithVariationSelector().
        * platform/graphics/SurrogatePairAwareTextIterator.cpp:
        (WebCore::isUnicodeBMPVariationSelector): Added.
        (WebCore::isUnicodeSupplementaryVariationSelector): Added.
        (WebCore::SurrogatePairAwareTextIterator::hasTrailingVariationSelector): Added.
        * platform/graphics/SurrogatePairAwareTextIterator.h:
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance): Changed to detect variation selectors.
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Added.
        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::decomposeToUTF16): Ditto.
        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
        * platform/graphics/pango/SimpleFontDataPango.cpp:
        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
        * platform/graphics/wx/SimpleFontDataWx.cpp:
        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.

2011-12-15  Alexander Pavlov  <apavlov@chromium.org>

        [v8] Expose the "filter" property in V8CSSStyleDeclaration
        https://bugs.webkit.org/show_bug.cgi?id=73426

        Reviewed by Adam Barth.

        Test: fast/css/style-enumerate-properties.html

        The "filter" CSS property used to be masked to be compliant with JSC, but JSC has supported
        this property for quite a while.

        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::hasCSSPropertyNamePrefix): clean up WTF prefixes
        (WebCore::cssPropertyInfo): remove the "wasFilter" flag
        (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): remove the "filter" check
        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): return the "filter" value as v8String

2011-12-15  Hajime Morrita  <morrita@chromium.org>

        Unreviewed build fix attempt for Chromium Mac.

        * page/PerformanceTiming.h:

2011-12-15  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, build fix after r102906 (poor merge).

        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileType.prototype.buttonClicked):

2011-12-15  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed revert of r102696 ([Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()).
        Breaks inspector's network panel timeline on chromium.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::setReadyState):
        (WebCore::Document::finishedParsing):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForTiming):
        (WebCore::buildObjectForResourceResponse):
        (WebCore::buildObjectForCachedResource):
        (WebCore::InspectorResourceAgent::willSendRequest):
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
        * loader/DocumentLoadTiming.cpp: Removed.
        * loader/DocumentLoadTiming.h:
        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
        (WebCore::MainResourceLoader::willSendRequest):
        (WebCore::MainResourceLoader::didReceiveData):
        (WebCore::MainResourceLoader::didFinishLoading):
        (WebCore::MainResourceLoader::load):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchLoadEvent):
        (WebCore::DOMWindow::dispatchTimedEvent):
        * page/DOMWindow.h:
        * page/PerformanceNavigation.cpp:
        (WebCore::PerformanceNavigation::redirectCount):
        * page/PerformanceTiming.cpp:
        (WebCore::getPossiblySkewedTimeInKnownRange):
        (WebCore::PerformanceTiming::navigationStart):
        (WebCore::PerformanceTiming::unloadEventStart):
        (WebCore::PerformanceTiming::unloadEventEnd):
        (WebCore::PerformanceTiming::redirectStart):
        (WebCore::PerformanceTiming::redirectEnd):
        (WebCore::PerformanceTiming::fetchStart):
        (WebCore::PerformanceTiming::responseEnd):
        (WebCore::PerformanceTiming::domLoading):
        (WebCore::PerformanceTiming::domInteractive):
        (WebCore::PerformanceTiming::domContentLoadedEventStart):
        (WebCore::PerformanceTiming::domContentLoadedEventEnd):
        (WebCore::PerformanceTiming::domComplete):
        (WebCore::PerformanceTiming::loadEventStart):
        (WebCore::PerformanceTiming::loadEventEnd):
        (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
        * page/PerformanceTiming.h:
        * platform/network/ResourceLoadTiming.cpp: Removed.
        * platform/network/ResourceLoadTiming.h:

2011-12-15  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, fix Closure compiler warnings after r102905.

        * inspector/front-end/CSSStyleModel.js: Add JSDoc annotations

2011-12-14  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: make ProfilesPanel scale as the number of ProfileTypes grows
        https://bugs.webkit.org/show_bug.cgi?id=74391

        Reviewed by Pavel Feldman.

        Whenever a profile is started, this change disables all profile recording buttons, except the one
        that correponds to the running profile. Once the profiling is finished, all buttons get enabled back again.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileView.profileCallback):
        (WebInspector.CPUProfileType.prototype.get buttonTooltip):
        (WebInspector.CPUProfileType.prototype.get buttonStyle):
        (WebInspector.CPUProfileType.prototype.buttonClicked):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler):
        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
        (WebInspector.ProfilesPanel.prototype._addProfileHeader):
        (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons):
        (WebInspector.ProfilesPanel.prototype._updateInterface):
        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
        (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
        * inspector/front-end/inspector.css:
        (.record-cpu-profile-status-bar-item .glyph):
        (.record-cpu-profile-status-bar-item.toggled-on .glyph):

2011-12-15  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Update selected DOM element styles whenever applicable media queries change
        https://bugs.webkit.org/show_bug.cgi?id=74292

        The change introduces and handles in the frontend a new event type for the CSS domain,
        "mediaQueryResultChanged", which gets fired every time a viewport-dependent media feature
        changes its value. This allows users to see live changes of the (media-dependent) matched
        rules for inspected elements.

        Reviewed by Pavel Feldman.

        * inspector/CodeGeneratorInspector.py:
        (DomainNameFixes):
        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
        (WebCore::InspectorCSSAgent::setFrontend):
        (WebCore::InspectorCSSAgent::clearFrontend):
        (WebCore::InspectorCSSAgent::restore):
        (WebCore::InspectorCSSAgent::enable):
        (WebCore::InspectorCSSAgent::disable):
        (WebCore::InspectorCSSAgent::mediaQueryResultChanged):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::mediaQueryResultChangedImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::mediaQueryResultChanged):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel):
        (WebInspector.CSSStyleModel.prototype.mediaQueryResultChanged):
        (WebInspector.CSSDispatcher):
        (WebInspector.CSSDispatcher.prototype.mediaQueryResultChanged):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane):
        (WebInspector.MetricsSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane):
        (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):

2011-12-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] Network manager fails to show resource type and MIME type in incorrect MIME type console message.
        https://bugs.webkit.org/show_bug.cgi?id=74516

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/network/script-as-text-loading.html

        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):

2011-11-03  Kent Tamura  <tkent@chromium.org>

        A spin button changes the value incorrectly if it is clicked after touch events.
        https://bugs.webkit.org/show_bug.cgi?id=71181

        Reviewed by Ryosuke Niwa.

        SpinButtonElement assumed setHovered(true) was always called before a
        mousemove event in the element. It is not true for touch events.

        We should not reset m_upDownState to Indetermiante in setHovered(true),
        and should reset it when the mouse pointer moves out.

        This change fixes the flakiness of fast/forms/input-step-as-double.html.

        Test: fast/events/touch/touch-before-pressing-spin-button.html

        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::SpinButtonElement::defaultEventHandler):
        Add an assertion that m_upDownState should not be Indetermiante.
        Reset m_upDownState to Indeterminate when the mouse pointer moves out
        from the element.
        (WebCore::SpinButtonElement::setHovered):
        Reset m_upDownState to Indeterminate when the element becomes unhovered.

2011-12-14  Lucas Forschler  <lforschler@apple.com>
    
        https://bugs.webkit.org/show_bug.cgi?id=74543
        Add CSS*.cpp to a new CSSAllInOne.cpp file with two exceptions:
            CSSProperty.cpp
            CSSPrimitiveValue.cpp
        Adding these two broke things with a templates problem that was not easily fixable.

        Reviewed by Steve Falkenburg.

        * WebCore.vcproj/WebCore.vcproj:
        * css/CSSAllInOne.cpp: Added.

2011-12-14  Tim Horton  <timothy_horton@apple.com>

        Generated images should respect the accelerated state of the context they're going to be drawn into
        https://bugs.webkit.org/show_bug.cgi?id=74577
        <rdar://problem/10584392>

        Reviewed by Simon Fraser.

        The tiled code path for GeneratorGeneratedImage and CrossfadeGeneratedImage blindly creates
        an unaccelerated ImageBuffer. Instead, take into account the accelerated state of the destination context.

        No new tests, as this is a simple performance improvement.

        * platform/graphics/CrossfadeGeneratedImage.cpp:
        (WebCore::CrossfadeGeneratedImage::drawPattern):
        * platform/graphics/GeneratorGeneratedImage.cpp:
        (WebCore::GeneratorGeneratedImage::drawPattern):

2011-12-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: cleanup unused variable introduced at r102803

        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.enableResourceTracking):
        (WebInspector.NetworkManager.prototype.disableResourceTracking):

2011-12-14  Wei James  <james.wei@intel.com>

        fast path to accelerate processing in AudioBus::processWithGainFromMonoStereo
        https://bugs.webkit.org/show_bug.cgi?id=74054

        Reviewed by Kenneth Russell.

        Avoid de-zippering when the gain has converged on the targetGain. 
        It can get about 75% performance gain at most when all frames don't need
        de-zippering.

        * platform/audio/AudioBus.cpp:
        (WebCore::AudioBus::processWithGainFromMonoStereo):

2011-12-14  Adam Klein  <adamk@chromium.org>

        Optimize MutationObserverInterestGroup construction
        https://bugs.webkit.org/show_bug.cgi?id=74563

        Reviewed by Ojan Vafai.

        Inline MutationObserverInterestGroup's creation methods and fix an
        accidental pass-by-value in an attempt to further reduce the CPU
        footprint of MutationObservers.

        No new tests, refactor only.

        * dom/WebKitMutationObserver.cpp:
        (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup): Pass observers HashMap by reference.
        * dom/WebKitMutationObserver.h:
        (WebCore::MutationObserverInterestGroup::createForChildListMutation): Inline.
        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation): Inline.
        (WebCore::MutationObserverInterestGroup::createForAttributesMutation): Inline.
        (WebCore::MutationObserverInterestGroup::hasOldValue): Remove spurious inline keyword.

2011-12-14  Dominic Mazzoni  <dmazzoni@google.com>

        Seeing crash in DRT after loading-iframe-sends-notification.html land
        https://bugs.webkit.org/show_bug.cgi?id=72624

        When an iframe finishes loading, send an accessibility notification
        on the renderer, rather than on a parent node. The only reason it was
        being posted on a parent before was because there was no way to detect
        that in a test. This is simpler and now covered by the test.

        Reviewed by Chris Fleizach.

        Updates existing test:
        accessibility/loading-iframe-sends-notification.html

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):

2011-12-14  Nat Duca  <nduca@chromium.org>

        [chromium] Add inhibitDraw to CCScheduler and drop root impl to prevent background flash on tab restore
        https://bugs.webkit.org/show_bug.cgi?id=74351

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::setNeedsCommit):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::getNextAction):
        (WebCore::CCScheduler::processScheduledActions):
        * platform/graphics/chromium/cc/CCScheduler.h:
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
        (WebCore::CCSchedulerStateMachine::nextAction):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
        (WebCore::CCSchedulerStateMachine::setInhibitDraw):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::setVisibleOnImplThread):
        (WebCore::CCThreadProxy::inhibitDraw):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-12-14  Ken Buchanan  <kenrb@chromium.org>

        Crash due to incorrect parsing of isolates
        https://bugs.webkit.org/show_bug.cgi?id=74311
        When <bdi> content is wrapped, all hell breaks loose
        https://bugs.webkit.org/show_bug.cgi?id=74396

        Reviewed by Eric Seidel.

        When an isolate was encountered during run layout, the entire isolate
        would be parsed, even if the run started in the middle of the isolate.
        This would sometimes cause parts of the isolate to be added multiple
        times as runs. This patch marks the starting position within the
        isolate so nothing is parsed twice.

        This patch changes appendRun() so that when a run is added that is
        inside an isolate, it saves the start position of the run rather than
        the root. This allows constructBidiRuns() to resume parsing the
        isolate from the correct position.

        The change to RenderBox partially reverts a previous change I had
        done. It makes sense to screen for the condition, as was previously
        the case.

        This patch does not add the test case from 74396 because a separate
        bug is preventing it from rendering correctly.

        * rendering/InlineIterator.h:
        (WebCore::addPlaceholderRunForIsolatedInline)
        (WebCore::IsolateTracker::addFakeRunIfNecessary)
        (WebCore::InlineBidiResolver::appendRun)
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockLineLayout::constructBidiRuns)
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::positionLineBox)

2011-12-14  Jing Zhao  <jingzhao@chromium.org>

        Opening two popup menus by dispatchEvent() makes problems.
        https://bugs.webkit.org/show_bug.cgi?id=73304

        Reviewed by Kent Tamura.

        By using element.dispatchEvent(), a user written script can open two
        popup menus, which causes various problems in different platforms.

        Add a hasOpenedPopup() method in ChromeClient and a wrapper in Chrome.
        In RenderMenuList::showPopup(), check if there is an opened popup menu
        before opening a new popup menu.

        Test: fast/forms/select-popup-crash.html

        * loader/EmptyClients.h: Overrides hasOpenedPopup().
        (WebCore::EmptyChromeClient::hasOpenedPopup): Returns false as a default case.
        * page/Chrome.cpp:
        (WebCore::Chrome::hasOpenedPopup): Calls ChromeClient::hasOpenedPopup().
        * page/Chrome.h: Declares hasOpenedPopup().
        * page/ChromeClient.h: Declares hasOpenedPopup() as a pure virtual function.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::showPopup): Calls Chrome::hasOpenedPopup() before opening a new popup menu.

2011-12-14  Tony Chang  <tony@chromium.org>

        Clean up style in CSSStyleSelector.cpp
        https://bugs.webkit.org/show_bug.cgi?id=74548

        Reviewed by Ojan Vafai.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):

2011-12-14  Kenneth Russell  <kbr@google.com>

        Unreviewed, rolling out r102794.
        http://trac.webkit.org/changeset/102794
        https://bugs.webkit.org/show_bug.cgi?id=74220

        Reapplying patch since it is not the cause of the problems
        described in bug 74220.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::reportUnsafeAccessTo):
        * bindings/v8/V8Proxy.h:
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):

2011-12-14  Sam Weinig  <weinig@apple.com>

        Remove whitespace from InheritedPropertySheets attributes in
        vsprops files to appease the Visual Studio project migrator.

        Reviewed by Adam Roben.

        * WebCore.vcproj/QTMovieWinDebug.vsprops:
        * WebCore.vcproj/QTMovieWinDebugAll.vsprops:
        * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops:
        * WebCore.vcproj/QTMovieWinProduction.vsprops:
        * WebCore.vcproj/QTMovieWinRelease.vsprops:
        * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops:
        * WebCore.vcproj/WebCoreDebug.vsprops:
        * WebCore.vcproj/WebCoreDebugAll.vsprops:
        * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops:
        * WebCore.vcproj/WebCoreProduction.vsprops:
        * WebCore.vcproj/WebCoreRelease.vsprops:
        * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops:

2011-12-14  Enrica Casucci  <enrica@apple.com>

        One more attempt to fix the release build (hopefully the last)

        Unreviewed.

        * editing/ReplaceSelectionCommand.cpp: Added NodeRenderStyle.h

2011-12-14  Kenneth Russell  <kbr@google.com>

        Unreviewed, rolling out r102816.
        http://trac.webkit.org/changeset/102816
        https://bugs.webkit.org/show_bug.cgi?id=74415

        Implicated in font-related crashes on Chromium canaries.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::~FontPlatformData):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
        (WebCore::FontPlatformData::size):
        (WebCore::FontPlatformData::hash):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::setupPaintForFont):
        (WebCore::paintSkiaText):
        * platform/graphics/skia/SkiaFontWin.h:

2011-12-14  Simon Fraser  <simon.fraser@apple.com>

        Filter amounts should accept percentages
        https://bugs.webkit.org/show_bug.cgi?id=74531

        Reviewed by Chris Marrin.
        
        Support percentage arguments for some filter functions, using the FPercent flag
        to validUnit(). Fix CSSStyleSelector::createFilterOperations() to do the divide by 100
        for percentages.
        
        Replaced isValidFilterArgument(), which just tested arguments one by one for validity, with
        parseBuiltinFilterArguments() which tests and creates the CSSValues at the same time, which
        is a little more efficient. It also allows filter-specific behavior to be more localized in this
        method.

        Covered by existing tests.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseBuiltinFilterArguments):
        (WebCore::CSSParser::parseFilter):
        * css/CSSParser.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createFilterOperations):

2011-12-14  Enrica Casucci  <enrica@apple.com>

        Build fix.

        Unreviewed.

        * editing/ReplaceSelectionCommand.cpp: Added include RenderStyle.h

2011-12-14  Hajime Morrita  <morrita@chromium.org>

        JS_INLINE and WTF_INLINE should be visible from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=73191

        Reviewed by Kevin Ollivier.

        - Moved export related definitions from config.h
          to ExportMacros.h, JSExportMacros.h and PlatformExportMacros.h
        - Added forwarding headers which are referred from config.h

        No new tests. Only build related changes.

        * ForwardingHeaders/runtime/JSExportMacros.h: Added.
        * ForwardingHeaders/wtf/ExportMacros.h: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * config.h:
        * platform/PlatformExportMacros.h: Copied from Source/JavaScriptCore/wtf/ExportMacros.h.

2011-12-14  Enrica Casucci  <enrica@apple.com>

        Need a way to produce leaner markup when pasting a fragment containing verbose markup
        https://bugs.webkit.org/show_bug.cgi?id=74514
        <rdar://problem/10208653>

        Reviewed by Ryosuke Niwa.

        This patch is another step in the direction of reducing the verbosity of the markup
        produced with editing operations.
        After the copied fragment is inserted in the document, it is analyzed to remove all
        the elements that don't contribute to the style. The decision is made comparing the
        render styles. As part of the cleanup, unstyled divs with single child element are
        removed. The logic to determine the blocks that can be removed is the same used in
        DeleteSelectionCommand and has been moved in CompositeEditCommand.
        
        Test: editing/pasteboard/paste-and-sanitize.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::isRemovableBlock): Implements logic to determine
        if a block can be removed.
        * editing/CompositeEditCommand.h: Added isRemovableBlock declaration.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Implemented using
        isRemovableBlock from CompositeEditCommand.
        * editing/Editor.cpp:
        (WebCore::Editor::replaceSelectionWithFragment): Added SanitizeFragment option.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Added initialization
        of m_sanitizeFragment member.
        (WebCore::ReplaceSelectionCommand::removeRedundantMarkup): New method implementing
        the cleanup logic.
        (WebCore::ReplaceSelectionCommand::doApply): Added call to removeRedundantMarkup
        after the fragment is inserted in the document.
        * editing/ReplaceSelectionCommand.h: Added new value to the enum CommandOption,
        a new member variable and the new method declaration.

2011-12-14  Adrienne Walker  <enne@google.com>

        [chromium] Refactor tile drawing to be more data-driven
        https://bugs.webkit.org/show_bug.cgi?id=73059

        Reviewed by James Robinson.

        Partially tested by compositor layout tests. Debug borders and
        checkerboarding tested manually.

        This is the first part of a move towards rendering quads on screen
        from a bag of data rather than in virtual CCLayerImpl::draw functions.

        CCDrawQuad-derived classes store material-specific pieces of data to
        use when rendering. CCLayerImpl classes now create these CCDrawQuad
        objects rather than issuing direct GL commands. Where this data is
        shared between quads that come from the same layer, that data is
        stored in a CCSharedQuadState object rather than duplicated.

        CCRenderPass is the class that holds the list of quads and the target
        surface that they draw into. Drawing a frame consists of drawing a
        series of render passes onto their respective surfaces.

        CCLayerTreeHostImpl constructs these render passes from the output of
        calculateDrawTransformsAndVisibility by asking each layer to insert
        quads into a list and hands them off to LayerRendererChromium for
        rendering.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::clearSurfaceForDebug):
        (WebCore::LayerRendererChromium::beginDrawingFrame):
        (WebCore::LayerRendererChromium::drawRenderPass):
        (WebCore::LayerRendererChromium::drawQuad):
        (WebCore::LayerRendererChromium::drawDebugBorderQuad):
        (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
        (WebCore::LayerRendererChromium::drawSolidColorQuad):
        (WebCore::tileUniformLocation):
        (WebCore::findTileProgramUniforms):
        (WebCore::LayerRendererChromium::drawTileQuad):
        (WebCore::LayerRendererChromium::drawCustomLayerQuad):
        (WebCore::LayerRendererChromium::finishDrawingFrame):
        (WebCore::LayerRendererChromium::useRenderSurface):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/ShaderChromium.h:
        (WebCore::FragmentTexAlphaBinding::edgeLocation):
        (WebCore::FragmentTexAlphaBinding::fragmentTexTransformLocation):
        (WebCore::FragmentTexOpaqueBinding::edgeLocation):
        (WebCore::FragmentTexOpaqueBinding::fragmentTexTransformLocation):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp: Added.
        (WebCore::CCCustomLayerDrawQuad::create):
        (WebCore::CCCustomLayerDrawQuad::CCCustomLayerDrawQuad):
        * platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h: Added.
        (WebCore::CCCustomLayerDrawQuad::layer):
        * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp: Added.
        (WebCore::CCDebugBorderDrawQuad::create):
        (WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
        * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h: Added.
        (WebCore::CCDebugBorderDrawQuad::color):
        (WebCore::CCDebugBorderDrawQuad::width):
        * platform/graphics/chromium/cc/CCDrawQuad.cpp: Added.
        (WebCore::CCDrawQuad::CCDrawQuad):
        (WebCore::CCDrawQuad::toDebugBorderDrawQuad):
        (WebCore::CCDrawQuad::toRenderSurfaceDrawQuad):
        (WebCore::CCDrawQuad::toSolidColorDrawQuad):
        (WebCore::CCDrawQuad::toTileDrawQuad):
        (WebCore::CCDrawQuad::toCustomLayerDrawQuad):
        * platform/graphics/chromium/cc/CCDrawQuad.h: Added.
        (WebCore::CCDrawQuad::quadRect):
        (WebCore::CCDrawQuad::quadTransform):
        (WebCore::CCDrawQuad::layerTransform):
        (WebCore::CCDrawQuad::layerRect):
        (WebCore::CCDrawQuad::clipRect):
        (WebCore::CCDrawQuad::opacity):
        (WebCore::CCDrawQuad::drawsOpaque):
        (WebCore::CCDrawQuad::needsBlending):
        (WebCore::CCDrawQuad::isLayerAxisAlignedIntRect):
        (WebCore::CCDrawQuad::material):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::createSharedQuadState):
        (WebCore::CCLayerImpl::appendQuads):
        (WebCore::CCLayerImpl::appendDebugBorderQuad):
        (WebCore::CCLayerImpl::quadTransform):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
        (WebCore::computeScreenSpaceTransformForSurface):
        (WebCore::damageInSurfaceSpace):
        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        * platform/graphics/chromium/cc/CCRenderPass.cpp: Added.
        (WebCore::CCRenderPass::create):
        (WebCore::CCRenderPass::CCRenderPass):
        (WebCore::CCRenderPass::appendQuadsForLayer):
        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
        * platform/graphics/chromium/cc/CCRenderPass.h: Added.
        (WebCore::CCRenderPass::quadList):
        (WebCore::CCRenderPass::targetSurface):
        (WebCore::CCRenderPass::setSurfaceDamageRect):
        (WebCore::CCRenderPass::surfaceDamageRect):
        * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp: Added.
        (WebCore::CCRenderSurfaceDrawQuad::create):
        (WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad):
        * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h: Added.
        (WebCore::CCRenderSurfaceDrawQuad::layer):
        (WebCore::CCRenderSurfaceDrawQuad::surfaceDamageRect):
        * platform/graphics/chromium/cc/CCSharedQuadState.cpp: Added.
        (WebCore::CCSharedQuadState::create):
        (WebCore::CCSharedQuadState::CCSharedQuadState):
        (WebCore::CCSharedQuadState::isLayerAxisAlignedIntRect):
        * platform/graphics/chromium/cc/CCSharedQuadState.h: Added.
        (WebCore::CCSharedQuadState::quadTransform):
        (WebCore::CCSharedQuadState::layerTransform):
        (WebCore::CCSharedQuadState::layerRect):
        (WebCore::CCSharedQuadState::clipRect):
        (WebCore::CCSharedQuadState::opacity):
        (WebCore::CCSharedQuadState::isOpaque):
        * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp: Added.
        (WebCore::CCSolidColorDrawQuad::create):
        (WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
        * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h: Added.
        (WebCore::CCSolidColorDrawQuad::color):
        * platform/graphics/chromium/cc/CCTileDrawQuad.cpp: Added.
        (WebCore::CCTileDrawQuad::create):
        (WebCore::CCTileDrawQuad::CCTileDrawQuad):
        * platform/graphics/chromium/cc/CCTileDrawQuad.h: Added.
        (WebCore::CCTileDrawQuad::textureId):
        (WebCore::CCTileDrawQuad::textureOffset):
        (WebCore::CCTileDrawQuad::textureSize):
        (WebCore::CCTileDrawQuad::textureFilter):
        (WebCore::CCTileDrawQuad::swizzleContents):
        (WebCore::CCTileDrawQuad::leftEdgeAA):
        (WebCore::CCTileDrawQuad::topEdgeAA):
        (WebCore::CCTileDrawQuad::rightEdgeAA):
        (WebCore::CCTileDrawQuad::bottomEdgeAA):
        (WebCore::CCTileDrawQuad::isAntialiased):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
        (WebCore::CCTiledLayerImpl::quadTransform):
        (WebCore::CCTiledLayerImpl::appendQuads):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (WebCore::CCTiledLayerImpl::setContentsSwizzled):
        (WebCore::CCTiledLayerImpl::contentsSwizzled):

2011-12-14  Ojan Vafai  <ojan@chromium.org>

        Implement flexDirection and flexWrap and make flexFlow a proper shorthand.
        https://bugs.webkit.org/show_bug.cgi?id=74542

        Reviewed by Tony Chang.

        In a followup patch, I'll cleanup all the *Flow methods in RenderFlexibleBox.

        Existing tests cover all the rendering behaviors, so only need to test
        the css property parsing.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFlexDirection):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyLonghand.cpp:
        (WebCore::initShorthandMap):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::isColumnFlow):
        (WebCore::RenderFlexibleBox::isLeftToRightFlow):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
        (WebCore::RenderFlexibleBox::alignChildren):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::flexDirection):
        (WebCore::InheritedFlags::isColumnFlexDirection):
        (WebCore::InheritedFlags::setFlexDirection):
        (WebCore::InheritedFlags::initialFlexDirection):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleFlexibleBoxData.cpp:
        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
        (WebCore::StyleFlexibleBoxData::operator==):
        * rendering/style/StyleFlexibleBoxData.h:

2011-12-13  Jon Lee  <jonlee@apple.com>

        Enable notifications on Mac.

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig:

2011-12-14  Ryosuke Niwa  <rniwa@webkit.org>

        COMPILE_ASSERT in CSSStyleSelector.cpp doesn't compile on Windows
        https://bugs.webkit.org/show_bug.cgi?id=74327

        Reviewed by Darin Adler.

        Always use unsigned instead of bool and unsigned in the bitfields of RuleData to shrink
        its size under MSVC.

        Unlike gcc and clang, MSVC pads each consecutive member variables of the same type
        in bitfields. e.g. if you have:
        sturct AB {
            unsigned m_1 : 31;
            bool m_2 : 1;
        }
        then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang
        only allocate sizeof(unsigned) * 1 for AB.

        * css/CSSStyleSelector.cpp:
        (WebCore::RuleData::RuleData):

2011-12-14  Ryosuke Niwa  <rniwa@webkit.org>

        NodeChildList shouldn't be in NodeListNodeData
        https://bugs.webkit.org/show_bug.cgi?id=73969

        Reviewed by Sam Weinig.

        Move NodeChildList out of NodeListNodeData to separate it from the other node lists in order to
        resolve the bug 73853. Unlike other DynamicNodeList, we don't need to invalidate NodeChildList
        on ancestors when children change. Moving ChildNodeList out of NodeListNodeData makes this difference
        apparent and makes DynamicNodeList::Caches in NodeListNodeData always held by a DynamicSubtreeNodeList,
        eliminating the need for hasOwnCaches() checks in various places.

        Also renamed the existing DynamicNodeList to DynamicSubtreeNodeList and re-introduced DynamicNodeList
        from which DynamicSubtreeNodeList and ChildNodeList both inherit to share the code for itemWithName.

        In addition, renamed registerDynamicNodeList and unregisterDynamicNodeList, which updates a counter for
        TreeScope::hasNodeListCaches, to registerDynamicSubtreeNodeList and unregisterDynamicSubtreeNodeList
        respectively. They are no longer called by ChildNodeList in order to avoid walking up the DOM tree
        inside invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.

        Test: fast/dom/childnode-item-after-itemname.html

        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
        * dom/ChildNodeList.cpp:
        (WebCore::ChildNodeList::ChildNodeList):
        (WebCore::ChildNodeList::length):
        (WebCore::ChildNodeList::item):
        (WebCore::ChildNodeList::nodeMatches):
        * dom/ChildNodeList.h:
        * dom/ClassNodeList.cpp:
        (WebCore::ClassNodeList::ClassNodeList):
        (WebCore::ClassNodeList::~ClassNodeList):
        * dom/ClassNodeList.h:
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::childrenChanged):
        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
        (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList):
        (WebCore::DynamicSubtreeNodeList::length):
        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
        (WebCore::DynamicSubtreeNodeList::item):
        (WebCore::DynamicNodeList::itemWithName):
        (WebCore::DynamicSubtreeNodeList::isDynamicNodeList):
        (WebCore::DynamicSubtreeNodeList::invalidateCache):
        (WebCore::DynamicSubtreeNodeList::Caches::Caches):
        (WebCore::DynamicSubtreeNodeList::Caches::create):
        (WebCore::DynamicSubtreeNodeList::Caches::reset):
        * dom/DynamicNodeList.h:
        (WebCore::DynamicNodeList::DynamicNodeList):
        (WebCore::DynamicNodeList::~DynamicNodeList):
        (WebCore::DynamicNodeList::node):
        (WebCore::DynamicSubtreeNodeList::rootNode):
        * dom/NameNodeList.cpp:
        (WebCore::NameNodeList::NameNodeList):
        (WebCore::NameNodeList::~NameNodeList):
        * dom/NameNodeList.h:
        * dom/Node.cpp:
        (WebCore::Node::childNodes):
        (WebCore::Node::registerDynamicSubtreeNodeList):
        (WebCore::Node::unregisterDynamicSubtreeNodeList):
        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
        (WebCore::Node::removeCachedClassNodeList):
        (WebCore::Node::removeCachedNameNodeList):
        (WebCore::Node::removeCachedTagNodeList):
        (WebCore::Node::removeCachedLabelsNodeList):
        (WebCore::NodeListsNodeData::invalidateCaches):
        (WebCore::NodeListsNodeData::isEmpty):
        (WebCore::NodeRareData::clearChildNodeListCache):
        * dom/Node.h:
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::nodeLists):
        (WebCore::NodeRareData::ensureChildNodeListCache):
        * dom/TagNodeList.cpp:
        (WebCore::TagNodeList::TagNodeList):
        (WebCore::TagNodeList::~TagNodeList):
        * dom/TagNodeList.h:
        * html/LabelsNodeList.cpp:
        (WebCore::LabelsNodeList::LabelsNodeList):
        * html/LabelsNodeList.h:

2011-12-14  Ryosuke Niwa  <rniwa@webkit.org>

        Push more member functions from EditCommand to CompositeEditCommand
        https://bugs.webkit.org/show_bug.cgi?id=74249

        Reviewed by Enrica Casucci.

        Moved startingRootEditableElement and endingRootEditableElement from EditCommand to EditCommandComposition,
        and isTypingCommand, preservesTypingStyle, shouldRetainAutocorrectionIndicator,
        setShouldRetainAutocorrectionIndicator, and shouldStopCaretBlinking from EditCommand to CompositeEditCommand.
        Also removed EditCommand::updateLayout().

        * editing/ApplyBlockElementCommand.cpp:
        (WebCore::ApplyBlockElementCommand::doApply):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyBlockStyle):
        (WebCore::ApplyStyleCommand::applyInlineStyle):
        * editing/CompositeEditCommand.cpp:
        (WebCore::EditCommandComposition::EditCommandComposition):
        (WebCore::EditCommandComposition::setStartingSelection):
        (WebCore::EditCommandComposition::setEndingSelection):
        (WebCore::CompositeEditCommand::preservesTypingStyle):
        (WebCore::CompositeEditCommand::isTypingCommand):
        (WebCore::CompositeEditCommand::shouldRetainAutocorrectionIndicator):
        (WebCore::CompositeEditCommand::setShouldRetainAutocorrectionIndicator):
        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
        (WebCore::CompositeEditCommand::moveParagraphs):
        * editing/CompositeEditCommand.h:
        (WebCore::EditCommandComposition::startingRootEditableElement):
        (WebCore::EditCommandComposition::endingRootEditableElement):
        (WebCore::CompositeEditCommand::shouldStopCaretBlinking):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeNode):
        (WebCore::DeleteSelectionCommand::fixupWhitespace):
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply):
        (WebCore::EditCommand::unapply):
        (WebCore::EditCommand::reapply):
        (WebCore::EditCommand::setStartingSelection):
        (WebCore::EditCommand::setEndingSelection):
        (WebCore::EditCommand::setParent):
        * editing/EditCommand.h:
        (WebCore::EditCommand::isEditCommandComposition):
        * editing/Editor.cpp:
        (WebCore::dispatchEditableContentChangedEvents):
        (WebCore::Editor::appliedEditing):
        (WebCore::Editor::unappliedEditing):
        (WebCore::Editor::reappliedEditing):
        * editing/Editor.h:
        (WebCore::Editor::lastEditCommand):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::updateAppearance):
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::outdentParagraph):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
        * editing/TypingCommand.h:
        (WebCore::TypingCommand::shouldRetainAutocorrectionIndicator):

2011-12-14  Tony Chang  <tony@chromium.org>

        Fix compile on gcc on Mac.

        css/CSSStyleSelector.cpp:1254:166: error: unused parameter 'regionForStyling' [-Werror,-Wunused-parameter,3]
        css/CSSStyleSelector.cpp:1425:134: error: unused parameter 'regionForStyling' [-Werror,-Wunused-parameter,3]

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):

2011-12-14  Brady Eidson  <beidson@apple.com>

        <rdar://problem/10576732> and https://bugs.webkit.org/show_bug.cgi?id=74533
        REGRESSION(r102619): Reproducible crash closing window with video + poster image inside an object element

        Reviewed by Darin Adler.

        Test: media/crash-closing-page-with-media-as-plugin-fallback.html

        Switch HTMLPlugInImageElement from using document activation callbacks to using the ActiveDOMObject
        mechanism which will prevent the unnecessary (and crashy) work at Document teardown:
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
        (WebCore::HTMLPlugInImageElement::canSuspend):
        (WebCore::HTMLPlugInImageElement::suspend):
        (WebCore::HTMLPlugInImageElement::resume):
        * html/HTMLPlugInImageElement.h:

2011-12-14  Adrienne Walker  <enne@google.com>

        [chromium] Compositor needs to set texture filtering on canvas layers
        https://bugs.webkit.org/show_bug.cgi?id=74530

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
        (WebCore::CCCanvasLayerImpl::draw):

2011-12-14  Tony Chang  <tony@chromium.org>

        Remove added calls to CSSStyleSelector to gain back another 2% in page cyclers
        https://bugs.webkit.org/show_bug.cgi?id=74537

        Reviewed by Ojan Vafai.

        In r102234, calls to initForRegionStyling() were added in CSSStyleSelector.
        There's still a 2% perf regression in chromium page cyclers, so try removing
        these calls.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):

2011-12-14  Jonathan Backer  <backer@chromium.org>

        [chromium] Plumb through flag for enabling partial swap
        https://bugs.webkit.org/show_bug.cgi?id=74513

        Reviewed by James Robinson.

        * page/Settings.h:
        (WebCore::Settings::setPartialSwapEnabled):
        (WebCore::Settings::partialSwapEnabled):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):

2011-12-14  Mike Reed  <reed@google.com>

        [skia] cache typeface in FontPlatformData
        https://bugs.webkit.org/show_bug.cgi?id=74415

        Reviewed by Stephen White.

        No new tests. Existing tests apply, this is just an optimization
        to avoid looking up the typeface on each drawText call.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        (WebCore::createTypefaceFromHFont):
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::~FontPlatformData):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
        (WebCore::FontPlatformData::typeface):
        (WebCore::FontPlatformData::lfQuality):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::operator==):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::setupPaintForFont):
        (WebCore::paintSkiaText):
        * platform/graphics/skia/SkiaFontWin.h:

2011-12-14  Simon Fraser  <simon.fraser@apple.com>

        Make -webkit-filter animatable
        https://bugs.webkit.org/show_bug.cgi?id=68476

        Reviewed by Chris Marrin.
        
        Add -webkit-filter to the list of CSS properties that are animatable. Animate
        it like we do transforms, by looking for matching lists of filter functions.
        Each kind of filter operation has a blend() method that handles blending
        for that filter.

        Test: css3/filters/filter-animation.html

        * GNUmakefile.list.am: Add FilterOperation.cpp to the build.
        * Target.pri: Ditto
        * WebCore.gypi: Ditto
        * WebCore.vcproj/WebCore.vcproj: Ditto
        * WebCore.xcodeproj/project.pbxproj: Ditto
        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc): New blendFunc() for FilterOperations, which does per-filter blending.
        (WebCore::AnimationBase::ensurePropertyMap): Make PropertyWrapper for filters.
        (WebCore::AnimationBase::AnimationBase): Adjust initialization order.
        * page/animation/AnimationBase.h: Adjusted the member variable order to minimize padding.
        (WebCore::AnimationBase::filterFunctionListsMatch): Accessor for the flag.
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::reset):
        (WebCore::ImplicitAnimation::validateTransformFunctionList): Adjust comment. The "is valid" terminology is confusing.
        (WebCore::ImplicitAnimation::checkForMatchingFilterFunctionLists): New method to check for matching lists
        of filter functions.
        * page/animation/ImplicitAnimation.h:
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::KeyframeAnimation):
        (WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists): New method to check for matching lists
        of filter functions.
        * page/animation/KeyframeAnimation.h:
        * rendering/style/FilterOperation.cpp: Added.
        (WebCore::BasicColorMatrixFilterOperation::blend):
        (WebCore::BasicColorMatrixFilterOperation::passthroughAmount):
        (WebCore::BasicComponentTransferFilterOperation::blend):
        (WebCore::BasicComponentTransferFilterOperation::passthroughAmount): Different filters have
        different values for m_amount for the "passthrough" behavior. This method returns the appropriate value.
        (WebCore::GammaFilterOperation::blend):
        (WebCore::BlurFilterOperation::blend):
        (WebCore::DropShadowFilterOperation::blend):
        * rendering/style/FilterOperation.h:
        (WebCore::FilterOperation::blend):
        (WebCore::PassthroughFilterOperation::create): New "no-op" filter.
        (WebCore::PassthroughFilterOperation::operator==):
        (WebCore::PassthroughFilterOperation::PassthroughFilterOperation):
        * rendering/style/FilterOperations.cpp:
        (WebCore::FilterOperations::operationsMatch):
        * rendering/style/FilterOperations.h:

2011-12-14  Adam Klein  <adamk@chromium.org>

        Broaden support for mutation observation of attributes
        https://bugs.webkit.org/show_bug.cgi?id=74448

        Reviewed by Ryosuke Niwa.

        The previously-landed MutationObserver support for attributes was incomplete:
        it didn't support mutations related to Attr nodes (methods on Attrs,
        setAttributeNode/removeAttributeNode on Element, or methods on NamedNodeMap).

        This patch adds full support of mutation observation for all these cases,
        and adds test cases for all these situations.

        * dom/Attr.cpp:
        (WebCore::Attr::setValue): Enqueue a mutation record when Attr.value is set from JS.
        (WebCore::Attr::childrenChanged): Enqueue a mutation record when an Attr's value
        changes to due additions/removals of Text children.
        * dom/Element.cpp:
        (WebCore::Element::enqueueAttributesMutationRecordIfRequested): Previously a static,
        expose as part of Element's interface to allow it to be re-used by NamedNodeMap and Attr.
        (WebCore::Element::removeAttribute): Remove enqueue call now handled by NamedNodeMap.
        (WebCore::Element::setAttributeInternal): Fixup call of enqueueAttributesMutationRecordIfRequested.
        * dom/Element.h:
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setNamedItem): Enqueue a mutation record when an attribute
        is changed via Element.attributes.setNamedItem from JS.
        (WebCore::NamedNodeMap::removeNamedItem): Enqueue a mutation record when an
        attribute is removed, either via Element.attributes.removeNamedItem or Element.removeAttribute.

2011-12-14  Raymond Toy  <rtoy@google.com>

        * platform/audio/Distance.h (WebCore): 

        Incorrect calculation for DistanceEffect linearGain
        https://bugs.webkit.org/show_bug.cgi?id=72871

        Reviewed by Kenneth Russell.

        Tests still need to be written for all distance models.  This
        does not add a new API and just corrects an implementation error. 

        * platform/audio/Distance.cpp:
        (WebCore::DistanceEffect::linearGain): Implement correct
        linearGain function.  (Fix proposed by davidgaleano@hotmail.com.)
        * platform/audio/Distance.h: Add link to Open AL specification. 
        

2011-12-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: consider disabling network tracking while running the CPU profile.
        https://bugs.webkit.org/show_bug.cgi?id=74221

        The WebCore instrumentation on the backend affects the performance of inspected page.
        As the result the CPU profiler's stats data are far away from the reality.
        Solution: the profiler code will temporary disable the resource tracking on backend.
        Side effect: the resource tree gets out of sinc because it uses Network Agent's notifications for updating the resource tree.
        Solution: NetworkManager will report about the changes of the resource tracking state and ResourcePanel will re-fetch the resources tree.

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.enableResourceTracking.networkAgentEnabled):
        (WebInspector.NetworkManager.prototype.enableResourceTracking):
        (WebInspector.NetworkManager.prototype.disableResourceTracking.networkAgentDisabled):
        (WebInspector.NetworkManager.prototype.disableResourceTracking):
        (WebInspector.NetworkManager.prototype.inflightResourceForURL):
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileType.prototype.buttonClicked):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype._onResourceTrackingEnabled):

2011-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Fix PlatformScreen::screenAvailableRect when there's no view widget
        https://bugs.webkit.org/show_bug.cgi?id=74520

        Reviewed by Martin Robinson.

        Use the default screen to get the available screen area instead of
        just returning an empty rectangle. This is useful for WebKit2,
        since there's no view widget in the web process.

        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::screenAvailableRect):

2011-12-14  Eric Carlson  <eric.carlson@apple.com>

        Media url with fragment may not load
        https://bugs.webkit.org/show_bug.cgi?id=74443

        Reviewed by Darin Adler.

        Test: media/media-extension-with-fragment.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadResource): Pass the KURL to MediaPlayer, let it extract a
            String when it needs it.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::load): Take a KURL, not a String. Look for the file extension in the 
            last path component so we don't examine fragments and/or queries.
        * platform/graphics/MediaPlayer.h:

2011-12-14  Jacky Jiang  <zhajiang@rim.com>

        [BlackBerry] Remove some duplicate entries in Source/WebCore/PlatformBlackBerry.cmake
        https://bugs.webkit.org/show_bug.cgi?id=74484

        Reviewed by Daniel Bates.

        Trivial fix, so no new tests.

        * PlatformBlackBerry.cmake:

2011-12-14  Anders Carlsson  <andersca@apple.com>

        Add back the callOnMainThread overload that takes a WTF::Function
        https://bugs.webkit.org/show_bug.cgi?id=74512

        Reviewed by Darin Adler.

        Explicitly qualify the Function enum flag, since MSVC2005 is too stupid to disambiguate
        the Function class template and the enum flag.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertySlot):
        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::getOwnPropertySlotDelegate):
        (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::getOwnPropertySlotDelegate):
        (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):

2011-12-14  Kenneth Russell  <kbr@google.com>

        Unreviewed, rolling out r102688.
        http://trac.webkit.org/changeset/102688
        https://bugs.webkit.org/show_bug.cgi?id=74220

        Under the hypothesis that it might be the cause of
        browser_tests and ui_tests crashes on Chromium canaries --
        will reland if not.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::addMessageToConsole):
        (WebCore::logInfo):
        (WebCore::V8Proxy::reportUnsafeAccessTo):
        * bindings/v8/V8Proxy.h:
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):

2011-12-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: DatabaseTableView should escape table name.
        https://bugs.webkit.org/show_bug.cgi?id=74503

        Reviewed by Pavel Feldman.

        Test: inspector/database-table-name-excaping.html

        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype._escapeTableName):
        (WebInspector.DatabaseTableView.prototype.update):

2011-12-14  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] padTemplate leak in webkitwebaudiosrc
        https://bugs.webkit.org/show_bug.cgi?id=74495

        Reviewed by Martin Robinson.

        Use a GstPadTemplate smart pointer in webkit_web_audio_src_init to
        avoid a memory leak after the ghost pad creation.

        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
        (webkit_web_audio_src_init):
        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
        (WTF::adoptGRef):
        (WTF::GstPadTemplate):
        * platform/graphics/gstreamer/GRefPtrGStreamer.h:

2011-12-14  Julien Chaffraix  <jchaffraix@webkit.org>

        Crash in RenderBox::paintBoxDecorations when documentElement has no renderer
        https://bugs.webkit.org/show_bug.cgi?id=64284

        Reviewed by Ryosuke Niwa.

        Test: fast/dynamic/crash-paint-no-documentElement-renderer.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackground): Check the documentElement's
        renderer before using it which matches what RenderView does.

2011-12-14  Tom Sepez  <tsepez@chromium.org>

        DocumentLoader should ref its mainResourceLoader.
        https://bugs.webkit.org/show_bug.cgi?id=74424

        Reviewed by Adam Barth.

        Tests: platform/chromium/http/tests/security/mixedContent/insecure-iframe-in-main-frame-allowed.html
               platform/chromium/http/tests/security/mixedContent/insecure-iframe-in-main-frame-blocked.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::startLoadingMainResource):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::loadNow):

2011-12-14  Stephen White  <senorblanco@chromium.org>

        CSS Filters should support GPU acceleration
        https://bugs.webkit.org/show_bug.cgi?id=74441

        Reviewed by Darin Adler.

        Will be covered by existing CSS filters tests, when run in GPU mode.

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::prepare):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateOrRemoveFilterEffect):

2011-12-14  Brian Salomon  <bsalomon@google.com>

        [CHROMIUM/SKIA] Handle put[Un/Pre]multipliedImageData conversions in Skia rather than ImageBuffer
        https://bugs.webkit.org/show_bug.cgi?id=73953

        Reviewed by Stephen White.

        Tested by existing canvas2d layout tests.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):

2011-12-14  Mary Wu  <mary.wu@torchmobile.com.cn>

        Remove SharedBufferBlackBerry.cpp from WebCore/platform/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=74488

        Reviewed by Rob Buis.

        Remove dead code, no new tests.

        * platform/blackberry/SharedBufferBlackBerry.cpp: Removed.

2011-12-14  Kentaro Hara  <haraken@chromium.org>

        Use [Supplemental] IDL in WebSocket
        https://bugs.webkit.org/show_bug.cgi?id=74160

        Reviewed by Adam Barth.

        By using the [Supplemental] IDL, this patch moves declarations of WebSocket
        attributes from DOMWindow.idl to websocket/DOMWindowWebSocket.idl,
        which helps make WebSocket a self-contained module.

        No new tests, no change in behavior.
        Confirm that http/tests/websocket/* pass.

        * WebCore.gypi: Added DOMWindowWebSocket.idl.
        * page/DOMWindow.idl: Added the [Supplemented] IDL to WebSocket-related attributes. This [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL (See bug 73394 for more details).
        * websockets/DOMWindowWebSocket.idl: Added. Used the [Supplemental=DOMWindow] IDL. The attributes in this IDL file are treated as if they are described in DOMWindow.idl.

2011-12-14  Pierre Rossi  <pierre.rossi@gmail.com>

        Unreviewed fix. Broke qt minimal release compilation.

        * platform/qt/RenderThemeQtMobile.cpp:

2011-12-14  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Add different salt to different types of selectors. So the CSS fast
        path can tell the different between tags and class attributes with
        otherwise identical values.
        https://bugs.webkit.org/show_bug.cgi?id=74284

        Reviewed by Antti Koivisto.

        * css/SelectorChecker.cpp:
        (WebCore::collectElementIdentifierHashes):
        (WebCore::collectDescendantSelectorIdentifierHashes):
        * css/SelectorChecker.h:

2011-12-14  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Mobile theme could use a little refresh
        https://bugs.webkit.org/show_bug.cgi?id=74293

        The look and feel of the "mobile theme" we're
        using in QtWebKit dates back to the maemo 5 days.
        This is an attempt at making it look less out of
        place, and also support progress and range.

        Reviewed by Kenneth Rohde Christiansen.

        No new tests, this is still not the default theme
        for tests.

        * DerivedSources.pri:
        * css/mobileThemeQt.css: Added.
        (input[type="submit"], select):
        (input[type="submit"]:disabled, input[type="submit"]:disabled:active, select:disabled, input[type="text"]:disabled):
        (input[type="submit"]:active):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::extraDefaultStyleSheet):
        (WebCore::StylePainter::StylePainter):
        (WebCore::StylePainter::init):
        (WebCore::StylePainter::~StylePainter):
        * platform/qt/RenderThemeQt.h:
        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore::drawRectangularControlBackground):
        (WebCore::shrinkRectToSquare):
        (WebCore::StylePainterMobile::StylePainterMobile):
        (WebCore::StylePainterMobile::~StylePainterMobile):
        (WebCore::StylePainterMobile::drawCheckableBackground):
        (WebCore::StylePainterMobile::sizeForPainterScale):
        (WebCore::StylePainterMobile::drawChecker):
        (WebCore::StylePainterMobile::findCheckBox):
        (WebCore::StylePainterMobile::drawRadio):
        (WebCore::StylePainterMobile::findRadio):
        (WebCore::StylePainterMobile::drawMultipleComboButton):
        (WebCore::StylePainterMobile::drawSimpleComboButton):
        (WebCore::StylePainterMobile::getButtonImageSize):
        (WebCore::StylePainterMobile::findComboButton):
        (WebCore::StylePainterMobile::drawLineEdit):
        (WebCore::StylePainterMobile::drawCheckBox):
        (WebCore::StylePainterMobile::drawRadioButton):
        (WebCore::StylePainterMobile::drawPushButton):
        (WebCore::StylePainterMobile::drawComboBox):
        (WebCore::StylePainterMobile::drawProgress):
        (WebCore::StylePainterMobile::drawSliderThumb):
        (WebCore::RenderThemeQtMobile::paintButton):
        (WebCore::RenderThemeQtMobile::paintTextField):
        (WebCore::RenderThemeQtMobile::setPopupPadding):
        (WebCore::RenderThemeQtMobile::paintMenuList):
        (WebCore::RenderThemeQtMobile::paintMenuListButton):
        (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
        (WebCore::RenderThemeQtMobile::paintProgressBar):
        (WebCore::RenderThemeQtMobile::paintSliderTrack):
        (WebCore::RenderThemeQtMobile::paintSliderThumb):
        (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
        * platform/qt/RenderThemeQtMobile.h:

2011-12-14  Rakesh KN  <rakesh.kn@motorola.com>

        [Non-Mac] Change event should be fired when changing option by using keyboard.
        https://bugs.webkit.org/show_bug.cgi?id=74384

        Reviewed by Kent Tamura.

        Fire onchange event when option is changed using up/down/right/left/pageup/pagedown/home/end keys.

        Test: fast/forms/select/menulist-onchange-fired-with-key-up-down.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
        Setting the DispatchChangeEvent selection option flag when the option is selected using
        up/down/right/left/pageup/pagedown/home/end keys.

2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: TreeOutline's is broken when li elements have padding-left different from 14px.
        https://bugs.webkit.org/show_bug.cgi?id=74445

        Reviewed by Pavel Feldman.

        * inspector/front-end/treeoutline.js:
        (TreeElement.prototype.isEventWithinDisclosureTriangle):

2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] Scripts panel debug sidebar toolbar should not be scrolled out of the screen.
        https://bugs.webkit.org/show_bug.cgi?id=74447

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.wasShown):
        * inspector/front-end/scriptsPanel.css:
        (#scripts-debug-toolbar):
        (#scripts-debug-sidebar-contents):

2011-12-14  Alexander Færøy  <alexander.faeroy@nokia.com>

        [Qt] DeviceOrientationClientMockQt should be removed in favor of DeviceOrientationClientMock
        https://bugs.webkit.org/show_bug.cgi?id=74417

        Reviewed by Simon Hausmann.

        Based on original patch by Kenneth Christiansen.

        Already covered by current tests.

        * dom/DeviceOrientationController.h:
        (WebCore::DeviceOrientationController::client):

2011-12-14  Jacky Jiang  <zhajiang@rim.com>

        [BlackBerry] Switch to libjpeg for decoding
        https://bugs.webkit.org/show_bug.cgi?id=74475

        Reviewed by Daniel Bates.

        Switch to cross platform JPEG image decoder for decoding as this keeps
        us inline with other ports and less to maintain.

        * PlatformBlackBerry.cmake:

2011-12-03  Philippe Normand  <pnormand@igalia.com>

        [GTK] Bad text rendering since r101343
        https://bugs.webkit.org/show_bug.cgi?id=73744

        Reviewed by Martin Robinson.

        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
        (WebCore::setCairoFontOptionsFromFontConfigPattern): Keep Cairo
        hint metrics unchanged for better visual font rendering results.

2011-12-13  Hajime Morrita  <morrita@chromium.org>

        Unreviewed attempt for fixing windows build.

        - Included <wtf/MathExtras.h> which defined portable version of lround().
        - Add some static_cast<> to suppress warnings.

        * platform/animation/AnimationUtilities.h:
        (WebCore::blend):

2011-12-13  Wei Charles  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Add the new plugin files into the build system.
        https://bugs.webkit.org/show_bug.cgi?id=74483

        Reviewed by Daniel Bates.

        No new tests, just add new files to the build system.

        * PlatformBlackBerry.cmake:

2011-12-13  Yosifumi Inoue  <yosin@chromium.org>

        [Forms] Default selection of select(menulist) should not be disabled
        https://bugs.webkit.org/show_bug.cgi?id=74270

        Reviewed by Kent Tamura.

        This patch changes default selection of select(menulist) element to
          1. Selected option element. If there are multiple options which have
             selected state, we pick the largest index option up. (same as current)
          2. Non-disabled option element (new behavior)
          3. The first option if all options are disabled. (new behavior)

        Tests: fast/forms/select/menulist-disabled-option-expected.html
               fast/forms/select/menulist-disabled-option.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::recalcListItems): Implement new logic for selection.

2011-12-13  Simon Fraser  <simon.fraser@apple.com>

        Share blend progress code
        https://bugs.webkit.org/show_bug.cgi?id=74464

        Reviewed by Dean Jackson.
        
        Lots of places in the code had copies of the animation interpolation
        logic "from + (to - from) * progress", in various forms.
        
        Coalesce all these into calls to a few new inline functions in a new
        AnimationUtilities.h header. Color and Length get their own blend fuctions
        in their respective headers.

        Covered by existing tests.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSGradientValue.cpp:
        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc):
        * platform/Length.h:
        (WebCore::Length::blend):
        * platform/animation/AnimationUtilities.h: Added.
        (WebCore::blend):
        * platform/graphics/Color.h:
        (WebCore::blend):
        * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
        (WebCore::PerspectiveTransformOperation::blend):
        * platform/graphics/transforms/RotateTransformOperation.cpp:
        (WebCore::RotateTransformOperation::blend):
        * platform/graphics/transforms/ScaleTransformOperation.cpp:
        (WebCore::ScaleTransformOperation::blend):
        * platform/graphics/transforms/SkewTransformOperation.cpp:
        (WebCore::SkewTransformOperation::blend):
        * platform/graphics/transforms/TranslateTransformOperation.cpp:
        (WebCore::TranslateTransformOperation::blend):
        * svg/SVGLength.h:
        (WebCore::SVGLength::blend):
        * svg/SVGPathBlender.cpp:
        (WebCore::blendFloatPoint):
        (WebCore::SVGPathBlender::blendAnimatedDimensonalFloat):
        (WebCore::SVGPathBlender::blendArcToSegment):

2011-12-13  Mary Wu  <mary.wu@torchmobile.com.cn>

        Upstream 3 files into WebCore/platform/blackberry
        ClipboardBlackBerry.cpp/h, PasteboardBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=74381

        Reviewed by Rob Buis.

        Main contributor:
        Mike Fenton <mifenton@rim.com>

        Initial upstream, no new tests.

        * platform/blackberry/ClipboardBlackBerry.cpp: Added.
        * platform/blackberry/ClipboardBlackBerry.h: Added.
        * platform/blackberry/PasteboardBlackBerry.cpp: Added.

2011-12-13  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r102726.
        http://trac.webkit.org/changeset/102726
        https://bugs.webkit.org/show_bug.cgi?id=74154

        Does not compile on clang

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::UpdatableTile):
        (WebCore::TiledLayerChromium::createTile):
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::addTile):
        (WebCore::CCLayerTilingData::takeTile):
        (WebCore::CCLayerTilingData::tileAt):
        * platform/graphics/chromium/cc/CCLayerTilingData.h:
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::DrawableTile::DrawableTile):
        (WebCore::CCTiledLayerImpl::createTile):

2011-12-13  Hajime Morrita  <morrita@chromium.org>

        Unreviewed, rolling out r102732.
        http://trac.webkit.org/changeset/102732

        The last fix makes no sense...

        * platform/graphics/chromium/cc/CCLayerTilingData.h:

2011-12-13  Hajime Morrita  <morrita@chromium.org>

        HTML details summary not working with form controls
        https://bugs.webkit.org/show_bug.cgi?id=74398

        Reviewed by Kent Tamura.

        Allowed HTMLSummaryElement to skip the toggle logic if the event
        target is a form control.

        Test: fast/html/details-click-controls.html

        * html/HTMLSummaryElement.cpp:
        (WebCore::isClickableControl):
        (WebCore::HTMLSummaryElement::defaultEventHandler):

2011-12-13  James Wei <james.wei@intel.com> 

        Optimize to not use pow() in the inner loop in AudioParamTimeline
        https://bugs.webkit.org/show_bug.cgi?id=73530

        Reviewed by Kenneth Russell.

        No new tests.

        * webaudio/AudioParamTimeline.cpp:
        (WebCore:AudioParamTimeline:valuesForTimeRangeImpl):

2011-12-13  Hajime Morrita  <morrita@chromium.org>

        Unreviewed Chromium-Mac build fix trial.

        * platform/graphics/chromium/cc/CCLayerTilingData.h:

2011-12-13  David Reveman  <reveman@chromium.org>

        [Chromium] Initialize Settings::m_perTileDrawingEnabled properly.
        https://bugs.webkit.org/show_bug.cgi?id=74476

        Reviewed by James Robinson.

        Add m_perTileDrawingEnabled(false) to WebCore::Settings initialize list.

        No new tests.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):

2011-12-13  Anders Carlsson  <andersca@apple.com>

        Add a very bare-bones implementation of bind and Function to WTF
        https://bugs.webkit.org/show_bug.cgi?id=74462

        Reviewed by Sam Weinig.

        Add a forwarding header for Functional.h.

        * ForwardingHeaders/wtf/Functional.h: Added.

2011-12-13  Adrienne Walker  <enne@google.com>

        [chromium] Use HashMap<..., OwnPtr<Tile>> for compositor tilemap
        https://bugs.webkit.org/show_bug.cgi?id=74154

        Reviewed by James Robinson.

        After r102410 landed, it's now possible to properly use an OwnPtr to
        store tiles rather than hackily use a RefPtr.

        Covered by the compositing/ layout tests.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::create):
        (WebCore::UpdatableTile::UpdatableTile):
        (WebCore::TiledLayerChromium::createTile):
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
        (WebCore::CCLayerTilingData::addTile):
        (WebCore::CCLayerTilingData::takeTile):
        (WebCore::CCLayerTilingData::tileAt):
        * platform/graphics/chromium/cc/CCLayerTilingData.h:
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::DrawableTile::create):
        (WebCore::DrawableTile::DrawableTile):
        (WebCore::CCTiledLayerImpl::createTile):

2011-12-13  Dmitry Lomov  <dslomov@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=73691
        [JSC] Implement correct order of window.postMessage arguments.
        This change supports a new signature of windowPostMessage:
          postMessage(message, targetOrigin[, transferrables])
        as well as the legacy webkit-proprietary:
          postMessage(message, [transferrables,] targetOrigin)
        The latter is only supported for cases when targetOrigin is a String.

        Reviewed by David Levin.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::handlePostMessage):
        * page/DOMWindow.idl:

2011-12-13  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Avoid allocations if no observers are present
        https://bugs.webkit.org/show_bug.cgi?id=74423

        Reviewed by Ojan Vafai.

        This patch adds Node::mayHaveMutationObserversOfType which can be used to check
        if there are any observers at all which could receive a give type of mutation.
        MutationObserverInterestGroup uses this to possibly exit early (returning
        null) if no observers are present.

        No tests needed. This patch is just a refactor.

        * css/CSSMutableStyleDeclaration.cpp:
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/ChildListMutationScope.cpp:
        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
        * dom/Element.cpp:
        (WebCore::enqueueAttributesMutationRecord):
        * dom/Node.cpp:
        (WebCore::Node::mayHaveMutationObserversOfType):
        * dom/Node.h:
        * dom/WebKitMutationObserver.cpp:
        (WebCore::MutationObserverInterestGroup::createIfNeeded):
        (WebCore::MutationObserverInterestGroup::createForChildListMutation):
        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
        (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
        (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
        (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
        * dom/WebKitMutationObserver.h:

2011-12-13  Robin Dunn  <robin@alldunn.com>

        Don't make the bitmap transparent when using theme drawing
        calls that don't support transparent bitmaps.
        https://bugs.webkit.org/show_bug.cgi?id=74319

        Reviewed by Kevin Ollivier.

        * platform/wx/LocalDC.h:
        (WebCore::LocalDC::LocalDC):
        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::paintButton):

2011-12-13  Tony Chang  <tony@chromium.org>

        Inline all of initForRegionStyling except for the rarely used part for non-null regions.
        https://bugs.webkit.org/show_bug.cgi?id=74435

        Reviewed by Andreas Kling.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initForRegionStyling): Inline setting of m_regionForStyling
        (WebCore::CSSStyleSelector::initRegionRules): Move code that only
        applies to CSSRegions into non-inlined code.
        * css/CSSStyleSelector.h:

2011-12-13  James Simonsen  <simonjam@chromium.org>

        Unreviewed, Chromium Mac build fix.

        * page/PerformanceTiming.h:

2011-12-13  Adam Klein  <adamk@chromium.org>

        Update variable names in NamedNodeMap methods to match WebKit style
        https://bugs.webkit.org/show_bug.cgi?id=74437

        Reviewed by Ojan Vafai.

        While reading these methods in preparation for a refactor, I found
        them hard to understand due to short or confusing variable names.
        I think the new names are much clearer, and match WebKit style.

        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setNamedItem):
        (WebCore::NamedNodeMap::removeNamedItem):

2011-12-13  Xingnan Wang  <xingnan.wang@intel.com>

        Implement a function of vector multiply with SSE2 optimization in VectorMath.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=74048

        Reviewed by Benjamin Poulain.

        The vmul is a function for an element-by-element multiply of two float vectors and we 
        get about 3.4x performance improvement with SSE2 optimization compared with the common 
        multiply.

        Use vmul in AudioBus::copyWithSampleAccurateGainValuesFrom().

        * platform/audio/AudioBus.cpp:
        (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):
        * platform/audio/VectorMath.cpp:
        (WebCore::VectorMath::vmul):
        * platform/audio/VectorMath.h:

2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] ResourceHeadersView sections should be expanded by default.
        https://bugs.webkit.org/show_bug.cgi?id=74434

        Reviewed by Pavel Feldman.

        * inspector/front-end/treeoutline.js:

2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Network item view does not correctly decode "+" in request parameters.
        https://bugs.webkit.org/show_bug.cgi?id=74422

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/network/request-parameters-decoding.html

        * inspector/front-end/ResourceHeadersView.js:
        (WebInspector.ResourceHeadersView.prototype._formatParameter):
        (WebInspector.ResourceHeadersView.prototype._refreshParms):

2011-12-13  Alok Priyadarshi  <alokp@chromium.org>

        [chromium] compositing/masks layout tests fail with accelerated drawing
        https://bugs.webkit.org/show_bug.cgi?id=72760

        Reviewed by Stephen White.

        Accelerated drawing path used to render bottom-up upright textures, which was opposite of what the software path rendered.
        The textures produced by the accelerated path was flipped along Y in the shader to make it upside down as expected by the compositor.
        This strategy does not work in case of masks which do not go through a shader and hence do not get flipped,
        which results in a case where texture in the render surface is top-down, while that in the mask is bottom-up.
        This patch makes accelerated drawing path render textures in the same orientation as the software path.
        LayerTextureUpdater::Orientation was added to support the difference in texture orientation between software and accelerated paths.
        Now that both paths produce textures in the same orientation, there is no need for it.

        No new tests needed. Covered by existing compositing tests.

        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        * platform/graphics/chromium/LayerTextureUpdater.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::TiledLayerChromium):
        (WebCore::TiledLayerChromium::setLayerTreeHost):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/TiledLayerChromium.h:
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::drawTiles):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
        (WebCore::CCTiledLayerImpl::setSkipsDraw):

2011-12-09  Zhenyao Mo  <zmo@google.com>

        Implement GLES2 CheckFramebufferStatus() behavior
        https://bugs.webkit.org/show_bug.cgi?id=74228

        Reviewed by Kenneth Russell.

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::getColorBufferWidth): Add ColorBuffer to the function name - this is more accurate.
        (WebCore::WebGLFramebuffer::getColorBufferHeight): Ditto.
        (WebCore::WebGLFramebuffer::checkStatus): Implement full semantics of GLES2 glCheckFramebufferStatus().
        (WebCore::WebGLFramebuffer::onAccess): Call checkStatus().
        * html/canvas/WebGLFramebuffer.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::checkFramebufferStatus): Call checkStatus().
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): No longer check framebuffer status.
        (WebCore::WebGLRenderingContext::getBoundFramebufferWidth): Call getColorBufferWidth.
        (WebCore::WebGLRenderingContext::getBoundFramebufferHeight): Call getColorBufferHeight.

2011-12-13  James Simonsen  <simonjam@chromium.org>

        [Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()
        https://bugs.webkit.org/show_bug.cgi?id=58354

        Reviewed by Pavel Feldman.

        No new tests. Relies on existing webtiming-* tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp: Use monotonic times.
        (WebCore::Document::setReadyState):
        (WebCore::Document::finishedParsing):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didFinishLoadingImpl): Convert monotonicFinishTime to wall time if needed.
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForTiming): Convert monotonic requestTime to wall time.
        (WebCore::buildObjectForResourceResponse): Plumbing for above.
        (WebCore::buildObjectForCachedResource): Ditto.
        (WebCore::InspectorResourceAgent::willSendRequest): Ditto.
        (WebCore::InspectorResourceAgent::didReceiveResponse): Ditto.
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): Ditto.
        * loader/DocumentLoadTiming.cpp: Added.
        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
        (WebCore::DocumentLoadTiming::setNavigationStart): Determine reference time and root reference time.
        (WebCore::DocumentLoadTiming::addRedirect): Moved logic from MainResourceLoader.
        (WebCore::DocumentLoadTiming::convertMonotonicTimeToDocumentTime): Helper to compute wall time from monotonic time.
        * loader/DocumentLoadTiming.h: Turned into class. Made times monotonic.
        (WebCore::DocumentLoadTiming::setUnloadEventStart):
        (WebCore::DocumentLoadTiming::setUnloadEventEnd):
        (WebCore::DocumentLoadTiming::setRedirectStart):
        (WebCore::DocumentLoadTiming::setRedirectEnd):
        (WebCore::DocumentLoadTiming::setFetchStart):
        (WebCore::DocumentLoadTiming::setResponseEnd):
        (WebCore::DocumentLoadTiming::setLoadEventStart):
        (WebCore::DocumentLoadTiming::setLoadEventEnd):
        (WebCore::DocumentLoadTiming::setHasSameOriginAsPreviousDocument):
        (WebCore::DocumentLoadTiming::navigationStart):
        (WebCore::DocumentLoadTiming::unloadEventStart):
        (WebCore::DocumentLoadTiming::unloadEventEnd):
        (WebCore::DocumentLoadTiming::redirectStart):
        (WebCore::DocumentLoadTiming::redirectEnd):
        (WebCore::DocumentLoadTiming::redirectCount):
        (WebCore::DocumentLoadTiming::fetchStart):
        (WebCore::DocumentLoadTiming::responseEnd):
        (WebCore::DocumentLoadTiming::loadEventStart):
        (WebCore::DocumentLoadTiming::loadEventEnd):
        (WebCore::DocumentLoadTiming::hasCrossOriginRedirect):
        (WebCore::DocumentLoadTiming::hasSameOriginAsPreviousDocument):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
        (WebCore::MainResourceLoader::willSendRequest): Moved logic to DocumentLoadTiming.
        (WebCore::MainResourceLoader::didReceiveData): Use monotonic time.
        (WebCore::MainResourceLoader::didFinishLoading): Ditto.
        (WebCore::MainResourceLoader::load):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchLoadEvent):
        * page/DOMWindow.h: Removed dispatchTimedEvent. It doesn't really help in the new model.
        * page/PerformanceNavigation.cpp:
        (WebCore::PerformanceNavigation::redirectCount):
        * page/PerformanceTiming.cpp: Removed skew correction code. This should never happen now.
        (WebCore::PerformanceTiming::navigationStart):
        (WebCore::PerformanceTiming::unloadEventStart):
        (WebCore::PerformanceTiming::unloadEventEnd):
        (WebCore::PerformanceTiming::redirectStart):
        (WebCore::PerformanceTiming::redirectEnd):
        (WebCore::PerformanceTiming::fetchStart):
        (WebCore::PerformanceTiming::responseEnd):
        (WebCore::PerformanceTiming::domLoading):
        (WebCore::PerformanceTiming::domInteractive):
        (WebCore::PerformanceTiming::domContentLoadedEventStart):
        (WebCore::PerformanceTiming::domContentLoadedEventEnd):
        (WebCore::PerformanceTiming::domComplete):
        (WebCore::PerformanceTiming::loadEventStart):
        (WebCore::PerformanceTiming::loadEventEnd):
        (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Used for ResourceLoadTiming.
        (WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds): Used for DocumentTiming and DocumentLoadTiming.
        * page/PerformanceTiming.h:
        * platform/network/ResourceLoadTiming.cpp:
        (WebCore::ResourceLoadTiming::convertResourceLoadTimeToDocumentTime):
        * platform/network/ResourceLoadTiming.h: Added helper function to convert to wall times. Added instructions for use.

2011-12-13  Adam Klein  <adamk@chromium.org>

        Reduce code duplication in Element::setAttribute methods
        https://bugs.webkit.org/show_bug.cgi?id=74425

        Reviewed by Ryosuke Niwa.

        Two overloads of Element::setAttribute share almost all their code,
        including tricky logic around updating the appropriate Attribute and
        Attr objects and notifying the Inspector and MutationObservers.

        This patch puts the common logic in a new setAttributeInternal method
        which is called by the other two.

        No new tests, refactoring only.

        * dom/Element.cpp:
        (WebCore::Element::setAttribute):
        (WebCore::Element::setAttributeInternal):
        * dom/Element.h:

2011-12-13  Brady Eidson  <beidson@apple.com>

        <http://webkit.org/b/74420> Disable deprecation warnings around more code where we 
        cannot easily switch away from the deprecated APIs.

        Reviewed by Mark Rowe.

        * bindings/objc/DOMInternal.mm:
        * bridge/objc/objc_instance.mm:

2011-12-12  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: eof-002.htm fails
        https://bugs.webkit.org/show_bug.cgi?id=74309

        Reviewed by Dean Jackson.

        Test: css2.1/20110323/eof-002-expected.html

        * css/CSSGrammar.y: Treat EOF during a function expression with an open parenthesis as a close parenthesis.

2011-12-13  Adam Klein  <adamk@chromium.org>

        V8Proxy cleanup: replace custom logging methods with standard WebCore calls
        https://bugs.webkit.org/show_bug.cgi?id=74220

        Reviewed by Adam Barth.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::reportUnsafeAccessTo):
        * bindings/v8/V8Proxy.h:
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):

2011-12-13  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Get rid of layering violations in includes

        WebKit/qt/API and WebKit/qt/WebCoreSupport should not be included
        in the webcore.prf, but rather in each target that specificly needs
        headers in these location. We used to include them directly in webcore
        since we had layering violations between WebCore and WebKit, but now
        that they are gone there's no reason to do that.

        Reviewed by Simon Hausmann.

        * bridge/qt/qt_instance.cpp:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        * platform/graphics/qt/ImageQt.cpp:
        * platform/network/qt/QNetworkReplyHandler.cpp:
        * platform/network/qt/ResourceHandleQt.cpp:
        * platform/qt/CookieJarQt.cpp:
        * platform/qt/RenderThemeQStyle.cpp:
        * platform/qt/RenderThemeQt.cpp:

2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add scripts navigator sidebar to scripts panel.
        https://bugs.webkit.org/show_bug.cgi?id=73086

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/Images/domain.png: Added.
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
        * inspector/front-end/ScriptsNavigator.js: Added.
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
        (WebInspector.ScriptsPanel.prototype._reset):
        (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
        (WebInspector.ScriptsPanel.prototype._scriptSelectedInNavigator):
        (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
        * inspector/front-end/Settings.js:
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype.selectTab):
        (WebInspector.TabbedPane.prototype.highlightLine):
        (WebInspector.TabbedPane.prototype.elementsToRestoreScrollPositionsFor):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.get domain):
        (WebInspector.UISourceCode.prototype.get folderName):
        (WebInspector.UISourceCode.prototype.get displayName):
        (WebInspector.UISourceCode.prototype._parseURL):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.tabbed-pane):
        (.tabbed-pane-content):
        * inspector/front-end/inspector.html:
        * inspector/front-end/networkPanel.css:
        * inspector/front-end/scriptsPanel.css:
        (#scripts-navigator-resizer-widget):
        (.scripts-navigator-domain-tree-item .icon):
        (.scripts-navigator-folder-tree-item .icon):
        (.scripts-navigator-script-tree-item .icon):
        (.scripts.panel .navigator):
        (#scripts-navigator-tabbed-pane .tabbed-pane-header):
        (#scripts-navigator-tabbed-pane .tabbed-pane-content):
        (.scripts.panel .navigator li):
        (.scripts.panel .navigator :focus li.selected):
        (.scripts.panel .navigator li.selected .selection):
        (.scripts.panel .navigator :focus li.selected .selection):
        (.scripts.panel .navigator .icon):
        (.scripts.panel .base-navigator-tree-element-title):
        * inspector/front-end/treeoutline.js:
        (TreeOutline):
        (TreeOutline.prototype.appendChild):

2011-12-12  Andreas Kling  <kling@webkit.org>

        CollectionCache: Remove unused copy constructor and make it noncopyable.
        <http://webkit.org/b/74378>

        Reviewed by Simon Hausmann.

        * html/CollectionCache.cpp:
        * html/CollectionCache.h:

2011-12-13  Jarred Nicholls  <jarred@sencha.com>

        XHR should use m_responseTypeCode internally to be consistent with WebKit coding style
        https://bugs.webkit.org/show_bug.cgi?id=74330

        Reviewed by Alexey Proskuryakov.

        No new tests needed, no behavioral changes.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseText):
        (WebCore::XMLHttpRequest::responseXML):
        (WebCore::XMLHttpRequest::responseBlob):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::asBlob):

2011-12-13  Kentaro Hara  <haraken@chromium.org>

        Use the [Supplemental] IDL for webaudio attributes in Chromium
        https://bugs.webkit.org/show_bug.cgi?id=73394

        Reviewed by Adam Barth.

        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
        declarations of webaudio from DOMWindow.idl into a new IDL file
        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
        feature (aka a module).

        - This patch changes the build flow of WebCore.gyp as follows:

            Previous build flow:
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl generates .h and .cpp files for $idl;
                }

            New build flow (See the discussions in bug 72138 for more details):
                resolve-supplemental.pl depends on all IDL files;
                resolve-supplemental.pl reads all IDL files;
                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
                resolve-supplemental.pl outputs supplemental_dependency.tmp;
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl reads supplemental_dependency.tmp;
                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
                }

        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
        will be removed after build scripts for all platforms support the [Supplemental] IDL.
        The motivation for the [Supplemented] IDL is as follows:

        In order to support the [Supplemental] IDL, we need to
        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.

        This build flow requires a change on the following build scripts,
        but changing all the build scripts all at once without any regression is too difficult:

            - DerivedSources.make
            - DerivedSources.pri
            - GNUmakefile.am
            - PlatformBlackBerry.cmake
            - UseJSC.cmake
            - UseV8.cmake
            - WebCore.vcproj/MigrateScripts
            - WebCore.vcproj/WebCore.vcproj
            - bindings/gobject/GNUmakefile.am
            - WebCore.gyp/WebCore.gyp

        Thus, we are planning to change the build scripts one by one, which implies that
        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
        in another IDL file somewhere, like this:

            DOMWindowWebAudio.idl:
                interface [
                    Supplemental=DOMWindow
                ] DOMWindowWebAudio {
                    attribute attr1;
                    attribute attr2;
                };

            DOMWindow.idl:
                interface [
                ] DOMWindow {
                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
                    attribute attr3;
                    attribute attr4;
                };

        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:

            - If a given build script supports the [Supplemental] IDL,
            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).

        Tests: webaudio/*

        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp),
        which are described at the first column of each line in the input file.
        If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style
        path by the cygpath command.
        * WebCore.gypi: Added DOMWindowWebAudio.idl.
        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not
        support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead
        uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and
        instead uses the [Supplemental] IDL.
        Added the --additionalIdlFilesList option to specify the IDL files that are not listed in
        supplemental-dependency.tmp but should generate .h and .cpp files.
        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes.
        As I described above, the [Supplemented] IDL will be removed after all platforms support
        the [Supplemental] IDL.
        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL.
        The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.

2011-12-13  Yosifumi Inoue  <yosin@chromium.org>

        RenderTheme should have a function for disabled text color adjustment
        https://bugs.webkit.org/show_bug.cgi?id=74143

        Change disabledTextColor to private method.

        Reviewed by Kent Tamura.

        No new tests / existing tests cover this change.

        * rendering/RenderThemeChromiumMac.h: Change disabledTextColor to private.
        * rendering/RenderThemeChromiumSkia.h: Change disabledTextColor to private.

2011-12-12  Daniel Bates  <dbates@webkit.org>

        Unreviewed, rolling out r102656.
        http://trac.webkit.org/changeset/102656
        https://bugs.webkit.org/show_bug.cgi?id=74313

        Broke the Mac, Windows and WinCairo builds. We need to look
        into this patch some more.

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerLocation):

2011-12-12  Konrad Piascik  <kpiascik@rim.com>

        2011-12-12  Konrad Piascik  <kpiascik@rim.com>

        Implement the JavaScriptCore bindings for eventListenerHandlerLocation
        https://bugs.webkit.org/show_bug.cgi?id=74313

        Reviewed by Geoffrey Garen.

        Open any page in Web Inspector and look at the event listeners. They should now
        link to the script which created them.

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerLocation):

2011-12-12  Yosifumi Inoue  <yosin@chromium.org>

        RenderTheme should have a function for disabled text color adjustment
        https://bugs.webkit.org/show_bug.cgi?id=74143

        Reviewed by Kent Tamura.

        No new tests / existing tests cover this change.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::adjustInnerTextStyle): Use RenderTheme::disabledTextColor instead of PLATFORM wraped static function. 
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::disabledTextColor): Moved from RenderTextControl.cpp. This method implements for non-Chromium color.
        * rendering/RenderTheme.h: Add new virtual method disabledTextColor.
        * rendering/RenderThemeChromiumMac.h: Implementation of RenderTheme::disabledTextColor for Chrimium Mac.
        * rendering/RenderThemeChromiumSkia.h: Implementation of RenderTheme::disabledTextColor for Chrimium.

2011-12-12  Kenneth Russell  <kbr@google.com>

        Unreviewed, rolling out r102648.
        http://trac.webkit.org/changeset/102648
        https://bugs.webkit.org/show_bug.cgi?id=74313

        Broke the Snow Leopard and Windows builds

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerLocation):

2011-12-12  Andreas Kling  <kling@webkit.org>

        Resizing Cappuccino is very laggy on WebKit since Safari 5.1
        <http://webkit.org/b/71354> and <rdar://problem/10565998>

        Reviewed by Anders Carlsson.

        * WebCore.exp.in: Export FloatPoint(const NSPoint&)

2011-12-12  Jarred Nicholls  <jarred@sencha.com>

        [Qt] QTKIT-based video support must target OS X 10.5 or higher
        https://bugs.webkit.org/show_bug.cgi?id=74294

        WebCore on OS X Lion fails to build when QTKIT video support is enabled, unless a
        deployment target of 10.5+ is specified explicitly.

        Reviewed by Noam Rosenthal.

        No new tests as this is a build issue.

        * Target.pri:

2011-12-12  Luke Macpherson   <macpherson@chromium.org>

        Implement CSS text-decoration property in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=74258

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyTextDecoration::applyValue):
        (WebCore::ApplyPropertyTextDecoration::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-12-12  Adrienne Walker  <enne@google.com>

        iframe fails to scroll in composited page
        https://bugs.webkit.org/show_bug.cgi?id=72682

        Reviewed by Simon Fraser.

        FrameView::scrollContentsSlowPath only was catching the case where a
        child iframe had a composited parent. Now detect if the child iframe
        has any composited ancestor.

        Test: compositing/iframes/scroll-grandchild-iframe.html

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollContentsSlowPath):

2011-12-12  Konrad Piascik  <kpiascik@rim.com>

        Implement the JavaScriptCore bindings for eventListenerHandlerLocation
        https://bugs.webkit.org/show_bug.cgi?id=74313

        Reviewed by Geoffrey Garen. 

        Open any page in Web Inspector and look at the event listeners. They should now
        link to the script which created them.

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerLocation):

2011-12-12  Erik Arvidsson  <arv@chromium.org>

        [V8] CodeGeneratorV8.pm does not correctly work with inherited HasIndexGetter
        https://bugs.webkit.org/show_bug.cgi?id=74027

        Reviewed by Adam Barth.

        Instead of having to write a custom indexer when the interface has an inherited indexer
        we get the signature from the super interface.

        Tested by existing tests.

        * Target.pri: Remove V8DOMSettableTokenListCustom.cpp and V8WebKitCSSFilterValueCustom.cpp.
        * UseV8.cmake: Ditto.
        * WebCore.gypi: Ditto.
        * bindings/scripts/CodeGenerator.pm:
        (FindSuperMethod): Returns the first matching function in one of the ancestor interfaces.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateImplementationIndexer): If the current interface has no indexer try to find an
                                         indexer in one of the super interfaces.
        (GenerateImplementationNamedPropertyGetter): Ditto for named property getter.
        * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Removed.
        * bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp: Removed.

2011-12-12  Simon Fraser  <simon.fraser@apple.com>

        Make it possible to substitute a different CALayer implementation for the main root layer
        https://bugs.webkit.org/show_bug.cgi?id=74369

        Reviewed by Anders Carlsson.
        
        Some platforms may wish to have the main root layer (which corresponds with
        the main frame's RenderView's layer) implemented by a custom platform layer,
        for example to contain a cache of tiles.
        
        Make this possible on Mac by adding a new method to GraphicsLayerClient(),
        and implementing it in RenderLayerBacking. This new behavior is not yet enabled.
        
        Also clean up some WebLayer/WebTiledLayer code.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsLayerClient.h:
        (WebCore::GraphicsLayerClient::shouldUseTileCache): New client method that indicates that the GraphicsLayer
        should host a tile cache layer instead of a normal layer.
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::GraphicsLayerCA): Ask the client, if any, whether to create a tile cache layer.
        * platform/graphics/ca/PlatformCALayer.h:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm: NSClassFromString(@"CATransformLayer") was for Leopard;
        we can just use the classname now. Handle LayerTypeTileCacheLayer.
        (PlatformCALayer::PlatformCALayer):
        * platform/graphics/ca/mac/WebTileCacheLayer.h: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
        * platform/graphics/ca/mac/WebTileCacheLayer.mm: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
        * platform/graphics/mac/WebLayer.h: Remove the setLayerNeedsDisplayInRect() hackery.
        * platform/graphics/mac/WebLayer.mm: setLayerNeedsDisplayInRect() tried to share code between WebLayer and WebTiledLayer
        by using Obj-C runtime methods to find the superclass. This causes infinite recursion if Web[Tiled]Layer is subclassed,
        so remove it.
        (-[WebLayer setNeedsDisplayInRect:]): Code moved here from setLayerNeedsDisplayInRect.
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer setNeedsDisplayInRect:]): Code copied here from setLayerNeedsDisplayInRect.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking): Find out, and cache if we're the main frame's layer.
        (WebCore::RenderLayerBacking::shouldUseTileCache): Return m_usingTiledCacheLayer, which is always false for now.
        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Use m_isMainFrameRenderViewLayer.
        (WebCore::RenderLayerBacking::paintingGoesToWindow): The tile cache layer needs to paint itself.
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerCompositor.h: m_compositeForFixedPosition was unused.

2011-12-12  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r102357): respondToUnappliedEditing exits early for CreateLinkCommand
        https://bugs.webkit.org/show_bug.cgi?id=74356

        Reviewed by Enrica Casucci.

        The problem was that isCreateLinkCommand was called on EditCommandComposition by respondToUnappliedEditing.
        Fixed the bug by propagating the value of isCreteLinkCommand from CompositeEditCommand to
        EditCommandComposition via wasCreateLinkCommand.

        Also move isCreateLinkCommand from EditCommand to CompositeEditCommand to prevent this mistake in the future.

        * editing/CompositeEditCommand.cpp:
        (WebCore::EditCommandComposition::create):
        (WebCore::EditCommandComposition::EditCommandComposition):
        (WebCore::CompositeEditCommand::ensureComposition):
        (WebCore::CompositeEditCommand::isCreateLinkCommand):
        * editing/CompositeEditCommand.h:
        (WebCore::EditCommandComposition::wasCreateLinkCommand):
        * editing/SpellingCorrectionController.cpp:
        (WebCore::SpellingCorrectionController::respondToUnappliedEditing):
        * editing/SpellingCorrectionController.h:

2011-12-12  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Revert RenderObject::style() to its state before region styling
        https://bugs.webkit.org/show_bug.cgi?id=74315

        Reviewed by Tony Chang.

        * rendering/RenderObject.h:
        (WebCore::RenderObject::style):

2011-12-12  Adam Klein  <adamk@chromium.org>

        Don't crash in StyleAttributeMutationScope if the style declaration's element has been GCed
        https://bugs.webkit.org/show_bug.cgi?id=74321

        Reviewed by Ryosuke Niwa.

        In r101101, Rafael Weinstein added code to CSSMutableStyleDeclaration.cpp
        which depended on isInlineStyleDeclaration returning true iff the
        element it pointed to was non-null (it will be nulled-out if the
        element is garbage collected).

        Then, in r101172, Andreas Kling changed the semantics so that
        isInlineStyleDeclaration only described the type of the declaration,
        not the state of the related element.

        This change updates Rafael's code with an explicit check that the
        element is still alive.

        Test: fast/dom/css-inline-style-declaration-crash.html

        * css/CSSMutableStyleDeclaration.cpp:

2011-12-12  Chris Fleizach  <cfleizach@apple.com>

        AX: aria-hidden inheritance broken when applying to some descendants
        https://bugs.webkit.org/show_bug.cgi?id=73940

        Reviewed by Darin Adler.

        When adding children, we were not updating the children cache for direct AX descendants.
        This meant that toggling aria-hidden could result in a stale cache where elements would not be reachable.

        Making this fix also exposed a problem in AccessibilityTable where the AccessibilityHeaderObject was not
        being managed correctly as a mock element.

        Test: platform/mac/accessibility/aria-hidden-changes-for-non-ignored-elements.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::addChildren):
        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::clearChildren):
        (WebCore::AccessibilityTable::headerContainer):
        * accessibility/AccessibilityTable.h:

2011-12-12  Jeremy Apthorp  <jeremya@chromium.org>

        When the mouse is dragged out of an :active element, it should lose :hover.
        https://bugs.webkit.org/show_bug.cgi?id=57206

        Reviewed by Ryosuke Niwa.

        Test: fast/css/hover-active-drag.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent): Don't mark mouse-drag hit tests read-only, since they no longer are.
        (WebCore::EventHandler::dragSourceEndedAt): Send a hit test request when the mouse goes up after a drag, so
        RenderLayer has a chance to update the hover/active status.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateHoverActiveState): Only allow the :active state to change on mouse down or mouse up.

2011-12-12  Kenneth Russell  <kbr@google.com>

        Unreviewed Windows build fix after http://trac.webkit.org/changeset/102619 .
        Remove OVERRIDE specifier from virtual destructor.

        * html/HTMLPlugInImageElement.h:

2011-12-12  Ryosuke Niwa  <rniwa@webkit.org>

        WebKit code shouldn't be calling applyCommand directly
        https://bugs.webkit.org/show_bug.cgi?id=74337

        Reviewed by Darin Adler.

        Make WebKit-layer code call Editor::replaceSelectionWithFragment and Editor::replaceSelectionWithText
        instead of manually creating and applying ReplaceSelectionCommand.

        The only behavioral difference is that new code will end up checking for spell checks. However, this
        difference appears to be unintentional since the code predates http://trac.webkit.org/changeset/73886,
        which introduced an invocation of spellcheck code.

        Unfortunately no tests since there doesn't seem to be anyway to test this change.

        * WebCore.exp.in:
        * editing/EditCommand.cpp:
        (WebCore::applyCommand):
        * editing/EditCommand.h:
        * editing/Editor.h:

2011-11-26  Adam Barth  <abarth@webkit.org>

        Remove platform/audio/fftw
        https://bugs.webkit.org/show_bug.cgi?id=73163

        Reviewed by Eric Seidel.

        The FFTW library is GPL, not LGPL, like WebKit.  This patch removes the
        integration with the library so folks who use WebAudio don't
        accidentially violate the GPL by linking in FFTW.

        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/audio/FFTFrame.h:
        * platform/audio/FFTFrameStub.cpp:
        * platform/audio/fftw: Removed.
        * platform/audio/fftw/FFTFrameFFTW.cpp: Removed.

2011-12-12  Kenneth Russell  <kbr@google.com>

        COMPILE_ASSERT in CSSStyleSelector.cpp doesn't compile on Windows
        https://bugs.webkit.org/show_bug.cgi?id=74327

        Unreviewed build fix. True fix should follow under above bug.

        * css/CSSStyleSelector.cpp:

2011-12-12  David Grogan  <dgrogan@chromium.org>

        Fix compilation error when !ENABLE(WORKERS)
        https://bugs.webkit.org/show_bug.cgi?id=74029

        Reviewed by Yury Semikhatsky.

        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::open): add #if ENABLE(WORKERS) guard

2011-12-12  Brady Eidson  <beidson@apple.com>

        Page cache should support pages with plugins.
        <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634

        Reviewed by Anders Carlsson.

        By making plugin elements renderers go display:none when entering the page cache,
        we destroy the plug-in in a cross platform way as well as handle invalidating script
        objects created by that plugin.

        By restoring the original style when leaving the page cache and forcing a style recalc
        on the plugin element, the plugin is gracefully reinstantiated when the user goes back.

        Test: plugins/netscape-plugin-page-cache-works.html

        * dom/Document.cpp:
        (WebCore::Document::documentDidBecomeActive): Copy this collection before iterating over
          it, as the callbacks might result in mutating the set.

        * dom/Node.h:
        (WebCore::Node::setHasCustomStyleForRenderer):
        (WebCore::Node::clearHasCustomStyleForRenderer): Expose the ability to stop using a 
          custom renderer and go back to the default renderer.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame): Move the document inactivation call to the same place
          we suspend active DOM objects. It is important this call be *after* the beforeunload event
          is dispatched, and was coincidental non of the elements that using Document activation
          had run in to this problem yet.

        * history/PageCache.cpp:
        (WebCore::logCanCacheFrameDecision):
        (WebCore::PageCache::canCachePageContainingThisFrame): If the page contains plugins but
          the PageCacheSupportsPlugins setting is true, allow this page.

        Kill and recreate the plugin by listening for Document activation callbacks and setting a custom
        display:none render style:
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
        (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Unregister for document activation
          callbacks.
        (WebCore::HTMLPlugInImageElement::createRenderer): Once a renderer (ie. plugin instance) is
          created, this element needs Document (in)activation callbacks.
        (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Manage Document activation 
          callback registration.
        (WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument): Ditto.
        (WebCore::HTMLPlugInImageElement::documentWillBecomeInactive): Clone the element's current style
          and set the clone's display value to None. Start using this custom style and force a style
          recall. This destroys the renderer and therefore the plugin instance.
        (WebCore::HTMLPlugInImageElement::documentDidBecomeActive): Stop using the custom style and
          force a style recall to reinstantiate the plugin.
        (WebCore::HTMLPlugInImageElement::customStyleForRenderer): Return the stand-in style that has
          display:none set.
        * html/HTMLPlugInImageElement.h:

        Add a setting that allows runtime configuration of whether or not the page cache supports plugins:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setPageCacheSupportsPlugins):
        (WebCore::Settings::pageCacheSupportsPlugins):

2011-12-12  Ojan Vafai  <ojan@chromium.org>

        r102234 caused RuleData to use 33 bits in its bitmask
        https://bugs.webkit.org/show_bug.cgi?id=74314

        Reviewed by Antti Koivisto.

        Lower m_position to something more reasonable. A million
        should be plenty. Current large sites (e.g. gmail) seem to use
        tens of thousands.

        Added a COMPILE_ASSERT to ensure this doesn't regress.

        No new tests.

        * css/CSSStyleSelector.cpp:

2011-12-12  James Robinson  <jamesr@chromium.org>

        Rename webkitCancelRequestAnimationFrame to webkitCancelAnimationFrame to match spec change
        https://bugs.webkit.org/show_bug.cgi?id=74231

        Reviewed by Simon Fraser.

        The RequestAnimationFrame spec has renamed cancelRequestAnimationFrame to cancelAnimationFrame in response to
        feedback from Mozilla and Microsoft that the old name was too long and didn't parallel setTimeout/clearTimeout
        and setInterval/clearInterval very well. This updates our IDL to match, while preserving the old name as an
        alias to be compatible with current content.

        * dom/Document.cpp:
        (WebCore::Document::webkitCancelAnimationFrame):
        * dom/Document.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitCancelAnimationFrame):
        * page/DOMWindow.h:
        (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
        * page/DOMWindow.idl:

2011-12-12  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Remove assumption that empty surface is always at end of list
        https://bugs.webkit.org/show_bug.cgi?id=74037

        Reviewed by James Robinson.

        Test case added to CCLayerTreeHostCommonTest.cpp, which reproduces
        a crash reported in http://code.google.com/p/chromium/issues/detail?id=106734

        This patch fixes the crash in a less risky way to be merged into
        m17, but the root of the issue needs to be addressed in a
        follow-up patch.

        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):

2011-12-12  Simon Fraser  <simon.fraser@apple.com>

        Share code that checks for matching sets of transform operations
        https://bugs.webkit.org/show_bug.cgi?id=74265

        Reviewed by Dan Bernstein.
        
        Add TransformOperations::operationsMatch() and call it from the
        three places that used this same code.
        
        Tested by existing tests.

        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::validateTransformFunctionList):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::validateTransformFunctionList):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::fetchTransformOperationList):
        * platform/graphics/transforms/TransformOperations.cpp:
        (WebCore::TransformOperations::operationsMatch):
        * platform/graphics/transforms/TransformOperations.h:

2011-12-12  Antti Koivisto  <antti@apple.com>

        Cache visited link hash
        https://bugs.webkit.org/show_bug.cgi?id=74095

        Reviewed by Darin Adler.

        Visited link hash is relatively expensive to compute. We can cache it for anchor elements
        with minimal relative memory cost for faster style resolve.
        
        On my machine this speeds up style matching on full HTML spec by ~100ms or ~1% of the total
        CPU usage. It makes link elements 8 bytes larger, a relatively minor increase to their overall size.
        
        Invalidate the hashes on base URL for completeness sake (lack of style invalidation means
        that this scenario is not properly supported currently).

        Covered by existing tests. No specific test for visited hash invalidation on dynamic base URL 
        change as the effect is not testable due to lack of style invalidation.

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::determineLinkStateSlowCase):
        (WebCore::SelectorChecker::visitedStateChanged):
        * html/Document.cpp:
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
        (WebCore::HTMLAnchorElement::parseMappedAttribute):
        * html/HTMLAnchorElement.h:
        (WebCore::HTMLAnchorElement::visitedLinkHash):

2011-12-12  Martin Robinson  <mrobinson@igalia.com>

        [GTK] gtk_widget_size_allocate for plugin widgets should happen in the WebView size-allocate method
        https://bugs.webkit.org/show_bug.cgi?id=72805

        Reviewed by Gustavo Noronha Silva.

        No new tests. This is only a performance tweak.

        Instead of immediately calling gtk_widget_size during painting, defer
        this until the size-allocate method of the WebView.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::updateWidgetAllocationAndClip): Instead of immediately changing
        the widget allocation, just record it in a GObject data attachment.

2011-12-12  Nate Chapin  <japhet@chromium.org>

        A SubresourceLoader in the middle of revalidating
        a resource should be treated as finishing (similar to
        didFinishLoading and didFail) to ensure that willCancel()
        doesn't declare the revalidation as having failed reentrantly.
        https://bugs.webkit.org/show_bug.cgi?id=72762

        Reviewed by Adam Barth.

        Test: http/tests/cache/cancel-during-revalidation-succeeded.html

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didReceiveResponse):

2011-12-12  Mary Wu  <mary.wu@torchmobile.com.cn>

        Upstream 3 files into WebCore/platform/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=74275

        Reviewed by Rob Buis.

        Initial upstream, no new tests.

        * platform/blackberry/ContextMenuBlackBerry.cpp: Added.
        * platform/blackberry/ContextMenuItemBlackBerry.cpp: Added.
        * platform/blackberry/TemporaryLinkStubs.cpp: Added.

2011-12-12  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Rendering issues with sliders and QStyle
        https://bugs.webkit.org/show_bug.cgi?id=73921

        With QStyle's origins being deeply rooted with widgets,
        several styles make wrong assumptions, leading to sliders
        not being painted properly in WebKit. We can solve a lot
        of problems by systematically translating the painter to
        the top left corner of the render object.

        Reviewed by Simon Hausmann.

        No new tests. The Qt tests are ran with the Windows
        style, this fixes some quirks affecting other styles.

        * platform/qt/RenderThemeQStyle.cpp:
        (WebCore::RenderThemeQStyle::paintSliderTrack):
        (WebCore::RenderThemeQStyle::paintSliderThumb):

2011-12-12  Mary Wu  <mary.wu@torchmobile.com.cn>

        Upstream 5 files into WebCore/platform/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=73798

        Reviewed by Rob Buis.

        Main contributors:
        Genevieve Mak <gmak@rim.com>
        Mike Lattanzio  <mlattanzio@rim.com>
        George Staikos <gstaikos@rim.com> 

        Initial upstream, no new tests.

        * platform/blackberry/PlatformTouchEventBlackBerry.cpp: Added.
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        * platform/blackberry/PlatformTouchPointBlackBerry.cpp: Added.
        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
        * platform/blackberry/SharedBufferBlackBerry.cpp: Added.
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/blackberry/SharedTimerBlackBerry.cpp: Added.
        (WebCore::SharedTimerBlackBerry::SharedTimerBlackBerry):
        (WebCore::SharedTimerBlackBerry::~SharedTimerBlackBerry):
        (WebCore::SharedTimerBlackBerry::instance):
        (WebCore::SharedTimerBlackBerry::start):
        (WebCore::SharedTimerBlackBerry::stop):
        (WebCore::setSharedTimerFiredFunction):
        (WebCore::setSharedTimerFireInterval):
        (WebCore::stopSharedTimer):
        * platform/blackberry/SystemTimeBlackBerry.cpp: Added.
        (WebCore::userIdleTime):

2011-12-12  Alexander Pavlov  <apavlov@chromium.org>

        Implement a cache for CSSStyleRule::selectorText()
        https://bugs.webkit.org/show_bug.cgi?id=74269

        This change is geared towards speeding up the CSS selector profiler,
        its implementation tracked at https://bugs.webkit.org/show_bug.cgi?id=74004.
        Using a proof-of-concept implementation of the profiler, this change reduces
        the profiler temporal overhead on PerformanceTests/Parser/html5-full-render.html
        roughly by 86% (from ~72 seconds down to ~10 seconds). This change also does not
        considerably increase average memory usage, as reading selectorText is a relatively
        rare case during normal web browsing.

        Reviewed by Andreas Kling.

        No new tests, as this functionality is covered by existing tests.

        * css/CSSRule.h:
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::~CSSStyleRule):
        (WebCore::selectorTextCache):
        (WebCore::CSSStyleRule::cleanup):
        (WebCore::CSSStyleRule::generateSelectorText):
        (WebCore::CSSStyleRule::selectorText):
        (WebCore::CSSStyleRule::setSelectorText):
        * css/CSSStyleRule.h:

2011-12-12  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Modified selector text needs sanitization
        https://bugs.webkit.org/show_bug.cgi?id=74291

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/StylesSidebarPane.js:

2011-12-12  Renata Hodovan  <reni@webkit.org>

        Fulfill FIXME in  HTMLLinkElement.h.
        https://bugs.webkit.org/show_bug.cgi?id=74278

        Rename HTMLLinkElement::isLoading() to isStyleSheetLoading().

        Reviewed by Andreas Kling.

        No new tests because the functionality remains the same.

        * dom/Document.cpp:
        (WebCore::Document::recalcStyleSelector):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setDisabledState):
        (WebCore::HTMLLinkElement::isStyleSheetLoading):
        (WebCore::HTMLLinkElement::sheetLoaded):
        * html/HTMLLinkElement.h:

2011-11-25  Alexander Pavlov  <apavlov@chromium.org>

        WebKit does not enumerate over CSS properties in HTMLElement.style
        https://bugs.webkit.org/show_bug.cgi?id=23946

        Reviewed by Darin Adler.

        This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
        using the "in" operator on the CSSStyleDeclaration object.

        Test: fast/css/style-enumerate-properties.html

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
        (WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).
        * css/CSSStyleDeclaration.idl: Use a custom property enumerator.
        * css/makeprop.pl: Add a function to convert CSS property names into JS ones.

2011-12-12  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, build fix.

        Revert r102570 which broke SnowLeopard builders.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
        * css/CSSStyleDeclaration.idl:
        * css/makeprop.pl:

2011-12-12  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: chromium: UI: Detailed Heap snapshot shows too many objects' hidden properties.
        https://bugs.webkit.org/show_bug.cgi?id=74289

        WebCore objects have many hidden properties.
        The Detailed Heap shapshot view shows all these props for a selected object.
        The result view looks too heavy and users usually failed to find a useful information about the object.
        Looks like such ability is unnecessary in the most cases.
        I'd like to introduce a configurable property that will show/hide these props from the view.

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DetailedHeapshotGridNodes.js:
        * inspector/front-end/DetailedHeapshotView.js:
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotProxy.prototype.createPathFinder):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):

2011-12-12  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r102556.
        http://trac.webkit.org/changeset/102556
        https://bugs.webkit.org/show_bug.cgi?id=73394

        clobber build failure

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main):
        * WebCore.gypi:
        * bindings/scripts/generate-bindings.pl:
        * page/DOMWindow.idl:
        * webaudio/DOMWindowWebAudio.idl: Removed.

2011-12-12  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r102558.
        http://trac.webkit.org/changeset/102558
        https://bugs.webkit.org/show_bug.cgi?id=74160

        clobber build failure

        * WebCore.gypi:
        * page/DOMWindow.idl:
        * websockets/DOMWindowWebSocket.idl: Removed.

2011-11-25  Alexander Pavlov  <apavlov@chromium.org>

        WebKit does not enumerate over CSS properties in HTMLElement.style
        https://bugs.webkit.org/show_bug.cgi?id=23946

        Reviewed by Darin Adler.

        This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
        using the "in" operator on the CSSStyleDeclaration object.

        Test: fast/css/style-enumerate-properties.html

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
        (WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).
        * css/CSSStyleDeclaration.idl: Use a custom property enumerator.
        * css/makeprop.pl: Add a function to convert CSS property names into JS ones, and a string comparator.

2011-12-09  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: provide per Document Node count statistics
        https://bugs.webkit.org/show_bug.cgi?id=74100

        Memory agent now returns counters for nodes with given names. For each
        object group root user will see total number of its descendtants and per
        tag name counts.

        This patch also moves generic CounterVisitor code out of V8 bindings. It
        may well be used with both JS engines.

        Reviewed by Pavel Feldman.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptProfiler.h:
        (WebCore::ScriptProfiler::visitJSDOMWrappers):
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::visitJSDOMWrappers):
        * bindings/v8/ScriptProfiler.h:
        * inspector/DOMWrapperVisitor.h: Added.
        (WebCore::DOMWrapperVisitor::~DOMWrapperVisitor):
        * inspector/Inspector.json:
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
        * inspector/InspectorMemoryAgent.h:

2011-12-12  Noel Gordon  <noel.gordon@gmail.com>

        WebPImageDecoder: Increase image/webp decoding performance 10-20%
        https://bugs.webkit.org/show_bug.cgi?id=74263

        Reviewed by Adam Barth.

        Avoid copying data from the RGB buffer of decoded image output to the
        backing pixel store. That is slow - costs 10% of the overall decoding
        time at libwebp 0.1.2, and 20% at libwebp 0.1.3.

        Instead, instruct the decoder to write the decoded pixels directly to
        the backing pixel store.

        No new tests. Covered by existing tests. No progressive decoding test
        exists in DRT, see https://bugs.webkit.org/show_bug.cgi?id=74062

        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (outputMode):  Define output pixel format. On little-endian machines,
        output BGRA pixels to the backing store, for example.
        (WebCore::WEBPImageDecoder::WEBPImageDecoder):
        (WebCore::WEBPImageDecoder::decode):
        * platform/image-decoders/webp/WEBPImageDecoder.h:

2011-12-11  Zoltan Herczeg  <zherczeg@webkit.org>

        Add new CSS nth-children parsing tests
        https://bugs.webkit.org/show_bug.cgi?id=74178

        Reviewed by Darin Adler.

        Test: fast/css/parsing-css-nth-child.html

        * css/CSSParser.cpp:
        (WebCore::isValidNthToken): Add "-n" to the possible identifiers.

2011-12-11  Kentaro Hara  <haraken@chromium.org>

        Use [Supplemental] IDL in WebSocket
        https://bugs.webkit.org/show_bug.cgi?id=74160

        Reviewed by Adam Barth.

        By using the [Supplemental] IDL, this patch moves declarations of WebSocket
        attributes from DOMWindow.idl to websocket/DOMWindowWebSocket.idl,
        which helps make WebSocket a self-contained module.

        No new tests, no change in behavior.
        Confirm that http/tests/websocket/* pass.

        * WebCore.gypi: Added DOMWindowWebSocket.idl.
        * page/DOMWindow.idl: Added the [Supplemented] IDL to WebSocket-related attributes. This [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL (See bug 73394 for more details).
        * websockets/DOMWindowWebSocket.idl: Added. Used the [Supplemental=DOMWindow] IDL. The attributes in this IDL file are treated as if they are described in DOMWindow.idl.

2011-12-11  Luke Macpherson   <macpherson@chromium.org>

        Implement webkit-line-grid and webkit-line-grid-snap CSS properties in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=74262

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-12-11  Kentaro Hara  <haraken@chromium.org>

        Use the [Supplemental] IDL for webaudio attributes in Chromium
        https://bugs.webkit.org/show_bug.cgi?id=73394

        Reviewed by Adam Barth.

        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
        declarations of webaudio from DOMWindow.idl into a new IDL file
        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
        feature (aka a module).

        - This patch changes the build flow of WebCore.gyp as follows:

            Previous build flow:
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl generates .h and .cpp files for $idl;
                }

            New build flow (See the discussions in bug 72138 for more details):
                resolve-supplemental.pl depends on all IDL files;
                resolve-supplemental.pl reads all IDL files;
                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
                resolve-supplemental.pl outputs supplemental_dependency.tmp;
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl reads supplemental_dependency.tmp;
                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
                }

        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
        will be removed after build scripts for all platforms support the [Supplemental] IDL.
        The motivation for the [Supplemented] IDL is as follows:

        In order to support the [Supplemental] IDL, we need to
        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.

        This build flow requires a change on the following build scripts,
        but changing all the build scripts all at once without any regression is too difficult:

            - DerivedSources.make
            - DerivedSources.pri
            - GNUmakefile.am
            - PlatformBlackBerry.cmake
            - UseJSC.cmake
            - UseV8.cmake
            - WebCore.vcproj/MigrateScripts
            - WebCore.vcproj/WebCore.vcproj
            - bindings/gobject/GNUmakefile.am
            - WebCore.gyp/WebCore.gyp

        Thus, we are planning to change the build scripts one by one, which implies that
        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
        in another IDL file somewhere, like this:

            DOMWindowWebAudio.idl:
                interface [
                    Supplemental=DOMWindow
                ] DOMWindowWebAudio {
                    attribute attr1;
                    attribute attr2;
                };

            DOMWindow.idl:
                interface [
                ] DOMWindow {
                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
                    attribute attr3;
                    attribute attr4;
                };

        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:

            - If a given build script supports the [Supplemental] IDL,
            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).

        Tests: webaudio/*

        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
        * WebCore.gypi: Added DOMWindowWebAudio.idl.
        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.

2011-12-11  Andreas Kling  <kling@webkit.org>

        Micro-optimize CSSStyleSelector::findSiblingForStyleSharing().
        <http://webkit.org/b/74261>

        Reviewed by Antti Koivisto.

        Move the isStyledElement() check from canShareStyleWithElement() into the
        loop in findSiblingForStyleSharing(), and tighten up the argument/return
        types to StyledElement* as appropriate.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::CSSStyleSelector::findSiblingForStyleSharing):
        (WebCore::CSSStyleSelector::locateSharedStyle):
        * css/CSSStyleSelector.h:

2011-12-11  Shinya Kawanaka  <shinyak@google.com>

        Asynchronous path synchronous path of SpellChecker should share the code to mark misspellings.
        https://bugs.webkit.org/show_bug.cgi?id=73616

        Reviewed by Hajime Morita.

        Asynchronous spellchecking path should call the same method for the synchronous spellchecking path
        to mark misspellings.

        No new tests. Covered by existing tests.

        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        (WebCore::Editor::markAndReplaceFor):
          Takes SpellCheckRequest object.
        * editing/Editor.h:
        * editing/SpellChecker.cpp:
        (WebCore::SpellChecker::didCheck):
          Calls the same method of synchronous spellchecking path.

2011-12-11  Luke Macpherson   <macpherson@chromium.org>

        Implement CSS display property in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=73500

        Reviewed by Andreas Kling.

        Refactoring only / no functionality changed.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
        (WebCore::ApplyPropertyDisplay::applyInheritValue):
        (WebCore::ApplyPropertyDisplay::applyInitialValue):
        (WebCore::ApplyPropertyDisplay::applyValue):
        (WebCore::ApplyPropertyDisplay::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-12-11  Geoffrey Garen  <ggaren@apple.com>

        Try to fix the Qt build.

        Unreviewed.

        * css/CSSStyleDeclaration.cpp: Maybe an #include will solve our problem?
        Someday, compiler error messages will not suck. Today is not that day.

2011-12-11  Luke Macpherson   <macpherson@chromium.org>

        Implement CSS resize property in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=74162

        Reviewed by Julien Chaffraix.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyResize::applyValue):
        (WebCore::ApplyPropertyResize::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-12-11  Andreas Kling  <kling@webkit.org>

        Move CSSElementStyleDeclaration to its own cpp/h files.
        <http://webkit.org/b/74256>

        Reviewed by Sam Weinig.

        CSSElementStyleDeclaration is old enough to move out of CSSMutableStyleDeclaration's
        attic and into her own apartment. 

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.h:
        * css/CSSElementStyleDeclaration.cpp: Added.
        (WebCore::CSSElementStyleDeclaration::styleSheet):
        * css/CSSElementStyleDeclaration.h: Added.
        (WebCore::CSSElementStyleDeclaration::element):
        (WebCore::CSSElementStyleDeclaration::setElement):
        (WebCore::CSSElementStyleDeclaration::CSSElementStyleDeclaration):
        (WebCore::CSSElementStyleDeclaration::~CSSElementStyleDeclaration):
        * css/CSSInlineStyleDeclaration.h:
        * css/CSSMutableStyleDeclaration.cpp:
        * css/CSSMutableStyleDeclaration.h:
        * dom/CSSMappedAttributeDeclaration.h:

2011-12-11  Benjamin Poulain  <bpoulain@apple.com>

        Add KillRingNone.cpp to Mac build system
        https://bugs.webkit.org/show_bug.cgi?id=74168

        Reviewed by David Kilzer.

        Add KillRingNone.cpp so it can be used on iOS, but
        blacklist the file from the build in order to avoid
        conflicts with KillRingMac.

        * Configurations/WebCore.xcconfig:
        * WebCore.xcodeproj/project.pbxproj:

2011-12-11  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: [protocol] alter some type names generated from Inspector.json
        https://bugs.webkit.org/show_bug.cgi?id=74247

        Reviewed by Pavel Feldman.

        Manually-filled map added that contains problem type names and its replacement.

        * inspector/CodeGeneratorInspector.py:
        (fix_type_name.Result):
        (fix_type_name.Result.output_comment):
        (fix_type_name):
        (TypeBindings.create_for_named_type_declaration.write_doc):
        (TypeBindings.create_for_named_type_declaration.EnumBinding.generate_type_builder):
        (TypeBindings.create_for_named_type_declaration.PlainString.generate_type_builder):
        (TypeBindings):
        (TypeBindings.create_for_named_type_declaration.ClassBinding.generate_type_builder):
        (Generator.process_types):

2011-12-11  Andreas Kling  <kling@webkit.org>

        WK2/NetscapePlugin: Incorrect mouse event coordinates when frameScaleFactor != 1.
        <http://webkit.org/b/74209> and <rdar://problem/10438197>

        Reviewed by Anders Carlsson.

        * WebCore.exp.in: Export AffineTransform::scale(double).

2011-12-10  Andreas Kling  <kling@webkit.org>

        Remove OS(SYMBIAN) block from Settings constructor.
        <http://webkit.org/b/74248>

        Reviewed by Benjamin Poulain.

        Kill the last OS(SYMBIAN) block in WebKit!

        * page/Settings.cpp:
        (WebCore::Settings::Settings):

2011-12-11  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10561285> REGRESSION (r80438): First word on a line or after collapsed space may not be hyphenated even though it should
        https://bugs.webkit.org/show_bug.cgi?id=74239

        Reviewed by Anders Carlsson.

        Tests: fast/text/hyphenate-first-word-after-skipped-space-expected.html
               fast/text/hyphenate-first-word-after-skipped-space.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::tryHyphenating): Replaced the assumption that the character at lastSpace is a space
        iff lastSpace is non-zero with a test of whether it is a space, in the sense that it should
        not be counted as part of the prefix when comparing it to the value of hyphenate-limit-before.

2011-12-10  Benjamin Poulain  <bpoulain@apple.com>

        #ifdef the parts of the Mac platform which should not be used on iOS
        https://bugs.webkit.org/show_bug.cgi?id=74246

        Reviewed by David Kilzer.

        * Configurations/WebCore.xcconfig:
        * platform/FileSystem.cpp:
        * platform/mac/FileSystemMac.mm:
        * platform/mac/Language.mm:
        (+[WebLanguageChangeObserver _webkit_languagePreferencesDidChange]):
        (WebCore::createHTTPStyleLanguageCode):
        (WebCore::platformDefaultLanguage):
        * platform/mac/LocalizedStringsMac.mm:
        (WebCore::localizedString):
        (+[WebCoreSharedBufferData initialize]):
        * platform/mac/WebCoreNSStringExtras.h:
        * platform/mac/WebCoreNSStringExtras.mm:
        * platform/mac/WebFontCache.mm:
        * platform/mac/WebNSAttributedStringExtras.mm: The value NSAttachmentCharacter is
        not defined in the iOS SDK so we add it here.

2011-12-10  Ryosuke Niwa  <rniwa@webkit.org>

        The previous fix broke Lion release build. Fix that.

        * editing/SpellingCorrectionCommand.cpp:

2011-12-10  Ryosuke Niwa  <rniwa@webkit.org>

        Lion build fix attempt after r102527.

        * editing/SpellingCorrectionCommand.cpp:

2011-12-10  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fixes. Add missing header for CPP
        DOM bindings and add stubs for new DPI methods.
        
        * bindings/scripts/CodeGeneratorCPP.pm:
        (AddIncludesForType):
        * platform/wx/ScreenWx.cpp:
        (WebCore::screenHorizontalDPI):
        (WebCore::screenVerticalDPI):

2011-12-10  Ryosuke Niwa  <rniwa@webkit.org>

        Mac build fix. Remove an erroneous OVERRIDE.

        * editing/CompositeEditCommand.h:

2011-12-09  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: numerous counter-increment-* tests fail
        https://bugs.webkit.org/show_bug.cgi?id=73360

        Reviewed by Julien Chaffraix.

        Allow counter-increment to handle integer underflow and overflow.
        Also allow 'counter' to inherit.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyCounter::applyInheritValue):
        (WebCore::ApplyPropertyCounter::applyValue):
        (WebCore::ApplyPropertyCounter::createHandler):

2011-12-09  Ryosuke Niwa  <rniwa@webkit.org>

        There should be a way to count the number of nodes held by undo stack
        https://bugs.webkit.org/show_bug.cgi?id=74099

        Reviewed by Enrica Casucci.

        Add getNodesInCommand to all SimpleEditCommands and EditCommandComposition in debug builds.
        We can easily aggregate the number of nodes held by the undo stack by calling
        this function on each item in the undo stack.

        * editing/AppendNodeCommand.cpp:
        (WebCore::AppendNodeCommand::getNodesInCommand):
        * editing/AppendNodeCommand.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::EditCommandComposition::getNodesInCommand):
        * editing/CompositeEditCommand.h:
        * editing/DeleteFromTextNodeCommand.cpp:
        (WebCore::DeleteFromTextNodeCommand::getNodesInCommand):
        * editing/DeleteFromTextNodeCommand.h:
        * editing/EditCommand.cpp:
        (WebCore::SimpleEditCommand::addNodeAndDescedents):
        * editing/EditCommand.h:
        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing):
        * editing/InsertIntoTextNodeCommand.cpp:
        (WebCore::InsertIntoTextNodeCommand::getNodesInCommand):
        * editing/InsertIntoTextNodeCommand.h:
        * editing/InsertNodeBeforeCommand.cpp:
        (WebCore::InsertNodeBeforeCommand::getNodesInCommand):
        * editing/InsertNodeBeforeCommand.h:
        * editing/MergeIdenticalElementsCommand.cpp:
        (WebCore::MergeIdenticalElementsCommand::getNodesInCommand):
        * editing/MergeIdenticalElementsCommand.h:
        * editing/RemoveCSSPropertyCommand.cpp:
        (WebCore::RemoveCSSPropertyCommand::getNodesInCommand):
        * editing/RemoveCSSPropertyCommand.h:
        * editing/RemoveNodeCommand.cpp:
        (WebCore::RemoveNodeCommand::getNodesInCommand):
        * editing/RemoveNodeCommand.h:
        * editing/ReplaceNodeWithSpanCommand.cpp:
        (WebCore::ReplaceNodeWithSpanCommand::getNodesInCommand):
        * editing/ReplaceNodeWithSpanCommand.h:
        * editing/SetNodeAttributeCommand.cpp:
        (WebCore::SetNodeAttributeCommand::getNodesInCommand):
        * editing/SetNodeAttributeCommand.h:
        * editing/SetSelectionCommand.h:
        * editing/SplitElementCommand.cpp:
        (WebCore::SplitElementCommand::getNodesInCommand):
        * editing/SplitElementCommand.h:
        * editing/SplitTextNodeCommand.cpp:
        (WebCore::SplitTextNodeCommand::getNodesInCommand):
        * editing/SplitTextNodeCommand.h:
        * editing/WrapContentsInDummySpanCommand.cpp:
        (WebCore::WrapContentsInDummySpanCommand::getNodesInCommand):
        * editing/WrapContentsInDummySpanCommand.h:

2011-11-09  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: outline-color-* tests fail
        https://bugs.webkit.org/show_bug.cgi?id=71931

        Reviewed by Julien Chaffraix.

        Test: css2.1/20110323/outline-color-001.html

        WebKit didn't paint the top block in this series of tests because it ignored the outline
        of objects with a zero size. Fix this by taking account of both offset and width of the
        outline when deciding whether to paint it. 

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline): paint the outline even when the block has zero size

2011-12-10   Arko Saha  <arko@motorola.com>

        Microdata: Fix compilation error in MICRODATA enabled build.
        https://bugs.webkit.org/show_bug.cgi?id=74235

        Reviewed by Andreas Kling.

        * dom/Document.cpp:
        (WebCore::Document::getItems):

2011-12-10  Jarred Nicholls  <jarred@sencha.com>

        [V8] Remove old ArrayBuffer guards from V8XMLHttpRequestCustom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=74234

        Reviewed by Adam Barth.

        No new tests are necessary.

        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::responseAccessorGetter):

2011-12-10  Noel Gordon  <noel.gordon@gmail.com>

        WebPImageDecoder progressive decodes fail to decode valid images
        https://bugs.webkit.org/show_bug.cgi?id=74062

        Reviewed by Adam Barth.

        The WEBP header is followed by a so-called P0 header, then some data to
        decode.  If a partial P0 header is received during progressive decodes,
        WebPIDecGetRGB() returns false; that makes the decoder enter the failed
        state, no image appears on the page.

        James Zern (webp) recommended the following via e-mail:

        WebPIUpdate() validates input data, and will return an error status for
        malformed data (bit-stream error, invalid data).  Otherwise, it returns
        OK or SUSPENDED.  OK means that decoding is done/complete/no-error, and
        SUSPENDED means more input data is needed to complete decoding.  A NULL
        return from WebPIDecGetRGB() is valid at this time due to a partial P0,
        and should not be interpreted as a decoding failure.

        No new tests. Not something DumpRenderTree can easily test.

        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::decode):  A NULL WebPIDecGetRGB() return is
        acceptable here.  Return false instead of failing the decoder.

2011-12-09  Benjamin Poulain  <bpoulain@apple.com>

        Add the FileSystem functions of iOS
        https://bugs.webkit.org/show_bug.cgi?id=74164

        Reviewed by David Kilzer.

        Two functions are needed on iOS for temporary files and directories.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/ios/FileSystemIOS.h: Added.
        * platform/ios/FileSystemIOS.mm: Added.
        (WebCore::createTemporaryDirectory):
        (WebCore::createTemporaryFile):

2011-12-09  Jacky Jiang  <zhajiang@rim.com>

        Remove ResourceHandle::bufferedData() from ResourceHandleBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=74197

        The bufferedData() was removed in r95120.

        Reviewed by Rob Buis.

        Trivial fix, so no new tests.

        * platform/network/blackberry/ResourceHandleBlackBerry.cpp:

2011-12-09  Eric Penner  <epenner@google.com>

        [chromium] Prevent ASSERT in legitimate out-of-memory case.
        https://bugs.webkit.org/show_bug.cgi?id=74215

        Reviewed by James Robinson.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::updateCompositorResources):

2011-12-09   Arko Saha  <arko@motorola.com>

        NameNodeListCache should be invalidated when name attribute changes/modified.
        https://bugs.webkit.org/show_bug.cgi?id=70810

        Reviewed by Ryosuke Niwa.

        Test: fast/dom/getelementsbyname-invalidation-cache.html

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::parseMappedAttribute):
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::parseMappedAttribute):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::parseMappedAttribute):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::parseMappedAttribute):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::parseMappedAttribute):
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::parseMappedAttribute):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::parseMappedAttribute):

2011-12-09  Anders Carlsson  <andersca@apple.com>

        Fix Lion release build.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):

2011-12-09  Mark Pilgrim  <pilgrim@chromium.org>

        [FileSystem API] Entry.remove successCallback is required
        https://bugs.webkit.org/show_bug.cgi?id=69639

        Reviewed by Adam Barth.

        Test: fast/filesystem/simple-required-arguments-remove.html

        * fileapi/Entry.idl: remove [Optional] flag from Entry.remove.successCallback parameter

2011-12-09  Tim Horton  <timothy_horton@apple.com>

        background-image transitions trigger between equivalent images
        https://bugs.webkit.org/show_bug.cgi?id=74229
        <rdar://problem/10558627>

        Reviewed by Darin Adler.
        Patch by Simon Fraser.

        For animation property wrappers around StyleImage properties,
        test the equivalence of the image itself, instead of equality of
        the StyleImage pointer.

        Test: transitions/equivalent-background-image-no-transition.html

        * page/animation/AnimationBase.cpp:
        (WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper):
        (WebCore::StyleImagePropertyWrapper::equals):
        (WebCore::FillLayerStyleImagePropertyWrapper::FillLayerStyleImagePropertyWrapper):
        (WebCore::FillLayerStyleImagePropertyWrapper::equals):
        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
        (WebCore::AnimationBase::ensurePropertyMap):

2011-12-09  Mary Wu  <mary.wu@torchmobile.com.cn>

        Small style fix on DragDataBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=74171

        Reviewed by Rob Buis.

        Style fix, no function impact, no new tests.

        * platform/blackberry/DragDataBlackBerry.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asFilenames):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):

2011-12-09  Tony Chang  <tony@chromium.org>

        add css parsing for flex-flow: wrap and wrap-reverse
        https://bugs.webkit.org/show_bug.cgi?id=74008

        Reviewed by Ojan Vafai.

        Also save 2 bits in StyleFlexibleBoxData by changing the size of m_flexFlow (there are only 4 enum values).

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Print the wrap value if it exists.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Parse a second token and put the values into a CSSValueList.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFlexWrap):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyFlexFlow::applyInheritValue): Does not inherit.
        (WebCore::ApplyPropertyFlexFlow::applyInitialValue):
        (WebCore::ApplyPropertyFlexFlow::applyValue): Special handler for setting two render style values from one
        CSS property.
        (WebCore::ApplyPropertyFlexFlow::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSValueKeywords.in:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::flexWrap):
        (WebCore::InheritedFlags::setFlexWrap):
        (WebCore::InheritedFlags::initialFlexWrap):
        * rendering/style/RenderStyleConstants.h: EFlexWrap to hold flex wrap values.
        * rendering/style/StyleFlexibleBoxData.cpp:
        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
        (WebCore::StyleFlexibleBoxData::operator==):
        * rendering/style/StyleFlexibleBoxData.h: 2 bits is enough to hold the 4 flexFlow values.

2011-12-09  KwangHyuk Kim  <hyuki.kim@samsung.com>

        [EFL] Add RefPtrEfl specialization for evas_object.
        https://bugs.webkit.org/show_bug.cgi?id=73790

        Reviewed by Ryosuke Niwa.

        As evas_object is also based on reference count, RefPtr is applied for evas_object.

        * PlatformEfl.cmake:
        * platform/efl/RefPtrEfl.cpp: Added.
        (WTF::refIfNotNull):
        (WTF::derefIfNotNull):
        * platform/efl/RefPtrEfl.h: Added.

2011-12-09  Tony Chang  <tony@chromium.org>

        REGRESSION(102234): 2-3% layout regression
        https://bugs.webkit.org/show_bug.cgi?id=74141

        Reviewed by David Hyatt.

        Don't allocate a RuleSet when there are no regions.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initForRegionStyling):

2011-12-09  Anders Carlsson  <andersca@apple.com>

        Fix assertion failure in ScrollAnimatorMac
        https://bugs.webkit.org/show_bug.cgi?id=74222

        Reviewed by Andreas Kling.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
        This can be called with a nil scrollerImp, just return NSZeroPoint when that happens.

2011-12-09  Anders Carlsson  <andersca@apple.com>

        Move the "is currently drawing into layer" flag out into ScrollbarThemeMac
        https://bugs.webkit.org/show_bug.cgi?id=74217

        Reviewed by Beth Dakin.

        There's no need to store this flag inside ScrollAnimatorMac, just make it a global and put it in ScrollbarThemeMac instead.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterDelegate layer]):
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::isCurrentlyDrawingIntoLayer):
        (WebCore::ScrollbarThemeMac::paint):

2011-12-09  Anders Carlsson  <andersca@apple.com>

        Minor cleanup in ScrollAnimatorMac.mm
        https://bugs.webkit.org/show_bug.cgi?id=74211

        Reviewed by Andreas Kling.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
        No need to get the scrollbar from the scroll animator anymore.

        (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
        Try to get data from the scrollbar and/or the scrollable area instead of the scrollbar painter.

2011-12-09  David Levin  <levin@chromium.org>

        Regression(r53595): Sync xhr requests in workers aren't terminated on worker close.
        https://bugs.webkit.org/show_bug.cgi?id=71695

        Reviewed by Zoltan Herczeg.

        Overview: Message loops rely on the message queue being killed in order
        to exit. r53595 stopped this from happening because killing a message loop
        would also stop it from doing database clean up tasks. The database clean up
        tasks needed to be tasks due to ordering issues. (They wanted to run after
        certain order tasks were run.) This was solved by once again terminating
        the message queue but then still runnning clean-up tasks from the killed
        message queue.

        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::run): Added the call to run clean-up tasks.
        (WebCore::WorkerRunLoop::runInMode):
        (WebCore::WorkerRunLoop::runCleanupTasks): Loop to simply clear out all clean up tasks.
        (WebCore::WorkerRunLoop::Task::performTask): Stop non-clean up tasks
        from running after the loop has been terminated.
        * workers/WorkerRunLoop.h:
        (WebCore::WorkerRunLoop::terminated): Just made it const.
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThreadShutdownFinishTask::performTask): Removed
        the terminate clause since it was put back in stop.
        (WebCore::WorkerThread::stop): Terminate the run loop so
        that all loops will exit and clean up tasks will run. Also removed a comment
        about nested workers because nested workers are no longer imminent and the
        issue mentioned is one of many that should logically be investigated -- behavior correctness
        in the face of different orderings of shutdown between the document and each worker --
        when implementing them.

2011-12-09  Tony Chang  <tony@chromium.org>

        Unreviewed, rolling out r102416.
        http://trac.webkit.org/changeset/102416
        https://bugs.webkit.org/show_bug.cgi?id=73394

        Chromium Win clobber builds are failing.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main):
        * WebCore.gypi:
        * bindings/scripts/generate-bindings.pl:
        * page/DOMWindow.idl:
        * webaudio/DOMWindowWebAudio.idl: Removed.

2011-12-09  Eric Carlson  <eric.carlson@apple.com>

        JSC wrappers for TextTrack and TextTrackCue should not be collected during event dispatch or when owner is reachable
        https://bugs.webkit.org/show_bug.cgi?id=72179

        Reviewed by Geoff Garen.

        Tests: media/track/text-track-cue-is-reachable.html
               media/track/text-track-is-reachable.html

        * GNUmakefile.list.am: Add JSTextTrackCueCustom.cpp and JSTextTrackCustom.cpp.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.

        * bindings/js/JSTextTrackCueCustom.cpp: Added.
        (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots): New.
        (WebCore::JSTextTrackCueOwner::visitChildren): New.

        * bindings/js/JSTextTrackCustom.cpp: Added.
        (WebCore::JSTextTrackOwner::isReachableFromOpaqueRoots): New.
        (WebCore::JSTextTrack::visitChildren): New, mark all cues.
        * bindings/js/JSTextTrackCustom.h: Added.
        (WebCore::root): New.

        * bindings/js/JSTextTrackListCustom.cpp:
        (WebCore::JSTextTrackList::visitChildren): New, mark all tracks.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::trackWillBeRemoved): TextTracks::remove now takes a TextTrack*.

        * html/LoadableTextTrack.h:
        (WebCore::LoadableTextTrack::trackElement): New, return the <track>.

        * html/TextTrack.cpp:
        (WebCore::TextTrack::TextTrack): Initialize m_mediaElement.
        * html/TextTrack.h:
        (WebCore::TextTrack::setMediaElement): New.
        (WebCore::TextTrack::mediaElement): Ditto.

        * html/TextTrack.idl: Add CustomIsReachable and CustomMarkFunction.

        * html/TextTrackCue.idl: Add CustomIsReachable.

        * html/track/TextTrackList.cpp:
        (TextTrackList::append): Set track's media element.
        (TextTrackList::remove): Clear track's media element. Take a raw ptr, not a PassRefPtr.
        * html/track/TextTrackList.h:
        * html/track/TextTrackList.idl: Add CustomMarkFunction

2011-12-09  Chris Fleizach  <cfleizach@apple.com>

        WebKit should ignore images with @alt matching only whitespace
        https://bugs.webkit.org/show_bug.cgi?id=74189

        Reviewed by Darin Adler.

        Test: accessibility/img-alt-tag-only-whitespace.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):

2011-12-09  Anders Carlsson  <andersca@apple.com>

        Remove NSAnimationContext calls
        https://bugs.webkit.org/show_bug.cgi?id=74207

        Reviewed by Sam Weinig.

        NSAnimationContext is not used for NSAnimation subclasses, so the calls to beginGrouping/endGrouping and setDuration:
        are essentially no-ops. Remove them.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):

2011-12-09  Anders Carlsson  <andersca@apple.com>

        Rename scrollAnimatorDestroyed to invalidate
        https://bugs.webkit.org/show_bug.cgi?id=74206

        Reviewed by Sam Weinig.

        Since these methods can be called when both scrollbars are destroyed and the scroll animator itself is
        destroyed, rename it to something more neutral.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollAnimationHelperDelegate invalidate]):
        (-[WebScrollbarPartAnimation invalidate]):
        (-[WebScrollbarPainterDelegate invalidate]):
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):

2011-12-09  Anders Carlsson  <andersca@apple.com>

        WebScrollbarPainterControllerDelegate should know about the ScrollableArea, not the ScrollAnimatorMac
        https://bugs.webkit.org/show_bug.cgi?id=74204

        Reviewed by Sam Weinig.

        It makes more logical sense to associate the WebScrollbarPainterControllerDelegate object with its ScrollableArea, since
        painting has nothing to do with animation.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterControllerDelegate initWithScrollableArea:]):
        (-[WebScrollbarPainterControllerDelegate invalidate]):
        (-[WebScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
        (-[WebScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
        (-[WebScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
        (-[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
        (-[WebScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):

2011-12-09  Jarred Nicholls  <jarred@sencha.com>

        [JSC] Allow cached attributes in bindings that declare a custom mark function
        https://bugs.webkit.org/show_bug.cgi?id=74187

        Reviewed by Oliver Hunt.

        No new tests, current binding tests are sufficient.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):

2011-12-09  Anders Carlsson  <andersca@apple.com>

        Remove duplicate animation ivars
        https://bugs.webkit.org/show_bug.cgi?id=74194

        Reviewed by Sam Weinig.

        Since we now have one WebScrollbarPainterDelegate for each scrollbar, we no longer need separate
        vertical/horizontal animation objects, so get rid of them.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterDelegate cancelAnimations]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
        (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):

2011-12-09  Anders Carlsson  <andersca@apple.com>

        WebScrollbarPartAnimation should only know about the scrollbar it's animating
        https://bugs.webkit.org/show_bug.cgi?id=74192

        Reviewed by Sam Weinig.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]):
        Change the designated initializer to just take the scrollbar. Also, make the animation non-blocking here
        so we don't have to do it in all the call sites.

        (-[WebScrollbarPartAnimation startAnimation]):
        Update the scrollbar painter.

        (-[WebScrollbarPartAnimation setCurrentProgress:]):
        Just invalidate the scrollbar we're animating.

        (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
        Update call sites to use the new designated initializer.

2011-12-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Inspector: Don't translate the context when rendering the highlights on a tiled layer.
        https://bugs.webkit.org/show_bug.cgi?id=74085

        Reviewed by Kenneth Rohde Christiansen.

        When the frame view is using fixed layouting, the page overlay is the size of the whole
        page and the context shouldn't be translated. The visible rect is still used in that
        case to display element titles within the visible rect.

        Also:
        - Rename overlayRect to visibleRect to reduce confusion in this case.
        - Remove the superfluous boundingBox check.

        * inspector/DOMNodeHighlighter.cpp:

2011-12-09  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed inspector utilities syntax fix.

        * inspector/front-end/utilities.js:
        ():

2011-12-09  Joone Hur  <joone.hur@collabora.co.uk>, Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk> 

        [GTK] Initial implementation of Accelerated Compositing using Clutter
        https://bugs.webkit.org/show_bug.cgi?id=73319

        Reviewed by Gustavo Noronha Silva.

        No new tests added as this feature will be able to reuse the existing 
        CSS3 transforms layout tests.

        * GNUmakefile.am: Include WebCore/platform/graphics/clutter path.
        * GNUmakefile.list.am: Add GraphicsLayerClutter.
        * platform/clutter/GRefPtrClutter.cpp: Added.
        (WTF::adoptGRef):
        (WTF::ClutterActor):
        * platform/clutter/GRefPtrClutter.h: Added.
        * platform/graphics/GraphicsLayer.h: Define PlatformLayer type, which represents ClutterActor.
        * platform/graphics/clutter/GraphicsLayerClutter.cpp: Boilerplate implementation.
        (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
        (WebCore::GraphicsLayerClutter::platformLayer):
        * platform/graphics/clutter/GraphicsLayerClutter.h: Boilerplate implementation.

2011-12-08  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Introduce a Map class allowing to store values indexed by arbitrary objects.
        https://bugs.webkit.org/show_bug.cgi?id=74084

        Reviewed by Pavel Feldman.

        Test: inspector/map.html

        * inspector/front-end/treeoutline.js:
        (TreeOutline):
        ():
        (TreeElement.prototype.collapse):
        (TreeElement.prototype.expand):
        * inspector/front-end/utilities.js:
        ():

2011-12-09  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: [protocol] generate C++ classes for protocol JSON named types
        https://bugs.webkit.org/show_bug.cgi?id=72835

        Reviewed by Yury Semikhatsky.

        Extends python generator functionality.
        Makes constructor in InspectorObject public.

        * inspector/CodeGeneratorInspector.py:
        * inspector/InspectorValues.h:

2011-12-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        [Qt] [WK2] Webkit should release TextureMapper GL objects if page paint node is deallocated.
        https://bugs.webkit.org/show_bug.cgi?id=73591

        Reviewed by Noam Rosenthal.

        Implementation of helper function to remove all GL allocated tiles
        when QQuickWebView gets removed from canvas.

        Tested by new API test in WK2 (tst_QQuickWebView::removeFromCanvas).

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::purgeNodeTexturesRecursive):
        * platform/graphics/texmap/TextureMapperNode.h:

2011-12-08  Leo Yang  <leo.yang@torchmobile.com.cn>

        Upstream platform/network/blackberry/DeferredData.{h, cpp}, NetworkJob.{h, cpp} and NetworkManager.{h, cpp}
        https://bugs.webkit.org/show_bug.cgi?id=73791

        Reviewed by Rob Buis.

        Other main contributors:
        Joe Mason <jmason@rim.com>
        Lianghui Chen <liachen@rim.com>
        Charles Wei <charles.wei@torchmobile.com.cn>

        Initial upstream, can't be built yet, no new tests.

        * platform/network/blackberry/DeferredData.cpp: Added.
        * platform/network/blackberry/DeferredData.h: Added.
        * platform/network/blackberry/NetworkJob.cpp: Added.
        * platform/network/blackberry/NetworkJob.h: Added.
        * platform/network/blackberry/NetworkManager.cpp: Added.
        * platform/network/blackberry/NetworkManager.h: Added.

2011-12-08  Ryosuke Niwa  <rniwa@webkit.org>

        It's semantically incorrect to call notifyNodeListsAttributeChanged in dispatchSubtreeModifiedEvent
        https://bugs.webkit.org/show_bug.cgi?id=74028

        Reviewed by Darin Adler.

        Remove a call to notifyNodeListsAttributeChanged in dispatchSubtreeModified and add explicit calls
        to notifyNodeListsAttributeChanged at appropriate places.

        Also merge notifyNodeListsChildrenChanged with notifyLocalNodeListsChildrenChanged, and
        notifyNodeListsAttributeChanged with notifyLocalNodeListsAttributeChanged, and rename them to
        invalidateNodeListsCacheAfterAttributeChanges and invalidateNodeListsCacheAfterNodeChanges respectively.

        * dom/Attr.cpp:
        (WebCore::Attr::childrenChanged):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::childrenChanged):
        * dom/Document.cpp:
        (WebCore::Document::updateRangesAfterNodeChanges):
        * dom/Document.h:
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::addAttribute):
        (WebCore::NamedNodeMap::removeAttribute):
        * dom/Node.cpp:
        (WebCore::removeNodeListCacheIfPossible):
        (WebCore::Node::unregisterDynamicNodeList):
        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanges):
        (WebCore::Node::invalidateNodeListsCacheAfterNodeChanges):
        (WebCore::Node::dispatchSubtreeModifiedEvent):
        * dom/Node.h:
        * dom/NodeRareData.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::classAttributeChanged):

2011-12-08  Kenichi Ishibashi  <bashi@chromium.org>

        Unreviewed, rolling out r102418.
        http://trac.webkit.org/changeset/102418
        https://bugs.webkit.org/show_bug.cgi?id=71870

        Caused Chromium build failure.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        * html/canvas/WebGLExtension.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getExtension):
        (WebCore::WebGLRenderingContext::getSupportedExtensions):
        (WebCore::WebGLRenderingContext::maybeRestoreContext):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebKitLoseContext.cpp: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.cpp.
        (WebCore::WebKitLoseContext::WebKitLoseContext):
        (WebCore::WebKitLoseContext::~WebKitLoseContext):
        (WebCore::WebKitLoseContext::getName):
        (WebCore::WebKitLoseContext::create):
        (WebCore::WebKitLoseContext::loseContext):
        (WebCore::WebKitLoseContext::restoreContext):
        * html/canvas/WebKitLoseContext.h: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.h.
        * html/canvas/WebKitLoseContext.idl: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.idl.

2011-12-08  Fady Samuel  <fsamuel@chromium.org>

        [Chromium] Enable viewport metatag
        https://bugs.webkit.org/show_bug.cgi?id=73495

        Reviewed by Darin Fisher.

        Recompute viewpot parameters on frame rect resize.

        * page/FrameView.cpp:
        (WebCore::FrameView::setFrameRect):

2011-12-08  Kent Tamura  <tkent@chromium.org>

        Build fix for r102419.
        https://bugs.webkit.org/show_bug.cgi?id=73916

        * platform/PopupMenuClient.h:
        (WebCore::PopupMenuClient::listBoxSelectItem):
        Remove unused argument names.

2011-12-08  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

2011-12-08  Mary Wu  <mary.wu@torchmobile.com.cn>

        Upstream BlackBerry porting of MIMETypeRegistry/KeyboardEvent
        https://bugs.webkit.org/show_bug.cgi?id=73534

        Reviewed by Rob Buis.

        Other main contributors:
        Mike Fenton <mifenton@rim.com>
        Joe Mason <jmason@rim.com>
        Max Feil <mfeil@qnx.com>
        Lukas Sydorowski <lsydorowski@rim.com>
        Crystal Zhang <haizhang@rim.com> 

        Initial upstream, no new tests.

        * platform/blackberry/MIMETypeRegistryBlackBerry.cpp: Added.
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
        * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp: Added.
        (WebCore::keyIdentifierForBlackBerryCharacter):
        (WebCore::windowsKeyCodeForBlackBerryCharacter):
        (WebCore::adjustCharacterFromOS):
        (WebCore::toWebCorePlatformKeyboardEventType):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        (WebCore::PlatformKeyboardEvent::getCurrentModifierState):

2011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101619.
        http://trac.webkit.org/changeset/101619
        https://bugs.webkit.org/show_bug.cgi?id=74158

        this patch produces bad behaviour on mac (Requested by
        jeremya_ on #webkit).

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent):
        (WebCore::EventHandler::dragSourceEndedAt):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateHoverActiveState):

2011-12-08  Adam Klein  <adamk@chromium.org>

        [MutationObservers] V8LazyEventHandler breaks microtask delivery semantics
        https://bugs.webkit.org/show_bug.cgi?id=73492

        Reviewed by Adam Barth.

        Test: fast/mutation/inline-event-listener.html

        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::prepareListenerObject): Call v8::Script::Run directly instead of going through V8Proxy.

2011-12-08  Hayato Ito  <hayato@chromium.org>

        Suppress rendering of light children when ShadowRoot is dynamically created.
        https://bugs.webkit.org/show_bug.cgi?id=72441

        Reviewed by Ryosuke Niwa.

        Tests: fast/dom/shadow/dynamically-created-shadow-root-expected.html
               fast/dom/shadow/dynamically-created-shadow-root.html

        * dom/Element.cpp:
        (WebCore::Element::setShadowRoot):

2011-12-08  Pierre Rossi  <pierre.rossi@gmail.com>

        Drop ENABLE_NO_LISTBOX_RENDERING, and make it a runtime decision.
        https://bugs.webkit.org/show_bug.cgi?id=73916

        This was needed for Qt since the mobile theme, which can be picked
        up at runtime, delegates the rendering of list boxes.

        Reviewed by Kent Tamura.

        No new tests, there's no functional change.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::usesMenuList):
        * html/HTMLSelectElement.h:
        * platform/PopupMenuClient.h:
        (WebCore::PopupMenuClient::listBoxSelectItem):
        (WebCore::PopupMenuClient::multiple):
        * platform/qt/RenderThemeQtMobile.h:
        (WebCore::RenderThemeQtMobile::delegatesMenuListRendering):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::multiple):
        * rendering/RenderMenuList.h:
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::delegatesMenuListRendering):

2011-12-08  Kenneth Russell  <kbr@google.com>

        Rename WEBKIT_lose_context to WEBKIT_WEBGL_lose_context
        https://bugs.webkit.org/show_bug.cgi?id=71870

        Reviewed by James Robinson.

        Rename largely done with do-webcore-rename with a couple of
        necessary manual fixups. Ran WebGL layout tests.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        * html/canvas/WebGLExtension.h:
        * html/canvas/WebGLLoseContext.cpp: Copied from Source/WebCore/html/canvas/WebKitLoseContext.cpp.
        (WebCore::WebGLLoseContext::WebGLLoseContext):
        (WebCore::WebGLLoseContext::~WebGLLoseContext):
        (WebCore::WebGLLoseContext::getName):
        (WebCore::WebGLLoseContext::create):
        (WebCore::WebGLLoseContext::loseContext):
        (WebCore::WebGLLoseContext::restoreContext):
        * html/canvas/WebGLLoseContext.h: Copied from Source/WebCore/html/canvas/WebKitLoseContext.h.
        * html/canvas/WebGLLoseContext.idl: Copied from Source/WebCore/html/canvas/WebKitLoseContext.idl.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getExtension):
        (WebCore::WebGLRenderingContext::getSupportedExtensions):
        (WebCore::WebGLRenderingContext::maybeRestoreContext):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebKitLoseContext.cpp: Removed.
        * html/canvas/WebKitLoseContext.h: Removed.
        * html/canvas/WebKitLoseContext.idl: Removed.

2011-12-08  Kentaro Hara  <haraken@chromium.org>

        Use the [Supplemental] IDL for webaudio attributes in Chromium
        https://bugs.webkit.org/show_bug.cgi?id=73394

        Reviewed by Adam Barth.

        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
        declarations of webaudio from DOMWindow.idl into a new IDL file
        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
        feature (aka a module).

        - This patch changes the build flow of WebCore.gyp as follows:

            Previous build flow:
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl generates .h and .cpp files for $idl;
                }

            New build flow (See the discussions in bug 72138 for more details):
                resolve-supplemental.pl depends on all IDL files;
                resolve-supplemental.pl reads all IDL files;
                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
                resolve-supplemental.pl outputs supplemental_dependency.tmp;
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl reads supplemental_dependency.tmp;
                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
                }

        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
        will be removed after build scripts for all platforms support the [Supplemental] IDL.
        The motivation for the [Supplemented] IDL is as follows:

        In order to support the [Supplemental] IDL, we need to
        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.

        This build flow requires a change on the following build scripts,
        but changing all the build scripts all at once without any regression is too difficult:

            - DerivedSources.make
            - DerivedSources.pri
            - GNUmakefile.am
            - PlatformBlackBerry.cmake
            - UseJSC.cmake
            - UseV8.cmake
            - WebCore.vcproj/MigrateScripts
            - WebCore.vcproj/WebCore.vcproj
            - bindings/gobject/GNUmakefile.am
            - WebCore.gyp/WebCore.gyp

        Thus, we are planning to change the build scripts one by one, which implies that
        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
        in another IDL file somewhere, like this:

            DOMWindowWebAudio.idl:
                interface [
                    Supplemental=DOMWindow
                ] DOMWindowWebAudio {
                    attribute attr1;
                    attribute attr2;
                };

            DOMWindow.idl:
                interface [
                ] DOMWindow {
                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
                    attribute attr3;
                    attribute attr4;
                };

        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:

            - If a given build script supports the [Supplemental] IDL,
            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).

        Tests: webaudio/*

        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
        * WebCore.gypi: Added DOMWindowWebAudio.idl.
        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.

2011-12-08  Van Lam  <vanlam@google.com>

        Caret keeps blinking during forward-delete
        https://bugs.webkit.org/show_bug.cgi?id=38564

        Reviewed by Darin Adler.

        Currently updateAppearance determines if the caret should stop blinking
        based on whether or not the editing operation changed the position of
        the caret; so the caret stops blinking in case of typing text and
        backwards delete (which always displace the caret) but does not stop
        blinking in the case of forward delete (which does not displace the
        caret).

        Added a boolean member function shouldStopCaretBlinking in EditCommand
        which will return true if the object is a TypingCommand (my
        understanding here is that all TypingCommands should stop the caret
        from blinking for a cycle, currently 0.5 seconds). Then used this
        function to stop the caret from blinking if the last editing command
        is a TypingCommand.

        * editing/EditCommand.h:
        (WebCore::EditCommand::shouldStopCaretBlinking):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::updateAppearance):
        * editing/TypingCommand.h:
        (WebCore::TypingCommand::shouldStopCaretBlinking):

2011-12-08  Adam Klein  <adamk@chromium.org>

        Use HashMap<Node*, OwnPtr<...>> in ChildListMutationScope
        https://bugs.webkit.org/show_bug.cgi?id=73964

        Reviewed by Darin Adler.

        Re-landing r102267 with a fix for the clang build.

        No new tests, refactoring only.

        * dom/ChildListMutationScope.cpp:
        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::childAdded):
        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::willRemoveChild):
        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::decrementScopingLevel):

2011-12-08  Anders Carlsson  <andersca@apple.com>

        WebScrollbarPainterDelegate should have a pointer to its Scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=74149

        Reviewed by Darin Adler.

        This is another step towards making the scroll animation code more robust.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterDelegate initWithScrollbar:WebCore::]):
        (-[WebScrollbarPainterDelegate scrollAnimator]):
        (-[WebScrollbarPainterDelegate layer]):
        (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
        (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):

2011-12-08  Rakesh KN  <rakesh.kn@motorola.com>

        keyboard event doesn't fire while moving mouse with button pressed
        https://bugs.webkit.org/show_bug.cgi?id=73821

        Reviewed by Alexey Proskuryakov.

        Autoscroll should not stop on key press.

        Test: fast/events/autoscroll-should-not-stop-on-keypress.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::keyEvent):
        Removed the check for autoscroll so that autoscroll is not stopped on
        key press and key event is processed. 

2011-12-08  Anders Carlsson  <andersca@apple.com>

        Add scrollAnimator getter method to WebScrollbarPainterDelegate
        https://bugs.webkit.org/show_bug.cgi?id=74146

        Reviewed by Beth Dakin.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterDelegate scrollAnimator]):
        (-[WebScrollbarPainterDelegate layer]):
        (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
        (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):

2011-12-08  James Robinson  <jamesr@chromium.org>

        Improve handling of frame removal during requestAnimationFrame callback invocation
        https://bugs.webkit.org/show_bug.cgi?id=74036

        Reviewed by Adam Barth.

        See bug for details.

        Test: fast/animation/request-animation-frame-detach-element.html

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef):
        (WebCore::Document::detach):
        * dom/Document.h:
        * dom/ScriptedAnimationController.cpp:
        (WebCore::ScriptedAnimationController::~ScriptedAnimationController):
        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
        (WebCore::ScriptedAnimationController::scheduleAnimation):
        * dom/ScriptedAnimationController.h:
        (WebCore::ScriptedAnimationController::create):
        (WebCore::ScriptedAnimationController::clearDocumentPointer):
        * page/FrameView.cpp:
        (WebCore::FrameView::serviceScriptedAnimations):

2011-12-08  Yongjun Zhang  <yongjun_zhang@apple.com>

        Use bitfield for bool data members in BitmapImage.
        https://bugs.webkit.org/show_bug.cgi?id=74102

        Reviewed by Darin Adler.

        Class BitmapImage and FrameData has bool data members, we can use bitfield for those data
        members to reduce the BitmapImage's memory footprint.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::BitmapImage):
        * platform/graphics/BitmapImage.h:
        (WebCore::FrameData::FrameData):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::BitmapImage):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::BitmapImage):
        * platform/graphics/openvg/ImageOpenVG.cpp:
        (WebCore::BitmapImage::BitmapImage):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::BitmapImage):

2011-12-08  Anders Carlsson  <andersca@apple.com>

        Fix a paste-o in ScrollAnimatorMac::updateScrollerStyle
        https://bugs.webkit.org/show_bug.cgi?id=74145

        Reviewed by Sam Weinig.

        Call setHorizontalScrollerImp to set the horizontal scrollbar painter.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):

2011-12-08  Anders Carlsson  <andersca@apple.com>

        Create one WebScrollbarPainterDelegate for each scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=74142

        Reviewed by Sam Weinig.

        Create and destroy WebScrollbarPainterDelegate objects as scrollbars come and go.
        This is a step towards simplifying the WebScrollbarPainterDelegate object.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::cancelAnimations):

2011-12-08  David Reveman  <reveman@chromium.org>

        [Chromium] Add per-tile painting flag to DumpRenderTree and rename AcceleratedDrawing to AcceleratedPainting in chromium specific code.
        https://bugs.webkit.org/show_bug.cgi?id=74017

        Reviewed by James Robinson.

        Add per-tile drawing to page settings.

        No new tests.

        * page/Settings.h:
        (WebCore::Settings::setPerTileDrawingEnabled):
        (WebCore::Settings::perTileDrawingEnabled):
        * testing/Internals.cpp:
        (WebCore::Internals::setPerTileDrawingEnabled):
        * testing/Internals.h:

2011-12-08  Anders Carlsson  <andersca@apple.com>

        Add a scrollbarPainterForScrollbar helper function
        https://bugs.webkit.org/show_bug.cgi?id=74139

        Reviewed by Sam Weinig.

        * platform/mac/ScrollAnimatorMac.mm:
        (macScrollbarTheme):
        (scrollbarPainterForScrollbar):
        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):

2011-12-08  James Robinson  <jamesr@chromium.org>

        [chromium] Move NonCompositedContentHost to WebKit
        https://bugs.webkit.org/show_bug.cgi?id=74047

        Reviewed by Kenneth Russell.

        Updates WebCore.gypi to remove files no longer within WebCore and removes unused forward declaration and include
        from LayerRendererChromium.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        * platform/graphics/chromium/LayerRendererChromium.h:

2011-12-08  Sami Kyostila  <skyostil@google.com>

        [chromium] Layer contents scale change should trigger invalidation

        https://bugs.webkit.org/show_bug.cgi?id=74086

        When the contents scale of a layer is changed, the entire contents of
        the layer should be marked dirty.

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setContentsScale):

2011-12-08  Stephen White  <senorblanco@chromium.org>

        [chromium] Add CSS_FILTERS custom binding file to WebCore.gypi.
        https://bugs.webkit.org/show_bug.cgi?id=74091

        Reviewed by Adam Barth.

        If it builds, you're happy.

        * WebCore.gypi:

2011-12-08  Ryosuke Niwa  <rniwa@webkit.org>

        Line breaks are lost when pasted into textarea text starting with a blank line set while textarea is hidden
        https://bugs.webkit.org/show_bug.cgi?id=74126

        Reviewed by Tony Chang.

        The bug was caused by the code that generated text out of pre-rendered text was generating div's inside the fragment
        pasted into textarea even though serialization algorithm in textarea doesn't handle block elements.

        Fixed the bug by special-casing this in createFragmentFromText. In the long run, we should really get rid of this
        whole pre-rendering trick.

        * editing/markup.cpp:
        (WebCore::createFragmentFromText):

2011-12-08  Florin Malita  <fmalita@google.com>

        Moving SVG elements on the page doesn't always erase element at the old position
        https://bugs.webkit.org/show_bug.cgi?id=74002

        Reviewed by Darin Adler.

        Test: svg/repaint/container-repaint.svg

        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        Save the old repaint bounds before updating the viewport.

2011-12-08  Tim Horton  <timothy_horton@apple.com>

        Enable animations of CSS images using -webkit-cross-fade
        https://bugs.webkit.org/show_bug.cgi?id=74049
        <rdar://problem/10209303>

        Reviewed by Simon Fraser.

        Add support for animating CSS images in the following properties:
            - background(-image)
            - border-image(-source)
            - list-style(-image)
            - -webkit-mask-box-image(-source)
            - -webkit-mask-image(-source)
        
        This patch only adds support for transitioning between NinePieceImages
        where all of the properties except the image itself are equal, and the
        size of the images are equal. Other cases will not animate.
        
        Add animation blend functions for StyleImage and NinePieceImage.
        
        Apply the proper compositing operation to -webkit-cross-fade, and
        fix handling of the destination and source areas to support scaling.

        Tests: animations/cross-fade-background-image.html
               animations/cross-fade-border-image-source.html
               animations/cross-fade-list-style-image.html
               animations/cross-fade-webkit-mask-box-image.html
               animations/cross-fade-webkit-mask-image.html

        * css/CSSCrossfadeValue.cpp:
        (WebCore::cachedImageForCSSValue):
        (WebCore::CSSCrossfadeValue::fixedSize):
        (WebCore::CSSCrossfadeValue::image):
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::CSSImageValue):
        * css/CSSImageValue.h:
        (WebCore::CSSImageValue::create):
        * page/animation/AnimationBase.cpp:
        (WebCore::crossfadeBlend):
        (WebCore::blendFunc):
        (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper):
        (WebCore::RefCountedPropertyWrapper::blend):
        (WebCore::FillLayerRefCountedPropertyWrapper::FillLayerRefCountedPropertyWrapper):
        (WebCore::FillLayerRefCountedPropertyWrapper::blend):
        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
        (WebCore::AnimationBase::ensurePropertyMap):
        (WebCore::addShorthandProperties):
        * platform/graphics/CrossfadeGeneratedImage.cpp:
        (WebCore::CrossfadeGeneratedImage::drawCrossfade):
        (WebCore::CrossfadeGeneratedImage::draw):
        (WebCore::CrossfadeGeneratedImage::drawPattern):
        * platform/graphics/CrossfadeGeneratedImage.h:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setMaskImage):

2011-12-08  Stephen White  <senorblanco@chromium.org>

        Use Skia's implementation of Gaussian blur when accelerated filters
        are enabled.
        https://bugs.webkit.org/show_bug.cgi?id=73949

        Reviewed by Zoltan Herczeg.

        In the future, this will be covered by the SVG tests run in GPU mode.

        * WebCore.gypi:
        Add FEGaussianBlurSkia.cpp to the build.
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::platformApplySoftware):
        Call out to platformApplySkia() when USE_SKIA is enabled.
        * platform/graphics/filters/FEGaussianBlur.h:
        platformApplySkia() declaration.
        * platform/graphics/filters/skia: Added.
        * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp: Added.
        (WebCore::FEGaussianBlur::platformApplySkia):
        On the Skia port, use SkBlurImageFilter for drawing
        Gaussian blurs in accelerated mode.
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::copyImage):
        Implement ImageBuffer::copyImage() with DontCopyBackingStore semantics.

2011-12-08  Erik Arvidsson  <arv@chromium.org>

        CodeGeneratorV8: Fix issue with overloaded static conditional methods
        https://bugs.webkit.org/show_bug.cgi?id=74114

        Reviewed by Adam Barth.

        The code generator was missing checks for Conditional for overloaded methods.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateOverloadedFunctionCallback): Generate needed #ifdefs.
        (GenerateFunctionCallback): Ditto.
        * bindings/scripts/test/V8/V8TestObj.cpp: Wrap conditional methods with #ifdefs.
        (WebCore::ConfigureV8TestObjTemplate):

2011-12-08  Dominic Mazzoni  <dmazzoni@google.com>

        AccessibilityController should support listening to notifications on all elements.
        https://bugs.webkit.org/show_bug.cgi?id=72866

        Changes accessibilitySetShouldRepostNotifications from an instance method
        into a class method so that it can be used for global notification listeners,
        not just for listeners on a particular object.

        Reviewed by Chris Fleizach.

        Test: accessibility/notification-listeners.html

        * accessibility/mac/WebAccessibilityObjectWrapper.h:
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (+[WebAccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
        (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):

2011-12-08  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Rename createScriptCallStack() without parameters to createScriptCallStackForInspector().
        https://bugs.webkit.org/show_bug.cgi?id=74120

        Reviewed by Pavel Feldman.

        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStackForInspector):
        * bindings/js/ScriptCallStackFactory.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionCallback):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        * bindings/v8/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStackForInspector):
        * bindings/v8/ScriptCallStackFactory.h:

2011-12-08  Adrienne Walker  <enne@google.com>

        [chromium] Remove dead code in compositor
        https://bugs.webkit.org/show_bug.cgi?id=74103

        Reviewed by James Robinson.

        Tested via the compiler.

        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        * platform/graphics/chromium/LayerRendererChromium.h:

2011-12-08  Eric Penner  <epenner@google.com>

        [chromium] Need to adjust memory limit and viewport multipliers.
        https://bugs.webkit.org/show_bug.cgi?id=74022

        Reviewed by James Robinson.

        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::highLimitBytes): Changing constants
        (WebCore::TextureManager::reclaimLimitBytes): ditto

2011-12-08  Benjamin Poulain  <bpoulain@apple.com>

        Add a platform EventLoop for iOS
        https://bugs.webkit.org/show_bug.cgi?id=74043

        Reviewed by David Kilzer.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/ios/EventLoopIOS.mm: Added.
        (WebCore::EventLoop::cycle):

2011-12-08  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: return node counts on the document / detached root basis
        https://bugs.webkit.org/show_bug.cgi?id=74104

        Reviewed by Yury Semikhatsky.

        * bindings/js/ScriptProfiler.h:
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::domNodeCount):
        * bindings/v8/ScriptProfiler.h:
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
        (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
        * inspector/InspectorMemoryAgent.h:
        (WebCore::InspectorMemoryAgent::create):

2011-12-08  Andreas Kling  <kling@webkit.org>

        RenderObject: Rename styleSlowCase() to styleInRegion().

        Rubber-stamped by David Hyatt.

        * WebCore.exp.in:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleInRegion):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::style):

2011-12-08  Andreas Kling  <kling@webkit.org>

        Optimize RenderObject::containingBlock().
        <http://webkit.org/b/74109>

        Reviewed by David Hyatt.

        When climbing the parent chain to locate the containing block-level element,
        use !isRenderBlock() to reject renderers rather than checking against an arbitrary
        list of non-block renderers and then rejecting anything that isn't a block anyway.

        RenderObject::containingBlock() was very hot (2.0%) when scrolling on youtube.com.
        This change takes it down to 1.0% (60% of which is RenderObject::isRenderBlock().)

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock):

2011-12-08  Nayan Kumar K  <nayankk@motorola.com>

        Define DEBUG_GL_COMMANDS only in debug builds.
        https://bugs.webkit.org/show_bug.cgi?id=74083

        Reviewed by Noam Rosenthal.

        No tests added as this change does not affect functionality.

        * platform/graphics/opengl/TextureMapperGL.cpp:

2011-12-08  Ryosuke Niwa  <rniwa@webkit.org>

        CompositeEditCommand should not be kept alive for undo and redo
        https://bugs.webkit.org/show_bug.cgi?id=64414

        Reviewed by Enrica Casucci.

        This patch introduces EditCommandComposition that replaces CompositeEditCommand for
        undo and redo purposes. Furthermore, we now keep a list of commands instead of a tree of commands
        to unapply and reapply edit commands that composes an undoable action.

        Each top-level CompositeEditCommand holds a ref-pointer to EditCommandComposition,
        and applyCommandToComposite adds new SimpleEditCommands to the list.

        * editing/CompositeEditCommand.cpp:
        (WebCore::EditCommandComposition::create):
        (WebCore::EditCommandComposition::doApply): Never used.
        (WebCore::EditCommandComposition::doUnapply):
        (WebCore::EditCommandComposition::doReapply):
        (WebCore::EditCommandComposition::append):
        (WebCore::CompositeEditCommand::~CompositeEditCommand): Add an assertion to ensure we didn't create
        a composition for CompositeEditCommands that have parents.
        (WebCore::CompositeEditCommand::doUnapply): Never used.
        (WebCore::CompositeEditCommand::doReapply): Never used.
        (WebCore::CompositeEditCommand::ensureComposition): Creates and attaches a EditCommandComposition.
        (WebCore::CompositeEditCommand::applyCommandToComposite): Append a SimpleEditCommand to the composition.

        * editing/CompositeEditCommand.h:
        (WebCore::EditCommandComposition::EditCommandComposition):
        (WebCore::CompositeEditCommand::composition):
        (WebCore::toEditCommandComposition):
        (WebCore::toCompositeEditCommand):

        * editing/DeleteButtonController.cpp: Wrap RemoveNodeCommand in RemoveTargetCommand since top level
        commands are now required to be a CompositeEditCommand.
        (WebCore::RemoveTargetCommand::create):
        (WebCore::RemoveTargetCommand::RemoveTargetCommand):
        (WebCore::RemoveTargetCommand::doApply):
        (WebCore::DeleteButtonController::deleteTarget):

        * editing/EditCommand.cpp:
        (WebCore::EditCommand::EditCommand): New constructor; used by EditCommandComposition.
        (WebCore::EditCommand::apply): Create a composition for a top-level command.
        (WebCore::EditCommand::unapply): Since we clear m_parent of SimpleEditCommand as soon as they are
        added to EditCommandComposition, we can't use isTopLevelCommand() to differentiate EditCommandComposition
        from SimpleEditCommand. Use isEditCommandComposition() instead.
        (WebCore::EditCommand::reapply): Ditto.
        (WebCore::compositionIfPossible):
        (WebCore::EditCommand::setStartingSelection): Update the starting selection of EditCommandComposition. 
        (WebCore::EditCommand::setEndingSelection): Ditto.
        (WebCore::EditCommand::setParent): Accepts a null pointer in order to avoid keeping a stale pointer in
        m_parent inside SimpleEditCommand when CompositeEditCommand goes away.

        * editing/EditCommand.h:
        (WebCore::EditCommand::isSimpleEditCommand):
        (WebCore::EditCommand::isCompositeEditCommand):
        (WebCore::EditCommand::isEditCommandComposition):
        (WebCore::EditCommand::parent):
        (WebCore::toSimpleEditCommand):

        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing): Register a EditCommandComposition, instead of a CompositeEditCommand
        to the undo stack.
        (WebCore::Editor::unappliedEditing): Unapplied or reapplied commands are now always EditCommandComposition.
        (WebCore::Editor::reappliedEditing):
        * editing/Editor.h:

2011-12-08  Stephen White  <senorblanco@chromium.org>

        Add missing V8 bindings to get CSS_FILTERS to compile in Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=74091

        Reviewed by Kenneth Russell.

        Will be covered by tests in css3/filters (when enabled).

        * bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp: Added.
        (WebCore::V8WebKitCSSFilterValue::indexedPropertyGetter):

2011-12-08  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=73348
        REGRESSION: Assertion when loading a page with a scrollable RenderLayer 
        -and corresponding-
        <rdar://problem/10518918>

        Reviewed by Darin Adler.

        The main problem here is that certain delegate calls into AppKit for overlay 
        scrollbars can cause AppKit to call back into WebKit looking for more information. 
        The assertion happens when WebKit tells AppKit that the scroll position has 
        changed during a layout, and AppKit immediately asks WebKit to convert some 
        coordinates, and WebKit asserts that you shouldn't do that while a layout is still 
        happening. It's still possible for AppKit to call this delegate method while a 
        layout is happening, and we should guard against that. This patch, however, does 
        not do that.

        This change instead addresses the reason this assertion started happening much 
        more frequently recently, which is that it recently became true that 
        notifyPositionChanged() can be called when the position has not changed. To fix 
        the assertion AND the bug that that change was intended to fix, we can just make 
        sure that either the position OR the scroll origin has changed before calling 
        notifyPositionChanged(). 

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):

        Call resetScrollOriginChanged() after the scroll instead of before so that we know 
        whether or not to call notifyPositionChanged().
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars):

2011-12-08  Kaustubh Atrawalkar  <kaustubh@motorola.com>

        Fixing support for static conditional overloaded functions.
        https://bugs.webkit.org/show_bug.cgi?id=74068

        Reviewed by Adam Barth.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation): Pushing "static" keyword after condition "#if".
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::overloadedMethod1): Added newly generated bindings.
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        (webkit_dom_test_obj_overloaded_method1):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
        (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
        (WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
        (-[DOMTestObj overloadedMethod1:]):
        * bindings/scripts/test/TestObj.idl: Ditto.
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
        (WebCore::TestObjInternal::overloadedMethod11Callback):
        (WebCore::TestObjInternal::overloadedMethod12Callback):
        (WebCore::TestObjInternal::overloadedMethod1Callback):
        (WebCore::ConfigureV8TestObjTemplate):

2011-12-08  Andreas Kling  <kling@webkit.org>

        Remove EventListenerMap destructor.
        <http://webkit.org/b/74096>

        Reviewed by Darin Adler.

        Let the compiler generate ~EventListenerMap(). We only needed it when the hash map
        was managing raw pointers.

        We're losing the no-iterators assertion from clear() by doing this, but that was
        superfluous to begin with - we were just using it to avoid duplicating code.

        * dom/EventListenerMap.cpp:
        * dom/EventListenerMap.h:

2011-12-08  Takashi Toyoshima  <toyoshim@chromium.org>

        Provide more specific error description for SocketStreamError.
        https://bugs.webkit.org/show_bug.cgi?id=74066

        Reviewed by Martin Robinson.

        No new tests because this change just improve error messages for unexpected failures.

        * platform/network/soup/SocketStreamError.h: Add an argument for passing error description.
        (WebCore::SocketStreamError::SocketStreamError):
        * platform/network/soup/SocketStreamHandleSoup.cpp: Add error description for SocketStreamError.
        (WebCore::SocketStreamHandle::connected):
        (WebCore::SocketStreamHandle::readBytes):
        (WebCore::SocketStreamHandle::platformSend):
        (WebCore::SocketStreamHandle::platformClose):

2011-12-08  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions][CSSOM] Implement NamedFlow interface
        https://bugs.webkit.org/show_bug.cgi?id=66642

        Reviewed by David Hyatt.

        Add WebKitNamedFlow to support the NamedFlow interface. No methods are
        yet implemented on this interface. The NamedFlow object is a live object.
        The first time user asks for it, it gets a valid JS object whose properties
        will reflect the changes to the flow thread.

        Tests: fast/regions/webkit-named-flow-existing-flow.html
               fast/regions/webkit-named-flow-flow-added.html
               fast/regions/webkit-named-flow-modified-flow.html
               fast/regions/webkit-named-flow-non-existing-flow.html
               fast/regions/webkit-named-flow-removed-flow.html
               fast/regions/webkit-named-flow-same-object.html

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/gobject/GNUmakefile.am:
        * dom/DOMAllInOne.cpp:
        * dom/Document.cpp:
        (WebCore::Document::webkitGetFlowByName):
        * dom/Document.h:
        * dom/Document.idl:
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        * dom/WebKitNamedFlow.cpp: Added.
        (WebCore::WebKitNamedFlow::WebKitNamedFlow):
        (WebCore::WebKitNamedFlow::~WebKitNamedFlow):
        * dom/WebKitNamedFlow.h: Added.
        (WebCore::WebKitNamedFlow::create):
        * dom/WebKitNamedFlow.idl: Added.
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::ensureNamedFlow):
        * rendering/RenderFlowThread.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::ensureRenderFlowThreadWithName):
        * rendering/RenderView.h:

2011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r102321.
        http://trac.webkit.org/changeset/102321
        https://bugs.webkit.org/show_bug.cgi?id=74072

        "Breaks all Chromium clobbered builds" (Requested by apavlov_
        on #webkit).

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main):
        * WebCore.gypi:
        * bindings/scripts/generate-bindings.pl:
        * page/DOMWindow.idl:
        * webaudio/DOMWindowWebAudio.idl: Removed.

2011-12-08  Shinya Kawanaka  <shinyak@google.com>

        Refactoring: Editor::requestCheckingFor should take SpellCheckRequest object.
        https://bugs.webkit.org/show_bug.cgi?id=74033

        Reviewed by Hajime Morita.

        SpellChecker::requestCheckingFor takes SpellCheckRequest object in order to make it easy to
        pass necessary information to requestCheckingFor.

        No new tests. Covered by existing tests.

        * editing/Editor.cpp:
        (WebCore::Editor::replaceSelectionWithFragment):
          Uses the new interface.
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
        * editing/SpellChecker.cpp:
        (WebCore::SpellCheckRequest::SpellCheckRequest):
        (WebCore::SpellCheckRequest::~SpellCheckRequest):
        (WebCore::SpellCheckRequest::create):
          Creates a new SpellCheckRequest object.
        (WebCore::SpellChecker::requestCheckingFor):
          Uses the new interface.
        (WebCore::SpellChecker::didCheck):
        * editing/SpellChecker.h:
        (WebCore::SpellCheckRequest::setSequence):
        (WebCore::SpellCheckRequest::sequence):
        (WebCore::SpellCheckRequest::checkingRange):
        (WebCore::SpellCheckRequest::paragraphRange):
        (WebCore::SpellCheckRequest::text):
        (WebCore::SpellCheckRequest::mask):
        (WebCore::SpellCheckRequest::rootEditableElement):

2011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r102323.
        http://trac.webkit.org/changeset/102323
        https://bugs.webkit.org/show_bug.cgi?id=74069

        Caused Chromium and GTK build failure (Requested by bashi on
        #webkit).

        * testing/Internals.cpp:
        (WebCore::Internals::getPageScaleFactor):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-12-08  Fady Samuel  <fsamuel@chromium.org>

        Move scalePageBy from eventSender to window.internals
        https://bugs.webkit.org/show_bug.cgi?id=64512

        Reviewed by Simon Fraser.

        Added setPageScaleFactor to window.internals.
        Renamed window.internals.getPageScaleFactor to window.internals.pageScaleFactor
        to match the webkit style.

        * testing/Internals.cpp:
        (WebCore::Internals::pageScaleFactor):
        (WebCore::Internals::setPageScaleFactor):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-12-08  Kentaro Hara  <haraken@chromium.org>

        Use the [Supplemental] IDL for webaudio attributes in Chromium
        https://bugs.webkit.org/show_bug.cgi?id=73394

        Reviewed by Adam Barth.

        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
        declarations of webaudio from DOMWindow.idl into a new IDL file
        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
        feature (aka a module).

        - This patch changes the build flow of WebCore.gyp as follows:

            Previous build flow:
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl generates .h and .cpp files for $idl;
                }

            New build flow (See the discussions in bug 72138 for more details):
                resolve-supplemental.pl depends on all IDL files;
                resolve-supplemental.pl reads all IDL files;
                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
                resolve-supplemental.pl outputs supplemental_dependency.tmp;
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl reads supplemental_dependency.tmp;
                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
                }

        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
        will be removed after build scripts for all platforms support the [Supplemental] IDL.
        The motivation for the [Supplemented] IDL is as follows:

        In order to support the [Supplemental] IDL, we need to
        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.

        This build flow requires a change on the following build scripts,
        but changing all the build scripts all at once without any regression is too difficult:

            - DerivedSources.make
            - DerivedSources.pri
            - GNUmakefile.am
            - PlatformBlackBerry.cmake
            - UseJSC.cmake
            - UseV8.cmake
            - WebCore.vcproj/MigrateScripts
            - WebCore.vcproj/WebCore.vcproj
            - bindings/gobject/GNUmakefile.am
            - WebCore.gyp/WebCore.gyp

        Thus, we are planning to change the build scripts one by one, which implies that
        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
        in another IDL file somewhere, like this:

            DOMWindowWebAudio.idl:
                interface [
                    Supplemental=DOMWindow
                ] DOMWindowWebAudio {
                    attribute attr1;
                    attribute attr2;
                };

            DOMWindow.idl:
                interface [
                ] DOMWindow {
                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
                    attribute attr3;
                    attribute attr4;
                };

        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:

            - If a given build script supports the [Supplemental] IDL,
            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).

        Tests: webaudio/*

        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
        * WebCore.gypi: Added DOMWindowWebAudio.idl.
        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.

2011-12-07  Yosifumi Inoue  <yosin@chromium.org>

        CSS color gets adjusted for disabled input elements
        https://bugs.webkit.org/show_bug.cgi?id=54643

        Reviewed by Kent Tamura.

        No new tests. covered by existing tests. Need rebasing some existing tests for Chromimum.

        Remove automatic color adjustment for disabled text control for Chromimum.

        * css/themeChromium.css: Add CSS entries for default style for disabled input and textarea elements.
        * WebCore/rendering/RenderTextControl.cpp:
        (disabledTextColor): Removed for PLATFORM(CHROMIUM)
        (RenderTextControl::adjustInnerTextStyle): Don't call disabledTextColor for Chromium.

2011-12-07  Dmitry Lomov  <dslomov@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=74038
        [V8][Chromium] Support legacy argument order in window.postMessage/window.webkitPostMessage.

        Reviewed by David Levin.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::isLegacyTargetOriginDesignation):
        (WebCore::handlePostMessageCallback):

2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>

        Upstream 4 files into WebCore/platform/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=73541

        Reviewed by Antonio Gomes.

        Initial upstream of BlackBerry porting of PlatformScreen/
        SSLKeyGenerator/Sound/Widget, no new tests.

        * PlatformBlackBerry.cmake: Modified to remove empty file "WheelEventBlackBerry.cpp"
        * platform/blackberry/PlatformScreenBlackBerry.cpp: Added.
        (WebCore::screenIsMonochrome):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenDepth):
        (WebCore::screenAvailableRect):
        (WebCore::screenRect):
        * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp: Added.
        (WebCore::getSupportedKeySizes):
        (WebCore::signedPublicKeyAndChallengeString):
        * platform/blackberry/SoundBlackBerry.cpp: Added.
        (WebCore::systemBeep):
        * platform/blackberry/WidgetBlackBerry.cpp: Added.
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        (WebCore::Widget::hide):
        (WebCore::Widget::paint):
        (WebCore::Widget::setCursor):
        (WebCore::Widget::setFocus):
        (WebCore::Widget::setFrameRect):
        (WebCore::Widget::setIsSelected):
        (WebCore::Widget::show):
        (WebCore::Widget::frameRect):

2011-12-07  Kenichi Ishibashi  <bashi@chromium.org>

        Refactor CSSParser::parseFontFaceSrc()
        https://bugs.webkit.org/show_bug.cgi?id=73989

        Reviewed by Darin Adler.

        Test: fast/css/font-face-src-parsing.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFontFaceSrcURI): Added.
        (WebCore::CSSParser::parseFontFaceSrcLocal): Added.
        (WebCore::CSSParser::parseFontFaceSrc): Rewrote.
        * css/CSSParser.h:

2011-12-07  Xingnan Wang  <xingnan.wang@intel.com>

        Implement the SSE optimization in SincResampler::process()
        https://bugs.webkit.org/show_bug.cgi?id=73789

        Reviewed by Benjamin Poulain.

        Here is about 70% performance improvement on the hot spot of sample convolving.

        * platform/audio/SincResampler.cpp:

2011-12-07  Luke Macpherson   <macpherson@chromium.org>

        Implement border image source properties in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=73981

        Reviewed by Andreas Kling.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyBorderImageSource::applyValue):
        (WebCore::ApplyPropertyBorderImageSource::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-12-07  Noel Gordon  <noel.gordon@gmail.com>

        WebPImageDecoder should not do a full image decode if progressive decoding is active
        https://bugs.webkit.org/show_bug.cgi?id=74041

        Reviewed by Adam Barth.

        If the decoder input data state reaches allDataReceived during a progressive image
        decode, the decoder performs a full image decode.

        On allDataReceived, check if we already have a decoder, and if so, continue to run
        the progressive decoder.

        No new tests. No change in behavior.

        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::decode):

2011-12-07  Alexandre Elias  <aelias@google.com>

        [chromium] Add page-scale animation support to Impl thread
        https://bugs.webkit.org/show_bug.cgi?id=72996

        Reviewed by James Robinson.

        This adds a new math helper class to compute the progress of the
        animation, and code in the CCLayerTreeHostImpl to apply the animation
        frame by frame.

        No new tests. (https://bugs.webkit.org/show_bug.cgi?id=71529 filed.)

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCInputHandler.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::animate):
        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp: Added.
        (WebCore::CCPageScaleAnimation::CCPageScaleAnimation):
        (WebCore::CCPageScaleAnimation::initialize):
        (WebCore::CCPageScaleAnimation::zoomTo):
        (WebCore::CCPageScaleAnimation::zoomWithAnchor):
        (WebCore::CCPageScaleAnimation::zoomElsewhere):
        (WebCore::CCPageScaleAnimation::scrollOffsetAtTime):
        (WebCore::CCPageScaleAnimation::pageScaleAtTime):
        (WebCore::CCPageScaleAnimation::isAnimationCompleteAtTime):
        (WebCore::CCPageScaleAnimation::progressRatioForTime):
        (WebCore::CCPageScaleAnimation::scrollOffsetAtRatio):
        (WebCore::CCPageScaleAnimation::pageScaleAtRatio):
        * platform/graphics/chromium/cc/CCPageScaleAnimation.h: Added.
        (WebCore::CCPageScaleAnimation::startTime):
        (WebCore::CCPageScaleAnimation::duration):
        (WebCore::CCPageScaleAnimation::endTime):
        (WebCore::CCPageScaleAnimation::finalScrollOffset):
        (WebCore::CCPageScaleAnimation::finalPageScale):

2011-12-07  Shinya Kawanaka  <shinyak@google.com>

        Editor::markAndReplaceFor should take Range instead of TextCheckingParagraph.
        https://bugs.webkit.org/show_bug.cgi?id=74035

        Reviewed by Hajime Morita.

        Editor::markAndReplaceFor takes chekcing range and paragraph range instead of
        spelling paragraph and grammar paragraph.

        No new tests. Covered by existing tests.

        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        (WebCore::Editor::markAndReplaceFor):
        * editing/Editor.h:
        * editing/TextCheckingHelper.cpp:
        (WebCore::TextCheckingParagraph::TextCheckingParagraph):
        * editing/TextCheckingHelper.h:

2011-12-07  Ami Fischman  <fischman@chromium.org>

        Force LTR layout for media controls even in RTL documents.
        https://bugs.webkit.org/show_bug.cgi?id=74024

        Reviewed by Darin Adler.

        Test: media/controls-layout-direction.html

        * css/mediaControls.css:
        (::-webkit-media-controls):

2011-12-07  Mark Pilgrim  <pilgrim@chromium.org>

        [FileSystem API] requestFileSystem successCallback is required
        https://bugs.webkit.org/show_bug.cgi?id=69637

        Reviewed by Darin Adler.

        * page/DOMWindow.idl: remove [Optional] flag from successCallback parameter

2011-12-07  Leo Yang  <leo.yang@torchmobile.com.cn>

        Upstream the BlackBerry porting of network Resource
        https://bugs.webkit.org/show_bug.cgi?id=73388

        Reviewed by Rob Buis.

        Other main contributors:
        Joe Mason <jmason@rim.com>
        Yong Li  <yoli@rim.com>
        Gary Simmons  <gsimmons@rim.com>
        Genevieve Mak <gmak@rim.com>
        Chris Guan <chris.guan@torchmobile.com.cn>
        Mike Lattanzio <mlattanzio@rim.com>

        Initial upstream, can't be built yet, no new tests.

        * platform/network/blackberry/ResourceError.h: Added.
        * platform/network/blackberry/ResourceErrorBlackBerry.cpp: Added.
        * platform/network/blackberry/ResourceHandleBlackBerry.cpp: Added.
        * platform/network/blackberry/ResourceRequest.h: Added.
        * platform/network/blackberry/ResourceRequestBlackBerry.cpp: Added.
        * platform/network/blackberry/ResourceResponse.h: Added.
        * platform/network/blackberry/ResourceResponseBlackBerry.cpp: Added.

2011-12-07  Fady Samuel  <fsamuel@chromium.org>

        [Chromium] Plumb DPI info into PlatformScreen
        https://bugs.webkit.org/show_bug.cgi?id=70556

        Reviewed by Darin Fisher.

        Make DPI information accessible from WebKit through
        PlatformScreen. This is useful when making scaling 
        computations on various devices (e.g. Viewport meta tag).

        This patch adds DPI plumbing on Chromium Win/Mac/Linux
        platforms.

        * page/Screen.cpp:
        (WebCore::Screen::horizontalDPI):
        (WebCore::Screen::verticalDPI):
        * page/Screen.h:
        * platform/PlatformScreen.h:
        * platform/chromium/PlatformScreenChromium.cpp:
        (WebCore::screenHorizontalDPI):
        (WebCore::screenVerticalDPI):
        * platform/chromium/PlatformSupport.h:
        * platform/efl/PlatformScreenEfl.cpp:
        (WebCore::screenHorizontalDPI):
        (WebCore::screenVerticalDPI):
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::screenHorizontalDPI):
        (WebCore::screenVerticalDPI):
        * platform/mac/PlatformScreenMac.mm:
        (WebCore::screenHorizontalDPI):
        (WebCore::screenVerticalDPI):
        * platform/qt/PlatformScreenQt.cpp:
        (WebCore::screenHorizontalDPI):
        (WebCore::screenVerticalDPI):
        * platform/win/PlatformScreenWin.cpp:
        (WebCore::screenHorizontalDPI):
        (WebCore::screenVerticalDPI):

2011-12-07  Aaron Colwell  <acolwell@chromium.org>

        Revert mixed content handling for video fix and follow-up test expectations & Skipped changes.
        (r101883, r101918, r101927, r101981, r101986, r101997)
        https://bugs.webkit.org/show_bug.cgi?id=72178

        Reviewed by Adam Barth.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willSendRequest):
        * loader/cache/CachedRawResource.cpp:
        * loader/cache/CachedRawResource.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::defaultPriorityForResourceType):
        (WebCore::cachedResourceTypeToTargetType):
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::createResource):
        (WebCore::CachedResourceLoader::checkInsecureContent):
        (WebCore::CachedResourceLoader::canRequest):
        (WebCore::CachedResourceLoader::requestResource):

2011-12-07  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Introduce AssertMatchingEnums.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=65238

        Reviewed by Filip Pizlo.

        Remove switch statement which convert EWK_TOUCH_PointType enum values to
        WebCore::PlatformTouchPoint::State enum values.
        Newly added AssertMatchingEnums.cpp assure that they are equal.

        No new tests, no new functionality.

        * platform/efl/PlatformTouchEventEfl.cpp:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):

2011-12-07  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Clearing root surface should happen after damage tracking
        https://bugs.webkit.org/show_bug.cgi?id=73958

        Reviewed by James Robinson.

        No new semantics, covered by existing layout tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::clearSurfaceForDebug):
        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
        (WebCore::LayerRendererChromium::drawLayersInternal):
        * platform/graphics/chromium/LayerRendererChromium.h:

2011-12-07  Florin Malita  <fmalita@google.com>

        <li value="0"> behaves like <li> (the same for negative numbers)
        https://bugs.webkit.org/show_bug.cgi?id=73911

        Reviewed by Alexey Proskuryakov.

        Allow LI values <= 0 and consolidate the value processing logic.

        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::parseMappedAttribute):
        Delegated value parsing to parseValue().

        (WebCore::HTMLLIElement::attach):
        Ditto. Explicit value null testing is no longer necessary,
        as parseValue's toInt() performs an equivalent check.

        (WebCore::HTMLLIElement::parseValue):
        Consolidated value parsing logic.

        * html/HTMLLIElement.h:

2011-12-07  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Replace bool args in IDBKeyRange private methods with enum
        https://bugs.webkit.org/show_bug.cgi?id=70743

        Reviewed by Tony Chang.

        No new tests - no functional changes.

        * storage/IDBKeyRange.cpp:
        (WebCore::IDBKeyRange::IDBKeyRange):
        (WebCore::IDBKeyRange::bound):
        * storage/IDBKeyRange.h:
        (WebCore::IDBKeyRange::create):
        (WebCore::IDBKeyRange::lowerOpen):
        (WebCore::IDBKeyRange::upperOpen):

2011-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r102267.
        http://trac.webkit.org/changeset/102267
        https://bugs.webkit.org/show_bug.cgi?id=74032

        Breaks build on Chromium Mac Debug (Requested by aklein on
        #webkit).

        * dom/ChildListMutationScope.cpp:
        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::decrementScopingLevel):

2011-12-07  Kentaro Hara  <haraken@chromium.org>

        REGRESSION (r95249): Right side can be truncated when printing
        https://bugs.webkit.org/show_bug.cgi?id=73868

        Reviewed by Darin Adler.

        When we print a page with an overflowed width, the right side of the page
        can be truncated. This is due to a wrong rendering calculation.
        Since 'maximumShrinkFactor' is a ratio based on 'pageSize',
        'maximumShrinkFactor' should multiply (not 'originalPageSize') but 'pageSize'.
        This bug happens if all the following conditions are met:
            - pageLogicalWidth < docLogicalWidth
            - originalPageSize.width * maximumShrinkFactor < docLogicalWidth
            - docLogicalWidth < pageLogicalWidth * maximumShrinkFactor

        Test: printing/width-overflow.html

        * page/FrameView.cpp:
        (WebCore::FrameView::forceLayoutForPagination):

2011-12-07  Yong Li  <yoli@rim.com>

        Defer ScriptExecutionContext::Task's in Document when page loading is deferred.
        Schedule them with timer when page loading is resumed. The tasks will be performed
        in the original order. This fixes the problem that database callbacks could be missed
        when page loading was deferred.
        https://bugs.webkit.org/show_bug.cgi?id=49401
 

        Reviewed by Darin Adler.

        Manual test added: ManualTests/database-callback-deferred.html. 

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::didReceiveTask):
        (WebCore::Document::postTask):
        (WebCore::Document::pendingTasksTimerFired):
        (WebCore::Document::suspendScheduledTasks):
        (WebCore::Document::resumeScheduledTasks):
        * dom/Document.h:
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

2011-12-07  Andreas Kling  <kling@webkit.org>

        RenderObject::style(): Inline early-return condition.
        <http://webkit.org/b/74019>

        Reviewed by Anders Carlsson.

        style() was very hot (6.1%) when scrolling around on youtube.com,
        and 100% of the calls were taking the early return path.

        Inlined the !isRenderFlowThread() check and renamed the function to
        styleSlowCase().

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleSlowCase):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::style):

2011-12-07  Adam Klein  <adamk@chromium.org>

        Use HashMap<Node*, OwnPtr<...>> in ChildListMutationScope
        https://bugs.webkit.org/show_bug.cgi?id=73964

        Reviewed by Ryosuke Niwa.

        No new tests, refactoring only.

        * dom/ChildListMutationScope.cpp:
        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::childAdded):
        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::willRemoveChild):
        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::decrementScopingLevel):

2011-12-07  Andreas Kling  <kling@webkit.org>

        RenderLayer::updateZOrderLists(): Inline early-return condition.
        <http://webkit.org/b/74013>

        Reviewed by Anders Carlsson.

        updateZOrderLists() was hot (1.2%) when scrolling around on youtube.com,
        and 85% of the calls were taking the early return path.

        Inlined the two checks for the early return and renamed the function
        to updateZOrderListsSlowCase(). Also reversed their order to avoid the
        virtual call (RenderObject::isRenderView()) if possible.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateZOrderListsSlowCase):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::updateZOrderLists):

2011-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r102244.
        http://trac.webkit.org/changeset/102244
        https://bugs.webkit.org/show_bug.cgi?id=74016

        caused debug test timeouts (Requested by simonjam on #webkit).

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):

2011-12-07  Adam Klein  <adamk@chromium.org>

        Layout Test inspector/debugger/dom-breakpoints.html fails on chromium linux debug with ENABLE(MUTATION_OBSERVERS)
        https://bugs.webkit.org/show_bug.cgi?id=73919

        Reviewed by Ojan Vafai.

        Use StyleAttributeMutationScope to manage DOM breakpoints for style property changes.

        Instead of calling InspectorInstrumentation::didInvalidateStyleAttr()
        directly in setNeedsStyleRecalc, set a bool in the current
        StyleAttributeMutationScope, and delay the call until the scope's
        counter runs down to zero. This keeps the inspector JS from re-entering
        CSSMutableStyleDeclaration until all StyleAttributeMutationScope work is done.

        Also fix a small bug in StyleAttributeMutationScope, where
        s_shouldDeliver wasn't getting reset properly to false.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):

2011-12-07  Ken Buchanan <kenrb@chromium.org>

        Crash from multicol spans with layers
        https://bugs.webkit.org/show_bug.cgi?id=68030

        Reviewed by David Hyatt.

        The layer tree diverges from the render tree when a span is being split
        between columns. This patch causes the layer tree to be updated when necessary.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitFlow)
        (WebCore::RenderBlock::splitBlocks)

2011-12-07  Alexey Proskuryakov  <ap@apple.com>

        Handling of !important in inline style sets is broken
        https://bugs.webkit.org/show_bug.cgi?id=73941

        Reviewed by Dave Hyatt.

        This behavior was introduced in bug 8223 to match IE and Firefox. But it doesn't appear that we're matching
        any browser today, and CSSOM spec agrees with them.

        * WebCore.exp.in: Don't export CSSStyleDeclaration::setProperty(), no one is using it.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::putDelegate): Use regular
        setProperty(), not the incorrect version that's being removed. Properties set via IDL attributes are never
        important.

        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
        Made the same fix for v8. Why did v8 bindings authors copy/paste the code?!

        * css/CSSStyleDeclaration.cpp:
        * css/CSSStyleDeclaration.h:
        Removed a version of setProperty() that attempted to parse the value and extract !important from it.

        * html/ImageDocument.cpp:
        (WebCore::ImageDocument::resizeImageToFit):
        (WebCore::ImageDocument::restoreImageSize):
        (WebCore::ImageDocument::windowSizeChanged):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        We never needed to use this version of setProperty() here, it was just unnecessarily slower.

2011-12-07  Xianzhu Wang  <wangxianzhu@chromium.org>

        In FontCacheAndroid.cpp should keep the pointer valid returned from CString::data()
        https://bugs.webkit.org/show_bug.cgi?id=73849

        The changed code has been covered by many existing layout tests.

        Reviewed by Adam Barth.

        * platform/graphics/chromium/FontCacheAndroid.cpp:
        (WebCore::FontCache::createFontPlatformData):

2011-12-07  Xiaomei Ji  <xji@chromium.org>

        Turn on move caret by word visually for Windows platform.
        https://bugs.webkit.org/show_bug.cgi?id=59652

        Reviewed by Ryosuke Niwa.

        We already support (arrow key) moving cursor by character in visual order.
        This patch implements (ctrl/alt-arrow) moving cursor by word in visual order (in Windows).
        It matches Firefox's default behavior.

        Without this patch, ctrl(alt for mac)-arrow key or
        selection.modify("move", "left"/"right", "word") moves cursor by word in logical order. 

        IE implements moving cursor by logical order for both arrow key and ctrl-arrow key.
        Firefox implements moving cursor by visual order for both operations.
        From Chromium bug report, native speakers would like moving cursor by visual order since it
        is more intuitive.

        The patch is only enabled for Windows (by EditingBehavior) because current implementation
        matches Windows' native behavior.
        For exmaple, if the logical text is "abc def hij", the cursor positions are
        "|abc |def |hij|" no matter pressing ctrl-left-arrow or ctrl-right-arrow.

        Mac and Linux's native behavior is slightly different. In which, when pressing
        ctrl-left-arrow, the cursor positions are "|abc |def |hij|". When pressing ctrl-right-arrow,
        the cursor positions are "|abc| def| hij|". We will implement it next.

        Test: editing/selection/move-left-right-by-word-mac.html

        * editing/EditingBehavior.h:
        (WebCore::EditingBehavior::shouldMoveLeftRightByWordInVisualOrder):
        * editing/FrameSelection.cpp: Remove experimental enum WebKitVisualWordGranularity.
        (WebCore::FrameSelection::modifyExtendingRight):
        (WebCore::FrameSelection::modifyExtendingForward):
        (WebCore::FrameSelection::modifyMovingRight):
        (WebCore::FrameSelection::modifyMovingForward):
        (WebCore::FrameSelection::modifyExtendingLeft):
        (WebCore::FrameSelection::modifyExtendingBackward):
        (WebCore::FrameSelection::modifyMovingLeft):
        (WebCore::FrameSelection::modifyMovingBackward):
        * editing/TextGranularity.h: Remove experimental enum WebKitVisualWordGranularity.
        * editing/VisibleSelection.cpp: Remove experimental enum WebKitVisualWordGranularity.
        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
        * page/DOMSelection.cpp: Remove experimental experimental flag -webkit-visual-word.
        (WebCore::DOMSelection::modify):

2011-12-07  Jonathan Backer  <backer@chromium.org>

        [chromium] Plumb damage from WebExternalTextureLayer and WebPluginContainer to CCDamageTracker
        https://bugs.webkit.org/show_bug.cgi?id=73485

        Reviewed by Darin Fisher.

        * platform/graphics/chromium/PluginLayerChromium.cpp:
        (WebCore::PluginLayerChromium::updateCompositorResources):
        (WebCore::PluginLayerChromium::invalidateRect):
        * platform/graphics/chromium/PluginLayerChromium.h:

2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>

        Upstream 5 files into WebCore/platform/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=73632

        Reviewed by Rob Buis.

        Initial upstream, no new tests.

        * PlatformBlackBerry.cmake: Remove two empty files from build list.
        * platform/blackberry/PopupMenuBlackBerry.cpp: Added.
        (WebCore::PopupMenuBlackBerry::PopupMenuBlackBerry):
        (WebCore::PopupMenuBlackBerry::~PopupMenuBlackBerry):
        (WebCore::PopupMenuBlackBerry::show):
        (WebCore::PopupMenuBlackBerry::hide):
        (WebCore::PopupMenuBlackBerry::updateFromElement):
        (WebCore::PopupMenuBlackBerry::disconnectClient):
        * platform/blackberry/PopupMenuBlackBerry.h: Added.
        (WebCore::PopupMenuBlackBerry::client):
        * platform/blackberry/ScrollbarThemeBlackBerry.cpp: Added.
        (WebCore::ScrollbarTheme::nativeTheme):
        * platform/blackberry/SearchPopupMenuBlackBerry.cpp: Added.
        (WebCore::SearchPopupMenuBlackBerry::SearchPopupMenuBlackBerry):
        (WebCore::SearchPopupMenuBlackBerry::popupMenu):
        (WebCore::SearchPopupMenuBlackBerry::enabled):
        (WebCore::SearchPopupMenuBlackBerry::saveRecentSearches):
        (WebCore::SearchPopupMenuBlackBerry::loadRecentSearches):
        * platform/blackberry/SearchPopupMenuBlackBerry.h: Added.

2011-12-07  Dan Bernstein  <mitz@apple.com>

        Fixed the definition of BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING from r102246.

        * platform/mac/ThemeMac.mm: Added parentheses.

2011-12-07  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10542095> Focus rings are not drawn around push buttons, radio buttons and checkboxes

        Reviewed by Darin Adler.

        Instead of relying on -setShowsFirstResponder: to make -drawWithFrame:inView: draw the focus
        ring, use -drawFocusRingMaskWithFrame:inView:.

        * platform/mac/ThemeMac.mm:
        (-[NSCell _web_drawFocusRingWithFrame:inView:]): Added. Sets up the focus ring style and a
        transparency layer, then uses -drawFocusRingMaskWithFrame:inView: to draw the focus ring.
        (WebCore::updateStates): Eliminated calls to get and set showsFirstResponder.
        (WebCore::paintCheckbox): Changed to use -_web_drawFocusRingWithFrame:inView:.
        (WebCore::paintRadio): Ditto.
        (WebCore::paintButton): Ditto.

2011-12-07  Brian Salomon  <bsalomon@google.com>

        [CHROMIUM/SKIA] Handle put[Un/Pre]multipliedImageData conversions in Skia rather than ImageBuffer
        https://bugs.webkit.org/show_bug.cgi?id=73953

        Reviewed by Stephen White.

        Tested by existing canvas2d layout tests.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):

2011-12-07  Andreas Kling  <kling@webkit.org>

        Micro-optimize ScrollView::visibleContentRect().
        <http://webkit.org/b/74001>

        Reviewed by Anders Carlsson.

        Reorder the scrollbar exclusion code to minimize the number of virtual calls
        to ScrollableArea::verticalScrollbar(), ScrollableArea::horizontalScrollbar()
        and Scrollbar::isOverlayScrollbar().

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::visibleContentRect):

2011-12-07  Andreas Kling  <kling@webkit.org>

        ApplyPropertyBorderImage: Remove unneeded template argument for mapNinePieceImage().
        <http://webkit.org/b/73998>

        Reviewed by Antti Koivisto.

        Have ApplyPropertyBorderImage call mapNinePieceImage() directly now that it's
        public (instead of passing it as a template argument.)

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyBorderImage::applyValue):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

2011-12-07  Jessie Berlin  <jberlin@apple.com>

        Mac build fix after r102235.

        * WebCore.exp.in:

2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] V8 debug build fixes.

        Reviewed by Tor Arne Vestbø.

        * Target.pri: Add missing files to the build.
        * loader/SubresourceLoader.cpp: Add missing CString.h header file inclusion,
        that is implicitly included with Chromium builds and only needed in ASSERTS
        in debug builds.
        * loader/cache/CachedResource.cpp: Ditto.
        * page/FrameTree.cpp: Ditto.
        * platform/graphics/MediaPlayer.cpp: Ditto.

2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] V8 build fixes.

        Reviewed by Tor Arne Vestbø.

        * Target.pri: Don't load(javascriptcore) if we're building with v8.

2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>

        Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
        https://bugs.webkit.org/show_bug.cgi?id=73986

        Reviewed by Kenneth Rohde Christiansen.

        Just function name change, no new tests.

        * platform/Logging.h:
        * platform/efl/LoggingEfl.cpp:
        (WebCore::initializeLoggingChannelsIfNecessary):
        * platform/gtk/LoggingGtk.cpp:
        (WebCore::initializeLoggingChannelsIfNecessary):
        * platform/mac/LoggingMac.mm:
        (WebCore::initializeLoggingChannelsIfNecessary):
        * platform/qt/LoggingQt.cpp:
        (WebCore::initializeLoggingChannelsIfNecessary):
        * platform/win/LoggingWin.cpp:
        (WebCore::initializeLoggingChannelsIfNecessary):
        * platform/wx/LoggingWx.cpp:
        (WebCore::initializeLoggingChannelsIfNecessary):

2011-12-07  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Add support for background-color in region styling
        https://bugs.webkit.org/show_bug.cgi?id=71488

        Reviewed by David Hyatt.

        Tests: fast/regions/region-style-block-background-color.html
               fast/regions/region-style-block-background-color2.html
               fast/regions/region-style-image-background-color.html
               fast/regions/region-style-inline-background-color.html

        * WebCore.exp.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::RuleData::regionStyleRule):
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        (WebCore::CSSStyleSelector::matchRules):
        (WebCore::CSSStyleSelector::matchAllRules):
        (WebCore::CSSStyleSelector::initForRegionStyling):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::RuleData::RuleData):
        (WebCore::RuleSet::RuleSet):
        (WebCore::RuleSet::addToRuleSet):
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::isValidRegionStyleProperty):
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::setRegionForStyling):
        (WebCore::CSSStyleSelector::regionForStyling):
        (WebCore::CSSStyleSelector::applyPropertyToRegionStyle):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::clearRenderRegionRangeMap):
        (WebCore::RenderFlowThread::~RenderFlowThread):
        (WebCore::RenderFlowThread::layout):
        (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
        (WebCore::RenderFlowThread::setRegionRangeForBox):
        * rendering/RenderFlowThread.h:
        * rendering/RenderLayer.cpp:
        (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
        (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
        (WebCore::RenderLayer::paint):
        (WebCore::RenderLayer::hitTest):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::style):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::canHaveRegionStyle):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::layout):
        (WebCore::RenderRegion::renderObjectRegionStyle):
        (WebCore::RenderRegion::computeStyleInRegion):
        (WebCore::RenderRegion::clearObjectStyleInRegion):
        * rendering/RenderRegion.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        * rendering/RenderView.h:
        (WebCore::RenderView::currentRenderRegion):
        (WebCore::RenderView::setCurrentRenderRegion):

2011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Extract default call stack creation and check for front-end from console.
        https://bugs.webkit.org/show_bug.cgi?id=73566

        Reviewed by Yury Semikhatsky.

        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        * bindings/js/ScriptCallStackFactory.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionCallback):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        * bindings/v8/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        * bindings/v8/ScriptCallStackFactory.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
        * inspector/WorkerInspectorController.h:
        (WebCore::WorkerInspectorController::hasFrontend):
        * page/Console.cpp:
        * page/Console.h:

2011-12-07  Shinya Kawanaka  <shinyak@google.com>

        Internals should have a method to reutrn the max sequence number of spellcheck reqeust.
        https://bugs.webkit.org/show_bug.cgi?id=73511

        Reviewed by Hajime Morita.

        Internal state of SpellChecker should be able to be exposed for testing SpellChecker.
        This patch will enable us to know asynchronous spellcheck has finished or not.

        Test: editing/spelling/spellcheck-sequencenum.html

        * editing/SpellChecker.cpp:
        (WebCore::SpellChecker::SpellChecker):
        (WebCore::SpellChecker::createRequest):
        (WebCore::SpellChecker::didCheck):
        * editing/SpellChecker.h:
        (WebCore::SpellChecker::lastRequestSequence):
          Interface to take SpellCheck sequence numbers.
        (WebCore::SpellChecker::lastProcessedSequence): ditto.
        * testing/Internals.cpp:
        (WebCore::spellchecker):
        (WebCore::Internals::lastSpellCheckRequestSequence):
        (WebCore::Internals::lastSpellCheckProcessedSequence):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-12-07  Ryosuke Niwa  <rniwa@webkit.org>

        TypingCommand duplicates code to obtain the last typing command
        https://bugs.webkit.org/show_bug.cgi?id=73984

        Reviewed by Kent Tamura.

        Extracted lastTypingCommandIfStillOpenForTyping out of isOpenForMoreTypingCommand
        and a bunch of TypingCommand static member functions.

        Also made more member functions of TypingCommand private.

        * editing/Editor.cpp:
        (WebCore::Editor::setComposition):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::setSelection):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteSelection):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::insertLineBreak):
        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
        (WebCore::TypingCommand::insertParagraphSeparator):
        (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
        (WebCore::TypingCommand::closeTyping):
        * editing/TypingCommand.h:
        (WebCore::TypingCommand::isOpenForMoreTyping):
        (WebCore::TypingCommand::closeTyping):

2011-12-06  Mary Wu  <mary.wu@torchmobile.com.cn>

        upstream BlackBerry porting of KURL/Logging
        https://bugs.webkit.org/show_bug.cgi?id=73524

        Reviewed by Antonio Gomes.

        * platform/blackberry/KURLBlackBerry.cpp: Added.
        (WebCore::KURL::fileSystemPath):
        * platform/blackberry/LoggingBlackBerry.cpp: Added.
        (WebCore::initializeWithUserDefault):
        (WebCore::InitializeLoggingChannelsIfNecessary):

2011-12-06  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Remove redundant files in PlatformBlackBerry.cmake
        https://bugs.webkit.org/show_bug.cgi?id=73976

        Reviewed by Antonio Gomes.

        The listing of the following files in PlatformBlackBerry.cmake are redundant. They should be removed.
        platform/network/blackberry/MultipartResponseDelegate.cpp
        platform/network/blackberry/NetworkManager.cpp
        platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
        platform/network/blackberry/ResourceErrorBlackBerry.cpp
        platform/network/blackberry/ResourceRequestBlackBerry.cpp

        * PlatformBlackBerry.cmake:

2011-12-06  Shinya Kawanaka  <shinyak@google.com>

        Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.
        https://bugs.webkit.org/show_bug.cgi?id=73628

        Reviewed by Hajime Morita.

        Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges.

        No new tests. covered by existing tests.

        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
          Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor.
        (WebCore::Editor::markAndReplaceFor):
        * editing/Editor.h:

2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>

        Avoid calling calculateRects in RenderLayer::paintLayer when the rectangles are not needed
        https://bugs.webkit.org/show_bug.cgi?id=73754

        Reviewed by Simon Fraser.

        Performance change, no change in behavior.

        RenderLayer::paintLayer can easily be called a million time when scrolling on a big table with
        td { overflow: hidden; }. We would spend a lot of time recomputing the rectangles that we never
        unused for painting as our layer was not self-painting (clipping layer only) and we did not paint
        some overlay scrollbars.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        Simplified and moved the shouldPaint logic earlier in the function. Now the branches
        are checking the same boolean which makes the logic more obvious. A consequence of
        filling shouldPaint earlier is that we call |calculateRects| only if there is a chance
        the rectangles will used. Also cached the result of isSelfPaintingLayer() in a local
        variable (isSelfPaintingLayer() is fairly expensive due to several virtual calls).

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        For coherency, applied the same optimizations here too: added an early return instead
        of conditionaly call |calculateRects| as we don't have to restore any clip.

2011-12-06  Benjamin Poulain  <benjamin@webkit.org>

        Simplify KURL's checkEncodedString()
        https://bugs.webkit.org/show_bug.cgi?id=73890

        Reviewed by Andreas Kling.

        The Macro UNUSED_PARAM is not supposed to be used for this case,
        use ASSERT_UNUSED instead.

        * platform/KURL.cpp:
        (WebCore::checkEncodedString):

2011-12-06  Ryosuke Niwa  <rniwa@webkit.org>

        The code to create a NodeListsNodeData is duplicated everywhere
        https://bugs.webkit.org/show_bug.cgi?id=73961

        Reviewed by Darin Adler.

        Extracted the logic to create NodeListsNodeData as NodeRareData::ensureNodeLists.

        * dom/Document.cpp:
        (WebCore::Document::getItems):
        * dom/Node.cpp:
        (WebCore::Node::childNodes):
        (WebCore::Node::registerDynamicNodeList):
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        (WebCore::Node::getElementsByName):
        (WebCore::Node::getElementsByClassName):
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::ensureNodeLists):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::labels):

2011-12-06  Leo Yang  <leo.yang@torchmobile.com.cn>

        Upstream about: feature in WebKit/blackberry/WebCoreSupport/
        https://bugs.webkit.org/show_bug.cgi?id=73612

        Reviewed by Antonio Gomes.

        * PlatformBlackBerry.cmake: Move platform/network/blackberry/AboutData.{h, cpp}
                                    to WebKit/blackberry/WebCoreSupport

2011-12-06  Benjamin Poulain  <bpoulain@apple.com>

        WebKit Mac does not build without CONTEXT MENU
        https://bugs.webkit.org/show_bug.cgi?id=73962

        Reviewed by Pavel Feldman.

        In the patch r100903, the symbols were exported under ENABLE(CONTEXT_MENUS)
        because the feature is triggered from the menus.

        The implementation has no dependency on the context menu but is necessary to build
        when the inspector is enabled.
        This patch moves the exported symbols from ENABLE(CONTEXT_MENUS) to ENABLE(INSPECTOR).

        * WebCore.exp.in:

2011-12-06  Adrienne Walker  <enne@google.com>

        [chromium] setNeedsCommit on non-composited host layers should trigger commit
        https://bugs.webkit.org/show_bug.cgi?id=73711

        Reviewed by James Robinson.

        Pipe non-composited content host syncs to setNeedsCommit.

        Since now the NonCompositedContentHost generates setNeedsCommit, don't
        call it unnecessarily, e.g. calling setBackgroundColor to the same
        color each frame should not retrigger more commits.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setAnchorPoint):
        (WebCore::GraphicsLayerChromium::setTransform):
        (WebCore::GraphicsLayerChromium::setChildrenTransform):
        (WebCore::GraphicsLayerChromium::setMasksToBounds):
        (WebCore::GraphicsLayerChromium::setBackgroundColor):
        (WebCore::GraphicsLayerChromium::clearBackgroundColor):
        (WebCore::GraphicsLayerChromium::setContentsOpaque):
        (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
        (WebCore::GraphicsLayerChromium::setOpacity):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setNeedsCommit):
        (WebCore::LayerChromium::setAnchorPoint):
        (WebCore::LayerChromium::setAnchorPointZ):
        (WebCore::LayerChromium::setBackgroundColor):
        (WebCore::LayerChromium::setMasksToBounds):
        (WebCore::LayerChromium::setMaskLayer):
        (WebCore::LayerChromium::setOpacity):
        (WebCore::LayerChromium::setOpaque):
        (WebCore::LayerChromium::setPosition):
        (WebCore::LayerChromium::setSublayerTransform):
        (WebCore::LayerChromium::setTransform):
        (WebCore::LayerChromium::setScrollPosition):
        (WebCore::LayerChromium::setScrollable):
        (WebCore::LayerChromium::setDoubleSided):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setReplicaLayer):
        * platform/graphics/chromium/NonCompositedContentHost.cpp:
        (WebCore::NonCompositedContentHost::notifySyncRequired):
        * platform/graphics/chromium/NonCompositedContentHost.h:

2011-12-06  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] unknown characters symbol on \n in complex script text (RTL and LTR)
        https://bugs.webkit.org/show_bug.cgi?id=73806

        Reviewed by Tony Chang.

        Sets fMergeNeutralItems to 1 instead of merging script items based on their tags.

        Tests: platform/chromium/fast/text/international/chromium-complex-text-non-printable-expected.html
               platform/chromium/fast/text/international/chromium-complex-text-non-printable.html

        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::fillRuns): Removed a block which merges script items.

2011-12-06  Luke Macpherson   <macpherson@chromium.org>

        Implement remaining border-image and webkit-maskbox-image properties in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=73391

        Reviewed by Hajime Morita.

        No new tests / refacoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyBorderImageModifier::getValue):
        (WebCore::ApplyPropertyBorderImageModifier::setValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyValue):
        (WebCore::ApplyPropertyBorderImageModifier::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSStyleSelector.h:

2011-12-06  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: introduce a memory agent stub.
        https://bugs.webkit.org/show_bug.cgi?id=73930

        Reviewed by Timothy Hatcher.

        We'd like to experiment with the memory stats and hence need a
        nice home for that. Adding this undocumented agent / domain for now.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptProfiler.h:
        (WebCore::ScriptProfiler::nodeCount):
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::nodeCount):
        * bindings/v8/ScriptProfiler.h:
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorMemoryAgent.cpp: Added.
        (WebCore::InspectorMemoryAgent::~InspectorMemoryAgent):
        (WebCore::InspectorMemoryAgent::getNodeCounter):
        (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
        * inspector/InspectorMemoryAgent.h: Added.
        (WebCore::InspectorMemoryAgent::create):

2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>

        Unreviewed build fix after 102183.

        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::initialGridTrackValue):
        Use DEFINE_STATIC_LOCAL to avoid having an exit-time destructor.

2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>

        Inline RenderObject::view()
        https://bugs.webkit.org/show_bug.cgi?id=73733

        Reviewed by Darin Adler.

        Micro-performance optimization, no change in behavior.

        RenderObject::view() is super hot and is taking ~4-5% of the time in some
        benchmarks as it is called several hundred thousands times. For some reason,
        the compiler did not inline it even though it is very simple in release builds.

        * WebCore.exp.in: Removed RenderObject::view() as it is inlined now.

        * rendering/RenderObject.cpp: Moved the implementation from here ...
        * rendering/RenderView.h:
        (WebCore::RenderObject::view): ... to here to avoid a cyclic
        dependency between RenderObject and RenderView. Also marked the
        function as ALWAYS_INLINE.

        * rendering/RenderObject.h:
        * rendering/svg/RenderSVGResourceContainer.cpp:
        Added #include "RenderView.h" as the code checks for view() during repaint.

2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>

        CSS Grid Layout: Add support for parsing multiple grid-columns or grid-rows
        https://bugs.webkit.org/show_bug.cgi?id=73272

        Reviewed by Tony Chang.

        Test: fast/css-grid-layout/grid-columns-rows-get-set-multiple.html

        Updated our supported syntax to match the following:
        <track-list> := [ <track-breadth> ]+ | 'none'
        <track-breadth> := <length> | <percentage> | 'auto'
        (the naming loosely matches the specification)

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForGridTrackBreadth): Added function to handle a breadth
        (extended with 'auto' that the spec puts in <track-minmax>).

        (WebCore::valueForGridTrackList): Create a space seperated list of
        track breadth or none.

        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated
        to use the new functions.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseGridTrackList): Extended the function to
        match the new syntax.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Removed our
        simple implementation. Replaced by the CSSStyleSelector functions.

        * css/CSSStyleSelector.cpp:
        (WebCore::createGridTrackBreadth):
        (WebCore::createGridTrackList):
        Added those 2 functions to convert the CSSPrimitiveValue to a Vector
        as expected by RenderStyle.

        (WebCore::CSSStyleSelector::applyProperty): Added our 2 properties
        now that it is not handled by CSSStyleApplyProperty.

        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::gridColumns):
        (WebCore::InheritedFlags::gridRows):
        (WebCore::InheritedFlags::setGridColumns):
        (WebCore::InheritedFlags::setGridRows):
        (WebCore::InheritedFlags::initialGridColumns):
        (WebCore::InheritedFlags::initialGridRows):
        Updated the previous methods to take a Vector of Length.

        (WebCore::InheritedFlags::initialGridTrackValue):
        Needed function to return a Vector with one 'none' Length (the initial
        value per the specification).

        * rendering/style/StyleGridData.h: Updated to use a Vector.

2011-12-06  David Reveman  <reveman@chromium.org>

        [Chromium] Implement tile-sized painting using SkPicture.
        https://bugs.webkit.org/show_bug.cgi?id=71869

        Reviewed by James Robinson.

        Add texture uploader that paints tile-sized chunks using SkPicture
        recording and playback. Expose setting which allows this texture
        updater to be enabled.

        No new tests. Covered by existing tests.

        * WebCore.gypi:
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: Added.
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::Texture):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::create):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::BitmapSkPictureCanvasLayerTextureUpdater):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::~BitmapSkPictureCanvasLayerTextureUpdater):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::createTexture):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::paintContentsRect):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::updateTextureRect):
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: Added.
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::orientation):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::createTextureUpdater):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):

2011-12-06  Adrienne Walker  <enne@google.com>

        [chromium] Don't crash if tile upload happens without painting first
        https://bugs.webkit.org/show_bug.cgi?id=73939

        Reviewed by James Robinson.

        Remove at least one place (in ImageLayerChromium) where this could
        happen.

        Although this shouldn't happen, we should be robust to it in the
        chance that other code causes it to.

        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::updateCompositorResources):

2011-12-06  Ruben  <chromium@hybridsource.org>

        Enable web audio by default on non-Mac POSIX platforms
        https://bugs.webkit.org/show_bug.cgi?id=73491

        Reviewed by Tony Chang.

        No new tests, just changing gyp includes.

        * WebCore.gyp/WebCore.gyp:

2011-12-06  Benjamin Poulain  <benjamin@webkit.org>

        Put length in its own variable in KURL copyASCII
        https://bugs.webkit.org/show_bug.cgi?id=73928

        Reviewed by Darin Adler.

        * platform/KURL.cpp:
        (WebCore::copyASCII):

2011-12-06  Dana Jansens  <danakj@chromium.org>

        [chromium] Set opaque flag for ImageLayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=72964

        Reviewed by James Robinson.

        Unit test in tests/ImageLayerChromiumTest.cpp.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToImage):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore::GraphicsLayerChromium::contentsLayer):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::setContents):

2011-12-06  Alexandre Elias  <aelias@google.com>

        [chromium] Apply sent deltas on finishCommit
        https://bugs.webkit.org/show_bug.cgi?id=73884

        Reviewed by James Robinson.

        This moves scroll and pageScale "sent" deltas to be applied to
        the layer at the end of the commit, instead of the beginning.

        This has several advantages, especially for page scale:
        - When pageScale changes, no longer any need to change the scroll's
        coordinate space at beginning of commit, which is complex and prone to
        bugs (this fixes a problem where we were forgetting to modify the
        scrollPosition before).
        - No need for non-commit-related code to consider the "sent" values.
        m_pageScale is now always the content scale factor, and
        m_pageScaleDelta is the scale to be on the impl-side matrix.
        - This will make it easy to send arbitrary fake or future delta
        values for example while pinch zooming out.

        The scroll logic is similarly altered for consistency's sake.  Note that
        I also moved the tree synchronize to the beginning of finishCommit
        in order to avoid having to change the pageScale coordinate space of
        sentScrollDelta in adjustScrollsForPageScaleChange().

        No new tests. (Refactoring of existing code.)

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
        (WebCore::CCLayerTreeHostImpl::applyPageScaleDeltaToScrollLayer):
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):

2011-12-06  Gavin Barraclough  <barraclough@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=68328
        The generator and intrinsic fields in HashTableValue/HashEntry and associated structures and methods are redundant

        Reviewed by Geoff Garen.

        Intrinsic is no longer in the DFG namespace, is always in the
        hash table. Removed ThunkGenerator.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHashTable):

2011-12-06  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r102091.
        http://trac.webkit.org/changeset/102091
        https://bugs.webkit.org/show_bug.cgi?id=73711

        Caused Clang Linux compile failure.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setAnchorPoint):
        (WebCore::GraphicsLayerChromium::setTransform):
        (WebCore::GraphicsLayerChromium::setChildrenTransform):
        (WebCore::GraphicsLayerChromium::setMasksToBounds):
        (WebCore::GraphicsLayerChromium::setBackgroundColor):
        (WebCore::GraphicsLayerChromium::clearBackgroundColor):
        (WebCore::GraphicsLayerChromium::setContentsOpaque):
        (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
        (WebCore::GraphicsLayerChromium::setOpacity):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setNeedsCommit):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setAnchorPoint):
        (WebCore::LayerChromium::setAnchorPointZ):
        (WebCore::LayerChromium::setBackgroundColor):
        (WebCore::LayerChromium::setMasksToBounds):
        (WebCore::LayerChromium::setMaskLayer):
        (WebCore::LayerChromium::setOpacity):
        (WebCore::LayerChromium::setOpaque):
        (WebCore::LayerChromium::setPosition):
        (WebCore::LayerChromium::setSublayerTransform):
        (WebCore::LayerChromium::setTransform):
        (WebCore::LayerChromium::setScrollPosition):
        (WebCore::LayerChromium::setScrollable):
        (WebCore::LayerChromium::setDoubleSided):
        (WebCore::LayerChromium::setReplicaLayer):
        * platform/graphics/chromium/NonCompositedContentHost.cpp:
        (WebCore::NonCompositedContentHost::notifySyncRequired):
        * platform/graphics/chromium/NonCompositedContentHost.h:

2011-12-06  Dana Jansens  <danakj@chromium.org>

        [Chromium] Make root layer always opaque
        https://bugs.webkit.org/show_bug.cgi?id=70564

        Reviewed by James Robinson.

        * platform/graphics/chromium/NonCompositedContentHost.cpp:
        (WebCore::NonCompositedContentHost::NonCompositedContentHost):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::draw):

2011-12-06  Noel Gordon  <noel.gordon@gmail.com>

        WebPImageDecoder computes image width and height multiple times
        https://bugs.webkit.org/show_bug.cgi?id=73796

        Reviewed by Adam Barth.

        Once sufficient image data arrives, we can compute the decoded image height
        and width from the WEBP image header data.

        From then on, the decoded image size is known so there's no need to re-read
        it from the WEBP image header again.

        No change in behavior, so no new tests.

        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::decode):

2011-12-06  Mike Reed  <reed@google.com>

        optimize TransformationMatrix::scale by not calling through to generic multiply
        https://bugs.webkit.org/show_bug.cgi?id=73830

        Reviewed by Kenneth Russell.

        No new tests. Optimization only, existing tests exercise the code

        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::TransformationMatrix::scaleNonUniform):
        (WebCore::TransformationMatrix::scale3d):

2011-12-06  Eric Carlson  <eric.carlson@apple.com>

        Revert WebCore track Settings changes made in r101977
        https://bugs.webkit.org/show_bug.cgi?id=73879

        Reviewed by Sam Weinig.

        No new tests yet, still nothing to test.

        * page/Settings.cpp: Move the preference setters back into the .h file.
        * page/Settings.h:
        (WebCore::Settings::setShouldDisplaySubtitles):
        (WebCore::Settings::setShouldDisplayCaptions):
        (WebCore::Settings::setShouldDisplayTextDescriptions):

2011-12-06  Andreas Kling  <kling@webkit.org>

        MediaList: Remove constructor that takes a CSSImportRule*.
        <http://webkit.org/b/73833>

        Reviewed by Antti Koivisto.

        * css/MediaList.h:
        * css/MediaList.cpp:

            Remove MediaList(CSSImportRule*, ...) constructor.

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::CSSImportRule):

            Have CSSImportRule construct its MediaList by passing the parent
            style sheet, which is exactly what the old constructor accomplished.
            Also assert that we're always created with a non-null parent sheet.

2011-12-06  Jarred Nicholls  <jarred@sencha.com>

        getComputedStyle returns wrong value for margin-*
        https://bugs.webkit.org/show_bug.cgi?id=73334

        margin-* getComputedStyle values should return the "used" absolute value when there is a renderer
        and the specified value is relative (percentage, auto, etc.).
        When there is no renderer, the specified value should be returned.
        See http://dev.w3.org/csswg/cssom/#resolved-values.

        Reviewed by Darin Adler.

        Test: fast/css/getComputedStyle/getComputedStyle-resolved-values.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2011-12-06  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (WebKit2): Kill ring is not cleared when selection changes
        https://bugs.webkit.org/show_bug.cgi?id=73888
        <rdar://problem/10532310>

        Reviewed by Mark Rowe.

        Test: editing/pasteboard/emacs-ctrl-k-with-move.html

        * editing/Editor.cpp: (WebCore::Editor::respondToChangedSelection): Moved the code to clear
        kill ring from Mac WebKit, as it's needed in all Mac ports at least.

2011-12-06  Darin Adler  <darin@apple.com>

        Use HashMap<OwnPtr> in CollectionCache
        https://bugs.webkit.org/show_bug.cgi?id=73784

        Reviewed by Andreas Kling.

        * html/CollectionCache.cpp:
        (WebCore::CollectionCache::copyCacheMap): Use adoptPtr.
        (WebCore::CollectionCache::reset): Removed now-unneeded calls to deleteAllValues.
        (WebCore::append): Added. Helper function for appending elements to the maps from
        the collection cache.

        * html/CollectionCache.h: Changed mapped type in NodeCacheMap to OwnPtr.
        Added append function.

        * html/HTMLCollection.cpp:
        (WebCore::nameShouldBeVisibleInDocumentAll): Added, to factor out common code in
        two functions below.
        (WebCore::HTMLCollection::checkForNameMatch): Changed to call nameShouldBeVisibleInDocumentAll.
        (WebCore::HTMLCollection::updateNameCache): Ditto. Also updated cache code to use the append
        function, so it will work with OwnPtr. Also eliminated an unneeded get call before
        each hash table add; we do both at once in the new append function.
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::updateNameCache): More of the same.

2011-12-06  Yury Semikhatsky  <yurys@chromium.org>

        [Chromium] Web Inspector: getFunctionLocation should return scriptId as String not as int
        https://bugs.webkit.org/show_bug.cgi?id=73892

        Reviewed by Pavel Feldman.

        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::functionLocationCallback): scriptId should be a string not a number
        * inspector/Inspector.json: removed unused parameter

2011-11-21  Balazs Kelemen  <kbalazs@webkit.org>

        Enable ParallelJobs by default
        https://bugs.webkit.org/show_bug.cgi?id=70032

        Reviewed by Zoltan Herczeg.

        Covered by existing tests.

        According to measurements on Mac and Linux it is a
        considerable speedup for SVG on multicore.

        Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
        by qualifying ParallelJobs with the WTF namespace (otherwise
        MSVC believes it belongs to WebCore which is likely a compiler bug).

        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
        (WebCore::FEConvolveMatrix::platformApplySoftware):
        * platform/graphics/filters/FEConvolveMatrix.h:
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::platformApplyWorker):
        (WebCore::FEGaussianBlur::platformApply):
        * platform/graphics/filters/FEGaussianBlur.h:
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::platformApplyGenericWorker):
        (WebCore::FELighting::platformApplyGeneric):
        * platform/graphics/filters/FELighting.h:
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::platformApplyWorker):
        (WebCore::FEMorphology::platformApply):
        * platform/graphics/filters/FEMorphology.h:
        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::fillRegionWorker):
        (WebCore::FETurbulence::platformApplySoftware):
        * platform/graphics/filters/FETurbulence.h:
        * platform/graphics/filters/arm/FELightingNEON.cpp:
        (WebCore::FELighting::platformApplyNeonWorker):
        * platform/graphics/filters/arm/FELightingNEON.h:
        (WebCore::FELighting::platformApplyNeon):

2011-12-06  Andreas Kling  <kling@webkit.org>

        Unreviewed assertion fix for r102123.

        * platform/KURL.cpp:
        (WebCore::checkEncodedString):

2011-12-06  Benjamin Poulain  <benjamin@webkit.org>

        Simplify KURL's checkEncodedString()
        https://bugs.webkit.org/show_bug.cgi?id=73890

        Reviewed by Andreas Kling.

        The method was reimplementing String::containsOnlyASCII().
        Use the method from String and we can remove the #if NDEBUG.

        * platform/KURL.cpp:
        (WebCore::checkEncodedString):

2011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r102111.
        http://trac.webkit.org/changeset/102111
        https://bugs.webkit.org/show_bug.cgi?id=73902

        Breaks compilation (Requested by vsevik on #webkit).

        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/Editor.h:

2011-12-06  Hajime Morrita  <morrita@chromium.org>

        [Refactoring] Accessing Node::m_document should be minimized.
        https://bugs.webkit.org/show_bug.cgi?id=73800

        Reviewed by Kent Tamura.

        No new tests. No behavioral change.

        Replaced m_document reference with the document() accessor
        or temporaril variables. This is a preparation for using
        m_document space to point a shadow root pointer.

        * dom/Document.h:
        (WebCore::Node::Node):
        * dom/Node.cpp:
        (WebCore::Node::~Node):

2011-12-06  Shinya Kawanaka  <shinyak@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=73889
        TextCheckingParagraph::offsetTo should not have a side effect.

        Reviewed by Hajime Morita.

        Since TextCheckingParagraph::offsetTo had a side effect, its cache often became inconsistent.
        This is likely to cause a bug when changing SpellChecker and Editor.

        No new tests. Covered by existing tests.

        * editing/TextCheckingHelper.cpp:
        (WebCore::TextCheckingParagraph::offsetTo):

2011-12-06  Eric Penner  <epenner@google.com>

        [chromium] Set texture limits as multiples of viewport size instead of hardcoded values
        https://bugs.webkit.org/show_bug.cgi?id=72202

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerRendererChromium.cpp: 
        (WebCore::LayerRendererChromium::drawLayers): added viewport param
        (WebCore::LayerRendererChromium::initializeSharedObjects): ditto 
        * platform/graphics/chromium/TextureManager.cpp: 
        (WebCore::TextureManager::highLimitBytes): calculated based on viewport
        (WebCore::TextureManager::reclaimLimitBytes): ditto
        (WebCore::TextureManager::lowLimitBytes): ditto
        (WebCore::TextureManager::TextureManager): added viewport param
        (WebCore::TextureManager::setMaxMemoryLimitBytes): changed name
        (WebCore::TextureManager::setPreferredMemoryLimitBytes): added function
        (WebCore::TextureManager::requestTexture): added viewport param
        * platform/graphics/chromium/TextureManager.h: ditto
        (WebCore::TextureManager::create): ditto
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: ditto
        (WebCore::CCLayerTreeHost::initialize): ditto
        (WebCore::CCLayerTreeHost::beginCommitOnImplThread): ditto
        (WebCore::CCLayerTreeHost::setViewport): ditto
        (WebCore::CCLayerTreeHost::setVisible): ditto
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread): ditto

2011-12-06  Huang Dongsung  <luxtella@company100.net>

        [TexMap][QT] Draw the borders of media and webgl elements in TexMap.
        https://bugs.webkit.org/show_bug.cgi?id=73817

        GraphicsContext3D only draws the content of the WebGL canvas, not the additional
        CSS such as the borders. TextureMapper should render the content of a
        media/webgl layer before drawing the actual canvas.
        This makes LayoutTests/compositing/webgl/webgl-reflection.html work.

        Reviewed by Noam Rosenthal.

        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::renderContent):
        (WebCore::TextureMapperNode::paintSelf):

2011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r102043.
        http://trac.webkit.org/changeset/102043
        https://bugs.webkit.org/show_bug.cgi?id=73898

        Breaks chromium mac-cg compilation. (Requested by vsevik on
        #webkit).

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToImage):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore::GraphicsLayerChromium::contentsLayer):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::setContents):

2011-12-06  Shinya Kawanaka  <shinyak@google.com>

        Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.
        https://bugs.webkit.org/show_bug.cgi?id=73628

        Reviewed by Hajime Morita.

        Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges.

        No new tests. covered by existing tests.

        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
          Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor.
        (WebCore::Editor::markAndReplaceFor):
        * editing/Editor.h:

2011-12-05  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Audits] Implement "Stop" button and progress bar instead of spinner.
        https://bugs.webkit.org/show_bug.cgi?id=73626

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView):
        (WebInspector.AuditLauncherView.prototype._setAuditRunning):
        (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
        (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
        (WebInspector.AuditLauncherView.prototype._updateButton):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.GzipRule.prototype.doRun):
        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
        (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
        (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
        (WebInspector.AuditsPanel.prototype._executeAudit):
        (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
        (WebInspector.AuditsPanel.prototype.terminateAudit):
        (WebInspector.AuditCategory.prototype.run):
        (WebInspector.AuditRule.prototype.run):
        (WebInspector.AuditRule.prototype.doRun):
        (WebInspector.AuditProgressMonitor):
        (WebInspector.AuditProgressMonitor.prototype.setTotalWork):
        (WebInspector.AuditProgressMonitor.prototype.worked):
        (WebInspector.AuditProgressMonitor.prototype.get indeterminate):
        (WebInspector.AuditProgressMonitor.prototype.done):
        (WebInspector.AuditProgressMonitor.prototype.get canceled):
        (WebInspector.AuditProgressMonitor.prototype.set canceled):

2011-12-06  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        [Qt] [WK2] MiniBrowser assert on startup in debug build after r101713
        https://bugs.webkit.org/show_bug.cgi?id=73874

        This change partially reverts r101713 restoring original behaviour for
        KUrl creation from empty string and fixes asserts in debug build.

        Reviewed by Alexey Proskuryakov.

        No new tests. Tests from r101713 pass.

        * platform/KURL.cpp:
        (WebCore::KURL::init):
        (WebCore::KURL::parse):
        * platform/KURL.h:

2011-12-06  Andreas Kling  <kling@webkit.org>

        Use HashMap<OwnPtr> for EventListenerMap's internal map.
        <http://webkit.org/b/73761>

        Reviewed by Benjamin Poulain.

        Changed the value type of EventListenerMap::m_hashMap to OwnPtr<EventListenerVector>.
        This means we no longer need to manually delete the vectors when taking them out of
        the map, which makes the code a little prettier.

        A few tweaks were necessary; release() instead of leakPtr() when switching modes
        and adoptPtr()/get() sprinkled as needed.

        * dom/EventListenerMap.h:
        * dom/EventListenerMap.cpp:
        (WebCore::EventListenerMap::clear):
        (WebCore::EventListenerMap::add):
        (WebCore::EventListenerMap::remove):
        (WebCore::EventListenerMap::find):
        (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
        (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):

2011-12-05  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Support 'attributes' mutation records for element.removeAttribute
        https://bugs.webkit.org/show_bug.cgi?id=73880

        Reviewed by Ojan Vafai.

        * dom/Element.cpp:
        (WebCore::enqueueAttributesMutationRecord):
        (WebCore::Element::removeAttribute):

2011-12-05  Dana Jansens  <danakj@chromium.org>

        Set opaque flag for WebGLLayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=73876

        Reviewed by James Robinson.

        New unit test in tests/WebGLLayerChromiumTest.cpp

        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::platformLayer):

2011-12-05  Benjamin Poulain  <bpoulain@apple.com>

        Upstream the Cursor implementation of iOS
        https://bugs.webkit.org/show_bug.cgi?id=73724

        Reviewed by David Kilzer.

        iOS does not need to support the Cursor of WebKit. For compatibility, Cursor
        is implemented as an empty class on the platform.

        * Configurations/WebCore.xcconfig:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/Cursor.h:
        (WebCore::Cursor::Cursor):
        * platform/ios/CursorIOS.cpp: Added.
        (WebCore::cursor):
        (WebCore::pointerCursor):
        (WebCore::crossCursor):
        (WebCore::handCursor):
        (WebCore::moveCursor):
        (WebCore::iBeamCursor):
        (WebCore::waitCursor):
        (WebCore::helpCursor):
        (WebCore::eastResizeCursor):
        (WebCore::northResizeCursor):
        (WebCore::northEastResizeCursor):
        (WebCore::northWestResizeCursor):
        (WebCore::southResizeCursor):
        (WebCore::southEastResizeCursor):
        (WebCore::southWestResizeCursor):
        (WebCore::westResizeCursor):
        (WebCore::northSouthResizeCursor):
        (WebCore::eastWestResizeCursor):
        (WebCore::northEastSouthWestResizeCursor):
        (WebCore::northWestSouthEastResizeCursor):
        (WebCore::columnResizeCursor):
        (WebCore::rowResizeCursor):
        (WebCore::middlePanningCursor):
        (WebCore::eastPanningCursor):
        (WebCore::northPanningCursor):
        (WebCore::northEastPanningCursor):
        (WebCore::northWestPanningCursor):
        (WebCore::southPanningCursor):
        (WebCore::southEastPanningCursor):
        (WebCore::southWestPanningCursor):
        (WebCore::westPanningCursor):
        (WebCore::verticalTextCursor):
        (WebCore::cellCursor):
        (WebCore::contextMenuCursor):
        (WebCore::noDropCursor):
        (WebCore::notAllowedCursor):
        (WebCore::progressCursor):
        (WebCore::aliasCursor):
        (WebCore::zoomInCursor):
        (WebCore::zoomOutCursor):
        (WebCore::copyCursor):
        (WebCore::noneCursor):
        (WebCore::grabCursor):
        (WebCore::grabbingCursor):
        (WebCore::determineHotSpot):

2011-12-05  Noel Gordon  <noel.gordon@gmail.com>

        [GTK] GIF image test crashes on 32- and 64-bit Release
        https://bugs.webkit.org/show_bug.cgi?id=73812

        Reviewed by Adam Barth.

        Call resize() on the image pixel backing store after allocation to see if
        that stops the GIF image decoder animation tests crashes on GTK.

        No new tests, covered by exiting tests ...
          fast/backgrounds/animated-gif-as-background.html
          fast/images/dont-crash-with-null-gif-frames.html
          fast/images/gif-loop-count.html

        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageFrame::setSize):

2011-12-05  Erik Arvidsson  <arv@chromium.org>

        Could save a lot of memory in CharacterData by not always storing a String
        https://bugs.webkit.org/show_bug.cgi?id=72404

        Reviewed by Ojan Vafai.

        When a Text node is created by the parser we check if the string is all whitespace
        and if so we put it in the AtomicString table so that all future identical whitespace
        strings can share the StringImpl.

        No new tests. Covered by existing tests.

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLNames::isAllWhitespace):
        (WebCore::HTMLConstructionSite::insertTextNode):

            If we do not know whether the string is all whitespace this now checks the string
            If the string is all whitespace we create an AtomicString for it.

        * html/parser/HTMLConstructionSite.h:
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingNonWhitespace): We never cared about the return value here.
        (WebCore::HTMLTreeBuilder::processCharacterBuffer): Pass WhitespaceMode in the case we know whether the string is all whitespace or not.
        (WebCore::HTMLTreeBuilder::defaultForInTableText): Ditto.

2011-12-05  Benjamin Poulain  <benjamin@webkit.org>

        Update KURL's copy copyASCII to avoid String::characters()
        https://bugs.webkit.org/show_bug.cgi?id=73794

        Reviewed by Andreas Kling.

        When the String is already on 8 bits, we can simply copy the
        data. In the 16 bits case, everything remains the same.

        * platform/KURL.cpp:
        (WebCore::copyASCII):
        (WebCore::appendASCII):
        (WebCore::KURL::init):
        (WebCore::KURL::parse):
        (WebCore::KURL::copyToBuffer):

2011-12-05  Yong Li  <yoli@rim.com>

        https://bugs.webkit.org/show_bug.cgi?id=73683
        Implement KeyframeValueList::operator=() and KeyframeValueList::swap().

        Reviewed by Darin Adler.

        No new tests as no functional change.

        * platform/graphics/GraphicsLayer.h: 
        (WebCore::KeyframeValueList::operator=): Added
        (WebCore::KeyframeValueList::swap): Added

2011-12-05  Adrienne Walker  <enne@google.com>

        [chromium] setNeedsCommit on non-composited host layers should trigger commit
        https://bugs.webkit.org/show_bug.cgi?id=73711

        Reviewed by James Robinson.

        Pipe non-composited content host syncs to setNeedsCommit.

        Since now the NonCompositedContentHost generates setNeedsCommit, don't
        call it unnecessarily, e.g. calling setBackgroundColor to the same
        color each frame should not retrigger more commits.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setAnchorPoint):
        (WebCore::GraphicsLayerChromium::setTransform):
        (WebCore::GraphicsLayerChromium::setChildrenTransform):
        (WebCore::GraphicsLayerChromium::setMasksToBounds):
        (WebCore::GraphicsLayerChromium::setBackgroundColor):
        (WebCore::GraphicsLayerChromium::clearBackgroundColor):
        (WebCore::GraphicsLayerChromium::setContentsOpaque):
        (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
        (WebCore::GraphicsLayerChromium::setOpacity):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setNeedsCommit):
        (WebCore::LayerChromium::setAnchorPoint):
        (WebCore::LayerChromium::setAnchorPointZ):
        (WebCore::LayerChromium::setBackgroundColor):
        (WebCore::LayerChromium::setMasksToBounds):
        (WebCore::LayerChromium::setMaskLayer):
        (WebCore::LayerChromium::setOpacity):
        (WebCore::LayerChromium::setOpaque):
        (WebCore::LayerChromium::setPosition):
        (WebCore::LayerChromium::setSublayerTransform):
        (WebCore::LayerChromium::setTransform):
        (WebCore::LayerChromium::setScrollPosition):
        (WebCore::LayerChromium::setScrollable):
        (WebCore::LayerChromium::setDoubleSided):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setReplicaLayer):
        * platform/graphics/chromium/NonCompositedContentHost.cpp:
        (WebCore::NonCompositedContentHost::notifySyncRequired):
        * platform/graphics/chromium/NonCompositedContentHost.h:

2011-12-05  Tony Chang  <tony@chromium.org>

        small refactor of RenderFlexibleBox
        https://bugs.webkit.org/show_bug.cgi?id=73854

        Reviewed by Darin Adler.

        No new tests, just a refactor.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::isLeftToRightFlow): Inline isReverseFlow since it's only used in one place.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Rename startEdge
        to mainAxisOffset.  Rename logicalTop to crossAxisOffset.  Get rid of
        logicalLeft local variable since it's confusing.  Move shouldFlipMainAxis
        out of the for loop to avoid computing it each iteration.
        * rendering/RenderFlexibleBox.h:

2011-12-05  Florin Malita  <fmalita@google.com>

        Heap-buffer-overflow in WebCore::HTMLTreeBuilder::processEndTag
        https://bugs.webkit.org/show_bug.cgi?id=73765

        Reviewed by Adam Barth.

        Test: fast/parser/foreign-content-crash.html

        Use m_tree.currentNode() instead of m_tree.currentElement() as the top node is not always an Element.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2011-12-05  Stephen White  <senorblanco@chromium.org>

        Allow the ImageBuffers used by SVG filters to be accelerated
        https://bugs.webkit.org/show_bug.cgi?id=73842

        Reviewed by Kenneth Russell.

        Regressions covered by existing SVG tests; new functionality to be
        tested by the API exposed on Internals.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setAcceleratedFiltersEnabled):
        (WebCore::Settings::acceleratedFiltersEnabled):
        * platform/graphics/filters/FETile.cpp:
        (WebCore::FETile::platformApplySoftware):
        * platform/graphics/filters/Filter.h:
        (WebCore::Filter::Filter):
        (WebCore::Filter::renderingMode):
        (WebCore::Filter::setRenderingMode):
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::asImageBuffer):
        (WebCore::FilterEffect::createImageBufferResult):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * rendering/svg/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource):
        * rendering/svg/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource):
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::createTileImage):
        * rendering/svg/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::createImageBuffer):
        * rendering/svg/SVGImageBufferTools.h:
        * testing/Internals.cpp:
        (WebCore::Internals::setAcceleratedFiltersEnabled):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-12-05  Benjamin Poulain  <bpoulain@apple.com>

        Upstream htmlSelectMultipleItems needed for <select multiple> by iOS
        https://bugs.webkit.org/show_bug.cgi?id=73734

        Reviewed by David Kilzer.

        * platform/DefaultLocalizationStrategy.cpp:
        (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
        * platform/DefaultLocalizationStrategy.h:

2011-12-05  Darin Adler  <darin@apple.com>

        Use HashMap<OwnPtr> in CrossOriginPreflightResultCache
        https://bugs.webkit.org/show_bug.cgi?id=73785

        Reviewed by Andreas Kling.

        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCache::appendEntry): Changed code to use set
        instead of add, since it wants to replace existing entries. Also removed leakPtr
        and removed the FIXME that documented the memory leak now fixed here.
        (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): Removed unneeded
        std:: prefix here and also unneeded explicit delete call.
        (WebCore::CrossOriginPreflightResultCache::empty): Removed unneeded deleteAllValues
        call here.

        * loader/CrossOriginPreflightResultCache.h: Make mapped value of the
        CrossOriginPreflightResultHashMap be OwnPtr instead of raw pointer.

2011-12-05  Darin Adler  <darin@apple.com>

        Some small improvements to ContainerNode.h
        https://bugs.webkit.org/show_bug.cgi?id=73786

        Reviewed by Alexey Proskuryakov.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::suspendPostAttachCallbacks): Added a FIXME comment about the
        peculiar behavior of this function. Somehow the post-attach suspend state is both
        global and specific to a certain Page object. That can't be right. If it was truly
        global then this would be a static member function. If it was truly per-page, then
        the related functions could not be static.

        * dom/ContainerNode.h: Removed some unneeded argument names. Moved the hasChildNodes
        function up with the other basic getters. Put the other getters, childNodeCount and
        childNode, right after the basic getters. Used ASSERT_NO_EXCEPTION in all the basic
        mutation functions so they can be used in a cleaner fashion in C++ code where we have
        some reason to know an exception won't occur. Grouped all the overrides of functions
        from Node into a single paragraph and used the OVERRIDE macro on all of them. Made the
        queuePostAttachCallback and postAttachCallbacksAreSuspended functions protected.

        * dom/Element.h: Moved the include of ExceptionCodePlaceholder.h into ContainerNode.h.

        * dom/Node.cpp:
        (WebCore::Node::lazyAttach): Use hasChildNodes instead of firstChild for clarity.
        (WebCore::Node::isDescendantOf): Ditto.

2011-12-05  Benjamin Poulain  <benjamin@webkit.org>

        Get rid of KURL::KURL(ParsedURLStringTag, const char*);
        https://bugs.webkit.org/show_bug.cgi?id=73792

        Reviewed by Andreas Kling.

        In all cases where the constructor is used, the constructor
        taking a String is as effective because the string is valid and converted
        to String for m_string.

        This patch remove the constructor KURL::KURL(ParsedURLStringTag, const char*)
        and change the call sites that were using that constructor to build
        empty URLs.

        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::init):
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::createWindow):
        * platform/KURL.cpp:
        * platform/KURL.h:
        * platform/KURLGoogle.cpp:

2011-12-05  Benjamin Poulain  <benjamin@webkit.org>

        Remove methods declared but never implemented with GOOGLEURL
        https://bugs.webkit.org/show_bug.cgi?id=73795

        Reviewed by Adam Barth.

        * platform/KURL.h:

2011-12-05  Darin Adler  <darin@apple.com>

        Change CSSFontSelector to use HashMap<OwnPtr>
        https://bugs.webkit.org/show_bug.cgi?id=73781

        Reviewed by Dan Bernstein.

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::~CSSFontSelector): Removed calls to deleteAllValues.
        (WebCore::CSSFontSelector::addFontFaceRule): Updated to use OwnPtr instead of raw
        pointer for the entry in m_fontFaces and m_locallyInstalledFontFaces.
        (WebCore::CSSFontSelector::getFontData): Updated to use OwnPtr instead of raw
        pointer for the entry in m_fonts. Also removed an unneeded std:: prefix.

        * css/CSSFontSelector.h: Made m_fontFaces, m_locallyInstalledFontFaces, and m_fonts
        be HashMap<OwnPtr>.

2011-12-05  Adam Klein  <adamk@chromium.org>

        V8RecursionScope should call didLeaveScriptContext when recursionLevel reaches zero
        https://bugs.webkit.org/show_bug.cgi?id=73867

        Reviewed by Adam Barth.

        Moved V8RecursionScope into its own file, and moved
        V8Proxy::didLeaveScriptContext into that file, along with a static
        recursionLevel accessor, hiding the V8BindingPerIsolateData methods
        from V8Proxy.

        This will make it easy and less error-prone to use V8RecursionScope
        properly. I plan to make use of it in V8LazyEventListener to fix
        https://bugs.webkit.org/show_bug.cgi?id=73492.

        No new tests, refactoring only.

        * Target.pri:
        * UseV8.cmake:
        * WebCore.gypi:
        * bindings/v8/V8Binding.h:
        (WebCore::V8BindingPerIsolateData::incrementRecursionLevel): return the new recursion level.
        (WebCore::V8BindingPerIsolateData::decrementRecursionLevel): return the new recursion level.
        * bindings/v8/V8Proxy.cpp: remove didLeaveScriptContext.
        (WebCore::V8Proxy::runScript): remove explicit call to didLeaveScriptContext.
        (WebCore::V8Proxy::instrumentedCallFunction): remove explicit call to didLeaveScriptContext.
        * bindings/v8/V8Proxy.h: remove didLeaveScriptContext.
        * bindings/v8/V8RecursionScope.cpp: Added.
        (WebCore::V8RecursionScope::didLeaveScriptContext): copied from V8Proxy.cpp.
        * bindings/v8/V8RecursionScope.h: Added.
        (WebCore::V8RecursionScope::V8RecursionScope):
        (WebCore::V8RecursionScope::~V8RecursionScope):
        (WebCore::V8RecursionScope::recursionLevel):

2011-12-05  Benjamin Poulain  <bpoulain@apple.com>

        Build fix for SecurityOrigin.cpp when neither BLOB nor FILE_SYSTEM are defined

        Reviewed by David Kilzer.

        When neither BLOB nor FILE_SYSTEM are defined, the parameter is unused.

        * page/SecurityOrigin.cpp:
        (WebCore::shouldUseInnerURL):

2011-12-05  Darin Adler  <darin@apple.com>

        Change RuleSet to use HashMap<OwnPtr>
        https://bugs.webkit.org/show_bug.cgi?id=73783

        Reviewed by Andreas Kling.

        * css/CSSStyleSelector.cpp: Make RuleSet::AtomRuleMap use OwnPtr for the mapped values.
        (WebCore::RuleSet::addToRuleSet): Use add instead of get/set to set up a new entry in the
        map or find the old entry in the map.

2011-12-05  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Move emissions of AtkDocument signals down to WebCore
        https://bugs.webkit.org/show_bug.cgi?id=73750

        Reviewed by Chris Fleizach.

        Implement the needed infrastructure to allow notifying
        accessibility, in a cross-platform way, when a event related to
        the load of a document happens. Added a generic method, which will
        be called from the FrameLoader, and platform specific versions of
        it so every port has a chance to decide what to do with those
        notifications.

        This patch doesn't include a new test because the one testing this
        functionality is the GTK-specific unit test added along with patch
        for bug 73746: testWebkitAtkDocumentLoadingEvents.

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::frameLoadingEventNotification): New, called
        from the FrameLoader to notify accessibility when an event happens.
        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): New,
        platform specific function to let ports decide what to do.
        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::frameLoadingEventNotification): New.
        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
        implementation of the platform specific function for chromium.
        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
        implementation of the platform specific function for the Mac.
        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
        implementation of the platform specific function for Windows.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::prepareForLoadStart): Notify accessibility
        by calling the new frameLoadingEventNotification() function.
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.

2011-12-05  Benjamin Poulain  <benjamin@webkit.org>

        Update String::containsOnlyASCII() to handle 8 bits strings
        https://bugs.webkit.org/show_bug.cgi?id=73799

        Reviewed by Darin Adler.

        When possible, change the call sites from charactersAreAllASCII()
        to the optimized version String::containsOnlyASCII().

        * platform/KURL.cpp:
        (WebCore::KURL::init):
        * platform/cf/BinaryPropertyList.cpp:
        (WebCore::BinaryPropertyListPlan::writeStringObject):
        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::FontCodepage::if):

2011-12-01  Vangelis Kokkevis  <vangelis@chromium.org>

        [chromium] Use ANGLE's texture_usage and texture_storage extensions when allocating compositor textures
        https://bugs.webkit.org/show_bug.cgi?id=73621

        When the extensions are available, compositor textures are allocated via
        glTexStorage2DEXT instead of glTexImage2D to eliminate creation of unnecessary
        mip levels on the service side. In addition, the GL_FRAMEBUFFER_ATTACHMENT_ANGLE
        is specified for all textures used by RenderSurfaces to eliminate the need for
        a system memory bitmap allocation.

        Reviewed by Kenneth Russell.

        * platform/graphics/chromium/Extensions3DChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        * platform/graphics/chromium/TrackingTextureAllocator.cpp:
        (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
        (WebCore::textureToStorageFormat):
        (WebCore::isTextureFormatSupportedForStorage):
        (WebCore::TrackingTextureAllocator::createTexture):
        * platform/graphics/chromium/TrackingTextureAllocator.h:
        (WebCore::TrackingTextureAllocator::setTextureUsageHint):
        (WebCore::TrackingTextureAllocator::setUseTextureStorageExt):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):

2011-12-05  Chris Fleizach  <cfleizach@apple.com>

        AX: aria-hidden doesn't work on iframe elements
        https://bugs.webkit.org/show_bug.cgi?id=73857

        Reviewed by Darin Adler.

        Test: platform/mac/accessibility/iframe-aria-hidden.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::addAttachmentChildren):
        (WebCore::AccessibilityRenderObject::addChildren):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityScrollView.cpp:
        (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
        (WebCore::AccessibilityScrollView::addChildren):
        * accessibility/AccessibilityScrollView.h:

2011-12-05  Chris Fleizach  <cfleizach@apple.com>

        AX: web search mechanism does not work with frames
        https://bugs.webkit.org/show_bug.cgi?id=73836

        Reviewed by Beth Dakin.

        This allows searching for, and within, frames for elements using the accessibility
        search mechanism.

        Test: platform/mac/accessibility/search-with-frames.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
        (WebCore::appendAccessibilityObject):
        (WebCore::appendChildrenToArray):

2011-12-05  Anders Carlsson  <andersca@apple.com>

        Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not
        https://bugs.webkit.org/show_bug.cgi?id=73862

        Reviewed by Andy Estes.

        Change LayerFlushSchedulerClient::flushLayers to return a boolean. If it returns true, the flush was
        successful and the run loop observer will be invalidated.

        * platform/graphics/ca/LayerFlushScheduler.h:
        * platform/graphics/ca/LayerFlushSchedulerClient.h:
        * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
        (WebCore::LayerFlushScheduler::runLoopObserverCallback):

2011-12-05  Dana Jansens  <danakj@chromium.org>

        [chromium] Set opaque flag for ImageLayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=72964

        Reviewed by James Robinson.

        New unit test in tests/ImageLayerChromiumTest.cpp.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToImage):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore::GraphicsLayerChromium::contentsLayer):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::setContents):

2011-12-05  Julien Chaffraix  <jchaffraix@webkit.org>

        TD width in precentage doesn't work.
        https://bugs.webkit.org/show_bug.cgi?id=34758

        Reviewed by David Hyatt.

        Test: fast/table/colspan-with-all-percent-cells.html

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
        In the case where all our columns have percent lengths, split the colspan
        logical width using the percentages from the lengths. This should be properly
        handled by the massive 'else' case but it is not and I did not feel like refactor
        that due to massive compatibility issues that would arise.

2011-12-05  Chris Fleizach  <cfleizach@apple.com>

        platform/mac/accessibility/search-when-element-starts-in-table.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=73751

        When encountering a table, the rows() and not the cells() should be queried (otherwise
        we can end up finding the element we started with).

        When searching in reverse, we also need to account for searching elements within the
        parent hierarchy. because technically it is "behind" the start element.

        Reviewed by Darin Adler.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::appendChildrenToArray):
        (WebCore::AccessibilityObject::objectMatchesSearchCriteriaWithResultLimit):
        (WebCore::AccessibilityObject::findMatchingObjects):
        * accessibility/AccessibilityObject.h:

2011-12-02  Jer Noble  <jer.noble@apple.com>

        <video> elements should disable the system and display sleep when playing on OS X.
        https://bugs.webkit.org/show_bug.cgi?id=73730
        <rdar://problem/9502155>

        Reviewed by Alexey Proskuryakov.

        No new tests; platform specific system behavior only.

        Create a new DisplaySleepDisabler object when the playback rate becomes non-zero, and destroy
        that object when the playback rate drops back to zero.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
        * html/HTMLMediaElement.h:

2011-12-05  Peter Beverloo  <peter@chromium.org>

        [Chromium] Add Android keycodes and build Linux clipboard/filesystem files.
        https://bugs.webkit.org/show_bug.cgi?id=73672

        Add the KeyCodeConversionAndroid.cpp file, which is a partial re-land
        of an older file from the Android port:
        http://trac.webkit.org/browser/trunk/WebCore/platform/android/KeyEventAndroid.cpp?rev=56704

        Add IconChromiumAndroid.cpp which nullifies the rendering of icons in
        file upload boxes, which is not something we want to support now. Also
        include ClipboardChromiumLinux.cpp and FileSystemChromiumLinux.cpp
        as their functionality can be re-used for Android.

        Reviewed by Adam Barth.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/chromium/KeyCodeConversionAndroid.cpp: Added.
        (WebCore::windowsKeyCodeForKeyEvent):
        * platform/graphics/chromium/IconChromiumAndroid.cpp: Added.
        (WebCore::Icon::Icon):
        (WebCore::Icon::~Icon):
        (WebCore::Icon::paint):

2011-12-05  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Sam Weinig.

        On Windows, filenames not properly preserved when copied into a file list exposed by Event.dataTransfer
        https://bugs.webkit.org/show_bug.cgi?id=73841
        <rdar://problem/10521879>

        No test since repro case involves dropping a file onto the WebView.
        
        Calling characters() explicitly causes a non-terminated string buffer to get passed back
        to the String() constructor that expects a terminated buffer. The characters() call isn't
        necessary at all, since we have a String and the method we're calling expects a String.

        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::files): Remove characters() since it doesn't null terminate.

2011-12-05  Timothy Hatcher  <timothy@apple.com>

        Keep both InspectorBackend.js and InspectorBackendStub.js in Release builds after
        they have been combined into inspector.js.

        The InspectorBackend.js file split out of the generated InspectorBackendStub.js
        in r101670, and both files are needed to be useful.

        https://webkit.org/b/73839

        Reviewed by Joseph Pecoraro and Brian Weinstein.

        * WebCore.xcodeproj/project.pbxproj: Pass -not -name "InspectorBackend*.js" to find
        instead of -not -name InspectorBackendStub.js.

2011-12-05  Mikhail Naganov  <mnaganov@chromium.org>

        Web Inspector: [Chromium] Heap profiler should designate weak references.
        https://bugs.webkit.org/show_bug.cgi?id=69948

        Weak references are now ignored when tracing paths to GC roots.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotEdge.prototype.get isWeak):
        (WebInspector.HeapSnapshotEdge.prototype.toString):
        (WebInspector.HeapSnapshotEdge.prototype.get _hasStringName):
        (WebInspector.HeapSnapshotRetainerEdge.prototype.get isWeak):
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren):
        (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge):

2011-12-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r102004.
        http://trac.webkit.org/changeset/102004
        https://bugs.webkit.org/show_bug.cgi?id=73835

        Breaks qt minimal release compilation (Requested by vsevik on
        #webkit).

        * inspector/CodeGeneratorInspector.py:
        (Capitalizer.upper_camel_case_to_lower):
        (RawTypes.get):
        (RawTypes.String.get_c_param_type):
        (RawTypes.Object.get_c_param_type):
        (RawTypes.Object):
        (ParamType):
        (TypeData.__init__):
        (TypeData.get_raw_type):
        (TypeMap.__init__):
        (InspectorFrontend_h):
        (InspectorArray):
        (InspectorObject):
        (String):
        (InspectorBackendDispatcher_h):
        (Generator.process_command):
        * inspector/InspectorValues.h:

2011-12-05  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: [protocol] generate C++ classes for protocol JSON named types
        https://bugs.webkit.org/show_bug.cgi?id=72835

        Reviewed by Yury Semikhatsky.

        Extends python generator functionality.
        Makes constructor in InspectorObject public.

        * inspector/CodeGeneratorInspector.py:
        * inspector/InspectorValues.h:

2011-12-05  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: fix fronted compilation.
        https://bugs.webkit.org/show_bug.cgi?id=73831

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.ClosureCompilerSourceMappingPayload):

2011-12-05  Eric Carlson  <eric.carlson@apple.com>

        Out-of-band text tracks may only load from same origin as the media element's Document's origin
        https://bugs.webkit.org/show_bug.cgi?id=73184

        Reviewed by Sam Weinig.

        Test: http/tests/security/text-track-crossorigin.html

        * html/HTMLTrackElement.cpp:
        (WebCore::urlForLogging): Debug-only function for logging urls.
        (WebCore::HTMLTrackElement::scheduleLoad): Call canLoadUrl() before passing control off to
            the Track.
        (WebCore::HTMLTrackElement::canLoadUrl): Don't ask HTMLMediaElement to validate the url, the
            requirements for <track> are different from <video>.
        (WebCore::HTMLTrackElement::didCompleteLoad): Change bool param to enum.
        (WebCore::HTMLTrackElement::mediaElementCrossOriginAttribute): New, return parent 'crossorigin' 
            attribute value.
        * html/HTMLTrackElement.h:

        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::scheduleLoad): Add comments from the spec.
        (WebCore::LoadableTextTrack::loadTimerFired): Always cancel pending loads. Let the caller know 
            if the loader refuses the url immediately.
        (WebCore::LoadableTextTrack::cueLoadingStarted): The <track> deals with readyState.
        (WebCore::LoadableTextTrack::cueLoadingCompleted): HTMLTrackElement::didCompleteLoad takes
            an enum, not a bool.

        * loader/TextTrackLoader.cpp:
        (WebCore::TextTrackLoader::corsPolicyPreventedLoad): New, log the error and set m_state.
        (WebCore::TextTrackLoader::notifyFinished): Check for CORS failure.
        (WebCore::TextTrackLoader::load): Take media element cross-origin attribute as a param so we
            can make the correct checks.
        * loader/TextTrackLoader.h:

2011-12-05  Roland Steiner  <rolandsteiner@chromium.org>

        "Raw" pseudo selectors don't match if immediately after a child or descendant combinator
        https://bugs.webkit.org/show_bug.cgi?id=72933

        Remove shortcut that prevents universal selectors from being created before shadow pseudo-elements.

        Reviewed by Antti Koivisto.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::updateSpecifiersWithElementName):

2011-12-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101983.
        http://trac.webkit.org/changeset/101983
        https://bugs.webkit.org/show_bug.cgi?id=73827

        It broke all tests on GTK and on Qt in debug mode (Requested
        by Ossy on #webkit).

        * dom/Document.h:
        (WebCore::Node::Node):
        * dom/Node.cpp:
        (WebCore::Node::~Node):
        * dom/Node.h:
        (WebCore::Node::inDocument):

2011-12-05  Roland Steiner  <rolandsteiner@chromium.org>

        <style scoped>: Add 'scoped' attribute
        https://bugs.webkit.org/show_bug.cgi?id=67718

        Add 'scoped' attribute to IDL and attribute list,
        implement and test setting/resetting of the attribute.

        Reviewed by Antti Koivisto.

        Test: fast/css/style-scoped/basic-attribute.html

        * html/HTMLAttributeNames.in:
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::scoped):
        (WebCore::HTMLStyleElement::setScoped):
        (WebCore::HTMLStyleElement::scopingElement):
        * html/HTMLStyleElement.h:
        * html/HTMLStyleElement.idl:

2011-12-05  Hajime Morrita  <morrita@chromium.org>

        [Refactoring] Accessing Node::m_document should be minimized.
        https://bugs.webkit.org/show_bug.cgi?id=73800

        Reviewed by Kent Tamura.

        No new tests. No behavioral change.

        Replaced m_document reference with the document() accessor
        or temporaril variables. This is a preparation for using
        m_document space to point a shadow root pointer.

        * dom/Document.h:
        (WebCore::Node::Node):
        * dom/Node.cpp:
        (WebCore::Node::~Node):
        * dom/Node.h:
        (WebCore::Node::inDocument):

2011-12-05  Shinya Kawanaka  <shinyak@google.com>

        Asynchronous SpellChecker should consider multiple requests.
        https://bugs.webkit.org/show_bug.cgi?id=72939

        Reviewed by Hajime Morita.

        Now SpellChecker saves a request when it is processing the previous spellcheck request.
        If there is a request having the same root editable element, the older request is replaced by newer request

        Test: editing/spelling/spellcheck-queue.html

        * editing/SpellChecker.cpp:
        (WebCore::SpellChecker::SpellCheckRequest::SpellCheckRequest):
          A structure to have spell check request.
        (WebCore::SpellChecker::SpellCheckRequest::sequence):
        (WebCore::SpellChecker::SpellCheckRequest::range):
        (WebCore::SpellChecker::SpellCheckRequest::text):
        (WebCore::SpellChecker::SpellCheckRequest::mask):
        (WebCore::SpellChecker::SpellCheckRequest::rootEditableElement):
        (WebCore::SpellChecker::SpellChecker):
        (WebCore::SpellChecker::createRequest):
        (WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
          When timer is fired, queued request is processed if any.
        (WebCore::SpellChecker::canCheckAsynchronously):
        (WebCore::SpellChecker::requestCheckingFor):
          When the spellchecker is processing another request, the latest request is queued.
        (WebCore::SpellChecker::invokeRequest):
        (WebCore::SpellChecker::enqueueRequest):
          Enqueues a request. If there is an older request whose root editable element is the same as the request,
          it will be replaced.
        (WebCore::SpellChecker::didCheck):
        * editing/SpellChecker.h:

2011-12-05  Eric Carlson  <eric.carlson@apple.com>

        WebCore part of: Add WebKit preferences for text track settings
        https://bugs.webkit.org/show_bug.cgi?id=73721

        Reviewed by John Sullivan.

        No new tests yet, still nothing to test.

        * page/Settings.cpp:
        (WebCore::Settings::setShouldDisplaySubtitles): Move the setters to the .cpp file so they
            aren't inlined.
        (WebCore::Settings::setShouldDisplayCaptions): Ditto.
        (WebCore::Settings::setShouldDisplayTextDescriptions): Ditto.
        * page/Settings.h:

2011-12-05  Noel Gordon  <noel.gordon@gmail.com>

        ImageDecoder setSize() should check for backing store allocation failure
        https://bugs.webkit.org/show_bug.cgi?id=72864

        Reviewed by Adam Barth.

        The backing store of a decoded image is a Vector<PixelData> on the affected
        ports. And Vector<> provides a resize capacity member that returns false if
        memory allocation fails.

        setSize() should be called once only during an image decode - add an ASSERT
        for that. Resize the backing store capacity to the requested image size and
        return false if memory allocation fails.

        ImageDecoder::isOverSize(width, height) is called to check that the decoded
        width and height won't overflow 'width x height x sizeof(PixelData)' before
        calls to setSize(). Refer to http://webkit.org/b/48634

        No new tests. Covered by fast/images/size-failure.html

        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageFrame::setSize):

2011-12-04  Andreas Kling  <kling@webkit.org>

        CSSStyleSheet can't be reparented, enforce this at compile time.
        <http://webkit.org/b/73793>

        Reviewed by Benjamin Poulain.

        * css/StyleSheet.h:
        (WebCore::StyleSheet::clearOwnerRule):

            Changed setParentRule(CSSImportRule*) to clearOwnerRule() to document and
            enforce the fact that style sheets should never be reparented after creation.

        (WebCore::StyleSheet::ownerRule):

            Renamed parentRule() to ownerRule() to match the CSSOM name.

        (WebCore::StyleSheet::ownerNode):
        (WebCore::StyleSheet::clearOwnerNode):

            Also renamed StyleSheet::m_parentNode to m_ownerNode to match its accessors.

        * css/CSSStyleSheet.h:

            Removed ownerRule() as we now inherit it from StyleSheet.

        * bindings/js/JSDOMBinding.h:
        (WebCore::root):
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::~CSSImportRule):
        (WebCore::CSSImportRule::setCSSStyleSheet):
        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::StyleSheet):
        (WebCore::StyleSheet::parentStyleSheet):
        (WebCore::StyleSheet::baseURL):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::fillMediaListChain):

            Update call sites to use the new names.

2011-12-04  Andreas Kling  <kling@webkit.org>

        border-width: initial and border-color: initial cannot be removed via CSSOM.
        <http://webkit.org/b/68551>

        Reviewed by Darin Adler.

        Test: fast/css/cssom-remove-shorthand-property.html

        When asked to remove a shorthand property, we should toss out both the
        sub-properties of that shorthand as well as the shorthand itself, should the
        declaration contain it. The latter part was missing in our implementation.

        * css/CSSMutableStyleDeclaration.h:
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
        (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):

            Changed to return true only if something was actually removed.

2011-12-04  Ryosuke Niwa  <rniwa@webkit.org>

        HIERARCHY_REQUEST_ERR check in checkAcceptChild should be optimized for newChild without children
        https://bugs.webkit.org/show_bug.cgi?id=73737

        Reviewed by Darin Adler.

        It turned out that 50-70% of nodes inserted by DOM APIs such as insertBefore and appendChild
        don't have any descendent nodes. Optimize isDescendantOf which is used by checkAcceptChild for this case.
        On a test case attached on the bug, we see a 40% improvement.

        Also optimize for cases where either new child or new parent but not both are in document as suggested
        by Erik Arvidsson. This appears to happen about 40-70% of the time, and the symmetric difference between
        the two cases is about 50% so it's worth implementing both optimizations.

        Unfortunately no tests because we still have a O(n) algorithm somewhere.

        * dom/Node.cpp:
        (WebCore::Node::isDescendantOf):
        (WebCore::Node::contains):

2011-12-04  Andreas Kling  <kling@webkit.org>

        CSSValuePool: Inline trivial getters.
        <http://webkit.org/b/73763>

        Reviewed by Anders Carlsson.

        * css/CSSValuePool.cpp:
        * css/CSSValuePool.h:
        (WebCore::CSSValuePool::createInheritedValue): Inlined.
        (WebCore::CSSValuePool::createImplicitInitialValue): Ditto.
        (WebCore::CSSValuePool::createExplicitInitialValue): Ditto.

2011-12-03  Noel Gordon  <noel.gordon@gmail.com>

        Fix WebPImageDecoder decoder leak.
        https://bugs.webkit.org/show_bug.cgi?id=73756

        Reviewed by Andreas Kling.

        Delete the m_decoder member in the destructor if needed with WebPIDelete.

        No new tests, it's valgrind territory.

        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::~WEBPImageDecoder):

2011-12-03  Andreas Kling  <kling@webkit.org>

        CSSStyleSheet: Parent rule can only ever be @import, enforce this at compile time.
        <http://webkit.org/b/73725>

        Reviewed by Darin Adler.

        Made StyleSheet::m_parentRule a CSSImportRule* rather than a CSSRule*
        and updated getters, setters and constructors accordingly.

        There is no change in behavior, this simply enforces the status quo.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.h:
        * bindings/scripts/CodeGeneratorV8.pm:
        (AddIncludesForType):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::create):
        (WebCore::CSSStyleSheet::ownerRule):
        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::StyleSheet):
        * css/StyleSheet.h:
        (WebCore::StyleSheet::parentRule):
        (WebCore::StyleSheet::setParentRule):

2011-12-03  Andreas Kling  <kling@webkit.org>

        Unreviewed, revert accidental change from r101932.

        * bindings/scripts/CodeGeneratorV8.pm:
        (AddIncludesForType):

2011-12-03  Mary Wu  <mary.wu@torchmobile.com.cn>

        Upstream 4 files into WebCore/platform/blackberry
        https://bugs.webkit.org/show_bug.cgi?id=73614

        Reviewed by Eric Seidel.

        * platform/blackberry/CursorBlackBerry.cpp: Added.
        (WebCore::AllCursors::AllCursors):
        (WebCore::getCursor):
        (WebCore::Cursor::Cursor):
        (WebCore::Cursor::~Cursor):
        (WebCore::Cursor::operator=):
        (WebCore::aliasCursor):
        (WebCore::cellCursor):
        (WebCore::columnResizeCursor):
        (WebCore::contextMenuCursor):
        (WebCore::copyCursor):
        (WebCore::crossCursor):
        (WebCore::eastResizeCursor):
        (WebCore::eastWestResizeCursor):
        (WebCore::grabbingCursor):
        (WebCore::grabCursor):
        (WebCore::handCursor):
        (WebCore::helpCursor):
        (WebCore::iBeamCursor):
        (WebCore::moveCursor):
        (WebCore::noDropCursor):
        (WebCore::noneCursor):
        (WebCore::northEastResizeCursor):
        (WebCore::northEastSouthWestResizeCursor):
        (WebCore::northResizeCursor):
        (WebCore::northSouthResizeCursor):
        (WebCore::northWestResizeCursor):
        (WebCore::northWestSouthEastResizeCursor):
        (WebCore::notAllowedCursor):
        (WebCore::pointerCursor):
        (WebCore::progressCursor):
        (WebCore::rowResizeCursor):
        (WebCore::southEastResizeCursor):
        (WebCore::southResizeCursor):
        (WebCore::southWestResizeCursor):
        (WebCore::verticalTextCursor):
        (WebCore::waitCursor):
        (WebCore::westResizeCursor):
        (WebCore::zoomInCursor):
        (WebCore::zoomOutCursor):
        (WebCore::middlePanningCursor):
        (WebCore::eastPanningCursor):
        (WebCore::northPanningCursor):
        (WebCore::northEastPanningCursor):
        (WebCore::northWestPanningCursor):
        (WebCore::southPanningCursor):
        (WebCore::southEastPanningCursor):
        (WebCore::southWestPanningCursor):
        (WebCore::westPanningCursor):
        * platform/blackberry/DragDataBlackBerry.cpp: Added.
        (WebCore::DragData::canSmartReplace):
        (WebCore::DragData::containsColor):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asFilenames):
        (WebCore::DragData::asColor):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
        * platform/blackberry/DragImageBlackBerry.cpp: Added.
        (WebCore::createDragImageFromImage):
        (WebCore::createDragImageIconForCachedImage):
        (WebCore::deleteDragImage):
        (WebCore::dissolveDragImageToFraction):
        (WebCore::scaleDragImage):
        (WebCore::dragImageSize):
        * platform/blackberry/EventLoopBlackBerry.cpp: Added.
        (WebCore::EventLoop::platformInit):
        (WebCore::EventLoop::cycle):

2011-12-03  Andreas Kling  <kling@webkit.org>

        Cache CSSInitialValue instances per-document.
        <http://webkit.org/b/73745>

        Reviewed by Oliver Hunt.

        Test: http/tests/security/cross-origin-css-primitive.html

        Have CSSValuePool manage the caching of CSSInitialValue objects.

        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue::createExplicit):
        (WebCore::CSSInitialValue::createImplicit):
        (WebCore::CSSInitialValue::CSSInitialValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillShorthand):
        (WebCore::CSSParser::parseAnimationShorthand):
        (WebCore::CSSParser::parseTransitionShorthand):
        (WebCore::CSSParser::parseShorthand):
        * css/CSSValuePool.cpp:
        (WebCore::CSSValuePool::CSSValuePool):
        (WebCore::CSSValuePool::createImplicitInitialValue):
        (WebCore::CSSValuePool::createExplicitInitialValue):
        * css/CSSValuePool.h:

2011-12-03  Andreas Kling  <kling@webkit.org>

        Keep CSSInheritedValue in the CSS value pool.
        <http://webkit.org/b/73747>

        Reviewed by Antti Koivisto.

        We only need one CSSInheritedValue instance per document, so cache it
        in CSSValuePool and have the parser create it through there.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSValuePool.cpp:
        (WebCore::CSSValuePool::CSSValuePool):
        (WebCore::CSSValuePool::createInheritedValue):
        * css/CSSValuePool.h:

2011-12-03  Andreas Kling  <kling@webkit.org>

        Rename CSSPrimitiveValueCache to CSSValuePool.
        <http://webkit.org/b/73742>

        Reviewed by Antti Koivisto.

        CSSPrimitiveValueCache -> CSSValuePool
        Document::primitiveValueCache() -> Document::cssValuePool()

        This is in preparation for sharing more than just primitive values.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorV8.pm:
        (AddIncludesForType):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForNinePieceImageSlice):
        (WebCore::valueForNinePieceImageQuad):
        (WebCore::valueForNinePieceImageRepeat):
        (WebCore::valueForNinePieceImage):
        (WebCore::zoomAdjustedPixelValue):
        (WebCore::zoomAdjustedNumberValue):
        (WebCore::zoomAdjustedPixelValueForLength):
        (WebCore::valueForReflection):
        (WebCore::getPositionOffsetValue):
        (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
        (WebCore::getBorderRadiusCornerValue):
        (WebCore::computedTransform):
        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
        (WebCore::valueForGridTrackList):
        (WebCore::getDelayValue):
        (WebCore::getDurationValue):
        (WebCore::createLineBoxContainValue):
        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
        (WebCore::valueForFamily):
        (WebCore::renderTextDecorationFlagsToCSSValue):
        (WebCore::fillRepeatToCSSValue):
        (WebCore::fillSizeToCSSValue):
        (WebCore::contentToCSSValue):
        (WebCore::counterToCSSValue):
        (WebCore::fontFamilyFromStyle):
        (WebCore::lineHeightFromStyle):
        (WebCore::fontSizeFromStyle):
        (WebCore::fontStyleFromStyle):
        (WebCore::fontVariantFromStyle):
        (WebCore::fontWeightFromStyle):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::parseColorValue):
        (WebCore::parseSimpleLengthValue):
        (WebCore::CSSParser::setStyleSheet):
        (WebCore::CSSParser::createPrimitiveNumericValue):
        (WebCore::CSSParser::createPrimitiveStringValue):
        (WebCore::CSSParser::parseValidPrimitive):
        (WebCore::CSSParser::parseValue):
        (WebCore::parseBackgroundClip):
        (WebCore::CSSParser::parseFillShorthand):
        (WebCore::CSSParser::parsePage):
        (WebCore::CSSParser::parseSizeParameter):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseAttr):
        (WebCore::CSSParser::parseBackgroundColor):
        (WebCore::CSSParser::parseFillPositionX):
        (WebCore::CSSParser::parseFillPositionY):
        (WebCore::CSSParser::parseFillPositionComponent):
        (WebCore::CSSParser::parseFillPosition):
        (WebCore::CSSParser::parseFillRepeat):
        (WebCore::CSSParser::parseFillSize):
        (WebCore::CSSParser::parseFillProperty):
        (WebCore::CSSParser::parseAnimationDirection):
        (WebCore::CSSParser::parseAnimationFillMode):
        (WebCore::CSSParser::parseAnimationIterationCount):
        (WebCore::CSSParser::parseAnimationName):
        (WebCore::CSSParser::parseAnimationPlayState):
        (WebCore::CSSParser::parseAnimationProperty):
        (WebCore::CSSParser::parseAnimationTimingFunction):
        (WebCore::CSSParser::parseGridTrackList):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseCounterContent):
        (WebCore::CSSParser::parseShape):
        (WebCore::CSSParser::parseWrapShape):
        (WebCore::CSSParser::parseFont):
        (WebCore::CSSParser::parseFontFamily):
        (WebCore::CSSParser::parseFontStyle):
        (WebCore::CSSParser::parseFontVariant):
        (WebCore::CSSParser::parseFontWeight):
        (WebCore::CSSParser::parseColor):
        (WebCore::ShadowParseContext::ShadowParseContext):
        (WebCore::ShadowParseContext::commitLength):
        (WebCore::ShadowParseContext::commitStyle):
        (WebCore::CSSParser::parseShadow):
        (WebCore::CSSParser::parseReflect):
        (WebCore::CSSParser::parseFlex):
        (WebCore::BorderImageParseContext::BorderImageParseContext):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore::CSSParser::parseBorderImageRepeat):
        (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
        (WebCore::BorderImageSliceParseContext::commitNumber):
        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
        (WebCore::CSSParser::parseBorderImageSlice):
        (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
        (WebCore::BorderImageQuadParseContext::commitNumber):
        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
        (WebCore::CSSParser::parseBorderImageQuad):
        (WebCore::CSSParser::parseBorderRadius):
        (WebCore::CSSParser::parseAspectRatio):
        (WebCore::CSSParser::parseCounter):
        (WebCore::parseDeprecatedGradientPoint):
        (WebCore::parseDeprecatedGradientColorStop):
        (WebCore::CSSParser::parseDeprecatedGradient):
        (WebCore::valueFromSideKeyword):
        (WebCore::parseGradientColorOrKeyword):
        (WebCore::CSSParser::parseLinearGradient):
        (WebCore::CSSParser::parseRadialGradient):
        (WebCore::CSSParser::parseCrossfade):
        (WebCore::CSSParser::parseCustomFilter):
        (WebCore::CSSParser::parseFilter):
        (WebCore::CSSParser::parseFlowThread):
        (WebCore::CSSParser::parseRegionThread):
        (WebCore::CSSParser::parseTextEmphasisStyle):
        (WebCore::CSSParser::parseFontFeatureSettings):
        * css/CSSParser.h:
        (WebCore::CSSParser::cssValuePool):
        * css/CSSValuePool.cpp: Renamed from Source/WebCore/css/CSSPrimitiveValueCache.cpp.
        (WebCore::CSSValuePool::CSSValuePool):
        (WebCore::CSSValuePool::~CSSValuePool):
        (WebCore::CSSValuePool::createIdentifierValue):
        (WebCore::CSSValuePool::createColorValue):
        (WebCore::CSSValuePool::createValue):
        * css/CSSValuePool.h: Renamed from Source/WebCore/css/CSSPrimitiveValueCache.h.
        (WebCore::CSSValuePool::create):
        (WebCore::CSSValuePool::createValue):
        * css/mediaControlsGtk.css:
        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
        * dom/Document.cpp:
        (WebCore::Document::cssValuePool):
        * dom/Document.h:

2011-12-03  Andreas Kling  <kling@webkit.org>

        Shrink CSSValueList.
        <http://webkit.org/b/73732>

        Reviewed by Antti Koivisto.

        Packed CSSValueList::m_isSpaceSeparated into the CSSValue bit field
        and renamed it to m_isSpaceSeparatedValue, shrinking CSSValueList
        by one CPU word.

        Also renamed CSSValue::m_isImplicit to m_isImplicitInitialValue
        for good measure.

        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue::CSSInitialValue):
        * css/CSSValue.h:
        (WebCore::CSSValue::isImplicitInitialValue):
        (WebCore::CSSValue::CSSValue):
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::CSSValueList):
        (WebCore::CSSValueList::copy):
        (WebCore::CSSValueList::customCssText):
        * css/CSSValueList.h:
        (WebCore::CSSValueList::isSpaceSeparated):

2011-12-02  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] Fullscreen controller support for the new WebKit Fullscreen API
        https://bugs.webkit.org/show_bug.cgi?id=66968

        Reviewed by Martin Robinson.

        * GNUmakefile.am: Don't use the Quicktime fullscreen CSS anymore,
        it wasn't suited for GTK in the first place anyway.
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::extraFullScreenStyleSheet): Simply reuse
        GTK CSS.

2011-12-03  Alejandro G. Castro  <alex@igalia.com>

        [GTK] TextureMapperNode should not use Qt types and functions
        https://bugs.webkit.org/show_bug.cgi?id=73713

        Replace qreal with double and qMin with std::min.

        Reviewed by Noam Rosenthal.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::solveCubicBezierFunction):
        (WebCore::solveStepsFunction):

2011-12-03  Dan Winship  <danw@gnome.org>

        [GTK] Remove lots of code that is now unnecessary after
        SoupRequestHTTP API changes.
        https://bugs.webkit.org/show_bug.cgi?id=71611

        Reviewed by Martin Robinson.

        No new tests; behavior is unchanged

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal): remove
        no-longer-needed fields.
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::finishedCallback): remove this, and m_finished, which
        we no longer need to explicitly track
        (WebCore::statusWillBeHandledBySoup):
        (WebCore::soupErrorShouldCauseLoadFailure): No longer needed;
        SoupRequestHTTP's logic is now aligned with WebKit's.
        (WebCore::gotChunkCallback): remove gotChunkCallback, which
        is no longer needed
        (WebCore::startHTTPRequest):
        (WebCore::sendRequestCallback):
        (WebCore::gotHeadersCallback):
        (WebCore::contentSniffedCallback): merge the code from
        gotHeadersCallback and contentSniffedCallback into
        sendRequestCallback
        * platform/network/soup/ResourceResponseSoup.cpp:
        (WebCore::ResourceResponse::updateFromSoupMessage): move the
        sniffing override logic here

2011-12-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101904.
        http://trac.webkit.org/changeset/101904
        https://bugs.webkit.org/show_bug.cgi?id=73739

        It broke zillions of tests on all bot (Requested by
        Ossy_weekend on #webkit).

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::handlePostMessage):

2011-12-02  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] Use join(", ", @arguments) to build a method argument string in CodeGenerator*.pm
        https://bugs.webkit.org/show_bug.cgi?id=73651

        Reviewed by Darin Adler.

        The code in CodeGenerator*.pm to build a method argument string is really dirty
        and error-prone. It is building an argument string incrementally judging whether
        ", " is necessary or not, like this:

            my $method = ... ? "func(" : "func(a";
            if (...) {
                $method .= $method =~ /\($/ ? "b" : ", b";
            }
            $method .= ")";

        Alternatively, we can refactor the code as follows:

            my $funcName = "func";
            my @arguments;
            push(@arguments, "a") if (...);
            push(@arguments, "b") if (...);
            my $method = $funcName . "(" . join(", ", @arguments) . ")";

        This patch just refactors the code, and generated .h and .cpp files should be
        exactly the same as the current .h and .cpp files.

        Tests: bindings/scripts/test/*

        * bindings/scripts/CodeGenerator.pm:
        (GetterExpression):
        (SetterExpression):
        * bindings/scripts/CodeGeneratorCPP.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorGObject.pm:
        ():
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        (GenerateNormalAttrSetter):

2011-12-02  David Levin  <levin@chromium.org>

        Rename WTF class from TemporarilyChange to TemporaryChange.
        https://bugs.webkit.org/show_bug.cgi?id=73479

        Reviewed by Eric Seidel.

        * ForwardingHeaders/wtf/TemporarilyChange.h: Removed.
        * ForwardingHeaders/wtf/TemporaryChange.h: Added.
        * page/FrameView.cpp:
        (WebCore::FrameView::forceLayoutParentViewIfNeeded):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::setScrollPosition):
        (WebCore::FrameView::autoSizeIfEnabled):

2011-12-02  Armand Navabi  <armand.navabi@gmail.com>

        ASSERT fails in updateState ACTION_DRAW case
        https://bugs.webkit.org/show_bug.cgi?id=73351

        Reviewed by James Robinson.

        Changed ASSERT in CCSchedulerStateMachine to include ( || !m_visible) as discussed in bug 
        report. m_commitState is set to COMMIT_STATE_WAITING_FOR_FIRST_DRAW if m_needsCommit or
        !m_visible, so in ACTION_DRAW the assert should have both conditions.

        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::updateState):

2011-12-02  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Scissor rect optimization for chromium compositor
        https://bugs.webkit.org/show_bug.cgi?id=67341

        Reviewed by James Robinson.

        Mostly covered by damage tracker tests. Currently this relies on
        manually running layout tests, because this patch requires partial
        swaps that are not supported by DumpRenderTree. The feature
        automatically disables if partial swap is not supported.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        (WebCore::LayerRendererChromium::trackDamageForAllSurfaces):
        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
        (WebCore::LayerRendererChromium::drawLayersInternal):
        (WebCore::LayerRendererChromium::swapBuffers):
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::draw):
        * platform/graphics/chromium/cc/CCRenderSurface.h:

2011-12-02  Dmitry Lomov  <dslomov@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=73691
        [JSC] Implement correct order of window.postMessage arguments.

        Reviewed by Geoffrey Garen.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::handlePostMessage):

2011-12-02  Stephen Chenney  <schenney@chromium.org>

        REGRESSION (r91125): Polyline tool in google docs is broken
        https://bugs.webkit.org/show_bug.cgi?id=65796

        Reviewed by Darin Adler.

        Work around a bug in CoreGraphics, that caused incorrect bounds for paths
        consisting only of move-to elements. This causes problems in SVG, when the enormous
        bounds prevented the drawing of things behind.

        Tests: svg/custom/path-moveto-only-rendering.svg
               svg/custom/subpaths-moveto-only-rendering.svg

        * platform/graphics/cg/PathCG.cpp:
        (WebCore::PathIsEmptyOrSingleMoveTester::PathIsEmptyOrSingleMoveTester): Class to
        test for isEmpty accoridng ot the same rules as other platforms.
        (WebCore::PathIsEmptyOrSingleMoveTester::isEmpty): Query the result
        (WebCore::PathIsEmptyOrSingleMoveTester::testPathElement): Path iterator method
        (WebCore::PathHasOnlyMoveToTester::PathHasOnlyMoveToTester): Class to test whether a
        path contains only move-to elements, and hence should have null bounds.
        (WebCore::PathHasOnlyMoveToTester::hasOnlyMoveTo): Query the result
        (WebCore::PathHasOnlyMoveToTester::testPathElement): Path iterator method.
        (WebCore::Path::boundingRect): Modified to check for move-to only paths
        (WebCore::Path::fastBoundingRect): Modified to check for move-to only paths
        (WebCore::Path::isEmpty): Now uses the method that matches other platforms.
        (WebCore::Path::hasCurrentPoint): Now uses CGPathIsEmpty directly
        (WebCore::Path::transform) : Now uses CGPathIsEmpty directly

2011-12-02  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]More renaming for region style rules.
        https://bugs.webkit.org/show_bug.cgi?id=73526

        Reviewed by Eric Seidel.

        Rename isRegionStyleRule() -> isRegionRule()
        WEBKIT_REGION_STYLE_RULE -> WEBKIT_REGION_RULE.

        * bindings/objc/DOMCSS.mm:
        (kitClass):
        * bindings/v8/custom/V8CSSRuleCustom.cpp:
        (WebCore::toV8):
        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::createRegionRule):
        * css/CSSParser.h:
        * css/CSSRule.cpp:
        (WebCore::CSSRule::cssText):
        (WebCore::CSSRule::destroy):
        * css/CSSRule.h:
        (WebCore::CSSRule::isRegionRule):
        * css/CSSRule.idl:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addRegionRule):
        (WebCore::RuleSet::addRulesFromSheet):
        * css/CSSStyleSelector.h:
        * css/WebKitCSSRegionRule.cpp:
        (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
        * css/tokenizer.flex:

2011-12-02  Tom Sepez  <tsepez@chromium.org>

        XSSAuditor includes more terminating characters when truncating
        attribute values.
        https://bugs.webkit.org/show_bug.cgi?id=73684

        Reviewed by Daniel Bates.

        * html/parser/XSSAuditor.cpp:
        (WebCore::isTerminatingCharacter):
        (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):

2011-12-02  Tony Chang  <tony@chromium.org>

        Need to implement flex-flow: column-reverse
        https://bugs.webkit.org/show_bug.cgi?id=73504

        Reviewed by David Hyatt.

        We can't just change the direction of the FlexOrderIterator because we want the overflow to be
        on the top. We can't just position them in the reverse location since we don't know where the
        bottom edge is until we've layed out the flex items. So we do an extra pass, but it should be
        fast since we're not laying out, just moving.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::flowAwareBorderEnd):
        (WebCore::RenderFlexibleBox::flowAwarePaddingEnd):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
        (WebCore::RenderFlexibleBox::layoutColumnReverse): Do an extra pass to reposition flexitems in the reverse order.
        * rendering/RenderFlexibleBox.h:

2011-12-02  Stephen Chenney  <schenney@chromium.org>

        Divide by zero for zero-length arcs
        https://bugs.webkit.org/show_bug.cgi?id=73021

        Reviewed by Nikolas Zimmermann.

        A zero-length path produces divide by zero, resulting in nothing being
        drawn. This change modifies the behavior to produce a zero-length line
        which will generate correct linecaps.

        Test: svg/stroke/zero-length-arc-linecaps-rendering.svg

        * svg/SVGPathParser.cpp:
        (WebCore::SVGPathParser::parseArcToSegment): Catch the case of
        zero-length arcs and convert them to lines (the same as would happen
        for zero arc radii).

2011-12-02  James Wei <james.wei@intel.com> & Xingnan Wang <xingnan.wang@intel.com>

        -Implement the SSE optimization for vsmul and vadd.
        https://bugs.webkit.org/show_bug.cgi?id=73182

        Reviewed by Kenneth Russell.

        * platform/audio/VectorMath.cpp:
        (WebCore:VectorMath):

2011-12-02  David Grogan  <dgrogan@chromium.org>

        Grant workers experimental access to IndexedDB.
        https://bugs.webkit.org/show_bug.cgi?id=73609

        Reviewed by Nate Chapin.

        No new tests - there will be chromium ui tests that depend on
        webkit.org/b/73297.

        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::open): Call new function,
        IDBFactoryBackendInterface::openFromWorker.
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::open):
        (WebCore::IDBFactoryBackendImpl::openFromWorker):
        (WebCore::IDBFactoryBackendImpl::openInternal):
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBFactoryBackendInterface.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::webkitIndexedDB): Stores
        IDBFactoryBackendInterface, implemented by IDBFactoryBackendProxy in
        chromium, in the WorkerContext.  For the Document case it is stored in
        the PageGroup.  Storing it in the WorkerContext causes more memory
        churn, but that should be trivial.  I don't know of any better
        alternatives.
        * workers/WorkerContext.h:
        * workers/WorkerContext.idl:

2011-12-02  Aaron Colwell  <acolwell@chromium.org>

        Fix mixed content handling for video in Chromium by having
        CachedResourceLoader & SubresourceLoader use the 
        ResourceRequest::TargetType when determining if a RawResource can
        be requested.
        https://bugs.webkit.org/show_bug.cgi?id=72178

        Reviewed by Adam Barth.

        Tests: http/tests/security/mixedContent/insecure-video-in-iframe.html
               http/tests/security/mixedContent/insecure-video-in-main-frame.html
               http/tests/security/mixedContent/redirect-http-to-https-video-in-main-frame.html
               http/tests/security/mixedContent/redirect-https-to-http-video-in-main-frame.html

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willSendRequest):
        * loader/cache/CachedRawResource.cpp:
        (WebCore::CachedRawResource::CachedRawResource):
        * loader/cache/CachedRawResource.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::defaultPriorityForResourceType):
        (WebCore::cachedResourceTypeToTargetType):
        (WebCore::CachedResource::targetTypeToCachedResourceType):
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::createResource):
        (WebCore::CachedResourceLoader::checkInsecureContent):
        (WebCore::CachedResourceLoader::canRequest):
        (WebCore::CachedResourceLoader::requestResource):

2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101731.
        http://trac.webkit.org/changeset/101731
        https://bugs.webkit.org/show_bug.cgi?id=73706

        Broke copy and paste in chromium. (Requested by dcheng on #webkit).

        * editing/SpellChecker.cpp:
        (WebCore::SpellChecker::SpellChecker):
        (WebCore::SpellChecker::initRequest):
        (WebCore::SpellChecker::clearRequest):
        (WebCore::SpellChecker::canCheckAsynchronously):
        (WebCore::SpellChecker::isBusy):
        (WebCore::SpellChecker::isValid):
        (WebCore::SpellChecker::requestCheckingFor):
        (WebCore::SpellChecker::doRequestCheckingFor):
        (WebCore::SpellChecker::didCheck):
        * editing/SpellChecker.h:

2011-12-02  Fady Samuel  <fsamuel@chromium.org>

        When page scaling is in use position:fixed has incorrect results
        https://bugs.webkit.org/show_bug.cgi?id=68617

        Reviewed by Simon Fraser.

        Add the option for position:fixed elements to be fixed to the frame
        instead of the layout rectangle of the document.

        Tests: fast/repaint/fixed-in-page-scale.html
               fast/repaint/fixed-right-bottom-in-page-scale.html
               fast/repaint/fixed-right-in-page-scale.html

        * WebCore.exp.in:
        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        (WebCore::FrameView::scrollXForFixedPosition):
        (WebCore::FrameView::scrollYForFixedPosition):
          If position:fixed elements are relative to the frame, disregard the
          drag factor.
        (WebCore::FrameView::setShouldLayoutFixedElementsRelativeToFrame):
        * page/FrameView.h:
        (WebCore::FrameView::shouldLayoutFixedElementsRelativeToFrame):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::shouldLayoutFixedElementRelativeToFrame):
        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
          If position:fixed elements are relative to the frame, their container
          is the frame instead of the layout rect of the document. 
          This allows proper positioning of these elements to the right and
          bottom.
        * rendering/RenderBox.h:
        * testing/Internals.cpp:
        (WebCore::Internals::setShouldLayoutFixedElementsRelativeToFrame):
        * testing/Internals.h:
        * testing/Internals.idl:
          Allow enabling and disabling the new behavior in layout tests.

2011-12-02  Benjamin Poulain  <bpoulain@apple.com>

        Build fix for SubresourceLoader when building with Core Foundation
        https://bugs.webkit.org/show_bug.cgi?id=73709

        Reviewed by David Kilzer.

        The patch r100311 removed SubresourceClient and merged it in SubresourceLoader.
        Consequently, m_client does not exist anymore and there is no need to do the check
        before invoking didReceiveData().

        * loader/cf/SubresourceLoaderCF.cpp:
        (WebCore::SubresourceLoader::didReceiveDataArray):

2011-12-02  Andreas Kling  <kling@webkit.org>

        StyledElement: Simplify addCSSColor().
        <http://webkit.org/b/73703>

        Reviewed by Darin Adler.

        The Color(const String&) constructor handles both named and 3/6-digit
        hex colors, so there's no need to handle those separately here.
        Also tweaked some comments and minor things.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSColor):

2011-12-02  Benjamin Poulain  <bpoulain@apple.com>

        Update platform/iphone to platform/ios
        https://bugs.webkit.org/show_bug.cgi?id=73708

        Reviewed by Darin Adler.

        The platform is now best known as iOS, update the platform layer accordingly.

        * Configurations/WebCore.xcconfig:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/cocoa/KeyEventCocoa.mm:
        * platform/ios/KeyEventCodesIOS.h: Renamed from Source/WebCore/platform/iphone/KeyEventCodesIPhone.h.
        * platform/ios/KeyEventIOS.mm: Renamed from Source/WebCore/platform/iphone/KeyEventIPhone.mm.
        (WebCore::keyIdentifierForKeyEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
        (WebCore::PlatformKeyboardEvent::getCurrentModifierState):

2011-12-02  Jonathan Backer  <backer@chromium.org>

        [chromium] Eliminate unnecessary state on previous CL
        https://bugs.webkit.org/show_bug.cgi?id=73661

        Reviewed by Kenneth Russell.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):

2011-12-02  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10520670> REGRESSION (r91738): didFinishLoad is called before custom fonts have finished loading
        https://bugs.webkit.org/show_bug.cgi?id=73688

        Reviewed by Darin Adler.

        The problem was that after CSSFontFaceSource::getFontData() had scheduled a 0-delay timer to
        begin loading the font, but before that timer fired, the subresource loader appeared to have
        had no resources waiting to be loaded, and therefore didFinishLoad could be called. This change
        reworks the fix for <http://webkit.org/b/65123> so that while the load is still started on a
        0-delay timer, the subresource loader’s request count is incremented immediately, preventing
        it from hitting 0 while the font load is scheduled to begin. The delayed load mechanism is
        moved from CSSFontFaceSource into CSSFontSelector in order to safely handle the possibility of
        the latter being decommissioned while waiting for font loading to begin.

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::CSSFontFaceSource): Removed initializer for m_loadStartTimer.
        (WebCore::CSSFontFaceSource::~CSSFontFaceSource): Removed stopping of m_loadStartTimer.
        (WebCore::CSSFontFaceSource::getFontData): Replaced code to schedule loading on a timer with
        a call to CSSFontSelector::beginLoadingFontSoon.
        * css/CSSFontFaceSource.h: Removed m_loadStartTimer and m_fontSelector member variables.
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::CSSFontSelector): Added initialized for m_beginLoadingTimer.
        (WebCore::CSSFontSelector::~CSSFontSelector): Added call to clearDocument(), to deal with
        anything remaining in m_fontsToBeginLoading at this time.
        (WebCore::CSSFontSelector::clearDocument): Now stops m_beginLoadingTimer and balances
        incrementRequestCount() calls for anything remaining in m_fontsToBeginLoading.
        (WebCore::CSSFontSelector::beginLoadingFontSoon): Added. Schedules the actual call to
        CachedFont::beginLoadingIfNeeded on a 0-delay timer, and meanwhile increments the request count
        on the CachedResourceLoader, which ensures that didFinishLoad will not be called while waiting
        for the timer to fire.
        (WebCore::CSSFontSelector::beginLoadTimerFired): Added. Actually calls
        CachedFont::beginLoadIfNeeded and balances the incrementRequestCount() made when the timer was
        scheduled.
        * css/CSSFontSelector.h:

2011-12-02  David Tseng  <dtseng@google.com>

        Send an AXCheckedStateChanged notification when the aria-checked attribute changes.
        https://bugs.webkit.org/show_bug.cgi?id=72754

        Reviewed by Chris Fleizach.

        Test: accessibility/aria-checkbox-sends-notification.html

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::checkedStateChanged):
        * accessibility/AXObjectCache.h:
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setChecked):

2011-12-02  Grace Kloba  <klobag@chromium.org>

        [chromium] Recycle tile-sized textures during commit to prevent reallocations
        https://bugs.webkit.org/show_bug.cgi?id=70645

        Reviewed by James Robinson.

        Currently texture request is capped by the high limit while we reclaim the
        textures in each commit. This triggers new tiles always allocated when scrolling.
        The proposal is to recycle the texture during request if the total used memory
        is about to exceed the reclaim limit.

        * platform/graphics/chromium/ManagedTexture.cpp:
        (WebCore::ManagedTexture::reserve):
        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::setMemoryLimitBytes):
        (WebCore::TextureManager::replaceTexture):
        (WebCore::TextureManager::requestTexture):
        * platform/graphics/chromium/TextureManager.h:

2011-12-02  Kent Tamura  <tkent@chromium.org>

        [Chromium] Show placeholder even if the element is focused
        https://bugs.webkit.org/show_bug.cgi?id=73629

        Reviewed by Hajime Morita.

        No new tests. Need to update some existing placeholder tests.

        * rendering/RenderThemeChromiumMac.h: Add shouldShowPlaceholderWhenFocused().
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::shouldShowPlaceholderWhenFocused):
        Returns true.
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::shouldShowPlaceholderWhenFocused): ditto.
        * rendering/RenderThemeChromiumSkia.h: Add shouldShowPlaceholderWhenFocused().

2011-12-02  Kent Tamura  <tkent@chromium.org>

        [Lion][Windows] Both of placeholder and input text are shown in <input type=number>
        https://bugs.webkit.org/show_bug.cgi?id=73615

        Reviewed by Joseph Pecoraro.

        Placeholder visibility was checked by HTMLInputElement::value
        emptiness. It should be innerTextValue emptiness because it is
        possible that a number field has empty HTMLInputElement::value and
        non-empty innerTextValue.

        Tests: fast/forms/number/number-placeholder-with-unacceptable-value.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateInnerTextValue):
        We should update placeholder visiblity when the innerTextValue is updated.
        (WebCore::HTMLInputElement::subtreeHasChanged): ditto.
        (WebCore::HTMLInputElement::setSuggestedValue):
        We don't need to call updatePlaceholderVisibility() because updateInnerTextValue() calls it.
        (WebCore::HTMLInputElement::setValueFromRenderer):
        We don't need to call updatePlaceholderVisibility() because subtreeHasChanged() calls it.
        * html/HTMLInputElement.h: Checks innerTextValue emptiness.
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::setValue):
        We don't need to call updatePlaceholderVisibility() because updateInnerTextValue() calls it.

2011-12-01  Alok Priyadarshi  <alokp@chromium.org>

        [chromium] CCLayerQuad does not return FloatQuad in correct order
        https://bugs.webkit.org/show_bug.cgi?id=73247

        Reviewed by James Robinson.

        Returned the FloatQuad coordinates in correct order.
        
        Covered by new unit tests in CCLayerQuadTest.cpp.

        * platform/graphics/chromium/cc/CCLayerQuad.cpp:
        (WebCore::CCLayerQuad::floatQuad):

2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101833.
        http://trac.webkit.org/changeset/101833
        https://bugs.webkit.org/show_bug.cgi?id=73678

        test_expectations file invalid: run Tools/Scripts/new-run-
        webkit-tests --lint-test-files (Requested by scheib on
        #webkit).

        * platform/graphics/chromium/cc/CCLayerQuad.cpp:
        (WebCore::CCLayerQuad::floatQuad):

2011-12-02  Alok Priyadarshi  <alokp@chromium.org>

        [chromium] CCLayerQuad does not return FloatQuad in correct orientation
        https://bugs.webkit.org/show_bug.cgi?id=73247

        Reviewed by James Robinson.

        Returned the FloatQuad coordinates in correct order.
        
        Covered by new unit tests in CCLayerQuadTest.cpp.

        * platform/graphics/chromium/cc/CCLayerQuad.cpp:
        (WebCore::CCLayerQuad::floatQuad):

2011-12-01  Dmitry Lomov  <dslomov@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=73589
        [V8][Chromium] Adjust postMessage to the latest "implementation-ready" spec.
        - postMessage should support transfer of MessagePorts
        - the order of arguments to Window::postMessage and Window::webkitPostMessage should be (msg, targetOrigin [, transfer])

        Reviewed by David Levin.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::handlePostMessageCallback):

2011-12-02  Enrica Casucci  <enrica@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=73497
        This is a followup to the patch submitted for the bug above.
        Tha patch was landed in r101575 and I missed to make one of the changes
        suggested by the reviewer that had pointed out that the code was still
        making use of the deprecatedNode method.

        Unreviewed.

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Changed deprecatedNode to containerNode.

2011-12-02  Tom Sepez  <tsepez@chromium.org>

        Content-security-policy script-src not enforced on workers.
        https://bugs.webkit.org/show_bug.cgi?id=73240

        Reviewed by Adam Barth.

        Add a CSP check in AbstractWorker.cpp as part of resolving URL.
        
        Test: http/tests/security/contentSecurityPolicy/worker-script-src.html

        * workers/AbstractWorker.cpp:
        (WebCore::AbstractWorker::resolveURL):

2011-12-02  Daniel Cheng  <dcheng@chromium.org>

        [chromium] Add plumbing for supporting custom MIME types in DataTransfer.
        https://bugs.webkit.org/show_bug.cgi?id=73594

        Reviewed by David Levin.

        Tests: editing/pasteboard/clipboard-customData.html
               fast/events/drag-customData.html

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::types):
        (WebCore::ChromiumDataObject::getData):
        (WebCore::ChromiumDataObject::setData):
        * platform/chromium/ChromiumDataObject.h:
        (WebCore::ChromiumDataObject::customData):
        * platform/chromium/PlatformSupport.h:

2011-12-02  Darin Adler  <darin@apple.com>

        [Mac] Form stream data structures still not threadsafe
        https://bugs.webkit.org/show_bug.cgi?id=73674

        Reviewed by Anders Carlsson.

        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::streamFieldsMapMutex): Added. 
        (WebCore::associateStreamWithResourceHandle): Use streamFieldsMapMutex.
        (WebCore::formCreate): Ditto.
        (WebCore::formFinalize): Ditto.
        (WebCore::httpBodyFromStream): Ditto.

2011-12-02  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Rename "multientry" to "multiEntry" per spec change
        https://bugs.webkit.org/show_bug.cgi?id=73578

        Reviewed by Darin Fisher.

        * storage/IDBIndex.h:
        (WebCore::IDBIndex::multiEntry):
        * storage/IDBIndex.idl:
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
        * storage/IDBIndexBackendImpl.h:
        (WebCore::IDBIndexBackendImpl::create):
        (WebCore::IDBIndexBackendImpl::multiEntry):
        * storage/IDBIndexBackendInterface.h:
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::getIndexes):
        (WebCore::IDBLevelDBBackingStore::createIndex):
        * storage/IDBLevelDBCoding.cpp:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::createIndex):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBObjectStoreBackendInterface.h:

2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101805.
        http://trac.webkit.org/changeset/101805
        https://bugs.webkit.org/show_bug.cgi?id=73670

        Many canvas tests started failing due to the isEmpty change
        (Requested by darin on #webkit).

        * platform/graphics/cg/PathCG.cpp:
        (WebCore::Path::boundingRect):
        (WebCore::Path::fastBoundingRect):
        (WebCore::Path::isEmpty):

2011-12-01  Darin Adler  <darin@apple.com>

        [Mac] Reference count threading violation in FormDataStreamMac.mm
        https://bugs.webkit.org/show_bug.cgi?id=73627

        Reviewed by Sam Weinig.

        Shows up as a crash during existing layout test runs so no new tests are required.

        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::streamFieldsMap): Replaced getStreamFormDataMap with this.
        Use an NSMapTable instead of a HashMap because we need to remove items from this
        on a non-main thread.
        (WebCore::associateStreamWithResourceHandle): Use NSMapGet instead of
        HashMap::contains here.
        (WebCore::formCreate): FormStreamFields now stores a RefPtr to the form data.
        Added the code to fill that in. Did it in a more modern way to avoid the leakRef
        and adoptRef that were used before. Replaced the code that set up the stream
        form data map entry with code that sets an entry in the streamFieldsMap.
        (WebCore::formFinishFinalizationOnMainThread): Added. Contains the work of
        finalization that must be done on the main thread, specifically, destroying the
        fields structure that contains objects with RefPtr in them. We can't touch these
        reference counts on non-main threads.
        (WebCore::formFinalize): Changed this to use NSMapRemove on the streamFieldsMap.
        Added a callOnMainThread to finish the finalization.
        (WebCore::setHTTPBody): Removed the leakRef, no longer needed, that used to be
        balanced by an adoptRef in formCreate.
        (WebCore::httpBodyFromStream): Changed to use NSMapGet.

2011-12-02  Antti Koivisto  <antti@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=73520
        REGRESSION(r101524): Article titles invisible until hover on blaze.com

        Reviewed by Darin Adler.
        
        We need to invalidate the matched declaration cache when new web fonts are loaded.
        Fonts in the cached RenderStyles may not be valid anymore.
        
        Also renamed m_matchStyleDeclarationCache -> m_matchedStyleDeclarationCache.
        
        Test reduction by the Reduction Fairy (aka kling).

        Test: fast/css/font-face-cache-bug.html

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
        (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
        (WebCore::CSSStyleSelector::invalidateMatchedDeclarationCache):
        * css/CSSStyleSelector.h:

2011-11-02  Jer Noble  <jer.noble@apple.com>

        MediaControls should use MediaController if present.
        https://bugs.webkit.org/show_bug.cgi?id=71410

        Reviewed by Eric Carlson.

        No new tests; covered by existing tests.

        Add support for individual media controls to control the MediaController of their associated
        HTMLMediaElement, if present.

        The video spec requires that UA provided media controls be implemented in terms of their 
        HTMLMediaElement's MediaController, if present.  So for each of the media controls, modify 
        their constructor to take a Document* instead of an HTMLMediaElement, and add an setter
        taking a MediaControllerInterface.

        Now that MediaControls have an abstract interface instead of an HTMLMediaElement, use toParentMediaElement
        to find the controllingVideoElement.
        * accessibility/AccessibilityMediaControls.cpp:
        (WebCore::AccessibilityMediaControlsContainer::controllingVideoElement):

        Pass the MediaController or the HTMLMediaElement when setting up the elements controls.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::createMediaControls):
        (WebCore::HTMLMediaElement::setMediaController):

        The following functions have only constructor changes:
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlElement::MediaControlElement):
        (WebCore::MediaControlPanelElement::MediaControlPanelElement):
        (WebCore::MediaControlPanelElement::create):
        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
        (WebCore::MediaControlTimelineContainerElement::create):
        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
        (WebCore::MediaControlVolumeSliderContainerElement::create):
        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
        (WebCore::MediaControlStatusDisplayElement::create):
        (WebCore::MediaControlInputElement::MediaControlInputElement):
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
        (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
        (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
        (WebCore::MediaControlPanelMuteButtonElement::create):
        (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement):
        (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
        (WebCore::MediaControlPlayButtonElement::create):
        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
        (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement):
        (WebCore::MediaControlSeekForwardButtonElement::create):
        (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement):
        (WebCore::MediaControlSeekBackButtonElement::create):
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
        (WebCore::MediaControlRewindButtonElement::create):
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlTimelineElement::create):
        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
        (WebCore::MediaControlVolumeSliderElement::create):
        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
        (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement):
        (WebCore::MediaControlFullscreenVolumeSliderElement::create):
        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
        (WebCore::MediaControlFullscreenButtonElement::create):
        (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement):
        (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement):
        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
        (WebCore::MediaControlTimeRemainingDisplayElement::create):
        (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement):
        (WebCore::MediaControlCurrentTimeDisplayElement::create):
        (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement):
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::MediaControlRootElement):
        (WebCore::MediaControls::create):
        (WebCore::MediaControlRootElement::create):
        * html/shadow/MediaControlRootElement.h:
        * html/shadow/MediaControls.cpp:
        (WebCore::MediaControls::MediaControls):
        * html/shadow/MediaControls.h:

        The following functions now call MediaControllerInterface instead of HTMLMediaElement directly:
        * html/shadow/MediaControlElements.h:
        (WebCore::MediaControlStatusDisplayElement::update):
        (WebCore::MediaControlMuteButtonElement::updateDisplayType):
        (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
        (WebCore::MediaControlPlayButtonElement::updateDisplayType):
        (WebCore::MediaControlSeekButtonElement::startTimer):
        (WebCore::MediaControlSeekButtonElement::stopTimer):
        (WebCore::MediaControlSeekButtonElement::nextRate):
        (WebCore::MediaControlSeekButtonElement::seekTimerFired):
        (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
        (WebCore::MediaControlTimelineElement::defaultEventHandler):
        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
        (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler):
        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler):
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::reset):
        (WebCore::MediaControlRootElement::playbackStarted):
        (WebCore::MediaControlRootElement::playbackProgressed):
        (WebCore::MediaControlRootElement::playbackStopped):
        (WebCore::MediaControlRootElement::updateTimeDisplay):
        (WebCore::MediaControlRootElement::loadedMetadata):
        (WebCore::MediaControlRootElement::changedVolume):
        (WebCore::MediaControlRootElement::enteredFullscreen):
        (WebCore::MediaControlRootElement::showVolumeSlider):
        (WebCore::MediaControlRootElement::defaultEventHandler):
        (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer):
        (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired):
        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
        (WebCore::MediaControls::create):
        (WebCore::MediaControlRootElementChromium::create):
        (WebCore::MediaControlRootElementChromium::reset):
        (WebCore::MediaControlRootElementChromium::playbackStarted):
        (WebCore::MediaControlRootElementChromium::playbackProgressed):
        (WebCore::MediaControlRootElementChromium::playbackStopped):
        (WebCore::MediaControlRootElementChromium::updateTimeDisplay):
        (WebCore::MediaControlRootElementChromium::defaultEventHandler):
        (WebCore::MediaControlRootElementChromium::changedVolume):
        (WebCore::MediaControlRootElementChromium::showVolumeSlider):
        * html/shadow/MediaControlRootElementChromium.h:

        The following functions set the current MediaControllerInterface.
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::setMediaController):
        * html/shadow/MediaControlElements.h:
        (WebCore::MediaControlElement::setMediaController):
        (WebCore::MediaControlElement::mediaController):
        (WebCore::MediaControlInputElement::setMediaController):
        (WebCore::MediaControlInputElement::mediaController):
        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::setMediaController):

2011-12-02  Stephen Chenney  <schenney@chromium.org>

        REGRESSION (r91125): Polyline tool in google docs is broken
        https://bugs.webkit.org/show_bug.cgi?id=65796

        Reviewed by Darin Adler.

        Work around a bug in CoreGraphics, that caused incorrect bounds for paths
        consisting only of move-to elements. This causes problems in SVG, when the enormous
        bounds prevented the drawing of things behind.

        Tests: svg/custom/path-moveto-only-rendering.svg
               svg/custom/subpaths-moveto-only-rendering.svg

        * platform/graphics/cg/PathCG.cpp:
        (WebCore::PathIsEmptyOrSingleMoveTester::PathIsEmptyOrSingleMoveTester): Class to
        test for isEmpty accoridng ot the same rules as other platforms.
        (WebCore::PathIsEmptyOrSingleMoveTester::isEmpty): Query the result
        (WebCore::PathIsEmptyOrSingleMoveTester::testPathElement): Path iterator method
        (WebCore::PathHasOnlyMoveToTester::PathHasOnlyMoveToTester): Class to test whether a
        path contains only move-to elements, and hence should have null bounds.
        (WebCore::PathHasOnlyMoveToTester::hasOnlyMoveTo): Query the result
        (WebCore::PathHasOnlyMoveToTester::testPathElement): Path iterator method.
        (WebCore::Path::boundingRect): Modified to check for move-to only paths
        (WebCore::Path::fastBoundingRect): Modified to check for move-to only paths
        (WebCore::Path::isEmpty): Now uses the method that matches other platforms.

2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101794.
        http://trac.webkit.org/changeset/101794
        https://bugs.webkit.org/show_bug.cgi?id=73656

        Broke win build (Requested by vsevik on #webkit).

        * bindings/js/ScriptCallStackFactory.cpp:
        * bindings/js/ScriptCallStackFactory.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionCallback):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        * bindings/v8/ScriptCallStackFactory.cpp:
        * bindings/v8/ScriptCallStackFactory.h:
        * inspector/InspectorInstrumentation.cpp:
        * inspector/InspectorInstrumentation.h:
        * inspector/WorkerInspectorController.h:
        * page/Console.cpp:
        (WebCore::Console::shouldCaptureFullStackTrace):
        * page/Console.h:

2011-12-02  Raphael Kubo da Costa  <kubo@profusion.mobi>

        Unreviewed, revert r101347.
        https://bugs.webkit.org/show_bug.cgi?id=73580

        It breaks the linking of Tools/ targets due to missing functions.

        * PlatformEfl.cmake:
        * platform/graphics/GraphicsLayer.cpp:
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/efl/GraphicsLayerEfl.cpp: Added.
        (WebCore::GraphicsLayer::create):
        (WebCore::GraphicsLayerEfl::GraphicsLayerEfl):
        (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
        (WebCore::GraphicsLayerEfl::setNeedsDisplay):
        (WebCore::GraphicsLayerEfl::setNeedsDisplayInRect):
        * platform/graphics/efl/GraphicsLayerEfl.h: Added.
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::solveCubicBezierFunction):
        (WebCore::solveStepsFunction):

2011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Extract default call stack creation and check for front-end from console.
        https://bugs.webkit.org/show_bug.cgi?id=73566

        Reviewed by Yury Semikhatsky.

        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        * bindings/js/ScriptCallStackFactory.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateParametersCheck):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionCallback):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        * bindings/v8/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        * bindings/v8/ScriptCallStackFactory.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
        * inspector/WorkerInspectorController.h:
        (WebCore::WorkerInspectorController::hasFrontend):
        * page/Console.cpp:
        * page/Console.h:

2011-12-02  Gavin Peters  <gavinp@chromium.org>

        Remove instrumentation tracking a fixed bug
        https://bugs.webkit.org/show_bug.cgi?id=73471

        The underlying bug is fixed (bug 72068), and this instrumentation was intrusive and using
        memory, plus the conditional compilation made me sad.

        Reviewed by Nate Chapin.

        No new tests.

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::ScriptElement):
        (WebCore::ScriptElement::requestScript):
        (WebCore::ScriptElement::stopLoadRequest):
        (WebCore::ScriptElement::notifyFinished):
        * dom/ScriptElement.h:
        * dom/ScriptRunner.cpp:
        (WebCore::ScriptRunner::queueScriptForExecution):

2011-12-02  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Split view works weirdly in network panel when resizing, showing/hiding main element.
        https://bugs.webkit.org/show_bug.cgi?id=73650

        Reviewed by Pavel Feldman.

        * inspector/front-end/SplitView.js:
        (WebInspector.SplitView.prototype._updateResizer):
        (WebInspector.SplitView.prototype.hideMainElement):
        (WebInspector.SplitView.prototype.showMainElement):
        (WebInspector.SplitView.prototype.onResize):
        (WebInspector.SplitView.prototype._restoreSidebarWidth):

2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101783.
        http://trac.webkit.org/changeset/101783
        https://bugs.webkit.org/show_bug.cgi?id=73652

        Broke chromium win build. (Requested by vsevik on #webkit).

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main):
        * WebCore.gypi:
        * bindings/scripts/generate-bindings.pl:
        * page/DOMWindow.idl:
        * webaudio/DOMWindowWebAudio.idl: Removed.

2011-11-28  Alexander Pavlov  <apavlov@chromium.org>

        Inline non-replaced elements are reported to have zero width and height
        https://bugs.webkit.org/show_bug.cgi?id=61117

        Reviewed by Antti Koivisto.

        According to http://www.w3.org/TR/CSS21/visudet.html, the "width" and "height" properties
        do not apply for inline non-replaced elements and should have their initial value of "auto"
        as their computed values.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2011-12-02  Sami Kyostila  <skyostil@chromium.org>

        [chromium] Make CCInputHandler scrolling stateful
        https://bugs.webkit.org/show_bug.cgi?id=73345

        This change makes the scrolling part of CCInputHandler stateful by
        replacing scrollRootLayer() with scrollBegin(), scrollBy() and
        scrollEnd(). This is done in preparation for scrollable sublayers.
        Specifically, scrollBegin() will allow CCLayerTreeHostImpl to perform
        input event hit testing to find the layer to be scrolled.

        Reviewed by Steve Block.

        Tested in CCLayerTreeHostImplTest.

        * platform/graphics/chromium/cc/CCInputHandler.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::currentTimeMs):
        (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
        (WebCore::findInnermostScrollableLayerAtPoint):
        (WebCore::CCLayerTreeHostImpl::scrollBegin):
        (WebCore::CCLayerTreeHostImpl::scrollBy):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

2011-12-02  Kentaro Hara  <haraken@chromium.org>

        Use the [Supplemental] IDL for webaudio attributes in Chromium
        https://bugs.webkit.org/show_bug.cgi?id=73394

        Reviewed by Adam Barth.

        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
        declarations of webaudio from DOMWindow.idl into a new IDL file
        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
        feature (aka a module).

        - This patch changes the build flow of WebCore.gyp as follows:

            Previous build flow:
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl generates .h and .cpp files for $idl;
                }

            New build flow (See the discussions in bug 72138 for more details):
                resolve-supplemental.pl depends on all IDL files;
                resolve-supplemental.pl reads all IDL files;
                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
                resolve-supplemental.pl outputs supplemental_dependency.tmp;
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl reads supplemental_dependency.tmp;
                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
                }

        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
        will be removed after build scripts for all platforms support the [Supplemental] IDL.
        The motivation for the [Supplemented] IDL is as follows:

        In order to support the [Supplemental] IDL, we need to
        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.

        This build flow requires a change on the following build scripts,
        but changing all the build scripts all at once without any regression is too difficult:

            - DerivedSources.make
            - DerivedSources.pri
            - GNUmakefile.am
            - PlatformBlackBerry.cmake
            - UseJSC.cmake
            - UseV8.cmake
            - WebCore.vcproj/MigrateScripts
            - WebCore.vcproj/WebCore.vcproj
            - bindings/gobject/GNUmakefile.am
            - WebCore.gyp/WebCore.gyp

        Thus, we are planning to change the build scripts one by one, which implies that
        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
        in another IDL file somewhere, like this:

            DOMWindowWebAudio.idl:
                interface [
                    Supplemental=DOMWindow
                ] DOMWindowWebAudio {
                    attribute attr1;
                    attribute attr2;
                };

            DOMWindow.idl:
                interface [
                ] DOMWindow {
                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
                    attribute attr3;
                    attribute attr4;
                };

        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:

            - If a given build script supports the [Supplemental] IDL,
            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).

        Tests: webaudio/*

        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file.
        * WebCore.gypi: Added DOMWindowWebAudio.idl.
        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.

2011-12-02  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Network panel row highlighting does not work.
        https://bugs.webkit.org/show_bug.cgi?id=73644

        Reviewed by Pavel Feldman.

        * inspector/front-end/networkLogView.css:
        (.network-log-grid tr.highlighted-row):
        (from):
        (to):

2011-12-02  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: remove console.timeStamp from the inspector backend dispatcher.

        * inspector/front-end/InspectorBackend.js:
        (InspectorBackendClass.prototype.sendMessageObjectToBackend):

2011-12-02  Hajime Morrita  <morrita@chromium.org>

        Unreviewed, rolling out r101751 and r101775.
        http://trac.webkit.org/changeset/101751
        http://trac.webkit.org/changeset/101775
        https://bugs.webkit.org/show_bug.cgi?id=73191

        breaks Windows build

        * ForwardingHeaders/runtime/JSExportMacros.h: Removed.
        * ForwardingHeaders/wtf/ExportMacros.h: Removed.
        * WebCore.vcproj/QTMovieWinCommon.vsprops:
        * WebCore.xcodeproj/project.pbxproj:
        * config.h:
        * platform/PlatformExportMacros.h: Removed.

2011-12-02  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: introduce backend stub generation from JSON for the standalone development / remote front-ends.
        https://bugs.webkit.org/show_bug.cgi?id=73636

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DOMStorage.js:
        * inspector/front-end/Database.js:
        * inspector/front-end/InspectorBackend.js:
        (InspectorBackendClass):
        (InspectorBackendClass.prototype.registerCommand):
        (InspectorBackendClass.prototype.registerEvent):
        (InspectorBackendClass.prototype.runAfterPendingDispatches):
        (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
        * inspector/front-end/TimelineManager.js:
        * inspector/front-end/inspector.js:

2011-12-02  MORITA Hajime  <morrita@google.com>

        Unreviewed, another attempt to build fix for r101751:
        Adding an include path to make PlatformExportMacros.h visibile from QTMovieWin.

        * WebCore.vcproj/QTMovieWinCommon.vsprops:

2011-12-02  Hajime Morrita  <morrita@chromium.org>

        Unreviewed, rolling out r101772.
        http://trac.webkit.org/changeset/101772

        It didn't fix the build failure

        * WebCore.vcproj/QTMovieWinCommon.vsprops:

2011-12-02  MORITA Hajime  <morrita@google.com>

        Unreviewed attempt to build fix for r101751:
        Adding an include path to make PlatformExportMacros.h visibile from QTMovieWin.

        * WebCore.vcproj/QTMovieWinCommon.vsprops:

2011-12-01  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] pass preferred resource line number to extension's open resource handler
        https://bugs.webkit.org/show_bug.cgi?id=73084

        Reviewed by Pavel Feldman.

        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
        (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._handleOpenURL):
        * inspector/front-end/HandlerRegistry.js:
        (get WebInspector.HandlerRegistry.prototype.set dispatch):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._contextMenu):
        (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
        (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
        * inspector/front-end/externs.js:
        (WebInspector.populateResourceContextMenu):
        * inspector/front-end/inspector.js:
        (WebInspector.populateResourceContextMenu):
        (WebInspector._showAnchorLocation):

2011-12-01  Nayan Kumar K  <nayankk@motorola.com>

        [GTK] Add compilation options to enable/disable Accelerated Compositing and to choose texture mapper implementation.
        https://bugs.webkit.org/show_bug.cgi?id=73458

        Reviewed by Martin Robinson.

        No new tests added as this patch doesn't affect any functionality.

        * GNUmakefile.am: Guard the include files.
        * GNUmakefile.list.am: Guard the compilation of few files.
        * platform/graphics/GraphicsLayer.h: Guard the typedef of GraphicsLayer.

2011-12-01  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: use object properties, not element attributes to pass preferred panel/line/request id in linkified anchors
        https://bugs.webkit.org/show_bug.cgi?id=73556

        Reviewed by Pavel Feldman.

        * inspector/front-end/AuditFormatters.js:
        (WebInspector.AuditFormatters.resourceLink):
        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage.else.else.linkifier):
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._resourceByAnchor):
        (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
        * inspector/front-end/ResourceUtils.js:
        (WebInspector.linkifyStringAsFragment):
        (WebInspector.linkifyResourceAsNode):
        (WebInspector.linkifyRequestAsNode):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
        * inspector/front-end/inspector.js:
        (WebInspector._showAnchorLocation):

2011-12-02  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: refactor InspectorBackendDispatcher so that it does not use JSON-serialized command templates.
        https://bugs.webkit.org/show_bug.cgi?id=73569

        Reviewed by Yury Semikhatsky.

        * inspector/CodeGeneratorInspector.py:
        (Generator.process_command):
        * inspector/Inspector.json:
        * inspector/front-end/InspectorBackend.js:
        (InspectorBackendClass.prototype._wrap.callback):
        (InspectorBackendClass.prototype._wrap):
        (InspectorBackendClass.prototype.registerCommand):
        (InspectorBackendClass.prototype._invoke):
        (InspectorBackendClass.prototype._sendMessageToBackend):
        (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject):

2011-12-02  Yosifumi Inoue  <yosin@chromium.org>

        Range sliders and spin buttons don't work with multi-columns.
        https://bugs.webkit.org/show_bug.cgi?id=70898

        Reviewed by Dan Bernstein.

        This patch makes RenderBlock::hitTestColumns and
        RenderBoxModelObject::mapAbsoluteToLocal to handle point
        in multi-column same logic.

        In multi-column, coordinate of box model rendering object is different
        from absolute coordinate.. Columns in box model rendering object spans
        vertically rather than horizontally.

        When absolute point is represented in (column[i]+dx, column[0]+dy),
        it is (column[0]+dx, column[0] + columnHeight + dy) in box model
        rendering object coordinate.

        Tests: fast/events/document-elementFromPoint.html
               fast/events/offsetX-offsetY.html
               fast/forms/number/spin-in-multi-column.html
               fast/forms/range/slider-in-multi-column.html
               fast/forms/select/listbox-in-multi-column.html

        * rendering/RenderBlock.cpp:
        (WebCore::ColumnRectIterator::ColumnRectIterator): Added
        (WebCore::ColumnRectIterator::advance): Added
        (WebCore::ColumnRectIterator::columnRect): Added
        (WebCore::ColumnRectIterator::hasMore): Added
        (WebCore::ColumnRectIterator::adjust): Added
        (WebCore::ColumnRectIterator::update): Added
        (WebCore::RenderBlock::hitTestColumns): Use ColumnRectIterator.
        (WebCore::RenderBlock::adjustForColumnRect): Added
        * rendering/RenderBlock.h: Add adjustForColumnRect.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::mapAbsoluteToLocalPoint): Call RenderBoxModelObject::mapAbsoluteToLocalPoint.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint): Move from RenderInline::mapAbsoluteToLocalPoint and call RenderBlock::adjustForColumnRect.
        * rendering/RenderBoxModelObject.h: add mapAbsoluteToLocalPoint.
        * rendering/RenderInline.cpp: Move mapAbsoluteToLocalPoint to RenderBoxModelObject.
        * rendering/RenderInline.h: remove mapAbsoluteToLocalPoint.

2011-12-02  Pavel Feldman  <pfeldman@google.com>

        InspectorController destruction order leads to use-after-free
        https://bugs.webkit.org/show_bug.cgi?id=73582

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorBaseAgent.h:
        (WebCore::InspectorBaseAgentInterface::discardAgent):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
        (WebCore::InspectorCSSAgent::discardAgent):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::~InspectorController):
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
        (WebCore::InspectorDOMDebuggerAgent::discardAgent):
        * inspector/InspectorDOMDebuggerAgent.h:

2011-12-02  Leo Yang  <leo.yang@torchmobile.com.cn>

        image element with src attribute can't be replaced by content: url() style
        https://bugs.webkit.org/show_bug.cgi?id=42840

        ImageLoader were updating renderer even if the renderer's image is
        style generated content. This was wrong because if an image element
        with src attribute and style="content: url(...)" attribute the
        src image might override content image. The correct behavior should
        be showing content image.

        This patch is differentiating style generated RenderImage from the
        normal RenderImage and keeps the RenderImageSource untouched if the
        renderer is generated content.

        Reviewed by Darin Adler.

        Test: fast/images/image-css3-content-data.html

        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::renderImageResource):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::RenderImage):
        * rendering/RenderImage.h:
        (WebCore::RenderImage::setIsGeneratedContent):
        (WebCore::RenderImage::isGeneratedContent):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):

2011-12-01  David Levin  <levin@chromium.org>

        Add a way to automatically size a single frame to fit its content.
        https://bugs.webkit.org/show_bug.cgi?id=73420

        Reviewed by Dmitry Titov.

        No new functionality exposed so no new tests. (There is a Chromium
        specific test in https://bugs.webkit.org/show_bug.cgi?id=73058.)

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView): Initialized the new variables.
        (WebCore::FrameView::layout):
        (WebCore::FrameView::autoSizeIfEnabled):
        (WebCore::FrameView::enableAutoSizeMode):
        * page/FrameView.h:

2011-12-01  Hajime Morrita  <morrita@chromium.org>

        JS_INLINE and WTF_INLINE should be visible from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=73191

        Reviewed by Kevin Ollivier.

        - Moved export related definitions from config.h
          to ExportMacros.h, JSExportMacros.h and PlatformExportMacros.h
        - Added forwarding headers which are referred from config.h

        No new tests. Only build related changes.

        * ForwardingHeaders/runtime/JSExportMacros.h: Added.
        * ForwardingHeaders/wtf/ExportMacros.h: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * config.h:
        * platform/PlatformExportMacros.h: Copied from Source/JavaScriptCore/wtf/ExportMacros.h.

2011-12-01  Jon Lee  <jonlee@apple.com>

        [WK2] Add further support for notifications
        https://bugs.webkit.org/show_bug.cgi?id=73572
        <rdar://problem/10472195>

        Reviewed by Darin Adler.

        * WebCore.exp.in: Export constructor and dispatch functions
        * dom/EventNames.h: Add show event.
        * notifications/Notification.cpp:
        (WebCore::Notification::show): For the Mac platform, we just forward the show() call to the
        notification client and update the state, because we cannot get synchronous acknowledgment that the
        notification got delivered.
        (WebCore::Notification::dispatchShowEvent): Create simple events and dispatch to the notification.
        (WebCore::Notification::dispatchClickEvent): Ditto.
        (WebCore::Notification::dispatchCloseEvent): Ditto.
        (WebCore::Notification::dispatchErrorEvent): Ditto.
        * notifications/Notification.h: Add dispatch functions.
        * notifications/Notification.idl: Add onshow event listener. The ondisplay event listener should be
        removed when implementations change the event listener to onshow.

2011-12-01  Max Vujovic  <mvujovic@adobe.com>

        Focus ring of imagemap's area element does not scale when CSS zoom style is applied
        https://bugs.webkit.org/show_bug.cgi?id=73595

        Reviewed by Darin Adler.

        Tests: fast/images/imagemap-focus-ring-zoom-style-expected.html
               fast/images/imagemap-focus-ring-zoom-style.html

        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::computePath):
        The computePath method now uses the RenderObject's effectiveZoom 
        instead of the Frame's page zoom to compute the path for the area
        element's focus ring.

2011-12-01  Kent Tamura  <tkent@chromium.org>

        REGRESSION(r90971): Placeholder text of input control is rendered
        over positioned elements with z-index:0.
        https://bugs.webkit.org/show_bug.cgi?id=67408

        Reviewed by Darin Adler.

        The bug was caused by "position:relative" in the default style of
        -webkit-input-placeholder. If there were other positioned elements
        with z-index:0, a placeholder might be rendered over them.

        "position:relative" is not needed because RenderTextControlSingleLine
        and RenderTextControlMultipleLine lay out the placeholder renderer by
        custom layout code.

        Tests: fast/forms/placeholder-with-positioned-element.html

        * css/html.css:
        (::-webkit-input-placeholder): Remove position:relative.

2011-12-01  Andreas Kling  <kling@webkit.org>

        CSSMutableStyleDeclaration: Removed unused multiLength argument in setLengthProperty().
        <http://webkit.org/b/73602>

        Reviewed by Darin Adler.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
        * css/CSSMutableStyleDeclaration.h:

2011-12-01  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r101737.
        http://trac.webkit.org/changeset/101737
        https://bugs.webkit.org/show_bug.cgi?id=73394

        Chromium/Mac and Chromium/Win build are broken

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main):
        * WebCore.gypi:
        * bindings/scripts/generate-bindings.pl:
        * page/DOMWindow.idl:
        * webaudio/DOMWindowWebAudio.idl: Removed.

2011-12-01  Kentaro Hara  <haraken@chromium.org>

        Use the [Supplemental] IDL for webaudio attributes in Chromium
        https://bugs.webkit.org/show_bug.cgi?id=73394

        Reviewed by Adam Barth.

        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
        declarations of webaudio from DOMWindow.idl into a new IDL file
        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
        feature (aka a module).

        - This patch changes the build flow of WebCore.gyp as follows:

            Previous build flow:
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl generates .h and .cpp files for $idl;
                }

            New build flow (See the discussions in bug 72138 for more details):
                resolve-supplemental.pl depends on all IDL files;
                resolve-supplemental.pl reads all IDL files;
                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
                resolve-supplemental.pl outputs supplemental_dependency.tmp;
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl reads supplemental_dependency.tmp;
                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
                }

        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
        will be removed after build scripts for all platforms support the [Supplemental] IDL.
        The motivation for the [Supplemented] IDL is as follows:

        In order to support the [Supplemental] IDL, we need to
        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.

        This build flow requires a change on the following build scripts,
        but changing all the build scripts all at once without any regression is too difficult:

            - DerivedSources.make
            - DerivedSources.pri
            - GNUmakefile.am
            - PlatformBlackBerry.cmake
            - UseJSC.cmake
            - UseV8.cmake
            - WebCore.vcproj/MigrateScripts
            - WebCore.vcproj/WebCore.vcproj
            - bindings/gobject/GNUmakefile.am
            - WebCore.gyp/WebCore.gyp

        Thus, we are planning to change the build scripts one by one, which implies that
        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
        in another IDL file somewhere, like this:

            DOMWindowWebAudio.idl:
                interface [
                    Supplemental=DOMWindow
                ] DOMWindowWebAudio {
                    attribute attr1;
                    attribute attr2;
                };

            DOMWindow.idl:
                interface [
                ] DOMWindow {
                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
                    attribute attr3;
                    attribute attr4;
                };

        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:

            - If a given build script supports the [Supplemental] IDL,
            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).

        Tests: webaudio/*

        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file.
        * WebCore.gypi: Added DOMWindowWebAudio.idl.
        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.

2011-12-01  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] StyleAttributeMutationScope shouldn't be implemented with static classes
        https://bugs.webkit.org/show_bug.cgi?id=73596

        Reviewed by Ojan Vafai.

        No tests needed. This patch is a minor refactor.

        * css/CSSMutableStyleDeclaration.cpp:

2011-12-01  Andreas Kling  <kling@webkit.org>

        CSSMutableStyleDeclaration: Remove unused function setStringProperty().
        <http://webkit.org/b/73597>

        Reviewed by Darin Adler.

        * css/CSSMutableStyleDeclaration.cpp:
        * css/CSSMutableStyleDeclaration.h:

2011-12-01  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r101268): Intermittent assertion failure in fast/block/child-not-removed-from-parent-lineboxes-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=73250

        Reviewed by Darin Adler.

        Reset the position when exiting early in layoutRunsAndFloatsInRange.

        No new tests because we don't have a reliable reproduction for this failure.
        However, the failure is caught by the existing fast/block/child-not-removed-from-parent-lineboxes-crash.html
        intermittently with about 30% probability.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):

2011-12-01  Shinya Kawanaka  <shinyak@google.com>

        Asynchronous SpellChecker should consider multiple requests.
        https://bugs.webkit.org/show_bug.cgi?id=72939

        Reviewed by Hajime Morita.

        Now SpellChecker saves a request when it is processing the previous spellcheck request.
        If there is a request having the same root editable element, the older request is replaced by newer request.

        Test: editing/spelling/spellcheck-queue.html

        * editing/SpellChecker.cpp:
        (WebCore::SpellChecker::SpellCheckRequest::SpellCheckRequest):
          A structure to have spell check request.
        (WebCore::SpellChecker::SpellCheckRequest::sequence):
        (WebCore::SpellChecker::SpellCheckRequest::range):
        (WebCore::SpellChecker::SpellCheckRequest::text):
        (WebCore::SpellChecker::SpellCheckRequest::mask):
        (WebCore::SpellChecker::SpellCheckRequest::rootEditableElement):
        (WebCore::SpellChecker::SpellChecker):
        (WebCore::SpellChecker::createRequest):
        (WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
          When timer is fired, queued request is processed if any.
        (WebCore::SpellChecker::canCheckAsynchronously):
        (WebCore::SpellChecker::requestCheckingFor):
          When the spellchecker is processing another request, the latest request is queued.
        (WebCore::SpellChecker::invokeRequest):
        (WebCore::SpellChecker::enqueueRequest):
          Enqueues a request. If there is an older request whose root editable element is the same as the request,
          it will be replaced.
        (WebCore::SpellChecker::didCheck):
        * editing/SpellChecker.h:

2011-12-01  Takashi Toyoshima  <toyoshim@chromium.org>

        bufferedAmount calculation is wrong in CLOSING and CLOSED state.
        https://bugs.webkit.org/show_bug.cgi?id=73404

        Reviewed by Kent Tamura.

        WebSocket::bufferedAmount() must return buffered frame size including
        disposed frames which are passed via send() calls after close().

        Old implementation had a problem at CLOSING state. Buffered frame size
        was added to m_bufferedAmountAfterClose at close(). But the function
        returns the sum of m_bufferedAmountAfterClose and internally buffered
        frame size, or m_channel->bufferedAmount(). So, buffered frames was
        double counted.

        In new implementation, m_bufferedAmount always represents buffered
        frame size and m_bufferedAmountAfterClose does disposed frame size.
        As a result, bufferedAmount() implementation become just to return the
        sum of m_bufferedAmount and m_bufferedAmountAfterClose.

        Test: http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html

        * websockets/WebSocket.cpp: Implement new bufferedAmount handling.
        (WebCore::saturateAdd):
        (WebCore::WebSocket::WebSocket):
        (WebCore::WebSocket::send):
        (WebCore::WebSocket::close):
        (WebCore::WebSocket::bufferedAmount):
        (WebCore::WebSocket::didUpdateBufferedAmount):
        (WebCore::WebSocket::didClose):
        * websockets/WebSocket.h:

2011-12-01  Kentaro Hara  <haraken@chromium.org>

        Replace a custom constructor of window.Option with the [NamedConstructor] IDL
        https://bugs.webkit.org/show_bug.cgi?id=73498

        Reviewed by Adam Barth.

        Removes JSOptionConstructor.{h,cpp} and generates the constructor of window.Option
        by the [NamedConstructor] IDL.

        Tests: fast/js/custom-constructors.html
               fast/forms/option-index.html
               fast/forms/add-and-remove-option.html
               fast/dom/dom-add-optionelement.html

        * GNUmakefile.list.am: Removed JSOptionConstructor.{h,cpp}.
        * Target.pri: Ditto.
        * UseJSC.cmake: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.order: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::option): Specifies the NamedConstructor.
        * bindings/js/JSOptionConstructor.cpp: Removed.
        * bindings/js/JSOptionConstructor.h: Removed.
        * page/DOMWindow.idl: Removed the [JSCustomConstructor] IDL.

2011-12-01  Kentaro Hara  <haraken@chromium.org>

        Replace a custom constructor of window.Audio with the [NamedConstructor] IDL
        https://bugs.webkit.org/show_bug.cgi?id=73496

        Reviewed by Adam Barth.

        Removes JSAudioConstructor.{h,cpp} and generates the constructor of window.Audio
        by the [NamedConstructor] IDL.

        Tests: fast/js/custom-constructors.html
               media/audio-constructor.html
               media/audio-constructor-src.html
               media/audio-constructor-preload.html
               media/audio-controls-do-not-fade-out.html
               media/audio-controls-rendering.html

        * GNUmakefile.list.am: Removed JSAudioConstructor.{h,cpp}.
        * Target.pri: Ditto.
        * UseJSC.cmake: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.order: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.

        * bindings/js/JSAudioConstructor.cpp: Removed.
        * bindings/js/JSAudioConstructor.h: Removed.
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::audio): Specifies the NamedConstructor.
        * page/DOMWindow.idl: Removed the [JSCustomConstructor] IDL.

2011-12-01  Mark Pilgrim  <pilgrim@chromium.org>

        [FileSystem API] DirectoryEntry.removeRecursively successCallback is required
        https://bugs.webkit.org/show_bug.cgi?id=69644

        Reviewed by Adam Barth.

        * fileapi/DirectoryEntry.idl: remove [Optional] flag from successCallback

2011-12-01  Mark Pilgrim  <pilgrim@chromium.org>

        [FileSystem API] DirectoryEntry.getDirectory path argument is required
        https://bugs.webkit.org/show_bug.cgi?id=69643

        Reviewed by Adam Barth.

        Test: fast/filesystem/simple-required-arguments-getdirectory.html

        * bindings/js/JSDirectoryEntryCustom.cpp:
        (WebCore::JSDirectoryEntry::getDirectory): throw TypeError if not enough arguments
        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
        (WebCore::V8DirectoryEntry::getDirectoryCallback): throw TypeError if not enough arguments

2011-12-01  Rafael Weinstein  <rafaelw@chromium.org>

        V8 bindings cleanup: V8WindowErrorHandler shouldn't be directly invoking script
        https://bugs.webkit.org/show_bug.cgi?id=73576

        Reviewed by Adam Barth.

        No tests needed. This patch is just bindings hygiene.

        * bindings/v8/V8WindowErrorHandler.cpp:
        (WebCore::V8WindowErrorHandler::callListenerFunction):

2011-12-01  Benjamin Poulain  <benjamin@webkit.org>

        URLs are encoded in UTF-8, then decoded as if they are Latin1
        https://bugs.webkit.org/show_bug.cgi?id=71758

        Reviewed by Darin Adler.

        Previously, invalid URLs could have a string emanating from a
        partial parsing of the input. The creation of the string was done
        through the Latin1 codec regardless of the encoding of the char* url.

        This caused two types of issues, URLs were evaluated as half-parsed,
        and the coding and decoding of the string was not consistent.

        This patch changes KURL::parse() to fallback on the original string
        whenever the parsing of the URL fails.

        Test: fast/url/invalid-urls-utf8.html

        * platform/KURL.cpp:
        (WebCore::KURL::KURL):
        (WebCore::KURL::init):
        (WebCore::KURL::parse):
        Previously, originalString was only used as an optimization to avoid
        the allocation of a string. Since this optimization depends on the
        comparison of the incoming string and the encoded buffer.
        This patches generalizes originalString to always be the original string
        being parsed by KURL. The optimization is kept by comparing that string
        and the final parsed result.
        * platform/KURL.h:
        (WebCore::KURL::parse):
        * platform/cf/KURLCFNet.cpp:
        (WebCore::KURL::KURL):
        * platform/mac/KURLMac.mm:
        (WebCore::KURL::KURL):

2011-12-01  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Add a helper function to find the current executable's path
        https://bugs.webkit.org/show_bug.cgi?id=73473

        Reviewed by Gustavo Noronha Silva.

        No new tests. This should not change behavior.

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::applicationDirectoryPath): Now use the new WTF function to get the
        current executable's path.

2011-12-01  Andreas Kling  <kling@webkit.org>

        StyledElement: Clean up inline style accessors.
        <http://webkit.org/b/73568>

        Reviewed by Antti Koivisto.

        Renamed StyledElement's getInlineStyleDecl() to ensureInlineStyleDecl() to
        make it clear that it will always return non-null as opposed to inlineStyleDecl().

        Also updated call sites to store the return value in a CSSInlineStyleDeclaration*
        rather than a CSSMutableStyleDeclaration*, and reduced scoping of temporaries
        in some cases.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::destroyInlineStyleDecl):
        (WebCore::StyledElement::parseMappedAttribute):
        (WebCore::StyledElement::ensureInlineStyleDecl):
        (WebCore::StyledElement::style):
        (WebCore::StyledElement::copyNonAttributeProperties):
        (WebCore::StyledElement::addSubresourceAttributeURLs):
        * dom/StyledElement.h:
        (WebCore::StyledElement::inlineStyleDecl):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
        (WebCore::ApplyStyleCommand::addBlockStyle):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI):
        (WebCore::DeleteButtonController::show):
        (WebCore::DeleteButtonController::hide):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
        * html/ValidationMessage.cpp:
        (WebCore::adjustBubblePosition):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlElement::show):
        (WebCore::MediaControlElement::hide):
        (WebCore::MediaControlPanelElement::setPosition):
        (WebCore::MediaControlPanelElement::resetPosition):
        (WebCore::MediaControlPanelElement::makeOpaque):
        (WebCore::MediaControlPanelElement::makeTransparent):
        (WebCore::MediaControlInputElement::show):
        (WebCore::MediaControlInputElement::hide):
        * html/shadow/MeterShadowElement.cpp:
        (WebCore::MeterValueElement::setWidthPercentage):
        * html/shadow/ProgressShadowElement.cpp:
        (WebCore::ProgressValueElement::setWidthPercentage):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::TrackLimiterElement::create):

2011-12-01  Kelly Norton  <knorton@google.com>

        More void functions eager to return values in RenderObject & WebFrameImpl
        https://bugs.webkit.org/show_bug.cgi?id=73571

        Reviewed by Adam Barth.

        * rendering/RenderObject.h:
        (WebCore::RenderObject::computeAbsoluteRepaintRect):

2011-12-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101691.
        http://trac.webkit.org/changeset/101691
        https://bugs.webkit.org/show_bug.cgi?id=73588

        Tests fail on Chromium bots, early warning system warned
        committer, please adjust test_expectations in patch (Requested
        by scheib on #webkit).

        * platform/KURL.cpp:
        (WebCore::KURL::KURL):
        (WebCore::KURL::init):
        (WebCore::KURL::parse):
        * platform/KURL.h:
        * platform/cf/KURLCFNet.cpp:
        (WebCore::KURL::KURL):
        * platform/mac/KURLMac.mm:
        (WebCore::KURL::KURL):

2011-12-01  Peter Beverloo  <peter@chromium.org>

        [Chromium] Add the FontCache implementation for Android
        https://bugs.webkit.org/show_bug.cgi?id=73452

        Add the FontCache implementation specific for the Chromium WebKit
        port on Android, and include various font-related files intended for
        Linux which can be re-used.

        Reviewed by Adam Barth.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/graphics/chromium/FontCacheAndroid.cpp: Added.
        (WebCore::getFallbackFontName):
        (WebCore::isFallbackFamily):
        (WebCore::FontCache::platformInit):
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        (WebCore::FontCache::getTraitsInFamily):
        (WebCore::FontCache::createFontPlatformData):

2011-12-01  Tony Chang  <tony@chromium.org>

        Need to implement flex-flow: row-reverse
        https://bugs.webkit.org/show_bug.cgi?id=70778

        Reviewed by Ojan Vafai.

        We can't just change the direction of the FlexOrderIterator because we want the overflow to be
        on the left side.  Instead, we apply similar logic as when we're laying out RTL content. Putting
        the check in isLeftToRightFlow() lets us flip the flexbox's border and padding and the flexitems'
        margins.  We then layout from right to left in layoutAndPlaceChildren.

        Also remove 2 uncalled functions.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::isReverseFlow):
        (WebCore::RenderFlexibleBox::isLeftToRightFlow):
        * rendering/RenderFlexibleBox.h:

2011-12-01  Daniel Sievers  <sievers@chromium.org>

        [Chromium] Early returns in calculateDrawTransformsAndVisibilityInternal() are not respected by parent.
        https://bugs.webkit.org/show_bug.cgi?id=73270

        Non-drawing child trees should not be added to the parent render surface's layer list
        and should neither extend the parent layer's drawable content rect.

        This also fixes assertions from the content texture residency logic, which doesn't like it
        if we try to use a render surface through a parent, while that surface itself was never 'used'
        in the same frame.

        Reviewed by James Robinson.

        Added unit test.

        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):

2011-12-01  David Reveman  <reveman@chromium.org>

        [Chromium] Use contentBounds instead of bounds for invalidation.
        https://bugs.webkit.org/show_bug.cgi?id=73525

        Reviewed by James Robinson.

        Use setNeedsDisplay() instead of setNeedsDisplayRect() when possible.

        No new tests.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setBounds):

2011-12-01  Andreas Kling  <kling@webkit.org>

        CSSStyleSelector: Add missing fields to constructor initializer list.
        <http://webkit.org/b/73565>

        Reviewed by Antti Koivisto.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):

2011-12-01  Benjamin Poulain  <bpoulain@apple.com>

        Get rid of the unused function nameForCursorType()
        https://bugs.webkit.org/show_bug.cgi?id=73529

        Reviewed by Joseph Pecoraro.

        The function nameForCursorType was introduced in r63339 and has not been used anywhere
        since that commit.

        * WebCore.exp.in:
        * platform/Cursor.cpp:
        * platform/Cursor.h:

2011-12-01  Andreas Kling  <kling@webkit.org>

        CSSMutableStyleDeclaration: Unnecessary double hash lookup in construction.
        <http://webkit.org/b/73564>

        Reviewed by Antti Koivisto.

        Use HashMap::find() instead of contains() followed by get() on
        successful lookup.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):

2011-11-30  Benjamin Poulain  <benjamin@webkit.org>

        URLs are encoded in UTF-8, then decoded as if they are Latin1
        https://bugs.webkit.org/show_bug.cgi?id=71758

        Reviewed by Darin Adler.

        Previously, invalid URLs could have a string emanating from a
        partial parsing of the input. The creation of the string was done
        through the Latin1 codec regardless of the encoding of the char* url.

        This caused two types of issues, URLs were evaluated as half-parsed,
        and the coding and decoding of the string was not consistent.

        This patch changes KURL::parse() to fallback on the original string
        whenever the parsing of the URL fails.

        Test: fast/url/invalid-urls-utf8.html

        * platform/KURL.cpp:
        (WebCore::KURL::KURL):
        (WebCore::KURL::init):
        (WebCore::KURL::parse):
        Previously, originalString was only used as an optimization to avoid
        the allocation of a string. Since this optimization depends on the
        comparison of the incoming string and the encoded buffer.
        This patches generalizes originalString to always be the original string
        being parsed by KURL. The optimization is kept by comparing that string
        and the final parsed result.
        * platform/KURL.h:
        (WebCore::KURL::parse):
        * platform/cf/KURLCFNet.cpp:
        (WebCore::KURL::KURL):
        * platform/mac/KURLMac.mm:
        (WebCore::KURL::KURL):

2011-12-01  Wei Charles  <charles.wei@torchmobile.com.cn>

        [Blackberry] Upstream BlackBerry porting of plugin framework -- part 2
        https://bugs.webkit.org/show_bug.cgi?id=73513

        Reviewed by Antonio Gomes.

        No new tests for now.

        * plugins/blackberry/NPCallbacksBlackBerry.cpp: Added.
        * plugins/blackberry/NPCallbacksBlackBerry.h: Added.
        * plugins/blackberry/PluginViewPrivateBlackBerry.cpp: Added.
        * plugins/blackberry/PluginViewPrivateBlackBerry.h: Added.

2011-12-01  Andreas Kling  <kling@webkit.org>

        JSC/CSSOM: root(CSSElementStyleDeclaration) should never need to follow the element.
        <http://webkit.org/b/73561>

        Reviewed by Antti Koivisto.

        A CSSElementStyleDeclaration should always either have a null element pointer,
        or return a valid parentStyleSheet(), since having an element pointer implies
        having an associated element sheet.

        In light of this, replace the opaque-root-from-element path for style declarations
        by an assertion.

        * bindings/js/JSDOMBinding.h:
        (WebCore::root):

2011-12-01  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Make the feature defines for DOM names explicit
        https://bugs.webkit.org/show_bug.cgi?id=72812

        Reviewed by Daniel Bates.

        * CMakeLists.txt:

2011-11-30  Dmitry Lomov  <dslomov@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=73503
        [Chromium][V8] Implement ArrayBuffer transfer in chromium.
        Portions of this patch come from Luke Zarko.

        Reviewed by David Levin.

        Test: fast/canvas/webgl/arraybuffer-transfer-of-control.html

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::V8ObjectMap::Writer::writeTransferredArrayBuffer):
        (WebCore::V8ObjectMap::Serializer::Serializer):
        (WebCore::V8ObjectMap::Serializer::writeAndGreyArrayBufferView):
        (WebCore::V8ObjectMap::Serializer::writeArrayBuffer):
        (WebCore::V8ObjectMap::Serializer::writeTransferredArrayBuffer):
        (WebCore::V8ObjectMap::Serializer::doSerialize):
        (WebCore::V8ObjectMap::Reader::read):
        (WebCore::V8ObjectMap::Reader::readArrayBufferView):
        (WebCore::V8ObjectMap::Deserializer::Deserializer):
        (WebCore::V8ObjectMap::Deserializer::tryGetTransferredArrayBuffer):
        (WebCore::SerializedScriptValue::create):
        (WebCore::neuterBinding):
        (WebCore::SerializedScriptValue::transferArrayBuffers):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        (WebCore::SerializedScriptValue::deserialize):
        * bindings/v8/SerializedScriptValue.h:

2011-12-01  Roland Steiner  <rolandsteiner@chromium.org>

        Shadow ID pseudo-element selectors serialize incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=73542

        Avoid space for ShadowDescendant combinator.

        Reviewed by Dimitri Glazkov.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::selectorText):

2011-12-01  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>

        Popup menu can get stuck in closed state when GtkMenu can't grab mouse.
        https://bugs.webkit.org/show_bug.cgi?id=56466

        Add a check if popup menu is not visible due to no mouse grab,
        Ensure WebCore is in sync with proper state.

        Reviewed by Martin Robinson.

        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::show):

2011-12-01  Eric Carlson  <eric.carlson@apple.com>

        When playing audio in <video>, the poster is hidden on play
        https://bugs.webkit.org/show_bug.cgi?id=73405

        Reviewed by Darin Adler.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::hasAvailableVideoFrame): Don't return true if the file
            doesn't have video.

2011-12-01  Eric Carlson  <eric.carlson@apple.com>

        Add Settings for text track types
        https://bugs.webkit.org/show_bug.cgi?id=73383

        Reviewed by Darin Adler.

        No new tests, settings are not used yet.

        * page/Settings.cpp:
        (WebCore::Settings::Settings): Initialize new settings.
        * page/Settings.h:
        (WebCore::Settings::setShouldDisplaySubtitles): New.
        (WebCore::Settings::shouldDisplaySubtitles): Ditto.
        (WebCore::Settings::setShouldDisplayCaptions): Ditto.
        (WebCore::Settings::shouldDisplayCaptions): Ditto.
        (WebCore::Settings::setShouldDisplayTextDescriptions): Ditto.
        (WebCore::Settings::shouldDisplayTextDescriptions): Ditto.

2011-12-01  Eric Carlson  <eric.carlson@apple.com>

        HTMLTrackElement.readyState should return TextTrack "readiness state".
        https://bugs.webkit.org/show_bug.cgi?id=73466

        Reviewed by Darin Adler.

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::HTMLTrackElement): Don't initialize m_readyState.
        (WebCore::HTMLTrackElement::setReadyState): Return the TextTrack state.
        (WebCore::HTMLTrackElement::readyState): Set the TextTrack state.
        * html/HTMLTrackElement.h: Remove m_readyState.

        * html/TextTrack.cpp:
        (WebCore::TextTrack::TextTrack): Initialize m_readinessState.
        * html/TextTrack.h:
        (WebCore::TextTrack::readinessState): New.
        (WebCore::TextTrack::setReadinessState): New.

2011-12-01  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r101669.
        http://trac.webkit.org/changeset/101669
        https://bugs.webkit.org/show_bug.cgi?id=73394

        Win build and Mac build are failing

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main):
        * WebCore.gypi:
        * bindings/scripts/generate-bindings.pl:
        * page/DOMWindow.idl:
        * webaudio/DOMWindowWebAudio.idl: Removed.

2011-12-01  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: further align front-end configurations: get rid of saveAsAvailable preference, inline drag glass pane.
        https://bugs.webkit.org/show_bug.cgi?id=73555

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendClientLocal.h:
        (WebCore::InspectorFrontendClientLocal::canSaveAs):
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::canSaveAs):
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype.hasExtensions):
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.canSaveAs):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._contextMenu):
        * inspector/front-end/ResourcesPanel.js:
        * inspector/front-end/Settings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        * inspector/front-end/StylesSidebarPane.js:
        * inspector/front-end/UIUtils.js:
        (WebInspector.elementDragStart):
        (WebInspector.elementDragEnd):

2011-12-01  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: extract static part of the InspectorBackend from the generator.
        https://bugs.webkit.org/show_bug.cgi?id=73562

        Reviewed by Timothy Hatcher.

        We should only generate the mapping between the command parameters and slots,
        rest of the backend is static.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/CodeGeneratorInspector.py:
        (Generator.go):
        (Generator.process_event):
        (Generator.process_command):
        * inspector/compile-front-end.sh:
        * inspector/front-end/InspectorBackend.js: Added.
        (InspectorBackendClass):
        (InspectorBackendClass.prototype.registerCommand):
        (InspectorBackendClass.prototype.registerEvent):
        (InspectorBackendClass.prototype._invoke):
        (InspectorBackendClass.prototype._sendMessageToBackend):
        (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject):
        (InspectorBackendClass.prototype.sendMessageObjectToBackend):
        (InspectorBackendClass.prototype.registerDomainDispatcher):
        (InspectorBackendClass.prototype.dispatch.messageObject.error.__proto__.getDescription):
        (InspectorBackendClass.prototype.dispatch.messageObject.error.__proto__.toString):
        (InspectorBackendClass.prototype.dispatch.messageObject.error.__proto__.getMessage):
        (InspectorBackendClass.prototype.dispatch):
        (InspectorBackendClass.prototype.reportProtocolError):
        (InspectorBackendClass.prototype.runAfterPendingDispatches):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-12-01  Kentaro Hara  <haraken@chromium.org>

        Use the [Supplemental] IDL for webaudio attributes in Chromium
        https://bugs.webkit.org/show_bug.cgi?id=73394

        Reviewed by Adam Barth.

        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
        declarations of webaudio from DOMWindow.idl into a new IDL file
        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
        feature (aka a module).

        - This patch changes the build flow of WebCore.gyp as follows:

            Previous build flow:
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl generates .h and .cpp files for $idl;
                }

            New build flow (See the discussions in bug 72138 for more details):
                resolve-supplemental.pl depends on all IDL files;
                resolve-supplemental.pl reads all IDL files;
                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
                resolve-supplemental.pl outputs supplemental_dependency.tmp;
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl reads supplemental_dependency.tmp;
                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
                }

        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
        will be removed after build scripts for all platforms support the [Supplemental] IDL.
        The motivation for the [Supplemented] IDL is as follows:

        In order to support the [Supplemental] IDL, we need to
        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.

        This build flow requires a change on the following build scripts,
        but changing all the build scripts all at once without any regression is too difficult:

            - DerivedSources.make
            - DerivedSources.pri
            - GNUmakefile.am
            - PlatformBlackBerry.cmake
            - UseJSC.cmake
            - UseV8.cmake
            - WebCore.vcproj/MigrateScripts
            - WebCore.vcproj/WebCore.vcproj
            - bindings/gobject/GNUmakefile.am
            - WebCore.gyp/WebCore.gyp

        Thus, we are planning to change the build scripts one by one, which implies that
        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
        in another IDL file somewhere, like this:

            DOMWindowWebAudio.idl:
                interface [
                    Supplemental=DOMWindow
                ] DOMWindowWebAudio {
                    attribute attr1;
                    attribute attr2;
                };

            DOMWindow.idl:
                interface [
                ] DOMWindow {
                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
                    attribute attr3;
                    attribute attr4;
                };

        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:

            - If a given build script supports the [Supplemental] IDL,
            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).

        Tests: webaudio/*

        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file.
        * WebCore.gypi: Added DOMWindowWebAudio.idl.
        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.

2011-12-01  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        Upstream credential storage files of BlackBerry porting
        https://bugs.webkit.org/show_bug.cgi?id=73280

        Reviewed by Rob Buis.

        Added the basic structure of class CredentialBackingStore
        to persist the credential data, and generated
        platform/network/blackberry/CredentialStorageBlackBerry.cpp,
        to implement CredentialStorage::getFromPersistentStorage
        for BlackBerry porting.
        Contributed by Torch Team.

        * platform/network/blackberry/CredentialBackingStore.cpp: Added.
        (WebCore::CredentialBackingStore::instance):
        (WebCore::CredentialBackingStore::CredentialBackingStore):
        (WebCore::CredentialBackingStore::~CredentialBackingStore):
        (WebCore::CredentialBackingStore::open):
        (WebCore::CredentialBackingStore::close):
        (WebCore::CredentialBackingStore::addLogin):
        (WebCore::CredentialBackingStore::updateLogin):
        (WebCore::CredentialBackingStore::hasLogin):
        (WebCore::CredentialBackingStore::getLogin):
        (WebCore::CredentialBackingStore::removeLogin):
        (WebCore::CredentialBackingStore::clear):
        (WebCore::CredentialBackingStore::encryptedString):
        (WebCore::CredentialBackingStore::decryptedString):
        * platform/network/blackberry/CredentialBackingStore.h: Added.
        * platform/network/blackberry/CredentialStorageBlackBerry.cpp: Added.
        (WebCore::CredentialStorage::getFromPersistentStorage):

2011-11-30  Andreas Kling  <kling@webkit.org>

        StyledElement: Tidy up copyNonAttributeProperties().
        <http://webkit.org/b/73501>

        Reviewed by Antti Koivisto.

        * css/CSSStyleDeclaration.h:

            Made CSSStyleDeclaration non-copyable.

        * css/CSSMutableStyleDeclaration.h:
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::copyPropertiesFrom):

            copyPropertiesAndStrictnessFrom() redone as copyPropertiesFrom()
            since we can copy the strictness bit using existing accessors.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::copyNonAttributeProperties):

            Use copyPropertiesFrom() and copy the strictness bit to the new
            inline style using the dedicated accessors. Also added some
            assertions for good measure.

2011-12-01  Kentaro Hara  <haraken@chromium.org>

        run-bindings-tests is failing on Gtk/Qt/SnowLeopard/Lion bots
        https://bugs.webkit.org/show_bug.cgi?id=73558

        Reviewed by Csaba Osztrogonác.

        The cause of the bug:

        foreach my $idlFile (keys %documents) {
            $supplementals{$idlFile} = [];
            foreach my $dataNode (...) {
                if (...) {
                    ...;
                    push(@{$supplementals{$targetIdlFile}}, $idlFile);
                    ...;
                }
            }
        }

        Even if we did push(@{$supplementals{$targetIdlFile}}, $idlFile),
        the $supplementals{$targetIdlFile} can be re-initialized by
        $supplementals{$idlFile} = [] in subsequent loops.
        This patch fixes the bug.

        Tests: bindings/scripts/test/TestInterface.idl

        * bindings/scripts/resolve-supplemental.pl:

2011-12-01  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: restore WebKit2 Safari menu items after capabilities refactoring regression.
        https://bugs.webkit.org/show_bug.cgi?id=73554

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        (WebCore::InspectorFrontendClientLocal::isDebuggingEnabled):
        (WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
        (WebCore::InspectorFrontendClientLocal::isTimelineProfilingEnabled):
        (WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
        (WebCore::InspectorFrontendClientLocal::isProfilingJavaScript):
        (WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
        (WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
        (WebCore::InspectorFrontendClientLocal::showConsole):
        (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
        * inspector/InspectorFrontendClientLocal.h:
        * inspector/front-end/InspectorFrontendAPI.js:
        (InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
        (InspectorFrontendAPI.setDebuggingEnabled):
        (InspectorFrontendAPI.isTimelineProfilingEnabled):
        (InspectorFrontendAPI.setTimelineProfilingEnabled):
        (InspectorFrontendAPI.isProfilingJavaScript):
        (InspectorFrontendAPI.startProfilingJavaScript):
        (InspectorFrontendAPI.stopProfilingJavaScript):
        (InspectorFrontendAPI.setAttachedWindow):
        (InspectorFrontendAPI.showConsole):
        (InspectorFrontendAPI.dispatch):
        (InspectorFrontendAPI.loadCompleted):
        * inspector/front-end/inspector.js:

2011-12-01  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: remove capabilities along with the MetaAgent
        https://bugs.webkit.org/show_bug.cgi?id=73550

        Reviewed by Yury Semikhatsky.

        We are now using explicit query commands in order to find out about the capabilities.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.py:
        (Generator.go):
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorMetaAgent.cpp: Removed.
        * inspector/InspectorMetaAgent.h: Removed.
        * inspector/generate-protocol-externs:

2011-12-01  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: front-end should open with elements panel selected upon Inspect Element action.
        https://bugs.webkit.org/show_bug.cgi?id=73539

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/inspector.js:
        (WebInspector.doLoadedDone.showInitialPanel):
        (WebInspector.inspect):

2011-11-30  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: totalOffsetLeft and totalOffsetTop should take scroll into account.
        https://bugs.webkit.org/show_bug.cgi?id=73443

        Reviewed by Pavel Feldman.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._boxForAnchorAtStart):
        (WebInspector.TextPrompt.SuggestBox):
        * inspector/front-end/utilities.js:
        (Element.prototype.totalOffsetLeft):
        (Element.prototype.totalOffsetTop):
        (Element.prototype.boxInWindow):

2011-12-01  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: query backend for capabilities explicitly.
        https://bugs.webkit.org/show_bug.cgi?id=73442

        Reviewed by Yury Semikhatsky.

        This change removes the hardcoded Capabilities values in favor of
        explicit query commands issued against the backend. I'll remove the
        Meta agent in a subsequent change.

        * bindings/js/ScriptDebugServer.h:
        (WebCore::ScriptDebugServer::causesRecompilation):
        (WebCore::ScriptDebugServer::supportsNativeBreakpoints):
        * bindings/js/ScriptProfiler.h:
        (WebCore::ScriptProfiler::causesRecompilation):
        (WebCore::ScriptProfiler::isSampling):
        (WebCore::ScriptProfiler::hasHeapProfiler):
        * bindings/v8/ScriptDebugServer.h:
        (WebCore::ScriptDebugServer::causesRecompilation):
        (WebCore::ScriptDebugServer::supportsNativeBreakpoints):
        * bindings/v8/ScriptProfiler.h:
        (WebCore::ScriptProfiler::causesRecompilation):
        (WebCore::ScriptProfiler::isSampling):
        (WebCore::ScriptProfiler::hasHeapProfiler):
        * inspector/Inspector.json:
        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::canClearBrowserCache):
        (WebCore::InspectorClient::canClearBrowserCookies):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::show):
        * inspector/InspectorController.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::causesRecompilation):
        (WebCore::InspectorDebuggerAgent::canSetScriptSource):
        (WebCore::InspectorDebuggerAgent::supportsNativeBreakpoints):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::causesRecompilation):
        (WebCore::InspectorProfilerAgent::isSampling):
        (WebCore::InspectorProfilerAgent::hasHeapProfiler):
        (WebCore::InspectorProfilerAgent::disable):
        (WebCore::InspectorProfilerAgent::enable):
        (WebCore::InspectorProfilerAgent::setFrontend):
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::canClearBrowserCache):
        (WebCore::InspectorResourceAgent::canClearBrowserCookies):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype.enableDebugger):
        (WebInspector.DebuggerModel.prototype.canSetScriptSource):
        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.onCanClearBrowserCache):
        (WebInspector.NetworkLogView.onCanClearBrowserCookies):
        (WebInspector.NetworkLogView):
        (WebInspector.NetworkLogView.prototype._contextMenu):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/Settings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        * inspector/front-end/inspector.js:
        (WebInspector.get inspectedPageDomain):
        (WebInspector._initializeCapability):
        (WebInspector.doLoadedDone):

2011-11-28  Hans Wennborg  <hans@chromium.org>

        IndexedDB: Fix reverse cursor with non-existent upper bound
        https://bugs.webkit.org/show_bug.cgi?id=73220

        Reviewed by Tony Chang.

        The code previously did not properly handle the case where the
        specified upper bound for a reverse cursor did not exist.

        Test: storage/indexeddb/cursor-reverse-bug.html

        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::findGreatestKeyLessThanOrEqual):
        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
        (WebCore::IDBLevelDBBackingStore::openIndexCursor):

2011-11-29  Hans Wennborg  <hans@chromium.org>

        IndexedDB: Cursor pre-fetching
        https://bugs.webkit.org/show_bug.cgi?id=73025

        Reviewed by Darin Fisher.

        No new tests. This doesn't change any semantics.
        Actual pre-fetching will not happen in DumpRenderTree.
        Chromium will request pre-fetching and have tests for it.

        * storage/IDBBackingStore.h:
        * storage/IDBCallbacks.h:
        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::continueFunction):
        (WebCore::IDBCursor::postSuccessHandlerCallback):
          Adds a callback that is called everytime the onsuccess handler has
          executed on a cursor. This allows the cursor to see if a new call
          to continue() was made in the onsuccess handler.
        * storage/IDBCursor.h:
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::continueFunction):
        (WebCore::IDBCursorBackendImpl::prefetchContinue):
        (WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
          This is the function that does actual pre-fetching. When called,
          it will attempt to step the cursor up to n steps and send the
          results back via the new onSuccessWithPrefetch() callback.
        (WebCore::IDBCursorBackendImpl::prefetchReset):
          This resets the cursor to the position it was at before the last
          prefetch call.
        * storage/IDBCursorBackendImpl.h:
        (WebCore::IDBCursorBackendImpl::postSuccessHandlerCallback):
        * storage/IDBCursorBackendInterface.h:
        * storage/IDBKey.h:
        (WebCore::IDBKey::createInvalid):
        (WebCore::IDBKey::createNumber):
        (WebCore::IDBKey::createString):
        (WebCore::IDBKey::createDate):
        (WebCore::IDBKey::createArray):
        (WebCore::IDBKey::sizeEstimate):
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::CursorOptions::CursorImplCommon::CursorImplCommon):
        (WebCore::CursorOptions::ObjectStoreCursorImpl::clone):
        (WebCore::CursorOptions::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
        (WebCore::CursorOptions::IndexKeyCursorImpl::clone):
        (WebCore::CursorOptions::IndexKeyCursorImpl::IndexKeyCursorImpl):
        (WebCore::CursorOptions::IndexCursorImpl::clone):
        (WebCore::CursorOptions::IndexCursorImpl::IndexCursorImpl):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::dispatchEvent):
          Update dispatchEvent() to call the postSuccessHandlerCallback()
        * storage/IDBRequest.h:
        (WebCore::IDBRequest::onSuccessWithPrefetch):
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::addPendingEvents):
          Allow for adding an arbitrary number of extra pending events.
          When a cursor pre-fetches n elements, the transaction should
          expect to see n extra onsuccess calls.
        * storage/IDBTransactionBackendImpl.h:
        * storage/IDBTransactionBackendInterface.h:

2011-12-01  Philippe Normand  <pnormand@igalia.com>

        [GTK] WebAudio wav resources access and management
        https://bugs.webkit.org/show_bug.cgi?id=73080

        Reviewed by Martin Robinson.

        For the uninstalled case we assume the user will set a
        AUDIO_RESOURCES_PATH environment variable pointing to
        WebCore/platform/audio/resources.

        * GNUmakefile.am: Install WAV resources.
        * platform/audio/gtk/AudioBusGtk.cpp:
        (WebCore::AudioBus::loadPlatformResource): Support for loading
        uninstalled resources.

2011-12-01  Florin Malita  <fmalita@google.com>

        SVG Gaussian blur in 1-dimension is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=73029

        Reviewed by Simon Fraser.

        Ensure that the last blurBox result is stored when applying one-dimensional blurs.

        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::platformApplyGeneric):

2011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Elements Panel edit as html looks weird with an arrow inside edit box.
        https://bugs.webkit.org/show_bug.cgi?id=73462

        Reviewed by Pavel Feldman.

        * inspector/front-end/elementsPanel.css:
        (#elements-content .editing):
        (.elements-tree-editor):
        * inspector/front-end/inspector.css:

2011-12-01  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Exclamation mark hint ignores property case
        https://bugs.webkit.org/show_bug.cgi?id=73535

        Reviewed by Pavel Feldman.

        * inspector/front-end/StylesSidebarPane.js:

2011-12-01  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: fix dedicated workers inspection (undefined is not an object).
        https://bugs.webkit.org/show_bug.cgi?id=73537

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype.resourceForURL):
        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager.loadCompleted):

2011-12-01  Kentaro Hara  <haraken@chromium.org>

        [JSC] When XXXX has a NamedConstructor, window.XXXX should be XXXXConstructor
        https://bugs.webkit.org/show_bug.cgi?id=73521

        Reviewed by Adam Barth.

        This is a regression caused by a patch of bug 73307.
        If we replaced a custom constructor of window.XXXX (e.g. XXXX is Audio or Option)
        with the [NamedConstructor] IDL, fast/js/global-constructors.html,
        fast/dom/Window/window-properties.html and fast/dom/call-a-constructor-as-a-function.html
        start to fail in JSC.

        Before a patch of bug 73007: (correct behavior)
            window.Audio => AudioConstructor
            window.Option => OptionConstructor
            window.HTMLAudioElement => HTMLAudioElementConstructor
            window.HTMLOptionElement => HTMLOptionElementConstructor

        After a patch of bug 73007: (wrong behavior)
            window.Audio => HTMLAudioElementConstructor
            window.Option => HTMLOptionElementConstructor
            window.HTMLAudioElement => HTMLAudioElementConstructor
            window.HTMLOptionElement => HTMLOptionElementConstructor

        This patch fixes the above behavior.

        Tests: bindings/scripts/test/TestNamedConstructor.idl

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/IDLParser.pm:
        (parseExtendedAttributes):
        (ParseInterface):
        * bindings/scripts/test/TestNamedConstructor.idl: The test IDL was wrong. NamedConstructor=XXXX(arguments) is a correct format.
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Updated a run-bindings-tests result.

2011-11-30  David Grogan  <dgrogan@chromium.org>

        Move data in IDBPendingTransactionMonitor from static to
        ThreadSpecific.
        https://bugs.webkit.org/show_bug.cgi?id=73389

        IDBPendingTransactionMonitor previously stored transactions in
        a static member variable so that they could be aborted if they were
        had no work queued up when leaving script execution.  That was fine when
        IndexedDB could only be used on the main thread, but is insufficient
        for IndexedDB on workers.  In addition to not being thread-safe, this
        caused pending transactions that were created from a worker thread to
        abort when the main thread left script execution.

        Reviewed by David Levin.

        No new tests - IndexedDB worker tests forthcoming.

        * storage/IDBPendingTransactionMonitor.cpp:
        (WebCore::transactions):  Create the TLS.  The other methods used to
        manage the container's memory lifetime but now we just leak it until
        the thread shuts down in the interest of simpler code.
        (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
        (WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
        (WebCore::IDBPendingTransactionMonitor::abortPendingTransactions):

        * storage/IDBPendingTransactionMonitor.h:

2011-11-30  Leo Yang  <leo.yang@torchmobile.com.cn>

        Upstream platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=73522

        Reviewed by Daniel Bates.

        Initial upstream, can't be built yet, no new tests.

        * platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp: Added.
        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
        (WebCore::NetworkStateNotifier::networkStateChange):

2011-11-30  David Reveman  <reveman@chromium.org>

        [Chromium] Improve tile invalidation
        https://bugs.webkit.org/show_bug.cgi?id=71872

        Reviewed by James Robinson.

        Virtualize LayerChromium::setNeedsDisplay so that dirty rectangles can
        be handled directly by the TiledLayerChromium class. Replace
        LayerChromium::dirtyRect() with LayerChromium::needsDisplay() and
        remove unnecessary union of dirty rectangles. By invalidating existing
        tiles using the initial dirty rectangles instead of their union we
        avoid a large amount of unnecessary tile updates.

        Update LayerChromiumTest.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::setContents):
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::setBounds):
        (WebCore::LayerChromium::setNeedsDisplayRect):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setNeedsDisplay):
        (WebCore::LayerChromium::needsDisplay):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::setNeedsDisplayRect):
        (WebCore::TiledLayerChromium::invalidateRect):
        * platform/graphics/chromium/TiledLayerChromium.h:
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::updateCompositorResources):

2011-11-30  Alexey Proskuryakov  <ap@apple.com>

        SocketStreamHandleCFNet doesn't check for proxy errors
        https://bugs.webkit.org/show_bug.cgi?id=71965

        Reviewed by Darin Adler.

        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::getStoredCONNECTProxyCredentials): Added a FIXME about retrieving proxy credentials.
        (WebCore::SocketStreamHandle::addCONNECTCredentials): Added human readable messages to errors,
        they go to Web Inspector console.
        (WebCore::SocketStreamHandle::readStreamCallback): Handle proxy response codes other than 200
        and 407 by failing cleanly.

2011-11-30  Jeremy Apthorp  <jeremya@google.com>

        When the mouse is dragged out of an :active element, it should lose :hover.
        https://bugs.webkit.org/show_bug.cgi?id=57206

        Reviewed by Ryosuke Niwa.

        Test: fast/css/hover-active-drag.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent): Don't mark mouse-drag hit tests read-only, since they no longer are.
        (WebCore::EventHandler::dragSourceEndedAt): Send a hit test request when the mouse goes up after a drag, so
        RenderLayer has a chance to update the hover/active status.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateHoverActiveState): Only allow the :active state to change on mouse down or mouse up.

2011-11-30  Hans Muller  <hmuller@adobe.com>

        XHR 'progress' event code assumes wrongly that expectedLength >= 0
        https://bugs.webkit.org/show_bug.cgi?id=36156

        Reviewed by Alexey Proskuryakov

        Avoid passing a negative value as the dispatchProgressEvent's total parameter and always use 0 when lengthComputable is false.

        Test: http/tests/xmlhttprequest/chunked-progress-event-expectedLength.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didReceiveData):

2011-11-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed. Fix build error when NOTIFICATIONS feature is enabled.

        * CMakeLists.txt:

2011-11-30  Noel Gordon  <noel.gordon@gmail.com>

        Remove ImageFrame::setSize() style nits
        https://bugs.webkit.org/show_bug.cgi?id=73490

        Reviewed by Andreas Kling.

        Equality comparisons to 0 should be performed with the not operator, write
        width() == 0 && height() == 0 as !width() && !height().

        No new tests, style refactor.

        * platform/image-decoders/qt/ImageFrameQt.cpp:
        (WebCore::ImageFrame::setSize):
        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
        (WebCore::ImageFrame::setSize):

2011-11-30  Alexey Proskuryakov  <ap@apple.com>

        Remove an unneeded argument from FrameLoaderClient::download
        https://bugs.webkit.org/show_bug.cgi?id=73486

        Reviewed by Andreas Kling.

        No change in functionality.

        * loader/FrameLoaderClient.h: Removed initialRequest argument.

        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy):
        We're already passing ResourceHandle, why also pass its data member?

        * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::download): Updated for the change.

2011-11-30  Alexey Proskuryakov  <ap@apple.com>

        Original page URL is not set in quarantine information when downloading using context menu Save Linked File
        https://bugs.webkit.org/show_bug.cgi?id=73475
        <rdar://problem/10500337>

        Reviewed by Dan Bernstein.

        * WebCore.exp.in: Exported FrameLoader::setOriginalURLForDownloadRequest.

2011-11-30  Mark Pilgrim  <pilgrim@chromium.org>

        [FileSystem API] DirectoryEntry.getFile path argument is required
        https://bugs.webkit.org/show_bug.cgi?id=69642

        Reviewed by Adam Barth.

        Test: fast/filesystem/simple-required-arguments-getfile.html

        * bindings/js/JSDirectoryEntryCustom.cpp:
        (WebCore::JSDirectoryEntry::getFile): check args length and throw TypeError if not enough arguments
        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
        (WebCore::V8DirectoryEntry::getFileCallback): check args length and throw TypeError if not enough arguments

2011-11-30  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Implement IDBIndex multientry feature
        https://bugs.webkit.org/show_bug.cgi?id=73232

        Reviewed by Tony Chang.

        The multientry flag is used when populating indexes, either when the index
        is created on an existing store or as new values are added to the store.
        Per the spec the semantics are: if the flag is set and the index key is
        calculated to be an array, each member of the array is used as an index key
        instead.

        Test: storage/indexeddb/index-multientry.html

        * storage/IDBBackingStore.h:
        * storage/IDBIndex.h:
        (WebCore::IDBIndex::multientry):
        * storage/IDBIndex.idl:
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
        * storage/IDBIndexBackendImpl.h:
        (WebCore::IDBIndexBackendImpl::create):
        (WebCore::IDBIndexBackendImpl::multientry):
        * storage/IDBIndexBackendInterface.h:
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::checkIndexAndMetaDataKey):
        (WebCore::IDBLevelDBBackingStore::getIndexes):
        (WebCore::IDBLevelDBBackingStore::createIndex):
        * storage/IDBLevelDBBackingStore.h:
        * storage/IDBLevelDBCoding.cpp:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::createIndex):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::populateIndex):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBObjectStoreBackendInterface.h:

2011-11-30  David Reveman  <reveman@chromium.org>

        [Chromium] Add support for painting into an SkPicture and then rasterizing into tile-sized chunks.
        https://bugs.webkit.org/show_bug.cgi?id=71388

        Reviewed by James Robinson.

        Add UpdatableTexture class, which allows texture updater to
        allocate tile specific resources and paint tiles separately.
        Rename texture uploader classes and move them to separate files.

        No new tests. Covered by existing tests.

        * WebCore.gypi:
        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Added.
        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::~Texture):
        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect):
        (WebCore::BitmapCanvasLayerTextureUpdater::create):
        (WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater):
        (WebCore::BitmapCanvasLayerTextureUpdater::~BitmapCanvasLayerTextureUpdater):
        (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
        (WebCore::BitmapCanvasLayerTextureUpdater::sampledTexelFormat):
        (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
        (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::textureUpdater):
        (WebCore::BitmapCanvasLayerTextureUpdater::orientation):
        * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
        (WebCore::CanvasLayerTextureUpdater::CanvasLayerTextureUpdater):
        (WebCore::CanvasLayerTextureUpdater::~CanvasLayerTextureUpdater):
        (WebCore::CanvasLayerTextureUpdater::paintContents):
        * platform/graphics/chromium/CanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
        (WebCore::CanvasLayerTextureUpdater::contentRect):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::createTextureUpdater):
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Added.
        (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
        (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
        (WebCore::FrameBuffer::FrameBuffer::initialize):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::~Texture):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::create):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::FrameBufferSkPictureCanvasLayerTextureUpdater):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::~FrameBufferSkPictureCanvasLayerTextureUpdater):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::orientation):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerTextureUpdater::Texture::Texture):
        (WebCore::ImageLayerTextureUpdater::Texture::updateRect):
        (WebCore::ImageLayerTextureUpdater::Texture::textureUpdater):
        (WebCore::ImageLayerTextureUpdater::createTexture):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        * platform/graphics/chromium/LayerTextureUpdater.h:
        (WebCore::LayerTextureUpdater::Texture::~Texture):
        (WebCore::LayerTextureUpdater::Texture::texture):
        (WebCore::LayerTextureUpdater::Texture::prepareRect):
        (WebCore::LayerTextureUpdater::Texture::Texture):
        (WebCore::LayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Removed.
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
        (WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
        (WebCore::SkPictureCanvasLayerTextureUpdater::~SkPictureCanvasLayerTextureUpdater):
        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
        (WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::UpdatableTile):
        (WebCore::UpdatableTile::texture):
        (WebCore::UpdatableTile::managedTexture):
        (WebCore::TiledLayerChromium::updateCompositorResources):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::TiledLayerChromium::createTile):
        (WebCore::TiledLayerChromium::protectTileTextures):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
        (WebCore::CCTextureUpdater::append):
        (WebCore::CCTextureUpdater::update):
        * platform/graphics/chromium/cc/CCTextureUpdater.h:

2011-11-30  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Make WebKitMutationObserver::deliverAllMutations() tolerant of re-entrant calls
        https://bugs.webkit.org/show_bug.cgi?id=73472

        Reviewed by Ojan Vafai.

        No new tests. This patch just adds a static guard which makes more explicit the current semantics.

        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::deliverAllMutations):

2011-11-30  Takashi Toyoshima  <toyoshim@chromium.org>

        Add OVERRIDE to WebSocket related sources for safe inheritances.
        https://bugs.webkit.org/show_bug.cgi?id=73308

        Reviewed by Kent Tamura.

        No new tests because this change contains no functional change.

        * platform/network/chromium/SocketStreamHandle.h:
        * websockets/CloseEvent.h:
        * websockets/WebSocket.h:
        * websockets/WebSocketChannel.h:
        * websockets/WorkerThreadableWebSocketChannel.h:

2011-11-30  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Rename CSSRegionStyleRule to WebKitCSSRegionRule
        https://bugs.webkit.org/show_bug.cgi?id=73450

        Reviewed by Andreas Kling.

        No functionality changed so no new tests. The new name has the webkit prefix as required for new api.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::createRegionStylingRule):
        * css/CSSRule.cpp:
        (WebCore::CSSRule::cssText):
        (WebCore::CSSRule::destroy):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addRegionStyleRule):
        (WebCore::CSSStyleSelector::checkRegionStyle):
        (WebCore::RuleSet::addRulesFromSheet):
        * css/CSSStyleSelector.h:
        * css/WebKitCSSRegionRule.cpp: Renamed from Source/WebCore/css/CSSRegionStyleRule.cpp.
        (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
        (WebCore::WebKitCSSRegionRule::~WebKitCSSRegionRule):
        (WebCore::WebKitCSSRegionRule::cssText):
        * css/WebKitCSSRegionRule.h: Renamed from Source/WebCore/css/CSSRegionStyleRule.h.

2011-11-30  Jeff Timanus  <twiz@chromium.org>

        Alter an early return that was preventing HTMLCanvasElement::didDraw notifications
        from being triggered when accelerated compositing was enabled. The notification is
        necessary to make sure that any cached state is cleared in the HTMLCanvasElement object.
        To prevent performance regressions, the cached state is explicitly cleared, as the didDraw
        machinery is not necessary for accelerated canvases.
        https://bugs.webkit.org/show_bug.cgi?id=73257

        Reviewed by Stephen White.

        Test: fast/canvas/webgl/canvas-2d-webgl-texture.html

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::didDraw):
        (WebCore::HTMLCanvasElement::setSurfaceSize):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::didDraw):

2011-11-30  Kentaro Hara  <haraken@chromium.org>

        Implement the StorageEvent constructor
        https://bugs.webkit.org/show_bug.cgi?id=71685

        Reviewed by Adam Barth.

        This patch makes StorageEvent constractable.
        The spec: http://www.whatwg.org/specs/web-apps/current-work/#storageevent

        Test: fast/events/constructors/storage-event-constructor.html

        * bindings/js/JSDictionary.cpp:
        (WebCore::JSDictionary::tryGetProperty):
        (WebCore::JSDictionary::convertValue): Returns a Storage object corresponding to a given key.
        * bindings/js/JSDictionary.h:
        (WebCore::JSDictionary::tryGetProperty):
        * bindings/v8/OptionsObject.cpp:
        (WebCore::OptionsObject::get): Ditto.
        * bindings/v8/OptionsObject.h:
        * storage/StorageEvent.cpp: Added an implementation of the StorageEvent constructor.
        (WebCore::StorageEventInit::StorageEventInit):
        (WebCore::StorageEvent::create):
        (WebCore::StorageEvent::StorageEvent):
        * storage/StorageEvent.h: Added a definition of StorageEventInit.
        (WebCore::StorageEvent::key):
        (WebCore::StorageEvent::oldValue):
        (WebCore::StorageEvent::newValue):
        (WebCore::StorageEvent::url):
        (WebCore::StorageEvent::storageArea):
        * storage/StorageEvent.idl: Added [ConstructorTemplate=Event] IDL.

2011-11-30  Naveen Bobbili  <qghc36@motorola.com>

        window.getMatchedCSSRules() not supporting pseudo element
        https://bugs.webkit.org/show_bug.cgi?id=72930

        Reviewed by Darin Adler.

        Added functionality to retrieve CSS rules of psuedo elements using
        getMatchedCSSRules.

        Test: fast/dom/Window/getMatchedCSSRules-with-pseudo-elements.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::getMatchedCSSRules):
        Retreiving CSS Rules of the appropriate pseudo element.

2011-11-30  Grace Kloba  <klobag@chromium.org>

        [chromium] TextureManager LRU list is not fully honor the order tiles are used
        https://bugs.webkit.org/show_bug.cgi?id=73344

        Reviewed by James Robinson.

        Reorder the texture in the LRU list only when protectTexture() is called.

        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::hasTexture):
        (WebCore::TextureManager::protectTexture):

2011-11-30  Ken Buchanan <kenrb@chromium.org>

        Crash from first letter text fragments having flows split
        https://bugs.webkit.org/show_bug.cgi?id=72759

        Reviewed by David Hyatt.

        When an inline flow is split that contains a first letter block
        and its remaining text, it can prevent the remaining text fragment
        from getting updated if the first letter block is replaced. This
        patch enables the text fragment to be found and updated properly.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetterBlock):

2011-11-30  Takashi Toyoshima  <toyoshim@chromium.org>

        Get rid of AllowCrossThreadAccess throughout ThreadableWebSocketChannelClientWrapper.
        https://bugs.webkit.org/show_bug.cgi?id=73336

        Reviewed by David Levin.

        No new tests because it contains no functional change.

        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
        * websockets/ThreadableWebSocketChannelClientWrapper.h:

2011-11-30  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Add 2 cpp files to the BlackBerry build system
        https://bugs.webkit.org/show_bug.cgi?id=73408

        platform/network/blackberry/DeferredData.cpp and platform/network/blackberry/NetworkJob.cpp
        will be added, change build system first.

        Reviewed by Antonio Gomes.

        * PlatformBlackBerry.cmake:

2011-11-30  Gregg Tavares  <gman@google.com>

        Implement draft WEBGL_compressed_textures WebGL extension
        https://bugs.webkit.org/show_bug.cgi?id=72086

        Reviewed by Kenneth Russell.

        No new tests. Will write final test once on hardware.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        * html/canvas/WebGLCompressedTextures.cpp: Added.
        (WebCore::WebGLCompressedTextures::WebGLCompressedTextures):
        (WebCore::WebGLCompressedTextures::~WebGLCompressedTextures):
        (WebCore::WebGLCompressedTextures::getName):
        (WebCore::WebGLCompressedTextures::create):
        (WebCore::WebGLCompressedTextures::supported):
        (WebCore::WebGLCompressedTextures::validateCompressedTexFormat):
        (WebCore::WebGLCompressedTextures::validateCompressedTexFuncData):
        (WebCore::WebGLCompressedTextures::validateCompressedTexSubDimensions):
        (WebCore::WebGLCompressedTextures::compressedTexImage2D):
        (WebCore::WebGLCompressedTextures::compressedTexSubImage2D):
        (WebCore::WebGLCompressedTextures::getCompressedTextureFormats):
        * html/canvas/WebGLCompressedTextures.h: Added.
        * html/canvas/WebGLCompressedTextures.idl: Added.
        * html/canvas/WebGLExtension.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getExtension):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getSupportedExtensions):
        * html/canvas/WebGLRenderingContext.h:
        * platform/graphics/Extensions3D.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
        (WebCore::GraphicsContext3D::compressedTexImage2D):
        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::compressedTexImage2D):
        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::compressedTexImage2D):
        (WebCore::GraphicsContext3D::compressedTexSubImage2D):

2011-11-18  Nat Duca  <nduca@chromium.org>

        [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
        https://bugs.webkit.org/show_bug.cgi?id=70838

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::layerRendererContext):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::enabled):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):
        (WebCore::CCLayerTreeHost::context):
        (WebCore::CCLayerTreeHost::setNeedsAnimate):
        (WebCore::CCLayerTreeHost::setNeedsCommit):
        (WebCore::CCLayerTreeHost::setNeedsRedraw):
        (WebCore::CCLayerTreeHost::composite):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCProxy.cpp:
        (WebCore::CCProxy::isMainThread):
        (WebCore::CCProxy::isImplThread):
        (WebCore::CCProxy::setMainThreadIsImplThread):
        * platform/graphics/chromium/cc/CCProxy.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
        (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):

2011-11-30  Enrica Casucci  <enrica@apple.com>

        Copy/paste of the same content produces increasingly nested markup
        https://bugs.webkit.org/show_bug.cgi?id=73497
        <rdar://problem/10208605>
        
        When pasting a fragment over a selection, we perfom a DeleteSelection command
        followed by a ReplaceSelection command. Delete selection preserves the style
        of the selection start, leaving all the blocks containing the insertion point.
        This patch eliminates all the nested divs that don't provide additional style,
        avoiding the proliferation of nested divs. 

        Reviewed by Darin Adler.

        Tests: editing/deleting/delete-and-cleanup.html
               editing/pasteboard/paste-without-nesting.html

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeRedundantBlocks):
        (WebCore::DeleteSelectionCommand::doApply):
        * editing/DeleteSelectionCommand.h:

2011-11-30  Dan Bernstein  <mitz@apple.com>

        WebCore part of: Allow the length of a page along the pagination axis to differ from the length of the view
        https://bugs.webkit.org/show_bug.cgi?id=73476

        Reviewed by Anders Carlsson.

        * page/Page.cpp:
        (WebCore::Page::setPagination): Changed to use Pagination::operator==.
        * page/Page.h:
        (WebCore::Page::Pagination::Pagination): Added initializer for the new pageLength member variable.
        (WebCore::Page::Pagination::operator==): Added.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutColumns): Narrowed the scope of a local variable.
        * rendering/RenderBlock.h: Promoted setDesiredColumnCountAndWidth() from private to protected,
        allowing its use from RenderView::calcColumnWidth(). Made calcColumnWidth() virtual.
        * rendering/RenderView.cpp:
        (WebCore::RenderView::calcColumnWidth): Added. Uses the page length specified in the pagination
        parameters to set the column width, if pages are to be laid out one next to the other.
        (WebCore::RenderView::viewLogicalHeight): Added. Uses the page length specified in the pagination
        parameters as the height, if pages are to be laid out one after the other.
        * rendering/RenderView.h:

2011-11-30  Chris Fleizach  <cfleizach@apple.com>

        AX: Nodes are reporting that focus can be set when they really can't
        https://bugs.webkit.org/show_bug.cgi?id=72791

        Reviewed by Beth Dakin.

        Whether focus can be set on a node shouldn't rely only on the role.
        It should depend on whether the node supports focus.

        Test: platform/mac/accessibility/supports-focus-setting.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):

2011-11-30  Chris Fleizach  <cfleizach@apple.com>

        WebKit does not send mouse down/up/click events to ARIA tabs
        https://bugs.webkit.org/show_bug.cgi?id=72573

        Reviewed by Darin Adler.

        There are a number of "control" type elements that should perform a click on the actual element.

        Test: accessibility/press-works-on-control-types.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::actionElement):

2011-11-30  Chris Fleizach  <cfleizach@apple.com>

        AX: Searching mechanism is too slow when finding the element.
        https://bugs.webkit.org/show_bug.cgi?id=72523

        Reviewed by Beth Dakin.

        This makes the element searching mechanism much faster. Previously, searching literally went 
        through every element, looking for the start element before "starting" the search.

        Now we only go through the elements that need to be searched. This is done by going up the 
        start object parent chain. At each level, a DFS is done. As we go up the parent chain, 
        only the elements before/after the current element are examined.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::appendChildrenToArray):
        (WebCore::AccessibilityObject::findMatchingObjects):

2011-11-30  Ryosuke Niwa  <rniwa@webkit.org>

        Cannot select RTL text inside LTR text from right to left by a mouse drag
        https://bugs.webkit.org/show_bug.cgi?id=73056

        Reviewed by Eric Seidel.

        The bug was caused by positionAtRightBoundaryOfBiDiRun using current inline box's offset
        even when creating a position with previous inline box. Fixed the bug by using the correct offset.

        * editing/RenderedPosition.cpp:
        (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun):
        (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun):

2011-11-30 Chris Fleizach  <cfleizach@apple.com>

        AX: Searching mechanism gets stuck when searching tables
        https://bugs.webkit.org/show_bug.cgi?id=72519

        When searching through the elements within a data table, the children() method should not
        be used, since that contains elements (like a table header column) which have the same children
        as the table itself. Instead the cells() should be searched.

        Reviewed by Beth Dakin.

        Test: platform/mac/accessibility/search-when-element-starts-in-table.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::findMatchingObjects):

2011-11-29  Ryosuke Niwa  <rniwa@webkit.org>

        Assertion failure (m_nestedIsolateCount >= 1) in BidiResolver::exitIsolate()
        https://bugs.webkit.org/show_bug.cgi?id=69267

        Reviewed by Eric Seidel.

        The failure was caused by our updating bidi resolver's current position in layoutRunsAndFloatsInRange
        without updating the number of nested isolated ancestors. Fixed the bug by computing the number of
        isolated ancestors when setting a new position to the bidi resolver.

        Also renamed the existing BidiResolver::setPosition to setPositionIgnoringNestedIsolates because this
        version can be used only when we don't have to update the number of nested isolates.

        Tests: fast/text/bidi-isolate-hang-with-neutral-expected.html
               fast/text/bidi-isolate-hang-with-neutral.html
               fast/text/bidi-isolate-nextlinebreak-failure.html

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawBidiText):
        * platform/text/BidiResolver.h:
        (WebCore::BidiResolver::setPositionIgnoringNestedIsolates):
        (WebCore::BidiResolver::setPosition):
        * rendering/InlineIterator.h:
        (WebCore::numberOfIsolateAncestors): Takes InlineIterator instead of object and root.
        (WebCore::InlineBidiResolver::appendRun):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::constructBidiRuns):
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
        (WebCore::RenderBlock::determineStartPosition):

2011-11-30  Brent Fulgham  <bfulgham@webkit.org>

        [WinCairo] Correct SimpleFontData implementation to match Apple results.
        https://bugs.webkit.org/show_bug.cgi?id=73474

        Reviewed by Adam Roben.

        Tested by existing dom/xhtml/level3/core/nodegetbaseuri05.xhtml
        and dom/xhtml/level3/core/nodegetbaseuri07.xhtml

        * platform/graphics/SimpleFontData.h: Add declaration for new
          'ascentConsideringMacAscentHack' method.
        * platform/graphics/win/SimpleFontDataCGWin.cpp: Remove implementation
          of 'platformCharWidthInit' (moved to SimpleFontDataWin.cpp). Also
          use new 'ascentConsideringMacAscentHack' method.
        * platform/graphics/win/SimpleFontDataCairoWin.cpp: Remove dummy
          implementation.
        (WebCore::SimpleFontData::platformInit): Add logic to handle the
          'shouldApplyMacAscentHack' case, as well as to identify system font
          using the same criteria as the Apple port.
        (WebCore::SimpleFontData::platformWidthForGlyph): Add check for
          missing font data state.
        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::ascentConsideringMacAscentHack): New
        (WebCore::SimpleFontData::platformCharWidthInit): Moved from the
          CG implementation.

2011-11-30  David Levin  <levin@chromium.org>

        Make FrameView use TemporarilyChange in a few places.
        https://bugs.webkit.org/show_bug.cgi?id=73403

        Reviewed by Dmitry Titov.

        No new functionality exposed so no new tests.

        * page/FrameView.cpp:
        (WebCore::FrameView::forceLayoutParentViewIfNeeded): Since this function isn't
        re-entrant, TemporarilyChange does the same thing but in a more robust manner
        in case there would be a return added in the function.
        (WebCore::FrameView::layout): This place is the key reason for the change.
        layout is re-entrant, but layout will set m_layoutSchedulingEnabled to true when
        leaving though the "layout" function higher in the stack would still have it set
        to false (which works ok but is hit by another change I'm working on).
        The majority of the change is due to indenting the code to make m_layoutSchedulingEnabled
        and TemporarilyChange behave like they did before. A few variables were moved before
        the scoping to allow them to be used after the scope is closed.
        (WebCore::FrameView::setScrollPosition): TemporarilyChange does exactly what
        this code did before (saving the old value and restoring it).

2011-11-30  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Add TextureMapperCairo boilerplate implementation
        https://bugs.webkit.org/show_bug.cgi?id=73440

        Add TextureMapperCairo class and TextureMapper classes compilation
        for GTK+.

        Reviewed by Martin Robinson.

        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/GraphicsLayer.cpp:
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
        (WebCore::GraphicsContext3D::platformLayer):
        * platform/graphics/cairo/TextureMapperCairo.cpp: Added.
        (WebCore::BitmapTextureCairo::destroy):
        (WebCore::BitmapTextureCairo::size):
        (WebCore::BitmapTextureCairo::reset):
        (WebCore::BitmapTextureCairo::beginPaint):
        (WebCore::BitmapTextureCairo::endPaint):
        (WebCore::BitmapTextureCairo::updateContents):
        (WebCore::BitmapTextureCairo::save):
        (WebCore::BitmapTextureCairo::setContentsToImage):
        (WebCore::TextureMapperCairo::beginClip):
        (WebCore::TextureMapperCairo::endClip):
        (WebCore::TextureMapperCairo::viewportSize):
        (WebCore::TextureMapperCairo::TextureMapperCairo):
        (WebCore::TextureMapperCairo::setGraphicsContext):
        (WebCore::TextureMapperCairo::graphicsContext):
        (WebCore::TextureMapperCairo::bindSurface):
        (WebCore::TextureMapperCairo::drawTexture):
        (WebCore::TextureMapper::create):
        (WebCore::TextureMapperCairo::createTexture):
        (WebCore::BitmapTextureCairo::BitmapTextureCairo):
        (WebCore::TextureMapperCairo::beginPainting):
        (WebCore::TextureMapperCairo::endPainting):
        * platform/graphics/cairo/TextureMapperCairo.h: Added.
        (WebCore::BitmapTextureCairo::~BitmapTextureCairo):
        (WebCore::BitmapTextureCairo::isValid):
        (WebCore::BitmapTextureCairo::sourceRect):
        (WebCore::BitmapTextureCairo::pack):
        (WebCore::BitmapTextureCairo::unpack):
        (WebCore::BitmapTextureCairo::isPacked):
        (WebCore::BitmapTextureCairo::cr):
        (WebCore::TextureMapperCairo::allowSurfaceForRoot):
        (WebCore::TextureMapperCairo::create):

2011-11-30  Tim Horton  <timothy_horton@apple.com>

        Implement CSS3 Images cross-fade() image function
        https://bugs.webkit.org/show_bug.cgi?id=52162
        <rdar://problem/10209254>

        Reviewed by Simon Fraser.

        Fix platform layering violation by moving CachedImage invalidation code into
        CSSCrossfadeValue (instead of CrossfadeGeneratedImage).

        No new tests.

        * css/CSSCrossfadeValue.cpp:
        (WebCore::loadSubimage):
        (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
        (WebCore::CSSCrossfadeValue::customCssText):
        (WebCore::CSSCrossfadeValue::fixedSize):
        (WebCore::CSSCrossfadeValue::isPending):
        (WebCore::CSSCrossfadeValue::loadSubimages):
        (WebCore::CSSCrossfadeValue::image):
        (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::imageChanged):
        * css/CSSCrossfadeValue.h:
        (WebCore::CSSCrossfadeValue::create):
        (WebCore::CSSCrossfadeValue::setPercentage):
        (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
        (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
        (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::~CrossfadeSubimageObserverProxy):
        (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::setReady):
        * platform/graphics/CrossfadeGeneratedImage.cpp:
        (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
        (WebCore::CrossfadeGeneratedImage::drawCrossfade):
        (WebCore::CrossfadeGeneratedImage::drawPattern):
        * platform/graphics/CrossfadeGeneratedImage.h:
        (WebCore::CrossfadeGeneratedImage::create):

2011-11-30  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] Successfully loaded XHRs are shown as canceled.
        https://bugs.webkit.org/show_bug.cgi?id=72873

        Reviewed by Nate Chapin.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::cancelIfNotFinishing):
        * loader/SubresourceLoader.h:
        * loader/cache/CachedRawResource.cpp:
        (WebCore::CachedRawResource::allClientsRemoved):

2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>

        [V8] Make WebCoreTestingSupport::resetInternalsObject more robust
        https://bugs.webkit.org/show_bug.cgi?id=73437

        Reviewed by Adam Barth.

        The Qt DRT may end up calling resetInternalsObject at a time when
        there's no internals object yet. In that case the looking of the internals
        object in the global object fails and returns undefined. V8Internals::toNative
        doesn't handle that and causing failing assertions. This patch adds a simple
        check to handle this case.

        * testing/v8/WebCoreTestSupport.cpp:
        (WebCoreTestSupport::resetInternalsObject):

2011-11-30  James Simonsen  <simonjam@chromium.org>

        Fix valgrind issue in SubresourceLoader::didFinishLoading
        https://bugs.webkit.org/show_bug.cgi?id=72787

        Hang on to CachedResource until finish() is called.

        Reviewed by Nate Chapin.

        Test: fast/loader/subresource-load-failed-crash.html (under asan)

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFail):

2011-11-30  Tim Horton  <timothy_horton@apple.com>

        feImage referencing a primitive draws incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=71731
        <rdar://problem/10408178>

        Reviewed by Simon Fraser.

        If the target of an <feImage> appears to be a local fragment identifier, but
        it hasn't resolved yet, defer resolution instead of loading a bogus image.

        Invalidate <feImage> if the xlink:href attribute changes.

        Don't attempt to render an <feImage> if the referenced element is of size 0x0.

        Tests: svg/filters/feImage-reference-invalidation.svg
               svg/filters/feImage-reference-svg-primitive.svg
               svg/filters/feImage-zero-size-crash.svg

        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::parseMappedAttribute):
        (WebCore::SVGFEImageElement::build):

2011-11-30  Robin Dunn  <robin@alldunn.com>

        [wx] Ensure we always notify the popup client that the popup
        was hidden, and fix handling of empty menu items.
        https://bugs.webkit.org/show_bug.cgi?id=73464
        
        Reviewed by Kevin Ollivier.

        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenuEventHandler::OnMenuItemSelected):
        (WebCore::PopupMenuWx::show):

2011-11-30  Tim Horton  <timothy_horton@apple.com>

        dx causes non-BMP characters to fail to render
        https://bugs.webkit.org/show_bug.cgi?id=18039
        <rdar://problem/10422142>

        Reviewed by Simon Fraser.

        Don't split the surrogate pairs of non-BMP characters across
        elements of <text> positioning lists.

        Test: svg/text/non-bmp-positioning-lists.svg

        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):

2011-11-30  Robin Dunn  <robin@alldunn.com>

        [wx] Add a scope for the raw bitmap access so that wx
        will not make a copy when creating the wxMemoryDC.
        https://bugs.webkit.org/show_bug.cgi?id=73461
        
        Reviewed By Kevin Ollivier.

        * platform/wx/LocalDC.h:
        (WebCore::LocalDC::LocalDC):

2011-11-30  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Inspect element does not highlight element in elements panel when inspector is opened.
        https://bugs.webkit.org/show_bug.cgi?id=73459

        Reviewed by Pavel Feldman.

        This regressed in r101503.

        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::InjectedScriptHost):
        (WebCore::InjectedScriptHost::disconnect):
        (WebCore::InjectedScriptHost::inspectImpl):
        * inspector/InjectedScriptHost.h:
        (WebCore::InjectedScriptHost::init):
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::enable):
        (WebCore::InspectorAgent::inspect):
        * inspector/InspectorAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::connectFrontend):
        (WebCore::WorkerInspectorController::disconnectFrontend):

2011-11-30  Tony Chang  <tony@chromium.org>

        Remove dead flexible box code
        https://bugs.webkit.org/show_bug.cgi?id=73377

        Reviewed by Darin Adler.

        We used to use these with an earlier version of the spec where margins
        set to auto were treated as flex(1).

        No new tests, just removing some uncalled methods.

        * rendering/RenderFlexibleBox.cpp:
        * rendering/RenderFlexibleBox.h:

2011-11-30  Antti Koivisto  <antti@apple.com>

        Reuse cached style fully if the parent inherited styles are equal 
        https://bugs.webkit.org/show_bug.cgi?id=73421

        Reviewed by Oliver Hunt.

        The matched declaration cache currently restores the non-inherted properties from the cache
        entry but still applies all inherited properties normally. In case the current parent
        inherited style is equivalent to the cache entry's, also the inherited style can be reused
        and no properties need to be applied. This is faster and saves memory (by sharing the
        style substructures better).
        
        The new optimized code path has a pretty good hit rate, >50% of all cases on many pages.
        
        Loading the HTML5 spec this reduces style memory consumption by ~20% (5MB, ~2.5% of total) and 
        speeds up style applying by ~25% for ~0.4s (2-3%) gain in the spec loading benchmark.
        
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyDeclaration):
        (WebCore::CSSStyleSelector::applyDeclarations):
        
            Remove the code that dynamically disables inherited only applying. We now don't allow
            styles with explicitly inherited properties to be cached in the first place.
        
        (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
        
            Return the full cache item.
        
        (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
        
            Also the parent style is now needed for the check for full sharing.
        
        (WebCore::isCacheableInMatchedDeclarationCache):

            Don't allow styles with explicitly inherited properties to be cached at all.
        
        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
        
            If the parent inherited styles are equal reuse the cache entry fully and return without
            doing anything else.
        
        * css/CSSStyleSelector.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::inheritedDataShared):
        * rendering/style/RenderStyle.h:
        
            Add fast check for equal inherited properties.

2011-11-30  Renata Hodovan  <reni@webkit.org>

        CG buildfix after r101517.

        Rubber stamped by Zoltan Herczeg.

        * rendering/svg/RenderSVGRect.cpp:
        (WebCore::RenderSVGRect::fillShape):

2011-11-30  Anna Cavender  <annacc@chromium.org>

        Missing RuntimeEnabled check for <track>
        https://bugs.webkit.org/show_bug.cgi?id=73398

        Reviewed by Eric Carlson.

        No new tests. This fixes a problem when --enable-video-track is not used,
        but the tests use this flag.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::trackWillBeRemoved):

2011-11-30  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] do not clone nodes that contain linkified URLs
        https://bugs.webkit.org/show_bug.cgi?id=73323

        Reviewed by Pavel Feldman.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
        * inspector/front-end/elementsPanel.css:
        (.styles-section a[data-uncopyable]):
        (.styles-section a[data-uncopyable]::before):

2011-11-30  Renata Hodovan  <reni@webkit.org>

        Add new renderer for SVGRectElement.
        https://bugs.webkit.org/show_bug.cgi?id=65769

        Reviewed by Nikolas Zimmermann.

        This patch introduces a new common base class called RenderSVGShape which
        replaces the RenderSVGPath. This new base class has the same purpose
        as the replaced class and has specialized descendants for common
        shapes (like Rectangles and Circles), which allows faster painting
        of these shapes when certain conditions are fulfilled. On some
        benchmark programs we have seen 5% speedup.

        The biggest motivation of this refactor is taking advantage
        of faster primitive drawing in the most common and frequent
        cases. However in some rare cases, like painting rounded
        rects, we need to fallback to the original code path, which
        is fully kept in the RenderSVGShape base class. Some other
        cases, like dashed strokes, can be painted but mouse pointer
        events cannot be handled by the descendant classes. A different
        fallback mechanism is used in such cases which redirects
        only the pointer event handling to the base class.

        Tests: svg/custom/pointer-events-on-rounded-rect.xhtml
               svg/custom/pointer-events-with-linecaps-and-miterlimits.xhtml

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/FloatRect.cpp:
        (WebCore::FloatRect::contains):
        * platform/graphics/FloatRect.h:
        (WebCore::FloatRect::contains):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSVGRect):
        (WebCore::RenderObject::isSVGShape):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        * rendering/svg/RenderSVGAllInOne.cpp:
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::isGraphicsElement):
        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::RenderSVGPath):
        (WebCore::RenderSVGPath::inflateWithStrokeAndMarkerBounds): Unite the markerBounds with strokeBoundingBox.
        * rendering/svg/RenderSVGPath.h:
        * rendering/svg/RenderSVGRect.cpp: Added.
        (WebCore::RenderSVGRect::RenderSVGRect):
        (WebCore::RenderSVGRect::~RenderSVGRect):
        (WebCore::RenderSVGRect::createShape):
        (WebCore::RenderSVGRect::objectBoundingBox):
        (WebCore::RenderSVGRect::strokeBoundingBox):
        (WebCore::RenderSVGRect::fillShape):
        (WebCore::RenderSVGRect::strokeShape):
        (WebCore::RenderSVGRect::shapeDependentStrokeContains):
        (WebCore::RenderSVGRect::shapeDependentFillContains):
        * rendering/svg/RenderSVGRect.h: Added.
        (WebCore::RenderSVGRect::isSVGRect):
        (WebCore::RenderSVGRect::renderName):
        (WebCore::RenderSVGRect::isEmpty):
        * rendering/svg/RenderSVGResource.h:
        (WebCore::RenderSVGResource::postApplyResource): A new shape argument was added to allow shape specific faster painting.
        * rendering/svg/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
        (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
        (WebCore::RenderSVGResourceClipper::hitTestClipContent):
        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * rendering/svg/RenderSVGResourceFilter.h:
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/svg/RenderSVGResourceGradient.h:
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::postApplyResource):
        * rendering/svg/RenderSVGResourcePattern.h:
        * rendering/svg/RenderSVGResourceSolidColor.cpp:
        (WebCore::RenderSVGResourceSolidColor::postApplyResource):
        * rendering/svg/RenderSVGResourceSolidColor.h:
        * rendering/svg/RenderSVGShape.cpp: Copied from Source/WebCore/rendering/svg/RenderSVGPath.cpp.
        (WebCore::RenderSVGShape::RenderSVGShape):
        (WebCore::RenderSVGShape::~RenderSVGShape):
        (WebCore::RenderSVGShape::createShape):
        (WebCore::RenderSVGShape::isEmpty):
        (WebCore::RenderSVGShape::fillShape):
        (WebCore::RenderSVGShape::objectBoundingBox):
        (WebCore::RenderSVGShape::strokeBoundingBox):
        (WebCore::RenderSVGShape::strokeShape):
        (WebCore::RenderSVGShape::shapeDependentStrokeContains):
        The purpose of this virtual function allows decendants to use their own fast checks.
        (WebCore::RenderSVGShape::shapeDependentFillContains):
        The purpose of this virtual function allows decendants to use their own fast checks.
        (WebCore::RenderSVGShape::fillContains):
        (WebCore::RenderSVGShape::strokeContains):
        (WebCore::RenderSVGShape::layout):
        (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
        (WebCore::RenderSVGShape::zeroLengthSubpathRect):
        (WebCore::RenderSVGShape::setupSquareCapPath):
        (WebCore::RenderSVGShape::setupNonScalingStrokePath):
        (WebCore::RenderSVGShape::fillAndStrokePath):
        (WebCore::RenderSVGShape::paint):
        (WebCore::RenderSVGShape::addFocusRingRects):
        (WebCore::RenderSVGShape::nodeAtFloatPoint):
        (WebCore::RenderSVGShape::calculateMarkerBoundsIfNeeded):
        (WebCore::RenderSVGShape::updateCachedBoundaries):
        (WebCore::RenderSVGShape::strokeWidth):
        * rendering/svg/RenderSVGShape.h: Copied from Source/WebCore/rendering/svg/RenderSVGPath.h.
        (WebCore::BoundingRectStrokeStyleApplier::BoundingRectStrokeStyleApplier):
        (WebCore::BoundingRectStrokeStyleApplier::strokeStyle):
        (WebCore::RenderSVGShape::setNeedsShapeUpdate):
        (WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
        (WebCore::RenderSVGShape::setNeedsTransformUpdate):
        (WebCore::RenderSVGShape::isPaintingFallback):
        (WebCore::RenderSVGShape::path):
        (WebCore::RenderSVGShape::setIsPaintingFallback):
        (WebCore::RenderSVGShape::setStrokeAndMarkerBoundingBox):
        (WebCore::RenderSVGShape::hasPath):
        (WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
        (WebCore::RenderSVGShape::localToParentTransform):
        (WebCore::RenderSVGShape::localTransform):
        (WebCore::RenderSVGShape::isSVGShape):
        (WebCore::RenderSVGShape::renderName):
        (WebCore::RenderSVGShape::isRoundedRect):
        (WebCore::RenderSVGShape::inflateWithMarkerBounds):
        (WebCore::toRenderSVGShape):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::releasePaintingResource):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::finishRenderSVGContent):
        (WebCore::SVGRenderSupport::layoutChildren):
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::writeStyle):
        (WebCore::operator<<):
        (WebCore::write):
        * rendering/svg/SVGRenderTreeAsText.h:
        * rendering/svg/SVGTextRunRenderingContext.cpp:
        (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::svgAttributeChanged):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::svgAttributeChanged):
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::svgAttributeChanged):
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::svgAttributeChanged):
        (WebCore::SVGPathElement::pathSegListChanged):
        (WebCore::SVGPathElement::createRenderer):
        * svg/SVGPathElement.h:
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::svgAttributeChanged):
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::svgAttributeChanged):
        (WebCore::SVGRectElement::createRenderer):
        * svg/SVGRectElement.h:

2011-11-30  Adam Roben  <aroben@apple.com>

        Another Clang build fix after r101507

        * platform/network/SocketStreamHandleClient.h:
        (WebCore::SocketStreamHandleClient::didUpdateBufferedAmount): Removed unused parameter.

2011-11-30  Renata Hodovan  <reni@webkit.org>

        MAC build fix after r101507.

        Rubber stamped by Csaba Osztrogonac.

        * platform/network/SocketStreamHandleClient.h:
        (WebCore::SocketStreamHandleClient::didUpdateBufferedAmount):
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::didUpdateBufferedAmount):
        * websockets/WebSocket.h:
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::didUpdateBufferedAmount):
        * websockets/WebSocketChannel.h:

2011-11-30  John Knottenbelt  <jknotten@chromium.org>

        Remove unnecessary asserts in HTMLTextAreaElement.
        https://bugs.webkit.org/show_bug.cgi?id=73135

        http://code.google.com/p/chromium/issues/detail?id=103228 shows
        that sometimes we are hitting the following assert in
        HTMLTextAreaElement::updateFocusAppearance:

        ASSERT(!document()->childNeedsAndNotInStyleRecalc());

        This assert was added by https://bugs.webkit.org/show_bug.cgi?id=27474
        as part of a fix for a crash when the selection is set immediately
        after setting display:none.

        All the methods called by updateFocusAppearance already handle the
        case of the document having the childNeedsStyleRecalc flag set, so
        this assert is unnecessary. The ASSERT(renderer()) is similarly
        redundant.

        Reviewed by Kent Tamura.

        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::updateFocusAppearance):

2011-11-30  Adam Roben  <aroben@apple.com>

        Clang build fix after r101507

        * websockets/WebSocketChannelClient.h:
        (WebCore::WebSocketChannelClient::didUpdateBufferedAmount): Removed unused parameter.

2011-11-30  Nikita Vasilyev  <me@elv1s.ru>

        Web Inspector: Preserve an indentation level when inserting a new line
        https://bugs.webkit.org/show_bug.cgi?id=71625

        Indent one level more when a line ends with either "{", "[" or "(".

        Reviewed by Pavel Feldman.

        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextRange.prototype.collapseToEnd):
        (WebInspector.TextRange.prototype.normalize):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._registerShortcuts):
        (WebInspector.TextViewer.prototype._handleKeyDown):
        (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
        (WebInspector.TextEditorMainPanel.prototype._getSelection):

2011-11-30  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Display of data URIs cumbersome in the Elements panel
        https://bugs.webkit.org/show_bug.cgi?id=73438

        Reviewed by Pavel Feldman.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):

2011-11-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: TreeOutline elements should be formatted using margin-left instead of text-indent.
        https://bugs.webkit.org/show_bug.cgi?id=73234

        Reviewed by Pavel Feldman.

        * inspector/front-end/ResourceHeadersView.js:
        (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
        * inspector/front-end/auditsPanel.css:
        (.audit-result-tree li):
        (.audit-result-tree li.parent):
        (.audit-result img):
        * inspector/front-end/inspector.css:
        (.outline-disclosure li):
        (.outline-disclosure li.parent):
        * inspector/front-end/networkPanel.css:
        * inspector/front-end/resourcesPanel.css:
        (.resources.panel .sidebar-resizer-vertical):
        (.resources.panel .sidebar li):
        * inspector/front-end/treeoutline.js:
        (TreeElement.prototype.isEventWithinDisclosureTriangle):

2011-11-30  Kentaro Hara  <haraken@chromium.org>

        Implement the [NamedConstructor] IDL in CodeGeneratorJS.pm
        https://bugs.webkit.org/show_bug.cgi?id=73307

        Reviewed by Adam Barth.

        This patch implements the [NamedConstructor] IDL for JSC.
        The spec: http://www.w3.org/TR/WebIDL/#NamedConstructor

        Tests: bindings/scripts/test/JS/JSTestNamedConstructor.idl

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader): Removed unnecessary conditions '$dataNode->extendedAttributes->{"JSCustomConstructor"} || $dataNode->extendedAttributes->{"CustomConstructor"}'.
        (GenerateImplementation): Calls GenerateConstructorDefinition() to generate a NamedConstructor.
        (GenerateConstructorDeclaration): Generates a header for a NamedConstructor.
        (GenerateConstructorDefinition): Generates a NamedConstructor implementation and getConstructData() for the NamedConstructor.
        (IsConstructable): Added a NamedConstructor condition.

        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Updated a run-bindings-tests result.
        (WebCore::JSTestNamedConstructorNamedConstructor::JSTestNamedConstructorNamedConstructor):
        (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
        (WebCore::JSTestNamedConstructorNamedConstructor::getConstructData):
        * bindings/scripts/test/JS/JSTestNamedConstructor.h: Ditto.
        (WebCore::JSTestNamedConstructorNamedConstructor::create):
        (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):

2011-11-30  Takashi Toyoshima  <toyoshim@chromium.org>

        Add didUpdateBufferedAmount() callback to SocketStreamHandleClient
        and WebSocketChannelClient.
        https://bugs.webkit.org/show_bug.cgi?id=73290

        Reviewed by Kent Tamura.

        No new tests because this callback is not used in WebCore.

        * platform/network/SocketStreamHandleBase.cpp: Invoke new callback.
        (WebCore::SocketStreamHandleBase::send):
        (WebCore::SocketStreamHandleBase::sendPendingData):
        * platform/network/SocketStreamHandleBase.h: Change returning value type.
        (WebCore::SocketStreamHandleBase::bufferedAmount):
        * platform/network/SocketStreamHandleClient.h: Add new callback definition.
        (WebCore::SocketStreamHandleClient::didUpdateBufferedAmount):
        * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Add new callback handling.
        (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback):
        * websockets/ThreadableWebSocketChannelClientWrapper.h: Add new callback inheritance and its helper method.
        * websockets/WebSocket.cpp: Add new callback handling.
        (WebCore::WebSocket::didUpdateBufferedAmount):
        * websockets/WebSocket.h: Add new callback inheritance.
        * websockets/WebSocketChannel.cpp: Add new callback handling.
        (WebCore::WebSocketChannel::didUpdateBufferedAmount):
        * websockets/WebSocketChannel.h: Add new callback inheritacne.
        * websockets/WebSocketChannelClient.h: Add new callback definition.
        (WebCore::WebSocketChannelClient::didUpdateBufferedAmount):
        * websockets/WorkerThreadableWebSocketChannel.cpp: Add new callback handling.
        (WebCore::workerContextDidUpdateBufferedAmount):
        (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
        * websockets/WorkerThreadableWebSocketChannel.h: Add new callback inheritance and its helper method.

2011-11-30  Kentaro Hara  <haraken@chromium.org>

        [Refactoring] In preprocessor.pm, remove double quotations from $defines
        https://bugs.webkit.org/show_bug.cgi?id=73160

        Reviewed by Adam Barth.

        In preprocessor.pm, we need to extract gcc macros from $defines.
        $defines can contain unnecessary double quotations.
        For example, if $defines is ' "A=1" "B=1" C=1 ""    D  ',
        then it should be converted into four macros, -DA=1, -DB=1, -DC=1 and -DD.
        This patch refactors the logic in preprocessor.pm.

        No new tests. No change in behavior.

        * bindings/scripts/generate-bindings.pl: Removed a code for $defines conversion, since it is now done in preprocessor.pm.
        * bindings/scripts/preprocessor.pm:
        (applyPreprocessor):

2011-11-30  Kenichi Ishibashi  <bashi@chromium.org>

        @font-face: unquoted local font names containing spaces don't work
        https://bugs.webkit.org/show_bug.cgi?id=64783

        Allows local font names with spaces.
        Rejects the src descriptor if there is invalid identifiers in local(), as the same as Firefox.

        Reviewed by Ryosuke Niwa.

        Tests: fast/css/font-face-unquoted-local-expected.html
               fast/css/font-face-unquoted-local.html

        * css/CSSParser.cpp:
        (WebCore::parseFontFaceSrcFunction): Added. Treats multiple identifiers in local() as a font name separated by spaces.
        (WebCore::CSSParser::parseFontFaceSrc): Moved the code block which parses local() and format() to parseFontFaceSrcFunction().

2011-11-30  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: get rid of deferred backend->front-end commands processing.
        https://bugs.webkit.org/show_bug.cgi?id=73439

        We should issue tests upon InspectorAgent::enable and should not do any deferred command processing.

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::setFrontend):
        (WebCore::InspectorAgent::clearFrontend):
        (WebCore::InspectorAgent::enable):
        (WebCore::InspectorAgent::evaluateForTestInFrontend):
        * inspector/InspectorAgent.h:
        * inspector/front-end/inspector.js:

2011-11-30  Andreas Kling  <kling@webkit.org>

        REGRESSION(r101172): It made fast/dom/clone-node-style.html assert.
        <http://webkit.org/b/73227>

        Reviewed by Antti Koivisto.

        r101172 inadvertently introduced a default assignment operator for CSSElementStyleDeclaration
        which caused StyledElement::copyNonAttributeProperties() to associate the element's inline
        style declaration with the element being cloned.

        Replace CSSMutableStyleDeclaration::operator= by copyPropertiesAndStrictnessFrom()
        that matches the old behavior.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::copyPropertiesAndStrictnessFrom):
        * css/CSSMutableStyleDeclaration.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::copyNonAttributeProperties):

2011-11-30  Mary Wu  <mary.wu@torchmobile.com.cn>

        remove buildinformation from BlackBerry porting build system
        https://bugs.webkit.org/show_bug.cgi?id=73276

        Reviewed by Daniel Bates.

        * PlatformBlackBerry.cmake: remove generated files BuildInformation.cpp/.h

2011-11-30  Luke Macpherson   <macpherson@chromium.org>

        Implement Zoom Property in CSSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=72840

        Reviewed by Andreas Kling.

        Covered by fast/css/*zoom*.html

        * css/CSSStyleApplyProperty.cpp:
        Add new handler for zoom property (based on existing code from CSSStyleSelector.cpp)
        (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
        (WebCore::ApplyPropertyZoom::applyInheritValue):
        (WebCore::ApplyPropertyZoom::applyInitialValue):
        (WebCore::ApplyPropertyZoom::applyValue):
        (WebCore::ApplyPropertyZoom::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        Remove existing implementation.
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::document):
        Add getter for Document.

2011-11-30  David Reveman  <reveman@chromium.org>

        [Chromium] Re-enable layer anti-aliasing on ChromeOS.
        https://bugs.webkit.org/show_bug.cgi?id=73361

        Reviewed by James Robinson.

        Anti-aliasing should be enabled by default on ChromeOS.

        No new tests.

        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::drawLayer):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::draw):

2011-11-30  Michael Nordman  <michaeln@google.co>

        [chromium] WebSQLDatabase could use some better error reporting.
        Instruments the database classes to report errors to a DatabaseObserver.
        https://bugs.webkit.org/show_bug.cgi?id=73258

        Reviewed by David Levin.

        No new tests, no content observable artifacts.

        * storage/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::AbstractDatabase):
        (WebCore::AbstractDatabase::performOpenAndVerify):
        (WebCore::AbstractDatabase::incrementalVacuumIfNeeded):
        (WebCore::AbstractDatabase::reportOpenDatabaseResult):
        (WebCore::AbstractDatabase::reportChangeVersionResult):
        (WebCore::AbstractDatabase::reportStartTransactionResult):
        (WebCore::AbstractDatabase::reportCommitTransactionResult):
        (WebCore::AbstractDatabase::reportExecuteStatementResult):
        (WebCore::AbstractDatabase::reportVacuumDatabaseResult):
        * storage/AbstractDatabase.h:
        (WebCore::AbstractDatabase::isSyncDatabase):
        * storage/ChangeVersionWrapper.cpp:
        (WebCore::ChangeVersionWrapper::performPreflight):
        (WebCore::ChangeVersionWrapper::performPostflight):
        * storage/Database.cpp:
        (WebCore::Database::Database):
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::DatabaseSync):
        (WebCore::DatabaseSync::changeVersion):
        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::execute):
        (WebCore::SQLStatement::setDatabaseDeletedError):
        (WebCore::SQLStatement::setVersionMismatchedError):
        (WebCore::SQLStatement::setFailureDueToQuota):
        * storage/SQLStatement.h:
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL):
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::deliverTransactionCallback):
        (WebCore::SQLTransaction::runCurrentStatement):
        (WebCore::SQLTransaction::handleCurrentStatementError):
        (WebCore::SQLTransaction::deliverStatementCallback):
        (WebCore::SQLTransaction::postflightAndCommit):
        * storage/SQLTransactionSync.cpp:
        (WebCore::SQLTransactionSync::begin):
        (WebCore::SQLTransactionSync::commit):
        * storage/chromium/DatabaseObserver.h:

2011-11-30  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] V8 bindings don't properly wrap all calls into JS
        https://bugs.webkit.org/show_bug.cgi?id=72063

        Reviewed by Adam Barth.

        This patch changes cleans up script invocation in V8Proxy. It removes callFunctionWithoutFrame
        and changes callers to simply call instrumentedFunctionCall with a null Page. Also, it implements
        the non-static callFunction to be implemented in terms of instrumentedFunctionCall.

        No new tests.

        * bindings/v8/ScriptFunctionCall.cpp:
        (WebCore::ScriptCallback::call):
        * bindings/v8/V8NodeFilterCondition.cpp:
        (WebCore::V8NodeFilterCondition::acceptNode):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::callFunction):
        (WebCore::V8Proxy::instrumentedCallFunction):
        * bindings/v8/V8Proxy.h:
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):

2011-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101440 and r101442.
        http://trac.webkit.org/changeset/101440
        http://trac.webkit.org/changeset/101442
        https://bugs.webkit.org/show_bug.cgi?id=73429

        multiple crashes on layout tests (Requested by hayato on
        #webkit).

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::layerRendererContext):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::enabled):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::initialize):
        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::context):
        (WebCore::CCLayerTreeHost::setNeedsAnimate):
        (WebCore::CCLayerTreeHost::setNeedsCommit):
        (WebCore::CCLayerTreeHost::setNeedsRedraw):
        (WebCore::CCLayerTreeHost::composite):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCProxy.cpp:
        (WebCore::CCProxy::isMainThread):
        (WebCore::CCProxy::isImplThread):
        (WebCore::CCProxy::setImplThread):
        * platform/graphics/chromium/cc/CCProxy.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
        (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):

2011-11-30  Alexey Proskuryakov  <ap@apple.com>

        Download page URL should be set by WebCore
        https://bugs.webkit.org/show_bug.cgi?id=73358

        Reviewed by Darin Adler.

        No change in behavior, just refactoring.

        * loader/FrameLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::originatingURLFromBackForwardList):
        (WebCore::FrameLoader::setOriginalURLForDownloadRequest):
        Moved implementations from WebKit, added a bunch of FIXMEs.

        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy):
        Set main document URL (incorrectly renamed to "first party for cookies" in WebCore), so that
        CFNetwork would automatically use it.

        * loader/PolicyChecker.cpp: (WebCore::PolicyChecker::continueAfterNavigationPolicy): Ditto
        for requests that start as downloads (as opposed to being converted after reading first bits
        of response).

2011-11-30  Rafael Weinstein  <rafaelw@chromium.org>

        Remove unused isInlineCode from V8Proxy
        https://bugs.webkit.org/show_bug.cgi?id=73341

        Reviewed by Adam Barth.

        No tests needed. This patch only removes unnecessary code.

        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::prepareListenerObject):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::V8Proxy):
        (WebCore::V8Proxy::evaluate):
        (WebCore::V8Proxy::runScript):
        * bindings/v8/V8Proxy.h:

2011-11-30  Andrew Wason  <rectalogic@rectalogic.com>

        Replace Qt QThread threading back-end with pthread/Win32 threading back-ends
        https://bugs.webkit.org/show_bug.cgi?id=72155

        Reviewed by Simon Hausmann.

        Need to include qglobal.h since ThreadingPrimitives.h no longer does.

        * platform/network/NetworkingContext.h:

2011-11-30  Jongseok Yang  <js45.yang@samsung.com>

        [SOUP][WK2] Implement the functions to manager cookies in CookieJar for WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=72353

        r79722 inserted the functions to manange cookies from web process.
        (getHostnamesWithCookies,deleteCookiesForHostname,deleteAllCookies)
        Implement the functions for soup network backend.

        Reviewed by Martin Robinson.

        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::getHostnamesWithCookies):
        (WebCore::deleteCookiesForHostname):
        (WebCore::deleteAllCookies):

2011-11-30  Daniel Sievers  <sievers@chromium.org>

        [Chromium] Avoid ASSERT_NOT_REACHED() from creating FBO with content texture of size 0
        https://bugs.webkit.org/show_bug.cgi?id=73266

        Remove render surface layers with no children after clipping to
        the parent layer.

        Move the check for empty render surfaces after the piece of code
        used to apply the parent's clip, as we might end up calling
        renderSurface->clearLayerList().

        Render surfaces with no children or visible content are unexpected
        especially at draw time where we might try to create a content
        texture and FBO with a size of zero, which will fail. This fixes
        an ASSERT_NOT_REACHED() for checkFramebufferStatus() != COMPLETE

        Reviewed by James Robinson.

        Added unit test.

        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):

2011-11-30  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: do not report worker-related events unless inspector agent is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=73411

        Backend should not generate messages until the client requests that they are sent.

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::setFrontend):
        (WebCore::InspectorAgent::clearFrontend):
        (WebCore::InspectorAgent::enable):
        (WebCore::InspectorAgent::disable):
        (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
        (WebCore::InspectorAgent::didCreateWorker):
        (WebCore::InspectorAgent::didDestroyWorker):
        (WebCore::InspectorAgent::developerExtrasEnabled):
        * inspector/InspectorAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::enabled):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
        (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
        * inspector/InspectorPageAgent.cpp:
        * inspector/PageConsoleAgent.cpp:
        (WebCore::PageConsoleAgent::developerExtrasEnabled):
        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager.prototype._workerInspectorClosing):
        (WebInspector.WorkerManager.prototype._disconnectedFromWorker):
        (WebInspector.DedicatedWorkerMessageForwarder.prototype.dispatchMessageFromWorker):
        (WebInspector.DedicatedWorkerMessageForwarder.prototype.disconnectedFromWorker):
        * inspector/front-end/inspector.js:

2011-11-30  Jacky Jiang  <zhajiang@rim.com>

        Upstream BlackBerry porting of WebCore/editing.
        https://bugs.webkit.org/show_bug.cgi?id=73275

        Reviewed by Daniel Bates.

        Initial upstream, no new tests.

        * editing/blackberry/EditorBlackBerry.cpp: Added.
        (WebCore::Editor::newGeneralClipboard):
        * editing/blackberry/SmartReplaceBlackBerry.cpp: Added.
        (WebCore::isCharacterSmartReplaceExempt):

2011-11-30  Noel Gordon  <noel.gordon@gmail.com>

        JPEGImageDecoder: Code input color space case entries in numerical order
        https://bugs.webkit.org/show_bug.cgi?id=73287

        Reviewed by Adam Barth.

        No new tests. Covered by existing tests.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode): JCS_YCbCr is one greater than JSC_RGB.

2011-11-30  Alexandru Chiculita  <achicu@adobe.com>

        FilterOperation* should stay in rendering/style, because it is directly referenced from RenderStyle
        https://bugs.webkit.org/show_bug.cgi?id=72539

        Reviewed by Dean Jackson.

        No new tests, just moving some files.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/style/CustomFilterOperation.h: Renamed from Source/WebCore/platform/graphics/filters/CustomFilterOperation.h.
        * rendering/style/FilterOperation.h: Renamed from Source/WebCore/platform/graphics/filters/FilterOperation.h.
        * rendering/style/FilterOperations.cpp: Renamed from Source/WebCore/platform/graphics/filters/FilterOperations.cpp.
        * rendering/style/FilterOperations.h: Renamed from Source/WebCore/platform/graphics/filters/FilterOperations.h.

2011-11-29  Kentaro Hara  <haraken@chromium.org>

        StorageEvent.key should not be nullable
        https://bugs.webkit.org/show_bug.cgi?id=73125

        Reviewed by Adam Barth.

        Currently, document.createEvent('StorageEvent').key is evaluated as null.
        However, the spec (http://www.whatwg.org/specs/web-apps/current-work/#storageevent)
        says that StorageEvent.key is not a nullable type, and thus
        document.createEvent('StorageEvent').key should be '' (an empty string).

        * storage/StorageEvent.idl: Removed a [ConvertNullStringTo=Null] IDL from StorageEvent.key.

2011-11-29  Philip Rogers  <pdr@google.com>

        Fix for fill color not being applied inside visited links
        https://bugs.webkit.org/show_bug.cgi?id=70434

        Reviewed by Antti Koivisto.

        Test: svg/custom/visited-link-color.svg

        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::setFillPaint):
        (WebCore::SVGRenderStyle::setStrokePaint):

2011-11-29  David Levin  <levin@chromium.org>

        Add a way to revert a variable to its previous value after leaving a scope.
        https://bugs.webkit.org/show_bug.cgi?id=73371

        Reviewed by Adam Barth.

        * ForwardingHeaders/wtf/TemporarilyChange.h: Added.

2011-11-28  Kentaro Hara  <haraken@chromium.org>

        Implement [Supplemental] IDL and support it in run-bindings-tests
        https://bugs.webkit.org/show_bug.cgi?id=73162

        Reviewed by Adam Barth.

        - Overview:
            - Implement the [Supplemental] IDL in resolve-supplemental.pl and generate-bindings.pl.
            - Support the [Supplemental] IDL in run-bindings-tests.
            - Add TestSupplemental.idl as a binding test and confirm that it works.

        - The spec for the [Supplemental] IDL: http://dev.w3.org/2006/webapi/WebIDL/#dfn-supplemental-interface

        - This patch affects run-bindings-tests results only and does not affect any real builds
        since no [Supplemental] IDL has been written in real WebCore IDL files for now.

        - This patch makes a change on CodeGenerator*.pm to support the [Supplemental] IDL
        for (custom) getters and setters.

        - Added perl scripts implement the [Supplemental] IDL as follows:

            Previous build flow:
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl generates .h and .cpp files for $idl;
                }

            New build flow (See the discussions in bug 72138 for more details):
                resolve-supplemental.pl depends on all IDL files;
                resolve-supplemental.pl reads all IDL files;
                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
                resolve-supplemental.pl outputs supplemental_dependency.tmp;
                foreach $idl (all IDL files) {
                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
                    generate-bindings.pl reads $idl;
                    generate-bindings.pl reads supplemental_dependency.tmp;
                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files which are implementing $idl;
                }

        Tests: bindings/scripts/test/TestSupplemental.idl

        * bindings/scripts/generate-bindings.pl: The input is an IDL file |x| and the dependency file. generate-bindings.pl generates .h and .cpp files for the IDL file |x|, including all the attributes in the IDL files which are implementing the IDL file |x|. generate-bindings.pl addes the [ImplementedBy] IDL to the attributes with the [Supplemental] IDL in order to indicate what IDL is implementing the attributes.
        * bindings/scripts/resolve-supplemental.pl: Added. resolve-supplemental.pl reads all IDL files, resolves [Supplemental=XXX] dependencies, and then outputs the dependency file. See the comment in resolve-supplemental.pl for the format of the dependency file.

        * bindings/scripts/CodeGenerator.pm:
        (GenerateConditionalStringFromAttributeValue): Avoids duplicated conditions.
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader): If an attribute is [ImplementedBy] another IDL, then we omit the declaration of the custom getter and setter.
        (GenerateImplementation): If an attribute is [ImplementedBy] another IDL, then we call back the (custom) getter and setter of the IDL.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader): If an attribute is [ImplementedBy] another IDL, then we omit the declaration of the custom getter and setter.
        (GenerateNormalAttrGetter): If an attribute is [ImplementedBy] another IDL, then we call back the getter of the IDL.
        (GenerateNormalAttrSetter): If an attribute is [ImplementedBy] another IDL, then we call back the setter of the IDL.
        (GenerateSingleBatchedAttribute): If an attribute is [ImplementedBy] another IDL, then we call back the custom getter or setter of the IDL.
        * bindings/scripts/CodeGeneratorCPP.pm:
        (GenerateImplementation): If an attribute is [ImplementedBy] another IDL, then we call back the getter and setter of the IDL. CodeGeneratorCPP.pm does not support a custom getter and setter.
        * bindings/scripts/CodeGeneratorGObject.pm:
        (GenerateProperty): Ditto.
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateImplementation): Ditto.

        * bindings/scripts/test/TestSupplemental.idl: Added. A test case for the [Supplemental] IDL.
        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated a run-bindings-tests result.
        (WebDOMTestInterface::str1):
        (WebDOMTestInterface::str2):
        (WebDOMTestInterface::setStr2):
        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
        (webkit_dom_test_interface_get_str1):
        (webkit_dom_test_interface_get_str2):
        (webkit_dom_test_interface_set_str2):
        (webkit_dom_test_interface_set_property):
        (webkit_dom_test_interface_get_property):
        (webkit_dom_test_interface_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
        (WebCore::jsTestInterfaceStr1):
        (WebCore::jsTestInterfaceStr2):
        (WebCore::jsTestInterfaceStr3):
        (WebCore::JSTestInterface::put):
        (WebCore::setJSTestInterfaceStr2):
        (WebCore::setJSTestInterfaceStr3):
        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
        (-[DOMTestInterface str1]):
        (-[DOMTestInterface str2]):
        (-[DOMTestInterface setStr2:]):
        (-[DOMTestInterface str3]):
        (-[DOMTestInterface setStr3:]):
        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
        (WebCore::TestInterfaceInternal::str1AttrGetter):
        (WebCore::TestInterfaceInternal::str2AttrGetter):
        (WebCore::TestInterfaceInternal::str2AttrSetter):
        (WebCore::ConfigureV8TestInterfaceTemplate):

2011-11-29  Leo Yang  <leo.yang@torchmobile.com.cn>

        Upstream platform/network/blackberry/ProxyServerBlackBerry.cpp
        https://bugs.webkit.org/show_bug.cgi?id=73288

        Reviewed by Antonio Gomes.

        Initial upstream, can't be built yet, no new tests.

        * platform/network/blackberry/ProxyServerBlackBerry.cpp: Added.
        (WebCore::proxyServersForURL):

2011-11-29  Jessie Berlin  <jberlin@apple.com>

        WKKeyValueStorageManagerGetKeyValueStorageOrigins may not report the correct list of origins
        the first time it is called.
        https://bugs.webkit.org/show_bug.cgi?id=73374 (<rdar://problem/10196057>)

        Reviewed by Brady Eidson.

        Add a callback for when the Storage Tracker is done loading the list of origins with Local
        Storage.

        * storage/StorageTracker.cpp:
        (WebCore::StorageTracker::StorageTracker):
        Keep track of whether the import from disk has been completed.
        (WebCore::StorageTracker::notifyFinishedImportingOriginIdentifiersOnMainThread):
        (WebCore::StorageTracker::finishedImportingOriginIdentifiers):
        Set m_finishedImportingOriginIdentifiers to true and tell the client.
        (WebCore::StorageTracker::syncImportOriginIdentifiers):
        When finished, notify the shared StorageTracker on the main thread.
        * storage/StorageTracker.h:
        (WebCore::StorageTracker::originsLoaded):

        * storage/StorageTrackerClient.h:
        Add didFinishLoadingOrigins.

2011-11-18  Nat Duca  <nduca@chromium.org>

        [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
        https://bugs.webkit.org/show_bug.cgi?id=70838

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::layerRendererContext):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::enabled):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):
        (WebCore::CCLayerTreeHost::context):
        (WebCore::CCLayerTreeHost::setNeedsAnimate):
        (WebCore::CCLayerTreeHost::setNeedsCommit):
        (WebCore::CCLayerTreeHost::setNeedsRedraw):
        (WebCore::CCLayerTreeHost::composite):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCProxy.cpp:
        (WebCore::CCProxy::isMainThread):
        (WebCore::CCProxy::isImplThread):
        (WebCore::CCProxy::setMainThreadIsImplThread):
        * platform/graphics/chromium/cc/CCProxy.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
        (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):

2011-11-29  Erik Arvidsson  <arv@chromium.org>

        WebIDL: Add support for static for JSC and V8
        https://bugs.webkit.org/show_bug.cgi?id=72998

        Reviewed by Adam Barth.

        WebIDL uses "static" for class methods. We used to use "[ClassMethod]". This change makes us use the WebIDL syntax instead.

        No new tests: Covered by existing tests.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GetFunctionName): Use isStatic instead.
        (GenerateOverloadedFunction): Ditto.
        (GenerateImplementation): Ditto.
        (GenerateParametersCheck): Ditto.
        (GenerateImplementationFunctionCall): Ditto.
        (GenerateConstructorDefinition): Ditto.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionCallback): Ditto.
        (GenerateImplementation): Ditto.
        (GenerateFunctionCallString): Ditto.
        * bindings/scripts/IDLParser.pm:
        (ParseInterface): Set isStatic as needed.
        * bindings/scripts/IDLStructure.pm: Update regular expression to parse "static".
        * bindings/scripts/test/TestObj.idl: Use static instead of [ClassMethod].
        * storage/IDBKeyRange.idl: Ditto.

2011-11-29  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined a run-bindings-tests result.

        * bindings/scripts/test/JS/JSFloat64Array.h:

2011-11-10  Xiaomei Ji  <xji@chromium.org>

        --webkit-visual-word should be able to reach end of text, instead of end of line
        https://bugs.webkit.org/show_bug.cgi?id=72048

        Reviewed by Ryosuke Niwa.

        Revert r92223 -- webkit-visual-word should reach boundary of line.
        When there is no more left or right words in the same editing boundary and
        current position is an editable position, return start or end position in this
        editable content.

        Test: editing/selection/move-by-word-visually-textarea.html

        * editing/visible_units.cpp:
        (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
        (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
        (WebCore::leftWordPosition):
        (WebCore::rightWordPosition):

2011-11-29  Oliver Hunt  <oliver@apple.com>

        Allow WebCore to describe typed arrays to JSC
        https://bugs.webkit.org/show_bug.cgi?id=73355

        Reviewed by Gavin Barraclough.

        Update bindings codegen to report the data layout to JSC.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        (WebCore::JSFloat64Array::finishCreation):
        * bindings/scripts/test/JS/JSFloat64Array.h:

2011-11-29  Tony Chang  <tony@chromium.org>

        Rename some flexbox functions to be less confusing
        https://bugs.webkit.org/show_bug.cgi?id=73363

        Reviewed by Ojan Vafai.

        These methods no longer have anything to do with block/inline direction.

        No new tests, just renaming some functions.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        (WebCore::RenderFlexibleBox::layoutFlexItems):
        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
        (WebCore::RenderFlexibleBox::alignChildren):
        * rendering/RenderFlexibleBox.h:

2011-11-29  Erik Arvidsson  <arv@chromium.org>

        Add support for [ClassMethod] to CodeGeneratorJS.pm
        https://bugs.webkit.org/show_bug.cgi?id=73342

        Reviewed by Adam Barth.

        If a method is annotated with [ClassMethod] it will become a method on the JS constructor object and it will
        call a static function on the C++ class. 

        This was previously only implemented in CodeGeneratorV8.pm so this brings JSC up to par.

        No new tests: Covered by bindings/scripts/test/

        * bindings/scripts/CodeGeneratorJS.pm:
        (GetFunctionName): Refactor to reduce code duplication.
        (GenerateHeader): Ditto.
        (GenerateOverloadedFunction): This now handles both prototype functions and constructor functions.
        (GenerateImplementation): Define class methods too. 
        (GenerateParametersCheck): Generate the right function access string.
        (GenerateImplementationFunctionCall): SVG properties are not static methods.
        (GenerateConstructorDefinition): For classes that have static methods we may now return function properties.
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjConstructor::getOwnPropertySlot): Ditto.
        (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor): Ditto.
        (WebCore::jsTestObjConstructorFunctionClassMethod): Now calls a static function.
        (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): Ditto.
        * bindings/scripts/test/JS/JSTestObj.h:

2011-11-29  Sam Weinig  <sam@webkit.org>

        Remove unused JSDOMWrapperOwner
        https://bugs.webkit.org/show_bug.cgi?id=73357

        Reviewed by Adam Barth.

        * bindings/js/DOMWrapperWorld.cpp:
        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
        * bindings/js/DOMWrapperWorld.h:
        (WebCore::DOMWrapperWorld::globalData):
        Remove JSDOMWrapperOwner. It is unused.

2011-11-29  Anders Carlsson  <andersca@apple.com>

        Use contentsToRootView when converting the mouse coordinates for the context menu key event
        https://bugs.webkit.org/show_bug.cgi?id=73352

        Reviewed by Adam Roben.

        No new tests: Already covered by existing tests.

        This is another step towards fixing https://bugs.webkit.org/show_bug.cgi?id=71945, by getting
        rid of a call to ScrollView::contentsToWindow.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEventForKey):

2011-11-15  Anders Carlsson  <andersca@apple.com>

        DragClient::dragSourceActionMaskForPoint should use root view coordinates
        https://bugs.webkit.org/show_bug.cgi?id=72409

        Reviewed by Sam Weinig.

        * page/DragClient.h:
        Rename parameter and remove obsolete comment.

        * page/DragController.cpp:
        (WebCore::DragController::delegateDragSourceAction):
        * page/DragController.h:
        Rename parameter.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateDragSourceActionsAllowed):
        Use contentsToRootView instead of contentsToWindow.

2011-11-15  Anders Carlsson  <andersca@apple.com>

        EditorClient::showCorrectionPanel should pass the string bounding box in root view coordinates
        https://bugs.webkit.org/show_bug.cgi?id=72408

        Reviewed by Sam Weinig.

        Rename windowRectForRange to rootViewRectForRange and use contentsToRootView instead of contentsToWindow.

        * editing/SpellingCorrectionController.cpp:
        (WebCore::SpellingCorrectionController::show):
        (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
        (WebCore::SpellingCorrectionController::rootViewRectForRange):
        * editing/SpellingCorrectionController.h:
        
2011-11-29  Ojan Vafai  <ojan@chromium.org>

        invalid cast in WebCore::toRenderBox / WebCore::RenderBox::firstChildBox
        https://bugs.webkit.org/show_bug.cgi?id=72668

        Reviewed by David Hyatt.

        For new flexible boxes, we were setting childrenInline to true when
        merging anonymous blocks, which we should never do. Do the same thing
        we do for the deprecated flexboxes.

        Test: css3/flexbox/anonymous-block-merge-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::setChildrenInline):
        The default value of true was never used. Better to keep it explicit.

2011-11-28  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in IsolateTracker::addFakeRunIfNecessary(), preceded by assertion failure (m_nestedIsolateCount >= 1)
        in IsolateTracker::exitIsolate()
        https://bugs.webkit.org/show_bug.cgi?id=69275

        Reviewed by Eric Seidel.

        The crash was caused by our false assumption that at most one isolated container exists between the start
        and the root when appending a new run. Fixed the crash by computing the actual number of isolated containers
        between the start and the root.

        Test: fast/text/nested-bidi-isolate-crash.html

        * rendering/InlineIterator.h:
        (WebCore::numberOfIsolateAncestors):
        (WebCore::IsolateTracker::IsolateTracker):
        (WebCore::InlineBidiResolver::appendRun):

2011-11-29  Oliver Hunt  <oliver@apple.com>

        Revert that last change, apparently it destroys everything in the world.

        * bindings/js/DOMWrapperWorld.h:
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::toJSArrayBufferView):
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSDOMBinding.h:
        (WebCore::setInlineCachedWrapper):
        (WebCore::clearInlineCachedWrapper):
        (WebCore::getCachedWrapper):
        (WebCore::cacheWrapper):
        (WebCore::wrap):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::history):
        (WebCore::JSDOMWindow::location):
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::location):
        (WebCore::toJS):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSSVGPathSegCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSTrackCustom.cpp:
        (WebCore::toJS):

2011-11-29  Tony Chang  <tony@chromium.org>

        flex-align:stretch + max-height needs to clamp to max-height and position appropriately
        https://bugs.webkit.org/show_bug.cgi?id=70780

        Reviewed by David Hyatt.

        Test: css3/flexbox/flex-align-max.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth): When laying out columns, if the flex item is stretching,
        we don't need to shrink wrap.
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::isColumnFlow): Switch to RenderStyle helper method.
        (WebCore::RenderFlexibleBox::alignChildrenBlockDirection): For columns, we don't need to do anything.
        For rows, handle max logical height by setting the height and recomputing (which will take max-height
        into consideration).
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::isColumnFlexFlow): Helper method.

2011-11-29  Tony Chang  <tony@chromium.org>

        [chromium] Remove unused variable (gcc 4.6 complains about this)
        https://bugs.webkit.org/show_bug.cgi?id=73335

        ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.cpp:296:19:
        error: variable 'oldReplicaMaskRect' set but not used [-Werror=unused-but-set-variable]

        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
        (WebCore::CCDamageTracker::extendDamageForRenderSurface):

2011-11-29  Oliver Hunt  <oliver@apple.com>

        DOM wrapper cache doesn't need to use JSDOMWrapper
        https://bugs.webkit.org/show_bug.cgi?id=73333

        Reviewed by Sam Weinig.

        Make JSDOMWrapperCache use JSObject rather than JSDOMWrapper
        and propagate the type change out. 

        * bindings/js/DOMWrapperWorld.h:
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::toJSArrayBufferView):
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSDOMBinding.h:
        (WebCore::setInlineCachedWrapper):
        (WebCore::clearInlineCachedWrapper):
        (WebCore::getCachedWrapper):
        (WebCore::cacheWrapper):
        (WebCore::wrap):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::history):
        (WebCore::JSDOMWindow::location):
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::location):
        (WebCore::toJS):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSSVGPathSegCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSTrackCustom.cpp:
        (WebCore::toJS):

2011-11-29  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, GTK build fix after r101392.

        * GNUmakefile.am: USE_WEBAUDIO_FFTW was removed, don't use it anymore.

2011-11-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: TextPrompt should show suggest above or under so that it has maximal height.
        https://bugs.webkit.org/show_bug.cgi?id=73239

        Reviewed by Pavel Feldman.

        Fixed suggest box vertical position / height calculation.
        Added round corners when suggest box is positioned under text prompt.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
        * inspector/front-end/inspector.css:
        (.suggest-box.generic-suggest.under-anchor):

2011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix the GTK+ port build after r101307.

        * GNUmakefile.list.am: Add missing files to compilation.

2011-11-29  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: split Preferences into Preferences and Capabilities.
        https://bugs.webkit.org/show_bug.cgi?id=73321

        Part of the Preferences defined in Settings.js are in fact backend capabilities.
        Split them into two separate objects for further capabilities refactoring.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DebuggerModel.js:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.wasShown):
        (WebInspector.ElementsPanel.prototype._populateContextMenu):
        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._createTable):
        (WebInspector.NetworkLogView.prototype.switchToDetailedView):
        (WebInspector.NetworkLogView.prototype.switchToBriefView):
        (WebInspector.NetworkLogView.prototype._contextMenu):
        (WebInspector.NetworkDataGridNode.prototype.createCells):
        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
        * inspector/front-end/ProfileDataGridTree.js:
        (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
        * inspector/front-end/ProfileView.js:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.populateImageSource):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.wasShown):
        (WebInspector.ScriptsPanel.prototype._clearInterface):
        * inspector/front-end/Settings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        * inspector/front-end/StylesSidebarPane.js:
        * inspector/front-end/inspector.js:

2011-11-29  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Make WebCore compile with Qt 5 and V8
        https://bugs.webkit.org/show_bug.cgi?id=73313

        Reviewed by Tor Arne Vestbø.

        * DerivedSources.pri: Add missing V8 specific IDL files to the build.
        * Target.pri: Ditto.
        * bindings/v8/ScriptController.h: V8 NPAPI bindings don't really support
        building with ENABLE_NETSCAPE_PLUGIN_API=0. These functions are always
        defined, so they also need to be declared.
        * platform/qt/PlatformSupportQt.cpp: 
        (WebCore::PlatformSupport::pluginScriptableObject): Don't return a
        scriptable object when compiling without npapi.
        * storage/StorageAreaImpl.cpp: Add missing Document.h include that is
        included implicitly with the Chromium build but not with Qt.
        * xml/XSLTProcessorQt.cpp: Ditto.

2011-11-29  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: fixing clang build.

        * inspector/InspectorBaseAgent.h:
        (WebCore::InspectorBaseAgentInterface::getAgentCapabilities):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::getAgentCapabilities):
        * inspector/InspectorDebuggerAgent.h:

2011-11-29  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: introduce generic capabilities concept, migrate debugger domain to generic capabilities.
        https://bugs.webkit.org/show_bug.cgi?id=73311

        This step is necessary for getting rid of the 'capability' aspect in the Preferences. As a result,
        single front-end will be applicable to multiple backend configurations.

        Reviewed by Yury Semikhatsky.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
        * inspector/InspectorBaseAgent.cpp:
        (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
        (WebCore::InspectorBaseAgentInterface::~InspectorBaseAgentInterface):
        * inspector/InspectorBaseAgent.h:
        (WebCore::InspectorBaseAgentInterface::getCapabilities):
        (WebCore::InspectorBaseAgentInterface::name):
        (WebCore::InspectorBaseAgent::InspectorBaseAgent):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::getCapabilities):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorFileSystemAgent.cpp:
        (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
        * inspector/InspectorMetaAgent.cpp: Added.
        (WebCore::InspectorMetaAgent::~InspectorMetaAgent):
        (WebCore::InspectorMetaAgent::getCapabilities):
        (WebCore::InspectorMetaAgent::InspectorMetaAgent):
        * inspector/InspectorMetaAgent.h: Added.
        (WebCore::InspectorMetaAgent::create):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::InspectorPageAgent):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        * inspector/InspectorValues.h:
        (WebCore::InspectorArray::begin):
        (WebCore::InspectorArray::end):
        * inspector/InspectorWorkerAgent.cpp:
        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.enableDebugger):

2011-11-29  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Make WebKit/qt build with V8 and Qt 5
        https://bugs.webkit.org/show_bug.cgi?id=73315

        Reviewed by Kenneth Rohde Christiansen.

        For the Qt 5 / V8 build we use QJSEngine/QJSValue instead of
        QScriptEngine/QScriptValue.

        * bindings/v8/ScriptController.cpp:
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptControllerQt.cpp:
        (WebCore::ScriptController::qtScriptEngine):

2011-11-29  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt][V8] Add missing ExceptionCode.h include for SVG bindings
        https://bugs.webkit.org/show_bug.cgi?id=73314

        Reviewed by Kenneth Rohde Christiansen.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrSetter): Similarly to other places where we use DOM
        exceptions, make sure we include ExceptionCode.h here. It appears to be
        an implicit inclusion in the Chromium build, but it should be explicit
        like in the rest of the bindings.
        (GenerateFunctionCallback): Ditto.

2011-11-29  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: remove usage of innerHTML from inspector front-end
        https://bugs.webkit.org/show_bug.cgi?id=73305

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/FontView.js:
        (WebInspector.FontView.prototype._createContentIfNeeded):
        * inspector/front-end/ShortcutsScreen.js:
        (WebInspector.ShortcutsSection.prototype.addKey):
        (WebInspector.ShortcutsSection.prototype.addRelatedKeys):
        (WebInspector.ShortcutsSection.prototype.addAlternateKeys):
        (WebInspector.ShortcutsSection.prototype._addLine):
        (WebInspector.ShortcutsSection.prototype.renderSection):
        (WebInspector.ShortcutsSection.prototype._renderSequence):
        (WebInspector.ShortcutsSection.prototype._renderKey):
        (WebInspector.ShortcutsSection.prototype.get _height):
        (WebInspector.ShortcutsSection.prototype._createSpan):
        (WebInspector.ShortcutsSection.prototype._joinNodes):
        * inspector/front-end/WelcomeView.js:
        (WebInspector.WelcomeView.prototype.addMessage):

2011-11-29  Zoltan Herczeg  <zherczeg@webkit.org>

        [Qt] Couple of tests have different results on 64 bit and/or in debug mode compared to 32 bit and/or release mode
        https://bugs.webkit.org/show_bug.cgi?id=52810

        Reviewed by Nikolas Zimmermann.

        This avoids precision loss in getCTM, which is used whenever mapping repaint rects to a parent coordinate system
        - it affects several DRT results on Mac, all of them are progressions.

        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::getCTM): Use double-precision internally.

2011-11-25  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: support concatenated source maps.
        https://bugs.webkit.org/show_bug.cgi?id=73138

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.ClosureCompilerSourceMapping):
        (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappingPayload):
        (WebInspector.ClosureCompilerSourceMapping.prototype._parseSections):
        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
        (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
        * inspector/front-end/inspector.js:
        (WebInspector.installSourceMappingForTest):

2011-11-29  Mario Sanchez Prada  <msanchez@igalia.com>

        [Gtk] Regression: text-inserted events lack text inserted and current line
        https://bugs.webkit.org/show_bug.cgi?id=72830

        Reviewed by Chris Fleizach.

        Replace the emission of the old (and now deprecated) AtkObject's
        'text-changed:insert' and 'text-changed:remove' signals with the
        new 'text-insert' and 'text-remove' ones, which are better and
        less fragile since they emit the modified text too, along with the
        typical 'offset' and 'count' values associated to the change.

        Also, change the signature of the nodeTextChangeNotification() and
        nodeTextChangePlatformNotification() to allow specifying the text
        being modified from the place we better know about it, that is,
        the text editing commands.

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::emitTextChanged): Emit 'text-insert' and 'text-remove',
        instead of the old and now deprecated 'text-changed' signal.
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
        Update this function to receive a String with the text being
        modified, instead of just the number of characters.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::nodeTextChangeNotification): Update this
        function to receive a String with the text being modified.
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::nodeTextChangeNotification): Ditto.
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): Ditto.

        Adapt the text editing commants to pass the whole text string
        being modified, instead of just its number of characters.

        * editing/AppendNodeCommand.cpp:
        (WebCore::sendAXTextChangedIgnoringLineBreaks): Adapt to the new
        signature of nodeTextChangeNotification(), so pass the whole text.
        * editing/DeleteFromTextNodeCommand.cpp:
        (WebCore::DeleteFromTextNodeCommand::doApply): Ditto.
        (WebCore::DeleteFromTextNodeCommand::doUnapply): Ditto.
        * editing/InsertIntoTextNodeCommand.cpp:
        (WebCore::InsertIntoTextNodeCommand::doApply): Ditto.
        (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
        * editing/InsertNodeBeforeCommand.cpp:
        (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
        (WebCore::InsertNodeBeforeCommand::doUnapply): Ditto.

        Update mac, win and chromium's specific parts of AXObjectCache to
        match the new signature for nodeTextChangePlatformNotification(),
        which won't affect their behaviour as they were not implementing
        that method anyway.

        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):

2011-11-29  Mario Sanchez Prada  <msanchez@igalia.com>

        [Gtk] Regression: Push buttons no longer expose their displayed text/name
        https://bugs.webkit.org/show_bug.cgi?id=72804

        Reviewed by Chris Fleizach.

        Use AccessibilityObject::title() as the last fallback in
        webkit_accessible_get_name() right before relying on the
        stringValue() method, if no better alternative was found.

        Test: platform/gtk/accessibility/button-accessible-name.html

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_name): Use title() as the last fallback
        method before using stringValue().

2011-11-29  Hyowon Kim  <hw1008.kim@samsung.com>

        [Texmap][EFL] Accelerated compositing support using TextureMapper on EFL port
        https://bugs.webkit.org/show_bug.cgi?id=73111

        This patch adds Texture Mapper related files to PlatformEfl.cmake
        and removes Qt-specific types in TextureMapperNode.cpp.

        Reviewed by Noam Rosenthal.

        * PlatformEfl.cmake:
        * platform/graphics/GraphicsLayer.cpp:
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/efl/GraphicsLayerEfl.cpp: Removed.
        * platform/graphics/efl/GraphicsLayerEfl.h: Removed.
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::solveCubicBezierFunction):
        (WebCore::solveStepsFunction):

2011-11-28  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: put inspector agents into a vector in the InspectorController.
        https://bugs.webkit.org/show_bug.cgi?id=73225

        Inspector controller should maintain agents in the vector, while accessing
        them using the same base agent interface. We should not manually call
        base agent methods on their concrete instances.

        Reviewed by Yury Semikhatsky.

        * inspector/CodeGeneratorInspector.py:
        (DomainNameFixes.get_fixed_data.Res):
        (DomainNameFixes):
        (Generator.go):
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::PostWorkerNotificationToFrontendTask::performTask):
        * inspector/InspectorAgent.h:
        (WebCore::InspectorAgent::create):
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
        * inspector/InspectorApplicationCacheAgent.h:
        (WebCore::InspectorApplicationCacheAgent::create):
        * inspector/InspectorBaseAgent.cpp:
        * inspector/InspectorBaseAgent.h:
        (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
        (WebCore::InspectorBaseAgentInterface::~InspectorBaseAgentInterface):
        (WebCore::InspectorBaseAgentInterface::setFrontend):
        (WebCore::InspectorBaseAgentInterface::clearFrontend):
        (WebCore::InspectorBaseAgentInterface::restore):
        (WebCore::InspectorBaseAgentInterface::inspectedPageDestroyed):
        (WebCore::InspectorBaseAgent::~InspectorBaseAgent):
        (WebCore::InspectorBaseAgent::registerDispatcher):
        (WebCore::InspectorBaseAgent::InspectorBaseAgent):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
        * inspector/InspectorCSSAgent.h:
        (WebCore::InspectorCSSAgent::create):
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
        * inspector/InspectorDOMDebuggerAgent.h:
        (WebCore::InspectorDOMDebuggerAgent::inspectedPageDestroyed):
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
        * inspector/InspectorDOMStorageAgent.h:
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
        * inspector/InspectorDatabaseAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        * inspector/InspectorDebuggerAgent.h:
        (WebCore::InspectorDebuggerAgent::inspectedPageDestroyed):
        * inspector/InspectorFileSystemAgent.cpp:
        (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
        * inspector/InspectorFileSystemAgent.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::InspectorPageAgent):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        (WebCore::InspectorResourceAgent::create):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
        * inspector/InspectorRuntimeAgent.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        * inspector/InspectorTimelineAgent.h:
        * inspector/InspectorWorkerAgent.cpp:
        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
        * inspector/InspectorWorkerAgent.h:
        * inspector/PageConsoleAgent.h:
        (WebCore::PageConsoleAgent::create):
        * inspector/PageRuntimeAgent.h:
        (WebCore::PageRuntimeAgent::create):
        * inspector/WorkerConsoleAgent.h:
        (WebCore::WorkerConsoleAgent::create):
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        (WebCore::WorkerInspectorController::connectFrontend):
        * inspector/WorkerRuntimeAgent.h:
        (WebCore::WorkerRuntimeAgent::create):

2011-11-25  Philippe Normand  <pnormand@igalia.com>

        [GTK] Improve FontMetrics accuracy
        https://bugs.webkit.org/show_bug.cgi?id=72614

        Reviewed by Martin Robinson.
        Patch by Nikolas Zimmermann.

        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
        (WebCore::setCairoFontOptionsFromFontConfigPattern):
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        (WebCore::SimpleFontData::platformInit):

2011-11-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        SVG <path> DRT dumps have rounding problems across platforms
        https://bugs.webkit.org/show_bug.cgi?id=47467

        Reviewed by Zoltan Herczeg.

        Next step towards fixing rounding differences across 32/64, release/debug builds and various platforms.
        Switch TextStream::operator<<(double) and SVGPathStringBuilder to use the newly introduced String::number(double, ConversionMode, precision)
        instead of using snprintf/String::format() directly. This uses wtf/dtoas rounding facilities and has proven to be faster & more precise!

        In order to make use of these new floating-point dumping facilities following work was done:
        - The InlineBox logicalHeight is still integer based, while logicalWidth switched to float recently, continue that work and switch logicalTop/Bottom
          to floats as well. This allows us to avoid calling enclosingIntRect() when figuring out the bounds of a RenderSVGText.
          Instead DRT can ask for the floating point metrics and round on its own to the desired precision. It's not obviously clear why this makes a difference.
          Consider a rect with width 9.99999999, enclosingIntRect() would yield 10 as width, on this machine, but another may store 10.000000003, yielding 11.
          That's part of the reason why this is more safe and ultimately should eliminate the rounding error induced by this in the DRT results.

        - absoluteClippedOverflowRectForRepaint(): when figuring out the repaint rect we'd retrieve the repaintRectInLocalCoordinates(), and call
          enclosingIntRect on it. Instead of doing that, to avoid the error described above, add a computeFloatRectForRepaint() call to RenderObject that's
          only used in a SVG subtree, just like its done for nodeAtFloatPoint. Do a single final enclosingIntRect() step when crossing the boundary from
          the SVG subtree in RenderSVGRoot to its parent, thus reducing the rounding instabilities.

        - The new String::number() implementation enforces a unique zero eliminating the 0.0 vs -0.0 issue for free.

        This has been tested on Gtk&Mac - and requires lots of new baseline. The hope is to be able to share a lot more with Mac now, except for obvious
        font family differences, that influence RenderSVGInlineText/Text results, and thus all containers that contains such objects.

        * platform/text/TextStream.cpp:
        (WebCore::TextStream::operator<<):
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::logicalHeight):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::virtualLogicalHeight):
        (WebCore::InlineBox::calculateBoundaries):
        (WebCore::InlineBox::pixelSnappedLogicalTop):
        (WebCore::InlineBox::pixelSnappedLogicalBottom):
        (WebCore::InlineBox::logicalTop):
        (WebCore::InlineBox::logicalBottom):
        (WebCore::InlineBox::setLogicalTop):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
        (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::calculateBoundaries):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutline):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::computeFloatRectForRepaint):
        * rendering/RenderObject.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteRectsForRange):
        (WebCore::RenderText::absoluteQuads):
        (WebCore::RenderText::absoluteQuadsForRange):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::hasFractions):
        (WebCore::formatNumberRespectingIntegers):
        (WebCore::operator<<):
        (WebCore::write):
        * rendering/RenderTreeAsText.h:
        * rendering/TrailingFloatsRootInlineBox.h:
        (WebCore::TrailingFloatsRootInlineBox::virtualLogicalHeight):
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::computeFloatRectForRepaint):
        * rendering/svg/RenderSVGForeignObject.h:
        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::computeFloatRectForRepaint):
        * rendering/svg/RenderSVGInline.h:
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::floatLinesBoundingBox):
        (WebCore::RenderSVGInlineText::linesBoundingBox):
        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
        * rendering/svg/RenderSVGInlineText.h:
        (WebCore::RenderSVGInlineText::objectBoundingBox):
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::computeFloatRectForRepaint):
        * rendering/svg/RenderSVGModelObject.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::computeRectForRepaint):
        (WebCore::RenderSVGText::computeFloatRectForRepaint):
        * rendering/svg/RenderSVGText.h:
        * rendering/svg/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::calculateBoundaries):
        * rendering/svg/SVGInlineFlowBox.h:
        (WebCore::SVGInlineFlowBox::virtualLogicalHeight):
        (WebCore::SVGInlineFlowBox::setLogicalHeight):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::calculateBoundaries):
        * rendering/svg/SVGInlineTextBox.h:
        (WebCore::SVGInlineTextBox::virtualLogicalHeight):
        (WebCore::SVGInlineTextBox::setLogicalHeight):
        (WebCore::SVGInlineTextBox::selectionHeight):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
        (WebCore::SVGRenderSupport::computeFloatRectForRepaint):
        * rendering/svg/SVGRenderSupport.h:
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::operator<<):
        (WebCore::roundedFloatRect):
        (WebCore::writeRenderSVGTextBox):
        (WebCore::writeSVGText):
        (WebCore::writeSVGInlineText):
        * rendering/svg/SVGRenderTreeAsText.h:
        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
        (WebCore::SVGRootInlineBox::layoutChildBoxes):
        (WebCore::SVGRootInlineBox::layoutRootBox):
        * rendering/svg/SVGRootInlineBox.h:
        (WebCore::SVGRootInlineBox::virtualLogicalHeight):
        (WebCore::SVGRootInlineBox::setLogicalHeight):
        * svg/SVGPathStringBuilder.cpp:
        (WebCore::SVGPathStringBuilder::moveTo):
        (WebCore::SVGPathStringBuilder::lineTo):
        (WebCore::SVGPathStringBuilder::lineToHorizontal):
        (WebCore::SVGPathStringBuilder::lineToVertical):
        (WebCore::SVGPathStringBuilder::curveToCubic):
        (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
        (WebCore::SVGPathStringBuilder::curveToQuadratic):
        (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathStringBuilder::arcTo):

2011-11-28  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: remove WebInspector.linkifyURL and TreeElement.titleHTML
        https://bugs.webkit.org/show_bug.cgi?id=73217

        Reviewed by Pavel Feldman.

        * inspector/front-end/AuditFormatters.js:
        (WebInspector.applyFormatters):
        * inspector/front-end/AuditResultView.js:
        (WebInspector.AuditCategoryResultPane.prototype._appendResult):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.GzipRule.prototype.doRun):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditRuleResult):
        (WebInspector.AuditRuleResult.linkifyDisplayName):
        (WebInspector.AuditRuleResult.prototype.addSnippet):
        (WebInspector.AuditRuleResult.prototype.addFormatted):
        (WebInspector.AuditRuleResult.prototype._append):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
        * inspector/front-end/ResourceHeadersView.js:
        (WebInspector.ResourceHeadersView.prototype._formatHeader):
        (WebInspector.ResourceHeadersView.prototype._formatParameter):
        (WebInspector.ResourceHeadersView.prototype._refreshURL):
        (WebInspector.ResourceHeadersView.prototype._refreshUrlFragment):
        (WebInspector.ResourceHeadersView.prototype._refreshRequestPayload):
        (WebInspector.ResourceHeadersView.prototype._refreshParms):
        (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
        (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
        * inspector/front-end/ResourceUtils.js:
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
        * inspector/front-end/WorkersSidebarPane.js:
        (WebInspector.WorkersSidebarPane.prototype.addWorker):
        * inspector/front-end/treeoutline.js:
        (TreeElement.prototype._setListItemNodeContent):

2011-11-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101302.
        http://trac.webkit.org/changeset/101302
        https://bugs.webkit.org/show_bug.cgi?id=73293

        massive crashes on gtk/win bots - m_bytes assertion fires
        (Requested by WildFox on #webkit).

        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageFrame::setSize):

2011-11-29  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>

        Upstream BlackBerry porting of platform/image-decoders
        https://bugs.webkit.org/show_bug.cgi?id=73118

        Reviewed by Daniel Bates.

        Initial upstream, can't be built yet, no test cases.

        The initial author is David Tapuska <dtapuska@rim.com>.

        * platform/image-decoders/blackberry/JPEGImageDecoder.cpp: Added.
        (WebCore::libInit):
        (WebCore::ImageReader::ImageReader):
        (WebCore::imgDecodeSetup):
        (WebCore::ImageReader::updateData):
        (WebCore::ImageReader::setSize):
        (WebCore::ImageReader::sizeExtract):
        (WebCore::ImageReader::decode):
        (WebCore::JPEGImageDecoder::JPEGImageDecoder):
        (WebCore::JPEGImageDecoder::setData):
        (WebCore::JPEGImageDecoder::isSizeAvailable):
        (WebCore::JPEGImageDecoder::frameBufferAtIndex):
        * platform/image-decoders/blackberry/JPEGImageDecoder.h: Added.
        (WebCore::JPEGImageDecoder::filenameExtension):
        (WebCore::JPEGImageDecoder::supportsAlpha):

2011-11-28  David Grogan  <dgrogan@chromium.org>

        WebWorkerRunLoop wrapper around WorkerRunLoop
        https://bugs.webkit.org/show_bug.cgi?id=71757

        Reviewed by Darin Fisher.

        No new tests - IndexedDB tests forthcoming.

        * platform/chromium/PlatformSupport.h: Add two methods that allow
        WebCore to notify chromium when workers start and stop.
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::workerThread): Call into PlatformSupport when
        the worker's runloop is started and stopped.

2011-11-29  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Filters] Filters do not render correctly when the layer has a transform
        https://bugs.webkit.org/show_bug.cgi?id=73077

        Reviewed by Dean Jackson.

        Corrected the root layer that was used when no transform was applied.
        Using PaintLayerAppliedTransform when calling paintLayer again, to avoid
        applying the transform inside the filter's graphics context. Now we apply that
        on the result image.

        Tests: css3/filters/filter-with-transform.html
               css3/filters/nested-filter.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):

2011-11-28  Wei Charles  <charles.wei@torchmobile.com.cn>

        [blackberry] Upstream BlackBerry porting of plugin framework
        https://bugs.webkit.org/show_bug.cgi?id=73185

        Reviewed by Daniel Bates.

        No new tests for now.

        * plugins/blackberry: Added.
        * plugins/blackberry/PluginDataBlackBerry.cpp: Added.
        * plugins/blackberry/PluginPackageBlackBerry.cpp: Added.

2011-11-28  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] Remove V8MessagePortCustom.h from the gyp projects
        https://bugs.webkit.org/show_bug.cgi?id=73281

        Reviewed by David Levin.

        V8MessagePortCustom.h was removed in r101118

        * WebCore.gypi: remove bindings\v8\custom\V8MessagePortCustom.h

2011-11-28  Leo Yang  <leo.yang@torchmobile.com.cn>

        Upstream the BlackBerry porting of SocketStream
        https://bugs.webkit.org/show_bug.cgi?id=73283

        Reviewed by Daniel Bates.

        Other main contributors:
        Joe Mason <jmason@rim.com>
        Lyon Chen <liachen@rim.com>

        Initial upstream, can't be built yet, no new tests.

        * platform/network/blackberry/SocketStreamError.h: Added.
        (WebCore::SocketStreamError::SocketStreamError):
        * platform/network/blackberry/SocketStreamHandle.h: Added.
        (WebCore::SocketStreamHandle::create):
        * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp: Added.
        (WebCore::SocketStreamHandle::SocketStreamHandle):
        (WebCore::SocketStreamHandle::~SocketStreamHandle):
        (WebCore::SocketStreamHandle::platformSend):
        (WebCore::SocketStreamHandle::platformClose):
        (WebCore::SocketStreamHandle::didReceiveAuthenticationChallenge):
        (WebCore::SocketStreamHandle::receivedCredential):
        (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
        (WebCore::SocketStreamHandle::receivedCancellation):
        (WebCore::SocketStreamHandle::notifyStatusReceived):
        (WebCore::SocketStreamHandle::notifyDataReceived):
        (WebCore::SocketStreamHandle::notifyReadyToSendData):
        (WebCore::SocketStreamHandle::notifyClose):

2011-11-28  Yongjun Zhang  <yongjun_zhang@apple.com>

        Size of ResourceRequestBase could be reduced by using bitfields.
        https://bugs.webkit.org/show_bug.cgi?id=73271

        Reviewed by Alexey Proskuryakov.

        Add bitfield for bool members in ResourceRequestBase to reduce its memory size.

        * platform/network/ResourceRequestBase.h:

2011-11-28  Yuta Kitamura  <yutak@chromium.org>

        WebSocket: Split Hixie76 length-prefixed frames aren't handled correctly
        https://bugs.webkit.org/show_bug.cgi?id=68522

        Reviewed by Kent Tamura.

        Test: http/tests/websocket/tests/hixie76/split-binary-frame-header.html

        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::processFrameHixie76):
        Do not consume the data if the length field is not finished.

2011-11-28  Stephen White  <senorblanco@chromium.org>

        [chromium] Fix SVG filters when running in accelerated drawing mode.
        https://bugs.webkit.org/show_bug.cgi?id=73249

        Reviewed by Kenneth Russell.

        Test: platform/chromium/compositing/accelerated-drawing/svg-filters.html

        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
        (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
        When doing accelerated drawing, mark the PlatformContextSkia as
        deferred.
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::drawNeedsCopy):
        When doing a cross-context draw, if the destination context is 
        deferred, copy the image.  Also refactor conditions under which the
        image is copied into a new function.
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        Use the refactored function for conditional copies.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        * platform/graphics/skia/PlatformContextSkia.h:
        (WebCore::PlatformContextSkia::isDeferred):
        (WebCore::PlatformContextSkia::setDeferred):
        Add m_isDeferred flag, initializer and accessors.

2011-11-29  Roland Steiner  <rolandsteiner@chromium.org>

        <style scoped>: add ENABLE(STYLE_SCOPED) flag to WebKit
        https://bugs.webkit.org/show_bug.cgi?id=72848

        Reviewed by Dimitri Glazkov.

        No new tests. (no code)

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:

2011-11-28  Vangelis Kokkevis  <vangelis@chromium.org>

        [chromium] Disable compositing for RTL pages even in forceCompositingMode
        https://bugs.webkit.org/show_bug.cgi?id=73195

        Reviewed by James Robinson.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):

2011-11-29  Roland Steiner  <rolandsteiner@chromium.org>

        From @keyframes rules with the same name, the last rule should be used
        https://bugs.webkit.org/show_bug.cgi?id=73113

        Have later rules override previously stored rules.

        Reviewed by Simon Fraser.

        Test: animations/duplicated-keyframes-name.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addKeyframeStyle):

2011-11-28  Jacky Jiang  <zhajiang@rim.com>

        Upstream BlackBerry porting of page.
        https://bugs.webkit.org/show_bug.cgi?id=73143

        Reviewed by Daniel Bates.

        Upstream BlackBerry porting of WebCore/page.
        Define DragImageRef for BlackBerry platform.

        Initial upstream, can't be built yet, no test cases.

        * page/blackberry/DragControllerBlackBerry.cpp: Added.
        (WebCore::DragController::isCopyKeyDown):
        (WebCore::DragController::maxDragImageSize):
        (WebCore::DragController::cleanupAfterSystemDrag):
        (WebCore::DragController::dragOperation):
        * page/blackberry/EventHandlerBlackBerry.cpp: Added.
        (WebCore::EventHandler::eventActivatedView):
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        (WebCore::EventHandler::passMousePressEventToSubframe):
        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
        (WebCore::EventHandler::passWheelEventToWidget):
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        (WebCore::EventHandler::tabsToAllFormControls):
        (WebCore::EventHandler::accessKeyModifiers):
        (WebCore::EventHandler::focusDocumentView):
        (WebCore::EventHandler::createDraggingClipboard):
        * page/blackberry/FrameBlackBerry.cpp: Added.
        (WebCore::Frame::dragImageForSelection):
        * platform/DragImage.h:

2011-11-28  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Create CCDamageTracker class to determine regions of change for a surface.
        https://bugs.webkit.org/show_bug.cgi?id=72520

        Reviewed by James Robinson.

        Added CCDamageTrackerTest and updated other tests.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/cc/CCDamageTracker.cpp: Added.
        (WebCore::CCDamageTracker::create):
        (WebCore::CCDamageTracker::CCDamageTracker):
        (WebCore::CCDamageTracker::~CCDamageTracker):
        (WebCore::CCDamageTracker::updateDamageRectForNextFrame):
        (WebCore::CCDamageTracker::removeRectFromCurrentFrame):
        (WebCore::CCDamageTracker::saveRectForNextFrame):
        (WebCore::CCDamageTracker::computeDamageFromActiveLayers):
        (WebCore::CCDamageTracker::computeDamageFromSurfaceMask):
        (WebCore::CCDamageTracker::computeDamageFromLeftoverRects):
        (WebCore::CCDamageTracker::extendDamageForLayer):
        (WebCore::CCDamageTracker::extendDamageForRenderSurface):
        * platform/graphics/chromium/cc/CCDamageTracker.h: Added.
        (WebCore::CCDamageTracker::currentDamageRect):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::resetAllChangeTrackingForSubtree):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
        (WebCore::CCLayerTreeHostCommon::renderSurfaceContributesToTarget):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::CCRenderSurface):
        (WebCore::CCRenderSurface::dumpSurface):
        (WebCore::CCRenderSurface::surfacePropertyChangedOnlyFromDescendant):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (WebCore::CCRenderSurface::damageTracker):

2011-11-28  Luke Macpherson   <macpherson@chromium.org>

        Implement CSSPropertySize in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=73000

        Reviewed by Andreas Kling.

        This refactoring moves the implementation of the page size calculation into CSSStyleApplyProperty
        and removes the existing code from CSSStyleSelector.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyPageSize::mmLength):
        (WebCore::ApplyPropertyPageSize::inchLength):
        (WebCore::ApplyPropertyPageSize::pageSizeFromName):
        (WebCore::ApplyPropertyPageSize::applyInheritValue):
        (WebCore::ApplyPropertyPageSize::applyInitialValue):
        (WebCore::ApplyPropertyPageSize::applyValue):
        (WebCore::ApplyPropertyPageSize::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSStyleSelector.h:

2011-11-28  Timothy Hatcher  <timothy@apple.com>

        Add support for knowing when a TreeElement is added or changed anywhere in a TreeOutline.

        Reviewed by Brian Weinstein.

        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype.appendChild): Call onadd if it exists.
        (TreeOutline.prototype.insertChild): Ditto.
        (TreeOutline.prototype._treeElementDidChange): Added. Call onchange if it exists.
        (TreeElement.prototype.set title): Call didChange.
        (TreeElement.prototype.set titleHTML): Ditto.
        (TreeElement.prototype.set tooltip): Ditto.
        (TreeElement.prototype.set hasChildren): Ditto.
        (TreeElement.prototype._fireDidChange): Added. Call TreeOutline._treeElementDidChange.
        (TreeElement.prototype.didChange): Added. Schedule a timeout for _fireDidChange.
        (TreeElement.prototype.expand): Move the code that sets the expanded flag to the beginning
        which is before onpopulate. Since onpopulate can add elements and call onadd, this makes
        sure the expanded flag is true before calling those functions.

2011-11-28  Timothy Hatcher  <timothy@apple.com>

        Skip selecting TreeElements that are hidden when keyboard navigating.

        We already skipped non-selectable tree elements in the common cases, this just makes selectable
        take the hidden flag into account.

        Reviewed by Brian Weinstein.

        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype._treeKeyDown): Skip non-selectable elements when pressing Left or Right,
        similar to what we already do when pressing Up and Down.
        (TreeElement): Set _selectable to true.
        (TreeElement.prototype.get selectable): Added. Return false when hidden.
        (TreeElement.prototype.set selectable): Added. Set _selectable.
        (TreeElement.prototype.traverseNextTreeElement): Renamed skipHidden to skipUnrevealed to prevent confusion with
        the hidden property of TreeElement.
        (TreeElement.prototype.traversePreviousTreeElement): Ditto.

2011-11-28  Timothy Hatcher  <timothy@apple.com>

        Use classList instead of addStyleClass and removeStyleClass in TreeOutline.

        https://webkit.org/b/72803

        Reviewed by Dan Bernstein.

        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype.appendChild):
        (TreeOutline.prototype.insertChild):
        (TreeElement.prototype.set hasChildren):
        (TreeElement.prototype.set hidden):
        (TreeElement.prototype._attach):
        (TreeElement.prototype.collapse):
        (TreeElement.prototype.expand):
        (TreeElement.prototype.select):
        (TreeElement.prototype.deselect):

2011-11-28  Leo Yang  <leo.yang@torchmobile.com.cn>

        Upstream platform/network/blackberry/AuthenticationChallenge.h
        https://bugs.webkit.org/show_bug.cgi?id=73196

        Reviewed by Daniel Bates.

        This is the BlackBerry implementation of WebCore::AuthenticationChallenge.
        Contributed by Torch Team.

        Initial upstream, can't be built yet, no new tests.

        * platform/network/blackberry/AuthenticationChallenge.h: Added.
        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
        (WebCore::AuthenticationChallenge::setStored):
        (WebCore::AuthenticationChallenge::isStored):

2011-11-28  Dana Jansens  <danakj@chromium.org>

        Synchronization problem in Canvas/WebGLRenderingContext when listener asks for image
        https://bugs.webkit.org/show_bug.cgi?id=73228

        Reviewed by Kenneth Russell.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::markContextChanged):

2011-11-28  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Fix build breakage after CSSInlineDeclaration refactor
        https://bugs.webkit.org/show_bug.cgi?id=73243

        Reviewed by Ryosuke Niwa.

        No tests needed. This patch only contains compile fixes.

        * css/CSSMutableStyleDeclaration.cpp:

2011-11-28  Jon Lee  <jonlee@apple.com>

        Fix Chromium bot build error related to b73253.

        * WebCore.gypi: Added missing references to NotificationController.

2011-11-28  Jon Lee  <jonlee@apple.com>

        Create skeleton framework for notifications support in WK2
        https://bugs.webkit.org/show_bug.cgi?id=73253
        <rdar://problem/10356943>

        Reviewed by Sam Weinig.

        Some refactoring was done to make notifications follow a similar pattern to our other clients, like
        geolocation and context menu.

        * Configurations/FeatureDefines.xcconfig: Split out ENABLE_NOTIFICATIONS based on platform.
        * WebCore.xcodeproj/project.pbxproj: Adding new NotificationController class, and exposing
        Notification and NotificationController as private headers.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.

        * notifications/NotificationContents.h: Converted class to struct. Members need to be accessible
        in order to do WK2 argument encoding.
        (WebCore::NotificationContents::NotificationContents):

        * notifications/Notification.cpp: Update style of entire file.
        (WebCore::Notification::Notification): Added default constructor (for WK2), and minor refactoring
        with NotificationContents.
        * notifications/Notification.h: Added set methods for WK2 serialization. Also, update indenting.
        (WebCore::Notification::setHTML): Added.
        (WebCore::Notification::setURL): Added.
        (WebCore::Notification::contents): Added const version for WK2.
        * notifications/NotificationCenter.h: Update style.

        * notifications/NotificationController.cpp: Added.
        (WebCore::NotificationController::NotificationController):
        (WebCore::NotificationController::~NotificationController):
        * notifications/NotificationController.h: Added.
        (WebCore::NotificationController::client):
        * notifications/NotificationPresenter.h: This acts like a client, and should probably be renamed as such.
        Removed ifdef for exposure to WK2.
        (WebCore::NotificationPresenter::~NotificationPresenter): Moved as protected instead of public.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitNotifications):  We move the request for the notification client from the chrome
        to the controller.
        * page/Page.cpp:
        (WebCore::Page::Page): The page now owns a notification controller.
        (WebCore::Page::PageClients::PageClients): Add notification client as a page client.
        * page/Page.h:
        (WebCore::Page::notificationController): Retrieve the notification controller.

        * page/ChromeClient.h: We move the request for the notification client from the chrome to the controller.
        Remove notificationPresenter().
        * page/Chrome.cpp: Remove notificationPresenter().
        * page/Chrome.h: Remove notificationPresenter().
        * loader/EmptyClients.h: Remove notificationPresenter().

2011-11-28  Noel Gordon  <noel.gordon@gmail.com>

        ImageDecoder setSize() should check for backing store allocation failure
        https://bugs.webkit.org/show_bug.cgi?id=72864

        Reviewed by Adam Barth.

        The backing store of a decoded image is a Vector<PixelData> on the affected
        ports. And Vector<> provides a resize capacity member that returns false if
        memory allocation fails.

        setSize() should be called once only during an image decode - add an ASSERT
        for that. Resize the backing store capacity to the requested image size and
        return false if memory allocation fails.

        ImageDecoder::isOverSize(width, height) is called to check that the decoded
        width and height won't overflow 'width x height x sizeof(PixelData)' before
        calls to setSize(). Refer to http://webkit.org/b/48634

        No new tests. Covered by fast/images/size-failure.html

        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageFrame::setSize):

2011-11-28  Oliver Hunt  <oliver@apple.com>

        Fix V8 bindings codegen and add yet more tests for the typed
        array bindings.

        * bindings/scripts/CodeGeneratorV8.pm:
        (AddIncludesForType):
        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
        (WebDOMFloat64Array::foo):
        * bindings/scripts/test/CPP/WebDOMFloat64Array.h:
        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
        (webkit_dom_float64array_foo):
        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
        * bindings/scripts/test/ObjC/DOMFloat64Array.h:
        * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
        (-[DOMFloat64Array foo:]):
        * bindings/scripts/test/TestTypedArray.idl:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore::Float64ArrayInternal::fooCallback):

2011-11-28  Dana Jansens  <danakj@chromium.org>

        FloatQuad::isRectilinear() returns false for 180degree rotations
        https://bugs.webkit.org/show_bug.cgi?id=73040

        Reviewed by James Robinson.

        Added unit test FloatQuadTest.cpp.

        * platform/graphics/FloatQuad.cpp:
        (WebCore::withinEpsilon): Check two values are as close as can be represented by floats.
        (WebCore::FloatQuad::isRectilinear): Use withinEpsilon().

2011-11-28  Beth Dakin  <bdakin@apple.com>

        Speculative Chromium build-fix.

        * platform/chromium/ScrollAnimatorChromiumMac.mm:
        (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):

2011-11-28  Oliver Hunt  <oliver@apple.com>

        Move typed array implementations into wtf
        https://bugs.webkit.org/show_bug.cgi?id=73248

        Reviewed by Sam Weinig.

        Removed the typed array implementation files from WebCore and
        added forwarding headers.

        * CMakeLists.txt:
        * ForwardingHeaders/wtf/ArrayBuffer.h: Added.
        * ForwardingHeaders/wtf/ArrayBufferView.h: Added.
        * ForwardingHeaders/wtf/Float32Array.h: Added.
        * ForwardingHeaders/wtf/Float64Array.h: Added.
        * ForwardingHeaders/wtf/Int16Array.h: Added.
        * ForwardingHeaders/wtf/Int32Array.h: Added.
        * ForwardingHeaders/wtf/Int8Array.h: Added.
        * ForwardingHeaders/wtf/Uint16Array.h: Added.
        * ForwardingHeaders/wtf/Uint32Array.h: Added.
        * ForwardingHeaders/wtf/Uint8Array.h: Added.
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSArrayBufferCustom.cpp:
        * bindings/js/JSArrayBufferViewHelper.h:
        * bindings/js/JSAudioContextCustom.cpp:
        * bindings/js/JSFileReaderCustom.cpp:
        * bindings/js/JSFloat32ArrayCustom.cpp:
        * bindings/js/JSFloat64ArrayCustom.cpp:
        * bindings/js/JSInt16ArrayCustom.cpp:
        * bindings/js/JSInt32ArrayCustom.cpp:
        * bindings/js/JSInt8ArrayCustom.cpp:
        * bindings/js/JSUint16ArrayCustom.cpp:
        * bindings/js/JSUint32ArrayCustom.cpp:
        * bindings/js/JSUint8ArrayCustom.cpp:
        * bindings/js/JSWaveShaperNodeCustom.cpp:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        (AddIncludesForType):
        (GenerateHeader):
        (NativeToJSValue):
        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        * bindings/scripts/test/JS/JSFloat64Array.h:
        * dom/MessageEvent.h:
        * fileapi/FileReader.cpp:
        * fileapi/FileReaderLoader.cpp:
        * fileapi/FileReaderSync.cpp:
        * fileapi/WebKitBlobBuilder.cpp:
        * html/HTMLMediaElement.cpp:
        * html/canvas/ArrayBuffer.h: Removed.
        * html/canvas/ArrayBufferView.cpp: Removed.
        * html/canvas/DataView.h:
        * html/canvas/Float64Array.cpp: Removed.
        * html/canvas/Int16Array.h: Removed.
        * html/canvas/Int32Array.h: Removed.
        * html/canvas/Int8Array.h: Removed.
        * html/canvas/Uint16Array.h: Removed.
        * html/canvas/Uint32Array.h: Removed.
        * html/canvas/Uint8Array.cpp: Removed.
        * html/canvas/WebGLBuffer.cpp:
        * html/canvas/WebGLBuffer.h:
        * html/canvas/WebGLGetInfo.cpp:
        * html/canvas/WebGLGetInfo.h:
        * html/canvas/WebGLRenderingContext.cpp:
        * html/canvas/WebGLRenderingContext.h:
        * page/Crypto.cpp:
        * platform/graphics/GraphicsContext3D.cpp:
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        * webaudio/AsyncAudioDecoder.cpp:
        * webaudio/AudioBuffer.h:
        * webaudio/AudioContext.cpp:
        * webaudio/AudioParam.h:
        * webaudio/AudioParamTimeline.h:
        * webaudio/JavaScriptAudioNode.cpp:
        * webaudio/RealtimeAnalyser.cpp:
        * webaudio/WaveShaperProcessor.h:
        * websockets/WebSocketChannel.cpp:
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        * xml/XMLHttpRequest.cpp:

2011-11-28  Robert Hogan  <robert@webkit.org>

        Unreviewed, rolling out r101202.
        http://trac.webkit.org/changeset/101202
        https://bugs.webkit.org/show_bug.cgi?id=71244

        Caused performance regressions when painting collapsed borders

        * rendering/RenderTableCell.cpp:
        (WebCore::compareBorders):
        (WebCore::RenderTableCell::collapsedStartBorder):
        (WebCore::RenderTableCell::collapsedEndBorder):
        (WebCore::RenderTableCell::collapsedBeforeBorder):
        (WebCore::RenderTableCell::collapsedAfterBorder):
        * rendering/style/CollapsedBorderValue.h:
        (WebCore::CollapsedBorderValue::CollapsedBorderValue):
        (WebCore::CollapsedBorderValue::operator==):
        * rendering/style/RenderStyleConstants.h:

2011-11-28  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=72551
        When the recommended scrollbar style changes, WKView's tracking options should 
        adjust accordingly
        -and corresponding-
        <rdar://problem/10409328>

        Reviewed by Darin Adler.

        This new ChromeClient function is called when the recommended scrollbar style 
        changes. This way, WebKit can respond to the change by adjusting its mouse 
        tracking.
        * page/ChromeClient.h:
        (WebCore::ChromeClient::recommendedScrollbarStyleDidChange):

        Existing ScrollableArea function scrollbarStyleChanged() now takes an int 
        indicating the new scrollbar style and a bool indicating whether it is necessary 
        to force an update. It used to be the case that this function was ONLY used to 
        force an update (and only called when an updated was needed), but now that it must 
        also call into the ChromeClient, it is necessary to include a bool tracking 
        whether we need to force an update. New implementation on FrameView is responsible 
        for calling ChromeClient, and then that calls into the pre-existing ScrollView 
        function for the forceUpdate part.
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollbarStyleChanged):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView:: scrollbarStyleChanged):
        * platform/ScrollView.h:
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::scrollbarStyleChanged):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):

2011-11-28  Julien Chaffraix  <jchaffraix@webkit.org>

        Add limited parsing support for grid-columns and grid-rows
        https://bugs.webkit.org/show_bug.cgi?id=72531

        Reviewed by Tony Chang.

        Test: fast/css-grid-layout/grid-columns-rows-get-set.html

        Added support for:
        <track-list> := <length> | <percentage> | 'none' | 'auto'

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/style/StyleAllInOne.cpp:
        Updated our build systems.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForGridTrackList):
        Helper function to convert our RenderStyle information to a proper CSSValue.
        It doesn't do much now but it will be expanded as we add more support.

        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Call the previous
        function.

        * css/CSSParser.h:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseGridTrackList):
        CSS parsing part of this change. Pretty simple for now.

        * css/CSSPropertyNames.in:
        Added -webkit-grid-columns and -webkit-grid-rows.

        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Style application plumbing.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        (WebCore::RenderStyle::diff):
        This change is required for later when we add layout for our grid.

        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::gridColumns):
        (WebCore::InheritedFlags::gridRows):
        (WebCore::InheritedFlags::setGridColumns):
        (WebCore::InheritedFlags::setGridRows):
        (WebCore::InheritedFlags::initialGridColumns):
        (WebCore::InheritedFlags::initialGridRows):
        Getters / Setters and initial values.

        * rendering/style/StyleGridData.cpp: Added.
        (WebCore::StyleGridData::StyleGridData):
        * rendering/style/StyleGridData.h: Added.
        (WebCore::StyleGridData::create):
        (WebCore::StyleGridData::copy):
        (WebCore::StyleGridData::operator==):
        (WebCore::StyleGridData::operator!=):
        This class holds the grid element information. For now pretty simple
        shell that will be used for the rest of the support.

        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:
        Added StyleGridElementData to StyleRareNonInheritedData.

2011-11-28  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] Use data decoding swizzle for turbo JPEG image decoding.
        https://bugs.webkit.org/show_bug.cgi?id=59670

        Reviewed by Kenneth Russell.

        Add a BGRX row decode data swizzle for the little-endian ports that use libjpeg-turbo
        (Chromium win/linux/mac) to reduce JPEG image decoding time by ~2x.

        JPEG images of type JSC_GRAYSCALE are excluded since layout regressions were observed
        for grayscale images produced by older tools (XV 3.10a 12/19/94). libjpeg decodes the
        images without error; libjpeg-turbo caused visible artifacts (see bug for examples).

        This patch is based on the work of Hironori Bono. He provided the original patch, and
        the quantitative results confirming the significant performance improvement.

        No new tests. Covered by many existing tests.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (rgbOutputColorSpace):  If JCS_EXTENSIONS is defined (libjpeg-turbo), and the port is
        little-endian, define a BGRX data swizzle for use when decoding pixel rows.
        (turboSwizzled):
        (WebCore::JPEGImageReader::decode):  Select a possibly swizzled rgbOutputColorSpace()
        for JSC_RGB and JCS_YCbCr input color space images.  Exclude JSC_GRAYSCALE images.
        (WebCore::JPEGImageDecoder::outputScanlines):  Swizzle decode, if applicable.

2011-11-28  Fady Samuel  <fsamuel@chromium.org>

        Fix Aspect Ratio Property Inheritance And Make the Computed Value Equal the Specified Value
        https://bugs.webkit.org/show_bug.cgi?id=73038

        Reviewed by Ojan Vafai.

        hasAspectRatio was not being set if the -webkit-aspect-ratio property was inherited from the parent.

        Additionally, the computed value of -webkit-aspect-ratio was returning a number instead of a ratio.

        Test: fast/css/aspect-ratio-inheritance.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):

2011-11-28  Ken Buchanan  <kenrb@chromium.org>

        Crash due to bidi style in isolated run
        https://bugs.webkit.org/show_bug.cgi?id=72978

        Reviewed by Eric Seidel.

        Prevent the UBA from changing the embedding level when inside an isolated run.

        * rendering/InlineIterator.h:
        (WebCore::notifyObserverEnteredObject):
        (WebCore::notifyObserverWillExitObject):

2011-11-28  Martin Robinson  <mrobinson@igalia.com>

        Fix 'make dist' by adding two missing files to source list.

        * GNUmakefile.list.am: Add missing files.

2011-11-25  Ryosuke Niwa  <rniwa@webkit.org>

        dir=auto should imply unicode-bidi:isolate by default
        https://bugs.webkit.org/show_bug.cgi?id=63903

        Reviewed by Dan Bernstein.

        Fixed WebKit's implementation of bdo, bdi, and output elements to match HTML5 spec section 10.3.5:
        http://dev.w3.org/html5/spec/Overview.html#bidirectional-text

        Any element with dir=auto other than bdo, textarea, and pre should use unicode-bidi: -webkit-isolate by default.

        We still don't use -webkit-isolate for non-phrasing elements by default and unicode-override -webkit-isolate for
        bdo[dir=auto] so these two cases are failing in the added test.

        Test: fast/css/default-bidi-css-rules.html

        * css/html.css:
        (bdi, output): bdi and output should both use -webkit-isolate as the default value for unicode-bidi.
        (bdo): bdo should use bidi-override as the default value for unicode-bidi.
        * dom/MappedAttributeEntry.h: Add eBDI, which is used by bdi and output elements.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::mapToEntry): Don't share the cache for dir attribute between bdi and other elements
        just like we don't share the cache for dir attribute between bdo and other elements.
        (WebCore::unicodeBidiAttributeForDirAuto): Don't set bidi-override for bdo element since this is done
        in the UA stylesheet now. Set unicode-bidi to -webkit-isolate for elements other than pre and textarea now that
        this function is called only when dir=auto.
        called when dir=auto as the name implies.
        (WebCore::HTMLElement::parseMappedAttribute): Don't call unicodeBidiAttributeForDirAuto when dir is not
        auto. Also set unicode-bidi to embed when dir is not auto and the element is neither bdi, bdo, nor output.
        * html/HTMLOutputElement.cpp:
        (WebCore::HTMLOutputElement::mapToEntry): Don't share the cache for dir between output and other elements.
        * html/HTMLOutputElement.h:
        * html/HTMLTagNames.in:

2011-11-28  Jer Noble  <jer.noble@apple.com>

        WebAudio: AudioContext::uninitialize() can caused AudioContext deletion before deleting marked nodes.
        https://bugs.webkit.org/show_bug.cgi?id=72755

        Reviewed by Eric Carlson.

        No new tests.

        Protect AudioContext from being deleted before uninitialize() returns. Fixes an assertion in ~AudioContext() and 
        a potential source of leaks.

        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::uninitialize):

2011-11-28  Andreas Kling  <kling@webkit.org>

        InspectorCSSAgent: Remove unused function inlineStyleElement().
        <http://webkit.org/b/73221>

        Reviewed by Pavel Feldman.

        * inspector/InspectorCSSAgent.cpp:
        * inspector/InspectorCSSAgent.h:

2011-11-28  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Build system fixes against V8.

        Reviewed by Tor Arne Vestbø.

        * DerivedSources.pri: Add missing binding files to the build and also added
        the regexp table generation needed for Yarr, which is compiled statically into
        WebCore to implement WebCore::RegularExpression.
        * Target.pri: Adapt to latest v8 binding files.

2011-11-28  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: resource status image is mis-aligned in the network headers view
        https://bugs.webkit.org/show_bug.cgi?id=73211

        Reviewed by Pavel Feldman.

        * inspector/front-end/ResourceHeadersView.js:
        (WebInspector.ResourceHeadersView):

2011-11-28  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: console evaluation doesn't work when navigating from a page with several frames to another one
        https://bugs.webkit.org/show_bug.cgi?id=73210

        Reviewed by Yury Semikhatsky.

        Test: http/tests/inspector/resource-tree/resource-tree-events.html

        * inspector/Inspector.json:
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._frameDetached):
        (WebInspector.ResourceTreeFrame.prototype.navigate):
        (WebInspector.ResourceTreeFrame.prototype.removeChildFrame):
        (WebInspector.ResourceTreeFrame.prototype.removeChildFrames):

2011-11-28  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: introduce InspectorBaseAgent.
        https://bugs.webkit.org/show_bug.cgi?id=73203

        Now that inspector controller does not depend on concrete inspector agent
        classes, we can collect agent instances using abstract type.

        Reviewed by Yury Semikhatsky.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        * inspector/InspectorAgent.h:
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorBaseAgent.cpp: Copied from Source/WebCore/inspector/InspectorFileSystemAgent.h.
        (WebCore::InspectorBaseAgent::InspectorBaseAgent):
        (WebCore::InspectorBaseAgent::~InspectorBaseAgent):
        * inspector/InspectorBaseAgent.h: Copied from Source/WebCore/inspector/InspectorFileSystemAgent.h.
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
        * inspector/InspectorCSSAgent.h:
        (WebCore::InspectorCSSAgent::setFrontend):
        (WebCore::InspectorCSSAgent::restore):
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::enable):
        (WebCore::InspectorConsoleAgent::disable):
        (WebCore::InspectorConsoleAgent::clearMessages):
        (WebCore::InspectorConsoleAgent::restore):
        (WebCore::InspectorConsoleAgent::clearFrontend):
        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
        (WebCore::InspectorConsoleAgent::addConsoleMessage):
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::clearFrontend):
        (WebCore::InspectorDOMAgent::setDocument):
        (WebCore::InspectorDOMAgent::getDocument):
        (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
        (WebCore::InspectorDOMStorageAgent::restore):
        (WebCore::InspectorDOMStorageAgent::enable):
        (WebCore::InspectorDOMStorageAgent::disable):
        * inspector/InspectorDOMStorageAgent.h:
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
        (WebCore::InspectorDatabaseAgent::enable):
        (WebCore::InspectorDatabaseAgent::disable):
        (WebCore::InspectorDatabaseAgent::restore):
        * inspector/InspectorDatabaseAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::disable):
        (WebCore::InspectorDebuggerAgent::enabled):
        (WebCore::InspectorDebuggerAgent::enable):
        (WebCore::InspectorDebuggerAgent::clearFrontend):
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorFileSystemAgent.cpp:
        (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
        * inspector/InspectorFileSystemAgent.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::InspectorPageAgent):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
        (WebCore::InspectorProfilerAgent::enable):
        (WebCore::InspectorProfilerAgent::disable):
        (WebCore::InspectorProfilerAgent::restore):
        (WebCore::InspectorProfilerAgent::restoreEnablement):
        (WebCore::InspectorProfilerAgent::start):
        (WebCore::InspectorProfilerAgent::stop):
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        * inspector/InspectorTimelineAgent.h:
        * inspector/InspectorWorkerAgent.cpp:
        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
        (WebCore::InspectorWorkerAgent::restore):
        (WebCore::InspectorWorkerAgent::clearFrontend):
        (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
        (WebCore::InspectorWorkerAgent::setAutoconnectToWorkers):
        (WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart):
        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
        * inspector/InspectorWorkerAgent.h:

2011-11-28  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: chromium: Unreviewed one-line fix for Summary view filter.

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):

2011-11-28  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: disable filesystem instrumentation to unbreak Qt tests.

        * inspector/front-end/inspector.js:

2011-11-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101249.
        http://trac.webkit.org/changeset/101249
        https://bugs.webkit.org/show_bug.cgi?id=73205

        it broke qt-minimal and wince builds (Requested by loislo on
        #webkit).

        * inspector/CodeGeneratorInspector.py:
        (Capitalizer.upper_camel_case_to_lower):
        (RawTypes.get):
        (RawTypes.String.get_c_param_type):
        (RawTypes.Object.get_c_param_type):
        (RawTypes.Object):
        (ParamType):
        (TypeData.__init__):
        (TypeData.get_raw_type):
        (TypeMap.__init__):
        (InspectorFrontend_h):
        (InspectorArray):
        (InspectorObject):
        (String):
        (InspectorBackendDispatcher_h):
        (Generator.process_command):
        * inspector/InspectorValues.h:

2011-11-28  Andreas Kling  <kling@webkit.org>

        CSSStyleDeclaration: Remove ability to have style sheet as parent.
        <http://webkit.org/b/73199>

        Reviewed by Antti Koivisto.

        Refactor so we don't have to support style sheets as parents of style declarations.
        The users of this mechanism were mapped attributes and inline styles, which instead
        now know how to find the relevant style sheet via their document().

        * css/CSSMutableStyleDeclaration.h:
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSElementStyleDeclaration::styleSheet):

            Added CSSElementStyleDeclaration::styleSheet(). The default implementation
            returns the associated element's document()->elementSheet(). It is virtual
            because SVGFontFaceElement needs document()->mappedElementSheet() instead.

        * css/CSSStyleDeclaration.h:
        (WebCore::CSSStyleDeclaration::parentRule):
        (WebCore::CSSStyleDeclaration::setParentRule):
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):

            Remove m_parentIsRule and m_parentStyleSheet, leaving only m_parentRule.

        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::parentStyleSheet):

            Out-of-lined so it can return the CSSElementStyleDeclaration::styleSheet() for
            declarations with an associated element.

        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
        (WebCore::WebKitCSSKeyframeRule::setDeclaration):

            Use setParentRule() instead of setParentStyleSheet() on the internal
            CSSMutableStyleDeclaration in keyframe rules.

        * dom/StyledElement.h:

            Removed StyledElement::didMoveToNewOwnerDocument() since we no longer need to
            manually keep the inline style's parent style sheet pointer up-to-date.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::destroyInlineStyleDecl):
        (WebCore::StyledElement::attributeChanged):
        (WebCore::StyledElement::createMappedDecl):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
        (WebCore::HTMLTableElement::addSharedGroupDecls):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):

            Remove setParentStyleSheet() calls on mapped attributes and inline styles.
            They now find the relevant style sheet by following the associated element ptr.

        * svg/SVGFontFaceElement.cpp:
        (WebCore::FontFaceStyleDeclaration::FontFaceStyleDeclaration):
        (WebCore::FontFaceStyleDeclaration::~FontFaceStyleDeclaration):
        (WebCore::FontFaceStyleDeclaration::styleSheet):

            Subclass CSSElementStyleDeclaration for SVG's font-face elment in order to
            override styleSheet(). This is necessary because they operate on the document's
            mappedElementSheet() rather than the elementSheet().

2011-11-28  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: [protocol] generate C++ classes for protocol JSON named types
        https://bugs.webkit.org/show_bug.cgi?id=72835

        Reviewed by Pavel Feldman.

        Extends python generator functionality.
        Makes constructor in InspectorObject public.

        * inspector/CodeGeneratorInspector.py:
        * inspector/InspectorValues.h:

2011-11-28  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] WTF should be built as separate static library
        https://bugs.webkit.org/show_bug.cgi?id=73201

        Reviewed by Tor Arne Vestbø.

        * Target.pri: Require wtf and don't claim to be building it
        with BUILDING_WTF in DEFINES (otherwise we won't link it with
        debug-shlib builds).

2011-11-28  Taiju TSUIKI  <tzik@chromium.org>

        Fix build error on Chromium/Windows.
        https://bugs.webkit.org/show_bug.cgi?id=73200

        Unreviewed build fix.

        * inspector/InspectorFileSystemAgent.cpp:

2011-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck issues.

        * GNUmakefile.list.am: Add missing files.
        * bindings/gobject/GNUmakefile.am: Only build
        WebKitDOMHTMLPropertiesCollection when microdate is enabled.

2011-11-28  Luke Macpherson   <macpherson@chromium.org>

        Implement CSS border image properties in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=72846

        Reviewed by Andreas Kling.

        Refactoring that implements CSS border image properties in CSSStyleApplyProperty.
        Part of the larger refactoring aimed at removing CSSStyleSelector::applyProperty().

        Covered by existing tests in fast/css.

        * css/CSSStyleApplyProperty.cpp:
        Implement property handlers based on existing code.
        (WebCore::ApplyPropertyBorderImage::setValue):
        (WebCore::ApplyPropertyBorderImage::applyValue):
        (WebCore::ApplyPropertyBorderImage::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        Remove old code.
        (WebCore::CSSStyleSelector::applyProperty):

2011-11-28  Luke Macpherson   <macpherson@chromium.org>

        Implement CSS hyphenate-limit properties in CSSStyleApplyProperty
        https://bugs.webkit.org/show_bug.cgi?id=73107

        Reviewed by Andreas Kling.

        Covered by existing tests under fast/css (parsing-hyphenate-limit-lines.html, parsing-hyphenate-limit.html, text/hyphenate-limit-lines.html)

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyNumber::setValue):
        (WebCore::ApplyPropertyNumber::applyValue):
        (WebCore::ApplyPropertyNumber::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-11-28  Taiju TSUIKI  <tzik@chromium.org>

        [Inspector][FileSystem]: Capture DOMFileSystem object.
        Adding files for FileSystem support to Inspector.
        Adding hooks into DOMFileSystem creation and destruction.
        https://bugs.webkit.org/show_bug.cgi?id=72456

        Reviewed by Pavel Feldman.

        Tests should be added in later CL.

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::create):
        * fileapi/DOMFileSystem.h:
        * inspector/CodeGeneratorInspector.py:
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        * inspector/InspectorController.h:
        * inspector/InspectorFileSystemAgent.cpp: Added.
        * inspector/InspectorFileSystemAgent.h: Added.
        * inspector/InspectorFileSystemInstrumentation.h: Added.
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didOpenFileSystemImpl):
        * inspector/InspectorInstrumentation.h:
        * inspector/InstrumentingAgents.h:
        (WebCore::InstrumentingAgents::InstrumentingAgents):
        (WebCore::InstrumentingAgents::inspectorFileSystemAgent):
        (WebCore::InstrumentingAgents::setInspectorFileSystemAgent):
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::connectFrontend):
        * inspector/front-end/inspector.js:

2011-11-28  Luke Macpherson   <macpherson@chromium.org>

        Implement CSSPropertyWebkitFlowInto and CSSPropertyWebkitFlowFrom in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=73110

        Reviewed by Andreas Kling.

        Covered by existing tests under fast/regions.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-11-27  Luke Macpherson   <macpherson@chromium.org>

        Implement vertical-align property in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=72926

        Reviewed by Andreas Kling.

        Part of the ongoing refactoring of CSSStyleSelector::applyProperty.

        Covered by several tests under fast/css.

        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::isPercent):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyVerticalAlign::applyValue):
        (WebCore::ApplyPropertyVerticalAlign::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setVerticalAlignLength):
        Calling setVerticalAlignLength now automatically sets verticalAlign to LENGTH.

2011-11-27  Luke Macpherson   <macpherson@chromium.org>

        Implement CSSPropertyTextAlign in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=73102

        Reviewed by Andreas Kling.

        Covered by fast/css/text-align*.html

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyTextAlign::applyValue):
        (WebCore::ApplyPropertyTextAlign::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-11-27  Andreas Kling  <kling@webkit.org>

        CSSStyleRule: Pack m_sourceLine with CSSRule bits.
        <http://webkit.org/b/73168>

        Reviewed by Antti Koivisto.

        Make CSSStyleRule::m_sourceLine a 27-bit integer and pack it with the rest
        of the members in CSSRule. This shrinks CSSStyleRule by one CPU word
        and reduces memory consumption by 81 kB on the GMail inbox (on 64-bit.)

        * css/CSSRule.h:
        (WebCore::CSSRule::CSSRule):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::CSSStyleRule):
        * css/CSSStyleRule.h:

2011-11-27  Mark Rowe  <mrowe@apple.com>

        <http://webkit.org/b/72665> Switch to a more modern approach to retrieving the OS marketing version

        Reviewed by Dan Bernstein.

        * WebCore.exp.in: Expose the necessary symbol.
        * platform/mac/WebCoreSystemInterface.h: Ditto.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.

2011-11-27  Anna Cavender  <annacc@chromium.org>

        Move readyState from TextTrack to HTMLTrackElement
        https://bugs.webkit.org/show_bug.cgi?id=72553

        Fix for r101057 after it was rolled out in r101088

        Reviewed by Eric Carlson.

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::HTMLTrackElement):
            Set initial readyState to NONE.
        (WebCore::HTMLTrackElement::didCompleteLoad):
            Set readyState based on load completed status.
        (WebCore::HTMLTrackElement::setReadyState):
            This replaces textTrackReadyStateChanged() because only LoadableTextTrack
            needs to notify HTMLTrackElement of readyState changes (i.e.
            textTrackReadyStateChanged() is no longer required of TextTrackClient).
        * html/HTMLTrackElement.h:
            ReadyState enum and m_readyState member variable moved from TextTrack.
        (WebCore::HTMLTrackElement::readyState):
            New: readyState() getter.
        * html/HTMLTrackElement.idl:
            Add readyState attribute and associated constants.

        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::loadTimerFired): Set readyState on HTMLTrackElement.
        (WebCore::LoadableTextTrack::cueLoadingStarted): Ditto.
        (WebCore::LoadableTextTrack::cueLoadingCompleted): Move code to set readyState
            to HTMLTrackElement (it can set it based on loading status).

        * html/TextTrack.cpp: Remove readyState from TextTrack.
        (WebCore::TextTrack::TextTrack): Ditto.
        * html/TextTrack.h: Ditto.
        * html/TextTrack.idl: Ditto.

2011-11-27  Anna Cavender  <annacc@chromium.org>

        Don't allow attribute changes on <track> if feature is not enabled.
        https://bugs.webkit.org/show_bug.cgi?id=73046

        Reviewed by Eric Carlson.

        No new tests. This fixes a problem when --enable-video-track is not used,
        but the tests use this flag.

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::attributeChanged):

2011-11-27  Andreas Kling  <kling@webkit.org>

        CSSMutableStyleDeclaration: setCssText() mostly duplicates parseDeclaration().
        <http://webkit.org/b/73171>

        Reviewed by Antti Koivisto.

        Let setCssText() call parseDeclaration() instead of duplicating the functionality.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setCssText):

2011-11-27  Andreas Kling  <kling@webkit.org>

        CSS/XSLStyleSheet: checkLoaded() needn't be virtual.
        <http://webkit.org/b/73169>

        Reviewed by Antti Koivisto.

        Devirtualize checkLoaded() in CSSStyleSheet and XSLStyleSheet as they
        are not overriding anything, nor are they ever overridden.

        * css/CSSStyleSheet.h:
        * xml/XSLStyleSheet.h:

2011-11-27  Andreas Kling  <kling@webkit.org>

        Add assertions that CSSMappedAttributeDeclarations aren't using strict parsing.
        <http://webkit.org/b/73167>

        Reviewed by Antti Koivisto.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createMappedDecl):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
        (WebCore::HTMLTableElement::addSharedGroupDecls):

2011-11-27  Andreas Kling  <kling@webkit.org>

        CSSStyleSheet: Removed unused create() overload.
        <http://webkit.org/b/73170>

        Reviewed by Antonio Gomes.

        Nobody was using CSSStyleSheet::create(ownerNode, originalURL, finalURL)
        so remove it.

        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::create):

2011-11-27  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: border-conflict-element-*
        https://bugs.webkit.org/show_bug.cgi?id=71244

        Reviewed by Julien Chaffraix.
        
        From http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution :
          "When two adjacent cells have the same border-width and the same border-style in a 
          'border-collapse: collapse' table, then the color of the border from the leftmost cell wins
          (if the table's 'direction' is 'ltr'; right, if it is 'rtl') and the color of the border
          from the topmost cell wins."

        So WebCore::compareBorders needs to account for the position of the cell when 
        deciding which border wins the comparison. This will ensure that the winning border is 
        sorted to the appropriate position in the sorted list of borders for painting.

        When conflicting collapsed borders are in the same cell, the following order of
        precedence is used (where 4 has highest precedence):

                           __3__
                          |     |
                        4 |     | 1
                          |_____|
                             2

        This fixes the following failing tests from the border-conflict-element-* set
        in the CSS 2.1 test suite:
          border-conflict-element-001d.htm
          border-conflict-element-0037.htm

        One test in the suite is known to be wrong, so a corrected version has been landed outside the 
        css2.1 folder:
          border-conflict-element-002.htm

        This change entails rebaselining quite a few tests, see the LayoutTests ChangeLog for a full
        explanation of the rebaselines.

        * rendering/RenderTableCell.cpp:
        (WebCore::compareBorders): Compare the cells' position from the left (in 'ltr') and right (in 'rtl')
                                   of the table and the cells' position from the top of the table when nothing
                                   else in the style, width, or grouping of the borders determines precedence.
                                   If the conflicting borders are in the same cell, apply the same logic to the position of the borders.
        (WebCore::RenderTableCell::collapsedStartBorder): Pass the cell's position and its table's direction to CollapsedBorderValue
        (WebCore::RenderTableCell::collapsedEndBorder): ditto
        (WebCore::RenderTableCell::collapsedBeforeBorder): ditto
        (WebCore::RenderTableCell::collapsedAfterBorder): ditto
        * rendering/style/CollapsedBorderValue.h:
        (WebCore::CollapsedBorderValue::CollapsedBorderValue): Learn the position of the border's cell and the direction of its table
        (WebCore::CollapsedBorderValue::columnOffset): the cell's offset from the top of the table
        (WebCore::CollapsedBorderValue::rowOffset): the cell's offset from the start of the table
        (WebCore::CollapsedBorderValue::edge): which edge of the cell the border is on
        (WebCore::CollapsedBorderValue::operator==): cells with the same position in the table are equal

2011-11-26  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: remove disconnectFromBackend from the protocol.
        https://bugs.webkit.org/show_bug.cgi?id=73127

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::inspectedPageDestroyed):
        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::close):
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        * inspector/front-end/inspector.js:
        (WebInspector.disconnectFromWorker):
        * loader/EmptyClients.h:
        (WebCore::EmptyInspectorClient::closeInspectorFrontend):

2011-11-26  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Change the order of wx header includes
        to avoid a windows.h inclusion order issue, and make sure a stub
        method returns a value.

        * platform/wx/FileSystemWx.cpp:
        (WebCore::openFile):

2011-11-26  Alejandro G. Castro  <alex@igalia.com>

        Fix compilation after r101157.

        Reviewed by Martin Robinson.

        * bindings/scripts/preprocessor.pm:
        (applyPreprocessor): In case we have a string with
        double-quotations (") we replace it with the empty string.

2011-11-26  Igor Oliveira  <igor.oliveira@openbossa.org>

        [TexMapper][WK2][Qt] Simple opacity animations are not working
        https://bugs.webkit.org/show_bug.cgi?id=73157

        LayerTreeHostQt needs to know what nodes in the TextureMapper are visible, to associate
        a tile to it. It is done using TextureMapperNode::collectVisibleContentsRects.

        However TextureMapperNode::collectVisibleContentsRects has an optimization to check if
        the current tile has opacity greater than 0.01, otherwise it will not create a tile for
        the current node.

        For opacity animations from 0 to 1, it is a problem because the tile is never created
        and the animation never happens.

        This patch fixes opacity animations.

        Reviewed by Noam Rosenthal.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::countDescendantsWithContent):
        (WebCore::TextureMapperNode::collectVisibleContentsRects):

2011-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101193.
        http://trac.webkit.org/changeset/101193
        https://bugs.webkit.org/show_bug.cgi?id=73158

        Breaks Windows and Qt minimal. (Requested by pfeldman on
        #webkit).

        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::inspectedPageDestroyed):
        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::close):
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::disconnectFromBackend):
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
        * inspector/front-end/inspector.js:
        (WebInspector.disconnectFromBackend):
        * loader/EmptyClients.h:

2011-11-26  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: remove disconnectFromBackend from the protocol.
        https://bugs.webkit.org/show_bug.cgi?id=73127

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::inspectedPageDestroyed):
        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::close):
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        * inspector/front-end/inspector.js:
        (WebInspector.disconnectFromWorker):
        * loader/EmptyClients.h:
        (WebCore::EmptyInspectorClient::closeInspectorFrontend):

2011-11-26  Timothy Hatcher  <timothy@apple.com>

        Fix a bug in TreeOutline which would cause parent elements to show up as expanded and empty
        when removed and added back to the tree.

        https://bugs.webkit.org/show_bug.cgi?id=73155

        Reviewed by Pavel Feldman.

        * inspector/front-end/treeoutline.js:
        (TreeElement.prototype.collapse): Set _treeElementsExpandedState to false instead of true.
        Only TreeElement.prototype.expand should set it to true, which it does.

2011-11-26  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Fix some warnings in WebCore GTK+
        https://bugs.webkit.org/show_bug.cgi?id=73137

        Reviewed by Philippe Normand.

        No new tests. This patch just fixes compilation warnings.

        * platform/gtk/CursorGtk.cpp:
        (WebCore::createNamedCursor): Remove unused variable.
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::paintSliderTrack): ASSERT_UNUSED instead of ASSERT.
        * platform/gtk/SharedTimerGtk.cpp: Ditto.
        (WebCore::stopSharedTimer):

2011-11-25  Eric Carlson  <eric.carlson@apple.com>

        Implement addCue and removeCue in TextTrack
        https://bugs.webkit.org/show_bug.cgi?id=72554

        Reviewed by Darin Adler.

        Test: media/track/track-add-remove-cue.html

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::ensureTrack): Go ahead and allocate a Track even if the feature 
            is disabled, it just won't load anything.
        (WebCore::HTMLTrackElement::scheduleLoad): Early return if the featue is disabled.
        (WebCore::HTMLTrackElement::canLoadUrl): Ditto.

        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::newCuesAvailable): Add new cues one at a time because 
            cues->add(Vector<TextTrackCue*>&) is gone.

        * html/TextTrack.cpp:
        (WebCore::TextTrack::addCue): Implement.
        (WebCore::TextTrack::removeCue): Ditto.
        * html/TextTrack.h:

        (WebCore::TextTrackCue::TextTrackCue): Initialize every member variable.
        (WebCore::TextTrackCue::track): m_track is now a RefPtr.
        (WebCore::TextTrackCue::setTrack): Ditto.
        * html/TextTrackCue.h:

        * html/TextTrackCueList.cpp:
        (WebCore::TextTrackCueList::add): Don't ignore out of order cues, the spec text is not 
            a conformance requirement. Return bool to indicate success or failure.
        (WebCore::TextTrackCueList::remove): Return bool to indicate success or failure.
        * html/TextTrackCueList.h:

        * loader/TextTrackLoader.cpp:
        (WebCore::TextTrackLoader::notifyFinished): Don't change m_state once it is set to Failed.

2011-11-25  Kentaro Hara  <haraken@chromium.org>

        Refactoring CodeGenerator*.pm for bug 72138
        https://bugs.webkit.org/show_bug.cgi?id=73115

        Reviewed by Adam Barth.

        Tests: bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGeneratorGObject.pm: Added "1;" at the end since this perl script is loaded as a package.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto. Removed unnecessary variable names from method declarations in order to supress style check errors when a new run-bindings-tests IDL is added.
        (GenerateHeaderCustomCall):
        * bindings/scripts/test/V8/V8TestObj.h: Updated a run-bindings-tests result.

2011-11-25  Kentaro Hara  <haraken@chromium.org>

        Implement the WebGLContextEvent constructor
        https://bugs.webkit.org/show_bug.cgi?id=72856

        Reviewed by Adam Barth.

        This patch makes WebGLContextEvent constructable.
        The spec: http://www.khronos.org/registry/webgl/specs/latest/#5.14

        Test: fast/events/constructors/webgl-context-event-constructor.html

        * html/canvas/WebGLContextEvent.cpp: Added an implementation of the WebGLContextEvent constructor.
        (WebCore::WebGLContextEventInit::WebGLContextEventInit):
        (WebCore::WebGLContextEvent::WebGLContextEvent):
        * html/canvas/WebGLContextEvent.h: Added a definition of WebGLContextEventInit.
        (WebCore::WebGLContextEvent::create):
        * html/canvas/WebGLContextEvent.idl: Added [ConstructorTemplate=Event] IDL.

2011-11-25  Jeff Timanus  <twiz@chromium.org>

        [Chromium] The DrawingBuffer::bind method was incorrectly resetting the
        GL viewport parameters. This was unnecessary, and resulted in the corruption
        of the WebGL context's state.
        https://bugs.webkit.org/show_bug.cgi?id=73091

        Reviewed by Stephen White.

        Tests: fast/canvas/webgl/webgl-viewport-parameters-preserved.html

        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::bind):

2011-11-25  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in BidiRunList<Run>::replaceRunWithRuns with an empty bdi element
        https://bugs.webkit.org/show_bug.cgi?id=73116

        Reviewed by Eric Seidel.

        The assertion failure was caused because isolatedResolver is initialized with
        null start object due to the isolated run being empty.

        Fixed the failure by skipping empty isolated runs.

        Test: fast/text/empty-bdi-crash.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::constructBidiRuns):

2011-11-25  Antti Koivisto  <antti@apple.com>

        StyleGeneratedImage should ref CSSImageGeneratorValue
        https://bugs.webkit.org/show_bug.cgi?id=73074

        Reviewed by Andreas Kling and Nikolas Zimmermann.
        
        RenderStyle owns a bunch of StyleImage objects. However StyleGeneratedImage does not ref the
        CSSImageGeneratorValue it holds so we currently rely on the stylesheet to keep the CSSImageGeneratorValues
        alive as long as RenderStyle stays alive. While this works (RenderStyles are thrown away if stylesheets
        change) it is not particularly robust or nice.

        - Use RefPtr<CSSImageGeneratorValue> in StyleGeneratedImage
        - Remove the RefPtr<StyleGeneratedImage> from CSSImageGeneratorValue.
          There is no good reason to cache StyleGeneratedImage as it is a small and
          uncommon object. With that the whole back-reference becomes unnecessary.
        - Switch more places to use (Pass)RefPtr<StyleImage> for consistency.

        * css/CSSImageGeneratorValue.cpp:
        (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
        * css/CSSImageGeneratorValue.h:
        * css/CSSStyleApplyProperty.cpp:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::styleImage):
        (WebCore::CSSStyleSelector::cachedOrPendingFromValue):
        (WebCore::CSSStyleSelector::generatedOrPendingFromValue):
        (WebCore::CSSStyleSelector::loadPendingImage):
        (WebCore::CSSStyleSelector::loadPendingImages):
        * css/CSSStyleSelector.h:
        * rendering/style/FillLayer.h:
        (WebCore::FillLayer::setImage):
        * rendering/style/NinePieceImage.h:
        (WebCore::NinePieceImage::NinePieceImage):
        * rendering/style/StyleGeneratedImage.cpp:
        (WebCore::StyleGeneratedImage::StyleGeneratedImage):
        (WebCore::StyleGeneratedImage::cssValue):
        (WebCore::StyleGeneratedImage::imageSize):
        (WebCore::StyleGeneratedImage::addClient):
        (WebCore::StyleGeneratedImage::removeClient):
        (WebCore::StyleGeneratedImage::image):
        * rendering/style/StyleGeneratedImage.h:
        (WebCore::StyleGeneratedImage::create):
        (WebCore::StyleGeneratedImage::data):

2011-11-25  Andreas Kling  <kling@webkit.org>

        Remove redundant setStrictParsing(false) calls on CSSMappedAttributeDeclarations.
        <http://webkit.org/b/73134>

        Reviewed by Antti Koivisto.

        CSSMappedAttributeDeclarations always use non-strict parsing since they use
        the argument-less CSSMutableStyleDeclaration constructor.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createMappedDecl):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
        (WebCore::HTMLTableElement::addSharedGroupDecls):

2011-11-25  Andreas Kling  <kling@webkit.org>

        Factor element pointer out of CSSMutableStyleDeclaration.
        <http://webkit.org/b/73121>

        Reviewed by Antti Koivisto.

        Move the StyledElement pointer out of CSSMutableStyleDeclaration and into a subclass
        for the cases where it's needed. This reduces the size of vanilla style declarations
        by one CPU word (4 or 8 bytes, depending on architecture.)

        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSElementStyleDeclaration::element):
        (WebCore::CSSElementStyleDeclaration::setElement):
        (WebCore::CSSElementStyleDeclaration::CSSElementStyleDeclaration):
        (WebCore::CSSElementStyleDeclaration::~CSSElementStyleDeclaration):

            Added CSSElementStyleDeclaration, a common parent class for inline styles
            and mapped attributes. It extends CSSMutableStyleDeclaration by adding a backpointer
            to the StyledElement that owns it.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSInlineStyleDeclaration.h: Added.
        (WebCore::CSSInlineStyleDeclaration::~CSSInlineStyleDeclaration):
        (WebCore::CSSInlineStyleDeclaration::create):
        (WebCore::CSSInlineStyleDeclaration::CSSInlineStyleDeclaration):

            Added CSSInlineStyleDeclaration.

        * bindings/js/JSDOMBinding.h:
        (WebCore::root):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):

            Only follow the associated element on CSSElementStyleDeclarations.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::operator=):

            Remove comment about m_element since the field was moved to a subclass.

        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
        * css/CSSStyleDeclaration.h:
        (WebCore::CSSStyleDeclaration::isElementStyleDeclaration):
        (WebCore::CSSStyleDeclaration::isInlineStyleDeclaration):

            We no longer need to track whether a style declaration is mutable or not,
            so the constructors are slightly simplified.
            Added two bits (isElementStyleDeclaration and isInlineStyleDeclaration) for
            runtime type checking. These are protected and set by the CSSElementStyleDeclaration
            constructor.

        * dom/CSSMappedAttributeDeclaration.h:
        (WebCore::CSSMappedAttributeDeclaration::create):
        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):

            Remove pointless CSSRule* argument to constructor since we always passed 0.

        * dom/StyledElement.h:
        (WebCore::StyledElement::inlineStyleDecl):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::getInlineStyleDecl):
        (WebCore::StyledElement::addSubresourceAttributeURLs):

            Make the inline style on StyledElement a CSSInlineStyleDeclaration.

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::inlineStyleElement):

            Slightly simplified by having CSSInlineStyleDeclaration.

2011-11-25  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: unflake timeline-network tests
        https://bugs.webkit.org/show_bug.cgi?id=73123

        We should capture stack only when it makes sense. Otherwise loading from cache
        results in different data sets (stacks) than regular load.

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::willCallFunction):
        (WebCore::InspectorTimelineAgent::willDispatchEvent):
        (WebCore::InspectorTimelineAgent::willLayout):
        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
        (WebCore::InspectorTimelineAgent::willPaint):
        (WebCore::InspectorTimelineAgent::willWriteHTML):
        (WebCore::InspectorTimelineAgent::didInstallTimer):
        (WebCore::InspectorTimelineAgent::didRemoveTimer):
        (WebCore::InspectorTimelineAgent::willFireTimer):
        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
        (WebCore::InspectorTimelineAgent::willLoadXHR):
        (WebCore::InspectorTimelineAgent::willEvaluateScript):
        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        (WebCore::InspectorTimelineAgent::didTimeStamp):
        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
        (WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
        (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
        (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
        (WebCore::InspectorTimelineAgent::appendRecord):
        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
        * inspector/InspectorTimelineAgent.h:
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createGenericRecord):

2011-11-25  Yury Semikhatsky  <yurys@chromium.org>

        [Chromium] Web Inspector: get rid of WebDevToolsFrontendClient::sendFrontendLoaded method
        https://bugs.webkit.org/show_bug.cgi?id=73126

        Notify embedder that front-end is loadded only when all dispatchers, panels and models
        have been created so that it could dispatch messages synchronously in the loaded handler.

        Reviewed by Pavel Feldman.

        * inspector/front-end/inspector.js:

2011-11-25  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: don't send Console.messagesCleared on front-end connection if console agent is not enabled
        https://bugs.webkit.org/show_bug.cgi?id=73122

        Console agent should stay silent if it is not enabled.

        Reviewed by Pavel Feldman.

        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::clearMessages):
        (WebCore::InspectorConsoleAgent::addConsoleMessage):

2011-11-25  Wei Charles  <charles.wei@torchmobile.com.cn>

        Upstream the QNX/RIM specific HistoryItemViewState
        https://bugs.webkit.org/show_bug.cgi?id=73114

        Reviewed by Daniel Bates.

        This patch is to upstream RIM/QNX specific HistoryItemViewState extension
        to store some extra view state.

        No new tests. It's not built yet.

        * history/blackberry: Added.
        * history/blackberry/HistoryItemViewState.h: Added.
        (WebCore::HistoryItemViewState::HistoryItemViewState):

2011-11-25  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Split scripts panel top status bar into debug toolbar and editor toolbar.
        https://bugs.webkit.org/show_bug.cgi?id=73087

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._reset):
        (WebInspector.ScriptsPanel.prototype._createEditorToolbar):
        (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
        (WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts):
        * inspector/front-end/scriptsPanel.css:
        (#scripts-debug-toolbar):
        (#scripts-editor-toolbar):
        (#scripts-debug-sidebar-resizer-widget):
        (.script-view):

2011-11-25  Leo Yang  <leo.yang@torchmobile.com.cn>

        Upstream BlackBerry porting of platform/text
        https://bugs.webkit.org/show_bug.cgi?id=73117

        Reviewed by Daniel Bates.

        Initial upstream, can't be built yet, no test cases.

        * platform/text/blackberry/StringBlackBerry.cpp: Added.
        (WTF::String::String):
        (WTF::String::operator WebString):
        * platform/text/blackberry/TextBreakIteratorInternalICUBlackBerry.cpp: Added.
        (WebCore::currentSearchLocaleID):
        (WebCore::currentTextBreakLocaleID):

2011-11-25  Kentaro Hara  <haraken@chromium.org>

        Remove WebCore.gyp/scripts/rule_binding.py
        https://bugs.webkit.org/show_bug.cgi?id=73109

        Reviewed by Adam Barth.

        rule_binding.py is used by WebCore.gyp only. rule_binding.py is just a wrapper
        of generate-bindings.pl and thus we can remove it.

        No new tests. No change in behavior.

        * WebCore.gyp/WebCore.gyp: Replaces rule_binding.py with generate-bindings.pl.
        * WebCore.gyp/scripts/rule_binding.py: Removed.
        * bindings/scripts/preprocessor.pm: When '"ENABLE_SOMETHING=1" "ENABLE_OTHERS=0"' is passed as a define macro, the string is passed to our perl scripts without the double-quotations (") omitted. We need to omit the double quatations here.
        (applyPreprocessor):

2011-11-24  Yury Semikhatsky  <yurys@chromium.org>

        [Chromium] Web Inspector: remove legacy debugger support
        https://bugs.webkit.org/show_bug.cgi?id=73081

        Removed classed providing access to V8 debugging protocol. Clients should
        use Web Inspector protocol instead.

        Reviewed by Pavel Feldman.

        * bindings/v8/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
        (WebCore::PageScriptDebugServer::addListener):
        * bindings/v8/PageScriptDebugServer.h:

2011-11-24  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: refactor resource tree model and introduce explicit class for ResourceTreeFrame.
        https://bugs.webkit.org/show_bug.cgi?id=73078

        Otherwise we are managing frames and their resources using too many maps.

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::restore):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        * inspector/front-end/ApplicationCacheModel.js:
        (WebInspector.ApplicationCacheModel.prototype._frameNavigated):
        (WebInspector.ApplicationCacheModel.prototype._frameDetached):
        * inspector/front-end/JavaScriptContextManager.js:
        (WebInspector.JavaScriptContextManager.prototype._frameAdded):
        (WebInspector.JavaScriptContextManager.prototype._frameNavigated):
        (WebInspector.FrameEvaluationContext.prototype.get displayName):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
        (WebInspector.NetworkDispatcher.prototype.responseReceived):
        (WebInspector.NetworkDispatcher.prototype.loadingFinished):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._mainFrameNavigated):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype._fetchResourceTree):
        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
        (WebInspector.ResourceTreeModel.prototype._addFrame):
        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
        (WebInspector.ResourceTreeModel.prototype._frontendReused):
        (WebInspector.ResourceTreeModel.prototype._frameDetached):
        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
        (WebInspector.ResourceTreeModel.prototype._onResourceUpdateDropped):
        (WebInspector.ResourceTreeModel.prototype.frameForId):
        (WebInspector.ResourceTreeModel.prototype.forAllResources):
        (WebInspector.ResourceTreeModel.prototype.resourceForURL):
        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
        (WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload):
        (WebInspector.ResourceTreeModel.prototype._createResource):
        (WebInspector.ResourceTreeFrame):
        (WebInspector.ResourceTreeFrame.prototype.get id):
        (WebInspector.ResourceTreeFrame.prototype.get name):
        (WebInspector.ResourceTreeFrame.prototype.get url):
        (WebInspector.ResourceTreeFrame.prototype.get loaderId):
        (WebInspector.ResourceTreeFrame.prototype.get parentFrame):
        (WebInspector.ResourceTreeFrame.prototype.get childFrames):
        (WebInspector.ResourceTreeFrame.prototype.isMainFrame):
        (WebInspector.ResourceTreeFrame.prototype.navigate):
        (WebInspector.ResourceTreeFrame.prototype.get mainResource):
        (WebInspector.ResourceTreeFrame.prototype.addChildFrame):
        (WebInspector.ResourceTreeFrame.prototype.removeChildFrame):
        (WebInspector.ResourceTreeFrame.prototype._addResource):
        (WebInspector.ResourceTreeFrame.prototype.resources):
        (WebInspector.ResourceTreeFrame.prototype.resourceForURL.filter):
        (WebInspector.ResourceTreeFrame.prototype.resourceForURL):
        (WebInspector.ResourceTreeFrame.prototype._callForFrameResources):
        (WebInspector.PageDispatcher.prototype.frameNavigated):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.wasShown):
        (WebInspector.ResourcesPanel.prototype._initialize):
        (WebInspector.ResourcesPanel.prototype._resetWithFrames):
        (WebInspector.ResourcesPanel.prototype._reset):
        (WebInspector.ResourcesPanel.prototype._populateResourceTree.populateFrame):
        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
        (WebInspector.ResourcesPanel.prototype._frameAdded):
        (WebInspector.ResourcesPanel.prototype._frameDetached):
        (WebInspector.ResourcesPanel.prototype._frameNavigated):
        (WebInspector.ResourcesPanel.prototype._cachedResourcesLoaded):
        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter.prototype.formatContent):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestResource):

2011-11-24  Kentaro Hara  <haraken@chromium.org>

        Initialize global variables during IDLParser object creation
        https://bugs.webkit.org/show_bug.cgi?id=73108

        Reviewed by Adam Barth.

        Currently, IDLParser.pm initializes global variables in a global scope,
        which means that the global variables are initialized just once at the beginning.
        On the other hand, implementing [Supplemental] IDL (bug 72138) requires a change
        on generate-bindings.pl that initializes the global variables whenever a new IDLParser
        object is created. Thus, this patch initializes the global variables during
        the IDLParser object creation.

        No new tests. No change in behavior.

        * bindings/scripts/IDLParser.pm:
        (InitializeGlobalData):
        (new):

2011-11-24  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Build fix for NOT ENABLE_WEB_SOCKETS.

        * CMakeLists.txt: Move CloseEvent.idl to the unconditional files.

2011-11-24  Patrick Gansterer  <paroga@webkit.org>

        Build fix for C++ bindings.

        * bindings/cpp/WebDOMEventTarget.cpp: Added #if ENABLE() guards.

2011-11-24  Arko Saha  <arko@motorola.com>

        Microdata: Support for properties attribute.
        https://bugs.webkit.org/show_bug.cgi?id=71050

        Reviewed by Adam Barth.

        The properties attribute returns an HTMLPropertiesCollection object with all the element's
        properties. Otherwise, an empty HTMLPropertiesCollection object.

        Tests: fast/dom/MicroData/itemref-refers-first-element-with-given-id.html
               fast/dom/MicroData/names-property-must-be-correct.html
               fast/dom/MicroData/names-property-test.html
               fast/dom/MicroData/properties-collection-add-remove-itemref.html
               fast/dom/MicroData/properties-collection-add-remove-property.html
               fast/dom/MicroData/properties-collection-behavior-add-remove-itemscope-attr.html
               fast/dom/MicroData/properties-collection-must-be-correct.html
               fast/dom/MicroData/properties-collection-must-ignore-properties-of-nested-items.html
               fast/dom/MicroData/properties-collection-must-see-the-properties-added-in-itemref.html
               fast/dom/MicroData/properties-collection-test.html

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/gobject/GNUmakefile.am:
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::toJS):
        * dom/MicroDataItemList.cpp:
        * dom/Node.cpp:
        (WebCore::Node::itemProp):
        (WebCore::Node::setItemProp):
        (WebCore::Node::itemRef):
        (WebCore::Node::setItemRef):
        (WebCore::Node::itemType):
        (WebCore::Node::setItemType):
        (WebCore::Node::properties):
        * dom/Node.h:
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::itemProp):
        (WebCore::NodeRareData::setItemProp):
        (WebCore::NodeRareData::itemRef):
        (WebCore::NodeRareData::setItemRef):
        (WebCore::NodeRareData::itemType):
        (WebCore::NodeRareData::setItemType):
        (WebCore::NodeRareData::properties):
        * html/CollectionType.h:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::itemAfter):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setItemValueText):
        * html/HTMLElement.h:
        * html/HTMLElement.idl:
        * html/HTMLPropertiesCollection.cpp: Added.
        (WebCore::compareTreeOrder):
        (WebCore::HTMLPropertiesCollection::create):
        (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
        (WebCore::HTMLPropertiesCollection::~HTMLPropertiesCollection):
        (WebCore::HTMLPropertiesCollection::findPropetiesOfAnItem): Finds the properties of an item.
        (WebCore::HTMLPropertiesCollection::length): Returns the number of elements in the properties collection.
        (WebCore::HTMLPropertiesCollection::item): Returns the element with index 'index' from the collection. The items are sorted in tree order.
        (WebCore::HTMLPropertiesCollection::names): Returns a DOMStringList with the property names of the elements in the collection with the order preserved but with duplicates removed.
        * html/HTMLPropertiesCollection.h: Added.
        * html/HTMLPropertiesCollection.idl: Added.
        * page/DOMWindow.idl:

2011-11-24  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Indexes should be secondarily sorted on primary key
        https://bugs.webkit.org/show_bug.cgi?id=72567

        Reviewed by Tony Chang.

        Implemented by adding the primary key (i.e. unique key in the
        object store) to the IndexDataKey (i.e. the composite key used
        in the index. Previously, non-unique entries in the index were
        stored with a unique (and hidden) sequenceNumber, so ordering was
        not predictable by scripts (or per spec). The sequenceNumber
        is now deprecated but still present in the LevelDB backing store
        to avoid having to do a data migration.

        Test: storage/indexeddb/cursor-primary-key-order.html

        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
        * storage/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::compare):
        (WebCore::IDBLevelDBCoding::IndexDataKey::decode):
        (WebCore::IDBLevelDBCoding::IndexDataKey::encode):
        (WebCore::IDBLevelDBCoding::IndexDataKey::compare):
        (WebCore::IDBLevelDBCoding::IndexDataKey::primaryKey):
        * storage/IDBLevelDBCoding.h:

2011-11-24  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: WebInspector.inspectedPageDomain is not calculated for about:blank
        https://bugs.webkit.org/show_bug.cgi?id=73082

        Reviewed by Timothy Hatcher.

        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
        * inspector/front-end/inspector.js:
        (WebInspector.networkResourceById):
        (WebInspector.get inspectedPageDomain):

2011-11-24  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: provide context menu items to open resources using extensions
        https://bugs.webkit.org/show_bug.cgi?id=73076

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
        (WebInspector.ExtensionServer.prototype._handleOpenURL):
        * inspector/front-end/HandlerRegistry.js:
        (get WebInspector.HandlerRegistry.prototype.set dispatch):
        (get WebInspector.HandlerRegistry.prototype.dispatchToHandler):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/externs.js:
        (WebInspector.populateResourceContextMenu):
        * inspector/front-end/inspector.js:
        (WebInspector.populateResourceContextMenu):
        (WebInspector._showAnchorLocation):

2011-10-27  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] WebAudio AudioDestination
        https://bugs.webkit.org/show_bug.cgi?id=69835

        Reviewed by Martin Robinson.

        New GStreamer source element pulling data from the AudioBus and
        outputing audio interleaved GstBuffers suitable for playback.

        * GNUmakefile.list.am: Added the new GStreamer WebAudio element
        source files to the build.
        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
        (WebCore::onGStreamerWavparsePadAddedCallback): Function called
        when the playback pipeline successfully parsed the audio source
        into a WAV stream.
        (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
        Configure the initial playback pipeline up to the WAV parser. The
        audio sink is added only after the WAV parser was configured.
        (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
        Reset the playback pipeline and delete it.
        (WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady):
        Method to add the audio sink to the pipeline and link it to the
        WAV parser.
        (WebCore::AudioDestinationGStreamer::start): Set pipeline to
        PLAYING, at the first run it will trigger the WAV parser and hence
        the audio-sink plugging.
        (WebCore::AudioDestinationGStreamer::stop): Pause the pipeline.
        * platform/audio/gstreamer/AudioDestinationGStreamer.h:
        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: Added.
        (getGStreamerMonoAudioCaps): Utility function to generate
        GStreamer caps representing a single audio channel for a given
        sample rate.
        (webKitWebAudioGStreamerChannelPosition): Utility function to
        convert AudioBus channel representations to GStreamer positional
        audio channel values.
        (webkit_web_audio_src_class_init): GObject configuration of the
        GStreamer source element.
        (webkit_web_audio_src_init): Initialization of the private data of
        the element.
        (webKitWebAudioSourceConstructed): Configure the GstBin elements
        depending on the AudioBus layout.
        (webKitWebAudioSourceFinalize): Clean up the GstBin and free private
        data of the element.
        (webKitWebAudioSourceSetProperty): GObject property setter.
        (webKitWebAudioSourceGetProperty): GObject property getter.
        (webKitWebAudioSourceLoop): GstTask used to pull data from the
        AudioBus and push it as GstBuffers to the src pad of the element.
        (webKitWebAudioSourceChangeState): Start or stop the above GstTask
        depending on the asked state transition.
        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.h: Added.
        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: GstTask support in GRefPtr.
        (WTF::adoptGRef):
        (WTF::GstTask):
        * platform/graphics/gstreamer/GRefPtrGStreamer.h:

2011-11-24  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Get rid of the buildDirForSource() function in the build system

        At some point the plan was to allow for running qmake on sub-trees
        of the sources, into the top level build directory, but this is no
        longer possible, so no reason to keep the convenience function around.

        Reviewed by Simon Hausmann.

        * DerivedSources.pri:

2011-11-24  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Add missing source files
        https://bugs.webkit.org/show_bug.cgi?id=73052

        Reviewed by Andreas Kling.

        * CMakeLists.txt:

2011-11-24  Philippe Normand  <pnormand@igalia.com>

        Fix ASSERTs added in r101082.

        Rubber-Stamped by Martin Robinson.

        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
        (WTF::adoptGRef): Check for valid pointer before
        GST_OBJECT_IS_FLOATING().

2011-11-23  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: shift focus to the source view when a resource is selected in the Scripts panel
        https://bugs.webkit.org/show_bug.cgi?id=69738

        Reviewed by Timothy Hatcher.

        The source viewer is focused whenever a file name option is clicked, and is NOT focused when the script list
        is traversed with the Up/Down keys.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.focus):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype.focus):

2011-11-23  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: add integration test for compiler source maps.
        https://bugs.webkit.org/show_bug.cgi?id=72730

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/compiler-source-mapping-debug.html

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
        (WebInspector.DebuggerPresentationModel.prototype.setCompilerSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
        (WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):

2011-11-23  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: get rid of the WebInspector.mainResource, use WebInspector.inspectedPageURL instead.
        https://bugs.webkit.org/show_bug.cgi?id=73024

        We use it for the URL mostly, no need to create artificial resource for that upon
        attaching to the existing page.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/AuditsPanel.js:
        * inspector/front-end/HAREntry.js:
        (WebInspector.HARLog.prototype._buildPages):
        (WebInspector.HARLog.prototype._pageEventTime):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._updateSummaryBar):
        (WebInspector.NetworkLogView.prototype._exportAll):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set url):
        (WebInspector.Resource.prototype.get displayName):
        (WebInspector.Resource.prototype.get displayDomain):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
        (WebInspector.ResourceTreeModel.prototype._dispatchInspectedURLChanged):
        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
        * inspector/front-end/ResourceUtils.js:
        (WebInspector.displayNameForURL):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
        * inspector/front-end/utilities.js:
        (String.prototype.asParsedURL):

2011-11-23  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: exceptions in shared workers should be logged to web inspector console
        https://bugs.webkit.org/show_bug.cgi?id=73022

        According to section "4.7 Runtime script errors" of Web Workers spec "For shared
        workers, if the error is still not handled afterwards, or if the error occurred
        while handling a previous script error, the error may be reported to the user."

        This change adds uncaugh exceptions to the shared worker web inspector console.

        Reviewed by Pavel Feldman.

        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::restore):
        * inspector/InspectorConsoleInstrumentation.h:
        (WebCore::InspectorInstrumentation::addMessageToConsole):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::restore):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerContext):
        * inspector/InspectorInstrumentation.h:
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::connectFrontend):
        (WebCore::WorkerInspectorController::disconnectFrontend):
        (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
        * inspector/WorkerInspectorController.h:
        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager.showWorkerTerminatedScreen):
        * inspector/front-end/inspector.js:
        * workers/SharedWorkerContext.cpp:
        (WebCore::SharedWorkerContext::logExceptionToConsole):
        * workers/SharedWorkerContext.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::addMessage): console messages are now added to
        the worker console agent.
        (WebCore::WorkerContext::addMessageToWorkerConsole):
        * workers/WorkerContext.h:

2011-11-23  Jeff Timanus  <twiz@chromium.org>

        [Chromium]  Prevent DrawingBuffer instances from corrupting the active
        texture state of the WebGL contexts. The DrawingBuffer now tracks the
        state of texture unit 0, and the active texture unit, so that state can
        be restored.
        https://bugs.webkit.org/show_bug.cgi?id=73033

        Reviewed by Kenneth Russell.

        Test: fast/canvas/webgl/webgl-texture-binding-preserved.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::activeTexture):
        (WebCore::WebGLRenderingContext::bindTexture):
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        * platform/graphics/gpu/DrawingBuffer.h:
        (WebCore::DrawingBuffer::setTexture2DBinding):
        (WebCore::DrawingBuffer::setActiveTextureUnit):
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/gtk/DrawingBufferGtk.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):

2011-11-23  Luke Macpherson   <macpherson@chromium.org>

        CSSValue: reorder ClassType enum to allow faster comparisons, add COMPILE_ASSERT on class size.
        https://bugs.webkit.org/show_bug.cgi?id=72924

        Reviewed by Andreas Kling.

        Note that the change from unsigned to unsigned char is to improve bit packing when using MSVC.

        Covered by existing CSS tests.

        * css/CSSValue.h:
        (WebCore::CSSValue::isPrimitiveValue):
        (WebCore::CSSValue::isValueList):
        (WebCore::CSSValue::isImageGeneratorValue):
        (WebCore::CSSValue::isTimingFunctionValue):
        (WebCore::CSSValue::CSSValue):

2011-11-23  Dmitry Lomov  <dslomov@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=73054
        [V8][Chromium] Add list of transferred ArrayBuffers to SerializedScriptValue::create.

        Reviewed by David Levin.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateParametersCheck):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::serializedValueCallback):
       * bindings/v8/OptionsObject.cpp:
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::create):
        * bindings/v8/SerializedScriptValue.h:
        * bindings/v8/V8Utilities.cpp:
        (WebCore::extractTransferables):
        (WebCore::getMessagePortArray):
        * bindings/v8/V8Utilities.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8HistoryCustom.cpp:
        (WebCore::V8History::pushStateCallback):
        (WebCore::V8History::replaceStateCallback):
        * bindings/v8/custom/V8MessageEventCustom.cpp:
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::handlePostMessageCallback):
        * bindings/v8/custom/V8MessagePortCustom.h: Removed.
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::handlePostMessageCallback):

2011-11-23  Rafael Weinstein  <rafaelw@chromium.org>

        Cleanup #if usage in V8GCController
        https://bugs.webkit.org/show_bug.cgi?id=73060

        Reviewed by Ojan Vafai.

        No tests needed. Just code cleanup

        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::checkMemoryUsage):

2011-11-23  Rafael Weinstein  <rafaelw@chromium.org>

        Change CSSMutableStyleDeclaration::m_node to m_element (along with getter/setter)
        https://bugs.webkit.org/show_bug.cgi?id=73050

        Reviewed by Ojan Vafai.

        No tests needed. This is just a refactor.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::operator=):
        (WebCore::CSSMutableStyleDeclaration::isInlineStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::setElement):
        (WebCore::CSSMutableStyleDeclaration::element):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::destroyInlineStyleDecl):
        (WebCore::StyledElement::attributeChanged):
        (WebCore::StyledElement::createMappedDecl):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
        (WebCore::HTMLTableElement::addSharedGroupDecls):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::inlineStyleElement):

2011-11-23  Ami Fischman  <fischman@chromium.org>

        Teach VideoLayerChromium how to render native texture (to support HW video decode).
        https://bugs.webkit.org/show_bug.cgi?id=73043

        Reviewed by Kenneth Russell.

        No new tests. (depends on chromium support landing, and supporting HW being available)

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
        (WebCore::LayerRendererChromium::videoLayerNativeTextureProgram):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/VideoFrameChromium.h:
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        (WebCore::VideoLayerChromium::updateCompositorResources):
        (WebCore::VideoLayerChromium::pushPropertiesTo):
        (WebCore::VideoLayerChromium::determineTextureFormat):
        * platform/graphics/chromium/VideoLayerChromium.h:
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::setNativeTexture):
        (WebCore::CCVideoLayerImpl::draw):
        (WebCore::CCVideoLayerImpl::drawNativeTexture):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:

2011-11-23  Vincent Scheib  <scheib@chromium.org>

        Pointer Lock: Plumb movement coordinates from PlatformMouseEvent to MouseEvents.
        https://bugs.webkit.org/show_bug.cgi?id=73031

        Reviewed by Dimitri Glazkov.

        No tests for now, but this patch gets us closer to being able to write layout tests for pointer lock.

        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::create):
        (WebCore::MouseEvent::MouseEvent):
        (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
        * dom/MouseEvent.h:
        (WebCore::MouseEvent::create):
        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
        * dom/MouseRelatedEvent.h:
        * dom/TouchEvent.cpp:
        (WebCore::TouchEvent::TouchEvent):
        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchDragEvent):
        * platform/PlatformMouseEvent.h:
        (WebCore::PlatformMouseEvent::movementX):
        (WebCore::PlatformMouseEvent::movementY):

2011-11-23  Nico Weber  <thakis@chromium.org>

        Remove one static initializer (for kTickTime)
        https://bugs.webkit.org/show_bug.cgi?id=73049

        Reviewed by Adam Barth.

        * platform/ScrollAnimatorNone.cpp:

2011-11-23  Jonathan Backer  <backer@chromium.org>

        [chromium] Drop root layer tiles on platforms that cache the front buffer
        https://bugs.webkit.org/show_bug.cgi?id=72956

        Reviewed by Kenneth Russell.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):
        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):

2011-11-23  Erik Arvidsson  <arv@chromium.org>

        Binding CodeGenerators don't support Conditional= on constants
        https://bugs.webkit.org/show_bug.cgi?id=67666

        Reviewed by Adam Barth.

        Adds support for [Conditional=LABEL] to const IDL fields.

        * bindings/scripts/CodeGenerator.pm:
        (GenerateConditionalStringFromAttributeValue): Moved out of CodeGenerator{CPP,JS,V8}.pm.
        (GenerateCompileTimeCheckForEnumsIfNeeded): Wrap in conditional #if.
        * bindings/scripts/CodeGeneratorCPP.pm:
        (GenerateConditionalString):
        (GenerateHeader): Ditto.
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateConditionalString):
        (GenerateHeader): Ditto.
        (GenerateImplementation): Ditto.
        (GenerateHashTable):
        (WriteData):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateHeader): Ditto.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConditionalString): Ditto.
        (GenerateImplementation):
        (WriteData):
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Generated code now wraps conditional const in #if.
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjCONDITIONAL_CONST): Ditto
        * bindings/scripts/test/JS/JSTestObj.h: Ditto
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto
        * bindings/scripts/test/TestObj.idl: Added a conditional const.
        * bindings/scripts/test/V8/V8TestObj.cpp: Generated code now wraps conditional const in #if.

2011-11-23  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Modifications to the style property don't dispatch "attributes" Mutation Records
        https://bugs.webkit.org/show_bug.cgi?id=70137

        Reviewed by Ryosuke Niwa.

        This patch adds a private AttributesMutationScope mechanism to CSSMutableStyleDeclaration (which uses
        the RAII pattern similar to the public ChildListMutationScope). This manages the (sometimes conditional)
        pre-change serialization of the style attribute (if an observer has requested oldValue), creation of
        the mutation record, and dispatch if the declaration was actual affected.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::removeProperty):
        (WebCore::CSSMutableStyleDeclaration::setProperty):
        (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
        (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
        (WebCore::CSSMutableStyleDeclaration::setCssText):
        (WebCore::CSSMutableStyleDeclaration::merge):
        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
        * dom/Element.cpp:
        (WebCore::Element::setAttribute):

2011-11-23  Dmitry Lomov  <dslomov@google.com>

        Unreviewed, rebaseline binding tests after http://trac.webkit.org/changeset/101064.

        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        (WebCore::toFloat64Array):
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WebCore::V8Float64Array::wrapSlow):

2011-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101069.
        http://trac.webkit.org/changeset/101069
        https://bugs.webkit.org/show_bug.cgi?id=73032

        New test always times out (Requested by aklein on #webkit).

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
        (WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):

2011-11-23  Antti Koivisto  <antti@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=72354
        Image pointer in FillLayer not cleared correctly

        Reviewed by Dan Bernstein.

        Test: fast/css/fill-layer-crash.html
        
        We should clear the image pointer too, not just the m_imageSet bit.

        * rendering/style/FillLayer.h:
        (WebCore::FillLayer::clearImage):

2011-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r101057.
        http://trac.webkit.org/changeset/101057
        https://bugs.webkit.org/show_bug.cgi?id=73027

        Broke Chromium Windows build (Requested by aklein on #webkit).

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::HTMLTrackElement):
        (WebCore::HTMLTrackElement::didCompleteLoad):
        (WebCore::HTMLTrackElement::textTrackReadyStateChanged):
        * html/HTMLTrackElement.h:
        * html/HTMLTrackElement.idl:
        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::loadTimerFired):
        (WebCore::LoadableTextTrack::cueLoadingStarted):
        (WebCore::LoadableTextTrack::cueLoadingCompleted):
        * html/TextTrack.cpp:
        (WebCore::TextTrack::TextTrack):
        (WebCore::TextTrack::setReadyState):
        * html/TextTrack.h:
        (WebCore::TextTrack::readyState):
        * html/TextTrack.idl:

2011-11-23  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Build fix. Added missing ENABLE(WORKERS) guards.

        * inspector/WorkerConsoleAgent.cpp:
        * inspector/WorkerConsoleAgent.h:
        * inspector/WorkerRuntimeAgent.cpp:
        * inspector/WorkerRuntimeAgent.h:

2011-11-23  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] improper usage of gst_object_ref_sink
        https://bugs.webkit.org/show_bug.cgi?id=73014

        Reviewed by Martin Robinson.

        No new tests. Existing tests cover this already.

        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
        (WTF::adoptGRef): Ensure this is called with non-floating GstObjects.
        (WTF::GstElement): Replace gst_object_ref_sink with
        gst_object_ref+gst_object_sink like advised in the GstObject documentation.
        (WTF::GstPad): Ditto.
        * platform/graphics/gstreamer/GRefPtrGStreamer.h:

2011-11-23  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: split console agent into worker and page console agents
        https://bugs.webkit.org/show_bug.cgi?id=73019

        InspectorConsoleAgent now has two descendants: WorkerConsoleAgent and PageConsoleAgent
        which encapsulate functionality specific for the type of inspected instance.

        Reviewed by Pavel Feldman.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::clearMessages):
        (WebCore::InspectorConsoleAgent::addMessageToConsole):
        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorConsoleAgent::didReceiveResponse):
        (WebCore::InspectorConsoleAgent::didFailLoading):
        (WebCore::InspectorConsoleAgent::addConsoleMessage):
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorStyleTextEditor.cpp:
        * inspector/InspectorStyleTextEditor.h:
        * inspector/PageConsoleAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.cpp.
        (WebCore::PageConsoleAgent::PageConsoleAgent):
        (WebCore::PageConsoleAgent::~PageConsoleAgent):
        (WebCore::PageConsoleAgent::clearMessages):
        (WebCore::PageConsoleAgent::addInspectedNode):
        (WebCore::PageConsoleAgent::developerExtrasEnabled):
        * inspector/PageConsoleAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
        * inspector/PageDebuggerAgent.cpp:
        * inspector/PageDebuggerAgent.h:
        * inspector/PageRuntimeAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
        (WebCore::PageRuntimeAgent::PageRuntimeAgent): PageRuntimeAgent was moved into its own file.
        (WebCore::PageRuntimeAgent::~PageRuntimeAgent):
        (WebCore::PageRuntimeAgent::scriptStateForFrameId):
        (WebCore::PageRuntimeAgent::getDefaultInspectedState):
        * inspector/PageRuntimeAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
        * inspector/WorkerConsoleAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
        (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
        (WebCore::WorkerConsoleAgent::~WorkerConsoleAgent):
        (WebCore::WorkerConsoleAgent::addInspectedNode):
        (WebCore::WorkerConsoleAgent::developerExtrasEnabled):
        * inspector/WorkerConsoleAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
        * inspector/WorkerDebuggerAgent.cpp:
        * inspector/WorkerDebuggerAgent.h:
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        * inspector/WorkerInspectorController.h:
        * inspector/WorkerRuntimeAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
        (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent): WorkerRuntimeAgent was moved into its own file.
        (WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):
        (WebCore::WorkerRuntimeAgent::scriptStateForFrameId):
        (WebCore::WorkerRuntimeAgent::getDefaultInspectedState):
        * inspector/WorkerRuntimeAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.

2011-11-23  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: warning icon for unrecognized style rule should have tooltip
        https://bugs.webkit.org/show_bug.cgi?id=50638

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js: Add new tooltip strings.
        * inspector/front-end/CSSCompletions.js:
        (WebInspector.CSSCompletions.prototype.keySet): Added.
        * inspector/front-end/StylesSidebarPane.js: Create a separate IMG element for an exclamation mark.
        * inspector/front-end/elementsPanel.css:
        (.styles-section .properties li.not-parsed-ok img.exclamation-mark):

2011-11-23  Halton Huo  <halton.huo@intel.com>

        [EFL] Add zlib depend when freetype is used.
        https://bugs.webkit.org/show_bug.cgi?id=66365

        Unreviewed build fix.

        When freetype is enabled, uncompress() function is used by
        WOFFFileFormat.cpp. Since zlib is not required by freetype, we need to
        add libz as dependency for fix linking issue.

        No new test because this change is only to fix linking issue.

        * PlatformEfl.cmake: add ZLIB as dependency when using freetype

2011-11-23  Mihnea Ovidenie  <mihnea@adobe.com>

        CSS Exclusions: parse the shorthand "wrap" property
        https://bugs.webkit.org/show_bug.cgi?id=71905

        Reviewed by Dean Jackson.

        Test: fast/exclusions/wrap-parsing.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyLonghand.cpp:
        (WebCore::initShorthandMap):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-11-23  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Filters] WebKit crashes when changing the filter
        https://bugs.webkit.org/show_bug.cgi?id=72723

        Reviewed by Simon Fraser.

        There are three things fixed with this patch:
        1. The list of effects wasn't cleared when the FilterOperations were changed.
        2. The sourceImage was going to be 0, because the m_sourceGraphicBuffer.release()
        was also clearing the reference to m_sourceGraphicBuffer. Next time the build() method
        was called m_graphicsBufferAttached was set to false, but the m_sourceGraphicBuffer was
        not regenerated, because the size was not invalidated.
        3. maxEffectRects were not updated when a new list of effects was built.
         
        Test: css3/filters/crash-filter-change.html

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::build):
        (WebCore::FilterEffectRenderer::prepare):
        * rendering/FilterEffectRenderer.h:
        (WebCore::FilterEffectRenderer::setSourceImageRect):

2011-11-23  Elliot Poger  <epoger@google.com>

        [Skia] fix duplicate symbol __ZN7WebCore11BitmapImage16initPlatformDataEv error
        https://bugs.webkit.org/show_bug.cgi?id=72954

        Reviewed by Adam Barth.

        * WebCore.gyp/WebCore.gyp:

2011-11-18  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: add integration test for compiler source maps.
        https://bugs.webkit.org/show_bug.cgi?id=72730

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/compiler-source-mapping-debug.html

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
        (WebInspector.DebuggerPresentationModel.prototype.setCompilerSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
        (WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):

2011-11-23  Martin Robinson  <mrobinson@igalia.com>

        Build fix for GTK+.

        * platform/graphics/gtk/DrawingBufferGtk.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer): Update signature and ASSERT
        for the GTK+ port.

2011-11-23  Rafael Weinstein  <rafaelw@chromium.org>

        Remove notifyChange from the public interface of CSSMutableStyleDeclaration
        https://bugs.webkit.org/show_bug.cgi?id=72660

        Reviewed by Ojan Vafai.

        No tests needed. This is only a refactor.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::setProperty):
        (WebCore::CSSMutableStyleDeclaration::removeProperty):
        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
        * css/CSSStyleSelector.cpp:
        (WebCore::leftToRightDeclaration):
        (WebCore::rightToLeftDeclaration):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setContentEditable):

2011-11-23  Scott Graham  <scottmg@chromium.org>

        Adding gamepad support
        https://bugs.webkit.org/show_bug.cgi?id=69451

        Reviewed by Darin Fisher.

        Plumb gamepad data access through platform.

        Test: gamepad/gamepad-polling-access.html

        * WebCore.gypi:
        * page/Navigator.cpp:
        (WebCore::Navigator::webkitGamepads):
        * page/Navigator.h:
        * platform/Gamepads.h: Added.
        * platform/chromium/GamepadsChromium.cpp: Added.
        (WebCore::sampleGamepads):
        * platform/chromium/PlatformSupport.h:

2011-11-23  Dmitry Lomov  <dslomov@google.com>

        Get rid of WebCore dependencies from TypedArray implementation types
        https://bugs.webkit.org/show_bug.cgi?id=72783

        Reviewed by David Levin.

        Remove WebCore specific logic for neutering Typed Array implementations.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        * html/canvas/ArrayBuffer.cpp:
        (WTF::ArrayBuffer::transfer):
        * html/canvas/ArrayBuffer.h:
        * html/canvas/ArrayBufferView.cpp:
        (WTF::ArrayBufferView::neuter):
        * html/canvas/ArrayBufferView.h:
        * html/canvas/DataView.cpp:
        (WebCore::DataView::neuter):
        * html/canvas/DataView.h:
        * html/canvas/Float32Array.h:
        * html/canvas/Float64Array.h:
        * html/canvas/Int16Array.h:
        * html/canvas/Int32Array.h:
        * html/canvas/Int8Array.h:
        * html/canvas/Uint16Array.h:
        * html/canvas/Uint32Array.h:
        * html/canvas/Uint8Array.h:

2011-11-23  Raul Hudea  <rhudea@adobe.com>

        First step towards http://webkit.org/b/70025

        Allow -webkit-transform to be have effect to SVG elements.
        Currently, the CSS transform takes precedence over the SVG transform attribute

        Allow SVG elements to be transformed using webkit-transform
        https://bugs.webkit.org/show_bug.cgi?id=71309

        Reviewed by Nikolas Zimmermann.

        Tests: svg/clip-path/clip-path-css-transform-1.svg
               svg/clip-path/clip-path-css-transform-2.svg
               svg/custom/clip-path-with-css-transform-1.svg
               svg/custom/clip-path-with-css-transform-2.svg
               svg/custom/pointer-events-image-css-transform.svg
               svg/custom/pointer-events-text-css-transform.svg
               svg/dom/css-transforms.xhtml
               svg/dynamic-updates/SVG-dynamic-css-transform.html
               svg/dynamic-updates/SVGClipPathElement-css-transform-influences-hitTesting.html
               svg/transforms/svg-css-transforms-clip-path.xhtml
               svg/transforms/svg-css-transforms.xhtml

        * manual-tests/svg-animation-css-transform.html: Added.
        * manual-tests/svg-css-animate-compound.html: Added.
        * manual-tests/svg-css-transition-compound.html: Added.
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::styleWillChange):

        Set the updateTransform flag on SVG elements whenever a CSS transform is present on the style

        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):

        Use the RenderStyle's transform (if it exists) over the SVG's transform

        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::animatedLocalTransform):

        Use the RenderStyle's transform (if it exists) over the SVG's transform

2011-11-23  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Cleanup duplicated code in Element & CharacterData
        https://bugs.webkit.org/show_bug.cgi?id=72986

        Reviewed by Ojan Vafai.

        This patch creates a MutationObserverInterestGroup which represents the set
        of MutationObservers which should receive all mutations of a given type generated
        from a specific node.

        No tests needed. This patch is only a refactor.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/ChildListMutationScope.cpp:
        (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::ChildListMutationAccumulator):
        (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
        * dom/Element.cpp:
        (WebCore::enqueueAttributesMutationRecord):
        * dom/WebKitMutationObserver.cpp:
        (WebCore::MutationObserverInterestGroup::createForChildListMutation):
        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
        (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
        (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
        (WebCore::MutationObserverInterestGroup::isOldValueRequested):
        (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
        * dom/WebKitMutationObserver.h:
        (WebCore::MutationObserverInterestGroup::isEmpty):
        (WebCore::MutationObserverInterestGroup::hasOldValue):

2011-11-23  Marc-Andre Decoste  <mad@chromium.org>

        [chromium] HDC leak in Uniscribe Helper
        https://bugs.webkit.org/show_bug.cgi?id=68598

        Reviewed by Darin Fisher.

        For some reason the Script functions on Windows sometimes return
        E_PENDING even with a non-NULL DC, so we must handle that case.
        Also, we should not use the screen DC to select font since this
        refreshes the whole desktop, so I added a cached compatible DC.

        Note that this doesn't reproduce with WebKit alone, it only reproduces
        within Chrome, so we can't write a WebKit test for it. A chromium
        browser test will be added once this change gets rolled in the
        chromium DEPS file.

        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::shape):
        (WebCore::UniscribeHelper::EnsureCachedDCCreated):
        (WebCore::UniscribeHelper::fillShapes):
        * platform/graphics/chromium/UniscribeHelper.h:

2011-11-23  Anna Cavender  <annacc@chromium.org>

        Move readyState from TextTrack to HTMLTrackElement
        https://bugs.webkit.org/show_bug.cgi?id=72553

        Reviewed by Eric Carlson.

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::HTMLTrackElement):
            Set initial readyState to NONE.
        (WebCore::HTMLTrackElement::didCompleteLoad):
            Set readyState based on load completed status.
        (WebCore::HTMLTrackElement::setReadyState):
            This replaces textTrackReadyStateChanged() because only LoadableTextTrack
            needs to notify HTMLTrackElement of readyState changes (i.e.
            textTrackReadyStateChanged() is no longer required of TextTrackClient).
        * html/HTMLTrackElement.h:
            ReadyState enum and m_readyState member variable moved from TextTrack.
        (WebCore::HTMLTrackElement::readyState):
            New: readyState() getter.
        * html/HTMLTrackElement.idl:
            Add readyState attribute and associated constants.

        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::loadTimerFired): Set readyState on HTMLTrackElement.
        (WebCore::LoadableTextTrack::cueLoadingStarted): Ditto.
        (WebCore::LoadableTextTrack::cueLoadingCompleted): Move code to set readyState
            to HTMLTrackElement (it can set it based on loading status).

        * html/TextTrack.cpp: Remove readyState from TextTrack.
        (WebCore::TextTrack::TextTrack): Ditto.
        * html/TextTrack.h: Ditto.
        * html/TextTrack.idl: Ditto.

2011-11-23  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [CMake] Move the top-level logic to the top-level directory.
        https://bugs.webkit.org/show_bug.cgi?id=72685

        Reviewed by Brent Fulgham.

        No new tests, this is a buildsystem changes.

        * CMakeLists.txt: Adjust the Source/ directory.
        * PlatformBlackBerry.cmake: Ditto.

2011-11-23  Mihnea Ovidenie  <mihnea@adobe.com>

        CSS Exclusions: update the name of the shape CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=71898
        Instead of a single wrap-shape property, we have wrap-shape-inside and wrap-shape-outside.

        Reviewed by Dean Jackson.

        Tests: fast/exclusions/parsing-wrap-shape-inside.html
               fast/exclusions/parsing-wrap-shape-outside.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseWrapShape):
        * css/CSSParser.h:
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setWrapShapeInside):
        (WebCore::InheritedFlags::wrapShapeInside):
        (WebCore::InheritedFlags::setWrapShapeOutside):
        (WebCore::InheritedFlags::wrapShapeOutside):
        (WebCore::InheritedFlags::initialWrapShapeInside):
        (WebCore::InheritedFlags::initialWrapShapeOutside):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2011-11-23  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] avoid exception in initExtensions() if elements panel is not present
        https://bugs.webkit.org/show_bug.cgi?id=73007

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ExtensionServer.js:

2011-11-23  Brian Salomon  <bsalomon@google.com>

        Use new name for pixel config field of GrTextureDesc
        https://bugs.webkit.org/show_bug.cgi?id=72543

        Reviewed by Stephen White.

        Tested by every canvas2d layout test.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::createAcceleratedCanvas):

2011-11-23  Emil A Eklund  <eae@chromium.org>

        Change remaining scrollTop/Left/Width/Height methods back to int
        https://bugs.webkit.org/show_bug.cgi?id=72771

        Reviewed by Eric Seidel.

        Change remaining scrollTop/Left/Width/Height, setScrollLeft/Top and
        verticalScrollbarWidth, horizontalScrollbarHeight methods back to int as
        scrolling will remain int based to line up with device pixels.

        No new tests.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):
        (WebCore::RenderBox::scrollLeft):
        (WebCore::RenderBox::scrollTop):
        (WebCore::RenderBox::setScrollLeft):
        (WebCore::RenderBox::setScrollTop):
        (WebCore::RenderBox::verticalScrollbarWidth):
        (WebCore::RenderBox::horizontalScrollbarHeight):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::scrollbarLogicalHeight):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::verticalScrollbarWidth):
        (WebCore::RenderListBox::scrollHeight):
        (WebCore::RenderListBox::scrollLeft):
        (WebCore::RenderListBox::setScrollLeft):
        (WebCore::RenderListBox::scrollTop):
        (WebCore::RenderListBox::setScrollTop):
        * rendering/RenderListBox.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::scrollWidth):
        (WebCore::RenderTextControlSingleLine::scrollHeight):
        (WebCore::RenderTextControlSingleLine::scrollLeft):
        (WebCore::RenderTextControlSingleLine::scrollTop):
        (WebCore::RenderTextControlSingleLine::setScrollLeft):
        (WebCore::RenderTextControlSingleLine::setScrollTop):
        * rendering/RenderTextControlSingleLine.h:

2011-11-22  Kenneth Russell  <kbr@google.com>

        [chromium] Support Core Animation plugins in compositor
        https://bugs.webkit.org/show_bug.cgi?id=72921

        Reviewed by Stephen White.

        Added support to PluginLayerChromium and CCPluginLayerImpl for
        using an IOSurface as the backing store for a plugin. Added minimal
        ARB_texture_rectangle support to Extensions3D.h and a Chromium-
        specific extension for binding an IOSurface to a texture.

        These changes themselves do not have any effect. A follow-on
        Chromium CL will make the switch to this new code path.

        Tested manually both with and without the Chromium side changes;
        Chromium's DumpRenderTree port does not support Core Animation
        plugins. Ran video and Stage3D in Flash, and Unity 3D content, to
        verify.

        * platform/graphics/Extensions3D.h:
        * platform/graphics/chromium/Extensions3DChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        (WebCore::LayerRendererChromium::pluginLayerTexRectProgram):
        (WebCore::LayerRendererChromium::pluginLayerTexRectProgramFlip):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/PluginLayerChromium.cpp:
        (WebCore::PluginLayerChromium::PluginLayerChromium):
        (WebCore::PluginLayerChromium::setIOSurfaceProperties):
        (WebCore::PluginLayerChromium::getIOSurfaceId):
        (WebCore::PluginLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/PluginLayerChromium.h:
        * platform/graphics/chromium/ShaderChromium.cpp:
        (WebCore::FragmentShaderRGBATexRectFlipAlpha::getShaderString):
        (WebCore::FragmentShaderRGBATexRectAlpha::getShaderString):
        * platform/graphics/chromium/ShaderChromium.h:
        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
        (PluginProgramBinding::TexStretchPluginProgramBinding::set):
        (PluginProgramBinding::TexTransformPluginProgramBinding::set):
        (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
        (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
        (WebCore::CCPluginLayerImpl::draw):
        (WebCore::CCPluginLayerImpl::setIOSurfaceProperties):
        (WebCore::CCPluginLayerImpl::cleanupResources):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:

2011-11-22  Daniel Cheng  <dcheng@chromium.org>

        [chromium] Fix plumbing for differentiating between clipboard/selection pastes.
        https://bugs.webkit.org/show_bug.cgi?id=72056

        Reviewed by Tony Chang.

        Add a buffer parameter when retrieving the clipboard sequence number and fix several call
        sites that incorrectly assume use of the standard buffer in pastes.

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::types):
        (WebCore::ChromiumDataObject::getData):
        (WebCore::ChromiumDataObject::containsFilenames):
        * platform/chromium/ChromiumDataObject.h:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::ClipboardChromium):
        (WebCore::ClipboardChromium::getData):
        (WebCore::ClipboardChromium::platformClipboardChanged):
        * platform/chromium/ClipboardUtilitiesChromium.cpp:
        (WebCore::currentPasteboardBuffer):
        * platform/chromium/ClipboardUtilitiesChromium.h:
        * platform/chromium/DataTransferItemChromium.cpp:
        (WebCore::DataTransferItemChromium::getAsString):
        * platform/chromium/PlatformSupport.h:

2011-11-22  Andrey Kosyakov  <caseq@chromium.org>

        Layout Test inspector/extensions/extensions-events.html is timing out
        https://bugs.webkit.org/show_bug.cgi?id=72966

        Reviewed by Pavel Feldman.

        - always bind to {add,remove}EventListener() of event target, not WebInspector.Object

        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._registerAutosubscriptionHandler):

2011-11-22  Adam Klein  <adamk@chromium.org>

        Move splitView.css (added in r100991) to the correct target.

        * WebCore.gypi:

2011-11-22  Andreas Kling  <kling@webkit.org>

        CSSProperty: Remove unnecessary operator overloads.
        <http://webkit.org/b/72953>

        Reviewed by Antti Koivisto.

        * css/CSSProperty.cpp:
        * css/CSSProperty.h:

            Remove operator= and operator== from CSSProperty. They were neither
            implemented correctly nor used anywhere.

2011-11-22  Andreas Kling  <kling@webkit.org>

        CSSStyleDeclaration: Kill FIXME in setProperty().
        <http://webkit.org/b/72958>

        Reviewed by Antonio Gomes.

        Remove FIXME about possibly throwing an exception when setProperty()
        is called with an invalid property name. CSSOM specifies that the
        method should simply return in this case.

        Spec: http://dev.w3.org/csswg/cssom/#dom-cssstyledeclaration-setproperty

        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::setProperty):

2011-11-22  Shinya Kawanaka  <shinyak@google.com>

        Spellcheck should be able to run asynchronously.
        https://bugs.webkit.org/show_bug.cgi?id=71991

        Reviewed by Hajime Morita.

        Run asynchronous spell checker if both asynchronous flag and unified text checker flag are ON.

        When multiple asynchronous spellchecking are requested, only the first request will be processed.

        Test: editing/spelling/spellcheck-async.html

        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
          Uses asynchronous spell checker if asynchronous flag is ON.

2011-11-22  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [SuggestBox] Grayed prompt displayed with non-collapsed selection in place
        https://bugs.webkit.org/show_bug.cgi?id=72951

        Reviewed by Pavel Feldman.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.complete):

2011-11-22  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: fix inspector front-end compilation.

        * inspector/front-end/externs.js:
        (WebInspector.showPanel):

2011-11-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Add WebCore platform interface needed by updated MediaStream API design
        https://bugs.webkit.org/show_bug.cgi?id=70895

        Reviewed by Adam Barth.

        This is one in a series of patches that update the MediaStream feature
        to use WebCore platform interfaces.

        Tests will be provided by http://webkit.org/b/56587

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * mediastream/LocalMediaStream.cpp:
        (WebCore::LocalMediaStream::stopTimerFired):
        * mediastream/MediaStream.h:
        * mediastream/MediaStreamTrack.cpp:
        (WebCore::MediaStreamTrack::setEnabled):
        * mediastream/PeerConnection.cpp:
        (WebCore::PeerConnection::didRemoveRemoteStream):
        * mediastream/UserMediaRequest.cpp:
        (WebCore::UserMediaRequest::start):
        * mediastream/UserMediaRequest.h:
        * platform/mediastream/MediaStreamCenter.cpp: Added.
        (WebCore::MediaStreamCenter::instance):
        (WebCore::MediaStreamCenter::endLocalMediaStream):
        (WebCore::MediaStreamCenter::MediaStreamCenter):
        (WebCore::MediaStreamCenter::~MediaStreamCenter):
        (WebCore::MediaStreamCenter::queryMediaStreamSources):
        (WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
        (WebCore::MediaStreamCenter::didStopLocalMediaStream):
        * platform/mediastream/MediaStreamCenter.h: Added.
        (WebCore::MediaStreamSourcesQueryClient::~MediaStreamSourcesQueryClient):
        * platform/mediastream/MediaStreamDescriptor.h:
        (WebCore::MediaStreamDescriptorOwner::~MediaStreamDescriptorOwner):
        (WebCore::MediaStreamDescriptor::owner):
        (WebCore::MediaStreamDescriptor::setOwner):

2011-11-22  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: remove Inspector::bringToFront from the protocol.
        https://bugs.webkit.org/show_bug.cgi?id=72937

        Inspector::bringToFront protocol method is currently used on the backend
        in order to reveal the front-end window. We should do that by means of
        the inspector client interface instead.

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::show):
        * loader/EmptyClients.h:
        (WebCore::EmptyInspectorClient::bringFrontendToFront):

2011-11-21  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API][refactoring] remove dependencies on the ExtensionsServer from most of the insepctor
        https://bugs.webkit.org/show_bug.cgi?id=72899

        Reviewed by Pavel Feldman.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._notifyResourceContentCommitted):
        (WebInspector.ExtensionServer.prototype._notifyElementsSelectionChanged):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.addRevision):
        * inspector/front-end/externs.js:

2011-11-22  Zoltan Horvath  <zoltan@webkit.org>

        [Qt] Build fix for MHTML support

        * Target.pri: Add missing includepath.

2011-11-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Extract SplitView from Panel.createSidebar() method and reuse in Elements and Scripts panels.
        https://bugs.webkit.org/show_bug.cgi?id=72920

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/ApplicationCacheModel.js:
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.wasShown):
        (WebInspector.ElementsPanel.prototype.sidebarResized):
        (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.wasShown):
        (WebInspector.NetworkPanel.prototype._showResource):
        (WebInspector.NetworkPanel.prototype._closeVisibleResource):
        (WebInspector.NetworkPanel.prototype._toggleGridMode):
        (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.wasShown):
        (WebInspector.Panel.prototype.createSplitView):
        (WebInspector.Panel.prototype.createSplitViewWithSidebarTree):
        (WebInspector.Panel.prototype.sidebarResized):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._reset):
        (WebInspector.ProfilesPanel.prototype.sidebarResized):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.sidebarResized):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.wasShown):
        (WebInspector.ScriptsPanel.prototype.sidebarResized):
        * inspector/front-end/SplitView.js: Added.
        (WebInspector.SplitView):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype.sidebarResized):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/auditsPanel.css:
        * inspector/front-end/elementsPanel.css:
        * inspector/front-end/inspector.css:
        (.sidebar):
        * inspector/front-end/inspector.html:
        * inspector/front-end/networkLogView.css:
        * inspector/front-end/networkPanel.css:
        (#network-views):
        * inspector/front-end/profilesPanel.css:
        (#profile-views):
        * inspector/front-end/resourcesPanel.css:
        * inspector/front-end/scriptsPanel.css:
        (#scripts-split-view):
        * inspector/front-end/splitView.css: Added.
        * inspector/front-end/timelinePanel.css:
        (.timeline .sidebar):
        (.timeline-sidebar-background):
        (#resources-container-content):

2011-11-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100988.
        http://trac.webkit.org/changeset/100988
        https://bugs.webkit.org/show_bug.cgi?id=72941

        "Broke pixel tests on Chromium-Linux" (Requested by kbalazs on
        #webkit).

        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::platformApplySoftware):
        * platform/graphics/filters/FEConvolveMatrix.h:
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::platformApply):
        * platform/graphics/filters/FEGaussianBlur.h:
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::platformApplyGeneric):
        * platform/graphics/filters/FELighting.h:
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::platformApply):
        * platform/graphics/filters/FEMorphology.h:
        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::platformApplySoftware):
        * platform/graphics/filters/FETurbulence.h:
        * platform/graphics/filters/arm/FELightingNEON.cpp:
        * platform/graphics/filters/arm/FELightingNEON.h:
        (WebCore::FELighting::platformApplyNeon):

2011-11-21  Balazs Kelemen  <kbalazs@webkit.org>

        Enable ParallelJobs by default
        https://bugs.webkit.org/show_bug.cgi?id=70032

        Reviewed by Zoltan Herczeg.

        Covered by existing tests.

        According to measurements on Mac and Linux it is a
        considerable speedup for SVG on multicore.

        Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
        by qualifying ParallelJobs with the WTF namespace (otherwise
        MSVC believes it belongs to WebCore which is likely a compiler bug).

        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
        (WebCore::FEConvolveMatrix::platformApplySoftware):
        * platform/graphics/filters/FEConvolveMatrix.h:
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::platformApplyWorker):
        (WebCore::FEGaussianBlur::platformApply):
        * platform/graphics/filters/FEGaussianBlur.h:
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::platformApplyGenericWorker):
        (WebCore::FELighting::platformApplyGeneric):
        * platform/graphics/filters/FELighting.h:
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::platformApplyWorker):
        (WebCore::FEMorphology::platformApply):
        * platform/graphics/filters/FEMorphology.h:
        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::fillRegionWorker):
        (WebCore::FETurbulence::platformApplySoftware):
        * platform/graphics/filters/FETurbulence.h:
        * platform/graphics/filters/arm/FELightingNEON.cpp:
        (WebCore::FELighting::platformApplyNeonWorker):
        * platform/graphics/filters/arm/FELightingNEON.h:
        (WebCore::FELighting::platformApplyNeon):

2011-11-22  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [protocol] actual JSON messages do not conform to Inspector.json in CSS
        https://bugs.webkit.org/show_bug.cgi?id=72733

        Reviewed by Pavel Feldman.

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::buildArrayForComputedStyle):
        * inspector/InspectorStyleSheet.h:
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
        (WebInspector.CSSStyleDeclaration.parseComputedStylePayload):

2011-11-22  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: strip unused InspectorController methods.
        https://bugs.webkit.org/show_bug.cgi?id=72886

        This is a follow up to the https://bugs.webkit.org/show_bug.cgi?id=63009.
        I am now able to remove following InspectorController methods:
        ::startUserInitiatedProfiling,
        ::isRecordingUserInitiatedProfile,
        ::stopUserInitiatedProfiling,
        ::showAndEnableDebugger,
        ::debuggerEnabled,
        ::disableDebugger,
        ::startTimelineProfiler,
        ::stopTimelineProfiler,
        ::timelineProfilerEnabled,
        ::showConsole.

        Reviewed by Yury Semikhatsky.

        * WebCore.exp.in:
        * WebCore.order:
        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::setFrontend):
        * inspector/InspectorAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::connectFrontend):
        * inspector/InspectorController.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::enable):
        (WebCore::InspectorDebuggerAgent::disable):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::resetState):
        (WebCore::InspectorProfilerAgent::clearFrontend):
        (WebCore::InspectorProfilerAgent::restore):
        (WebCore::InspectorProfilerAgent::start):
        (WebCore::InspectorProfilerAgent::stop):
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::start):
        (WebCore::InspectorTimelineAgent::stop):
        * inspector/InspectorTimelineAgent.h:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.enableDebugger):
        (WebInspector.DebuggerModel.prototype.disableDebugger):
        * inspector/front-end/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.start):
        (WebInspector.TimelineManager.prototype.stop):
        (WebInspector.TimelineManager.prototype._started):
        (WebInspector.TimelineManager.prototype._stopped):
        * inspector/front-end/inspector.js:

2011-11-17  Nat Duca  <nduca@chromium.org>

        [chromium] Route willDraw/setNeedsRedraw to CCInputHandler and fix double-drawing issues that result
        https://bugs.webkit.org/show_bug.cgi?id=72688

        This allows CCInputFilter and CCLayerTreeHostImpl to
        perform requestAnimationFrame-style animations. The bulk of
        work here is to make the scheduler recover gracefully when you
        call setNeedsRedraw inside scheduledActionDraw.

        Reviewed by James Robinson.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCInputHandler.h:
        (WebCore::CCInputHandlerTarget::CCInputHandlerTarget):
        (WebCore::CCInputHandlerTarget::~CCInputHandlerTarget):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::currentTimeMs):
        (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::CCScheduler):
        (WebCore::CCScheduler::setVisible):
        (WebCore::CCScheduler::setNeedsRedraw):
        (WebCore::CCScheduler::beginFrame):
        (WebCore::CCScheduler::processScheduledActions):
        * platform/graphics/chromium/cc/CCScheduler.h:
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
        (WebCore::CCSchedulerStateMachine::nextAction):
        (WebCore::CCSchedulerStateMachine::updateState):
        (WebCore::CCSchedulerStateMachine::setInsideVSync):
        (WebCore::CCSchedulerStateMachine::setOutsideVSync):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
        * platform/graphics/chromium/cc/CCScrollController.h: Removed.
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):

2011-11-22  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Design of the autocomplete suggest
        https://bugs.webkit.org/show_bug.cgi?id=72798

        Reviewed by Pavel Feldman.

        Implemented a combination of grayed text for the first/only completion and hid
        the suggest box for a single suggestion (the grayed text is displayed instead.)
        Drive-by fix for the "trailing spaces in the prompt" issue
        (got regressed when the suggest box was introduced for the first time.)

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView): Fix the "trailing spaces" issue
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt):
        (WebInspector.TextPrompt.prototype.renderAsBlock): Fix the "trailing spaces" issue
        (WebInspector.TextPrompt.prototype._attachInternal):
        (WebInspector.TextPrompt.prototype.acceptAutoComplete):
        (WebInspector.TextPrompt.prototype._completionsReady):
        (WebInspector.TextPrompt.prototype.applySuggestion):
        (WebInspector.TextPrompt.prototype.acceptSuggestion):
        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):

2011-11-21  David Barr  <davidbarr@chromium.org>

        REGRESSION(r98542): Chromium: CSS text is rendered on page
        https://bugs.webkit.org/show_bug.cgi?id=71703

        Reviewed by Dimitri Glazkov.

        Matched UA declarations uncacheable when using simpleDefaultStyleSheet.

        Test: fast/css/style-tag-display-none.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchUARules):

2011-11-21  Rob Brackett  <rob@robbrackett.com>
        
        If an event listener is a function, it should be called and not checked for handleEvent.
        This also covers callbacks, which follow the same spec but are implemented separately.
        https://bugs.webkit.org/show_bug.cgi?id=62518

        Reviewed by Sam Weinig.

        Tests: fast/events/dispatch-to-function-with-handle-event.html
               fast/js/callback-function-with-handle-event.html

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):

2011-11-21  Rakesh KN  <rakesh.kn@motorola.com>

        Need support for dirname attribute
        https://bugs.webkit.org/show_bug.cgi?id=65542

        Reviewed by Eric Seidel.

        Implemented 'dirname' form attribute.

        Tests: fast/forms/form-dirname-attribute.html
               fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute.html
               fast/forms/submit-form-with-dirname-attribute-with-nonhtml-ancestor.html
               fast/forms/submit-form-with-dirname-attribute.html

        * html/HTMLAttributeNames.in:
        Added "dirname" attribute.
        * html/HTMLInputElement.idl:
        Add "dirName" property to HTMLInputElement interface.
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::appendFormData):
        Append dirname form data.
        * html/HTMLTextAreaElement.idl:
        Add "dirName" property to HTMLTextAreaElement interface.
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::parentHTMLElement):
        Helper function which returns only HTML parent element.
        (WebCore::HTMLTextFormControlElement::directionForFormData):
        Helper function for finding directionality of the Element.
        * html/HTMLTextFormControlElement.h:
        Helper function for finding directionality of the Element.
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::appendFormData):
        Append dirname form data.
        * html/TextFieldInputType.h:
        Append dirname form data.

2011-11-21  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Close database connections, abort transactions, and terminate requests on stop()
        https://bugs.webkit.org/show_bug.cgi?id=72066

        Reviewed by Tony Chang.

        No new tests; addresses race conditions on document navigate/script context stop.

        * dom/DocumentEventQueue.cpp:
        (WebCore::DocumentEventQueue::enqueueEvent):
        * dom/DocumentEventQueue.h:
        * dom/EventQueue.h:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::IDBDatabase):
        (WebCore::IDBDatabase::~IDBDatabase):
        (WebCore::IDBDatabase::transaction):
        (WebCore::IDBDatabase::close):
        (WebCore::IDBDatabase::onVersionChange):
        (WebCore::IDBDatabase::enqueueEvent):
        (WebCore::IDBDatabase::stop):
        * storage/IDBDatabase.h:
        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::IDBFactory):
        (WebCore::IDBFactory::getDatabaseNames):
        (WebCore::IDBFactory::open):
        (WebCore::IDBFactory::deleteDatabase):
        * storage/IDBFactory.h:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::IDBObjectStore):
        (WebCore::IDBObjectStore::name):
        (WebCore::IDBObjectStore::keyPath):
        (WebCore::IDBObjectStore::indexNames):
        (WebCore::IDBObjectStore::get):
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        (WebCore::IDBObjectStore::deleteFunction):
        (WebCore::IDBObjectStore::clear):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::index):
        (WebCore::IDBObjectStore::deleteIndex):
        (WebCore::IDBObjectStore::openCursor):
        * storage/IDBObjectStore.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::abort):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::onSuccessWithContinuation):
        (WebCore::IDBRequest::stop):
        (WebCore::IDBRequest::dispatchEvent):
        (WebCore::IDBRequest::enqueueEvent):
        * storage/IDBRequest.h:
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::IDBTransaction):
        (WebCore::IDBTransaction::abort):
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::onComplete):
        (WebCore::IDBTransaction::dispatchEvent):
        (WebCore::IDBTransaction::stop):
        (WebCore::IDBTransaction::enqueueEvent):
        * storage/IDBTransaction.h:
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::abort):
        (WebCore::IDBTransactionBackendImpl::commit):
        * workers/WorkerEventQueue.cpp:
        (WebCore::WorkerEventQueue::enqueueEvent):
        * workers/WorkerEventQueue.h:

2011-11-21  James Robinson  <jamesr@chromium.org>

        [chromium] Avoid pushing dirty tiles to the impl layer
        https://bugs.webkit.org/show_bug.cgi?id=72765

        Reviewed by Kenneth Russell.

        If a tile has invalidations at pushPropertiesTo, then we know the contents of that tile are no longer valid even
        if they still have valid backing textures. This avoids pushing that texture to the impl side so it is not
        displayed to the user. The texture is still kept around (managed by the TextureManager) so that when we later do
        decide to update the contents for that tile we can use partial results if they are still valid.

        Covered by new unit test in TiledLayerChromiumTest.cpp

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::isDirty):
        (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
        (WebCore::TiledLayerChromium::setTileSize):
        (WebCore::TiledLayerChromium::setLayerTreeHost):
        (WebCore::TiledLayerChromium::createTiler):
        (WebCore::TiledLayerChromium::updateCompositorResources):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/TiledLayerChromium.h:
        (WebCore::TiledLayerChromium::setTextureFormat):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::hasTileAt):
        (WebCore::CCTiledLayerImpl::drawTiles):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:

2011-11-21  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Speed up debug builds.
        https://bugs.webkit.org/show_bug.cgi?id=72882

        Reviewed by Tor Arne Vestbø.

        * Target.pri: Make BUILDING_WebCore available earlier, so it can be
        used by the build system.

2011-11-17  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: empty-inline-003.htm fails
        https://bugs.webkit.org/show_bug.cgi?id=72638

        Reviewed by Ryosuke Niwa.

        Empty inline elements need to share their inline height with siblings.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::inlineFlowRequiresLineBox): In strict mode, add a LineBox for an empty element if it is
        going to affect the line-height.
        (WebCore::requiresLineBox): Pass LineInfo to inlineFlowRequiresLineBox
        (WebCore::RenderBlock::LineBreaker::nextLineBreak): Pass LineInfo to inlineFlowRequiresLineBox

2011-11-21  Adrienne Walker  <enne@google.com>

        [chromium] Remove incorrect render surface layer list asserts from compositor
        https://bugs.webkit.org/show_bug.cgi?id=72744

        Reviewed by James Robinson.

        These asserts are incorrect, because it's valid for the default render
        surface to be created but to have a root layer that doesn't draw. It
        won't get added to the single render surface and it'll have an empty
        layer list.

        Test: compositor_unittests

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):

2011-11-21  Andreas Kling  <kling@webkit.org>

        StyleSheet: Move completeURL() to CSSStyleSheet.
        <http://webkit.org/b/72888>

        Reviewed by Antti Koivisto.

        Since completeURL() is only used on CSSStyleSheets, move it there (and make
        it non-virtual) to make StyleSheet a little leaner.

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::completeURL):
        * css/CSSStyleSheet.h:
        * css/StyleSheet.cpp:
        * css/StyleSheet.h:

2011-11-21  Robin Dunn  <robin@alldunn.com>

        [wx] Fix image translation calculations.
        https://bugs.webkit.org/show_bug.cgi?id=72892

        Reviewed by Kevin Ollivier.

        * platform/graphics/wx/ImageWx.cpp:
        (WebCore::Image::drawPattern):

2011-11-21  Scott Graham  <scottmg@chromium.org>

        copyright comment style to C from C++ for gamepad module
        https://bugs.webkit.org/show_bug.cgi?id=72894

        Reviewed by Sam Weinig.

        Just changes comment format, no code/test changes.

        * Modules/gamepad/Gamepad.cpp:
        * Modules/gamepad/Gamepad.h:
        * Modules/gamepad/Gamepad.idl:
        * Modules/gamepad/GamepadList.cpp:
        * Modules/gamepad/GamepadList.h:
        * Modules/gamepad/GamepadList.idl:

2011-11-21  Andreas Kling  <kling@webkit.org>

        JSC/CSSOM: Merge root() for style declaration objects.
        <http://webkit.org/b/72881>

        Reviewed by Antti Koivisto.

        Fold root(CSSMutableStyleDeclaration*) into root(CSSStyleDeclaration*),
        removing a duplicated chunk and making it a little easier on the eyes.

        * bindings/js/JSDOMBinding.h:
        (WebCore::root):

2011-11-21  Igor Oliveira  <igor.oliveira@openbossa.org>

        [WK2][Qt] Move Accelerated Composite animations to UIProcess
        https://bugs.webkit.org/show_bug.cgi?id=72753
        
        Add helper method to synchronize animations in TextureMapper.

        Reviewed by Noam Rosenthal.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::syncAnimationsRecursively):
        * platform/graphics/texmap/TextureMapperNode.h:

2011-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100913.
        http://trac.webkit.org/changeset/100913
        https://bugs.webkit.org/show_bug.cgi?id=72885

        "Break Windows build" (Requested by kbalazs on #webkit).

        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::platformApplySoftware):
        * platform/graphics/filters/FEConvolveMatrix.h:
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::platformApply):
        * platform/graphics/filters/FEGaussianBlur.h:
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::platformApplyGeneric):
        * platform/graphics/filters/FELighting.h:
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::platformApply):
        * platform/graphics/filters/FEMorphology.h:
        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::platformApplySoftware):
        * platform/graphics/filters/FETurbulence.h:
        * platform/graphics/filters/arm/FELightingNEON.cpp:
        * platform/graphics/filters/arm/FELightingNEON.h:
        (WebCore::FELighting::platformApplyNeon):

2011-11-21  Balazs Kelemen  <kbalazs@webkit.org>

        Enable ParallelJobs by default
        https://bugs.webkit.org/show_bug.cgi?id=70032

        Reviewed by Zoltan Herczeg.

        Covered by existing tests.

        According to measurements on Mac and Linux it is a
        considerable speedup for SVG on multicore.

        Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
        by qualifying ParallelJobs with the WTF namespace (otherwise
        MSVC believes it belongs to WebCore which is likely a compiler bug).

        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
        (WebCore::FEConvolveMatrix::platformApplySoftware):
        * platform/graphics/filters/FEConvolveMatrix.h:
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::platformApplyWorker):
        (WebCore::FEGaussianBlur::platformApply):
        * platform/graphics/filters/FEGaussianBlur.h:
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::platformApplyGenericWorker):
        (WebCore::FELighting::platformApplyGeneric):
        * platform/graphics/filters/FELighting.h:
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::platformApplyWorker):
        (WebCore::FEMorphology::platformApply):
        * platform/graphics/filters/FEMorphology.h:
        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::fillRegionWorker):
        (WebCore::FETurbulence::platformApplySoftware):
        * platform/graphics/filters/FETurbulence.h:
        * platform/graphics/filters/arm/FELightingNEON.cpp:
        (WebCore::FELighting::platformApplyNeonWorker):
        * platform/graphics/filters/arm/FELightingNEON.h:
        (WebCore::FELighting::platformApplyNeon):

2011-11-21  Antti Koivisto  <antti@apple.com>

        Remove CSSStyleSelector::m_additionalAttributeStyleDecls field
        https://bugs.webkit.org/show_bug.cgi?id=72876

        Reviewed by Andreas Kling.

        There is no reason for this temporary to be a field.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchAllRules):
        * css/CSSStyleSelector.h:

2011-11-21  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: [REGRESSION] Assertion failed in ScriptsPanel.js
        https://bugs.webkit.org/show_bug.cgi?id=72877

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ScriptsPanel.js:

2011-11-18  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: get rid of Panel::reset in the front-end.
        https://bugs.webkit.org/show_bug.cgi?id=72587

        I'm slowly getting rid of the Inspector protocol domain. It currently
        contains methods that did not find their home in the meaningful domains.
        This change removes reset protocol method.

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::didCommitLoad):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::didClearMainFrameWindowObject):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        * inspector/front-end/ApplicationCacheModel.js:
        (WebInspector.ApplicationCacheModel.prototype._frameNavigated):
        (WebInspector.ApplicationCacheModel.prototype._frameDetached):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype._globalObjectCleared):
        (WebInspector.DebuggerDispatcher.prototype.globalObjectCleared):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._mainFrameNavigated):
        * inspector/front-end/JavaScriptContextManager.js:
        (WebInspector.JavaScriptContextManager.prototype._frameDetached):
        (WebInspector.FrameEvaluationContext.prototype.get frameId):
        * inspector/front-end/NetworkLog.js:
        (WebInspector.NetworkLog):
        (WebInspector.NetworkLog.prototype._mainFrameNavigated):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView):
        (WebInspector.NetworkLogView.prototype._mainFrameNavigated):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
        (WebInspector.ResourceTreeModel.prototype._frameDetached):
        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._reset):
        (WebInspector.ResourcesPanel.prototype._frameDetached):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
        (WebInspector.ScriptsPanel.prototype._reset):
        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager):
        (WebInspector.WorkerManager.prototype._mainFrameNavigated):
        * inspector/front-end/inspector.js:

2011-06-20  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu.
        https://bugs.webkit.org/show_bug.cgi?id=62985

        Both: inspector protocol and WebCore/InspectorController have a number of unnecessary
        methods for plumbing the menu action handlers through the WebKit and WebCore.
        I intend to remove this menu support from the protocol and WebCore/InspectorController API.
        I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port.
        WebKit/win and WebKit2 to follow.

        Reviewed by Yury Semikhatsky.

        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
        (WebCore::InspectorFrontendClientLocal::isDebuggingEnabled):
        (WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
        (WebCore::InspectorFrontendClientLocal::isJavaScriptProfilingEnabled):
        (WebCore::InspectorFrontendClientLocal::setJavaScriptProfilingEnabled):
        (WebCore::InspectorFrontendClientLocal::isTimelineProfilingEnabled):
        (WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
        (WebCore::InspectorFrontendClientLocal::isProfilingJavaScript):
        (WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
        (WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
        (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
        (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
        * inspector/InspectorFrontendClientLocal.h:
        * inspector/front-end/InspectorFrontendAPI.js: Added.
        (InspectorFrontendAPI.isDebuggingEnabled):
        (InspectorFrontendAPI.setDebuggingEnabled):
        (InspectorFrontendAPI.isJavaScriptProfilingEnabled):
        (InspectorFrontendAPI.setJavaScriptProfilingEnabled):
        (InspectorFrontendAPI.isTimelineProfilingEnabled):
        (InspectorFrontendAPI.setTimelineProfilingEnabled):
        (InspectorFrontendAPI.isProfilingJavaScript):
        (InspectorFrontendAPI.startProfilingJavaScript):
        (InspectorFrontendAPI.stopProfilingJavaScript):
        (InspectorFrontendAPI.setAttachedWindow):
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileType):
        (WebInspector.CPUProfileType.prototype.isRecordingProfile):
        (WebInspector.CPUProfileType.prototype.startRecordingProfile):
        (WebInspector.CPUProfileType.prototype.stopRecordingProfile):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.get profilerEnabled):
        (WebInspector.ProfilesPanel.prototype.enableProfiler):
        (WebInspector.ProfilesPanel.prototype.disableProfiler):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.get debuggingEnabled):
        (WebInspector.ScriptsPanel.prototype.enableDebugging):
        (WebInspector.ScriptsPanel.prototype.disableDebugging):
        (WebInspector.ScriptsPanel.prototype.toggleDebugging):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
        (WebInspector.TimelinePanel.prototype.setTimelineProfilingEnabled):
        (WebInspector.TimelinePanel.prototype.get timelineProfilingEnabled):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:

2011-11-18  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Protocol] Retain a single universal method for loading a required combination of element styles
        https://bugs.webkit.org/show_bug.cgi?id=72701

        Reviewed by Pavel Feldman.

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
        * inspector/InspectorCSSAgent.h:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles.inlineCallback):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles.matchedCallback):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.getMatchedStylesAsync):
        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
        (WebInspector.CSSStyleModel.prototype.getInlineStylesAsync):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype._innerUpdate):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.get forcedPseudoClasses):
        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate.inlineCallback):
        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate.computedCallback):
        (WebInspector.StylesSidebarPane.prototype._innerUpdate):

2011-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100856.
        http://trac.webkit.org/changeset/100856
        https://bugs.webkit.org/show_bug.cgi?id=72867

        New test fast/css/style-tag-display-none.html fails on
        Chromium (Requested by steveblock on #webkit).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchUARules):

2011-11-21  Jochen Eisinger  <jochen@chromium.org>

        Implement Meta referrer
        https://bugs.webkit.org/show_bug.cgi?id=72674

        Reviewed by Adam Barth.

        http://wiki.whatwg.org/wiki/Meta_referrer

        Tests: http/tests/security/referrer-policy-always.html
               http/tests/security/referrer-policy-default.html
               http/tests/security/referrer-policy-https-always.html
               http/tests/security/referrer-policy-https-default.html
               http/tests/security/referrer-policy-https-never.html
               http/tests/security/referrer-policy-https-origin.html
               http/tests/security/referrer-policy-never.html
               http/tests/security/referrer-policy-origin.html
               http/tests/security/referrer-policy-redirect.html
               http/tests/security/referrer-policy-rel-noreferrer.html

        * WebCore.exp.in: updated
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::processReferrerPolicy):
        * dom/Document.h:
        (WebCore::Document::referrerPolicy):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::handleClick):
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::process):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadFrameRequest):
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::loadImage):
        (WebCore::PingLoader::sendPing):
        (WebCore::PingLoader::reportContentSecurityPolicyViolation):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadSubframe):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        * page/SecurityPolicy.cpp:
        (WebCore::SecurityPolicy::generateReferrerHeader):
        * page/SecurityPolicy.h:

2011-11-21  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: ApplicationCache view should show navigator.onLine indicator.
        https://bugs.webkit.org/show_bug.cgi?id=72618

        Reviewed by Pavel Feldman.

        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::enable):
        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView):
        (WebInspector.ApplicationCacheItemsView.prototype.wasShown):
        * inspector/front-end/ApplicationCacheModel.js:
        (WebInspector.ApplicationCacheModel):
        (WebInspector.ApplicationCacheModel.prototype.get onLine):
        (WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.showApplicationCache):
        (WebInspector.ResourcesPanel.prototype._applicationCacheNetworkStateChanged):

2011-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck build.

        * GNUmakefile.list.am:

2011-11-21  Dominic Mazzoni  <dmazzoni@google.com>

        Accessibility: Multiselect list boxes need to report the active option in addition to which items are selected.
        https://bugs.webkit.org/show_bug.cgi?id=72479

        Reviewed by Chris Fleizach.

        Test: accessibility/multiselect-list-reports-active-option.html

        * accessibility/AccessibilityListBoxOption.cpp:
        (WebCore::AccessibilityListBoxOption::isSelectedOptionActive):
        * accessibility/AccessibilityListBoxOption.h:
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isSelectedOptionActive):

2011-11-21  Yuta Kitamura  <yutak@chromium.org>

        [Qt] WebSocket close tests are failing
        https://bugs.webkit.org/show_bug.cgi?id=72865

        Reviewed by Simon Hausmann.

        * platform/network/qt/SocketStreamHandleQt.cpp:
        (WebCore::SocketStreamHandlePrivate::close):
        Emit didCloseSocketStream() callback even before the connection is established.
        Call m_socket->abort() to prevent "connected" signal from firing.

2011-11-21  Shinya Kawanaka  <shinyak@google.com>

        Refactoring: SpellChecker::requestCheckingFor should take Range instead of Node.
        https://bugs.webkit.org/show_bug.cgi?id=72847

        Reviewed by Hajime Morita.

        Covered by existing test.

        * editing/Editor.cpp:
        (WebCore::Editor::replaceSelectionWithFragment):
          Passes Range to requestCheckingFor instead of Node.
        * editing/SpellChecker.cpp:
          Changed argument type from Node to Range.
          The corresponding changes are also done in dependent methods.
        (WebCore::SpellChecker::initRequest):
        (WebCore::SpellChecker::clearRequest):
        (WebCore::SpellChecker::canCheckAsynchronously):
        (WebCore::SpellChecker::isBusy):
        (WebCore::SpellChecker::isValid):
        (WebCore::SpellChecker::isCheckable):
        (WebCore::SpellChecker::requestCheckingFor):
          Changed argument type from Node to Range.
        (WebCore::SpellChecker::doRequestCheckingFor):
        (WebCore::SpellChecker::didCheck):
        * editing/SpellChecker.h:

2011-11-20  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Remove old getFontFamilyForCharacters() and familyForChars() APIs.
        https://bugs.webkit.org/show_bug.cgi?id=72844

        Respects bold and italic properties that is given by fontconfig.

        Reviewed by Darin Fisher.

        * platform/graphics/chromium/FontCacheLinux.cpp:
        (WebCore::FontCache::getFontDataForCharacters): Removed #if and old logic.

2011-11-20  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] Remove qt/QtMobileWebStyle from the gyp projects
        https://bugs.webkit.org/show_bug.cgi?id=72843

        Reviewed by Antonio Gomes.

        platform/qt/QtMobileWebStyle.{h,cpp} were removed in r100123

        * WebCore.gypi: remove platform/qt/QtMobileWebStyle.{h,cpp}

2011-11-20  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
        (WebDOMFloat64Array::WebDOMFloat64Array):
        (WebDOMFloat64Array::impl):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMFloat64Array.h:

2011-11-20  Adam Barth  <abarth@webkit.org>

        REGRESSION(r100691): Safari error pages and Growl notifications fail to load stylesheets
        https://bugs.webkit.org/show_bug.cgi?id=72836

        Reviewed by Sam Weinig.

        This patch removes a (minor) security mitigation.  Previously, we tried
        sequester "directory listings" into unique origins to make it more
        difficult for an attacker to crawl the user's local file system.
        Unfortunately, this mitigation doesn't really buy us much security
        because if the attacker has access to local files, we've probably lost
        anyway.

        The larger problem, however, is that this condition is overly
        complicated and has broken in sublte ways several times in its
        (relatively short) lifetime.  In the cases reported in this bug, we see
        that this check affects error pages in Safari and Growl notifications,
        even those have nothing to do with directory listings.

        If we have our heart set on this directory listing mitigation, we'll
        need a more robust way of triggering the behavior than examining URLs
        and guess whether they contain directory listings.  For example, if we
        implement Allow-From or Access-Control-Deny-Origin, then the embedder
        can supply those policies along with the directory listings.  Those
        seem like much better solutions than the in-engine hack this patch
        removes.

        * page/SecurityOrigin.cpp:
        (WebCore::shouldTreatAsUniqueOrigin):

2011-10-17  Antonio Gomes  <agomes@rim.com>

        Pass a Frame* parameter in EditorClient::respondToChangedSelection
        https://bugs.webkit.org/show_bug.cgi?id=70248

        Reviewed by Ryosuke Niwa.

        Most of the port specific implementations of EditorClient::respondToChangedSelection
        (like EditorClient{Qt,Gtk,etc}) are wrongly relying on FocusController::focusedOrMainFrame
        method to get the Frame where the selection is happening on.
        It is not right, since a selection can be easily triggered in an inner
        frame that is not focused.

        No new tests since it is a hard thing to test without
        to hook into editor client in layout tests. We could
        change the "Dumped Delegate" messages, but it would
        require a rebasile of +1200 for a minor change.

        * editing/Editor.cpp: Pass the Frame on where the selection is changing to the client.
        (WebCore::Editor::respondToChangedSelection): Ditto.
        (WebCore::Editor::changeSelectionAfterCommand): Ditto.
        (WebCore::EmptyEditorClient::respondToChangedSelection):
        * page/EditorClient.h:  Pass Frame* to indicate where the selection is happening.
        * loader/EmptyClients.h: Changed signature as per base class change.

2011-11-17  Mark Rowe  <mrowe@apple.com>

        <http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily
        switch away from the deprecated APIs.

        Reviewed by Sam Weinig.

        * platform/mac/WebCoreNSStringExtras.mm:
        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::reportErrorToClient):

2011-11-19  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] C++ bindings build fix for move of array classes to WTF.
        
        * bindings/scripts/CodeGeneratorCPP.pm:
        (GetCPPTypeGetter):
        (GetNamespaceForClass):
        (GenerateHeader):
        (GenerateImplementation):

2011-11-19  Scott Graham  <scottmg@chromium.org>

        Move gamepad to Modules/ (+ some cleanup)
        https://bugs.webkit.org/show_bug.cgi?id=72785

        Reviewed by Adam Barth.

        Move main files from page/ to Modules/gamepad/. #include guard the
        gamepad header inclusions in Navigator.cpp to avoid including for
        ports that do not enable GAMEPAD.

        * Modules/gamepad/Gamepad.cpp: Renamed from Source/WebCore/page/Gamepad.cpp.
        (WebCore::Gamepad::Gamepad):
        (WebCore::Gamepad::axes):
        (WebCore::Gamepad::buttons):
        (WebCore::Gamepad::~Gamepad):
        * Modules/gamepad/Gamepad.h: Renamed from Source/WebCore/page/Gamepad.h.
        * Modules/gamepad/Gamepad.idl: Renamed from Source/WebCore/page/Gamepad.idl.
        * Modules/gamepad/GamepadList.cpp: Renamed from Source/WebCore/page/GamepadList.cpp.
        (WebCore::GamepadList::~GamepadList):
        (WebCore::GamepadList::set):
        (WebCore::GamepadList::length):
        (WebCore::GamepadList::item):
        * Modules/gamepad/GamepadList.h: Renamed from Source/WebCore/page/GamepadList.h.
        (WebCore::GamepadList::create):
        (WebCore::GamepadList::GamepadList):
        * Modules/gamepad/GamepadList.idl: Renamed from Source/WebCore/page/GamepadList.idl.
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * page/Navigator.cpp:

2011-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100834.
        http://trac.webkit.org/changeset/100834
        https://bugs.webkit.org/show_bug.cgi?id=72806

        this patch makes Qt run-webkit-test exit before finishing
        (Requested by igoroliveira on #webkit).

        * platform/graphics/texmap/TextureMapperNode.cpp:
        * platform/graphics/texmap/TextureMapperNode.h:

2011-11-19  Huang Dongsung  <luxtella@company100.net>

        Remove WebCore/ForwardingHeaders/runtime/JSObjectWithGlobalObject.h because
        JSObjectWithGlobalObject.h has been removed.
        https://bugs.webkit.org/show_bug.cgi?id=72794

        r94701 removed JSObjectWithGlobalObject.h.

        Reviewed by Oliver Hunt.

        * ForwardingHeaders/runtime/JSObjectWithGlobalObject.h: Removed.

2011-11-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector:[protocol] actual JSON messages do not conform to Inspector.json in InspectorApplicationCacheAgent.cpp
        https://bugs.webkit.org/show_bug.cgi?id=72734

        Reviewed by Timothy Hatcher.

        * inspector/Inspector.json:

2011-11-19  David Barr  <davidbarr@chromium.org>

        REGRESSION(r98542): Chromium: CSS text is rendered on page
        https://bugs.webkit.org/show_bug.cgi?id=71703

        Reviewed by Antti Koivisto.

        Matched UA declarations uncacheable when using simpleDefaultStyleSheet.

        Test: fast/css/style-tag-display-none.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchUARules):

2011-11-19  Jay Civelli  <jcivelli@chromium.org>

        When loading a MHTML document, make sure we set the base URL before
        we notify the frame was committed (so the document has the right base
        URL when the notification happens). 
        https://bugs.webkit.org/show_bug.cgi?id=72788

        Reviewed by Adam Barth.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::receivedFirstData):

2011-11-19  Adam Barth  <abarth@webkit.org>

        Integrate Source/WTF with the Chromium build system
        https://bugs.webkit.org/show_bug.cgi?id=72790

        Reviewed by Eric Seidel.

        Add a dependency on the new WTF.

        * WebCore.gyp/WebCore.gyp:

2011-11-18  Takashi Toyoshima  <toyoshim@chromium.org>

        [Chromium] [WebSocket] export WebSocketChannel interface for plugins
        https://bugs.webkit.org/show_bug.cgi?id=72016

        Reviewed by Darin Fisher.

        Add a interface to send raw binary data.
        This interface is used by WebWebSocketChannel implementation
        in WebKit API.

        No new tests because just export a interface.

        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::send):
        * websockets/WebSocketChannel.h:

2011-11-18  Vineet Chaudhary  <vineet.chaudhary@motorola.com>

        https://bugs.webkit.org/show_bug.cgi?id=72591
        Remove document.width / document.height

        Reviewed by Darin Adler.

        Removed document.width/document.height from JS bindings,
        but keeping the same for ObjC bindings. Also it should use
        document.body.clientWidth and document.body.clientHeight instead.

        * html/HTMLDocument.idl:

2011-11-18  Martin Robinson  <mrobinson@igalia.com>

        Fix the GTK+ build.

        * page/Navigator.idl: Properly disable the webkitGamepads API if gamepad
        isn't enabled at compile time.

2011-11-18  Daniel Bates  <dbates@rim.com>

        Add CMake build infrastructure for the BlackBerry port
        https://bugs.webkit.org/show_bug.cgi?id=72768

        Reviewed by Antonio Gomes.

        * CMakeLists.txt: At this time the BlackBerry port doesn't support generating
          DOM bindings from the SVG IDLs. See WebKit bug #72773.
        * PlatformBlackBerry.cmake: Added.

2011-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100826.
        http://trac.webkit.org/changeset/100826
        https://bugs.webkit.org/show_bug.cgi?id=72786

        Broke Chromium Mac build (Requested by aklein on #webkit).

        * page/ChromeClient.h:
        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::scrollbarStyleChanged):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):

2011-11-18  Alpha Lam  <hclam@chromium.org>

        [chromium] composited layers are blurry with a zoom-in page scale factor
        https://bugs.webkit.org/show_bug.cgi?id=71225

        Reviewed by James Robinson.

        Pass contents scale factor to the compositor such that it can:
        1. Adjust contentBounds() of the compositoer layers with content scale.
        2. Apply the content scale in the painter for texture update in better resolution.
        3. Apply the content scale to the dirty rect in CanvasLayerTextureUpdater.

        This change fixed blurry problem for all tiled layer types and is not limited to
        position:fixed layers.

        Tests: compositing/geometry/fixed-position-composited-page-scale-down.html
               compositing/geometry/fixed-position-composited-page-scale.html
               compositing/geometry/fixed-position-iframe-composited-page-scale-down.html
               compositing/geometry/fixed-position-iframe-composited-page-scale.html
               compositing/geometry/fixed-position-transform-composited-page-scale-down.html
               compositing/geometry/fixed-position-transform-composited-page-scale.html

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setTransform):
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        (WebCore::GraphicsLayerChromium::updateContentsScale):
        (WebCore::GraphicsLayerChromium::contentsScale):
        (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
        (WebCore::ImageLayerChromium::needsContentsScale):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::setContentsScale):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::needsContentsScale):
        (WebCore::LayerChromium::contentsScale):
        * platform/graphics/chromium/LayerTextureUpdater.h:
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
        (WebCore::LayerTextureUpdaterCanvas::paintContents):
        (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
        (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::needsContentsScale):
        (WebCore::TiledLayerChromium::contentBounds):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        * platform/graphics/chromium/TiledLayerChromium.h:

2011-11-18  Igor Oliveira  <igor.oliveira@openbossa.org>

        [WK2][Qt] Move Accelerated Composite animations to UIProcess
        https://bugs.webkit.org/show_bug.cgi?id=72753

        Add helper method to synchronize animations in TextureMapper.

        Reviewed by Noam Rosenthal.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::syncAnimationsRecursively):
        * platform/graphics/texmap/TextureMapperNode.h:

2011-11-18  Scott Graham  <scottmg@chromium.org>

        IDL changes for gamepad support
        https://bugs.webkit.org/show_bug.cgi?id=71753

        Reviewed by Adam Barth.

        IDL changes and associated plumbing to expose list of gamepad objects
        on navigator object (per current spec). Full patch is
        https://bugs.webkit.org/show_bug.cgi?id=69451. Only basic existence
        test until more plumbing in future patches.

        Test: gamepad/gamepad-api.html

        * WebCore.gypi:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setWebkitGamepadsEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitGamepadsEnabled):
        * page/Gamepad.cpp: Added.
        (WebCore::Gamepad::Gamepad):
        (WebCore::Gamepad::axes):
        (WebCore::Gamepad::buttons):
        (WebCore::Gamepad::~Gamepad):
        * page/Gamepad.h: Added.
        * page/Gamepad.idl: Added.
        * page/GamepadList.cpp: Added.
        (WebCore::GamepadList::~GamepadList):
        (WebCore::GamepadList::set):
        (WebCore::GamepadList::length):
        (WebCore::GamepadList::item):
        * page/GamepadList.h: Added.
        (WebCore::GamepadList::create):
        (WebCore::GamepadList::GamepadList):
        * page/GamepadList.idl: Added.
        * page/Navigator.cpp:
        (WebCore::Navigator::webkitGamepads):
        * page/Navigator.h:
        * page/Navigator.idl:

2011-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100693.
        http://trac.webkit.org/changeset/100693
        https://bugs.webkit.org/show_bug.cgi?id=72779

        This patch caused a rendering regression (see bug 72770)
        (Requested by philip__ on #webkit).

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):

2011-11-18  Simon Fraser  <simon.fraser@apple.com>

        Reflection on composited element doesn't update if the element changes to show no content
        https://bugs.webkit.org/show_bug.cgi?id=72774

        Reviewed by Chris Marrin.
        
        When a style change results in a reflected element losing its backing store,
        we need to clear the backing stores on the layer clones as well.

        Test: compositing/reflections/become-simple-composited-reflection.html

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::updateLayerDrawsContent):

2011-11-18  Daniel Cheng  <dcheng@chromium.org>

        [chromium] Use correct backing store for ChromiumDataObject in pasteboard writes.
        https://bugs.webkit.org/show_bug.cgi?id=72767

        Reviewed by Tony Chang.

        Covered by existing tests.

        * editing/chromium/EditorChromium.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::types):
        (WebCore::ChromiumDataObject::getData):
        (WebCore::ChromiumDataObject::containsFilenames):
        (WebCore::ChromiumDataObject::ChromiumDataObject):
        * platform/chromium/ChromiumDataObject.h:
        (WebCore::ChromiumDataObject::createFromPasteboard):
        (WebCore::ChromiumDataObject::create):
        (WebCore::ChromiumDataObject::storageMode):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::hasData):

2011-11-18  Chris Evans  <cevans@google.com>

        Crash with ranges across a detached, reparented node tree
        https://bugs.webkit.org/show_bug.cgi?id=72757

        Reviewed by Adam Barth.

        Test: fast/dom/move-detached-child-in-range.html

        * dom/RangeBoundaryPoint.h:
        (WebCore::RangeBoundaryPoint::childBefore): protect the raw child node from getting pulled from under us.

2011-11-18  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=72551
        When the recommended scrollbar style changes, WKView's tracking options should 
        adjust accordingly
        -and corresponding-
        <rdar://problem/10409328>

        Reviewed by Darin Adler.

        This new ChromeClient function is called when the recommended scrollbar style 
        changes. This way, WebKit can respond to the change by adjusting its mouse 
        tracking.
        * page/ChromeClient.h:
        (WebCore::ChromeClient::recommendedScrollbarStyleDidChange):

        Existing ScrollableArea function scrollbarStyleChanged() now takes an int 
        indicating the new scrollbar style and a bool indicating whether it is necessary 
        to force an update. It used to be the case that this function was ONLY used to 
        force an update (and only called when an updated was needed), but now that it must 
        also call into the ChromeClient, it is necessary to include a bool tracking 
        whether we need to force an update. New implementation on FrameView is responsible 
        for calling ChromeClient, and then that calls into the pre-existing ScrollView 
        function for the forceUpdate part.
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollbarStyleChanged):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView:: scrollbarStyleChanged):
        * platform/ScrollView.h:
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::scrollbarStyleChanged):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):

2011-11-18  Kelly Norton  <knorton@google.com>

        Fixes several more void functions in RenderObject that return values.
        https://bugs.webkit.org/show_bug.cgi?id=72750

        Reviewed by Adam Barth.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateBeforeAfterContent):
        (WebCore::RenderBlock::addChildToContinuation):
        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
        (WebCore::RenderBlock::addChild):
        (WebCore::RenderBlock::addChildIgnoringContinuation):

2011-11-18  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Add some useful text to existing debug dump
        https://bugs.webkit.org/show_bug.cgi?id=72576

        Reviewed by James Robinson.

        No new tests needed.

        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::dumpLayerProperties):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::dumpSurface):

2011-11-18  Xiaomei Ji  <xji@chromium.org>

        REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
        https://bugs.webkit.org/show_bug.cgi?id=70395

        Reviewed by Tony Chang.

        This patch fixes the problem in Mac and Chromium Mac.
   
        The existing test fast/dom/rtl-scroll-to-leftmost-and-resize.html seems does not really work in Mac DRT
        (the browswer window is not resized). It works in Chromium-Mac. And Chromium-Mac's code
        is forked from Mac.

        * platform/chromium/ScrollAnimatorChromiumMac.mm:
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):

2011-11-18  Martin Robinson  <mrobinson@igalia.com>

        REGRESSION (r99924): broke 2 pasteboard tests on GTK
        https://bugs.webkit.org/show_bug.cgi?id=72131

        Reviewed by Tony Chang.

        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::clearData): Call clearAll now.
        (WebCore::ClipboardGtk::clearAllData): Call clearAllExceptFilenames now.
        * platform/gtk/DataObjectGtk.cpp:
        (WebCore::DataObjectGtk::clearAllExceptFilenames): Renamed from clear.
        (WebCore::DataObjectGtk::clearAll): Added this method which also clear filenames.
        * platform/gtk/DataObjectGtk.h:
        * platform/gtk/PasteboardGtk.cpp: Call clear before setting new clipboard data.
        (WebCore::Pasteboard::writeSelection): Ditto.
        (WebCore::Pasteboard::writePlainText): Ditto.
        (WebCore::Pasteboard::writeURL): Ditto.
        (WebCore::Pasteboard::writeImage): Ditto.
        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::clearClipboardContentsCallback): Use the clearAll method now.

2011-11-18  Vineet Chaudhary  <vineet.chaudhary@motorola.com>

        Access key should work on all elements.
        https://bugs.webkit.org/show_bug.cgi?id=71854

        Reviewed by Ryosuke Niwa.

        All HTML elements can have the accesskey content attribute set.
        Specification http://dev.w3.org/html5/spec/Overview.html#the-accesskey-attribute
        Adding "accessKey" attribute to HTMLElement.idl file as [Reflect].

        Test: fast/forms/access-key-for-all-elements.html

        * bindings/objc/PublicDOMInterfaces.h: Moved properties form subclass to base class.
        * html/BaseButtonInputType.cpp: 
        (WebCore::BaseButtonInputType::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
        * html/BaseButtonInputType.h: Ditto
        * html/BaseCheckableInputType.cpp:
        (WebCore::BaseCheckableInputType::accessKeyAction): Ditto
        * html/BaseCheckableInputType.h: Ditto
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::accessKeyAction): Ditto
        * html/HTMLAnchorElement.h: Ditto
        * html/HTMLAnchorElement.idl: Removed redundant IDL attribute entries.
        * html/HTMLAreaElement.idl: Removed redundant IDL attribute entries.
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
        * html/HTMLButtonElement.h: Ditto
        * html/HTMLButtonElement.idl: Removed redundant IDL attribute entries.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
        If the element does not have a defined activation behavior, fire a click event at the element.
        * html/HTMLElement.h: Ditto
        * html/HTMLElement.idl: Added accessKey IDL attribute.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
        * html/HTMLInputElement.h: Ditto
        * html/HTMLInputElement.idl: Removed redundant IDL attribute entries.
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
        * html/HTMLLabelElement.h: Ditto
        * html/HTMLLabelElement.idl: Removed redundant IDL attribute entries.
        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
        * html/HTMLLegendElement.h: Ditto
        * html/HTMLLegendElement.idl: Removed redundant IDL attribute entries.
        * html/HTMLOptGroupElement.h: Renamed variable sendToAnyElement to sendMouseEvents.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::accessKeyAction): Ditto
        * html/HTMLSelectElement.h: Ditto
        * html/HTMLTextAreaElement.h: Ditto
        * html/HTMLTextAreaElement.idl: Removed redundant IDL attribute entries.
        * html/HiddenInputType.h: Renamed variable sendToAnyElement to sendMouseEvents.
        * html/InputType.h: Ditto
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::accessKeyAction): Ditto
        * html/RangeInputType.h: Ditto

2011-11-18  Simon Fraser  <simon.fraser@apple.com>

        Appearance of compound transform animations under apps linked on SnowLeopard is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=72641
        and
        <rdar://problem/10314267>

        Reviewed by Dean Jackson.

        GraphicsLayerCA contains a "linked on or after" check to account for a bug in
        Core Animation on SnowLeopard and earlier, which is that CA would apply the list
        of animations in reverse order.
        
        Our previous fix was incorrect, because it only adjusted the 'additive' property
        of the animation list based on ordering, rather than flipping the entire list.
        This change reverses the list of animations before giving them to CA, which fixes
        the bug.
                
        Test: animations/additive-transform-animations.html

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
        * platform/graphics/ca/GraphicsLayerCA.h:

2011-11-18  Tim Horton  <timothy_horton@apple.com>

        -webkit-cross-fade rendered incorrectly in overflow divs
        https://bugs.webkit.org/show_bug.cgi?id=72693
        <rdar://problem/10468564>

        Reviewed by Simon Fraser.

        Respect the desired source rectangle when rendering the cross-fade.

        Test: css3/images/cross-fade-overflow-position.html

        * platform/graphics/CrossfadeGeneratedImage.cpp:
        (WebCore::CrossfadeGeneratedImage::drawCrossfade):
        (WebCore::CrossfadeGeneratedImage::draw):
        (WebCore::CrossfadeGeneratedImage::drawPattern):
        * platform/graphics/CrossfadeGeneratedImage.h:

2011-11-18  Raphael Kubo da Costa  <kubo@profusion.mobi>

        Unreviewed build fix; r100686 broke the EFL build when Geolocation
        support is enabled.

        * platform/efl/GeolocationServiceEfl.cpp: Only declare
        s_factoryFunction if CLIENT_BASED_GEOLOCATION is off, otherwise it is
        also declared in GeolocationService.cpp.

2011-11-18  Igor Oliveira  <igor.oliveira@openbossa.org>

        [TextureMapper] computePerspectiveTransformIfNeeded is called twice in TextureMapperNode::syncCompositingState
        https://bugs.webkit.org/show_bug.cgi?id=72727

        TextureMapperNode::computeAllTransforms already has a call to TextureMapperNode::computePerspectiveTransformIfNeeded,
        so it does not need to be called again after TextureMapperNode::computeAllTransforms.

        Reviewed by Noam Rosenthal.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::syncCompositingState):

2011-11-18  Mihnea Ovidenie  <mihnea@adobe.com>

        Fix compilation warning in ComplexTextControllerCoreText.mm
        https://bugs.webkit.org/show_bug.cgi?id=72702

        Reviewed by Andreas Kling.

        No functionality changed, so no new tests.

        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):

2011-11-18  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: restore front-end compilability via updating externs and JS generator.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
        (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
        * inspector/front-end/externs.js:
        (WebInspector.showPanelForAnchorNavigation):
        * inspector/generate-protocol-externs:

2011-11-17  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: dispatch messages from the front-end to the backend asynchronously.
        https://bugs.webkit.org/show_bug.cgi?id=72621

        We should align the way we dispatch messages from the front-end to backend across the environments:
          - WebKit has it synchronoulsly
          - Chromium has it asynchronously
          - Remote debugging has it asynchronously
        Making it asynchronous made a number of flaky Qt tests pass.

        Tests uncovered console agent problem that was also fixed.

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::clearFrontend):
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
        (WebCore::InspectorBackendDispatchTask::dispatch):
        (WebCore::InspectorBackendDispatchTask::reset):
        (WebCore::InspectorBackendDispatchTask::onTimer):
        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
        (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
        (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
        * inspector/InspectorFrontendClientLocal.h:

2011-11-18  Iain Merrick  <husky@google.com>

        [chromium] Pass screen refresh rate into compositor.
        https://bugs.webkit.org/show_bug.cgi?id=71040

        Reviewed by Tony Gentilcore.

        Covered by CCLayerTreeHostTest.

        * platform/PlatformScreen.h:
        * platform/chromium/PlatformScreenChromium.cpp:
        (WebCore::screenRefreshRate):
        * platform/chromium/PlatformSupport.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::initializeImplOnImplThread):

2011-11-18  Alexandru Chiculita  <achicu@adobe.com>

        [CSSShaders] Implement the computed style for mesh parameters of the custom() filter
        https://bugs.webkit.org/show_bug.cgi?id=72478

        Reviewed by Dean Jackson.

        Added parsing and computed style for the mesh rows, columns, mesh box type 
        (filter-box, border-box, content-box and padding-box) and the detached mode.
        
        Also fixed a case where "custom(none, 10, 10 filter-box)" was incorrectly
        treated as "custom(none, 10)".

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseCustomFilter): Fixed a case where invalid syntax was parsed as correct syntax.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator CustomFilterOperation::MeshBoxType):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createCustomFilterOperation):
        * css/CSSValueList.h:
        (WebCore::CSSValueListIterator::isPrimitiveValue):
        * platform/graphics/filters/CustomFilterOperation.h:

2011-11-18  Adam Barth  <abarth@webkit.org>

        Remove unneeded include (and ifdef) from V8DOMWindowCustom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=72705

        Reviewed by Eric Seidel.

        Death to ifdefs!

        * bindings/v8/custom/V8DOMWindowCustom.cpp:

2011-11-18  Adam Barth  <abarth@webkit.org>

        Move some mediastream related files into the mediastream directory
        https://bugs.webkit.org/show_bug.cgi?id=72695

        Reviewed by Eric Seidel.

        Just moving the files to the proper directory.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * mediastream/NavigatorUserMediaError.h: Renamed from Source/WebCore/page/NavigatorUserMediaError.h.
        (WebCore::NavigatorUserMediaError::create):
        (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
        (WebCore::NavigatorUserMediaError::code):
        (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
        * mediastream/NavigatorUserMediaError.idl: Renamed from Source/WebCore/page/NavigatorUserMediaError.idl.
        * mediastream/NavigatorUserMediaErrorCallback.h: Renamed from Source/WebCore/page/NavigatorUserMediaErrorCallback.h.
        (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
        * mediastream/NavigatorUserMediaErrorCallback.idl: Renamed from Source/WebCore/page/NavigatorUserMediaErrorCallback.idl.
        * mediastream/NavigatorUserMediaSuccessCallback.h: Renamed from Source/WebCore/page/NavigatorUserMediaSuccessCallback.h.
        (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
        * mediastream/NavigatorUserMediaSuccessCallback.idl: Renamed from Source/WebCore/page/NavigatorUserMediaSuccessCallback.idl.

2011-11-18  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] Provide a way for extension to create a status bar icon
        https://bugs.webkit.org/show_bug.cgi?id=45955

        Reviewed by Pavel Feldman.

        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.ExtensionPanelImpl.prototype.createStatusBarButton):
        (injectedExtensionAPI):
        (injectedExtensionAPI.ButtonImpl.prototype.update):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionPanel):
        (WebInspector.ExtensionPanel.prototype.get statusBarItems):
        (WebInspector.ExtensionPanel.prototype.addStatusBarItem):
        (WebInspector.ExtensionButton):
        (WebInspector.ExtensionButton.prototype.update):
        (WebInspector.ExtensionButton.prototype._onClicked):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype.notifyButtonClicked):
        (WebInspector.ExtensionServer.prototype._onCreateStatusBarButton):
        (WebInspector.ExtensionServer.prototype._onUpdateButton):
        (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
        * inspector/front-end/inspector.css:
        (button.status-bar-item.extension):

2011-11-18  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Merging the PeerConnectionHandler.h files
        https://bugs.webkit.org/show_bug.cgi?id=72611

        Reviewed by Adam Barth.

        No actual code changes.

        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/mediastream/PeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/chromium/PeerConnectionHandler.h.
        * platform/mediastream/gstreamer/PeerConnectionHandler.h: Removed.

2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Layer violation: ThirdPartyCookiesQt.cpp uses QWebSettings in two places
        https://bugs.webkit.org/show_bug.cgi?id=72597

        Reviewed by Kenneth Rohde Christiansen.

        Moved code that queries the third party cookie policy from QWebSettings
        out of WebCore. Instead NetworkingContext has now the interface that allows
        delegating the functionality into WebKit/qt.

        In order to do that we need to pass the NetworkingContext around, which is used to
        retrieve the cookie jar and the originating frame object pointer.

        * platform/network/NetworkingContext.h: Add interface.
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): Pass NetworkingContext to ResourceRequest::toNetworkRequest.
        (WebCore::QNetworkReplyHandler::redirect): Ditto.
        * platform/network/qt/ResourceRequest.h: Replaced originatingObject parameter with NetworkingContext, which can
        also provide the same plus more (cookie jar, policy callback).
        * platform/network/qt/ResourceRequestQt.cpp:
        (WebCore::ResourceRequest::toNetworkRequest): Ditto.
        * platform/qt/CookieJarQt.cpp: Simplify to use NetworkingContext to get cookie jar and
        call new thirdPartyCookiePolicyPermits API that takes the context as parameter.
        (WebCore::networkingContext):
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookieRequestHeaderFieldValue):
        (WebCore::cookiesEnabled):
        * platform/qt/ThirdPartyCookiesQt.cpp: Replace up-casting to QWebFrame and use of QWebSettings
        with useage of NetworkingContext.
        (WebCore::thirdPartyCookiePolicyPermits):
        * platform/qt/ThirdPartyCookiesQt.h:

2011-11-17  Kenichi Ishibashi  <bashi@chromium.org>

        crash: WebCore::FontPlatformData::roundsGlyphAdvances on Lion
        https://bugs.webkit.org/show_bug.cgi?id=71997

        Reviewed by Dan Bernstein.

        The cause is a null dereference of a fontData that is stored in
        ComplexTextRun. The fontData is initialized by using the
        fontCache, but it could be null when the font is in fallback
        list. The reason a font from the fallback list might not be in the
        font Cache is that it may be a web font. Before looking up the
        fontCache, try to see whether the font is in the fallback list.

        No new tests. We don't have webfonts that can produce the problem.

        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): See fallback list first, then lookup cache.

2011-11-17  Kaustubh Atrawalkar  <kaustubh@motorola.com>

        Remove initProgressEvent method
        https://bugs.webkit.org/show_bug.cgi?id=71340

        Reviewed by Adam Barth.

        This method has been removed from the spec draft.
        http://www.w3.org/TR/progress-events/#interface-progressevent

        No new tests. Removed method.

        * dom/ProgressEvent.cpp:
        * dom/ProgressEvent.h:
        * dom/ProgressEvent.idl:

2011-11-17  Eunmi Lee  <eunmi15.lee@samsung.com>

        [EFL] Move keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() to the
        EflKeyboardUtilities.cpp to use in the WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=62451

        Reviewed by Martin Robinson.

        The keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() were static functions
        in the PlatformKeyboardEventEfl.cpp. But they are also needed in the WebKit2 EFL port, so I
        moved them to the separated file - EflKeyboardUtilities.cpp.

        * PlatformEfl.cmake:
        * platform/efl/EflKeyboardUtilities.cpp: Copied from Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp.
        (WebCore::createKeyMap):
        (WebCore::createWindowsKeyMap):
        (WebCore::keyIdentifierForEvasKeyName):
        (WebCore::windowsKeyCodeForEvasKeyName):
        * platform/efl/EflKeyboardUtilities.h: Added.
        * platform/efl/PlatformKeyboardEventEfl.cpp:

2011-11-17  Martin Robinson  <mrobinson@igalia.com>

        [GTK] The process freezes when you right click on windowless Flash
        https://bugs.webkit.org/show_bug.cgi?id=69123

        Reviewed by Xan Lopez.

        No new tests. I tried to create a layout test that exercised this
        issue, but it appears that EventSender clicks do not trigger
        it. This is covered by the manual tests containing Flash.

        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::determineQuirks): Always activate the
        windowless Flash quirk if on x86_64 and X11.
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::handleMouseEvent): Avoid sending right-click
        events if we have the quirk.

2011-11-17  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: clear fixme in generator script
        https://bugs.webkit.org/show_bug.cgi?id=71372

        Remove unnecessary field name map and update license year number.

        Reviewed by Pavel Feldman.

        * inspector/CodeGeneratorInspector.py:

2011-11-17  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [EFL] Clean up the use of DATA_DIR in the buildsystem
        https://bugs.webkit.org/show_bug.cgi?id=72681

        Reviewed by Daniel Bates.

        Add the -DDATA_DIR definition here instead of defining it globally in
        OptionsEfl.cmake, as WebCore is the only place which needs it.

        No new tests, this is a buildsystem change.

        * PlatformEfl.cmake:

2011-11-17  Adam Klein  <adamk@chromium.org>

        Move JS recursion counter from V8Proxy to V8BindingPerIsolateData
        https://bugs.webkit.org/show_bug.cgi?id=72645

        Reviewed by Adam Barth.

        With the JS recursion level stored as a member of V8Proxy, it's tied
        to a frame. But this is incorrect, as there's no reason that a JS call
        stack need be restricted to a single frame (see my new test case for
        an example of code going across frames).

        In order to get the correct accounting of JS recursion level, per-Isolate
        is the right granularity (per dslomov), which is what this patch accomplishes.

        Test: storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html

        * bindings/v8/V8Binding.cpp:
        (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
        * bindings/v8/V8Binding.h:
        (WebCore::V8BindingPerIsolateData::recursionLevel):
        (WebCore::V8BindingPerIsolateData::incrementRecursionLevel):
        (WebCore::V8BindingPerIsolateData::decrementRecursionLevel):
        (WebCore::V8RecursionScope::V8RecursionScope):
        (WebCore::V8RecursionScope::~V8RecursionScope):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::incrementRecursionLevel):
        (WebCore::decrementRecursionLevel):
        (WebCore::recursionLevel):
        (WebCore::V8Proxy::V8Proxy):
        (WebCore::V8Proxy::runScript):
        (WebCore::V8Proxy::callFunction):
        (WebCore::V8Proxy::didLeaveScriptContext):
        * bindings/v8/V8Proxy.h:

2011-11-17  Robin Cao  <robin.cao@torchmobile.com.cn>

        [chromium] Font::drawComplexText can not draw a segment of text run
        https://bugs.webkit.org/show_bug.cgi?id=72095

        Reviewed by Adam Barth.

        drawComplexText() should respect the 'from' and 'to' arguments.
        Drawing the whole text run may result in text overlapping.

        Test: platform/chromium-linux/fast/text/international/draw-complex-text-from-to.html

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::glyphsForRange):
        * platform/graphics/chromium/ComplexTextControllerLinux.h:
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawComplexText):

2011-11-17  Adam Barth  <abarth@webkit.org>

        Unique SecurityOrigins shouldn't remember their old schemes and hosts
        https://bugs.webkit.org/show_bug.cgi?id=71745

        Reviewed by Darin Adler.

        This is the final step in this series of patches.

        This patch removes the forceUnique flag from SecurityOrigin::create.
        Now, we create unique origins without passing in the document's URL,
        preventing information from the document's URL from leaking into the
        unique origin.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::setIsViewSource):
        (WebCore::Document::initSecurityContext):
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::getOriginsWithCache):
            - Update this callsite to use createFromString, which does exactly
              what this code is doing manually.
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::create):
        * page/SecurityOrigin.h:

2011-11-17  Vincent Scheib  <scheib@chromium.org>

        Pointer Lock: Page Settings unecessary
        https://bugs.webkit.org/show_bug.cgi?id=72662

        Reviewed by Darin Fisher.

        No new tests.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:

2011-11-17  James Robinson  <jamesr@chromium.org>

        [chromium] Disable incremental uploading in threaded compositing path
        https://bugs.webkit.org/show_bug.cgi?id=72669

        Reviewed by Kenneth Russell.

        Since we don't currently support atomic incremental uploads, incremental uploads in the threaded path result in
        very strange-looking texture popping as tiles come in on pages that require more than 16 tile uploads per frame.
        This disables that logic (by setting the upload limit per frame to 99999) until we handle the incremental
        updates in an atomic fashion.

        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):

2011-11-06  Nat Duca  <nduca@chromium.org>

        [chromium] Fix handling of setNeedsCommit and setNeedsAnimate in threaded mode
        https://bugs.webkit.org/show_bug.cgi?id=71638

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::CCThreadProxy):
        (WebCore::CCThreadProxy::setNeedsAnimate):
        (WebCore::CCThreadProxy::beginFrameAndCommit):

2011-11-17  Adam Barth  <abarth@webkit.org>

        Remove bogus ASSERT.

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):

2011-11-17  Peter Kasting  <pkasting@google.com>

        Unreviewed, rolling out r100698.
        http://trac.webkit.org/changeset/100698
        https://bugs.webkit.org/show_bug.cgi?id=72239

        This change wasn't the problem either.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):

2011-11-17  David Reveman  <reveman@chromium.org>

        [Chromium] Calls to paintContentsIfDirty() and updateCompositorResources() should be balanced.
        https://bugs.webkit.org/show_bug.cgi?id=72630

        Reviewed by James Robinson.

        Layer property changes during paintContent() can leave the layer
        in an invalid state as paintContentsIfDirty() has been called
        without a matching updateCompositorResources() call. Removing
        conditionals around these calls ensure they are balanced.

        This patch is tested by the following unit test:
        - CCLayerTreeHostTestOpacityChange.runMultiThread

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:

2011-11-17  Peter Kasting  <pkasting@google.com>

        Unreviewed, rolling out r100584.
        http://trac.webkit.org/changeset/100584
        https://bugs.webkit.org/show_bug.cgi?id=72239

        See if this change caused Linux dbg crashes.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):

2011-11-17  Adam Barth  <abarth@webkit.org>

        Remove cargo-cult copy/pasting of ScriptExecutionContext namespace
        https://bugs.webkit.org/show_bug.cgi?id=72676

        Reviewed by Eric Seidel.

        It looks like this cargo-cult started with initDNSPrefetch being hacked
        into setSecurityOrigin.  I've removed this hack along with the
        copy/paste code.

        * dom/DOMImplementation.cpp:
        * dom/Document.cpp:
        (WebCore::Document::setIsViewSource):
        (WebCore::Document::open):
        (WebCore::Document::initSecurityContext):
        (WebCore::Document::setSecurityOrigin):
        * dom/Document.h:
        * xml/XSLTProcessor.cpp:

2011-11-17  Peter Kasting  <pkasting@google.com>

        Unreviewed, rolling out r100676.
        http://trac.webkit.org/changeset/100676
        https://bugs.webkit.org/show_bug.cgi?id=72393

        Looks like r100572 was not the source of the crashes.

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::canSetScriptSource):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::stepOutOfFunction):
        (WebCore::ScriptDebugServer::canSetScriptSource):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/CodeGeneratorInspector.py:
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::getCapabilities):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype.enableDebugger):
        (WebInspector.DebuggerModel.prototype.disableDebugger):
        (WebInspector.DebuggerModel.prototype.canSetScriptSource):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
        * inspector/front-end/Settings.js:

2011-11-17  Konstantin Scheglov  <scheglov@google.com>

        Absolute child is not repainted when parent opacity changes
        https://bugs.webkit.org/show_bug.cgi?id=68777

        Reviewed by Simon Fraser.

        First time when we change opacity for parent we don't have layer, so
        diff=StyleDifferenceRepaint is used instead of diff=StyleDifferenceRepaintLayer.
        Layer is created later, in styleDidChange().
        So, when we recalculate later diff, we now check for diff=StyleDifferenceRepaintLayer and
        performs repaintIncludingDescendants().

        Test: fast/layers/layer-absolute-parent-opacity.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle): Call repaintIncludingDescendants() instead of repaint().
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff): Add ContextSensitivePropertyOpacity when change opacity.

2011-11-17  Nate Chapin  <japhet@chromium.org>

        r100311 dropped a RefPtr that is very
        helpful. Add it back.
        https://bugs.webkit.org/show_bug.cgi?id=72647

        Reviewed by Adam Barth.

        http/tests/misc/xslt-bad-import.html should
        stop crashing in full chromium builds.

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::loadDone):

2011-11-17  Adam Barth  <abarth@webkit.org>

        Refactor SecurityOrigin::create to be easier to understand
        https://bugs.webkit.org/show_bug.cgi?id=72342

        Reviewed by Eric Seidel.

        Over time, the SecurityOrigin constructor has grown a bit out of
        control.  This patch attempts to separate the different concerns into
        free functions.  The general approach is to put more logic in the
        "create" function and introduce a simple constructor for unique
        origins.

        This patch shouldn't change any behavior.

        * page/SecurityOrigin.cpp:
        (WebCore::schemeRequiresAuthority):
        (WebCore::shouldUseInnerURL):
        (WebCore::extractInnerURL):
        (WebCore::isDirectory):
        (WebCore::shouldTreatAsUniqueOrigin):
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::create):
        (WebCore::SecurityOrigin::createUnique):
        (WebCore::SecurityOrigin::databaseIdentifier):
        * page/SecurityOrigin.h:

2011-11-17  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Fix minor style nit in CCLayerImpl
        https://bugs.webkit.org/show_bug.cgi?id=71070

        Reviewed by James Robinson.

        Fixes if-statements on several settors to follow WebKit
        conventions. Existing CCLayerImplTest unit tests already cover
        this change.

        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::setBounds):
        (WebCore::CCLayerImpl::setMaskLayer):
        (WebCore::CCLayerImpl::setReplicaLayer):
        (WebCore::CCLayerImpl::setDrawsContent):
        (WebCore::CCLayerImpl::setAnchorPoint):
        (WebCore::CCLayerImpl::setAnchorPointZ):
        (WebCore::CCLayerImpl::setBackgroundColor):
        (WebCore::CCLayerImpl::setMasksToBounds):
        (WebCore::CCLayerImpl::setOpaque):
        (WebCore::CCLayerImpl::setOpacity):
        (WebCore::CCLayerImpl::setPosition):
        (WebCore::CCLayerImpl::setPreserves3D):
        (WebCore::CCLayerImpl::setZoomAnimatorTransform):
        (WebCore::CCLayerImpl::setSublayerTransform):
        (WebCore::CCLayerImpl::setTransform):
        (WebCore::CCLayerImpl::setDebugBorderColor):
        (WebCore::CCLayerImpl::setDebugBorderWidth):
        (WebCore::CCLayerImpl::setContentBounds):
        (WebCore::CCLayerImpl::setScrollPosition):
        (WebCore::CCLayerImpl::setScrollDelta):
        (WebCore::CCLayerImpl::setScaleDelta):
        (WebCore::CCLayerImpl::setDoubleSided):

2011-11-17  Michael Saboff  <msaboff@apple.com>

        Leaks seen in MemoryPressureHandlerMac.mm on Leaks bot
        https://bugs.webkit.org/show_bug.cgi?id=72416

        Added code to release _cache_event_source and _timer_event_source
        after they are canceled.  Also added defensive code to
        clean up the _timer_event_source in uninstall().

        Reviewed by Geoffrey Garen.

        No new tests, fixing leaks caught by leaks bot.

        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore::MemoryPressureHandler::uninstall):
        (WebCore::MemoryPressureHandler::holdOff):

2011-11-17  Ken Buchanan <kenrb@chromium.org>

        Crash from positioned generated content under run-in
        https://bugs.webkit.org/show_bug.cgi?id=70456

        Reviewed by David Hyatt.

        Modified handling of run-in children to clear generated children
        before removing the parent from the render tree. This caused problems
        with absolute positioned children being not properly removed from the
        positioned object list of the RenderView.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::handleRunInChild):

2011-11-17  Peter Kasting  <pkasting@google.com>

        Unreviewed, rolling out r100572.
        https://bugs.webkit.org/show_bug.cgi?id=72393
        https://bugs.webkit.org/show_bug.cgi?id=72651

        May have caused seg faults on Chromium Linux dbg bot.

        * bindings/js/ScriptDebugServer.cpp:
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::stepOutOfFunction):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/CodeGeneratorInspector.py:
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype.enableDebugger):
        (WebInspector.DebuggerModel.prototype.disableDebugger):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
        * inspector/front-end/Settings.js:

2011-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100652.
        http://trac.webkit.org/changeset/100652
        https://bugs.webkit.org/show_bug.cgi?id=72648

        "Caused outline-offset-min-assert.html to assert on debug
        builds" (Requested by mwenge2 on #webkit).

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline):

2011-11-17  Mark Rowe  <mrowe@apple.com>

        <http://webkit.org/b/72637> Stop performing runtime version checks on OS versions where the check can never possibly fail.

        Reviewed by Simon Fraser.

        * platform/graphics/cg/ImageBufferDataCG.cpp:
        (WebCore::haveVImageRoundingErrorFix): When not targeting Snow Leopard we always have the fix.

2011-11-17  Chris Fleizach  <cfleizach@apple.com>

        AX: The scrollArea is not correctly returning the scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=70247

        Reviewed by Beth Dakin.

        A few bugs that were preventing this from working.
           1) In accessibilityAttributeValue: when an element did not have a renderer() we were returning earlier than we should have
           2) We were not updating and clearing the scrollbars correctly when children were cleared or when asked for.

        Test: platform/mac/accessibility/scrollbars.html

        * accessibility/AccessibilityScrollView.cpp:
        (WebCore::AccessibilityScrollView::scrollBar):
        (WebCore::AccessibilityScrollView::clearChildren):
        * accessibility/AccessibilityScrollView.h:
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

2011-11-14  Adam Barth  <abarth@webkit.org>

        Unique origins shouldn't remember their scheme, host, or port
        https://bugs.webkit.org/show_bug.cgi?id=72308

        Reviewed by Eric Seidel.

        This patch contains the bulk (all?) of the behavior differences in this
        patch series.  Unique origins shouldn't remember their schemes.  Doing
        so causes some privileges (e.g., local access) to leak into unique
        origins.

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
            - Explicitly clear out the protocol, host, and port for unique
              origins.  A future patch will refactor all this code to be more
              elegant.
        * platform/SchemeRegistry.cpp:
        (WebCore::schemesWithUniqueOrigins):
            - Merge "about" and "javascript" in with the general case now that
              we don't have a separate notion of an empty origin.

2011-11-17  Chris Fleizach  <cfleizach@apple.com>

        AX: cleanup style and naming and code in accessibility search mechanism
        https://bugs.webkit.org/show_bug.cgi?id=72570

        Reviewed by Beth Dakin.

        Cleanup the naming and code style within the element searching mechanism.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
        (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
        (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
        (WebCore::AccessibilityObject::findMatchingObjects):
        * accessibility/AccessibilityObject.h:
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2011-11-17  Julien Chaffraix  <jchaffraix@webkit.org>

        CSS table with 100% width can overflow their containing block
        https://bugs.webkit.org/show_bug.cgi?id=72180

        Reviewed by David Hyatt.

        Tests: fast/table/table-in-table-percent-width-collapsing-border-quirks-mode.html
               fast/table/table-in-table-percent-width-collapsing-border.html
               fast/table/table-in-table-percent-width-quirks-mode.html
               fast/table/table-in-table-percent-width.html

        After r97555, we would include the borders in a CSS table's logical width even if the 'width'
        property was a percent. This does not match what Firefox and IE are doing. Thus don't apply
        this behavior to percent 'width'.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):

2011-11-17  Adrienne Walker  <enne@google.com>

        [chromium] Implicitly skip render surfaces that won't be drawn
        https://bugs.webkit.org/show_bug.cgi?id=71038

        Rather than having redundant checks in three places for how to walk
        through a render surface list, instead don't add render surfaces that
        don't need to get rendered to the render surface list.

        Reviewed by James Robinson.

        Covered by existing layout tests and unit tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):

2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Layer violation: qt_runtime.cpp accesses QWebElement and QTDRTNode
        https://bugs.webkit.org/show_bug.cgi?id=72595

        Reviewed by Noam Rosenthal.

        Removed QWebElement and QtDRTNode usage that reached from WebCore into
        WebKit/qt and replaced it with the ability to register custom JSValue
        conversion functions. The old code has been moved to WebKit/qt.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::QtInstance): Remove unnecessary meta type registration
        (now done in QtWebElementRuntime::initialize in WebKit/qt).
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::registerCustomType):
        (JSC::Bindings::convertValueToQVariant):
        (JSC::Bindings::convertQVariantToValue):
        * bridge/qt/qt_runtime.h:

2011-11-17  Fady Samuel  <fsamuel@chromium.org>

        Pass Aspect Ratio to RenderStyle
        https://bugs.webkit.org/show_bug.cgi?id=72350

        Reviewed by Ojan Vafai.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
        (WebCore::ApplyPropertyAspectRatio::applyValue):
        (WebCore::ApplyPropertyAspectRatio::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValue.h:
        (WebCore::CSSValue::isAspectRatioValue):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::hasAspectRatio):
        (WebCore::InheritedFlags::aspectRatio):
        (WebCore::InheritedFlags::aspectRatioDenominator):
        (WebCore::InheritedFlags::aspectRatioNumerator):
        (WebCore::InheritedFlags::setHasAspectRatio):
        (WebCore::InheritedFlags::setAspectRatioDenominator):
        (WebCore::InheritedFlags::setAspectRatioNumerator):
        (WebCore::InheritedFlags::initialHasAspectRatio):
        (WebCore::InheritedFlags::initialAspectRatioDenominator):
        (WebCore::InheritedFlags::initialAspectRatioNumerator):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2011-11-09  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: outline-color-* tests fail
        https://bugs.webkit.org/show_bug.cgi?id=71931

        Reviewed by Julien Chaffraix.

        WebKit wasn't displaying the top block in these tests because it did not paint the outline
        of divs with zero size.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline): paint the outline even when the block has zero size

2011-11-17  Sergio Villar Senin  <svillar@igalia.com>

        [GTK] plugins/get-url-notify-with-url-that-fails-to-load.html on bots after r100466
        https://bugs.webkit.org/show_bug.cgi?id=72613

        Reviewed by Martin Robinson.

        Do not assume that a SoupRequest always exists, it is not
        generated for example when the provided URL is
        invalid. ResourceHandle::platformSetDefersLoading was crashing
        because of that.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::platformSetDefersLoading):

2011-11-17  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Remove onlineDetectionEnabled from Preferences
        https://bugs.webkit.org/show_bug.cgi?id=72617

        Reviewed by Pavel Feldman.

        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView):
        (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
        * inspector/front-end/Settings.js:

2011-11-17  Ken Buchanan  <kenrb@chromium.org>

        Crash from nested tables with generated content
        https://bugs.webkit.org/show_bug.cgi?id=68811

        Reviewed by David Hyatt.

        When adding a child to a table that has generated content, this change
        ensures that we leave alone any generated content renderers that belong
        to descendants in the tree. They don't need to be touched, and doing so
        can create confusion about who the content belongs to.

        This patch also simplifies some existing code for finding pseudoelement
        renderers. 

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild):
        (WebCore::RenderObject::isBeforeAfterContentGeneratedByAncestor): Added
        * rendering/RenderObject.h:
        (WebCore::RenderObject::findAfterContentRenderer): Deleted
        (WebCore::RenderObject::findBeforeContentRenderer): Deleted
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
        (WebCore::RenderObjectChildList::afterPseudoElementRenderer):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild):

2011-11-17  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r94119.

        MSVC throws multiply defined symbols linker error when using local class in inline function.

        * bindings/js/JSDictionary.h:
        (WebCore::JSDictionary::IdentitySetter::identitySetter):
        (WebCore::JSDictionary::tryGetProperty):

2011-11-17  Eric Carlson  <eric.carlson@apple.com>

        TextTrackList not sorted correctly
        https://bugs.webkit.org/show_bug.cgi?id=72545

        Reviewed by Darin Adler.

        Test: media/track/track-texttracks.html

        * WebCore.xcodeproj/project.pbxproj: Add TextTrack.h to WebCore private headers because 
            it is included by HTMLMediaElement.h.
        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::LoadableTextTrack): Pass track type to base class constructor.
        (WebCore::LoadableTextTrack::trackElementIndex): New, return the <track> element's tree order
            for sorting.
        * html/LoadableTextTrack.h:

        * html/TextTrack.cpp:
        (WebCore::TextTrack::TextTrack): Set track type.
        * html/TextTrack.h:
        (WebCore::TextTrack::create): Ditto.
        (WebCore::TextTrack::trackType): Ditto.

        * html/track/TextTrackList.cpp:
        (TextTrackList::length): Update to deal with two TextTrack vectors.
        (TextTrackList::item): Ditto.
        (TextTrackList::append): Ditto.
        (TextTrackList::remove): Ditto
        * html/track/TextTrackList.h: Store the two types of TextTracks in separate Vectors to make
            it simpler to keep them in the correct order.

2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Layer violation: WebCore::dnsPrefetch uses QWebSettings::globalSettings()
        https://bugs.webkit.org/show_bug.cgi?id=72596

        Reviewed by Kenneth Rohde Christiansen.

        We don't need to use QWebSettings here, because we now propagate the DNS prefetch
        setting to WebCore::Settings and the rest of WebCore checks the setting before calling
        WebCore::prefetchDNS.

        * platform/network/qt/DnsPrefetchHelper.cpp:
        (WebCore::prefetchDNS): Removed the use of QWebSettings.
        * platform/network/qt/DnsPrefetchHelper.h: Remove offending qwebsettings.h inclusion.

2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Layer violation: Image::loadPlatformResource uses QWebSettings::webGraphic
        https://bugs.webkit.org/show_bug.cgi?id=72594

        Reviewed by Kenneth Rohde Christiansen.

        Move the cache for the resource pixmaps into ImageQt.cpp.

        * platform/graphics/Image.h: Add Qt specific setter for resource pixmaps.
        * platform/graphics/qt/ImageQt.cpp: Moved resource pixmap hash from qwebsettings.
        (earlyClearGraphics):
        (graphics):
        (loadResourcePixmap):
        (WebCore::Image::setPlatformResource):

2011-11-17  Zeno Albisser  <zeno@webkit.org>

        [Qt][WK2] Touch/Mouse events are delivered with wrong coordinates.
        https://bugs.webkit.org/show_bug.cgi?id=72604

        When using the QtViewportInterationEngine for zooming/panning,
        no additional scroll offset should be applied to input events
        by the ScrollView.

        This patch is based on work by Andreas Kling.

        Reviewed by Kenneth Rohde Christiansen.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::windowToContents):
        (WebCore::ScrollView::contentsToWindow):

2011-11-17  Ben Murdoch  <benm@google.com>

        Unreviewed build fix.

        Fix the Windows builds by adding WorkerEventQueue.cpp|h to the
        vcproj. Build break was introduced in
        https://bugs.webkit.org/show_bug.cgi?id=72528

        * WebCore.vcproj/WebCore.vcproj: Add missing files.

2011-11-17  Mihnea Ovidenie  <mihnea@adobe.com>

        CSS Exclusions: parse the wrap-margin and wrap-padding properties
        https://bugs.webkit.org/show_bug.cgi?id=71900

        Reviewed by Dean Jackson.

        Tests: fast/exclusions/wrap-margin-parsing.html
               fast/exclusions/wrap-padding-parsing.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::isSimpleLengthPropertyID):
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::wrapPadding):
        (WebCore::InheritedFlags::setWrapPadding):
        (WebCore::InheritedFlags::initialWrapPadding):
        (WebCore::InheritedFlags::wrapMargin):
        (WebCore::InheritedFlags::setWrapMargin):
        (WebCore::InheritedFlags::initialWrapMargin):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2011-11-17  Kenichi Ishibashi  <bashi@chromium.org>

        [chromium] don't call fontconfig twice in complex text path
        https://bugs.webkit.org/show_bug.cgi?id=38701

        Adds a new API for getting font family. For now, FontCacheLinux calls the new API, but don't use additional properties for compatibility. The old API will be removed when Chromium is ready to use new API.

        Reviewed by Tony Chang.

        No new tests. No behavior changes for now.

        * platform/chromium/PlatformSupport.h: Added FontFamily struct and changed the declaration of getFontFamilyForCharacters().
        * platform/graphics/chromium/FontCacheLinux.cpp:
        (WebCore::FontCache::getFontDataForCharacters): Uses new PlatformSupport::getFontFamilyForCharacters().
        * platform/graphics/chromium/FontPlatformDataLinux.h:
        (WebCore::FontPlatformData::setFakeBold): Added.
        (WebCore::FontPlatformData::setFakeItalic): Added.

2011-11-17  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Consider parent AtkObject in webkit_accessible_get_parent(), if already set
        https://bugs.webkit.org/show_bug.cgi?id=72525

        Reviewed by Xan Lopez.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_parent): Call to the implementation of
        atk_object_get_parent in AtkObject class to check whether a parent
        AtkObject has been previously set, before trying to find one.

2011-11-17  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: fix IE user agents strings in the inspector.

        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):

2011-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Make use-fixed-layout work reliable
        https://bugs.webkit.org/show_bug.cgi?id=72511

        Reviewed by Simon Hausmann.

        Always send a viewport update per page load as we depend on that,
        to reset all viewport handling before doing layout.

        * page/Page.cpp:
        (WebCore::Page::updateViewportArguments):

2011-11-16  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: inspector follows javascript: hrefs as relative
        https://bugs.webkit.org/show_bug.cgi?id=72373

        javascript: hrefs should never be linkified for security.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
        * inspector/front-end/ResourceUtils.js:
        (WebInspector.completeURL):

2011-11-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix 32bit builds.

        * platform/ClockGeneric.cpp:
        (ClockGeneric::now): Use narrowPrecisionToFloat.
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::build): Use it correctly.

2011-11-17  Dominic Mazzoni  <dmazzoni@google.com>

        Accessibility: Chromium requires an AX notification when an iframe loads.
        https://bugs.webkit.org/show_bug.cgi?id=72239

        When a document finishes loading, we were sending an AXLoadComplete if it
        was the top document. Now, if it's a document in an iframe, send an
        AXLayoutComplete on the iframe.

        Reviewed by Chris Fleizach.

        Test: accessibility/loading-iframe-sends-notification.html

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):

2011-11-16  Mark Rowe  <mrowe@apple.com>

        <http://webkit.org/b/72574> Remove unnecessary use of CarbonCore APIs from Audio code

        Reviewed by Andy Estes.

        * platform/audio/mac/AudioDestinationMac.cpp:
        (WebCore::AudioDestinationMac::AudioDestinationMac): Switch from using the Carbon Component Manager
        to using AudioUnit's own component interface.
        (WebCore::AudioDestinationMac::~AudioDestinationMac): Ditto.
        * platform/audio/mac/AudioFileReaderMac.cpp:
        (WebCore::AudioFileReader::AudioFileReader): Remove an unncessary trip through the Carbon File Manager
        when converting a char* path to a CFURLRef representing the same.

2011-11-17  Adam Barth  <abarth@webkit.org>

        CSP report-only mode doesn't work from an HTTP header
        https://bugs.webkit.org/show_bug.cgi?id=71958

        Reviewed by Eric Seidel.

        "It's tested or it's broken." -- Adam Leventhal

        Test: http/tests/security/contentSecurityPolicy/report-only-from-header.php

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didBeginDocument):

2011-11-15  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: introduce Debugger domain capabilities concept.
        https://bugs.webkit.org/show_bug.cgi?id=72393

        Many of the Preferences that we have in Settings.js and override in DevTools.js
        are really not preferences, but capabilities. Protocol clients should have a way
        of figuring out whether some capability is present before using it.

        Reviewed by Yury Semikhatsky.

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::canSetScriptSource):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::canSetScriptSource):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/CodeGeneratorInspector.py:
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::getCapabilities):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype.enableDebugger):
        (WebInspector.DebuggerModel.prototype.canSetScriptSource):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
        * inspector/front-end/Settings.js:

2011-11-17  Mihnea Ovidenie  <mihnea@adobe.com>

        CSS exclusions: parse the wrap-flow and wrap-through properties
        https://bugs.webkit.org/show_bug.cgi?id=71904

        Reviewed by Dean Jackson.

        Tests: fast/exclusions/wrap-flow-parsing.html
               fast/exclusions/wrap-through-parsing.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator WrapFlow):
        (WebCore::CSSPrimitiveValue::operator WrapThrough):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::wrapFlow):
        (WebCore::InheritedFlags::wrapThrough):
        (WebCore::InheritedFlags::setWrapFlow):
        (WebCore::InheritedFlags::setWrapThrough):
        (WebCore::InheritedFlags::initialWrapFlow):
        (WebCore::InheritedFlags::initialWrapThrough):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2011-11-16  Dean Jackson  <dino@apple.com>

        Implement filter function shorthands
        https://bugs.webkit.org/show_bug.cgi?id=68475

        Reviewed by Simon Fraser.

        Implement the shorthand functions for filter effects.
        This includes grayscale, sepia, invert, hue-rotate, saturate,
        opacity, gamma, drop-shadow and blur. At the moment sharpen
        and url are not supported.

        CSSParser needed to be updated because it was mistakenly
        clamping saturation values to [0,1]. Any positive number
        is allowed so you can produce super-saturated images.

        The biggest change was the API to FilterEffectRenderer. It now
        builds a list of effects and applies the filter itself.

        Note that the drop-shadow and blur operations don't yet
        provide accurate results because they produce an output image
        that is larger than the input. See
        https://bugs.webkit.org/show_bug.cgi?id=71929
        https://bugs.webkit.org/show_bug.cgi?id=71930

        While I was there, I fixed a small style issue in
        CustomFilterOperation.

        Tests: css3/filters/effect-blur.html
               css3/filters/effect-combined.html
               css3/filters/effect-drop-shadow.html
               css3/filters/effect-gamma.html
               css3/filters/effect-grayscale.html
               css3/filters/effect-hue-rotate.html
               css3/filters/effect-invert.html
               css3/filters/effect-opacity.html
               css3/filters/effect-saturate.html
               css3/filters/effect-sepia.html

        * WebCore.xcodeproj/project.pbxproj: Add StyleShader.h to
        the project (missing from earlier commit).
        * css/CSSParser.cpp:
        (WebCore::CSSParser::isValidFilterArgument): Don't clamp
        saturate to [0,1]
        * platform/graphics/filters/CustomFilterOperation.h:
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::endMatrixRow):
        (WebCore::lastMatrixRow):
        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::inputContext):
        (WebCore::FilterEffectRenderer::build):
        (WebCore::FilterEffectRenderer::prepare):
        (WebCore::FilterEffectRenderer::apply):
        * rendering/FilterEffectRenderer.h:
        (WebCore::FilterEffectRenderer::setSourceImageRect):
        (WebCore::FilterEffectRenderer::output):
        (WebCore::FilterEffectRenderer::setMaxEffectRects):
        (WebCore::FilterEffectRenderer::lastEffect):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
        (WebCore::RenderLayer::updateFilterBackingStore):

2011-11-16  Kentaro Hara  <haraken@chromium.org>

        Remove all custom constructors of Events from JSC
        https://bugs.webkit.org/show_bug.cgi?id=72577

        Reviewed by Adam Barth.

        - Makes CodeGeneratorJS.pm generate Event constructors
        if [ConstructorTemplate=Event] IDL is specified.
        - Removes EventConstructors.h and JSEventConstructors.cpp.
        - Replaces all JSC custom constructors of Events
        with the generated code by [ConstructorTemplate=Event] IDL.

        Tests: fast/events/constructors/before-load-event-constructor.html
               fast/events/constructors/close-event-constructor.html
               fast/events/constructors/custom-event-constructor.html
               fast/events/constructors/error-event-constructor.html
               fast/events/constructors/event-constructors.html
               fast/events/constructors/hash-change-event-constructor.html
               fast/events/constructors/message-event-constructor.html
               fast/events/constructors/overflow-event-constructor.html
               fast/events/constructors/page-transition-event-constructor.html
               fast/events/constructors/pop-state-event-constructor.html
               fast/events/constructors/progress-event-constructor.html
               fast/events/constructors/track-event-constructor.html
               fast/events/constructors/webkit-animation-event-constructor.html
               fast/events/constructors/webkit-transition-event-constructor.html

        * bindings/generic/EventConstructors.h: Removed. This is what we wanted to do in this patch.
        * bindings/js/JSEventConstructors.cpp: Ditto.
        * GNUmakefile.list.am: Removed EventConstructors.h and JSEventConstructors.cpp.
        * Target.pri: Ditto.
        * UseJSC.cmake: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader): Added JSDictionary.h.
        (GenerateConstructorDeclaration): Added a header for fillXXXXEventInit(...).
        (GenerateConstructorDefinition): Generates an Event constructor. The generated code is the same as the code that had been written in JSEventConstructors.cpp.
        (IsConstructable): Judges if a given interface is constructable.
        (IsConstructorTemplate): Judges if a given interface has a given template, e.g. judges if an interface has [ConstructorTemplate=Event].

        * bindings/scripts/test/TestEventConstructor.idl: Changed 'CustomConstructor=Event' to 'ConstructorTemplate=Event'. We should have changed this in r100108.
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Updated a run-bindings-tests result.
        (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
        (WebCore::fillTestEventConstructorInit):
        * bindings/scripts/test/JS/JSTestEventConstructor.h: Ditto.
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Ditto.
        (WebCore::V8TestEventConstructor::constructorCallback):
        (WebCore::fillTestEventConstructorInit):
        * bindings/scripts/test/V8/V8TestEventConstructor.h: Ditto.

        * dom/BeforeLoadEvent.idl: In essence, replaced [JSCustomConstructor] IDL with [JSConstructorTemplate=Event] IDL.
        * dom/CustomEvent.idl: Ditto.
        * dom/ErrorEvent.idl: Ditto.
        * dom/Event.idl: Ditto.
        * dom/HashChangeEvent.idl: Ditto.
        * dom/MessageEvent.idl: Ditto.
        * dom/OverflowEvent.idl: Ditto.
        * dom/PageTransitionEvent.idl: Ditto.
        * dom/PopStateEvent.idl: Ditto.
        * dom/ProgressEvent.idl: Ditto.
        * dom/WebKitAnimationEvent.idl: Ditto.
        * dom/WebKitTransitionEvent.idl: Ditto.
        * html/track/TrackEvent.idl: Ditto.
        * websockets/CloseEvent.idl: Ditto.

2011-11-16  Dean Jackson  <dino@apple.com>

        Build fix for Apple WebKit due to r100560.
        When I removed the violating header file it lost the
        reference to Color.

        No review.

        * platform/graphics/filters/FilterOperation.h:

2011-11-16  Dean Jackson  <dino@apple.com>

        DropShadowFilterOperation violates platform isolation
        https://bugs.webkit.org/show_bug.cgi?id=72544

        Reviewed by Simon Fraser.

        Move ShadowData properties into the DropShadowFilterOperation
        to avoid depending on something outside platform.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createFilterOperations):
        * platform/graphics/filters/FilterOperation.h:
        (WebCore::DropShadowFilterOperation::create):
        (WebCore::DropShadowFilterOperation::x):
        (WebCore::DropShadowFilterOperation::y):
        (WebCore::DropShadowFilterOperation::stdDeviation):
        (WebCore::DropShadowFilterOperation::color):
        (WebCore::DropShadowFilterOperation::operator==):
        (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):

2011-11-16  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Use a simple page client for user consent in getUserMedia()
        https://bugs.webkit.org/show_bug.cgi?id=70897

        Reviewed by Adam Barth.

        This is one in a series of patches that update the MediaStream feature
        to use WebCore platform interfaces.

        Covered by existing tests.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * mediastream/MediaStreamClient.h: Removed.
        * mediastream/MediaStreamController.cpp: Removed.
        * mediastream/MediaStreamController.h: Removed.
        * mediastream/MediaStreamFrameController.cpp: Removed.
        * mediastream/MediaStreamFrameController.h: Removed.
        * mediastream/UserMediaClient.h: Added.
        (WebCore::UserMediaClient::~UserMediaClient):
        * mediastream/UserMediaRequest.cpp: Added.
        (WebCore::UserMediaRequest::create):
        (WebCore::UserMediaRequest::UserMediaRequest):
        (WebCore::UserMediaRequest::~UserMediaRequest):
        (WebCore::UserMediaRequest::start):
        (WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
        (WebCore::UserMediaRequest::succeed):
        (WebCore::UserMediaRequest::fail):
        (WebCore::UserMediaRequest::contextDestroyed):
        (WebCore::UserMediaRequest::parseOptions):
        * mediastream/UserMediaRequest.h: Added.
        (WebCore::UserMediaRequest::audio):
        (WebCore::UserMediaRequest::video):
        (WebCore::UserMediaRequest::cameraPreferenceUser):
        (WebCore::UserMediaRequest::cameraPreferenceEnvironment):
        (WebCore::UserMediaRequest::successCallback):
        (WebCore::UserMediaRequest::errorCallback):
        * page/CallbackTask.h: Removed.
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::~Frame):
        (WebCore::Frame::pageDestroyed):
        (WebCore::Frame::transferChildFrameToNewDocument):
        * page/Frame.h:
        * page/Navigator.cpp:
        (WebCore::Navigator::webkitGetUserMedia):
        * page/NavigatorUserMediaErrorCallback.h:
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::~Page):
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        (WebCore::Page::userMediaClient):

2011-11-16  David Grogan  <dgrogan@chromium.org>

        instantiate WorkerEventQueue in WorkerContext
        https://bugs.webkit.org/show_bug.cgi?id=72528

        Reviewed by David Levin.

        No new tests - nothing uses it yet.

        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::WorkerContext):
        Instantiate WorkerEventQueue in InitializerList

        * workers/WorkerEventQueue.h:
        Don't inherit from RefCounted, WorkerContext has an OwnPtr to it

2011-11-16  Kentaro Hara  <haraken@chromium.org>

        Unreviewed. Rebaselined run-bindings-tests results.

        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::JSTestEventConstructor::JSTestEventConstructor):
        (WebCore::JSTestEventConstructorOwner::finalize):
        * bindings/scripts/test/JS/JSTestEventConstructor.h:
        (WebCore::JSTestEventConstructor::impl):
        (WebCore::JSTestEventConstructor::releaseImpl):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterface::JSTestInterface):
        (WebCore::JSTestInterfaceOwner::finalize):
        * bindings/scripts/test/JS/JSTestInterface.h:
        (WebCore::JSTestInterface::impl):
        (WebCore::JSTestInterface::releaseImpl):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
        (WebCore::JSTestMediaQueryListListenerOwner::finalize):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
        (WebCore::JSTestMediaQueryListListener::impl):
        (WebCore::JSTestMediaQueryListListener::releaseImpl):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
        (WebCore::JSTestNamedConstructorOwner::finalize):
        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
        (WebCore::JSTestNamedConstructor::impl):
        (WebCore::JSTestNamedConstructor::releaseImpl):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObj::JSTestObj):
        (WebCore::JSTestObjOwner::finalize):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore::JSTestObj::impl):
        (WebCore::JSTestObj::releaseImpl):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
        (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        (WebCore::JSTestSerializedScriptValueInterface::impl):
        (WebCore::JSTestSerializedScriptValueInterface::releaseImpl):

2011-11-16  Jay Civelli  <jcivelli@chromium.org>

        Make sure MHTML documents use the domain of the MHTML file.
        https://bugs.webkit.org/show_bug.cgi?id=72445

        Reviewed by Adam Barth.

        * dom/Document.h:
        (WebCore::Document::setBaseURL):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::receivedFirstData):

2011-11-16  Julien Chaffraix  <jchaffraix@webkit.org>

        Update supported display list after -webkit-grid and -webkit-inline-grid addition
        https://bugs.webkit.org/show_bug.cgi?id=72559

        Reviewed by Tony Chang.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Added the 2 new supported
        values (forgotten in the previous change).

2011-11-11  Adrienne Walker  <enne@google.com>

        [chromium] Expose mock scrollbars to window.internals
        https://bugs.webkit.org/show_bug.cgi?id=72195

        Reviewed by James Robinson.

        * testing/Internals.cpp:
        (WebCore::Internals::setMockScrollbarsEnabled):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-11-16  Michael Nordman  <michaeln@google.com>

        ApplicationCache manifest should work with any MIME type.
        https://bugs.webkit.org/show_bug.cgi?id=72082

        Reviewed by Alexey Proskuryakov.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Remove the test for a particular type.

2011-11-16  Daniel Sievers  <sievers@chromium.org>

        [Chromium] Avoid color mask operations for root layers
        https://bugs.webkit.org/show_bug.cgi?id=72452

        Instead of relying on the combination of clearing the surface and initializing
        the alpha channel to 1.0 followed by disabling alpha in the color mask when
        rendering the root layer tiles, add shaders to support writing out opaque layers
        (alpha channel values written as 1.0).

        Reviewed by James Robinson.

        No functional change made that requires new tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersInternal):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::tilerProgramOpaque):
        (WebCore::LayerRendererChromium::tilerProgramOpaqueAA):
        (WebCore::LayerRendererChromium::tilerProgramSwizzleOpaque):
        (WebCore::LayerRendererChromium::tilerProgramSwizzleOpaqueAA):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/ShaderChromium.cpp:
        (WebCore::FragmentTexOpaqueBinding::FragmentTexOpaqueBinding):
        (WebCore::FragmentTexOpaqueBinding::init):
        (WebCore::FragmentShaderRGBATexOpaque::getShaderString):
        (WebCore::FragmentShaderRGBATexSwizzleOpaque::getShaderString):
        (WebCore::FragmentTexClampOpaqueAABinding::FragmentTexClampOpaqueAABinding):
        (WebCore::FragmentTexClampOpaqueAABinding::init):
        (WebCore::FragmentShaderRGBATexClampOpaqueAA::getShaderString):
        (WebCore::FragmentShaderRGBATexClampSwizzleOpaqueAA::getShaderString):
        * platform/graphics/chromium/ShaderChromium.h:
        (WebCore::FragmentTexOpaqueBinding::alphaLocation):
        (WebCore::FragmentTexOpaqueBinding::samplerLocation):
        (WebCore::FragmentTexClampOpaqueAABinding::alphaLocation):
        (WebCore::FragmentTexClampOpaqueAABinding::samplerLocation):
        (WebCore::FragmentTexClampOpaqueAABinding::fragmentTexTransformLocation):
        (WebCore::FragmentTexClampOpaqueAABinding::edgeLocation):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::draw):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:

2011-11-16  Tim Horton  <timothy_horton@apple.com>

        Implement CSS3 Images cross-fade() image function
        https://bugs.webkit.org/show_bug.cgi?id=52162
        <rdar://problem/10209254>

        Reviewed by Simon Fraser.

        Render -webkit-cross-fade. Only cross-fades entirely composed of images will render for now,
        cross-fades involving generated images are not yet implemented.

        Reorganize GeneratedImage to be the base class for GeneratorGeneratedImage and CrossfadeGeneratedImage.

        Add a pending state to CSSImageGeneratorValue, which is used to enable the pending-images loading
        mechanism for -webkit-cross-fade's sub-images. Rework the logic in CSSStyleSelector to support pending
        generated images.
        
        Support parsing fractional values for the cross-fade amount (for example, 0.5 = 50%). Clamp cross-fade
        amount to 0-1 range.

        Tests: css3/images/cross-fade-invalidation.html
               css3/images/cross-fade-simple.html
               css3/images/cross-fade-sizing.html
               css3/images/cross-fade-tiled.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSCanvasValue.h:
        (WebCore::CSSCanvasValue::isPending):
        (WebCore::CSSCanvasValue::loadSubimages):
        * css/CSSCrossfadeValue.cpp:
        (WebCore::CSSCrossfadeValue::isPending):
        (WebCore::CSSCrossfadeValue::loadSubimages):
        (WebCore::subimageIsPending):
        (WebCore::loadSubimage):
        (WebCore::cachedImageForCSSValue):
        (WebCore::CSSCrossfadeValue::image):
        (WebCore::CSSCrossfadeValue::crossfadeChanged):
        * css/CSSCrossfadeValue.h:
        (WebCore::CSSCrossfadeValue::create):
        (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
        (WebCore::CSSCrossfadeValue::fixedSize):
        (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
        (WebCore::CSSCrossfadeValue::CrossfadeObserverProxy::CrossfadeObserverProxy):
        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::image):
        * css/CSSGradientValue.h:
        (WebCore::CSSGradientValue::isPending):
        (WebCore::CSSGradientValue::loadSubimages):
        * css/CSSImageGeneratorValue.cpp:
        (WebCore::CSSImageGeneratorValue::generatedOrPendingImage):
        (WebCore::CSSImageGeneratorValue::generatedImage):
        (WebCore::CSSImageGeneratorValue::isPending):
        (WebCore::CSSImageGeneratorValue::loadSubimages):
        * css/CSSImageGeneratorValue.h:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseCrossfade):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleImage):
        (WebCore::CSSStyleSelector::generatedOrPendingFromValue):
        (WebCore::CSSStyleSelector::loadPendingImage):
        (WebCore::CSSStyleSelector::loadPendingImages):
        * css/CSSStyleSelector.h:
        * platform/graphics/BitmapImage.h:
        * platform/graphics/CrossfadeGeneratedImage.cpp: Added.
        (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
        (WebCore::CrossfadeGeneratedImage::~CrossfadeGeneratedImage):
        (WebCore::CrossfadeGeneratedImage::drawCrossfade):
        (WebCore::CrossfadeGeneratedImage::draw):
        (WebCore::CrossfadeGeneratedImage::drawPattern):
        (WebCore::CrossfadeGeneratedImage::imageChanged):
        * platform/graphics/CrossfadeGeneratedImage.h: Added.
        (WebCore::CrossfadeGeneratedImage::create):
        (WebCore::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
        (WebCore::CrossfadeSubimageObserverProxy::setReady):
        * platform/graphics/GeneratedImage.h:
        (WebCore::GeneratedImage::GeneratedImage):
        * platform/graphics/GeneratorGeneratedImage.cpp: Renamed from Source/WebCore/platform/graphics/GeneratedImage.cpp.
        (WebCore::GeneratorGeneratedImage::draw):
        (WebCore::GeneratorGeneratedImage::drawPattern):
        (WebCore::GeneratedImage::computeIntrinsicDimensions):
        * platform/graphics/GeneratorGeneratedImage.h: Copied from Source/WebCore/platform/graphics/GeneratedImage.h.
        (WebCore::GeneratorGeneratedImage::create):
        (WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
        (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
        * platform/graphics/Image.h:
        * platform/graphics/ImageBuffer.h:
        * rendering/style/StylePendingImage.h:
        (WebCore::StylePendingImage::create):
        (WebCore::StylePendingImage::data):
        (WebCore::StylePendingImage::cssImageValue):
        (WebCore::StylePendingImage::cssImageGeneratorValue):
        (WebCore::StylePendingImage::StylePendingImage):


2011-11-16  Dan Bernstein  <mitz@apple.com>

        WebCore part of <rdar://problem/10262242> Add API for paginated display
        https://bugs.webkit.org/show_bug.cgi?id=72537

        Reviewed by Anders Carlsson.

        * WebCore.exp.in: Exported Page::pageCount().
        * page/Page.cpp:
        (WebCore::Page::pageCount): Added this getter.
        * page/Page.h:

2011-11-16  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Track property changes for render surfaces.
        https://bugs.webkit.org/show_bug.cgi?id=72521

        Reviewed by James Robinson.

        Created CCRenderSurfaceTest for testing.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::resetPropertyChangedFlagForSubtree):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::CCRenderSurface):
        (WebCore::CCRenderSurface::setClipRect):
        (WebCore::CCRenderSurface::setContentRect):
        (WebCore::CCRenderSurface::surfacePropertyChanged):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (WebCore::CCRenderSurface::resetPropertyChangedFlag):

2011-11-16  Ben Wells  <benwells@chromium.org>

        Seaming on border corners with mixed colour alpha borders
        https://bugs.webkit.org/show_bug.cgi?id=70471

        Reviewed by Simon Fraser.

        Seaming is fixed by antialiasing mitred corners for edges that have alpha and are joining
        a side that is of a different color.

        Test: fast/borders/border-mixed-alpha.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::colorNeedsAntiAliasAtCorner):
        (WebCore::RenderBoxModelObject::paintOneBorderSide):

2011-11-16  Sam Weinig  <sam@webkit.org>

        JS wrappers of DOM objects should have no-op constructors
        https://bugs.webkit.org/show_bug.cgi?id=72556

        Reviewed by Geoffrey Garen.

        Stop using a RefPtr to hold DOM objects contained by JavaScript
        wrappers and instead use a raw pointer. We were already releasing
        the underlying object before the destructor ran (via the finalizer)
        so the default behavior of destroying the RefPtr is always unnecessary
        busy work. 

        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::JSCSSValueOwner::finalize):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNodeOwner::finalize):
        (WebCore::JSNode::visitChildren):
        Call releaseImpl() instead of clearImpl().

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        Stop storing m_impl in a RefPtr and instead use a raw pointer. Switch
        clearImpl() to releaseImpl(), which explicitly derefs the pointer and
        clear it.

        (GenerateImplementation):
        Use leakPtr() to explicitly adopt the PassRefPtr into the raw pointer.
        Change default finalize to call releaseImpl() instead of clearImpl().

2011-11-16  Michael Saboff  <msaboff@apple.com>

        Enable 8 Bit Strings in JavaScriptCore
        https://bugs.webkit.org/show_bug.cgi?id=71337

        This patch turns on 8 bit strings in StringImpl and enables
        their use in JavaScriptCore. Some of the changes are to
        turn on code that had been staged (Lexer.cpp, Identifier.cpp,
        SmallStrings.cpp and some of StringImpl.{h,cpp}).
        Other changes are minor fixes to make 8 bit strings work
        (UString.h, StringImpl::getData16SlowCase()).
        Changed StringBuffer to be a templated class based on character
        type.  This change riplled into WebCore code as well.

        Reviewed by Geoffrey Garen.

        No new tests - Changes in response to refactoring StringBuffer to
        be a template on character type.

        * css/CSSParser.cpp:
        (WebCore::quoteCSSString):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::formatNumber):
        * dom/Document.cpp:
        (WebCore::canonicalizedTitle):
        * platform/Length.cpp:
        (WebCore::newCoordsArray):
        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::prepare):
        * platform/text/TextCodecUTF16.cpp:
        (WebCore::TextCodecUTF16::decode):
        * platform/text/TextCodecUTF8.cpp:
        (WebCore::TextCodecUTF8::decode):
        * rendering/RenderText.cpp:
        (WebCore::makeCapitalized):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::writeToStringBuilder):

2011-11-16  Alexandre Elias  <aelias@google.com>

        [chromium] Improvements for page scale delta during commit
        https://bugs.webkit.org/show_bug.cgi?id=72471

        Reviewed by James Robinson.

        Page scale now follows the same commit flow as scroll position:
        the delta is folded into m_pageScale at BFAC time, and a "sent" value
        is preserved for temporary use until the commit finishes.

        I also merged setPageScaleFactor and setPageScaleFactorLimits into one
        function on the impl side.  The reason is that setPageFactor must
        be applied after the limits are updated, but on the other hand setting
        the limits first may cause an unnecessary clamp of the scale delta.
        Merging the methods avoids this bind.

        No new tests. (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::applyScrollAndScale):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
        (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
        (WebCore::CCLayerTreeHostImpl::setScaleDelta):
        (WebCore::CCLayerTreeHostImpl::applyScaleDeltaToScrollLayer):
        (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

2011-11-16  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Reduce nested key depth threshold, re-enable flaky test
        https://bugs.webkit.org/show_bug.cgi?id=72529

        Reviewed by Adam Barth.

        Drop maximum array key depth from 20k to 2k.

        * bindings/v8/IDBBindingUtilities.cpp:

2011-11-16  Nate Chapin  <japhet@chromium.org>

        Fix incorrect multipart handling in r100311.
        SubresourceLoader::didReceiveData() is getting called
        twice, which has unintended side effects.
        https://bugs.webkit.org/show_bug.cgi?id=72436

        Reviewed by Adam Barth.

        http/tests/multipart/invalid-image-data.html should stop
        asserting after this.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didReceiveResponse):
        (WebCore::SubresourceLoader::didReceiveData):
        (WebCore::SubresourceLoader::sendDataToResource):
        * loader/SubresourceLoader.h:

2011-11-16  Justin Schuh  <jschuh@chromium.org>

        Clear SVG filter client when its node is detached
        https://bugs.webkit.org/show_bug.cgi?id=71741

        Reviewed by Eric Seidel.

        Test: svg/filters/reparent-animated-filter-target.html

        * rendering/svg/SVGResourcesCache.cpp:
        (WebCore::SVGResourcesCache::clientDestroyed):

2011-11-16  John Bates  <jbates@google.com>

        Page/layer flashes after GPU-accelerated CSS transition
        https://bugs.webkit.org/show_bug.cgi?id=72343

        LayerRendererChromium was resizing the window to 1x1 at initialization.
        In some cases, there is no drawLayers before switching back to
        software rendering. This left the window resized to 1x1 and the
        following software paints would therefore not be visible. This change
        moves the reshape call into drawLayers so that it will only be called
        if rendering will occur.

        Reviewed by James Robinson.

        New test: CCLayerTreeHostImplTest.reshapeNotCalledUntilDraw.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::viewportChanged):
        (WebCore::LayerRendererChromium::doViewportChanged):
        (WebCore::LayerRendererChromium::drawLayersInternal):
        * platform/graphics/chromium/LayerRendererChromium.h:

2011-11-16  Alexandre Elias  <aelias@google.com>

        [chromium] Add null pointer check in setDeviceScaleFactor
        https://bugs.webkit.org/show_bug.cgi?id=72464

        Reviewed by James Robinson.

        No new tests. (Tiny fix.)

        * page/Page.cpp:
        (WebCore::Page::setDeviceScaleFactor):

2011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100438.
        http://trac.webkit.org/changeset/100438
        https://bugs.webkit.org/show_bug.cgi?id=72536

        Broke unit tests (Requested by jamesr_ on #webkit).

        * platform/PlatformScreen.h:
        * platform/chromium/PlatformScreenChromium.cpp:
        * platform/chromium/PlatformSupport.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::initializeImplOnImplThread):

2011-11-16  Andy Estes  <aestes@apple.com>

        Assertion failure in LayerFlushScheduler::resume() when running some layout tests in WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=72535

        Reviewed by Anders Carlsson.

        LayerFlushScheduler attempted to use a counter strategy for calls to
        suspend() and resume(), which allowed us to assert that these calls
        were balanced. Unfortunately it is hard to guarantee this in WebKit2,
        where we sometimes try to call suspend() before we've entered
        compositing mode (hence before we have a LayerTreeHost and a
        LayerFlushScheduler). When we later call resume(), this call ends up
        being unbalanced and asserts.

        For now, remove the assertions and allow unbalanced calls to suspend()
        and resume().

        * platform/graphics/ca/LayerFlushScheduler.cpp:
        (WebCore::LayerFlushScheduler::suspend):
        (WebCore::LayerFlushScheduler::resume):
        * platform/graphics/ca/LayerFlushScheduler.h:
        * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
        (WebCore::LayerFlushScheduler::LayerFlushScheduler):
        (WebCore::LayerFlushScheduler::runLoopObserverCallback):
        (WebCore::LayerFlushScheduler::schedule):

2011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100473.
        http://trac.webkit.org/changeset/100473
        https://bugs.webkit.org/show_bug.cgi?id=72534

        "Broke the Mac Build" (Requested by mwenge2 on #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        (WebCore::RenderObject::addChild):
        * rendering/RenderObject.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild):
        * rendering/RenderTable.h:
        * rendering/RenderTableCaption.cpp: Removed.
        * rendering/RenderTableCaption.h: Removed.

2011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100479.
        http://trac.webkit.org/changeset/100479
        https://bugs.webkit.org/show_bug.cgi?id=72533

        "Broke the Mac Build" (Requested by mwenge2 on #webkit).

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderingAllInOne.cpp:

2011-11-16  Chris Fleizach  <cfleizach@apple.com>

        WebKitTestRunner needs to support accessibility-related DRT APIs
        https://bugs.webkit.org/show_bug.cgi?id=42131

        Minor changes needed to support AX testing in WKTestRunner.

        Reviewed by Beth Dakin.

        * WebCore.exp.in:
             Expose focusedUIElementForPage so that the WK2 injected bundle can retrieve it.
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (accessibilitySearchKeyForString):
            Remove an unncessary assert that was causing issues with the WK2 test run.

2011-11-16  Sergio Villar Senin  <svillar@igalia.com>

        [Soup] Somet tests fail with FAIL Unexpected response data received: Wrong method: GET
        https://bugs.webkit.org/show_bug.cgi?id=69219

        Reviewed by Martin Robinson.

        Do not stop appending data to the request body if any of the blob
        items to upload is not accesible.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::addEncodedBlobToSoupMessageBody):

2011-11-16  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=72400
        Scrollbar uiStateTransitionProgress requires tracking the mouse all the time
        -and corresponding-
        <rdar://problem/10409328>

        Reviewed by Darin Adler.

        This patch makes it so we track the mouse all the time when we have legacy 
        scrollbars (rather than only tracking the mouse when the window is key). When 
        we're in that mode, we want to do as little work as possible when handling the 
        mouseMoved event so that this extra tracking has little to no performance impact. 
        Also, we don't want to change basic behaviors by having normal web content hover 
        effects start happening when a window is in the background. So this patch also 
        introduces a way to handle a mouseMoved event that will only affect scrollbars.

        EventHandler::mouseMoved() and EventHandler::handleMouseEvent() both now take a 
        boolean parameter that indicates if we are only updating scrollbars. If that is 
        the case, then we make our HitTestRequest ReadOnly, and we return early once 
        updateLastScrollbarUnderMouse() is called.
        * WebCore.exp.in:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::mouseMoved):
        (WebCore::EventHandler::handleMouseMoveEvent):

        In addition to calling Scrollbar::mouseExited() when appropriate, this function 
        now calls a new function, Scrollbar::mouseEntered() when appropriate. 
        (WebCore::EventHandler::updateLastScrollbarUnderMouse):
        * page/EventHandler.h:

        Scrollbar::mouseMoved() used to be responsible for calling 
        ScrollAnimator::mouseEnteredScrollbar(), but now Scrollbar::mouseEntered() takes 
        care of that instead, much like how Scrollbar::mouseExited() takes care of calling 
        the animator's exit function.
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::mouseMoved):
        (WebCore::Scrollbar::mouseEntered):
        * platform/Scrollbar.h:

2011-11-16  Andreas Kling  <kling@webkit.org>

        CSSValue: isInheritedValue() doesn't need a dedicated bit.
        <http://webkit.org/b/72514>

        Reviewed by Antti Koivisto.

        Remove CSSValue::m_isInherited and have isInheritedValue() check the
        class type instead. There's no compelling reason for CSSInheritedValue
        to have a dedicated bit, since nobody subclasses it anyway.

        * css/CSSValue.h:
        (WebCore::CSSValue::isInheritedValue):
        (WebCore::CSSValue::CSSValue):

2011-11-16  Robert Hogan  <robert@webkit.org>

        Fix build on Windows and Mac after r100473

        Unreviewed, fix build.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderingAllInOne.cpp:

2011-11-16  Philip Rogers  <pdr@google.com>

        Remove extra GraphicsContextStateSaver restore() call.
        https://bugs.webkit.org/show_bug.cgi?id=72497

        Reviewed by Andreas Kling.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):

2011-11-08  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: border-collapse-offset-002.htm fails
        https://bugs.webkit.org/show_bug.cgi?id=71705

        Table captions are implemented as children of the table but have a special
        requirement to expand to the full width of the table rather than just the 'available'
        width, i.e. the full width minus padding and borders.

        To accomodate this create a RenderTableCaption object that reimplements containingBlockLogicalWidthForContent()
        to return the full width of the containing block (i.e. the table) rather than the available width.

        Reviewed by Antti Koivisto.

        * CMakeLists.txt: Add RenderTableCaption.[cpp|h]
        * GNUmakefile.list.am: Add RenderTableCaption.[cpp|h]
        * Target.pri: Add RenderTableCaption.[cpp|h]
        * WebCore.gypi: Add RenderTableCaption.[cpp|h]
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use RenderTableCaption
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject): Add RenderTableCaption.[cpp|h]
        (WebCore::RenderObject::addChild): ditto
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isTableCaption):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild):
        * rendering/RenderTable.h:
        * rendering/RenderTableCaption.cpp: Added.
        (WebCore::RenderTableCaption::RenderTableCaption): Implement RenderTableCaption
        (WebCore::RenderTableCaption::~RenderTableCaption):
        (WebCore::RenderTableCaption::containingBlockLogicalWidthForContent): Return the containing block's full width rather than it's available width.
        * rendering/RenderTableCaption.h: Added.
        (WebCore::RenderTableCaption::isTableCaption):
        (WebCore::toRenderTableCaption):

2011-11-16  Antaryami Pandia  <antaryami.pandia@motorola.com>

        [Gtk] display:none has no effect on <option> element.
        https://bugs.webkit.org/show_bug.cgi?id=72370

        Reviewed by Martin Robinson.

        * platform/gtk/GtkPopupMenu.cpp:
        (WebCore::GtkPopupMenu::appendItem):
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::createGtkActionForMenuItem):

2011-11-16  Dan Winship  <danw@gnome.org>

        [GTK] Fix platformDefersLoading to handle non-http requests, and
        to not use broken-ish libsoup APIs.
        https://bugs.webkit.org/show_bug.cgi?id=72227

        Reviewed by Martin Robinson.

        * platform/network/ResourceHandleInternal.h:
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::sendRequestCallback):
        (WebCore::startHTTPRequest):
        (WebCore::hasBeenSent):
        (WebCore::ResourceHandle::platformSetDefersLoading):
        (WebCore::readCallback): rather than deferring by using
        soup_session_pause_message(), let the read complete, but just don't
        process the result until we're no longer deferred.
        (WebCore::startNonHTTPRequest): Don't start the request if
        it's deferred.

2011-11-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Application cache status should be updated after swapCache().
        https://bugs.webkit.org/show_bug.cgi?id=72123

        Reviewed by Pavel Feldman.

        Application cache view resources and status are now updated after swapCache() call.
        Refresh button removed from application cache view.
        Application cache inspector tests are moved to their own folder.

        Tests: http/tests/inspector/appcache/appcache-iframe-manifests.html
               http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html
               http/tests/inspector/appcache/appcache-swap.html

        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView):
        (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
        (WebInspector.ApplicationCacheItemsView.prototype.wasShown):
        (WebInspector.ApplicationCacheItemsView.prototype._maybeUpdate):
        (WebInspector.ApplicationCacheItemsView.prototype._markDirty):
        (WebInspector.ApplicationCacheItemsView.prototype.updateStatus):
        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
        (WebInspector.ApplicationCacheItemsView.prototype._deleteCallback):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::setNewestCache):
        (WebCore::ApplicationCacheGroup::makeObsolete):
        (WebCore::ApplicationCacheGroup::setUpdateStatus):
        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
        (WebCore::ApplicationCacheHost::swapCache):

2011-11-16  Eric Carlson  <eric.carlson@apple.com>

        addTrack() must throw an exception if 'kind' is unknown
        https://bugs.webkit.org/show_bug.cgi?id=71915

        Reviewed by Philippe Normand.

        Tests: media/track/track-addtrack-kind.html
               media/track/track-kind.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::textTrackKindChanged): New. Will be implemented for 62885.
        (WebCore::HTMLMediaElement::addTrack): Throw if  'kind' is not a known value.
        (WebCore::HTMLMediaElement::addTextTrack): Call textTracks(), it will allocate the track
            list object if necessary.
        (WebCore::HTMLMediaElement::textTracks): Never return NULL, a TextTrackList with no tracks
            is allowed.
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::addTrack): Add variants to deal with optional parameters plus
            a mandatory ExceptionCode parameter.
        * html/HTMLMediaElement.idl: addTrack can generate an exception.

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::attributeChanged): kind, label, and srclang attribute changes should
            percolate down the the TextTrack.
        (WebCore::HTMLTrackElement::kind): Return the TextTrack kind because it is not necessarily the
            same as the attribute value.
        (WebCore::HTMLTrackElement::ensureTrack): Only pass legal 'kind' keywords to create a TextTrack.
        (WebCore::HTMLTrackElement::textTrackKindChanged): Notify parent element, if any.
        * html/HTMLTrackElement.h:

        * html/TextTrack.cpp:
        (WebCore::TextTrack::subtitlesKeyword): New, return legal kind attribute value.
        (WebCore::TextTrack::captionsKeyword): Ditto.
        (WebCore::TextTrack::descriptionsKeyword): Ditto.
        (WebCore::TextTrack::chaptersKeyword): Ditto.
        (WebCore::TextTrack::metadataKeyword): Ditto.
        (WebCore::TextTrack::TextTrack): Call setKind to make sure m_kind is always set to legal value.
        (WebCore::TextTrack::isValidKindKeyword): New, validate 'kind' value.
        (WebCore::TextTrack::setKind): Only allow legal values.
        * html/TextTrack.h:
        (WebCore::TextTrack::kind):
        (WebCore::TextTrack::label):
        (WebCore::TextTrack::setLabel):
        (WebCore::TextTrack::language):
        (WebCore::TextTrack::setLanguage):
        (WebCore::TextTrack::readyState):
        (WebCore::TextTrack::mode):

2011-11-16  Andreas Kling  <kling@webkit.org>

        CSSValue: Clean up initial value construction.
        <http://webkit.org/b/72502>

        Reviewed by Antti Koivisto.

        Instead of determining whether a given CSSInitialValue is 'implicit' or not by
        querying the CSSValue::ClassType (InitialClass vs. ImplicitInitialClass),
        add a protected CSSValue member and set it from the CSSInitialValue constructor.

        Also get rid of the CSSValue::m_isInitial bit since we can now replace the
        checks by classType() == InitialClass.

        No new tests, this is a cleanup.

        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue::CSSInitialValue):

            Poke 'implicit' constructor argument into CSSValue::m_isImplicit.

        * css/CSSValue.cpp:
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):

            Remove ImplicitInitialClass cases.

        * css/CSSValue.h:
        (WebCore::CSSValue::isImplicitInitialValue):
        (WebCore::CSSValue::isInitialValue):
        (WebCore::CSSValue::CSSValue):

2011-11-16  Antaryami Pandia  <antaryami.pandia@motorola.com>

        Remove unnecessary if check from RenderListBox::paintItemForeground.
        https://bugs.webkit.org/show_bug.cgi?id=72488

        Reviewed by Andreas Kling.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintItemForeground):

2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions

        Reviewed by Tor Arne Vestbø.

        * Target.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.

2011-11-16  Iain Merrick  <husky@google.com>

        [chromium] Pass screen refresh rate into compositor.
        https://bugs.webkit.org/show_bug.cgi?id=71040

        Reviewed by Tony Gentilcore.

        * platform/PlatformScreen.h:
        * platform/chromium/PlatformScreenChromium.cpp:
        (WebCore::screenRefreshRate):
        * platform/chromium/PlatformSupport.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::initializeImplOnImplThread):

2011-11-15  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] drop ExtensionSidebarPane.onUpdated, use callbacks instead
        https://bugs.webkit.org/show_bug.cgi?id=72388

        Reviewed by Pavel Feldman.

        Tests: inspector/extensions/extensions-panel.html
               inspector/extensions/extensions-sidebar.html

        - fire ExtensionSidebarPane.on{Hidden,Shown} for non-iframe content (experssions/objects);
        - drop ExtensionsSidebarPane.onUpdated, provide callback for setObject()/setExpression() instead;
        - fix an exception when a page is replaced with object/expression.

         inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.ExtensionSidebarPaneImpl):
        (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
        (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setObject):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionNotifierView):
        (WebInspector.ExtensionNotifierView.prototype.wasShown):
        (WebInspector.ExtensionNotifierView.prototype.willHide):
        (WebInspector.ExtensionSidebarPane.prototype.setObject):
        (WebInspector.ExtensionSidebarPane.prototype.setExpression):
        (WebInspector.ExtensionSidebarPane.prototype.setPage):
        (WebInspector.ExtensionSidebarPane.prototype._onEvaluate):
        (WebInspector.ExtensionSidebarPane.prototype._makeObjectPropertiesView):
        (WebInspector.ExtensionSidebarPane.prototype._setObject):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onSetSidebarContent.callback):
        (WebInspector.ExtensionServer.prototype._onSetSidebarContent):
        (WebInspector.ExtensionServer.prototype._dispatchCallback):
        * inspector/front-end/View.js:
        (WebInspector.View.prototype.detach):

2011-11-16  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed, rolling out r100266.
        http://trac.webkit.org/changeset/100266

        Broke WTR.

        * Target.pri:

2011-11-16  Per-Erik Brodin  <per-erik.brodin@ericsson.com>

        [GTK] fast/events/event-creation.html fails creating MediaStreamEvent
        https://bugs.webkit.org/show_bug.cgi?id=70720

        Reviewed by Philippe Normand.

        Added missing overriding of Event::interfaceName()

        * mediastream/MediaStreamEvent.cpp:
        (WebCore::MediaStreamEvent::stream): Changed return value to raw pointer.
        (WebCore::MediaStreamEvent::interfaceName): Added back from r98044.
        * mediastream/MediaStreamEvent.h:
        * mediastream/MediaStreamEvent.idl: Changed module name to "events".

2011-11-16  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Use GQuark's in the ATK wrapper to get and set arbitrary data
        https://bugs.webkit.org/show_bug.cgi?id=72394

        Reviewed by Martin Robinson.

        No new functionality, no new tests needed.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_class_init): Initialize GQuarks.
        (getGailTextUtilForAtk): Use gailTextUtilQuark.
        (getPangoLayoutForAtk): Remove unused call to
        g_object_set_data_full, since that data is no used anywhere.
        (webkitAccessibleHyperlinkImplGetHyperlink): Use hyperlinkObjectQuark.

2011-11-15  Alexandru Chiculita  <achicu@adobe.com>

        [CSSShaders] Implement the style cached resources and computed style for the shader urls
        https://bugs.webkit.org/show_bug.cgi?id=72378

        Reviewed by Dean Jackson.

        Test: css3/filters/custom-filter-property-computed-style.html

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::styleForKeyframe):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::CSSStyleSelector::styleForPage):
        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
        (WebCore::CSSStyleSelector::styleShader):
        (WebCore::CSSStyleSelector::cachedOrPendingStyleShaderFromValue):
        (WebCore::CSSStyleSelector::loadPendingShaders):
        (WebCore::CSSStyleSelector::createCustomFilterOperation):
        (WebCore::CSSStyleSelector::createFilterOperations):
        * css/CSSStyleSelector.h:
        * css/WebKitCSSShaderValue.cpp:
        (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
        (WebCore::WebKitCSSShaderValue::~WebKitCSSShaderValue):
        (WebCore::WebKitCSSShaderValue::cachedShader):
        (WebCore::WebKitCSSShaderValue::cachedOrPendingShader):
        * css/WebKitCSSShaderValue.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::defaultPriorityForResourceType):
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::createResource):
        (WebCore::CachedResourceLoader::requestShader):
        (WebCore::CachedResourceLoader::checkInsecureContent):
        (WebCore::CachedResourceLoader::canRequest):
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/CachedShader.cpp:
        (WebCore::CachedShader::CachedShader):
        (WebCore::CachedShader::~CachedShader):
        * loader/cache/CachedShader.h:
        * platform/graphics/filters/CustomFilterOperation.h:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::filter):
        * rendering/style/StyleCachedShader.cpp:
        (WebCore::StyleCachedShader::StyleCachedShader):
        (WebCore::StyleCachedShader::cssValue):
        * rendering/style/StyleCachedShader.h:
        (WebCore::StyleCachedShader::create):
        * rendering/style/StylePendingShader.h:
        (WebCore::StylePendingShader::create):
        (WebCore::StylePendingShader::cssValue):
        (WebCore::StylePendingShader::cssShaderValue):
        (WebCore::StylePendingShader::StylePendingShader):
        * rendering/style/StyleShader.h:
        (WebCore::StyleShader::~StyleShader):
        (WebCore::StyleShader::isCachedShader):
        (WebCore::StyleShader::isPendingShader):
        (WebCore::StyleShader::StyleShader):

2011-11-15  Sergio Villar Senin  <svillar@igalia.com>

        [WK2] [GTK] fast/css/webkit-mask-crash-fieldset-legend.html asserts WebKitWebProcess
        https://bugs.webkit.org/show_bug.cgi?id=69510

        Reviewed by Simon Fraser.

        End the current transparency layer before early returning from
        paintMask() when there is a maskBoxImage which is still being
        loaded. This will balance the previous call to
        beginTransparencyLayer().

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintMask):

2011-11-15  Darin Adler  <darin@apple.com>

        Incorrect type checks in RenderTheme media code
        https://bugs.webkit.org/show_bug.cgi?id=72184

        Reviewed by Eric Carlson.

        No tests added. Ideally this patch should be revised to add tests!

        * accessibility/AccessibilityMediaControls.cpp:
        (WebCore::AccessibilityMediaControl::create): Use mediaControlElementType.
        (WebCore::AccessibilityMediaControl::controlType): Ditto.
        (WebCore::AccessibilityMediaTimeline::valueDescription): Use early return
        rather than an assertion to check type of input element.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::mediaControlElementType): Added. A type-safe way to get the
        media control element type after checking isMediaControlElement but with
        no other assumptions.
        * html/shadow/MediaControlElements.h: Added mediaControlElementType.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::paintMediaPlayButton): Use mediaControlElementType.
        (WebCore::RenderThemeEfl::paintMediaSeekBackButton): Use mediaControlElementType.
        (WebCore::RenderThemeEfl::paintMediaSeekForwardButton): Use mediaControlElementType.
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintMediaPlayButton): Check isMediaControlElement and
        use mediaControlElementType.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto. Also remove uneeded
        redundant null check.
        (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
        (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton): Ditto.

2011-11-15  Jeff Timanus  <twiz@chromium.org>

        [chromium] During tear down, prevent the WebGLLayerChromium instance from attempting to stop a timer for a NULL context.
        https://bugs.webkit.org/show_bug.cgi?id=72423

        Reviewed by Kenneth Russell.

        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::setDrawingBuffer):

2011-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>

        Rebaseline generated WebCore bindings

        Unreviewed build fix

        No new tests.

        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::isObservable):
        (WebCore::JSTestEventConstructorOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestEventConstructorOwner::finalize):
        * bindings/scripts/test/JS/JSTestEventConstructor.h:
        (WebCore::JSTestEventConstructor::clearImpl):
        (WebCore::wrapperOwner):
        (WebCore::wrapperContext):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceOwner::finalize):
        * bindings/scripts/test/JS/JSTestInterface.h:
        (WebCore::JSTestInterface::clearImpl):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::isObservable):
        (WebCore::JSTestMediaQueryListListenerOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestMediaQueryListListenerOwner::finalize):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
        (WebCore::JSTestMediaQueryListListener::clearImpl):
        (WebCore::wrapperOwner):
        (WebCore::wrapperContext):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructorOwner::finalize):
        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
        (WebCore::JSTestNamedConstructor::clearImpl):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::isObservable):
        (WebCore::JSTestObjOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestObjOwner::finalize):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore::JSTestObj::clearImpl):
        (WebCore::wrapperOwner):
        (WebCore::wrapperContext):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::isObservable):
        (WebCore::JSTestSerializedScriptValueInterfaceOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        (WebCore::JSTestSerializedScriptValueInterface::clearImpl):
        (WebCore::wrapperOwner):
        (WebCore::wrapperContext):

2011-11-15  Jeff Timanus  <twiz@chromium.org>

        Patch removing duplicated code in the setup of the DrawingBuffer used
        to host the back-buffer for WebGL contents.
        https://bugs.webkit.org/show_bug.cgi?id=72327

        Reviewed by Kenneth Russell.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::readPixels):

2011-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>

        JS DOM wrappers depend on destructor to deref impl RefPtrs
        https://bugs.webkit.org/show_bug.cgi?id=72341

        Reviewed by Sam Weinig.

        No new tests.

        Added clearing of impl RefPtrs to JS DOM wrapper nodes and removed the default 
        wrapperOwner function in favor of generating all WeakHandleOwners and wrapperOwner functions.

        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::JSCSSValueOwner::finalize):
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNodeOwner::finalize):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):

2011-11-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Share Highlight Code for Drawing Outlined Quad
        https://bugs.webkit.org/show_bug.cgi?id=72451

        Reviewed by Timothy Hatcher.

        * inspector/DOMNodeHighlighter.cpp:

2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100308.
        http://trac.webkit.org/changeset/100308
        https://bugs.webkit.org/show_bug.cgi?id=72450

        Introduces WebGL conformance test regressions. (Requested by
        twiz on #webkit).

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::readPixels):

2011-11-15  James Robinson  <jamesr@chromium.org>

        Rollout http://trac.webkit.org/changeset/99813, caused some crashes in
        TiledLayerChromium::updateCompositorResources()

        * WebCore.gypi:
        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Removed.
        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Removed.
        * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Removed.
        * platform/graphics/chromium/CanvasLayerTextureUpdater.h: Removed.
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::createTextureUpdater):
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Removed.
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        * platform/graphics/chromium/LayerTextureUpdater.h:
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp.
        (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
        (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
        (WebCore::FrameBuffer::FrameBuffer::initialize):
        (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
        (WebCore::LayerTextureUpdaterCanvas::paintContents):
        (WebCore::LayerTextureUpdaterBitmap::create):
        (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
        (WebCore::LayerTextureUpdaterBitmap::sampledTexelFormat):
        (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
        (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
        (WebCore::LayerTextureUpdaterSkPicture::create):
        (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
        (WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
        (WebCore::LayerTextureUpdaterSkPicture::sampledTexelFormat):
        (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
        (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
        (WebCore::LayerTextureUpdaterCanvas::contentRect):
        (WebCore::LayerTextureUpdaterBitmap::orientation):
        (WebCore::LayerTextureUpdaterSkPicture::orientation):
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Removed.
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Removed.
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::UpdatableTile):
        (WebCore::UpdatableTile::texture):
        (WebCore::TiledLayerChromium::updateCompositorResources):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::TiledLayerChromium::createTile):
        (WebCore::TiledLayerChromium::protectTileTextures):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
        (WebCore::CCTextureUpdater::append):
        (WebCore::CCTextureUpdater::update):
        * platform/graphics/chromium/cc/CCTextureUpdater.h:

2011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>

        Add the needed plumbing to parse display: -webkit-inline-grid
        https://bugs.webkit.org/show_bug.cgi?id=72438

        Reviewed by Tony Chang.

        Test: fast/css-grid-layout/display-grid-set-get.html

        Added the needed constants and plugged everything together.
        Again we treat display: -webkit-inline-grid like display: none
        for the moment.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSValueKeywords.in:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        * rendering/style/RenderStyleConstants.h:

2011-11-15  W. James MacLean  <wjmaclean@chromium.org>

        [chromium] Move setVisibleRect() calls into calculateDrawTransformAndVisibility()
        https://bugs.webkit.org/show_bug.cgi?id=72162

        Reviewed by Kenneth Russell.

        Refactoring of existing functionality, so uses existing tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::paintContentsIfDirty):
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::walkLayersAndCalculateVisibleLayerRects):
        (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):

2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100340.
        http://trac.webkit.org/changeset/100340
        https://bugs.webkit.org/show_bug.cgi?id=72448

        Caused assertion failure in Win dbg canary. (Requested by
        pkasting on #webkit).

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::viewportChanged):
        (WebCore::LayerRendererChromium::drawLayersInternal):
        * platform/graphics/chromium/LayerRendererChromium.h:

2011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>

        Switch table indexing to unsigned
        https://bugs.webkit.org/show_bug.cgi?id=72083

        Reviewed by Darin Adler.

        No expected change in behavior.

        All of the code is now using unsigned for indexing!

        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::layout):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::colElement):
        (WebCore::RenderTable::cellAbove):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::splitColumn):
        Added some ASSERTs to make sure we don't underflow. Looking at how
        the different variables are populated, they should not be reached.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::colSpan):
        (WebCore::RenderTableCell::rowSpan):
        Those 2 functions promotes HTMLTableCellElement's int to unsigned
        which should be fine as we make sure their are positive. Also HTML5
        makes those 2 fields "unsigned long" which goes in the same direction.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint):
        Rewrote a couple of reverse iterating to be able to use unsigned
        without overflowing.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::fullRecalc):
        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
        (WebCore::AutoTableLayout::insertSpanCell):
        * rendering/AutoTableLayout.h:
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::splitColumn):
        (WebCore::RenderTable::appendColumn):
        (WebCore::RenderTable::recalcSections):
        * rendering/RenderTable.h:
        (WebCore::RenderTable::getColumnPos):
        (WebCore::RenderTable::spanOfEffCol):
        (WebCore::RenderTable::effColToCol):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::styleOrColLogicalWidth):
        (WebCore::CollapsedBorders::nextBorder):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::updateFromElement):
        * rendering/RenderTableCol.h:
        (WebCore::RenderTableCol::span):
        (WebCore::RenderTableCol::setSpan):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addCell):
        (WebCore::RenderTableSection::setCellLogicalWidths):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::calcOuterBorderBefore):
        (WebCore::RenderTableSection::calcOuterBorderAfter):
        (WebCore::RenderTableSection::calcOuterBorderStart):
        (WebCore::RenderTableSection::calcOuterBorderEnd):
        (WebCore::RenderTableSection::paintObject):
        (WebCore::RenderTableSection::appendColumn):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::cellAt):
        (WebCore::RenderTableSection::primaryCellAt):
        (WebCore::RenderTableSection::getBaseline):
        Mechanical change int -> unsigned.

2011-11-15  Andy Estes  <aestes@apple.com>

        Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation
        https://bugs.webkit.org/show_bug.cgi?id=72106

        Reviewed by Anders Carlsson.

        Add a class that encapsulates the logic of scheduling, enabling and
        invalidating a run loop observer that fires before Core Animation's
        commit observer. Clients can subclass LayerFlushSchedulerClient and
        implement flushLayers(), which will be called by the observer.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/ca/LayerFlushScheduler.cpp: Added.
        (WebCore::LayerFlushScheduler::suspend): Suspend scheduling by
        invalidating the run loop observer. Keep a count of calls to suspend()
        in m_suspendCount.
        (WebCore::LayerFlushScheduler::resume): Decrement m_suspendCount.
        Install the run loop observer when it reaches 0.
        * platform/graphics/ca/LayerFlushSchedulerClient.h: Added.
        (WebCore::LayerFlushSchedulerClient::~LayerFlushSchedulerClient):
        * platform/graphics/ca/LayerFlushScheduler.h: Added.
        * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp: Added.
        (LayerFlushScheduler::LayerFlushScheduler):
        (LayerFlushScheduler::~LayerFlushScheduler):
        (LayerFlushScheduler::runLoopObserverCallback): Call flushLayers() on
        the LayerFlushSchedulerClient.
        (LayerFlushScheduler::schedule): Install the run loop observer.
        (LayerFlushScheduler::invalidate): Remove the run loop
        observer if it is installed.

2011-11-15  Adam Klein  <adamk@chromium.org>

        [v8] Use throwError instead of compiling and running script in handleMaxRecursionDepthExceeded
        https://bugs.webkit.org/show_bug.cgi?id=72432

        Reviewed by Adam Barth.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::handleMaxRecursionDepthExceeded):

2011-11-15  Vincent Scheib  <scheib@chromium.org>

        Pointer Lock: Refactoring: PointerLock.idl: Dropping webkit prefix
        https://bugs.webkit.org/show_bug.cgi?id=72431

        Reviewed by Adam Barth.

        * page/PointerLock.cpp:
        (WebCore::PointerLock::lock):
        (WebCore::PointerLock::unlock):
        (WebCore::PointerLock::isLocked):
        * page/PointerLock.h:
        * page/PointerLock.idl:

2011-11-15  Nat Duca  <nduca@chromium.org>

        [chromium] Fuse MainThread and CCThread
        https://bugs.webkit.org/show_bug.cgi?id=72426

        Reviewed by James Robinson.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        * platform/graphics/chromium/cc/CCMainThread.cpp: Removed.
        * platform/graphics/chromium/cc/CCMainThread.h: Removed.
        * platform/graphics/chromium/cc/CCMainThreadTask.h: Removed.
        * platform/graphics/chromium/cc/CCProxy.cpp:
        (WebCore::CCProxy::setMainThread):
        (WebCore::CCProxy::mainThread):
        (WebCore::CCProxy::setImplThread):
        (WebCore::CCProxy::implThread):
        (WebCore::CCProxy::isMainThread):
        (WebCore::CCProxy::isImplThread):
        (WebCore::CCProxy::~CCProxy):
        * platform/graphics/chromium/cc/CCProxy.h:
        * platform/graphics/chromium/cc/CCScopedThreadProxy.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCScopedMainThreadProxy.h.
        (WebCore::CCScopedThreadProxy::create):
        (WebCore::CCScopedThreadProxy::postTask):
        (WebCore::CCScopedThreadProxy::shutdown):
        (WebCore::CCScopedThreadProxy::CCScopedThreadProxy):
        (WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::CCThreadProxy):
        (WebCore::CCThreadProxy::compositeAndReadback):
        (WebCore::CCThreadProxy::finishAllRendering):
        (WebCore::CCThreadProxy::initializeLayerRenderer):
        (WebCore::CCThreadProxy::setNeedsAnimate):
        (WebCore::CCThreadProxy::setNeedsCommit):
        (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
        (WebCore::CCThreadProxy::setNeedsRedraw):
        (WebCore::CCThreadProxy::setVisible):
        (WebCore::CCThreadProxy::start):
        (WebCore::CCThreadProxy::stop):
        (WebCore::CCThreadProxy::obtainBeginFrameAndCommitTaskFromCCThread):
        (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnImplThread):
        (WebCore::CCThreadProxy::beginFrameAndCommit):
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
        (WebCore::CCThreadProxy::initializeImplOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-11-15  Vincent Scheib  <scheib@chromium.org>

        Pointer Lock: Refactor: MouseEvent.idl movementX/Y
        https://bugs.webkit.org/show_bug.cgi?id=72427

        - [Conditional...] vs #if defined
        - Runtime enabled
        - .movementX/Y prefixed with 'webkit'

        Reviewed by Adam Barth.

        No new tests.

        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitMovementXEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitMovementYEnabled):
        * dom/MouseEvent.idl:
        * dom/MouseRelatedEvent.h:
        (WebCore::MouseRelatedEvent::webkitMovementX):
        (WebCore::MouseRelatedEvent::webkitMovementY):

2011-10-28  Ojan Vafai  <ojan@chromium.org>

        implement flex-align for flex-flow: column
        https://bugs.webkit.org/show_bug.cgi?id=70754

        Reviewed by David Hyatt.

        Tests: css3/flexbox/flex-align-column.html
               css3/flexbox/line-wrapping.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
        When flexitems are column, they should size to the intrinsic width unless flex-flow is stretch.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
        This was just using the wrong, non-flow-aware method.

2011-11-15  Jochen Eisinger  <jochen@chromium.org>

        Rename ReferrerPolicy to clarify its meaning
        https://bugs.webkit.org/show_bug.cgi?id=72420

        Reviewed by Nate Chapin.

        On the one hand, even if the ReferrerPolicy was set to SendReferrer, the
        referrer wasn't necessarily send. On the other hand, I want to use the
        name ReferrerPolicy when implementing the meta referrer tag.

        No change in behavior expected so no test.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::handleClick):
        (WebCore::handleLinkClick):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::changeLocation):
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::loadFrameRequest):
        * loader/FrameLoader.h:
        * loader/FrameLoaderTypes.h:
        * loader/NavigationScheduler.cpp:
        (WebCore::ScheduledHistoryNavigation::fire):
        (WebCore::ScheduledFormSubmission::fire):
        * page/ContextMenuController.cpp:
        (WebCore::openNewWindow):
        (WebCore::ContextMenuController::contextMenuItemSelected):
        * WebCore.exp.in: updated.

2011-11-15  Adam Klein  <adamk@chromium.org>

        Factor out V8Proxy's max recursion depth handling code
        https://bugs.webkit.org/show_bug.cgi?id=72422

        Reviewed by Nate Chapin.

        Previously, V8Proxy used slightly different code to handle stack limit
        violations depending on whether they occured in runScript or
        callFunction. As described in http://webkit.org/b/72063, I intend to
        expand the usage of m_recursion when calling into script. This patch
        is intended to unify the existing handling code, making it easier to
        move elsewhere without causing unintended side-effects.

        No tests changed, as the only change in behavior is the string passed
        to RangeError in the runScript case, and it's not mentioned anywhere
        in the LayoutTests.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::handleMaxRecursionDepthExceeded):
        (WebCore::V8Proxy::runScript): Use callFunction's factored-out code.
        (WebCore::V8Proxy::callFunction): Simplify and factor out code into handleMaxRecursionDepthExceeded.

2011-11-15  Jessie Berlin  <jberlin@apple.com>

        NSURLRequest leak beneath ResourceRequest::setStorageSession seen on Leaks bot.
        https://bugs.webkit.org/show_bug.cgi?id=72419

        Reviewed by Adam Roben.

        Adopt the copied NSURLRequest.

        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::setStorageSession):

2011-11-15  John Bates  <jbates@google.com>

        Page/layer flashes after GPU-accelerated CSS transition
        https://bugs.webkit.org/show_bug.cgi?id=72343

        LayerRendererChromium was resizing the window to 1x1 at initialization.
        In some cases, there is no drawLayers before switching back to
        software rendering. This left the window resized to 1x1 and the
        following software paints would therefore not be visible. This change
        moves the reshape call into drawLayers so that it will only be called
        if rendering will occur.

        Reviewed by James Robinson.

        New test: CCLayerTreeHostImplTest.reshapeNotCalledUntilDraw.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::viewportChanged):
        (WebCore::LayerRendererChromium::doViewportChanged):
        (WebCore::LayerRendererChromium::drawLayersInternal):
        * platform/graphics/chromium/LayerRendererChromium.h:

2011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>

        Add the needed plumbing to parse display: -webkit-grid
        https://bugs.webkit.org/show_bug.cgi?id=72331

        Reviewed by Tony Chang.

        Test: fast/css-grid-layout/display-grid-set-get.html

        Added parsing support for display: -webkit-grid. From a rendering perspective,
        the value is equivalent to display: none until we properly implement it.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSValueKeywords.in:
        * rendering/style/RenderStyleConstants.h:
        Added the new CSS value and plumbed the parsing and style application of
        the new value.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::operator EDisplay):
        Added an ASSERT here as I bumped into some non-trivial issues due to bug 72296.
        -wap-marquee was offsetting the new value and was wrongly casted by the CSSPrimitiveValueMapping
        logic outside the EDisplay range which would lead to crashes.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        Fixed the indentation to follow our coding rules.

2011-11-15  Vincent Scheib  <scheib@chromium.org>

        Mouse Lock: Renaming to 'Pointer Lock': MouseLockable to PointerLock
        https://bugs.webkit.org/show_bug.cgi?id=72315

        Reviewed by Dimitri Glazkov.

        * WebCore.gypi:
        * page/Navigator.cpp:
        (WebCore::Navigator::webkitPointer):
        * page/Navigator.h:
        * page/Navigator.idl:
        * page/PointerLock.cpp: Renamed from Source/WebCore/page/MouseLockable.cpp.
        (WebCore::PointerLock::PointerLock):
        (WebCore::PointerLock::~PointerLock):
        (WebCore::PointerLock::webkitLock):
        (WebCore::PointerLock::webkitUnlock):
        (WebCore::PointerLock::webkitIsLocked):
        * page/PointerLock.h: Renamed from Source/WebCore/page/MouseLockable.h.
        (WebCore::PointerLock::create):
        * page/PointerLock.idl: Renamed from Source/WebCore/page/MouseLockable.idl.

2011-10-28  Ojan Vafai  <ojan@chromium.org>

        Overflow and relayout are broken in the new flexboxes
        https://bugs.webkit.org/show_bug.cgi?id=71161

        Reviewed by David Hyatt.

        Tests: css3/flexbox/auto-height-dynamic.html
               css3/flexbox/flex-item-child-overflow-expected.html
               css3/flexbox/flex-item-child-overflow.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        -Always set the logical height to 0 to start with to ensure we don't
        use the height from the previous layout when we are computing the
        intrinsic size of the flexbox.
        -Call computeOverflow after computeLogicalHeight so that flex-item's children's
        overflow is properly rendered.

        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
        -Now that we setLogicalHeight in layoutBlock, we no longer need to do it here.
        -Refactor flipping code. The behavior is the same, but the variable names are just
        more correct.

2011-10-28  Ojan Vafai  <ojan@chromium.org>

        Overflow and relayout are broken in the new flexboxes
        https://bugs.webkit.org/show_bug.cgi?id=71161

        Reviewed by David Hyatt.

        Tests: css3/flexbox/auto-height-dynamic.html
               css3/flexbox/flex-item-child-overflow-expected.html
               css3/flexbox/flex-item-child-overflow.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        -Always set the logical height to 0 to start with to ensure we don't
        use the height from the previous layout when we are computing the
        intrinsic size of the flexbox.
        -Call computeOverflow after computeLogicalHeight so that flex-item's children's
        overflow is properly rendered.

        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
        -Now that we setLogicalHeight in layoutBlock, we no longer need to do it here.
        -Refactor flipping code. The behavior is the same, but the variable names are just
        more correct.

2011-11-15  Nate Chapin  <japhet@chromium.org>

        CachedResourceRequest is now the only SubresourceLoaderClient
        Merge CachedResourceRequest into SubresourceLoader and delete
        the SubresourceLoaderClient interface. A few items were moved
        to CachedResource instead of SubresourceLoader.
        https://bugs.webkit.org/show_bug.cgi?id=71149

        Reviewed by Adam Barth.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/ResourceLoadScheduler.cpp:
        * loader/ResourceLoadScheduler.h:
        * loader/ResourceLoader.cpp:
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::SubresourceLoader):
        (WebCore::SubresourceLoader::create):
        (WebCore::SubresourceLoader::init): Do work that had previously been
            done in SubresourceLoader::create() after the constructor.
        (WebCore::SubresourceLoader::willSendRequest):
        (WebCore::SubresourceLoader::didSendData):
        (WebCore::SubresourceLoader::didReceiveResponse):
        (WebCore::SubresourceLoader::didReceiveData):
        (WebCore::SubresourceLoader::didReceiveCachedMetadata):
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFail):
        (WebCore::SubresourceLoader::willCancel):
        (WebCore::SubresourceLoader::releaseResources): Do the cleanup work that was
            duplicated throughout the various terminal CachedResourceRequest callbacks.
        * loader/SubresourceLoader.h: Fix indentation style issues.
        * loader/SubresourceLoaderClient.h: Removed.
        * loader/cache/CachedImage.cpp:
        * loader/cache/CachedRawResource.cpp:
        * loader/cache/CachedResource.cpp:
        (WebCore::cachedResourceTypeToTargetType):
        (WebCore::CachedResource::load): Do the work that had been done in
            CachedResourceRequest::load().
        (WebCore::CachedResource::finish):
        (WebCore::CachedResource::setResponse):
        (WebCore::CachedResource::stopLoading):
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::canDelete):
        * loader/cache/CachedResourceLoader.cpp:
        * loader/cache/CachedResourceRequest.cpp: Removed.
        * loader/cache/CachedResourceRequest.h: Removed.
        * loader/cf/SubresourceLoaderCF.cpp:
        * loader/chromium/CachedResourceRequestChromium.cpp: Removed.
        * loader/chromium/SubresourceLoaderChromium.cpp:

2011-11-15  Anders Carlsson  <andersca@apple.com>

        HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
        https://bugs.webkit.org/show_bug.cgi?id=72397

        Reviewed by Dan Bernstein.

        screenToWindow and windowToScreen already use root view coordinates everywhere, with the
        exception of Mac WebKit1 which doesn't even implement the functions.

        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper position]):
        * loader/EmptyClients.h:
        * page/Chrome.cpp:
        (WebCore::Chrome::screenToRootView):
        (WebCore::Chrome::rootViewToScreen):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/HostWindow.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::contentsToScreen):
        (WebCore::ScrollView::screenToContents):
        * platform/chromium/PopupContainer.cpp:
        (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
        (WebCore::PopupContainer::refresh):

2011-11-15  Jeff Timanus  <twiz@chromium.org>

        Patch removing duplicated code in the setup of the DrawingBuffer used
        to host the back-buffer for WebGL contents.
        https://bugs.webkit.org/show_bug.cgi?id=72327

        Reviewed by Julien Chaffraix.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::readPixels):

2011-11-15  Eugene Nalimov  <enal@google.com>

        Event listener for active DOM object that is also DOM node can be garbage collected prematurely.
        https://bugs.webkit.org/show_bug.cgi?id=70421 

        Reviewed by Adam Barth.

        Problem demonstrated itself when HTMLAudioElement was changed to become active DOM object.
        Before that there were no DOM objects that simultaneously were nodes and active objects.
        DOM object could be held in one of 3 maps -- node map, active objects map, and all other
        objects map, and HTMLAudioElement should be in 2 maps simultaneously. When it was in the
        active DOM objects map only, its event listener could be garbage collected, because special
        code that groups listeners with wrappers could handle only wrappers for objects in the node
        map. If we put HTMLAudioElement into nodes map, it would not be active DOM node, and can be
        garbage collected prematurely itself (see https://bugs.webkit.org/show_bug.cgi?id=66878).
        Fix is to introduce 4th map -- active nodes map, and change the code accordingly.

        Test: media/audio-garbage-collect.html

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNamedConstructorCallback):
        (GetDomMapFunction):
        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::DOMDataStore):
        (WebCore::DOMDataStore::getDOMWrapperMap):
        (WebCore::DOMDataStore::weakNodeCallback):
        * bindings/v8/DOMDataStore.h:
        (WebCore::DOMDataStore::activeDomNodeMap):
        * bindings/v8/ScopedDOMDataStore.cpp:
        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
        * bindings/v8/StaticDOMDataStore.cpp:
        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
        * bindings/v8/StaticDOMDataStore.h:
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::getActiveDOMNodeMap):
        (WebCore::removeAllDOMObjects):
        (WebCore::visitActiveDOMNodes):
        * bindings/v8/V8DOMMap.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
        (WebCore::V8DOMWrapper::getWrapperSlow):
        * bindings/v8/V8GCController.cpp:
        (WebCore::GCPrologueSpecialCase):
        (WebCore::void):
        (WebCore::Node):
        (WebCore::GCPrologueVisitor::visitDOMWrapper):
        (WebCore::V8GCController::gcPrologue):
        (WebCore::GCEpilogueHelper::GCEpilogueSpecialCase):
        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
        (WebCore::V8GCController::gcEpilogue):
        * dom/Node.h:
        (WebCore::Node::isActiveNode):
        * html/HTMLAudioElement.h:
        (WebCore::HTMLAudioElement::isActiveNode):

2011-11-15  David Kilzer  <ddkilzer@apple.com>

        Remove useless const modifier from KURL::init
        <http://webkit.org/b/72387>

        Reviewed by Darin Adler.

        * platform/KURL.cpp:
        (WebCore::KURL::init): Remove useless const.

2011-11-14  Anders Carlsson  <andersca@apple.com>

        HostWindow invalidation functions should use root view coordinates
        https://bugs.webkit.org/show_bug.cgi?id=72338

        Reviewed by Dan Bernstein.

        Rename invalidateWindow to invalidateRootView, and invalidateContentsAndWindow
        to invalidateContentsAndRootView. Make sure that the rects passed to the renamed functions
        are in root view coordinates by changing contentsToWindow calls to contentsToRootView.
        
        In practice this doesn't matter because for all platforms except Mac WebKit1, root view coordinates
        and window coordinates are equivalent, and Mac WebKit1 doesn't use these invalidation functions.

        * loader/EmptyClients.h:
        * page/Chrome.cpp:
        (WebCore::Chrome::invalidateRootView):
        (WebCore::Chrome::invalidateContentsAndRootView):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/Frame.cpp:
        (WebCore::Frame::tiledBackingStorePaintEnd):
        * page/FrameView.cpp:
        (WebCore::FrameView::invalidateRect):
        (WebCore::FrameView::scrollContentsFastPath):
        * platform/HostWindow.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::rectToCopyOnScroll):
        (WebCore::ScrollView::scrollContents):
        (WebCore::ScrollView::wheelEvent):
        * platform/chromium/FramelessScrollView.cpp:
        (WebCore::FramelessScrollView::invalidateRect):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImageChromeClient::invalidateContentsAndRootView):

2011-11-15  Philip Rogers  <pdr@google.com>

        Implement maxWidth for fillText and strokeText, fixing the canvas/philip/tests/2d.text.draw.fill.maxWidth.fontface.html test.
        https://bugs.webkit.org/show_bug.cgi?id=61528

        Reviewed by Stephen White.

        Tests: fast/canvas/2d.text.draw.fill.maxWidth.gradient.html
               fast/canvas/2d.text.draw.fill.maxWidth.negative.html
               fast/canvas/2d.text.draw.fill.maxWidth.veryLarge.html
               fast/canvas/2d.text.draw.fill.maxWidth.verySmall.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):

2011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Implement download support in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=72258

        Reviewed by Martin Robinson.

        Add common download errors to ErrorsGtk.

        * platform/gtk/ErrorsGtk.cpp:
        (WebCore::downloadNetworkError):
        (WebCore::downloadCancelledByUserError):
        (WebCore::downloadDestinationError):
        * platform/gtk/ErrorsGtk.h:

2011-11-15  Cary Clark  <caryclark@google.com>

        [chromium-mac] Enable vertical text using Skia
        https://bugs.webkit.org/show_bug.cgi?id=72137

        Use Skia to draw vertical text. This is much
        faster and has higher fidelity than the old method
        of drawing text on a path.

        The graphics context passed to Skia has been
        rotated 90 degrees but the character advances
        have not, so it is necessary to unrotate the canvas,
        and re-rotate the positions.

        This generates correct output (or, at least,
        consistent with Chromium CG on Mac) for all vertical
        text tests, one of which is mentioned below.
        
        Reviewed by Stephen White.

        Test: fast/writing-mode/text-orientation-basic.html

        * platform/graphics/skia/FontSkia.cpp:
        (WebCore::setupPaint):
        (WebCore::Font::drawGlyphs):

2011-11-15  Philip Rogers  <pdr@google.com>

        Fix SVG hit testing when padding is present
        https://bugs.webkit.org/show_bug.cgi?id=37325

        Reviewed by Nikolas Zimmermann.

        Test: svg/hittest/svg-padding.xhtml

        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::nodeAtPoint):

2011-11-15  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: move generic code from DevTools.js into the WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=72377

        re-landing r100269.

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
        * inspector/front-end/ProfilesPanel.js:
        * inspector/front-end/Resource.js:
        * inspector/front-end/Settings.js:
        * inspector/front-end/UIUtils.js:
        (WebInspector.setToolbarColors):
        (WebInspector.resetToolbarColors):
        * inspector/front-end/inspector.js:

2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100269.
        http://trac.webkit.org/changeset/100269
        https://bugs.webkit.org/show_bug.cgi?id=72383

        "Broke dozens of tests due to exception in loadingFinished"
        (Requested by tonyg-cr on #webkit).

        * English.lproj/localizedStrings.js:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
        * inspector/front-end/ProfilesPanel.js:
        * inspector/front-end/Resource.js:
        * inspector/front-end/Settings.js:
        * inspector/front-end/UIUtils.js:
        * inspector/front-end/inspector.js:

2011-11-15  Alexander Pavlov  <apavlov@chromium.org>

        font property does not show up as "shorthand" in inspector
        https://bugs.webkit.org/show_bug.cgi?id=15598

        Reviewed by Nikolas Zimmermann.

        The "font" CSS property is turned into a real shorthand, as its longhands used to float around
        in the resulting style declaration without any reference to their underlying "font" property.

        Test: fast/css/font-shorthand.html

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Extracted the "font" value building into fontValue().
        (WebCore::CSSMutableStyleDeclaration::appendFontLonghandValueIfExplicit): Added
        (WebCore::CSSMutableStyleDeclaration::fontValue): Build the "font" value from longhands.
        * css/CSSMutableStyleDeclaration.h:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::addProperty): Added optional "implicit" parameter.
        (WebCore::CSSParser::parseFont): Build respective longhands instead of the shorthand "font" property.
        * css/CSSParser.h: Added optional "implicit" parameter to addProperty().
        * css/CSSPropertyLonghand.cpp:
        (WebCore::initShorthandMap): Added "font" shorthand map entry.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyPropertyToStyle): Separated the property application from the instance setup.
        (WebCore::CSSStyleSelector::applyPropertyToCurrentStyle): Added.
        * css/CSSStyleSelector.h: Made updateFont() public.
        * css/FontValue.cpp:
        (WebCore::FontValue::customCssText): Made use of StringBuilder.
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setFont): Apply "font" longhands rather than the (non-existent) "font" property.
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._markUsedProperties): Removed a workaround for "font" not being a shorthand.
        * page/animation/AnimationBase.cpp:
        (WebCore::addShorthandProperties): Removed a workaround for "font" not being a shorthand.

2011-11-15  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Clean up the remaining duplicate code after the RenderThemeQt refactoring.
        https://bugs.webkit.org/show_bug.cgi?id=72262

        Reviewed by Antonio Gomes.

        No new tests needed, this is purely cosmetic.

        * platform/qt/RenderThemeQStyle.cpp:
        (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
        * platform/qt/RenderThemeQStyle.h:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustMenuListButtonStyle): remove the call to resetBorderRadius()
        since the mobile theme actually didn't do this.
        * platform/qt/RenderThemeQtMobile.cpp:
        (WebCore::RenderThemeQtMobile::adjustMenuListStyle):

2011-11-15  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: move generic code from DevTools.js into the WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=72377

        This includes support for themed toolbar, remote debugging routines,
        removes a couple of obsolete overrides from the DevTools.js

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
        * inspector/front-end/ProfilesPanel.js:
        * inspector/front-end/Resource.js:
        * inspector/front-end/Settings.js:
        * inspector/front-end/UIUtils.js:
        (WebInspector.setToolbarColors):
        (WebInspector.resetToolbarColors):
        * inspector/front-end/inspector.js:

2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions

        Reviewed by Tor Arne Vestbø.

        * Target.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.

2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100213.
        http://trac.webkit.org/changeset/100213
        https://bugs.webkit.org/show_bug.cgi?id=72371

        "Breaks test_shell_tests" (Requested by tonyg-cr on #webkit).

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
        * platform/SchemeRegistry.cpp:
        (WebCore::schemesWithUniqueOrigins):

2011-11-15  Alpha Lam  <hclam@chromium.org>

        [chromium] scroll deltas are cleared during commit to the main thread
        https://bugs.webkit.org/show_bug.cgi?id=71916

        Reviewed by James Robinson.

        Patch is covered by unit test.

        Add a member m_sentScrollDelta to CCLayerImpl to keep track of the scroll delta being
        sent to the main thread during commit. This gives a simpler approach to keep tracking of a
        layer's scroll delta in impl thread.

        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::sentScrollDelta):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::sentScrollDelta):
        (WebCore::CCLayerImpl::setSentScrollDelta):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] REGRESSION(100123): It made inspector tests crash
        https://bugs.webkit.org/show_bug.cgi?id=72274

        Reviewed by Tor Arne Vestbø.

        * platform/qt/RenderThemeQStyle.h: Remove uninitialized and duplicated
        m_page member that should really come from RenderThemeQt.

2011-11-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed. Fix build breaks when EFL port is built.

        * CMakeLists.txt:
        * UseJSC.cmake:

2011-11-15  Noel Gordon  <noel.gordon@gmail.com>

        Make ImageFrame member getAddr() public
        https://bugs.webkit.org/show_bug.cgi?id=72321

        Reviewed by Adam Barth.

        Make ImageFrame member getAddr() public to allow ImageFrame users access to the
        underlying frame pixels if needed. Image decoders, for example, could with care
        use this service to write decoded pixels direct to the ImageFrame pixel buffer,
        avoiding intermeadiate data copies from temporary decoded pixel row buffers and
        the decoding performance loss that that entails.

        No new tests, refactoring only.

        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageFrame::getAddr):

2011-11-14  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Crash] Crash when inspecting namespaced SVG styled via element names
        https://bugs.webkit.org/show_bug.cgi?id=72261

        Reviewed by Pavel Feldman.

        Test: inspector/styles/svg-style.xhtml

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::inlineStyleSheetText):

2011-11-15  Kent Tamura  <tkent@chromium.org>

        [V8] Fix incorrect handling of JavaScript properties in DOMStringMap
        https://bugs.webkit.org/show_bug.cgi?id=53578

        Reviewed by Adam Barth.

        Follows a JSC behavior change by r96893.

        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::V8DOMStringMap::namedPropertyGetter):
        Propagate to the JavaScript object if the DOMStringMap object
        doesn't have the requested item.
        (WebCore::V8DOMStringMap::namedPropertyDeleter): ditto.
        (WebCore::V8DOMStringMap::namedPropertySetter):
        Try to set a property to only a DOMStringMap object.

2011-11-14  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: Command line $x fails for 3 of 4 types of XPath query
        https://bugs.webkit.org/show_bug.cgi?id=72276

        Reviewed by Timothy Hatcher.

        Test: inspector/console/console-xpath.html

        * inspector/InjectedScriptSource.js:
        (.):

2011-11-14  Ryosuke Niwa  <rniwa@webkit.org>

        Fix the change log entry for r59190.

        * ChangeLog-2010-05-24:

2011-11-14  Dmitry Lomov  <dslomov@google.com>
        
        [V8][Chromium]Serialize dense arrays densly
        https://bugs.webkit.org/show_bug.cgi?id=72198
        This patch ensures that:
        - Dense arrays are serialized densly, and not as name-value pairs
        - Sparse arrays are allocated as sparse on deserialization.
        The criteria to choose whether to serialize densly or sparsely is the size
        of a resulting serialized stream.

        Reviewed by David Levin.

        Test: fast/dom/Window/window-postmessage-arrays.html

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::V8ObjectMap::Writer::writeDenseArray):
        (WebCore::V8ObjectMap::Writer::writeGenerateFreshSparseArray):
        (WebCore::V8ObjectMap::Writer::writeGenerateFreshDenseArray):
        (WebCore::V8ObjectMap::Serializer::writeDenseArray):
        (WebCore::V8ObjectMap::Serializer::AbstractObjectState::execDepth):
        (WebCore::V8ObjectMap::Serializer::AbstractObjectState::serializeProperties):
        (WebCore::V8ObjectMap::Serializer::ObjectState::advance):
        (WebCore::V8ObjectMap::Serializer::DenseArrayState::DenseArrayState):
        (WebCore::V8ObjectMap::Serializer::DenseArrayState::advance):
        (WebCore::V8ObjectMap::Serializer::DenseArrayState::objectDone):
        (WebCore::V8ObjectMap::Serializer::SparseArrayState::SparseArrayState):
        (WebCore::V8ObjectMap::Serializer::SparseArrayState::advance):
        (WebCore::V8ObjectMap::Serializer::serializeDensely):
        (WebCore::V8ObjectMap::Serializer::startArrayState):
        (WebCore::V8ObjectMap::Serializer::startObjectState):
        (WebCore::V8ObjectMap::Serializer::doSerialize):
        (WebCore::V8ObjectMap::Reader::read):
        (WebCore::V8ObjectMap::Deserializer::newSparseArray):
        (WebCore::V8ObjectMap::Deserializer::completeSparseArray):
        (WebCore::V8ObjectMap::Deserializer::completeDenseArray):

2011-11-14  Alexandre Elias  <aelias@google.com>

        [chromium] Fix scaleDelta zoom-out visibility rect bug
        https://bugs.webkit.org/show_bug.cgi?id=72208

        Since the scroll is no longer applied at the top layer of the layer
        tree, the scaleDelta transformation needs to be moved down to the
        same level.

        Also fix zoomAnimator to be applied the same way.  I removed zoom
        animator layout tests, as they aren't testing the actual impl-side
        codepath, and are hard to continue supporting -- we should cover zoom
        features with unit tests in the future.

        Reviewed by James Robinson.

        No new tests (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)

        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::scaleDelta):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersInternal):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        (WebCore::CCLayerImpl::setScaleDelta):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::scaleDelta):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::setScaleDelta):
        (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):

2011-11-14  Chris Fleizach  <cfleizach@apple.com>

        WebProcess crashes when trying to display your "uploaded videos" page on Facebook
        https://bugs.webkit.org/show_bug.cgi?id=72334

        Reviewed by Beth Dakin.

        Protect against documents without frames.

        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):

2011-11-14  Oliver Hunt  <oliver@apple.com>

        More V8 build fixes.

        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::setWebGLArrayHelper):

2011-11-14  Oliver Hunt  <oliver@apple.com>

        Fix V8 build again.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WTF::Float64Array::neuterBinding):

2011-11-14  Oliver Hunt  <oliver@apple.com>

        Fix V8 build.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (WTF::Float64Array::neuterBinding):

2011-11-14  Oliver Hunt  <oliver@apple.com>

        Start migrating typed array impl types to WTF
        https://bugs.webkit.org/show_bug.cgi?id=72336

        Reviewed by Geoffrey Garen.

        Move typed arrays from WebCore namespace to WTF, and
        start reducing dependencies on WebCore types.

        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::setWebGLArrayHelper):
        * bindings/scripts/CodeGeneratorJS.pm:
        (IsTypedArrayType):
        (AddClassForwardIfNeeded):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (IsTypedArrayType):
        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp: Added.
        (WebDOMFloat64Array::WebDOMFloat64Array):
        (WebDOMFloat64Array::impl):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMFloat64Array.h: Added.
        (WebDOMFloat64Array::~WebDOMFloat64Array):
        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp: Added.
        (WebKit::kit):
        (WebKit::core):
        (webkit_dom_float64array_finalize):
        (webkit_dom_float64array_set_property):
        (webkit_dom_float64array_get_property):
        (webkit_dom_float64array_constructed):
        (webkit_dom_float64array_class_init):
        (webkit_dom_float64array_init):
        (WebKit::wrapFloat64Array):
        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h: Added.
        * bindings/scripts/test/JS/JSFloat64Array.cpp: Added.
        (WebCore::JSFloat64ArrayConstructor::JSFloat64ArrayConstructor):
        (WebCore::JSFloat64ArrayConstructor::finishCreation):
        (WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):
        (WebCore::JSFloat64ArrayConstructor::getConstructData):
        (WebCore::getJSFloat64ArrayPrototypeTable):
        (WebCore::JSFloat64ArrayPrototype::self):
        (WebCore::getJSFloat64ArrayTable):
        (WebCore::JSFloat64Array::JSFloat64Array):
        (WebCore::JSFloat64Array::finishCreation):
        (WebCore::JSFloat64Array::createPrototype):
        (WebCore::JSFloat64Array::getOwnPropertySlot):
        (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
        (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
        (WebCore::jsFloat64ArrayConstructor):
        (WebCore::JSFloat64Array::put):
        (WebCore::JSFloat64Array::putByIndex):
        (WebCore::JSFloat64Array::getOwnPropertyNames):
        (WebCore::JSFloat64Array::getConstructor):
        (WebCore::JSFloat64Array::getByIndex):
        (WebCore::toFloat64Array):
        (WTF::Float64Array::neuterBinding):
        * bindings/scripts/test/JS/JSFloat64Array.h: Added.
        (WebCore::JSFloat64Array::create):
        (WebCore::JSFloat64Array::createStructure):
        (WebCore::JSFloat64Array::impl):
        (WebCore::JSFloat64ArrayPrototype::create):
        (WebCore::JSFloat64ArrayPrototype::createStructure):
        (WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
        (WebCore::JSFloat64ArrayConstructor::create):
        (WebCore::JSFloat64ArrayConstructor::createStructure):
        * bindings/scripts/test/ObjC/DOMFloat64Array.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
        * bindings/scripts/test/ObjC/DOMFloat64Array.mm: Copied from Source/WebCore/html/canvas/Float32Array.cpp.
        (core):
        (kit):
        * bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
        * bindings/scripts/test/TestTypedArray.idl: Copied from Source/WebCore/html/canvas/Float64Array.cpp.
        * bindings/scripts/test/V8/V8Float64Array.cpp: Added.
        (WebCore::Float64ArrayInternal::V8_USE):
        (WebCore::ConfigureV8Float64ArrayTemplate):
        (WebCore::V8Float64Array::GetRawTemplate):
        (WebCore::V8Float64Array::GetTemplate):
        (WebCore::V8Float64Array::HasInstance):
        (WebCore::V8Float64Array::wrapSlow):
        (WTF::Float64Array::neuterBinding):
        (WebCore::V8Float64Array::derefObject):
        * bindings/scripts/test/V8/V8Float64Array.h: Added.
        (WebCore::V8Float64Array::toNative):
        (WebCore::V8Float64Array::existingWrapper):
        (WebCore::V8Float64Array::wrap):
        (WebCore::toV8):
        * fileapi/FileReader.h:
        * fileapi/FileReaderLoader.h:
        * fileapi/FileReaderSync.h:
        * fileapi/WebKitBlobBuilder.h:
        * html/HTMLMediaElement.h:
        * html/canvas/ArrayBuffer.cpp:
        * html/canvas/ArrayBuffer.h:
        * html/canvas/ArrayBufferView.cpp:
        (WTF::ArrayBufferView::setImpl):
        (WTF::ArrayBufferView::setRangeImpl):
        (WTF::ArrayBufferView::zeroRangeImpl):
        (WTF::ArrayBufferView::neuter):
        * html/canvas/ArrayBufferView.h:
        * html/canvas/Float32Array.cpp:
        * html/canvas/Float32Array.h:
        (WTF::Float32Array::set):
        * html/canvas/Float64Array.cpp:
        * html/canvas/Float64Array.h:
        (WTF::Float64Array::set):
        * html/canvas/Int16Array.cpp:
        * html/canvas/Int16Array.h:
        (WTF::Int16Array::set):
        * html/canvas/Int32Array.cpp:
        * html/canvas/Int32Array.h:
        (WTF::Int32Array::set):
        * html/canvas/Int8Array.cpp:
        * html/canvas/Int8Array.h:
        (WTF::Int8Array::set):
        * html/canvas/IntegralTypedArrayBase.h:
        * html/canvas/TypedArrayBase.h:
        (WTF::TypedArrayBase::set):
        (WTF::TypedArrayBase::setRange):
        (WTF::TypedArrayBase::zeroRange):
        * html/canvas/Uint16Array.cpp:
        * html/canvas/Uint16Array.h:
        (WTF::Uint16Array::set):
        * html/canvas/Uint32Array.cpp:
        * html/canvas/Uint32Array.h:
        (WTF::Uint32Array::set):
        * html/canvas/Uint8Array.cpp:
        * html/canvas/Uint8Array.h:
        (WTF::Uint8Array::set):
        * html/canvas/WebGLBuffer.h:
        * page/Crypto.h:
        * webaudio/AsyncAudioDecoder.h:
        * webaudio/AudioBuffer.cpp:
        (WebCore::AudioBuffer::AudioBuffer):
        (WebCore::AudioBuffer::zero):
        * webaudio/AudioContext.h:
        * webaudio/JavaScriptAudioNode.h:
        * webaudio/RealtimeAnalyser.h:
        * webaudio/RealtimeAnalyserNode.h:
        * webaudio/WaveShaperNode.h:
        * websockets/ThreadableWebSocketChannel.h:
        * websockets/WebSocket.h:
        * websockets/WebSocketChannel.h:
        * xml/XMLHttpRequest.h:

2011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>

        Add --css-grid-layout to build-webkit and the build systems
        https://bugs.webkit.org/show_bug.cgi?id=72320

        Reviewed by Ojan Vafai.

        * Configurations/FeatureDefines.xcconfig:

2011-11-14  Daniel Bates  <dbates@rim.com>

        Remove unnecessary #include SVGResourcesCache.h in SVGDocumentExtensions.h; use forward declaration
        https://bugs.webkit.org/show_bug.cgi?id=72335

        Reviewed by Eric Seidel.

        It's sufficient to forward declare SVGResourcesCache in SVGDocumentExtensions.h and #include SVGResourcesCache.h
        in SVGDocumentExtensions.cpp. This will reduce the number of files we need to re-compile after the file
        SVGResourcesCache.h has been modified. Currently we #include SVGResourcesCache.h in SVGDocumentExtensions.h.

        * rendering/svg/RenderSVGBlock.cpp: Include SVGResourcesCache.h.
        * rendering/svg/RenderSVGContainer.cpp: Ditto.
        * rendering/svg/RenderSVGForeignObject.cpp: Ditto.
        * rendering/svg/RenderSVGImage.cpp: Ditto.
        * rendering/svg/RenderSVGInline.cpp: Ditto.
        * rendering/svg/RenderSVGModelObject.cpp: Ditto.
        * rendering/svg/RenderSVGPath.cpp: Ditto.
        * rendering/svg/RenderSVGResource.cpp: Ditto.
        * rendering/svg/RenderSVGResourceClipper.cpp: Ditto.
        * rendering/svg/RenderSVGResourceContainer.cpp: Ditto.
        * rendering/svg/RenderSVGRoot.cpp: Ditto.
        * rendering/svg/RenderSVGText.cpp: Ditto.
        * rendering/svg/SVGInlineTextBox.cpp: Ditto.
        * rendering/svg/SVGRenderSupport.cpp: Ditto.
        * svg/SVGDocumentExtensions.cpp: Ditto.
        * svg/SVGDocumentExtensions.h: Forward declare SVGResourcesCache.

2011-11-14  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Add histogram collection for usage of DOM Mutation Events
        https://bugs.webkit.org/show_bug.cgi?id=72316

        Reviewed by Ryosuke Niwa.

        This patch adds six calls in ~Document() which simply pipe-out to the embedder
        the (already-collected) bits of whether varous DOM Mutation Events were registered
        on the document.

        No tests needed. No functional changes.

        * dom/Document.cpp:
        (WebCore::histogramMutationEventUsage):
        (WebCore::Document::~Document):

2011-11-14  Simon Fraser  <simon.fraser@apple.com>

        div with webkit-transform + webkit-box-reflect disappears when switching tabs
        https://bugs.webkit.org/show_bug.cgi?id=53355

        Reviewed by Dean Jackson.

        Tickle Core Animation into updating the layer's content property when
        switching back to a tab which has composited reflections. This hack is
        needed becuase reflections involve sharing layer contents between layers.

        * platform/graphics/mac/WebLayer.mm:
        (-[WebLayer actionForKey:]):

2011-11-14  Adam Barth  <abarth@webkit.org>

        Unique origins shouldn't remember their scheme, host, or port
        https://bugs.webkit.org/show_bug.cgi?id=72308

        Reviewed by Eric Seidel.

        This patch contains the bulk (all?) of the behavior differences in this
        patch series.  Unique origins shouldn't remember their schemes.  Doing
        so causes some privileges (e.g., local access) to leak into unique
        origins.

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
            - Explicitly clear out the protocol, host, and port for unique
              origins.  A future patch will refactor all this code to be more
              elegant.
        * platform/SchemeRegistry.cpp:
        (WebCore::schemesWithUniqueOrigins):
            - Merge "about" and "javascript" in with the general case now that
              we don't have a separate notion of an empty origin.

2011-11-14  Adam Barth  <abarth@webkit.org>

        Don't special-case "data" URLs in drag-and-drop logic
        https://bugs.webkit.org/show_bug.cgi?id=72322

        Reviewed by Eric Seidel.

        See the bug for more details.

        Test: editing/pasteboard/drag-drop-to-data-url.html

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canReceiveDragData):

2011-11-14  Adrienne Walker  <enne@google.com>

        [chromium] Pipe compositor commit/swap up to WebWidgetClient
        https://bugs.webkit.org/show_bug.cgi?id=72041

        Reviewed by Darin Fisher.

        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
        (WebCore::CCLayerTreeHost::didCompleteSwapBuffers):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
        (WebCore::CCThreadProxy::didCommitAndDrawFrame):
        (WebCore::CCThreadProxy::didCompleteSwapBuffers):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-11-14  Tony Chang  <tony@chromium.org>

        Remove the CSS3_FLEXBOX compile time flag and enable on all ports
        https://bugs.webkit.org/show_bug.cgi?id=72196

        Reviewed by Ojan Vafai.

        * Configurations/FeatureDefines.xcconfig:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSFlexValue.cpp:
        * css/CSSFlexValue.h:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFlex):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        * css/CSSValue.h:
        * css/CSSValueKeywords.in:
        * rendering/RenderFlexibleBox.cpp:
        * rendering/RenderFlexibleBox.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isFlexibleBoxIncludingDeprecated):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleFlexibleBoxData.cpp:
        * rendering/style/StyleFlexibleBoxData.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2011-11-14  Vincent Scheib  <scheib@chromium.org>

        Mouse Lock: Renaming to 'Pointer Lock': Runtime Enable Flags
        https://bugs.webkit.org/show_bug.cgi?id=72303

        Reviewed by Darin Fisher.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitPointerLockEnabled):
        (WebCore::RuntimeEnabledFeatures::setWebkitPointerLockEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setPointerLockEnabled):
        (WebCore::Settings::PointerLockEnabled):

2011-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100176.
        http://trac.webkit.org/changeset/100176
        https://bugs.webkit.org/show_bug.cgi?id=72309

        it broke the Mac builds (missing symbols) in a non-obvious way
        (Requested by jchaffraix on #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        * html/canvas/WebGLExperimentalCompressedTextures.cpp: Removed.
        * html/canvas/WebGLExperimentalCompressedTextures.h: Removed.
        * html/canvas/WebGLExperimentalCompressedTextures.idl: Removed.
        * html/canvas/WebGLExtension.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getExtension):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getSupportedExtensions):
        * html/canvas/WebGLRenderingContext.h:
        * platform/graphics/Extensions3D.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:

2011-11-14  Tony Chang  <tony@chromium.org>

        remove -wap-marquee css propery value
        https://bugs.webkit.org/show_bug.cgi?id=72296

        Reviewed by Adam Barth.

        This css value is no longer used.

        * css/CSSValueKeywords.in:

2011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>

        Crash in RenderTableSection::splitColumn
        https://bugs.webkit.org/show_bug.cgi?id=70171

        Reviewed by David Hyatt.

        Tests: fast/table/crash-splitColumn-2.html
               fast/table/crash-splitColumn-3.html
               fast/table/crash-splitColumn.html

        The old code would not take into account the fact that each RenderTableSection
        can set its m_needsCellRecalc flag independently of the rest.

        This means that you cannot assume that you can always split or append columns to
        all the sections. Our approach is to skip sections needing cell recalc in several
        parts of the code as they will be properly reset to the table's representations
        during a cell recalc.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::splitColumn):
        (WebCore::RenderTable::appendColumn):
        Skip sections needing cell recalc as they will be properly updated later.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addCell):
        Ignore a section needing cell recalc as addCell will be called after sync'ing
        the internal column representation in recalcCells.

        (WebCore::RenderTableSection::recalcCells):
        Clear the flag at the beginning of the function to activate the previous functions.
        Added a comment as to why this is fine.

        (WebCore::RenderTableSection::appendColumn):
        Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
        of recalcCells().

2011-11-14  Adam Barth  <abarth@webkit.org>

        Remove the concept of an empty SecurityOrigin
        https://bugs.webkit.org/show_bug.cgi?id=72287

        Reviewed by Eric Seidel.

        This concept is fragile and doesn't exist in the specs.  Previous
        patches have removed most of the code relying upon this function.  This
        patch removes a couple stragglers.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessage):
            - This check should really be about unique origins because it
              doesn't make sense to target postMessages at unique origins, as
              explained in the comment.
        * page/SecurityOrigin.cpp:
        * page/SecurityOrigin.h:

2011-11-14  Adam Barth  <abarth@webkit.org>

        SecurityContext::isSecureTransitionTo should not refer to empty security origins
        https://bugs.webkit.org/show_bug.cgi?id=72277

        Reviewed by Eric Seidel.

        Now that we're tracking the "failed to initialized SecurityOrigin"
        state explicitly, we should use that to determine whether we can make a
        secure transition.

        * dom/SecurityContext.cpp:
        (WebCore::SecurityContext::isSecureTransitionTo):

2011-11-14  Vincent Scheib  <scheib@chromium.org>

        Mouse Lock: Renaming to 'Pointer Lock': ENABLE Flags
        https://bugs.webkit.org/show_bug.cgi?id=72286

        Reviewed by Adam Barth.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        * dom/MouseEvent.idl:
        * dom/MouseRelatedEvent.h:
        * page/MouseLockable.cpp:
        * page/MouseLockable.h:
        * page/MouseLockable.idl:
        * page/Navigator.cpp:
        * page/Navigator.h:
        * page/Navigator.idl:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:

2011-11-14  Anna Cavender  <annacc@chromium.org>

        Remove TextTrackCueIndex and TextTrackCueSet.  No longer needed.
        https://bugs.webkit.org/show_bug.cgi?id=72216

        Reviewed by Sam Weinig.

        No new tests. No new functionality.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * html/TextTrackCueIndex.cpp: Removed.
        * html/TextTrackCueIndex.h: Removed.

2011-10-10  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: border-spacing-applies-to-015.htm
        https://bugs.webkit.org/show_bug.cgi?id=69773

        Reviewed by David Hyatt.

        The CSS test suite expects UAs to allow multiple captions per table.
        Replace m_caption with a Vector called m_captions.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::RenderTable):
        (WebCore::RenderTable::addChild):
        (WebCore::RenderTable::removeChild):
        (WebCore::RenderTable::adjustLogicalHeightForCaption):
        (WebCore::RenderTable::layout):
        (WebCore::RenderTable::addOverflowFromChildren):
        (WebCore::RenderTable::paintObject):
        (WebCore::RenderTable::subtractCaptionRect):
        (WebCore::RenderTable::computePreferredLogicalWidths):
        (WebCore::RenderTable::nextColElement):
        (WebCore::RenderTable::colElement):
        (WebCore::RenderTable::recalcCaption):
        (WebCore::RenderTable::recalcSections):
        (WebCore::RenderTable::overflowClipRect):
        (WebCore::RenderTable::nodeAtPoint):
        * rendering/RenderTable.h:

2011-11-14  Gregg Tavares  <gman@google.com>

        Implement WEBGL_EXPERIMENTAL_compressed_textures WebGL extension
        https://bugs.webkit.org/show_bug.cgi?id=72086

        Reviewed by Kenneth Russell.

        No new tests. Will write final test once on hardware.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        * html/canvas/WebGLExperimentalCompressedTextures.cpp: Added.
        (WebCore::WebGLExperimentalCompressedTextures::WebGLExperimentalCompressedTextures):
        (WebCore::WebGLExperimentalCompressedTextures::~WebGLExperimentalCompressedTextures):
        (WebCore::WebGLExperimentalCompressedTextures::getName):
        (WebCore::WebGLExperimentalCompressedTextures::create):
        (WebCore::WebGLExperimentalCompressedTextures::supported):
        (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFormat):
        (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFuncData):
        (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexSubDimensions):
        (WebCore::WebGLExperimentalCompressedTextures::compressedTexImage2D):
        (WebCore::WebGLExperimentalCompressedTextures::compressedTexSubImage2D):
        (WebCore::WebGLExperimentalCompressedTextures::getCompressedTextureFormats):
        * html/canvas/WebGLExperimentalCompressedTextures.h: Added.
        * html/canvas/WebGLExperimentalCompressedTextures.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
        * html/canvas/WebGLExtension.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getExtension):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getSupportedExtensions):
        * html/canvas/WebGLRenderingContext.h:
        * platform/graphics/Extensions3D.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
        (WebCore::GraphicsContext3D::compressedTexImage2D):
        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::compressedTexImage2D):
        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::compressedTexImage2D):
        (WebCore::GraphicsContext3D::compressedTexSubImage2D):

2011-11-14  Michael Nordman  <michaeln@google.com>

        Return more complete error and exception messages when a
        WebSQLDatabase function fails. Produce console logging
        for openDatabase() errors and vacuum errors. Add a lastErrorMessage
        accessor to the DatabaseSync interface.
        https://bugs.webkit.org/show_bug.cgi?id=71575

        Reviewed by David Levin.

        Yes, see LayoutTests/ChangeLog in this patch.

        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::SQLiteDatabase::SQLiteDatabase):
        (WebCore::SQLiteDatabase::open):
        (WebCore::SQLiteDatabase::close):
        (WebCore::SQLiteDatabase::lastError):
        (WebCore::SQLiteDatabase::lastErrorMsg):
        (WebCore::SQLiteDatabase:: runVacuumCommand):
        (WebCore::SQLiteDatabase:: runIncrementalVacuumCommand):
        Reflect errors in the open() method in lastError() and lastErrorMsg().
        Return an error codes for runVacuumCommand() and runIncrementalVacuumCommand().

        * platform/sql/SQLiteDatabase.h:
        * storage/AbstractDatabase.cpp:
        (WebCore::formatErrorMessage):
        (WebCore::AbstractDatabase::performOpenAndVerify):
        (WebCore::AbstractDatabase::logErrorMessage):
        During openAndVerify, produce formatted error messages that include what was being done, the sqlite error code,
        and the sqlite error message. Add a helper to log message to the console.

        * storage/AbstractDatabase.h:
        * storage/ChangeVersionWrapper.cpp:
        (WebCore::ChangeVersionWrapper::performPreflight):
        (WebCore::ChangeVersionWrapper::performPostflight):
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        (WebCore::Database::openAndVerifyVersion):
        (WebCore::Database::performOpenAndVerify):
        * storage/Database.h:
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::openDatabaseSync):
        (WebCore::DatabaseSync::changeVersion):
        (WebCore::DatabaseSync::runTransaction):
        * storage/DatabaseSync.h:
        (WebCore::DatabaseSync::lastErrorMessage):
        (WebCore::DatabaseSync::setLastErrorMessage):
        * storage/DatabaseSync.idl:
        Add a lastErrorMessage attribute so javascript callers can
        retrieve more detailed information about what went wrong.

        * storage/DatabaseTask.cpp:
        (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::Database::DatabaseOpenTask::doPerformTask):
        * storage/DatabaseTask.h:
        (WebCore::Database::DatabaseOpenTask::create):
        Return an errorMessage in addition to the exception code.

        * storage/SQLError.h:
        (WebCore::SQLError::create):
        Add helpers to produced formatted error messages.

        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::execute):
        * storage/SQLStatementSync.cpp:
        (WebCore::SQLStatementSync::execute):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::postflightAndCommit):
        * storage/SQLTransactionSync.cpp:
        (WebCore::SQLTransactionSync::executeSQL):
        (WebCore::SQLTransactionSync::begin):
        (WebCore::SQLTransactionSync::execute):
        (WebCore::SQLTransactionSync::commit):

2011-11-14  Adam Barth  <abarth@webkit.org>

        SecurityOrigin inheritance should depend on document URL, not on "emptiness" of the SecurityOrigin
        https://bugs.webkit.org/show_bug.cgi?id=72283

        Reviewed by Sam Weinig.

        This change aligns our implementation more closely with the spec.  I
        don't think this change has an observable effects, but it moves us
        closer to removing the concept of an empty security origin.

        * dom/Document.cpp:
        (WebCore::shouldInheritSecurityOriginFromOwner):
        (WebCore::Document::initSecurityContext):

2011-11-14  Erik Arvidsson  <arv@chromium.org>

        Remove getParameter from HTMLAnchorElement and Location
        https://bugs.webkit.org/show_bug.cgi?id=71966

        Reviewed by Adam Barth.

        * html/HTMLAnchorElement.cpp: Removed getParameter.
        * html/HTMLAnchorElement.h: Ditto.
        * html/HTMLAnchorElement.idl: Ditto.
        * page/Location.cpp: Ditto.
        * page/Location.h: Ditto.
        * page/Location.idl: Ditto.

2011-11-14  Erik Arvidsson  <arv@chromium.org>

        Remove RequiresAllArguments
        https://bugs.webkit.org/show_bug.cgi?id=71503

        Reviewed by Adam Barth.

        This removes RequiresAllArguments from the idl files as well as from the code generators.
        For window.move/resize/scroll we now match IE and treat missing arguments as 0.
        For Clipboard we now match Gecko and IE and throw an exception when setData is called with too few arguments.

        Test: fast/events/drag-and-drop-set-drag-data-arguments.html

        * bindings/js/JSSVGLengthCustom.cpp:
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateArgumentsCountCheck): Remove RequiresAllArguments.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateArgumentsCountCheck): Ditto.
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::ConfigureV8TestObjTemplate):
        * dom/Clipboard.idl: Remove [RequireAllArguments] from setData which actually means we now require all arguments and throw instead of silently fail.
        * page/DOMWindow.idl: Treat missing arguments as 0 which makes us match IE.
        * websockets/WebSocket.idl: Comment changes only.

2011-11-08  Jer Noble  <jer.noble@apple.com>

        Implement MediaController.
        https://bugs.webkit.org/show_bug.cgi?id=71408

        Reviewed by Eric Carlson.

        Tests: media/media-controller-playback.html
               media/media-controller.html

        Adds support for the MediaController DOM object, and the mediagroup and mediacontroller
        HTMLMediaElement attributes.

        MediaController is an DOM object which synchronizes playback of multiple HTMLMediaElements. It can
        either be created by a page script and assigned to a HTMLMediaElement using the controller property,
        or all HTMLMediaElements with identical mediagroup attributes will have a MediaController assigned 
        automatically.

        Add an abstract interface implemented by both MediaController and HTMLMediaElement.
        * html/MediaControllerInterface.h: Added.
        (WebCore::MediaControllerInterface::~MediaControllerInterface):

        Add the MediaController object and IDL.
        * html/MediaController.cpp: Added.
        (mediaGroupToMediaControllerMap):
        (MediaController::mediaControllerForMediaGroup):
        (MediaController::create):
        (MediaController::MediaController):
        (MediaController::~MediaController):
        (MediaController::addMediaElement):
        (MediaController::removeMediaElement):
        (MediaController::containsMediaElement):
        (MediaController::buffered):
        (MediaController::seekable):
        (MediaController::played):
        (MediaController::duration):
        (MediaController::currentTime):
        (MediaController::setCurrentTime):
        (MediaController::play):
        (MediaController::pause):
        (MediaController::setDefaultPlaybackRate):
        (MediaController::setPlaybackRate):
        (MediaController::setVolume):
        (MediaController::setMuted):
        (MediaController::reportControllerState):
        (MediaController::updateReadyState):
        (MediaController::updatePlaybackState):
        (MediaController::updateMediaElements):
        (MediaController::scheduleEvent):
        (MediaController::asyncEventTimerFired):
        (MediaController::scriptExecutionContext):
        (MediaController::hasAudio):
        (MediaController::hasVideo):
        (MediaController::hasClosedCaptions):
        (MediaController::setClosedCaptionsVisible):
        (MediaController::supportsScanning):
        (MediaController::beginScrubbing):
        (MediaController::endScrubbing):
        (MediaController::canPlay):
        (MediaController::isLiveStream):
        (MediaController::hasSource):
        (MediaController::returnToRealtime):
        (MediaController::isBlocked):
        (MediaController::hasEnded):
        * html/MediaController.h: Added.
        (WebCore::MediaController::mediaGroup):
        (WebCore::MediaController::paused):
        (WebCore::MediaController::defaultPlaybackRate):
        (WebCore::MediaController::playbackRate):
        (WebCore::MediaController::volume):
        (WebCore::MediaController::muted):
        (WebCore::MediaController::readyState):
        (WebCore::MediaController::playbackState):
        (WebCore::MediaController::supportsFullscreen):
        (WebCore::MediaController::isFullscreen):
        (WebCore::MediaController::enterFullscreen):
        (WebCore::MediaController::closedCaptionsVisible):
        (WebCore::MediaController::refEventTarget):
        (WebCore::MediaController::derefEventTarget):
        (WebCore::MediaController::toMediaController):
        (WebCore::MediaController::eventTargetData):
        (WebCore::MediaController::ensureEventTargetData):
        * html/MediaController.idl: Added.

        Add convenience functions to TimeRanges which can calculate intersections and
        unions between TimeRanges objects.
        * html/TimeRanges.cpp:
        (TimeRanges::copy):
        (TimeRanges::invert):
        (TimeRanges::intersectWith):
        (TimeRanges::unionWith):
        * html/TimeRanges.h:

        Add MediaControllerConstructor to the Window object.
        * page/DOMWindow.idl:

        Add the two new attribute names, mediagroup and controller.
        * html/HTMLAttributeNames.in:

        Add support for the new attributes, and add overridden behavior when a media element
        has a current media controller:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::~HTMLMediaElement):
        (WebCore::HTMLMediaElement::parseMappedAttribute):
        (WebCore::HTMLMediaElement::prepareForLoad):
        (WebCore::HTMLMediaElement::setReadyState):
        (WebCore::HTMLMediaElement::setCurrentTime):
        (WebCore::HTMLMediaElement::setPlaybackRate):
        (WebCore::HTMLMediaElement::playInternal):
        (WebCore::HTMLMediaElement::togglePlayState):
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
        (WebCore::HTMLMediaElement::seekable):
        (WebCore::HTMLMediaElement::potentiallyPlaying):
        (WebCore::HTMLMediaElement::endedPlayback):
        (WebCore::HTMLMediaElement::updateVolume):
        (WebCore::HTMLMediaElement::updatePlayState):
        (WebCore::HTMLMediaElement::userCancelledLoad):
        (WebCore::HTMLMediaElement::mediaGroup):
        (WebCore::HTMLMediaElement::setMediaGroup):
        (WebCore::HTMLMediaElement::controller):
        (WebCore::HTMLMediaElement::setController):
        (WebCore::HTMLMediaElement::updateMediaController):
        (WebCore::HTMLMediaElement::isBlockedOnMediaController):
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::hasSource):
        (WebCore::HTMLMediaElement::isLiveStream):
        * html/HTMLMediaElement.idl:
        * bindings/js/JSHTMLMediaElementCustom.cpp: Added.
        (WebCore::JSHTMLMediaElement::setMediaController):

        Add convenience functions to store a mapping of media-elements-per-document to allow
        a quick lookup of media elements with the same media group within a given document:
        * html/HTMLMediaElement.cpp:
        (WebCore::documentToElementSetMap):
        (WebCore::addElementToDocumentMap):
        (WebCore::removeElementFromDocumentMap):
        
        Add a function "seekable" which returns a TimeRanges containing the seekable time ranges
        in a media element.  By default this is a single range of [0, maxTimeSeekable].
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::seekable):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::seekable):

        Support functions to cast between MediaController and EventTarget.
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toMediaController):
        * dom/EventTarget.h:

        Fixed an infinite-recursion bug due to a collision between WTF::currentTime and
        ClockGeneric::currentTime:
        * platform/ClockGeneric.cpp:
        (ClockGeneric::ClockGeneric):
        (ClockGeneric::setCurrentTime):
        (ClockGeneric::currentTime):
        (ClockGeneric::setPlayRate):
        (ClockGeneric::start):
        (ClockGeneric::stop):
        (ClockGeneric::now):
        * platform/ClockGeneric.h:

        Boilerplate to support creating the derived sources for MediaController and adding new sources
        to the project:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:

2011-11-14  Florin Malita  <fmalita@google.com>

        Multiple foreign objects not rendered
        https://bugs.webkit.org/show_bug.cgi?id=72151

        Reviewed by Adam Barth.

        SVG end tags need to be case-adjusted (just like their start counterparts).

        Test: svg/foreignObject/multiple-foreign-objects.html

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2011-11-14  Mario Sanchez Prada  <msanchez@igalia.com>

        Add support for the caretBrowsingEnabled preference in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=72266

        Reviewed by Chris Fleizach.

        * WebCore.exp.in: Exported settings for setCaretBrowsingEnabled.

2011-11-14  Jonathan Backer  <backer@chromium.org>

        [chromium] Plumb through partial swap
        https://bugs.webkit.org/show_bug.cgi?id=72028

        Reviewed by Kenneth Russell.

        * platform/graphics/chromium/Extensions3DChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):

2011-11-14  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: expose iframe window to the onShown event handler of panels & sidebars
        https://bugs.webkit.org/show_bug.cgi?id=72268

        Reviewed by Pavel Feldman.

        - replace IFrameView with ExtensionView;
        - inherit both ExtensionPanel and ExtensionSidebarPane from ExtensionView in the API;
        - move Panel.{onShow|onHide} to ExtensionView, effectively disabling show/hide notifications for non-extension panels and enabling it for sidebar panes;
        - expose iframe's window object in the onShow event handler.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.ExtensionViewImpl.dispatchShowEvent):
        (injectedExtensionAPI):
        (injectedExtensionAPI.PanelWithSidebarImpl):
        (injectedExtensionAPI.ExtensionPanelImpl):
        (injectedExtensionAPI.ExtensionSidebarPaneImpl):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionView):
        (WebInspector.ExtensionView.prototype.wasShown):
        (WebInspector.ExtensionView.prototype.willHide):
        (WebInspector.ExtensionView.prototype._onLoad):
        (WebInspector.ExtensionPanel):
        (WebInspector.ExtensionSidebarPane.prototype.setPage):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype.notifyViewShown):
        (WebInspector.ExtensionServer.prototype.notifyViewHidden):
        (WebInspector.ExtensionServer.prototype._onCreatePanel):
        * inspector/front-end/IFrameView.js: Removed.
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.wasShown):
        (WebInspector.Panel.prototype.willHide):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-11-14  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: add 'Show function definition' context menu item for function values
        https://bugs.webkit.org/show_bug.cgi?id=72265

        Allow navigating to JavaScript function definition using context menu.

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.rawLocationToUILocation):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
        (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
        * inspector/front-end/inspector.js:
        (WebInspector.showPanelForAnchorNavigation):

2011-11-14  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: console's protocol payload does not have url and line properties.
        https://bugs.webkit.org/show_bug.cgi?id=72256

        Reviewed by Yury Semikhatsky.

        Test: inspector/console/console-url-and-line.html

        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl):

2011-11-14  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: [regression r99960] null callback access.
        https://bugs.webkit.org/show_bug.cgi?id=72263

        Reviewed by Yury Semikhatsky.

        * inspector/CodeGeneratorInspector.py:

2011-11-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Unbreak the build on Mac OS X

        QMacStyle is guarded by Q_WS_MAC, which is not the case for QPA. Until
        that's been fixed in Qt we have to use the same guards in WebKit, not
        Q_OS_MAC.

        * platform/qt/RenderThemeQStyle.cpp:
        (WebCore::RenderThemeQStyle::RenderThemeQStyle):
        (WebCore::RenderThemeQStyle::adjustButtonStyle):
        (WebCore::RenderThemeQStyle::paintMenuList):
        (WebCore::RenderThemeQStyle::paintInnerSpinButton):
        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::ScrollbarThemeQt::paint):

2011-11-14  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Replace use of QApplication with QGuiApplication.

        Reviewed by Tor Arne Vestbø.

        Replace use of QApplication by QGuiApplication where applicable.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::RenderThemeQt):
        (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeQt::platformFocusRingColor):
        (WebCore::RenderThemeQt::systemColor):
        (WebCore::RenderThemeQt::minimumMenuListSize):
        (WebCore::RenderThemeQt::getMediaControlForegroundColor):
        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeQt::caretBlinkInterval):

2011-11-14  Jaehoon Jeong  <jh4u.jeong@samsung.com>

        [CMAKE] Add the UseV8.cmake to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=72000

        Reviewed by Daniel Bates.

        Add the UseV8.cmake to WebCore to build bindings of V8 and
        generate JavaScript codes given IDL input.

        * UseV8.cmake: Added.

2011-11-11  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Remove the QStyle dependency in Qt's mobile theme
        https://bugs.webkit.org/show_bug.cgi?id=67773

        This refactoring splits up RenderThemeQt with two
        subclasses, a QStyle-backed one, and a Mobile version
        that uses the old mobile theme for now.

        QStyle availability is detected at compile time, and
        its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
        environment variable.

        Reviewed by Simon Hausmann.

        Covered by the existing tests.

        * Target.pri:
        * platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
        now lives within RenderThemeQtMobile.
        * platform/qt/QtMobileWebStyle.h: Removed. Ditto.
        * platform/qt/RenderThemeQStyle.cpp: Added.
        (WebCore::initStyleOption):
        (WebCore::RenderThemeQStyle::getStylePainter):
        (WebCore::StylePainterQStyle::StylePainterQStyle):
        (WebCore::StylePainterQStyle::init):
        (WebCore::RenderThemeQStyle::create):
        (WebCore::RenderThemeQStyle::RenderThemeQStyle):
        (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
        (WebCore::RenderThemeQStyle::fallbackStyle):
        (WebCore::RenderThemeQStyle::qStyle):
        (WebCore::RenderThemeQStyle::findFrameLineWidth):
        (WebCore::RenderThemeQStyle::inflateButtonRect):
        (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQStyle::adjustButtonStyle):
        (WebCore::RenderThemeQStyle::setButtonPadding):
        (WebCore::RenderThemeQStyle::paintButton):
        (WebCore::RenderThemeQStyle::adjustTextFieldStyle):
        (WebCore::RenderThemeQStyle::paintTextField):
        (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
        (WebCore::RenderThemeQStyle::paintTextArea):
        (WebCore::RenderThemeQStyle::setPopupPadding):
        (WebCore::RenderThemeQStyle::paintMenuList):
        (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
        (WebCore::RenderThemeQStyle::paintMenuListButton):
        (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
        (WebCore::RenderThemeQStyle::paintProgressBar):
        (WebCore::RenderThemeQStyle::paintSliderTrack):
        (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
        (WebCore::RenderThemeQStyle::paintSliderThumb):
        (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
        (WebCore::RenderThemeQStyle::paintSearchField):
        (WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
        (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
        (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeQStyle::paintInnerSpinButton):
        (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
        (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
        * platform/qt/RenderThemeQStyle.h: Added.
        (WebCore::StylePainterQStyle::isValid):
        (WebCore::StylePainterQStyle::drawPrimitive):
        (WebCore::StylePainterQStyle::drawControl):
        (WebCore::StylePainterQStyle::drawComplexControl):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::RenderThemeQt):
        (WebCore::RenderThemeQt::isControlStyled):
        (WebCore::RenderThemeQt::inflateButtonRect):
        (WebCore::RenderThemeQt::adjustRepaintRect):
        (WebCore::RenderThemeQt::minimumMenuListSize):
        (WebCore::RenderThemeQt::adjustTextFieldStyle):
        (WebCore::RenderThemeQt::adjustMenuListStyle):
        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
        (WebCore::RenderThemeQt::adjustProgressBarStyle):
        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
        (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
        (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
        (WebCore::RenderThemeQt::paintMediaMuteButton):
        (WebCore::RenderThemeQt::paintMediaPlayButton):
        (WebCore::RenderThemeQt::paintMediaCurrentTime):
        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
        (WebCore::RenderThemeQt::paintMediaSliderTrack):
        (WebCore::RenderThemeQt::paintMediaSliderThumb):
        (WebCore::RenderThemeQt::adjustSliderThumbSize):
        (WebCore::RenderThemeQt::caretBlinkInterval):
        (WebCore::RenderThemeQt::fileListNameForWidth):
        (WebCore::StylePainter::StylePainter):
        (WebCore::StylePainter::init):
        (WebCore::StylePainter::~StylePainter):
        * platform/qt/RenderThemeQt.h:
        (WebCore::RenderThemeQt::useMobileTheme):
        (WebCore::StylePainter::isValid):
        * platform/qt/RenderThemeQtMobile.cpp: Added.
        (WebCore::drawRectangularControlBackground):
        (WebCore::RenderThemeQtMobile::getStylePainter):
        (WebCore::StylePainterMobile::StylePainterMobile):
        (WebCore::StylePainterMobile::drawChecker):
        (WebCore::StylePainterMobile::findChecker):
        (WebCore::StylePainterMobile::drawRadio):
        (WebCore::StylePainterMobile::findRadio):
        (WebCore::StylePainterMobile::drawMultipleComboButton):
        (WebCore::StylePainterMobile::drawSimpleComboButton):
        (WebCore::StylePainterMobile::getButtonImageSize):
        (WebCore::StylePainterMobile::findComboButton):
        (WebCore::StylePainterMobile::drawLineEdit):
        (WebCore::StylePainterMobile::drawCheckBox):
        (WebCore::StylePainterMobile::drawRadioButton):
        (WebCore::StylePainterMobile::drawPushButton):
        (WebCore::StylePainterMobile::drawComboBox):
        (WebCore::RenderThemeQtMobile::create):
        (WebCore::RenderTheme::themeForPage):
        (WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
        (WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
        (WebCore::RenderThemeQtMobile::isControlStyled):
        (WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
        (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQtMobile::adjustButtonStyle):
        (WebCore::RenderThemeQtMobile::setButtonPadding):
        (WebCore::RenderThemeQtMobile::paintButton):
        (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
        (WebCore::RenderThemeQtMobile::paintTextField):
        (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
        (WebCore::RenderThemeQtMobile::setPopupPadding):
        (WebCore::RenderThemeQtMobile::paintMenuList):
        (WebCore::RenderThemeQtMobile::paintMenuListButton):
        (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
        (WebCore::RenderThemeQtMobile::paintProgressBar):
        (WebCore::RenderThemeQtMobile::paintSliderTrack):
        (WebCore::RenderThemeQtMobile::paintSliderThumb):
        (WebCore::RenderThemeQtMobile::checkMultiple):
        (WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
        (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
        * platform/qt/RenderThemeQtMobile.h: Added.
        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::ScrollbarTheme::nativeTheme):
        (WebCore::ScrollbarThemeQt::paint):
        (WebCore::ScrollbarThemeQt::scrollbarThickness):
        (WebCore::ScrollbarThemeQt::paintScrollCorner):

2011-11-14  Adam Barth  <abarth@webkit.org>

        SecurityContext should track whether the SecurityOrigin has been initialized
        https://bugs.webkit.org/show_bug.cgi?id=72250

        Reviewed by Eric Seidel.

        This patch is another step towards https://bugs.webkit.org/show_bug.cgi?id=71745.

        One of the things we use "empty" SecurityOrigins for is detecting
        whether a Document's SecurityOrigin has been initialized.  In this
        patch, we track that state directly on SecurityContext (which is a base
        class of Document), moving us closer to removing the concept of an
        empty SecurityOrigin.

        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext):
        * dom/SecurityContext.cpp:
        (WebCore::SecurityContext::SecurityContext):
        (WebCore::SecurityContext::setSecurityOrigin):
        * dom/SecurityContext.h:
        (WebCore::SecurityContext::didFailToInitializeSecurityOrigin):
        (WebCore::SecurityContext::haveInitializedSecurityOrigin):

2011-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck build.

        * GNUmakefile.list.am: Add missing files.

2011-11-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Give HTML ContextMenu a more Native look
        https://bugs.webkit.org/show_bug.cgi?id=72207

        Reviewed by Pavel Feldman.

        * inspector/front-end/SoftContextMenu.js:
        (.WebInspector.SoftContextMenu.prototype._createMenuItem):
        Give the checkmark a class name so that it can be styled more
        with CSS instead of with JavaScript.

        * inspector/front-end/inspector.css:
        (.soft-context-menu): tweak the border and shadow.
        (.soft-context-menu-item): tweak the font size and positioning.
        (.soft-context-menu-separator): tweak the whitespace.
        (.soft-context-menu-item-mouse-over): solid blue for non-mac platforms.
        (body.platform-mac .soft-context-menu-item-mouse-over): gradient for mac platforms.
        (.soft-context-menu-item-checkmark): gray color normally.
        (.soft-context-menu-item-mouse-over .soft-context-menu-item-checkmark): white on hover.

2011-11-10  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: function remote objetct should provide access to function position in the script
        https://bugs.webkit.org/show_bug.cgi?id=71808

        Added Debugger.getFunctionLocation command for resolving function location including
        start line, column and script id.

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/function-location.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::functionLocation):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::functionLocationCallback):
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::getFunctionLocation):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::getFunctionLocation):
        * inspector/InspectorDebuggerAgent.h:

2011-11-14  Rakesh KN  <rakesh.kn@motorola.com>

        Cannot select multiple options by mouse dragging in <select multiple="multiple" size="7"> list
        https://bugs.webkit.org/show_bug.cgi?id=70496

        Reviewed by Kent Tamura.

        Select Multiple options in a select element with a mouse drag when no. of options
        are less than the no. specified in size attribute.
        Other browsers(IE, Opera, Firefox) support this feature

        Test: fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
        Handled mouse move event with Left button pressed. We select the options under mouse
        when mouse drag happens and the select element cannot autoscroll.

2011-11-14  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: [chromium] list dedicated workers in case inspector opened post-worker creation.
        https://bugs.webkit.org/show_bug.cgi?id=72020

        Collect information about dedicated workers even when inspector is closed. This
        way we can list all dedicated workers if the front-end opens later.

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector-enabled/dedicated-workers-list.html

        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didStartWorkerContext):
        * inspector/InspectorWorkerAgent.cpp:
        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
        (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
        (WebCore::InspectorWorkerAgent::setFrontend):
        (WebCore::InspectorWorkerAgent::restore):
        (WebCore::InspectorWorkerAgent::clearFrontend):
        (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
        (WebCore::InspectorWorkerAgent::workerContextTerminated):
        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
        (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
        * inspector/InspectorWorkerAgent.h:

2011-11-14  Zalan Bujtas  <zbujtas@gmail.com>

        Build breaks with --no-javascript-debugger --no-inspector
        https://bugs.webkit.org/show_bug.cgi?id=72228

        Reviewed by Simon Hausmann.

        * workers/WorkerMessagingProxy.cpp:
        (WebCore::PostMessageToPageInspectorTask::performTask):
        (WebCore::WorkerMessagingProxy::connectToInspector):
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::workerThread):

2011-11-14  Kentaro Hara  <haraken@chromium.org>

        Remove all custom constructors of Events in V8
        https://bugs.webkit.org/show_bug.cgi?id=72074

        Reviewed by Adam Barth.

        V8 has [ConstructorTemplate=Event] IDL, which generates
        Event constructors. This patch removes all the custom constructors
        in V8EventConstructors.cpp and generates them using
        [ConstructorTemplate=Event] IDL.

        Tests: fast/events/constructors/before-load-event-constructor.html
               fast/events/constructors/close-event-constructor.html
               fast/events/constructors/custom-event-constructor.html
               fast/events/constructors/error-event-constructor.html
               fast/events/constructors/event-constructors.html
               fast/events/constructors/hash-change-event-constructor.html
               fast/events/constructors/message-event-constructor.html
               fast/events/constructors/overflow-event-constructor.html
               fast/events/constructors/page-transition-event-constructor.html
               fast/events/constructors/pop-state-event-constructor.html
               fast/events/constructors/progress-event-constructor.html
               fast/events/constructors/track-event-constructor.html
               fast/events/constructors/webkit-animation-event-constructor.html
               fast/events/constructors/webkit-transition-event-constructor.html

        * Target.pri: Removed V8EventConstructors.cpp.
        * WebCore.gypi: Ditto.
        * bindings/v8/custom/V8EventConstructors.cpp: Removed.
        * dom/BeforeLoadEvent.idl: Replaced [V8CustomConstructor] with [V8ConstructorTemplate=Event]. Added [InitializedByConstructor] IDL to attributes that can be initialized by the generated constructor.
        * dom/CustomEvent.idl: Ditto.
        * dom/ErrorEvent.idl: Ditto.
        * dom/HashChangeEvent.idl: Ditto.
        * dom/MessageEvent.idl: Ditto.
        * dom/OverflowEvent.idl: Ditto.
        * dom/PageTransitionEvent.idl: Ditto.
        * dom/PopStateEvent.idl: Ditto.
        * dom/ProgressEvent.idl: Ditto.
        * dom/WebKitAnimationEvent.idl: Ditto.
        * dom/WebKitTransitionEvent.idl: Ditto.
        * html/track/TrackEvent.idl: Ditto.
        * websockets/CloseEvent.idl: Ditto.

2011-11-13  Patrick Gansterer  <paroga@webkit.org>

        [WX] Make FontPlatformData::m_size private
        https://bugs.webkit.org/show_bug.cgi?id=72214

        Reviewed by Andreas Kling.

        Also change the order of member variables to match
        the order in the constructor to fix many warnings.

        * platform/graphics/wx/FontPlatformData.h:

2011-11-13  Adam Barth  <abarth@webkit.org>

        Document::initSecurityOrigin should return earlier more often
        https://bugs.webkit.org/show_bug.cgi?id=72244

        Reviewed by Eric Seidel.

        This minor tweak was suggested by Darin to make the subsequent patches
        easier to read.

        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext):

2011-11-13  Adam Barth  <abarth@webkit.org>

        SecurityPolicy should refer to isUnique rather than isEmpty
        https://bugs.webkit.org/show_bug.cgi?id=72242

        Reviewed by Eric Seidel.

        It doesn't make sense to tweak the security policy for unique origins
        because they're different every time.  Previously, this code checked
        for empty origins, which are technically a subset of unique origins.  I
        don't think it's possible to call this code in a way that can detect
        the difference, but we're eventually going to remove the isEmpty
        function.

        * page/SecurityPolicy.cpp:
        (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
        (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):

2011-11-13  Adam Barth  <abarth@webkit.org>

        Move isSecureTransitionTo from SecurityOrigin to SecurityContext
        https://bugs.webkit.org/show_bug.cgi?id=72241

        Reviewed by Eric Seidel.

        This patch is a step towards breaking the patch for
        https://bugs.webkit.org/show_bug.cgi?id=71745 up into tiny,
        digestible pieces.

        * dom/SecurityContext.cpp:
        (WebCore::SecurityContext::isSecureTransitionTo):
        * dom/SecurityContext.h:
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        * page/SecurityOrigin.cpp:
        * page/SecurityOrigin.h:

2011-11-13  Nat Duca  <nduca@chromium.org>

        [chromium] LayerRendererChromium::initialize should fail when GaphicsContext3D::makeCurrent fails
        https://bugs.webkit.org/show_bug.cgi?id=72102

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
        (WebCore::LayerRendererChromium::makeContextCurrent):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):

2011-11-11  Vincent Scheib  <scheib@chromium.org>

        Mouse Lock: MouseEvent IDL
        https://bugs.webkit.org/show_bug.cgi?id=72158

        Reviewed by Dimitri Glazkov.

        Tests for movementX/Y pending mock mouse lock test infrastructure.

        * dom/MouseEvent.idl:
        * dom/MouseRelatedEvent.h:
        (WebCore::MouseRelatedEvent::movementX):
        (WebCore::MouseRelatedEvent::movementY):

2011-11-13  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION(99849): NULL-deref in updateLastMediaLine when parsing some media-queries
        https://bugs.webkit.org/show_bug.cgi?id=72222

        Reviewed by Pavel Feldman.

        Test: fast/media/update-media-query-css-parser.html

        * css/CSSGrammar.y: Added a proper NULL-check.

2011-11-12  Vincent Scheib  <scheib@chromium.org>

        Mouse Lock Navigator IDL
        https://bugs.webkit.org/show_bug.cgi?id=72150

        Reviewed by Dimitri Glazkov.

        Tests require mocking (similar to geolocation) that will be built after this.

        * WebCore.gypi:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
        * page/MouseLockable.cpp: Added.
        (WebCore::MouseLockable::MouseLockable):
        (WebCore::MouseLockable::~MouseLockable):
        (WebCore::MouseLockable::webkitLock):
        (WebCore::MouseLockable::webkitUnlock):
        (WebCore::MouseLockable::webkitIsLocked):
        * page/MouseLockable.h: Added.
        (WebCore::MouseLockable::create):
        * page/MouseLockable.idl: Added.
        * page/Navigator.cpp:
        (WebCore::Navigator::webkitPointer):
        * page/Navigator.h:
        * page/Navigator.idl:

2011-11-11  Andreas Kling  <kling@webkit.org>

        Only HTMLAllCollection needs stateful named item traversal.
        <http://webkit.org/b/71987>

        Reviewed by Antti Koivisto.

        After the ability to call collections (excluding document.all) was removed
        in <http://webkit.org/b/67579>, chunks of code remained in HTMLCollection
        and HTMLFormCollection that was only used for this purpose.

        Restrict the nextNamedItem() mechanism to HTMLAllCollection, since it's no
        longer used by any of the other collections.

        * html/HTMLCollection.h:

            Moved nextNamedItem() to HTMLAllCollection (and made it non-virtual.)
            Promoted itemAfter() and checkForNameMatch() to protected methods so
            they can be called from HTMLAllCollection.

        * html/HTMLAllCollection.h:
        * html/HTMLAllCollection.cpp:
        (WebCore::HTMLAllCollection::HTMLAllCollection):
        (WebCore::HTMLAllCollection::nextNamedItem):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::namedItem):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::namedItem):
        * html/HTMLFormCollection.h:

2011-11-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Update binding generator tests to use jsCast
        https://bugs.webkit.org/show_bug.cgi?id=72224

        Reviewed by Geoffrey Garen.

        Update the expected results for JS generator after r100006 added jsCast.

        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::JSTestEventConstructor::getOwnPropertySlot):
        (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):

2011-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100038.
        http://trac.webkit.org/changeset/100038
        https://bugs.webkit.org/show_bug.cgi?id=72225

        It broke more than 500 layout tests on the Qt bots (Requested
        by Ossy_night on #webkit).

        * platform/qt/ScrollbarThemeQt.h:

2011-11-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        [Qt][Symbian] Remove support for WINSCW compiler
        https://bugs.webkit.org/show_bug.cgi?id=70178

        Reviewed by Chang Shu.

        No new tests as there is no new functionality.

        * config.h: Revert r57076.
        * loader/cache/CachedResourceHandle.h: Revert r49017 and r49556.
        (WebCore::CachedResourceHandle::CachedResourceHandle):
        * rendering/style/RenderStyle.h: Revert r52733.
        (compareEqual):
        * bindings/scripts/CodeGeneratorJS.pm: Revert r45553.
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.

2011-11-12  Anna Cavender  <annacc@chromium.org>

        Add WebVTT parsing layout tests.  Patch also includes creating a TextTrackCueList
        in TextTrack::cues() and observing WebVTT chronological cue order.
        https://bugs.webkit.org/show_bug.cgi?id=72215

        Reviewed by Eric Carlson.

        Tests: media/track/track-webvtt-tc000-empty.html
               media/track/track-webvtt-tc001-utf8.html
               media/track/track-webvtt-tc002-bom.html
               media/track/track-webvtt-tc003-newlines.html
               media/track/track-webvtt-tc004-magic-header.html
               media/track/track-webvtt-tc005-header-comment.html
               media/track/track-webvtt-tc006-cue-identifiers.html
               media/track/track-webvtt-tc007-cue-no-id.html
               media/track/track-webvtt-tc008-timings-no-hours.html
               media/track/track-webvtt-tc009-timings-hour.html
               media/track/track-webvtt-tc010-no-timings.html
               media/track/track-webvtt-tc011-blank-lines.html
               media/track/track-webvtt-tc012-out-of-order.html
               media/track/track-webvtt-tc013-settings.html
               media/track/track-webvtt-tc014-alignment.html
               media/track/track-webvtt-tc015-positioning.html
               media/track/track-webvtt-tc016-align-positioning.html
               media/track/track-webvtt-tc017-line-position.html
               media/track/track-webvtt-tc018-align-text-line-position.html
               media/track/track-webvtt-tc019-cue-size.html
               media/track/track-webvtt-tc020-cue-size-align.html
               media/track/track-webvtt-tc021-valign.html
               media/track/track-webvtt-tc022-entities.html
               media/track/track-webvtt-tc023-markup.html
               media/track/track-webvtt-tc024-timestamp.html
               media/track/track-webvtt-tc025-class-markup.html
               media/track/track-webvtt-tc026-voice.html
               media/track/track-webvtt-tc027-empty-cue.html
               media/track/track-webvtt-tc028-unsupported-markup.html

        * html/TextTrack.cpp:
        (WebCore::TextTrack::~TextTrack): Only call client if m_cues has been allocated.
        (WebCore::TextTrack::cues): Create a TextTrackCueList if we don't already have one.
        * html/TextTrack.h: The cues() function can no longer be const.
        * html/TextTrackCueList.cpp:
        (WebCore::TextTrackCueList::add): Only add the cue if the startTime comes after
            all other startTimes in the list.

2011-11-12  Nat Duca  <nduca@chromium.org>

        Fixes to GraphicsContext3D::makeCurrent on gtk and mac
        https://bugs.webkit.org/show_bug.cgi?id=72218

        Unreviewed. Forgot to handle corner cases. Thanks Nico!

        * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
        (WebCore::GraphicsContext3D::makeContextCurrent):
        * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::makeContextCurrent):

2011-11-12  Patrick Gansterer  <paroga@webkit.org>

        Add stub implementation for SVGResources::filter()
        https://bugs.webkit.org/show_bug.cgi?id=72211

        Reviewed by Dirk Schulze.

        Add an empty implementation, which only returns 0 for !ENABLE(FILTERS)
        to reduce the #if ENABLE(FILTERS) complexity a bit.

        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::selfWillPaint):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::selfWillPaint):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::filtersForceContainerLayout):
        * rendering/svg/SVGResources.h:
        (WebCore::SVGResources::filter):
        * rendering/svg/SVGResourcesCache.cpp:
        (WebCore::SVGResourcesCache::clientLayoutChanged):
        (WebCore::SVGResourcesCache::clientUpdatedFromElement):

2011-11-12  Antti Koivisto  <antti@apple.com>

        REGRESSION(r98542): Rendering error on Google maps
        https://bugs.webkit.org/show_bug.cgi?id=71996

        Reviewed by Andreas Kling.
        
        r98542 exposed that StyleBoxData copy constructor and operator== are missing a field.
        
        Test reduction by David Barr.

        Test: fast/css/vertical-align-length-copy-bug.html

        * rendering/style/StyleBoxData.cpp:
        (WebCore::StyleBoxData::StyleBoxData):
        (WebCore::StyleBoxData::operator==):

2011-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r100013.
        http://trac.webkit.org/changeset/100013
        https://bugs.webkit.org/show_bug.cgi?id=72210

        It breaks all mac builds (Requested by WildFox on #webkit).

        * html/HTMLAnchorElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLTextAreaElement.idl:

2011-11-12  Nikolas Zimmermann  <nzimmermann@rim.com>

        Finish SVGLengthContext conversion in svg/
        https://bugs.webkit.org/show_bug.cgi?id=72105

        Reviewed by Antti Koivisto.

        Make SVGLengthContext(const SVGElement*) explicit, adapt all remaining call sites.
        Now that this process is finished, SVGLengthContext can be shared across renders,
        so that its possible to override the length context in a single place. This will
        be done in future patches.

        Doesn't affect any tests yet.

        * bindings/js/JSSVGLengthCustom.cpp:
        (WebCore::JSSVGLength::value):
        (WebCore::JSSVGLength::setValue):
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateImplementation):
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        (WebCore::V8SVGLength::valueAccessorGetter):
        (WebCore::V8SVGLength::valueAccessorSetter):
        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::layout):
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::updateFromElement):
        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::zeroLengthSubpathRect):
        (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
        * rendering/svg/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::referencePoint):
        (WebCore::RenderSVGResourceMarker::calcViewport):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox):
        * rendering/svg/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::calcViewport):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::writeStyle):
        (WebCore::operator<<):
        * rendering/svg/SVGShadowTreeElements.cpp:
        (WebCore::SVGShadowTreeContainerElement::containerTranslation):
        * rendering/svg/SVGTextChunkBuilder.cpp:
        (WebCore::SVGTextChunkBuilder::addTextChunk):
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::extractFloatValuesFromSVGLengthList):
        * rendering/svg/SVGTextLayoutEngine.cpp:
        (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
        (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
        * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
        (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
        * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
        (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
        * svg/SVGElement.h:
        * svg/SVGLengthContext.cpp:
        (WebCore::SVGLengthContext::determineViewport):
        * svg/SVGLengthContext.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::viewport):
        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
        (WebCore::SVGSVGElement::currentViewBoxRect):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::toClipPath):

2011-11-12  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed build fix for !ENABLE(FILTERS) after r100036.

        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::filtersForceContainerLayout):

2011-11-11  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Fix build without precompiled header.
        https://bugs.webkit.org/show_bug.cgi?id=72115

        Unreviewed. Add missing includes to fix build without precompiled header.

        * platform/ContextMenu.h:
        * platform/graphics/win/DIBPixelData.h:
        * platform/graphics/win/FontCustomPlatformData.h:
        * platform/network/cf/ResourceError.h:
        * platform/win/LanguageWin.cpp:
        * platform/win/LocalizedStringsWin.cpp:
        * platform/win/LoggingWin.cpp:

2011-11-11  Joseph Pecoraro  <pecoraro@apple.com>

        Remove Duplicate Symbol Exports
        https://bugs.webkit.org/show_bug.cgi?id=72205

        Reviewed by Dan Bernstein.

        * WebCore.exp.in: Remove duplicate symbols listed.
        Each dup in this case was already always exported.

2011-11-11  Nico Weber  <thakis@chromium.org>

        [chromium] Remove 2 static initializers and 3 exit time destructors. Turn on -Wexit-time-destructors.
        https://bugs.webkit.org/show_bug.cgi?id=72146

        Reviewed by Nate Chapin.

        * WebCore.gyp/WebCore.gyp:

2011-11-11  Nat Duca  <nduca@chromium.org>

        Since GraphicsContext3D::makeContextCurrent can fail, return bool.

        https://bugs.webkit.org/show_bug.cgi?id=72101

        Reviewed by Kenneth Russell.

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
        (WebCore::GraphicsContext3D::makeContextCurrent):
        * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
        (WebCore::GraphicsContext3D::makeContextCurrent):
        * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
        * platform/graphics/gtk/GraphicsContext3DPrivate.h:
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::makeContextCurrent):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::makeContextCurrent):

2011-11-11  Ojan Vafai  <ojan@chromium.org>

        Unreviewed. Rollout http://trac.webkit.org/changeset/99744.
        https://bugs.webkit.org/show_bug.cgi?id=72203
        r99744 causes crash in Chromium's dom_perf test.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::splitColumn):
        (WebCore::RenderTable::appendColumn):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addCell):
        (WebCore::RenderTableSection::recalcCells):
        (WebCore::RenderTableSection::appendColumn):

2011-11-11  James Robinson  <jamesr@chromium.org>

        [chromium] Removed unused local from CCThreadProxy::scheduledActionCommit
        https://bugs.webkit.org/show_bug.cgi?id=72200

        Reviewed by Kenneth Russell.

        How did I get here I am not good with computers.

        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scheduledActionCommit):

2011-11-11  Dominic Mazzoni  <dmazzoni@google.com>

        Fix a crash when an anonymous render block is in a continuation.
        https://bugs.webkit.org/show_bug.cgi?id=70994

        Reviewed by Chris Fleizach.

        Test: accessibility/anonymous-render-block-in-continuation-causes-crash.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::renderParentObject):

2011-11-11  Anna Cavender  <annacc@chromium.org>

        Storage and retrieval of TextTrackCues during video playback, including
        cuechange, enter, and exit events.
        https://bugs.webkit.org/show_bug.cgi?id=70452

        Reviewed by Eric Carlson.

        Tests: media/track/track-cues-cuechange.html
               media/track/track-cues-enter-exit.html
               media/track/track-cues-seeking.html

        Add cuechange, enter, and exit events and make TextTrack and
        TextTrackCue EventTargets:
        * dom/EventNames.h:
        * dom/EventTarget.h:
        * dom/EventTargetFactory.in:

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadTimerFired):
            Use scheduleLoad() instead of configureTextTracks() to start an async load.
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
            Updates the list of currently active cues during playback.
        (WebCore::HTMLMediaElement::textTrackAddCues):
            Adds cues to cueTree.  Called when cues are discovered/loaded.
        (WebCore::HTMLMediaElement::textTrackRemoveCues):
            Removes cues from cueTree.  Called when cues and/or tracks die.
        (WebCore::HTMLMediaElement::textTrackAddCue):
            Adds a cue to cueTree.  Called when cues are discovered/loaded.
        (WebCore::HTMLMediaElement::textTrackRemoveCue):
            Removes a cue from cueTree.  Called when cues and/or tracks die.

        (WebCore::HTMLMediaElement::playbackProgressTimerFired):
            Update the active TextTrackCues when playbackProgressTimerFired.
        (WebCore::HTMLMediaElement::addTrack):
            Pass along a ScriptExecutionContext to TextTrack::create().
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
            Update the active TextTrackCues when the media player time changes.
        * html/HTMLMediaElement.h:
            Use a PodIntervalTree cueTree to store and retrieve TextTrackCues
            during playback.

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::ensureTrack):
            Pass along a ScriptExecutionContext needed for EventTarget interface.
        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::LoadableTextTrack):
            Pass along a ScriptExecutionContext needed for EventTarget interface.
        (WebCore::LoadableTextTrack::fireCueChangeEvent):
            Fire a cue change event on this TextTrack's <track>
        * html/LoadableTextTrack.h:
        (WebCore::LoadableTextTrack::create):
            Pass along a ScriptExecutionContext needed for EventTarget interface.
        * html/TextTrack.cpp:
        (WebCore::TextTrack::TextTrack):
            Pass along a ScriptExecutionContext needed for EventTarget interface.
        (WebCore::TextTrack::cues):
        (WebCore::TextTrack::activeCues):
            Return a TextTrackCueList that represents the currently active cues.
        (WebCore::TextTrack::fireCueChangeEvent):
            Fires a cue change event.
        * html/TextTrack.h:
        (WebCore::TextTrack::create):
            Pass along a ScriptExecutionContext needed for EventTarget interface.
        * html/TextTrack.idl:
            Makes TextTrack extend EventTarget interface and add oncuechange.
        * html/TextTrackCue.cpp:
        (WebCore::TextTrackCue::TextTrackCue):
            TextTrackCue should extend EventTarget, not ActiveDOMObject.
        (WebCore::TextTrackCue::isActive):
        (WebCore::TextTrackCue::setIsActive):
            Dispatch an enter or exit event depending on active state and notify
            the corresponding track to fire a cuechange event.

        The following are needed for EventTarget interface:
        (WebCore::TextTrackCue::interfaceName):
        (WebCore::TextTrackCue::scriptExecutionContext):
        (WebCore::TextTrackCue::eventTargetData):
        (WebCore::TextTrackCue::ensureEventTargetData):
        * html/TextTrackCue.h:
        (WebCore::TextTrackCue::refEventTarget):
        (WebCore::TextTrackCue::derefEventTarget):

        * html/TextTrackCue.idl:
            Extend EventTarget and add onenter and onexit.
        * html/TextTrackCueList.cpp:
        (WebCore::TextTrackCueList::activeCues):
            Update and return the list of currently active cues.
        (WebCore::TextTrackCueList::clear):
            Clear the cues from list (needed to return same object each time).
        * html/TextTrackCueList.h:

        The following are needed for EventTarget interface:
        * html/track/TrackBase.cpp:
        (WebCore::TrackBase::TrackBase):
        (WebCore::TrackBase::interfaceName):
        (WebCore::TrackBase::scriptExecutionContext):
        (WebCore::TrackBase::eventTargetData):
        (WebCore::TrackBase::ensureEventTargetData):
        * html/track/TrackBase.h:
        (WebCore::TrackBase::refEventTarget):
        (WebCore::TrackBase::derefEventTarget):

2011-11-11  David Reveman  <reveman@chromium.org>

        [Chromium] Remove unused variable added by r99813.
        https://bugs.webkit.org/show_bug.cgi?id=72199

        Reviewed by James Robinson.

        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::prepareToUpdate):

2011-11-11  James Robinson  <jamesr@chromium.org>

        Rollout http://trac.webkit.org/changeset/99844
        Solution is more complicated than the problem it was intended to solve.

        * platform/graphics/chromium/LayerChromium.cpp:
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::applyScrollAndScale):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::beginFrameAndCommit):
        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-11-11  Levi Weintraub  <leviw@chromium.org>

        Revert Page to operate on integers
        https://bugs.webkit.org/show_bug.cgi?id=72185

        Reviewed by Eric Seidel.

        Reverting the page classes to integers from LayoutUnits. It's not necessary to expose
        LayoutUnits in these classes, so we'll avoid doing so.

        No new tests, no change in behavior.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::sendContextMenuEventForKey):
        (WebCore::EventHandler::dragHysteresisExceeded):
        (WebCore::EventHandler::handleDrag):
        * page/EventHandler.h:
        * page/Frame.cpp:
        (WebCore::Frame::documentAtPoint):
        * page/Frame.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::create):
        (WebCore::FrameView::invalidateRect):
        (WebCore::FrameView::setFrameRect):
        (WebCore::FrameView::setContentsSize):
        (WebCore::FrameView::adjustViewSize):
        (WebCore::FrameView::repaintContentRectangle):
        (WebCore::FrameView::invalidateScrollbarRect):
        (WebCore::FrameView::getTickmarks):
        (WebCore::FrameView::windowResizerRect):
        (WebCore::FrameView::setVisibleScrollerThumbRect):
        (WebCore::FrameView::updateScrollCorner):
        (WebCore::FrameView::paintScrollCorner):
        (WebCore::FrameView::paintContents):
        (WebCore::FrameView::paintOverhangAreas):
        (WebCore::FrameView::convertFromRenderer):
        (WebCore::FrameView::convertToRenderer):
        (WebCore::FrameView::convertToContainingView):
        (WebCore::FrameView::convertFromContainingView):
        * page/FrameView.h:
        * page/Page.cpp:
        (WebCore::Page::setPageScaleFactor):
        * page/Page.h:
        * page/SpatialNavigation.cpp:
        (WebCore::scrollInDirection):

2011-11-11  Dominic Mazzoni  <dmazzoni@google.com>

        New iframe content may not be reflected in the ax tree.
        https://bugs.webkit.org/show_bug.cgi?id=72100

        Reviewed by Chris Fleizach.

        The core issue was that when childrenChanged was called on a
        web area from an iframe that was just detached, it wasn't calling
        childrenChanged on its parent scroll area, or that scroll area's
        parent iframe element. To fix this, now AccessibilityScrollView
        implements setNeedsToUpdateChildren and parentObjectIfExists,
        and childrenChanged calls setNeedsToUpdateChildren on every object
        in the parent chain, not just AccessibilityRenderObjects.

        Test: accessibility/loading-iframe-updates-axtree.html

        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::setNeedsToUpdateChildren):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
        (WebCore::AccessibilityRenderObject::childrenChanged):
        * accessibility/AccessibilityRenderObject.h:
        (WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
        * accessibility/AccessibilityScrollView.cpp:
        (WebCore::AccessibilityScrollView::AccessibilityScrollView):
        (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
        (WebCore::AccessibilityScrollView::parentObject):
        (WebCore::AccessibilityScrollView::parentObjectIfExists):
        * accessibility/AccessibilityScrollView.h:
        (WebCore::AccessibilityScrollView::setNeedsToUpdateChildren):

2011-11-11  Iain Merrick  <husky@google.com>

        [chromium] Fix CCThreadProxy::setVisible
        https://bugs.webkit.org/show_bug.cgi?id=71903

        The behavior is different depending on whether we're showing
        or hiding the compositor. This patch fixes both code paths.

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCCompletionEvent.h:
        (WebCore::CCCompletionEvent::CCCompletionEvent):
        (WebCore::CCCompletionEvent::~CCCompletionEvent):
        (WebCore::CCCompletionEvent::wait):
        (WebCore::CCCompletionEvent::signal):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::setVisible):

2011-11-11  Iain Merrick  <husky@google.com>

        [chromium] CCThreadProxy::finishAllRendering hangs if !visible
        https://bugs.webkit.org/show_bug.cgi?id=71920

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::setNeedsForcedRedraw):
        * platform/graphics/chromium/cc/CCScheduler.h:
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
        (WebCore::CCSchedulerStateMachine::nextAction):
        (WebCore::CCSchedulerStateMachine::updateState):
        (WebCore::CCSchedulerStateMachine::setNeedsForcedRedraw):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::requestReadbackOnImplThread):
        (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):

2011-11-11  John Knottenbelt  <jknotten@chromium.org>

        [Chromium] Enable building without shared workers.
        https://bugs.webkit.org/show_bug.cgi?id=72122

        Reviewed by Yury Semikhatsky.

        * bindings/v8/WorkerScriptDebugServer.cpp:
        (WebCore::retrieveWorkerContext):

2011-11-11  Julien Chaffraix  <jchaffraix@webkit.org>

        Crash in styleDidChange when changing a table cell's height.
        <http://webkit.org/b/72004>

        Reviewed by Darin Adler.

        Tests: fast/table/crash-table-cell-change-height.html
               fast/table/table-cell-change-height-with-needsCellRecalc-section.html
               fast/table/table-cell-change-last-row-with-needsCellRecalc-section.html
               fast/table/table-row-change-height-with-needsCellRecalc-section.html

        r99212 removed our call to recalcCells when the logical height changed. This
        means that we could end up with a cells without having set its row() properly
        which would crash.

        The change exposes the was-the-row-properly-set information so that we don't
        try to access a bogus index. This should work properly even if the section
        needs a cell recalc as the current section's row structure would still be
        accurate in this case.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::styleDidChange): Check that our row index
        was properly set before calling

        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::rowWasSet): Helper function to detect
        if we have set up our a row.
        (WebCore::RenderTableCell::row): Use the previous function in the
        ASSERT.

2011-11-11  Shinya Kawanaka  <shinyak@google.com>

        Implement legacy text check emulation in unified text check interface.
        https://bugs.webkit.org/show_bug.cgi?id=70299

        Reviewed by Hajime Morita.

        When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
        TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.

        This emulation can be used by setting the flag on.
        This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.

        Test: editing/spelling/spelling-unified-emulation.html

        * editing/TextCheckingHelper.cpp:
        (WebCore::findBadGrammars): Added.
        (WebCore::findMisspellings): Added.
        (WebCore::checkTextOfParagraph):
          Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
        * testing/Internals.cpp:
        (WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
        (WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
        * testing/Internals.h:
        * testing/Internals.idl:

2011-11-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [CMAKE] Add a missing file to PlatformEfl.cmake for curl network backend.
        https://bugs.webkit.org/show_bug.cgi?id=72092

        Unreviewed. Fix build break when using curl.

        ProxyServerCurl.cpp file is not included in PlatformEfl.cmake. So, the file is not built
        when EFL port uses curl as network backend.

        * PlatformEfl.cmake: Add missing ProxyServerCurl.cpp.

2011-11-11  Emil A Eklund  <eae@chromium.org>

        Switch remaining RenderBlock/Box methods to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=72075

        Reviewed by Eric Seidel.

        Move margins, floats and line layout block logic to layout abstraction.

        No new tests.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::borderPaddingMarginStart):
        (WebCore::borderPaddingMarginEnd):
        (WebCore::inlineLogicalWidth):
        (WebCore::setStaticPositions):
        (WebCore::LineLayoutState::LineLayoutState):
        (WebCore::LineLayoutState::setRepaintRange):
        (WebCore::LineLayoutState::updateRepaintRangeFromBox):
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
        (WebCore::RenderBlock::linkToEndLineIfNeeded):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::checkFloatsInCleanLine):
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
        (WebCore::RenderBlock::addOverflowFromInlineChildren):
        (WebCore::RenderBlock::checkLinesForTextOverflow):
        (WebCore::RenderBlock::positionNewFloatOnLine):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::positionLineBox):
        (WebCore::RenderBox::computeInlineDirectionMargins):
        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):

2011-11-11  Antoine Labour  <piman@chromium.org>

        [chromium] Add translation/scaling to WebExternalTextureLayer
        https://bugs.webkit.org/show_bug.cgi?id=72087

        Reviewed by James Robinson.

        Covered by WebLayerTest.

        * platform/graphics/chromium/PluginLayerChromium.cpp:
        (WebCore::PluginLayerChromium::PluginLayerChromium):
        (WebCore::PluginLayerChromium::setUVRect):
        (WebCore::PluginLayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/PluginLayerChromium.h:
        (WebCore::PluginLayerChromium::uvRect):
        * platform/graphics/chromium/ShaderChromium.cpp:
        (WebCore::VertexShaderPosTexStretch::VertexShaderPosTexStretch):
        (WebCore::VertexShaderPosTexStretch::init):
        (WebCore::VertexShaderPosTexStretch::getShaderString):
        * platform/graphics/chromium/ShaderChromium.h:
        (WebCore::VertexShaderPosTexStretch::matrixLocation):
        (WebCore::VertexShaderPosTexStretch::offsetLocation):
        (WebCore::VertexShaderPosTexStretch::scaleLocation):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
        (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
        (WebCore::CCPluginLayerImpl::draw):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
        (WebCore::CCPluginLayerImpl::setUVRect):

2011-11-11  Stephen Chenney  <schenney@chromium.org>

        Null deref when no use element exists for SVG element instance
        https://bugs.webkit.org/show_bug.cgi?id=59136

        Second attempt, with a fix to handle JS garbage collection.

        Reviewed by Nikolas Zimmermann.

        Test: svg/custom/element-instance-held-by-js-crash.svg

        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::~SVGElementInstance): Added call to detach() to clear
          anything not yet cleared.
        (WebCore::SVGElementInstance::detach): New method to replace old clear methods. This one
          clears all the pointers it can, and removes the instance from the corresponding elements
          instance list.
        * svg/SVGElementInstance.h: Removed clear methods and replaced with detach.
        * svg/SVGUseElement.cpp: 
        (WebCore::SVGUseElement::detachInstance): Modified calls to clean up an SVGElementInstance.

2011-11-11  Florin Malita  <fmalita@google.com>

        clipPath does not work on foreignObject
        https://bugs.webkit.org/show_bug.cgi?id=68251

        Reviewed by Dirk Schulze.

        Add ForeignObject clipping, filtering and masking support using the SVGRenderSupport helpers
        (prepareToRenderSVGContent, finishRenderSVGContent) on RenderSVGForeignObject's paint path.
        This also allows us to remove explicit transparency handling, since the helpers already cover it.

        Tests: svg/foreignObject/clip.html
               svg/foreignObject/filter.html
               svg/foreignObject/mask.html

        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::paint):
        * rendering/svg/SVGResources.cpp:
        (WebCore::clipperFilterMaskerTags):

2011-11-11  Adam Klein  <adamk@chromium.org>

        Remove no-op StorageNamespace::unlock method
        https://bugs.webkit.org/show_bug.cgi?id=72181

        Reviewed by Darin Adler.

        The method was meant to support the localStorage mutex,
        but the approach of using a mutex for localStorage has never been
        implemented (and almost certainly won't be). Even if it were implemented,
        it's not being called at the right time, due to bugs in the V8 bindings'
        use of V8Proxy (see http://webkit.org/b/72063 for details).

        If, in the future, some replacement for a mutex is used to synchronize
        localStorage access, it can easily be re-added to the (hopefully
        fixed-by-then) replacement for V8Proxy::didLeaveScriptContext.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::didLeaveScriptContext): Stop calling unlock().
        * page/Navigator.cpp:
        (WebCore::Navigator::getStorageUpdates): Remove implementation (a call to unlock), but leave code as it's exposed to the platform.
        * page/Navigator.idl: Added a FIXME to remove getStorageUpdates from the platform.
        * storage/StorageNamespace.h:
        * storage/StorageNamespaceImpl.cpp:
        * storage/StorageNamespaceImpl.h:

2011-11-11  Alexis Menard  <alexis.menard@openbossa.org>

        [Qt][WK2] Make sure Scrollbars are in their own layer.
        https://bugs.webkit.org/show_bug.cgi?id=72064

        Reviewed by Kenneth Rohde Christiansen.

        Make sure we render our scrollbars in a separate layer.

        No new tests : existing ones should cover.

        * platform/qt/ScrollbarThemeQt.h:
        (WebCore::ScrollbarThemeQt::usesOverlayScrollbars):

2011-11-11  Joel Webber  <jgw@google.com>

        Repaint broken when children of filtered SVG elements are updated
        https://bugs.webkit.org/show_bug.cgi?id=71733

        Reviewed by Nikolas Zimmermann.

        Test: svg/repaint/filter-child-repaint.svg

        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::setNeedsLayoutForFilteredContainer):

2011-11-11  Timothy Hatcher  <timothy@apple.com>

        Don't remove InspectorBackendStub.js in Release builds after it has been
        combined into inspector.js. Also remove any *.qrc file on Mac.

        https://webkit.org/b/72186

        Reviewed by Joseph Pecoraro.

        * WebCore.xcodeproj/project.pbxproj:

2011-11-11  Jeff Timanus  <twiz@chromium.org>

        [chromium] Patch that implementing the changes required to allow WebGL
        to share its backing store directly with the compositor.
        WebGL rendering contexts create and render to FBOs managed by a
        DrawingBuffer instance. All PlatformLayer lifetime management is
        performed by the DrawingBuffer.
        Changes are only relevant to Chromium ports. Functionality is
        unchanged for other ports.
        https://bugs.webkit.org/show_bug.cgi?id=53201

        Reviewed by Stephen White.

        * html/canvas/WebGLRenderingContext.cpp: Construct a DrawingBuffer
        during initialization, and forward all framebuffer management calls to
        it.
        (WebCore::WebGLRenderingContext::create):
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::initializeNewContext):
        (WebCore::WebGLRenderingContext::markContextChanged):
        (WebCore::WebGLRenderingContext::clearIfComposited):
        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
        (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
        (WebCore::WebGLRenderingContext::reshape):
        (WebCore::WebGLRenderingContext::drawingBufferWidth):
        (WebCore::WebGLRenderingContext::drawingBufferHeight):
        (WebCore::WebGLRenderingContext::bindFramebuffer):
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::deleteFramebuffer):
        (WebCore::WebGLRenderingContext::disable):
        (WebCore::WebGLRenderingContext::enable):
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::platformLayer):
        (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
        (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
        (WebCore::WebGLRenderingContext::maybeRestoreContext):
        * html/canvas/WebGLRenderingContext.h:
        * platform/graphics/GraphicsContext3D.cpp:
        * platform/graphics/GraphicsContext3D.h:  WebGLLayerChromium instances
        are no longer tracked by GraphicsContext3D. Callers can now pass a
        DrawingBuffer instance to provide access to the WebGLLayerChromium data.
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::generateColorTexture):
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::initialize):
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        (WebCore::DrawingBuffer::platformLayer):
        (WebCore::DrawingBuffer::platformColorBuffer):
        (WebCore::DrawingBuffer::framebuffer):
        (WebCore::DrawingBuffer::markContextChanged):
        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
        (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
        (WebCore::WebGLLayerChromium::drawsContent):
        (WebCore::WebGLLayerChromium::updateCompositorResources):
        (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
        (WebCore::WebGLLayerChromium::contentChanged):
        (WebCore::WebGLLayerChromium::setDrawingBuffer):
        (WebCore::WebGLLayerChromium::context):
        * platform/graphics/chromium/WebGLLayerChromium.h: WebGLLayerChromium instances
        have a raw reference to their owning DrawingBuffer.  This reference is set to NULL on
        destruction of the DrawingBuffer.  This follows the old code, which had the WebGLLayerChromium
        refer rawly to a GraphicsContext3D instance, which was also revoked during tear-down of the
        GraphicsContext3D.
        (WebCore::WebGLLayerChromium::drawingBuffer):
        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
        * platform/graphics/gpu/DrawingBuffer.cpp: The DrawingBuffer is now the
        central point between the GraphicsContext3D, WebGLRenderingContext, and
        WebGLLayerChromium classes.  GraphicsContext3D, and WebGLLayerChromium only
        depend on the DrawingBuffer interface.
        (WebCore::DrawingBuffer::create):
        (WebCore::DrawingBuffer::clear):
        (WebCore::DrawingBuffer::clearFramebuffer):
        (WebCore::DrawingBuffer::reset):
        (WebCore::DrawingBuffer::commit):
        (WebCore::DrawingBuffer::multisample):
        (WebCore::DrawingBuffer::paintRenderingResultsToImageData):
        (WebCore::DrawingBuffer::discardResources):
        * platform/graphics/gpu/DrawingBuffer.h:
        (WebCore::DrawingBuffer::setScissorEnabled):
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):

2011-11-11  Darin Adler  <darin@apple.com>

        Remove all releaseRef implementations except for RetainPtr
        https://bugs.webkit.org/show_bug.cgi?id=71423

        Reviewed by Julien Chaffraix.

        * platform/win/COMPtr.h: Removed releaseRef.

2011-11-11  Darin Adler  <darin@apple.com>

        * WebCore.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
        If an older Xcode downgrades this file and we have a risk of some kind of
        oscillating commit situation, please contact me so I know not to do this again.

2011-11-11  Ojan Vafai  <ojan@chromium.org>

        Unreviewed, rolling out r99953.
        Caused 4 tests to hit an assert.
        https://bugs.webkit.org/show_bug.cgi?id=72163

        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didStartWorkerContext):
        * inspector/InspectorWorkerAgent.cpp:
        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
        (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
        (WebCore::InspectorWorkerAgent::setFrontend):
        (WebCore::InspectorWorkerAgent::restore):
        (WebCore::InspectorWorkerAgent::clearFrontend):
        (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
        (WebCore::InspectorWorkerAgent::workerContextTerminated):
        * inspector/InspectorWorkerAgent.h:

2011-11-11  Vincent Scheib  <scheib@chromium.org>

        Unreviewed, rolling out r100024.
        http://trac.webkit.org/changeset/100024
        https://bugs.webkit.org/show_bug.cgi?id=72158

        Broke chromium build

        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::initMouseEvent):
        (WebCore::MouseEventDispatchMediator::dispatchEvent):
        * dom/MouseEvent.h:
        * dom/MouseEvent.idl:
        * dom/MouseRelatedEvent.h:

2011-11-11  Vincent Scheib  <scheib@chromium.org>

        Mouse Lock: MouseEvent IDL
        https://bugs.webkit.org/show_bug.cgi?id=72158

        Reviewed by Dimitri Glazkov.

        Tests for movementX/Y pending mock mouse lock test infrastructure.

        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::initMouseEvent):
        (WebCore::MouseEventDispatchMediator::dispatchEvent):
        * dom/MouseEvent.h:
        * dom/MouseEvent.idl:
        * dom/MouseRelatedEvent.h:
        (WebCore::MouseRelatedEvent::movementX):
        (WebCore::MouseRelatedEvent::movementY):

2011-11-11  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=72167
        REGRESSION: Scroll position not restored on back after scroll 
        -and corresponding-
        <rdar://problem/10410684>

        Reviewed by Simon Fraser.

        We can't just return early if we are not on an active page. 
        notifyPositionChanged() is called when a page is going into the page cache (and 
        therefore when not on an active page). We should not notify AppKit that the page 
        has scrolled in that case, but we still need to call 
        ScrollAnimator::notifyPositionChanged();. So this patch removes the early return, 
        and replaces it with a conditional around the relevant code.
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::notifyPositionChanged):

2011-11-11  Julien Chaffraix  <jchaffraix@codeaurora.org>, Zaheer Ahmad  <zahimad@codeaurora.org>, Joone Hur  <joone.hur@collabora.co.uk>, Tomasz Morawski  <t.morawski@samsung.com>

        Added TileCairo and TiledBackingStoreBackendCairo files
        https://bugs.webkit.org/show_bug.cgi?id=71350

        Reviewed by Martin Robinson.

        Added TileCairo and TiledBackingStoreBackend files needed by Tiled Backing Store implementation that uses cairo
        library eg. EFL and Gtk WebKit port.

        This patch contains some parts of rebased and updated code from 45423 bug. Originals authors of the code are:
        - Julien Chaffraix  <jchaffraix@codeaurora.org>
        - Zaheer Ahmad  <zahmad@codeaurora.org>
        - Joone Hur  <joone.hur@collabora.co.uk>

        * platform/graphics/cairo/RefPtrCairo.cpp: Added support of RefPtr for cairo_region object.
        (WTF::refIfNotNull): New refIfNotNull function for cairo_region object.
        (WTF::derefIfNotNull): New derefIfNotNull function for cairo_region object.
        * platform/graphics/cairo/RefPtrCairo.h: Added support of RefPtr for cairo_region object.
        * platform/graphics/cairo/TileCairo.cpp: Added a new file. Implementation of TileCairo class.
        (WebCore::TileCairo::TileCairo):
        (WebCore::TileCairo::~TileCairo):
        (WebCore::TileCairo::isDirty):
        (WebCore::TileCairo::isReadyToPaint):
        (WebCore::TileCairo::invalidate):
        (WebCore::TileCairo::updateBackBuffer):
        (WebCore::TileCairo::swapBackBufferToFront):
        (WebCore::TileCairo::paint):
        (WebCore::TileCairo::resize):
        * platform/graphics/cairo/TileCairo.h: Added a new file. Implementation of TileCairo class.
        (WebCore::TileCairo::create):
        (WebCore::TileCairo::coordinate):
        (WebCore::TileCairo::rect):
        * platform/graphics/cairo/TiledBackingStoreBackendCairo.cpp: Added a new file. Implementation of
        TiledBackingStoreBackend methods.
        (WebCore::TiledBackingStoreBackend::createTile):
        (WebCore::checkeredSurface): Helper function that creates checkered surface (see below function)
        (WebCore::TiledBackingStoreBackend::paintCheckerPattern): Function is used to draw a place holder when tile no
        exist or it is not ready to paint yet. The checkered surface is used here.

2011-11-11  Julien Chaffraix  <jchaffraix@webkit.org>

        Remove unneeded frame check in FrameView::detachCustomScrollbars
        https://bugs.webkit.org/show_bug.cgi?id=71980

        Reviewed by Anders Carlsson.

        Change covered by the existing tests in scrollbars/.

        * page/FrameView.cpp:
        (WebCore::FrameView::detachCustomScrollbars):
        Remove the leftover check that was forgotten by the different refactoring.

2011-11-11  Vineet Chaudhary  <vineet.chaudhary@motorola.com>

        Access key should work on all elements.
        https://bugs.webkit.org/show_bug.cgi?id=71854

        Reviewed by Adam Barth.

        As per specification http://dev.w3.org/html5/spec/Overview.html#elements-in-the-dom
        says All HTML elements can have the accesskey content attribute set. Adding "accessKey"
        attribute idl file as [Reflect].

        Test: fast/forms/access-key-for-all-elements.html

        * html/HTMLAnchorElement.idl: Removed redundant IDL attribute entries.
        * html/HTMLAreaElement.idl: Ditto. 
        * html/HTMLButtonElement.idl: Ditto.
        * html/HTMLElement.idl: Added accessKey IDL attribute.
        * html/HTMLInputElement.idl: Ditto.
        * html/HTMLLabelElement.idl: Ditto.
        * html/HTMLLegendElement.idl: Ditto.
        * html/HTMLTextAreaElement.idl: Ditto.

2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>

        Add jsCast to replace static_cast
        https://bugs.webkit.org/show_bug.cgi?id=72071

        Reviewed by Geoffrey Garen.

        No new tests. 

        Added new jsCast and changed all of the static_cast sites in functions that 
        are in the MethodTable to use jsCast instead.

        * bindings/js/JSAttrCustom.cpp:
        (WebCore::JSAttr::visitChildren):
        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContext::visitChildren):
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::JSCSSRule::visitChildren):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::visitChildren):
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::toHTMLCanvasStyle):
        * bindings/js/JSCanvasRenderingContextCustom.cpp:
        (WebCore::JSCanvasRenderingContext::visitChildren):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::visitChildren):
        * bindings/js/JSDOMStringMapCustom.cpp:
        (WebCore::JSDOMStringMap::getOwnPropertyNames):
        (WebCore::JSDOMStringMap::deleteProperty):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::toThisObject):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::visitChildren):
        (WebCore::JSDOMWindow::getOwnPropertySlot):
        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
        (WebCore::JSDOMWindow::put):
        (WebCore::JSDOMWindow::deleteProperty):
        (WebCore::JSDOMWindow::getPropertyNames):
        (WebCore::JSDOMWindow::getOwnPropertyNames):
        (WebCore::JSDOMWindow::defineGetter):
        (WebCore::JSDOMWindow::defineSetter):
        (WebCore::JSDOMWindow::defineOwnProperty):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::className):
        (WebCore::JSDOMWindowShell::getOwnPropertySlot):
        (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
        (WebCore::JSDOMWindowShell::put):
        (WebCore::JSDOMWindowShell::putWithAttributes):
        (WebCore::JSDOMWindowShell::defineOwnProperty):
        (WebCore::JSDOMWindowShell::deleteProperty):
        (WebCore::JSDOMWindowShell::getPropertyNames):
        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
        (WebCore::JSDOMWindowShell::defineGetter):
        (WebCore::JSDOMWindowShell::defineSetter):
        * bindings/js/JSHTMLAppletElementCustom.cpp:
        (WebCore::JSHTMLAppletElement::getCallData):
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        (WebCore::JSHTMLEmbedElement::getCallData):
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        (WebCore::JSHTMLObjectElement::getCallData):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::deleteProperty):
        (WebCore::JSHistory::getOwnPropertyNames):
        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
        (WebCore::JSJavaScriptAudioNode::visitChildren):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::deleteProperty):
        (WebCore::JSLocation::getOwnPropertyNames):
        * bindings/js/JSMessageChannelCustom.cpp:
        (WebCore::JSMessageChannel::visitChildren):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::visitChildren):
        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::visitChildren):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::visitChildren):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::visitChildren):
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::visitChildren):
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::visitChildren):
        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorker::visitChildren):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::deleteProperty):
        (WebCore::JSStorage::getOwnPropertyNames):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::JSStyleSheet::visitChildren):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::visitChildren):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::visitChildren):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::visitChildren):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::visitChildren):
        * bindings/js/JSXPathResultCustom.cpp:
        (WebCore::JSXPathResult::visitChildren):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterface::getOwnPropertySlot):
        (WebCore::JSTestInterface::getOwnPropertyDescriptor):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
        (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
        (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
        (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjPrototype::getOwnPropertySlot):
        (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
        (WebCore::JSTestObj::getOwnPropertySlot):
        (WebCore::JSTestObj::getOwnPropertyDescriptor):
        (WebCore::JSTestObj::put):
        (WebCore::JSTestObj::visitChildren):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
        (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtRuntimeObject::visitChildren):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::getOwnPropertyNames):
        (JSC::RuntimeArray::getOwnPropertySlot):
        (JSC::RuntimeArray::getOwnPropertyDescriptor):
        (JSC::RuntimeArray::getOwnPropertySlotByIndex):
        (JSC::RuntimeArray::put):
        (JSC::RuntimeArray::putByIndex):
        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::getOwnPropertySlot):
        (JSC::RuntimeMethod::getOwnPropertyDescriptor):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
        (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
        (JSC::Bindings::RuntimeObject::put):
        (JSC::Bindings::RuntimeObject::defaultValue):
        (JSC::Bindings::RuntimeObject::getCallData):
        (JSC::Bindings::RuntimeObject::getConstructData):
        (JSC::Bindings::RuntimeObject::getOwnPropertyNames):

2011-11-11  Vincent Scheib  <scheib@chromium.org>

        Unreviewed, rolling out r99994.
        http://trac.webkit.org/changeset/99994
        https://bugs.webkit.org/show_bug.cgi?id=72150

        Broke chromium windows build

        * WebCore.gypi:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitLockMouseEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitUnlockMouseEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitMouseLockedEnabled):
        * page/MouseLockable.cpp: Removed.
        * page/MouseLockable.h: Removed.
        * page/MouseLockable.idl: Removed.
        * page/Navigator.cpp:
        * page/Navigator.h:
        * page/Navigator.idl:

2011-11-11  Adam Klein  <adamk@chromium.org>

        [v8] Remove unused V8Proxy::executingScript method
        https://bugs.webkit.org/show_bug.cgi?id=72160

        Reviewed by Nate Chapin.

        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8Proxy.h:

2011-11-11  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Andy Estes

        100,000!
        Congratulations WebKit, and here's to hundreds of thousands more!
        
        * ChangeLog: Point out revision 100,000.

2011-11-11  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/71921> Remove use of strcpy in KURL

        Reviewed by Antti Koivisto.

        * platform/KURL.cpp:
        (WebCore::KURL::init): Replace strcpy() with strncpy().

2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize supportsProfiling, supportsRichSourceInfo, shouldInterruptScript in JSGlobalObject
        https://bugs.webkit.org/show_bug.cgi?id=72035

        Reviewed by Geoffrey Garen.

        No new tests.

        * bindings/js/JSDOMGlobalObject.cpp: Changed constructor to support passing new GlobalObjectMethodTable pointer to parent class.
        (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSDOMWindowBase.cpp: Added static const GlobalObjectMethodTable and filled it in with the proper function pointers.
        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
        (WebCore::JSDOMWindowBase::supportsProfiling): Changed to static to put in the method table.
        (WebCore::JSDOMWindowBase::supportsRichSourceInfo): Ditto.
        (WebCore::JSDOMWindowBase::shouldInterruptScript): Ditto.
        * bindings/js/JSDOMWindowBase.h:


2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r99869.
        http://trac.webkit.org/changeset/99869
        https://bugs.webkit.org/show_bug.cgi?id=72157

        "Caused a ~400% perf regression on the Chromium intl1 page
        cyclers" (Requested by ojan on #webkit).

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::images):
        (WebCore::Document::applets):
        (WebCore::Document::embeds):
        (WebCore::Document::plugins):
        (WebCore::Document::objects):
        (WebCore::Document::scripts):
        (WebCore::Document::links):
        (WebCore::Document::forms):
        (WebCore::Document::anchors):
        * dom/Document.h:
        * html/CollectionType.h:

2011-11-11  Vincent Scheib  <scheib@chromium.org>

        Mouse Lock Navigator IDL
        https://bugs.webkit.org/show_bug.cgi?id=72150

        Reviewed by Dimitri Glazkov.

        Tests require mocking (similar to geolocation) that will be built after this.

        * WebCore.gypi:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
        * page/MouseLockable.cpp: Added.
        (WebCore::MouseLockable::MouseLockable):
        (WebCore::MouseLockable::~MouseLockable):
        (WebCore::MouseLockable::webkitLock):
        (WebCore::MouseLockable::webkitUnlock):
        (WebCore::MouseLockable::webkitIsLocked):
        * page/MouseLockable.h: Added.
        (WebCore::MouseLockable::create):
        * page/MouseLockable.idl: Added.
        * page/Navigator.cpp:
        (WebCore::Navigator::webkitPointer):
        * page/Navigator.h:
        * page/Navigator.idl:

2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize JSGlobalObject::allowsAccessFrom
        https://bugs.webkit.org/show_bug.cgi?id=71969

        Reviewed by Darin Adler.

        No new tests.

        Since allowsAccessFrom is only used by WebScriptObject, we know that we'll always have a 
        JSDOMWindowBase, so we can simply have allowsAccessFrom to live in JSDOMWindowBase rather 
        than JSGlobalObject.

        * bindings/js/JSDOMWindowBase.h: De-virtualized allowsAccessFrom.
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject _isSafeScript]): Added a cast from a JSGlobalObject to a JSDOMWindowBase in 
        order to call the allowsAccessFrom method.

2011-11-11  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Support attributeFilter for attribute mutations
        https://bugs.webkit.org/show_bug.cgi?id=70860

        Reviewed by Dimitri Glazkov.

        This patch adds an attributeFilter to the MutationObserverRegistration and
        adds support for only observing attributes whose name are in the provided
        filter set (array of strings).

        Test: fast/mutation/observe-attributes.html.

        * bindings/js/JSWebKitMutationObserverCustom.cpp:
        (WebCore::JSWebKitMutationObserver::observe):
        * bindings/v8/OptionsObject.cpp:
        (WebCore::OptionsObject::get):
        * bindings/v8/OptionsObject.h:
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::observeCallback):
        * dom/Element.cpp:
        (WebCore::enqueueAttributesMutationRecord):
        * dom/MutationObserverRegistration.cpp:
        (WebCore::MutationObserverRegistration::resetObservation):
        (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
        (WebCore::MutationObserverRegistration::caseInsensitiveAttributeFilter):
        * dom/MutationObserverRegistration.h:
        * dom/Node.cpp:
        (WebCore::Node::collectMatchingObserversForMutation):
        (WebCore::Node::getRegisteredMutationObserversOfType):
        * dom/Node.h:
        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::observe):
        * dom/WebKitMutationObserver.h:

2011-11-11  Vsevolod Vlasov  <vsevik@chromium.org>

        Application cache status indicator gets stuck at DOWNLOADING after a failure
        https://bugs.webkit.org/show_bug.cgi?id=60793

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/resource-tree/appcache-manifest-with-non-existing-file.html

        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
        (WebCore::InspectorApplicationCacheAgent::restore):
        (WebCore::InspectorApplicationCacheAgent::enable):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView):
        (WebInspector.ApplicationCacheItemsView.prototype.updateStatus):

2011-11-11  Eric Carlson  <eric.carlson@apple.com>

        Implement TextTrackList and the textTracks attribute of HTMLMediaElement
        https://bugs.webkit.org/show_bug.cgi?id=71123

        Reviewed by Sam Weinig.

        Test: media/track/track-add-track.html
              media/track/tracklist-is-reachable.html

        * CMakeLists.txt: Add new files for TextTrackList.
        * DerivedSources.cpp: Ditto.
        * DerivedSources.make: Ditto.
        * DerivedSources.pri: Ditto.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.

        * bindings/js/JSTextTrackListCustom.cpp: Added.
        (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):

        * dom/EventTargetFactory.in: Add TextTrackList, conditional on VIDEO_TRACK.

        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::createForJSConstructor): Update for scheduleLoad change.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::~HTMLMediaElement): Update for m_textTracks change from
            generic Vector to TextTrackList.
        (WebCore::HTMLMediaElement::attributeChanged): Ditto.
        (WebCore::HTMLMediaElement::insertedIntoDocument): Update for scheduleLoad change.
        (WebCore::HTMLMediaElement::scheduleLoad): Add a parameter so caller can specify if
            the main resource or a text track should be loaded.
        (WebCore::HTMLMediaElement::loadTimerFired): Update to allow text track loading.
        (WebCore::HTMLMediaElement::loadInternal): Don't call loadTextTracks.
        (WebCore::HTMLMediaElement::isSafeToLoadURL): Log when CSP denies load.
        (WebCore::HTMLMediaElement::playInternal): Update for scheduleLoad change.
        (WebCore::HTMLMediaElement::pauseInternal): Ditto.
        (WebCore::HTMLMediaElement::addTrack): Update for m_textTracks change from
            generic Vector to TextTrackList.
        (WebCore::HTMLMediaElement::addTextTrack): New, add track to m_textTracks and configure.
        (WebCore::HTMLMediaElement::configureTextTracks): New, add comments about what this should
            do eventually.
        (WebCore::HTMLMediaElement::textTracks): New, return TextTrackList.
        (WebCore::HTMLMediaElement::trackWasAdded): Bail if runtime feature is not enabled, schedule
            asynchronous text track load.
        (WebCore::HTMLMediaElement::trackWillBeRemoved): Minor cleanup.
        (WebCore::HTMLMediaElement::selectNextSourceChild): Ditto.
        (WebCore::HTMLMediaElement::sourceWasAdded): Update for scheduleLoad change.
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl: Add textTracks attribute.

        * html/HTMLTrackElement.cpp: 
        (WebCore::HTMLTrackElement::insertedIntoTree): Use new mediaElement() method.
        (WebCore::HTMLTrackElement::willRemove): Ditto.
        (WebCore::HTMLTrackElement::attributeChanged): When 'src' is changed, call scheduleLoad
            instead of HTMLMediaElement
        (WebCore::HTMLTrackElement::isDefault): hasAttribute -> fastHasAttribute.
        (WebCore::HTMLTrackElement::track): Allocate track if necessary.
        (WebCore::HTMLTrackElement::scheduleLoad): New, tell the track to schedule a load.
        (WebCore::HTMLTrackElement::canLoadUrl): New, check security policy to see if it is OK
            to load a text track. If so, dispatch 'beforeload' event to give it a chance to disallow
            load.
        (WebCore::HTMLTrackElement::loadingCompleted): Renamed from textTrackLoadingCompleted.
        (WebCore::HTMLTrackElement::textTrackReadyStateChanged): New, TextTrackLoadingClient interface
            used to inform parent of TextTrack state changes.
        (WebCore::HTMLTrackElement::textTrackModeChanged): Ditto.
        (WebCore::HTMLTrackElement::textTrackAddCues): Ditto.
        (WebCore::HTMLTrackElement::textTrackRemoveCues): Ditto.
        (WebCore::HTMLTrackElement::textTrackAddCue): Ditto.
        (WebCore::HTMLTrackElement::textTrackRemoveCue): Ditto.
        (WebCore::HTMLTrackElement::mediaElement): New, return parent element.
        * html/HTMLTrackElement.h:

        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::LoadableTextTrack): Initialize new instance variables.
        (WebCore::LoadableTextTrack::scheduleLoad): New, prime a timer to kick off loading.
        (WebCore::LoadableTextTrack::loadTimerFired): Cancel current load, if any, check to see if
            new url is allowed to load, and start new load.
        (WebCore::LoadableTextTrack::cueLoadingCompleted): 
        * html/LoadableTextTrack.h:
        (WebCore::LoadableTextTrackClient::~LoadableTextTrackClient): TextTrackLoadingClient -> LoadableTextTrackClient
        (WebCore::LoadableTextTrackClient::canLoadUrl): 
        (WebCore::LoadableTextTrackClient::loadingCompleted):
        (WebCore::LoadableTextTrack::create):

        * html/TextTrack.cpp:
        (WebCore::TextTrack::TextTrack): setClient(0) -> clearClient().
        * html/TextTrack.h:
        (WebCore::TextTrack::clearClient): Renamed from setClient, because it is only used to clear the client pointer.

        * html/TextTrackCueList.cpp:
        (WebCore::TextTrackCueList::add): Get rid of a compiler warning that breaks the OS X build.

        * html/track/TextTrackList.cpp: Added. Implement the TextTrackList object.
        (TextTrackList::TextTrackList):
        (TextTrackList::~TextTrackList):
        (TextTrackList::length):
        (TextTrackList::item):
        (TextTrackList::append):
        (TextTrackList::remove):
        (TextTrackList::interfaceName):
        (TextTrackList::scheduleAddTrackEvent):
        (TextTrackList::asyncEventTimerFired):
        * html/track/TextTrackList.h: Added.
        (WebCore::TextTrackList::create):
        (WebCore::TextTrackList::scriptExecutionContext):
        (WebCore::TextTrackList::clearOwner):
        (WebCore::TextTrackList::owner):
        (WebCore::TextTrackList::refEventTarget):
        (WebCore::TextTrackList::derefEventTarget):
        (WebCore::TextTrackList::eventTargetData):
        (WebCore::TextTrackList::ensureEventTargetData):
        * html/track/TextTrackList.idl: Added.

        * loader/TextTrackLoader.cpp:
        (WebCore::TextTrackLoader::cancelLoad): New, cancel pending or in progress load and delete loader.
        (WebCore::TextTrackLoader::notifyFinished): Call cancelLoad.
        (WebCore::TextTrackLoader::load): Ditto.
        * loader/TextTrackLoader.h:
        * page/DOMWindow.idl: Add TextTrackList.

2011-11-11  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: reimplement DOM search using no XPath.
        https://bugs.webkit.org/show_bug.cgi?id=72125

        Reviewed by Yury Semikhatsky.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::performSearch):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * inspector/InspectorDOMAgent.h:

2011-11-11  Gavin Peters  <gavinp@chromium.org>

        Protect Document during error responses
        https://bugs.webkit.org/show_bug.cgi?id=72068

        Add a Document protector to the error response code handler, just
        as exists for other ends of requests.

        Reviewed by Nate Chapin.

        Test: http/tests/misc/xslt-bad-import.html

        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::CachedResourceRequest::didReceiveData):

2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r99979.
        http://trac.webkit.org/changeset/99979
        https://bugs.webkit.org/show_bug.cgi?id=72136

        bad commit message (Requested by gavinp on #webkit).

        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::CachedResourceRequest::didReceiveData):

2011-11-11  Gavin Peters  <gavinp@chromium.org>

        Protect Document during error responses
        https://bugs.webkit.org/show_bug.cgi?id=72068

        Add a Document protector to the error response code handler, just
        as exists for other ends of requests.

        Reviewed by Nate Chapin.

        Test: http/tests/misc/xslt-bad-import.html

        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::CachedResourceRequest::didReceiveData):

2011-11-10  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] GstCaps and GstPad RefPtr implementation
        https://bugs.webkit.org/show_bug.cgi?id=72023

        Reviewed by Martin Robinson.

        Smart pointer implementations for GstCaps and GstPad and them
        in the media player code.

        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
        (WTF::GstPad):
        (WTF::GstCaps):
        * platform/graphics/gstreamer/GRefPtrGStreamer.h:
        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::enterFullscreen):
        (WebCore::GStreamerGWorld::exitFullscreen):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webkit_web_src_init):
        (StreamingClient::didReceiveResponse):

2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r99964.
        http://trac.webkit.org/changeset/99964
        https://bugs.webkit.org/show_bug.cgi?id=72124

        Broke too many Qt tests (Requested by tronical_ on #webkit).

        * Target.pri:
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::usesMenuList):
        * platform/qt/QtMobileWebStyle.cpp: Added.
        (QtMobileWebStyle::QtMobileWebStyle):
        (drawRectangularControlBackground):
        (QtMobileWebStyle::drawChecker):
        (QtMobileWebStyle::findChecker):
        (QtMobileWebStyle::drawRadio):
        (QtMobileWebStyle::findRadio):
        (QtMobileWebStyle::drawControl):
        (QtMobileWebStyle::drawPrimitive):
        (QtMobileWebStyle::drawMultipleComboButton):
        (QtMobileWebStyle::drawSimpleComboButton):
        (QtMobileWebStyle::getButtonImageSize):
        (QtMobileWebStyle::findComboButton):
        (QtMobileWebStyle::drawComplexControl):
        * platform/qt/QtMobileWebStyle.h: Added.
        * platform/qt/QtStyleOptionWebComboBox.h:
        (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox):
        (WebCore::QtStyleOptionWebComboBox::checkMultiple):
        * platform/qt/RenderThemeQStyle.cpp: Removed.
        * platform/qt/RenderThemeQStyle.h: Removed.
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::initStyleOption):
        (WebCore::StylePainter::StylePainter):
        (WebCore::StylePainter::init):
        (WebCore::StylePainter::~StylePainter):
        (WebCore::RenderThemeQt::create):
        (WebCore::RenderTheme::themeForPage):
        (WebCore::RenderThemeQt::RenderThemeQt):
        (WebCore::RenderThemeQt::~RenderThemeQt):
        (WebCore::RenderThemeQt::isControlStyled):
        (WebCore::RenderThemeQt::popupInternalPaddingBottom):
        (WebCore::RenderThemeQt::fallbackStyle):
        (WebCore::RenderThemeQt::qStyle):
        (WebCore::RenderThemeQt::extraDefaultStyleSheet):
        (WebCore::RenderThemeQt::findFrameLineWidth):
        (WebCore::inflateButtonRect):
        (WebCore::RenderThemeQt::adjustRepaintRect):
        (WebCore::RenderThemeQt::minimumMenuListSize):
        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQt::adjustButtonStyle):
        (WebCore::RenderThemeQt::setButtonPadding):
        (WebCore::RenderThemeQt::paintButton):
        (WebCore::RenderThemeQt::adjustTextFieldStyle):
        (WebCore::RenderThemeQt::paintTextField):
        (WebCore::RenderThemeQt::adjustMenuListStyle):
        (WebCore::RenderThemeQt::setPopupPadding):
        (WebCore::RenderThemeQt::paintMenuList):
        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
        (WebCore::RenderThemeQt::paintMenuListButton):
        (WebCore::RenderThemeQt::animationDurationForProgressBar):
        (WebCore::RenderThemeQt::paintProgressBar):
        (WebCore::RenderThemeQt::paintSliderTrack):
        (WebCore::RenderThemeQt::paintSliderThumb):
        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
        (WebCore::RenderThemeQt::paintInnerSpinButton):
        (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
        (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
        (WebCore::RenderThemeQt::paintMediaMuteButton):
        (WebCore::RenderThemeQt::paintMediaPlayButton):
        (WebCore::RenderThemeQt::paintMediaCurrentTime):
        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
        (WebCore::RenderThemeQt::paintMediaSliderTrack):
        (WebCore::RenderThemeQt::paintMediaSliderThumb):
        (WebCore::RenderThemeQt::adjustSliderThumbSize):
        (WebCore::RenderThemeQt::caretBlinkInterval):
        (WebCore::RenderThemeQt::fileListNameForWidth):
        * platform/qt/RenderThemeQt.h:
        (WebCore::StylePainter::isValid):
        (WebCore::StylePainter::drawPrimitive):
        (WebCore::StylePainter::drawControl):
        (WebCore::StylePainter::drawComplexControl):
        * platform/qt/RenderThemeQtMobile.cpp: Removed.
        * platform/qt/RenderThemeQtMobile.h: Removed.
        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::ScrollbarTheme::nativeTheme):
        (WebCore::ScrollbarThemeQt::paint):
        (WebCore::ScrollbarThemeQt::scrollbarThickness):
        (WebCore::ScrollbarThemeQt::paintScrollCorner):

2011-11-11  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: fix Snow Leopard build.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::performSearch):

2011-11-11  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: make search in DOM panel scale.
        https://bugs.webkit.org/show_bug.cgi?id=72118

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::reset):
        (WebCore::InspectorDOMAgent::performSearch):
        (WebCore::InspectorDOMAgent::getSearchResults):
        (WebCore::InspectorDOMAgent::discardSearchResults):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype.performSearch.callback):
        (WebInspector.DOMAgent.prototype.performSearch):
        (WebInspector.DOMAgent.prototype.searchResult.mycallback):
        (WebInspector.DOMAgent.prototype.searchResult):
        (WebInspector.DOMAgent.prototype.cancelSearch):
        (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch.resultCountCallback):
        (WebInspector.ElementsPanel.prototype.performSearch):
        (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
        (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
        (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult.):
        (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
        (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._highlightNthMatchedResource):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
        (WebInspector.ResourcesPanel.prototype._showSearchResult):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
        (WebInspector.ScriptsPanel.prototype.performSearch):
        (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
        (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
        * inspector/front-end/SearchController.js:
        (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):

2011-11-11  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Remove the QStyle dependency in Qt's mobile theme
        https://bugs.webkit.org/show_bug.cgi?id=67773

        This refactoring splits up RenderThemeQt with two
        subclasses, a QStyle-backed one, and a Mobile version
        that uses the old mobile theme for now.

        QStyle availability is detected at compile time, and
        its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
        environment variable.

        Reviewed by Simon Hausmann.

        Covered by the existing tests.

        * Target.pri:
        * platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
        now lives within RenderThemeQtMobile.
        * platform/qt/QtMobileWebStyle.h: Removed. Ditto.
        * platform/qt/RenderThemeQStyle.cpp: Added.
        (WebCore::initStyleOption):
        (WebCore::RenderThemeQStyle::getStylePainter):
        (WebCore::StylePainterQStyle::StylePainterQStyle):
        (WebCore::StylePainterQStyle::init):
        (WebCore::RenderThemeQStyle::create):
        (WebCore::RenderThemeQStyle::RenderThemeQStyle):
        (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
        (WebCore::RenderThemeQStyle::fallbackStyle):
        (WebCore::RenderThemeQStyle::qStyle):
        (WebCore::RenderThemeQStyle::findFrameLineWidth):
        (WebCore::RenderThemeQStyle::inflateButtonRect):
        (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQStyle::adjustButtonStyle):
        (WebCore::RenderThemeQStyle::setButtonPadding):
        (WebCore::RenderThemeQStyle::paintButton):
        (WebCore::RenderThemeQStyle::adjustTextFieldStyle):
        (WebCore::RenderThemeQStyle::paintTextField):
        (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
        (WebCore::RenderThemeQStyle::paintTextArea):
        (WebCore::RenderThemeQStyle::setPopupPadding):
        (WebCore::RenderThemeQStyle::paintMenuList):
        (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
        (WebCore::RenderThemeQStyle::paintMenuListButton):
        (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
        (WebCore::RenderThemeQStyle::paintProgressBar):
        (WebCore::RenderThemeQStyle::paintSliderTrack):
        (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
        (WebCore::RenderThemeQStyle::paintSliderThumb):
        (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
        (WebCore::RenderThemeQStyle::paintSearchField):
        (WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
        (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
        (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeQStyle::paintInnerSpinButton):
        (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
        (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
        * platform/qt/RenderThemeQStyle.h: Added.
        (WebCore::StylePainterQStyle::isValid):
        (WebCore::StylePainterQStyle::drawPrimitive):
        (WebCore::StylePainterQStyle::drawControl):
        (WebCore::StylePainterQStyle::drawComplexControl):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::RenderThemeQt):
        (WebCore::RenderThemeQt::isControlStyled):
        (WebCore::RenderThemeQt::inflateButtonRect):
        (WebCore::RenderThemeQt::adjustRepaintRect):
        (WebCore::RenderThemeQt::minimumMenuListSize):
        (WebCore::RenderThemeQt::adjustTextFieldStyle):
        (WebCore::RenderThemeQt::adjustMenuListStyle):
        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
        (WebCore::RenderThemeQt::adjustProgressBarStyle):
        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
        (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
        (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
        (WebCore::RenderThemeQt::paintMediaMuteButton):
        (WebCore::RenderThemeQt::paintMediaPlayButton):
        (WebCore::RenderThemeQt::paintMediaCurrentTime):
        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
        (WebCore::RenderThemeQt::paintMediaSliderTrack):
        (WebCore::RenderThemeQt::paintMediaSliderThumb):
        (WebCore::RenderThemeQt::adjustSliderThumbSize):
        (WebCore::RenderThemeQt::caretBlinkInterval):
        (WebCore::RenderThemeQt::fileListNameForWidth):
        (WebCore::StylePainter::StylePainter):
        (WebCore::StylePainter::init):
        (WebCore::StylePainter::~StylePainter):
        * platform/qt/RenderThemeQt.h:
        (WebCore::RenderThemeQt::useMobileTheme):
        (WebCore::StylePainter::isValid):
        * platform/qt/RenderThemeQtMobile.cpp: Added.
        (WebCore::drawRectangularControlBackground):
        (WebCore::RenderThemeQtMobile::getStylePainter):
        (WebCore::StylePainterMobile::StylePainterMobile):
        (WebCore::StylePainterMobile::drawChecker):
        (WebCore::StylePainterMobile::findChecker):
        (WebCore::StylePainterMobile::drawRadio):
        (WebCore::StylePainterMobile::findRadio):
        (WebCore::StylePainterMobile::drawMultipleComboButton):
        (WebCore::StylePainterMobile::drawSimpleComboButton):
        (WebCore::StylePainterMobile::getButtonImageSize):
        (WebCore::StylePainterMobile::findComboButton):
        (WebCore::StylePainterMobile::drawLineEdit):
        (WebCore::StylePainterMobile::drawCheckBox):
        (WebCore::StylePainterMobile::drawRadioButton):
        (WebCore::StylePainterMobile::drawPushButton):
        (WebCore::StylePainterMobile::drawComboBox):
        (WebCore::RenderThemeQtMobile::create):
        (WebCore::RenderTheme::themeForPage):
        (WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
        (WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
        (WebCore::RenderThemeQtMobile::isControlStyled):
        (WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
        (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQtMobile::adjustButtonStyle):
        (WebCore::RenderThemeQtMobile::setButtonPadding):
        (WebCore::RenderThemeQtMobile::paintButton):
        (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
        (WebCore::RenderThemeQtMobile::paintTextField):
        (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
        (WebCore::RenderThemeQtMobile::setPopupPadding):
        (WebCore::RenderThemeQtMobile::paintMenuList):
        (WebCore::RenderThemeQtMobile::paintMenuListButton):
        (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
        (WebCore::RenderThemeQtMobile::paintProgressBar):
        (WebCore::RenderThemeQtMobile::paintSliderTrack):
        (WebCore::RenderThemeQtMobile::paintSliderThumb):
        (WebCore::RenderThemeQtMobile::checkMultiple):
        (WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
        (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
        * platform/qt/RenderThemeQtMobile.h: Added.
        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::ScrollbarTheme::nativeTheme):
        (WebCore::ScrollbarThemeQt::paint):
        (WebCore::ScrollbarThemeQt::scrollbarThickness):
        (WebCore::ScrollbarThemeQt::paintScrollCorner):

2011-11-11  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Option to configure indentation of pretty-printed Javascript
        https://bugs.webkit.org/show_bug.cgi?id=72119

        Reviewed by Pavel Feldman.

        Drive-by fix for field names and added indent caching, as suggested by Pavel Podivilov.

        * inspector/front-end/JavaScriptFormatter.js:
        (FormattedContentBuilder):
        (FormattedContentBuilder.prototype.increaseNestingLevel):
        (FormattedContentBuilder.prototype.decreaseNestingLevel):
        (FormattedContentBuilder.prototype._addIndent):
        * inspector/front-end/ScriptFormatter.js:
        * inspector/front-end/ScriptFormatterWorker.js:
        (onmessage):
        (formatScript):
        (HTMLScriptFormatter):
        (HTMLScriptFormatter.prototype.scriptEnded):

2011-11-11  Andreas Kling  <kling@webkit.org>

        Unreviewed Chromium build fix after r99958.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateImplementationCustomCall):o

            Remove hack that forced HTMLOptionsCollection to have a custom
            callAsFunctionCallback().

2011-11-11  Mike Lewis <mikelikespie@gmail.com>

        Web Inspector: DevTools InspectorStubs.js incorrectly converting responses to arguments.
        https://bugs.webkit.org/show_bug.cgi?id=72096

        JSON.parse doesn't garantee the order of keys.
        We have to explicitly order the results according to Inspector.json spec.

        Reviewed by Pavel Feldman.

        * inspector/CodeGeneratorInspector.py:

2011-11-10  Andreas Kling  <kling@webkit.org>

        Remove ability to call HTMLCollections in V8 bindings as well.
        <http://webkit.org/b/72045>

        Reviewed by Anders Carlsson.

        Follow the JSC bindings and remove the ability to call HTMLCollections
        in the V8 bindings (excluding HTMLAllCollection.)

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeaderCustomCall):
        (GenerateImplementationCustomCall):
        * dom/NodeList.idl:
        * html/HTMLCollection.idl:

            Remove the V8CustomCall attribute as it's no longer needed.

        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        * bindings/v8/custom/V8NodeListCustom.cpp:

2011-11-11  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Interactive color box for gradients in CSS property values
        https://bugs.webkit.org/show_bug.cgi?id=72112

        Reviewed by Yury Semikhatsky.

        Add "background-image" to the list of color-aware properties (may contain gradient definition).

        * inspector/front-end/CSSKeywordCompletions.js:

2011-11-11  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: [chromium] list dedicated workers in case inspector opened post-worker creation.
        https://bugs.webkit.org/show_bug.cgi?id=72020

        Collect information about dedicated workers even when inspector is closed. This
        way we can list all dedicated workers if the front-end opens later.

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector-enabled/dedicated-workers-list.html

        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didStartWorkerContext):
        * inspector/InspectorWorkerAgent.cpp:
        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
        (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
        (WebCore::InspectorWorkerAgent::setFrontend):
        (WebCore::InspectorWorkerAgent::restore):
        (WebCore::InspectorWorkerAgent::clearFrontend):
        (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
        (WebCore::InspectorWorkerAgent::workerContextTerminated):
        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
        (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
        * inspector/InspectorWorkerAgent.h:

2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r99950.
        http://trac.webkit.org/changeset/99950
        https://bugs.webkit.org/show_bug.cgi?id=72117

        "Landed wrong patch by mistake" (Requested by yurys on
        #webkit).

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        * inspector/InjectedScript.cpp:
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InjectedScriptSource.js:
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        * inspector/InspectorDebuggerAgent.h:

2011-11-10  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: function remote objetct should provide access to function position in the script
        https://bugs.webkit.org/show_bug.cgi?id=71808

        Added Debugger.getFunctionLocation command for resolving function location including
        start line, column and script id.

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/function-location.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::functionLocation):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::functionLocationCallback):
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::getFunctionLocation):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::getFunctionLocation):
        * inspector/InspectorDebuggerAgent.h:

2011-11-11  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: roll out changes to InspectorDOMAgent that squeezed into 99933.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::MatchJob::MatchJob):
        (WebCore::InspectorDOMAgent::onMatchJobsTimer):

2011-11-11  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Metrics] Editor is committed when scrolling a content box dimension up/down for the first time
        https://bugs.webkit.org/show_bug.cgi?id=72108

        Reviewed by Pavel Feldman.

        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):

2011-11-11  Alpha Lam  <hclam@chromium.org>

        [chromium] scrolling is broken with compositor thread
        https://bugs.webkit.org/show_bug.cgi?id=72059

        Reviewed by James Robinson.

        No new test. Existing test CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls checks scroll deltas are applied
        on the right layer.

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore::CCLayerTreeHostImpl::scrollLayer):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
        Instead of calling on the root layer which doesn't have scroll delta applied. Change this to scrollLayer()
        which actually has scroll delta.

2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r99826.
        http://trac.webkit.org/changeset/99826
        https://bugs.webkit.org/show_bug.cgi?id=72109

        "Likely causing test flakiness" (Requested by tonyg-cr on
        #webkit).

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::scheduleArchiveLoad):

2011-11-11  Nikolas Zimmermann  <nzimmermann@rim.com>

        Zooming in SVGs in <object> is flakey
        https://bugs.webkit.org/show_bug.cgi?id=71673

        Reviewed by Zoltan Herczeg.

        It turns out zooming in SVGs in <object> wasn't flakey in Safari at all, only in DRT/Mac. In Safari it failed 100% reproducable.
        Scrollbars would always appear when zooming in a HTML document, containing an embedded SVG by <object>/<embed>/<iframe>, even
        though the content would visually fit perfectly, also it zoomed properly. Reloading would make the scrollbars disappear again.

        If scrollbars should be created for a FrameView or not, is determined by ScrollView::updateScrollbars(), by comparing the 
        visible size of the scroll view against the contents size. The contents size is propagated to the ScrollView, by
        FrameView::adjustViewSize(), which is called during FrameView::layout(). The size thats propagated is RenderView::documentRect().
        RenderView::documentRect() returns a writing-mode aware layoutOverflowRect(), computed by RenderBox::layoutOverflowRectForPropagation.

        If overflow is "visible", layoutOverflowRect() will return a union of the borderBoxRect() and the layoutOverflowRect(), which
        may exceed the visible size of the RenderView. For standalone SVG documents, the default value for the outermost <svg> renderer is
        "visible". When embedding SVGs through <object>s into a host document, the same code path is taken, and RenderView::documentRect()
        of the embedded SVG document will always return a union of the borderBoxREct() and the layoutOverflowRect().

        If that happens while zooming in a HTML document containing a SVG by <object>, scrollbars are created.
        By ensuring that overflow is treated as hidden, which is what Opera does (and makes sense!) this can't happen.

        The fix is to treat embedded SVGs as they would carry overflow="hidden" on the outermost <svg> renderer. That also makes
        sense as the embedded SVG cant paint outside an external "frame rect" thats given by the FrameView, effectively rendering
        as overflow "hidden" already.

        The fix is realized, by altering the overflow x/y values that are used in FrameView::applyOverflowToViewport(). Previously
        we never called that method for SVG, which was fine. Now we always call applyOverflowToViewport(), but only do something
        if the FrameView of the SVG is embedded in another document. If so, we force overflow to hidden.

        That fixes all zooming+<object> related flakiness seen on the chromium bots, most noticeable, without other side effects.
        All svg/overflow tests, still work as expected.

        Test: svg/zoom/page/zoom-svg-as-object.html

        * page/Frame.cpp:
        (WebCore::Frame::setPageAndTextZoomFactors): Remove unnecessary setNeedsLayout() call in SVG builds.
        * page/FrameView.cpp:
        (WebCore::FrameView::applyOverflowToViewport): Always enforce overflow=hidden, when embedding SVGs through object/embed/iframe.
                                                       Otherwise scrollbars will appear, even though the contents would fit without them.
        (WebCore::FrameView::calculateScrollbarModesForLayout): Always call applyOverflowToViewport, even for RenderSVGRoot. It only has
                                                                an effect though, when the FrameView of the SVG is embedded through <object>/etc.
        (WebCore::FrameView::layout): Remove unnecessary setChildNeedsLayout() call.
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::isEmbeddedThroughFrameContainingSVGDocument): Fix this function, its meaning was reversed before!
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Fix logical error, by negating the result of isEmbeddedThroughFrameContainingSVGDocument.
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
        * rendering/svg/RenderSVGRoot.h: Expose isEmbeddedThroughFrameContainingSVGDocument.

2011-11-11  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Unbreak my 32bit SL build.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateOrRemoveFilterEffect): Use narrowPrecisionToFloat() to convert float -> double.

2011-10-28  Philippe Normand  <pnormand@igalia.com>

        HRTF Database consolidation
        https://bugs.webkit.org/show_bug.cgi?id=69703

        Reviewed by Kenneth Russell.

        Access to the consolidated parts of the HRTF database by segmented
        chunks. A concatenated Composite HRTF database is provided in
        Composite.wav. Additionnally a new build step that concatenates
        the platform/audio/resources/ files into one (sox can be used for
        this) can be configured for specific ports.

        * platform/audio/HRTFDatabase.h:
        * platform/audio/HRTFElevation.cpp:
        (WebCore::getConcatenatedImpulseResponsesForSubject):
        (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
        * platform/audio/resources/Composite.wav: Added.

2011-11-10  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: provide an id to the root inspector element for third party UA styling.
        https://bugs.webkit.org/show_bug.cgi?id=72094

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/inspector.html:

2011-11-10  Andy Estes  <aestes@apple.com>

        WebKitCSSShaderValue.h is not a member of the WebCore target
        https://bugs.webkit.org/show_bug.cgi?id=72093

        Reviewed by Dan Bernstein.

        * WebCore.xcodeproj/project.pbxproj: Make WebKitCSSShaderValue.h a
        member of the WebCore target, and make it a project header.

2011-11-10  Dan Bernstein  <mitz@apple.com>

        Disabling assertions breaks the debug build
        https://bugs.webkit.org/show_bug.cgi?id=72091

        Reviewed by Geoff Garen.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::didDecodeProperties): Guarded the definition of local variables that are
        only used in an assertion correctly.
        * platform/graphics/gpu/TilingData.h: Changed ASSERT to ASSERT_UNUSED.
        (WebCore::TilingData::assertTile):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::willBeDestroyed): Guarded the definition of a local variable that is
        only used in an assertion correctly.
        * rendering/svg/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyResource): Changed ASSERT to ASSERT_UNUSED.
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource): Changed ASSERT to ASSERT_UNUSED.
        (WebCore::RenderSVGResourceFilter::postApplyResource): Changed ASSERT to ASSERT_UNUSED.
        * rendering/svg/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource): Changed ASSERT to ASSERT_UNUSED.

2011-11-10  Daniel Cheng  <dcheng@chromium.org>

        [chromium] Add plumbing for JS to write to clipboard in copy/cut events.
        https://bugs.webkit.org/show_bug.cgi?id=71414

        Reviewed by Darin Fisher.

        No new tests since no new functionality enabled yet.

        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeClipboard):
        * platform/chromium/PlatformSupport.h:

2011-11-10  Daniel Cheng  <dcheng@chromium.org>

        Atomically update the system clipboard for copy/cut events
        https://bugs.webkit.org/show_bug.cgi?id=40515

        Reviewed by David Levin.

        This change consolidates the system pasteboard mutation logic into dispatchCPPEvent() rather
        than having it scattered throughout tryDHTMLCopy/tryDHTMLCut and the various Clipboard*
        classes. This allows us to ensure that the system pasteboard remains in a consistent state
        even if there's an exception thrown during event handling, and it also lays the ground work
        for allowing pages to prevent copy/cut without causing the system pasteboard to be cleared.

        No new tests, since any layout test would be flaky since it would depend on and affect
        global system state.

        * editing/Editor.cpp:
        (WebCore::Editor::tryDHTMLCopy): Move Pasteboard::clear() call to dispatchCPPEvent().
        (WebCore::Editor::tryDHTMLCut): Ditto.
        (WebCore::Editor::dispatchCPPEvent):
        Only persist Clipboard mutations to the system pasteboard if the event was dispatched
        successfully and default processing was prevented.
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::newGeneralClipboard):
        When creating a Clipboard for copy/cut, back it with a unique instance of NSPasteboard to
        buffer pasteboard mutations.
        * platform/Pasteboard.h:
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeClipboard):
        * platform/efl/PasteboardEfl.cpp:
        (WebCore::Pasteboard::writeClipboard):
        * platform/gtk/ClipboardGtk.cpp: Moved pasteboard writeback to PasteboardGtk.
        (WebCore::ClipboardGtk::setData):
        * platform/gtk/ClipboardGtk.h:
        (WebCore::ClipboardGtk::clipboard):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeClipboard):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeClipboard):
        Implement logic to flush data from temporary NSPasteboard to system pasteboard.
        * platform/gtk/ClipboardGtk.cpp: Moved pasteboard writeback to PasteboardQt.
        (WebCore::ClipboardGtk::setData):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeClipboard):
        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeClipboard):
        * platform/wince/PasteboardWinCE.cpp:
        (WebCore::Pasteboard::writeClipboard):
        * platform/wx/PasteboardWx.cpp:
        (WebCore::Pasteboard::writeClipboard):

2011-11-10  Julien Chaffraix  <jchaffraix@webkit.org>

        RenderTableSection's recalcCell logic is doing too much work
        https://bugs.webkit.org/show_bug.cgi?id=71986

        Reviewed by Darin Adler.

        No change in behavior expected so no test.

        r98738 and r98980 missed the point that Vector::clear() does not touch
        the internal buffer. Thus calling clear() would keep the memory and properly
        reset the size().

        Due to how the code worked, after r98980 the code would end up resetting some
        of RowStruct field twice: once when growing and the other one when calling
        fillRowsWithDefaultStartingAtPosition.

        This change make the code use Vector::clear and simplified the recalcCells
        logic knowing that growing the Vector will properly initialize most of the
        RowStruct fields (with RowStruct constructor).

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild):
        (WebCore::RenderTableSection::addCell):
        Updated after ensureRows signature change.

        (WebCore::RenderTableSection::ensureRows):
        Removed the overflow check as it was making some assumption as to how the
        Vector worked. If we want to implement a limit, we may do it differently.
        Also inlined the part of fillRowsWithDefaultStartingAtPosition that grows
        the columns to match our current representation. The rest of the function's
        initialization is handled by the constructor already.

        (WebCore::RenderTableSection::recalcCells):
        Use clear() as it keeps the buffer and just resets the size. Also shrinkToFit
        at the end as we may have lost some rows.

        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::CellStruct::CellStruct):
        Fixed the style of the constructor.

        (WebCore::RenderTableSection::RowStruct::RowStruct):
        Added an explicit constructor (which is equivalent to the default one)
        but underlines what we expect.

2011-11-10  Enrica Casucci  <enrica@apple.com>

        ASSERT when outdenting styled line break.
        https://bugs.webkit.org/show_bug.cgi?id=72069
        <rdar://problem/10429739>

        Reviewed by Ryosuke Niwa.

        When outdenting a line break that has some inline style, we don't consider
        the enclosing elements that provide the style.
        This causes the splitting to occur in the wrong position,
        triggering the assert.
         
        Test: editing/execCommand/outdent-break-with-style.html

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::outdentParagraph): The fix consists
        in choosing the highest inline ancestor as splitting point.
        * editing/htmlediting.cpp:
        (WebCore::isInline): Added.
        * editing/htmlediting.h: Added isInline.

2011-11-10  Dean Jackson  <dino@apple.com>

        Remove effectBoundingBoxMode from CSS Filters
        https://bugs.webkit.org/show_bug.cgi?id=72058

        Reviewed by Simon Fraser.

        As suggested by Nikolas, we don't need this virtual method any more.

        * rendering/FilterEffectRenderer.h:

2011-11-10  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=72060
        
        [CSS Line Grid] Add support for the line-grid-snap property to control snapping to the nearest
        enclosing grid.

        Reviewed by Dan Bernstein.

        Added fast/line-grid/line-grid-snap-parsing.html.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator LineGridSnap):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::lineGridSnap):
        (WebCore::InheritedFlags::setLineGridSnap):
        (WebCore::InheritedFlags::initialLineGridSnap):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h:

2011-11-10  Kentaro Hara  <haraken@chromium.org>

        CodeGeneratorV8.pm can generate Event constructors
        https://bugs.webkit.org/show_bug.cgi?id=72055

        Reviewed by Adam Barth.

        This patch makes CodeGeneratorV8.pm generate Event constructors
        and replaces a custom constructor of Event with the generated one.
        After this patch is landed without regression,
        I will replace custom constructors of all other Events.
        This patch introduces two new IDLs:

        - [ConstructorTemplate=Event] IDL indicates that CodeGenerator should
        generate an Event constructor.
        - [InitializedByConstructor] IDL on an attribute indicates that
        the attribute can be initialized by the constructor.

        Tests: fast/events/constructors/event-constructors.html
               fast/events/constructors/custom-event-constructor.html
               fast/events/constructors/progress-event-constructor.html

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader): Added a header for fillXXXXEventInit(...).
        (IsConstructable): Judges if a given interface is constructable.
        (IsConstructorTemplate): Judges if a given interface has a given template, e.g. judges if an interface has [ConstructorTemplate=Event].
        (GenerateEventConstructorCallback): Generates an Event constructor. The generated code is the same as the code that had been written in V8EventConstructors.cpp.
        (GenerateImplementation): Generates an Event constructor if [ConstructorTemplate=Event] is specified.
        * dom/Event.idl: Added [ConstructorTemplate=Event] IDL. Added [InitializedByConstructor] IDL to attributes that can be initialized by a constructor.

        * bindings/scripts/test/TestEventConstructor.idl: Added a new run-bindings-test.
        * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp: Updated a run-bindings-tests result.
        (WebDOMTestEventConstructor::WebDOMTestEventConstructorPrivate::WebDOMTestEventConstructorPrivate):
        (WebDOMTestEventConstructor::WebDOMTestEventConstructor):
        (WebDOMTestEventConstructor::operator=):
        (WebDOMTestEventConstructor::impl):
        (WebDOMTestEventConstructor::~WebDOMTestEventConstructor):
        (WebDOMTestEventConstructor::attr1):
        (WebDOMTestEventConstructor::attr2):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMTestEventConstructor.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp: Ditto.
        (WebKit::kit):
        (webkit_dom_test_event_constructor_get_attr1):
        (webkit_dom_test_event_constructor_get_attr2):
        (WebKit::core):
        (webkit_dom_test_event_constructor_finalize):
        (webkit_dom_test_event_constructor_set_property):
        (webkit_dom_test_event_constructor_get_property):
        (webkit_dom_test_event_constructor_constructed):
        (webkit_dom_test_event_constructor_class_init):
        (webkit_dom_test_event_constructor_init):
        (WebKit::wrapTestEventConstructor):
        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h: Ditto.
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
        (WebCore::JSTestEventConstructorConstructor::JSTestEventConstructorConstructor):
        (WebCore::JSTestEventConstructorConstructor::finishCreation):
        (WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
        (WebCore::JSTestEventConstructorConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestEventConstructorConstructor::getConstructData):
        (WebCore::JSTestEventConstructorPrototype::self):
        (WebCore::JSTestEventConstructor::JSTestEventConstructor):
        (WebCore::JSTestEventConstructor::finishCreation):
        (WebCore::JSTestEventConstructor::createPrototype):
        (WebCore::JSTestEventConstructor::getOwnPropertySlot):
        (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
        (WebCore::jsTestEventConstructorAttr1):
        (WebCore::jsTestEventConstructorAttr2):
        (WebCore::jsTestEventConstructorConstructor):
        (WebCore::JSTestEventConstructor::getConstructor):
        (WebCore::toJS):
        (WebCore::toTestEventConstructor):
        * bindings/scripts/test/JS/JSTestEventConstructor.h: Ditto.
        (WebCore::JSTestEventConstructor::create):
        (WebCore::JSTestEventConstructor::createStructure):
        (WebCore::JSTestEventConstructor::impl):
        (WebCore::JSTestEventConstructorPrototype::create):
        (WebCore::JSTestEventConstructorPrototype::createStructure):
        (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
        (WebCore::JSTestEventConstructorConstructor::create):
        (WebCore::JSTestEventConstructorConstructor::createStructure):
        * bindings/scripts/test/ObjC/DOMTestEventConstructor.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestEventConstructor.mm: Ditto.
        (-[DOMTestEventConstructor dealloc]):
        (-[DOMTestEventConstructor finalize]):
        (-[DOMTestEventConstructor attr1]):
        (-[DOMTestEventConstructor attr2]):
        (core):
        (kit):
        * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h: Ditto.
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Ditto.
        (WebCore::TestEventConstructorInternal::V8_USE):
        (WebCore::TestEventConstructorInternal::attr1AttrGetter):
        (WebCore::TestEventConstructorInternal::attr2AttrGetter):
        (WebCore::ConfigureV8TestEventConstructorTemplate):
        (WebCore::V8TestEventConstructor::GetRawTemplate):
        (WebCore::V8TestEventConstructor::GetTemplate):
        (WebCore::V8TestEventConstructor::HasInstance):
        (WebCore::V8TestEventConstructor::wrapSlow):
        (WebCore::V8TestEventConstructor::derefObject):
        * bindings/scripts/test/V8/V8TestEventConstructor.h: Ditto.
        (WebCore::V8TestEventConstructor::toNative):
        (WebCore::V8TestEventConstructor::existingWrapper):
        (WebCore::V8TestEventConstructor::wrap):
        (WebCore::toV8):
        * bindings/scripts/test/V8/V8TestInterface.h: Ditto.
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
        * bindings/scripts/test/V8/V8TestNamedConstructor.h: Ditto.
        * bindings/scripts/test/V8/V8TestObj.h: Ditto.
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
        * bindings/v8/custom/V8EventConstructors.cpp: Removed a custom constructor of Event.

2011-11-10  Benjamin Poulain  <benjamin@webkit.org>

        Do not share CSS style for MediaElement backed by a plugin
        https://bugs.webkit.org/show_bug.cgi?id=72005

        Reviewed by Simon Fraser.

        With PLUGIN_PROXY_FOR_VIDEO, the RenderMedia elements are rendered through RenderBoxModelObject.
        Like the embedded element, the proxied media element can gain a layer outside a change of style.

        This patch prevents style sharing for the Audio and Video elements when PLUGIN_PROXY_FOR_VIDEO
        is enabled.

        This path is covered by exising tests. In particular, http/tests/misc/empty-urls.html
        ASSERT() because of this.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement):

2011-11-10  Dean Jackson  <dino@apple.com>

        Move/copy/merge SVG filter rendering code to generic rendering
        https://bugs.webkit.org/show_bug.cgi?id=68472

        Reviewed by Simon Fraser.

        Implement an extremely simple version of the filter
        chain. Only a single hue-rotate filter is supported
        at the moment. The change in this commit was to insert a new
        step in RenderLayer's painting to capture the content to an
        offscreen ImageBuffer, apply a filter operation on that buffer,
        and then draw the result in place of the original element. The full
        implementation will need something like the SVGFilterBuilder
        but this is a good prototype of effects on HTML content.
        It's an open question at the moment as to when the filter
        effect should apply: after masking, after overflow, after outline,
        etc. Currently the filter applies at the end of the paintLayer code.
        This will likely change.
        
        Added a FilterEffectRenderer class that is the root of the filter
        tree. At the moment it holds the offscreen context and
        the existing paint context.
        
        Other than rendering, the rest of this patch adds tests
        to make sure any element with a filter style will become
        a RenderLayer. In order to avoid a lot of duplicated code
        around the more complex logic tests, RenderStyle::hasFilter
        is available outside ENABLE(CSS_FILTERS), but returns false
        in those situations.

        Tests: css3/filters/add-filter-rendering.html
               css3/filters/remove-filter-rendering.html
               css3/filters/simple-filter-rendering.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * rendering/FilterEffectRenderer.cpp: Added.
        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
        * rendering/FilterEffectRenderer.h: Added.
        (WebCore::FilterEffectRenderer::create):
        (WebCore::FilterEffectRenderer::setSourceImageRect):
        (WebCore::FilterEffectRenderer::sourceImageRect):
        (WebCore::FilterEffectRenderer::setFilterRegion):
        (WebCore::FilterEffectRenderer::filterRegion):
        (WebCore::FilterEffectRenderer::effectBoundingBoxMode):
        (WebCore::FilterEffectRenderer::setEffect):
        (WebCore::FilterEffectRenderer::effect):
        (WebCore::FilterEffectRenderer::setSourceGraphic):
        (WebCore::FilterEffectRenderer::sourceGraphic):
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::requiresLayer):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
        (WebCore::RenderLayer::styleChanged):
        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
        (WebCore::RenderLayer::updateFilterBackingStore):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::hasFilter):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::hasFilter):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::requiresLayer):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::hasFilter):

2011-11-10  Xiaomei Ji  <xji@chromium.org>

        --webkit-visual-word crash when create legacy position for shadowRoot
        https://bugs.webkit.org/show_bug.cgi?id=71600
    
        Reviewed by Ryosuke Niwa.

        Inside textarea, the shadowed text node's previous leaf node could be the
        shadowRoot node, which cause assert exception in creating legacy position based
        on such node. Exit previousRootInlineBox() when reach shadowRoot node.

        It does not cause problem when looking for text node's next leaf node. Adding
        the same checking in nextRootInlineBox just to be safe.

        Test: editing/selection/move-by-word-visually-crash-test-textarea.html

        * editing/visible_units.cpp:
        (WebCore::previousRootInlineBox):
        (WebCore::nextRootInlineBox):

2011-11-10  Dean Jackson  <dino@apple.com>

        Parse drop-shadow() filter syntax
        https://bugs.webkit.org/show_bug.cgi?id=69108

        Reviewed by Simon Fraser.

        Support parsing of the shadow syntax inside drop-shadow
        and returning the correct computed style for a filter that
        has such a function.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
            Move this from a static function (computedFilter) to a method on
            CSSComputedStyleDeclaration, which allows us to call the
            existing method for shadow styles.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSComputedStyleDeclaration.h:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseShadow):
            Previously parseShadow expected to be called with the entire
            value of a property, not just to look at a restricted subset.
            Change parseShadow to take a CSSParserValueList as parameter,
            allowing it to be used to parse the arguments to the drop-shadow
            function. Also, return the CSSValueList rather than injecting
            it directly into the property value.
        (WebCore::filterInfoForName):
        (WebCore::CSSParser::parseFilter):
            Support for the drop-shadow() function.
        * css/CSSParser.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createFilterOperations):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
            Updated to use the new arguments for parseShadow.

2011-11-10  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: ApplicationCache UI is confusing and incorrect.
        https://bugs.webkit.org/show_bug.cgi?id=64581

        Reviewed by Pavel Feldman.

        Fixed resources panel application cache UI.
        Manifest urls are now shown under application cache tree element.
        Under each manifest url tree element frames using relevant application
        cache are listed. Application cache detailed views could be opened for each
        frame.

        Test: http/tests/inspector/resource-tree/appcache-iframe-manifests.html

        * English.lproj/localizedStrings.js:
        * inspector/Inspector.json:
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
        (WebCore::InspectorApplicationCacheAgent::setFrontend):
        (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
        (WebCore::InspectorApplicationCacheAgent::networkStateChanged):
        (WebCore::InspectorApplicationCacheAgent::enable):
        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
        (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
        (WebCore::InspectorApplicationCacheAgent::getManifestForFrame):
        (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::resourceContent):
        (WebCore::InspectorPageAgent::getResourceContent):
        (WebCore::InspectorPageAgent::assertFrame):
        (WebCore::InspectorPageAgent::assertDocumentLoader):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView):
        (WebInspector.ApplicationCacheItemsView.prototype._update):
        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
        * inspector/front-end/ApplicationCacheModel.js:
        (WebInspector.ApplicationCacheModel):
        (WebInspector.ApplicationCacheModel.prototype._frameNavigated):
        (WebInspector.ApplicationCacheModel.prototype._frameDetached):
        (WebInspector.ApplicationCacheModel.prototype._mainFrameNavigated):
        (WebInspector.ApplicationCacheModel.prototype._manifestForFrameLoaded):
        (WebInspector.ApplicationCacheModel.prototype._framesWithManifestsLoaded):
        (WebInspector.ApplicationCacheModel.prototype._frameManifestUpdated):
        (WebInspector.ApplicationCacheModel.prototype._frameManifestRemoved):
        (WebInspector.ApplicationCacheModel.prototype.frameManifestURL):
        (WebInspector.ApplicationCacheModel.prototype.frameManifestStatus):
        (WebInspector.ApplicationCacheModel.prototype._statusUpdated):
        (WebInspector.ApplicationCacheModel.prototype.requestApplicationCache):
        (WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
        (WebInspector.ApplicationCacheDispatcher.prototype.applicationCacheStatusUpdated):
        (WebInspector.ApplicationCacheDispatcher.prototype.networkStateUpdated):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype.frameForId):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.wasShown):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype._frameNavigated):
        (WebInspector.ResourcesPanel.prototype.addDocumentURL):
        (WebInspector.ResourcesPanel.prototype.showApplicationCache):
        (WebInspector.ResourcesPanel.prototype._populateApplicationCacheTree):
        (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestAdded):
        (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestRemoved):
        (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestStatusChanged):
        (WebInspector.ResourcesPanel.prototype._applicationCacheNetworkStateChanged):
        (WebInspector.ApplicationCacheManifestTreeElement):
        (WebInspector.ApplicationCacheManifestTreeElement.prototype.get itemURL):
        (WebInspector.ApplicationCacheManifestTreeElement.prototype.get manifestURL):
        (WebInspector.ApplicationCacheManifestTreeElement.prototype.onselect):
        (WebInspector.ApplicationCacheFrameTreeElement):
        (WebInspector.ApplicationCacheFrameTreeElement.prototype.get itemURL):
        (WebInspector.ApplicationCacheFrameTreeElement.prototype.get frameId):
        (WebInspector.ApplicationCacheFrameTreeElement.prototype.get manifestURL):
        (WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles):
        (WebInspector.ApplicationCacheFrameTreeElement.prototype.frameNavigated):
        (WebInspector.ApplicationCacheFrameTreeElement.prototype.onselect):

2011-11-10  Andreas Kling  <kling@webkit.org>

        Shrink CSSMutableStyleDeclaration.
        <http://webkit.org/b/72032>

        Reviewed by Antti Koivisto.

        Move m_strictParsing and m_iteratorCount (debug only) up into
        CSSStyleDeclaration, effectively shaving one CPU word (4/8 bytes)
        off of every CSSMutableStyleDeclaration.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        * css/CSSMutableStyleDeclaration.h:
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
        * css/CSSStyleDeclaration.h:

2011-11-10  Balazs Kelemen  <kbalazs@webkit.org>

        [Qt] X11 plugins need to be reworked for Qt5
        https://bugs.webkit.org/show_bug.cgi?id=70023

        Reviewed by Simon Hausmann.

        Rework our basic plugin support in a way that does
        not need a bridge between Qt and X. The solution is
        based on getting the content drawed by the plugin
        from the server as an image and creating a QImage
        from it.

        No new tests. Existing plugin test are sufficient.

        * Target.pri:
        * bridge/npruntime_internal.h: Added yet another undef
        to fix build with Qt5 + X11 headers.
        * plugins/qt/QtX11ImageConversion.cpp: Added.
        (WebCore::qimageFromXImage):
        * plugins/qt/QtX11ImageConversion.h: Added.
        Added a helper function to create a QImage from an XImage.
        Put it in a new file into WebCore to avoid copyright issues - as
        the code has been taken directly from Qt - and to be able to resuse
        it for the WK1 plugin support in the future.

2011-11-10  Andreas Kling  <kling@webkit.org>

        Cache and reuse HTMLCollections exposed by Document.
        <http://webkit.org/b/71956>

        Reviewed by Antti Koivisto.

        Let Document cache the various HTMLCollection objects it exposes.
        They're created on-demand and stored in a tight Vector.
        This is a behavior change, since the lifetime of returned collections
        is now tied to the lifetime of the Document. However, this matches the
        current behavior of Firefox and Opera.

        This reduces memory consumption by ~800 kB (on 64-bit) when loading
        the full HTML5 spec. document.links was called 34001 times, yielding
        34001 separate HTMLCollections, and now we only need 1.

        The document.all collection retains the old behavior, as caching it
        would be a bit more complicated.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::collection):
        (WebCore::Document::images):
        (WebCore::Document::applets):
        (WebCore::Document::embeds):
        (WebCore::Document::plugins):
        (WebCore::Document::objects):
        (WebCore::Document::scripts):
        (WebCore::Document::links):
        (WebCore::Document::forms):
        (WebCore::Document::anchors):
        * dom/Document.h:
        * html/CollectionType.h:

2011-11-10  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [SuggestBox] Correctly position the box under the first character of the suggestion prefix.
        https://bugs.webkit.org/show_bug.cgi?id=72022

        Reviewed by Pavel Feldman.

        On any suggest box position update (updateSuggestions invocation) an anchor is created at the beginning
        of the user-entered word, and its box is ultimately passed into _updateBoxPosition to be used as the
        actual anchor box (instead of the input element box).

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._boxForAnchorAtStart):
        (WebInspector.TextPrompt.prototype._completionsReady):
        (WebInspector.TextPrompt.SuggestBox):
        (WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
        (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPositionWithExistingAnchor):
        (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
        (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
        * inspector/front-end/utilities.js:
        (AnchorBox):
        (Element.prototype.offsetRelativeToWindow):

2011-11-10  Ryuan Choi  <ryuan.choi@samsung.com>

        [CMAKE] Refactoring CMakeLists${PORT}.txt to Platform${PORT}.cmake
        https://bugs.webkit.org/show_bug.cgi?id=56705

        Reviewed by Adam Roben.

        No new tests, just renaming CMakeLists*.txt to Platform*.cmake.

        * CMakeLists.txt:
        * PlatformEfl.cmake: Renamed from Source/WebCore/CMakeListsEfl.txt.
        * PlatformWinCE.cmake: Renamed from Source/WebCore/CMakeListsWinCE.txt.

2011-11-10  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: wrong JSON.stringify used in webInspector.inspectedWindow.eval() backend
        https://bugs.webkit.org/show_bug.cgi?id=63083

        Reviewed by Pavel Feldman.

        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.InspectedWindow.prototype.eval):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):

2011-11-10  Florin Malita  <fmalita@google.com>

        SVG object covers CSS background in HTML foreignObject
        https://bugs.webkit.org/show_bug.cgi?id=58417

        Reviewed by Simon Fraser.

        Test: svg/foreignObject/background-render-phase.html

        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::paint):

            Paint SVG foreign objects atomically, following the same pattern as
            http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/InlineBox.cpp#L209.

2011-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r99851.
        http://trac.webkit.org/changeset/99851
        https://bugs.webkit.org/show_bug.cgi?id=72029

        Patch breaks Qt tests (Requested by schenney on #webkit).

        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::~SVGElementInstance):
        (WebCore::SVGElementInstance::clearChildren):
        * svg/SVGElementInstance.h:
        (WebCore::SVGElementInstance::clearUseElements):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::detachInstance):

2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>

        [GTK] svg/as-image/svg-image-change-content-size.xhtml crashes
        https://bugs.webkit.org/show_bug.cgi?id=71932

        Reviewed by Philippe Normand.

        Null check m_page in drawSVGToImageBuffer(), just like all others methods do.
        As drawSVGToImageBuffer() is fired from a timer, it may get into this state under certain conditions, as seen on the 64bit gtk bot.

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::drawSVGToImageBuffer):

2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Rolling out part of r99854, which didn't belong there.

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::drawSVGToImageBuffer):

2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>

        Move unit resolving for all resources to rendering/
        https://bugs.webkit.org/show_bug.cgi?id=72011

        Reviewed by Andreas Kling.

        Remove maskBoundingBox()/filterBoundingBox(), to avoid doing length resolution in svg/.
        RenderSVGResource* now uses SVGLengthContext::resolveRectangle, to do this while laying out.

        Move linear gradient start/end point, radial gradient focal/center point, radius calculations into
        their RenderSVGResource classes, cleanup code a bit.

        Convert filters to use SVGLengthContext. Fix DRT dumps for filters, while I'm at it, to give
        meaningful values, when objectBoundingBox is used as primitive units, when applying to <text>/<tspan>s.

        Several tests results need rebaselines on all platforms.

        * platform/graphics/filters/Filter.h:
        * rendering/svg/RenderSVGInlineText.h:
        (WebCore::RenderSVGInlineText::objectBoundingBox):
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::buildPrimitives):
        (WebCore::RenderSVGResourceFilter::applyResource):
        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
        * rendering/svg/RenderSVGResourceFilter.h:
        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/svg/RenderSVGResourceGradient.h:
        * rendering/svg/RenderSVGResourceLinearGradient.cpp:
        (WebCore::RenderSVGResourceLinearGradient::startPoint):
        (WebCore::RenderSVGResourceLinearGradient::endPoint):
        (WebCore::RenderSVGResourceLinearGradient::buildGradient):
        * rendering/svg/RenderSVGResourceLinearGradient.h:
        * rendering/svg/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
        * rendering/svg/RenderSVGResourceRadialGradient.cpp:
        (WebCore::RenderSVGResourceRadialGradient::centerPoint):
        (WebCore::RenderSVGResourceRadialGradient::focalPoint):
        (WebCore::RenderSVGResourceRadialGradient::radius):
        (WebCore::RenderSVGResourceRadialGradient::adjustFocalPointIfNeeded):
        (WebCore::RenderSVGResourceRadialGradient::buildGradient):
        * rendering/svg/RenderSVGResourceRadialGradient.h:
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGResourceContainer):
        * svg/SVGFilterElement.cpp:
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGLinearGradientElement.cpp:
        * svg/SVGLinearGradientElement.h:
        * svg/SVGMaskElement.cpp:
        * svg/SVGMaskElement.h:
        * svg/SVGRadialGradientElement.cpp:
        * svg/SVGRadialGradientElement.h:
        * svg/graphics/filters/SVGFilter.h:
        (WebCore::SVGFilter::filterRegionInUserSpace):

2011-11-10  Stephen Chenney  <schenney@chromium.org>

        Null deref when no use element exists for SVG element instance
        https://bugs.webkit.org/show_bug.cgi?id=59136

        Cleans up the object when it is detached from the shadow DOM tree,
        rather than leaving it in a half-clean state with some nulled
        references but not others.

        Reviewed by Nikolas Zimmermann.

        Test: svg/custom/element-instance-held-by-js-crash.svg

        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::~SVGElementInstance): Added a call to
        detach to clean up if deletion happens without a prior detach call (as
        when an entire tree is removed).
        (WebCore::SVGElementInstance::detach): New method that replaces other
        clean-up methods when the instance is removed from the shadow DOM.
        * svg/SVGElementInstance.h: Added new detach method and removed
        unnecessary clear methods.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::detachInstance): Changed calls to clear to
        instead detach.

2011-11-10  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Show media queries associated with specific CSS rules
        https://bugs.webkit.org/show_bug.cgi?id=65626

        Reviewed by Pavel Feldman.

        Test: inspector/styles/media-queries.html

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::updateLastMediaLine):
        * css/CSSParser.h:
        * css/MediaList.cpp:
        (WebCore::MediaList::MediaList):
        * css/MediaList.h:
        (WebCore::MediaList::lastLine):
        (WebCore::MediaList::setLastLine):
        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::bindStyleSheet):
        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::documentURLString):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::buildMediaObject):
        (WebCore::fillMediaListChain):
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSRule):
        (WebInspector.CSSMedia):
        (WebInspector.CSSMedia.parsePayload):
        (WebInspector.CSSMedia.parseMediaArrayPayload):
        * inspector/front-end/ResourceUtils.js:
        (WebInspector.linkifyResourceAsNode):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        * inspector/front-end/elementsPanel.css:
        (.styles-section .header .title .media, .styles-section .header .title .media .subtitle):
        (.styles-section .header .subtitle):

2011-11-10  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [SuggestBox] Do not display suggest box if editing in the middle of prompt unless a stop character follows
        https://bugs.webkit.org/show_bug.cgi?id=72018

        Reviewed by Pavel Feldman.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.complete):

2011-11-10  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: do not highlight files larger than 10KLOC.
        https://bugs.webkit.org/show_bug.cgi?id=72025

        This is a temporary measure while I am improving the highlighter
        footprint. Otherwise, highlighting pretty printed Gmail takes ~1.3G of RAM.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/TextEditorHighlighter.js:
        (WebInspector.TextEditorHighlighter.prototype.highlight):
        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype._didRequestContent):

2011-11-10  Alpha Lam  <hclam@chromium.org>

        [chromium] Scroll deltas are cleared during commit to the main thread
        https://bugs.webkit.org/show_bug.cgi?id=71916

        Reviewed by James Robinson.

        The patch keeps the scroll deltas and scroll position unchanged when
        committing to the main thread. After commit has completed on the main
        thread the submitted scroll deltas are then subtracted from the current
        scroll deltas on the impl thread.

        Doing so allow scroll deltas to be available at all time which enables
        proper positioning for layers that are fixed-positioned to the
        container layer.

        This patch is tested by the following unit tests:
        - CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls
          This test is modified to verify that scroll deltas and scroll position
          are unchanged during commit. And then after commit scroll deltas are
          subtracted correctly.

        - CCLayerTreeHostTestScrollSimple.runMultiThread and
          CCLayerTreeHostTestScrollMultipleRedraw.runMultiThread
          These tests verifies that scroll deltas made on impl thread are
          committed to the main thread. The scroll deltas is eventually delegated
          to CCLayerTreeHostClient. When commit has completed the scroll deltas
          are subtracted correctly. There's no change to these two tests but they
          verify this patch maintains the overall behavior of scrolling.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::applyScrollAndScale):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::applyScrollAndScale):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::applyScrollAndScaleInternal):
        (WebCore::CCLayerTreeHostCommon::applyScrollAndScale):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::beginFrameAndCommit):
        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck build.

        * GNUmakefile.am: Add missing files.
        * GNUmakefile.list.am: Ditto.

2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>

        Deploy SVGLengthContext in more places
        https://bugs.webkit.org/show_bug.cgi?id=72012

        Reviewed by Simon Hausmann.

        Doesn't affect any tests.

        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
        * svg/SVGAnimatedLengthList.cpp:
        (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):

2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix build.

        * WebCore.gypi: Need to add rendering/svg/SVGPathData.* in another place as well, cr-bots are not compiling it and thus fail linking.

2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>

        Remove virtual toPathData() method from all graphics elements
        https://bugs.webkit.org/show_bug.cgi?id=72009

        Reviewed by Zoltan Herczeg.

        In bug 71780, SVGLengthContext was introduced, to allow to resolve SVGLengths against arbitary viewports.
        SVGLength::value(), which needs a SVGLengthContext, is still used all over svg/ - that should be changed, as rendering/
        should resolve these lengths, as HTML does it using Length & RenderStyles for CSS.

        As first step, move the #1 client of the SVGLength::value() methods - toPathData() out of svg/ into rendering/svg/SVGPathData
        as free-function, replacing the virtual toPathData() function from SVGStyledTransformableElement.

        Doesn't affect any tests.

        * CMakeLists.txt: Add rendering/svg/SVGPathData.* to build.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/svg/RenderSVGAllInOne.cpp: Ditto.
        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::layout): Use "updatePathFromGraphicsElement(element, m_path)" instead of "element->toPathData(m_path)", avoiding a virtual call.
        * rendering/svg/RenderSVGTextPath.cpp:
        (WebCore::RenderSVGTextPath::layoutPath): Ditto.
        * rendering/svg/SVGPathData.cpp: Added.
        (WebCore::updatePathFromCircleElement):
        (WebCore::updatePathFromEllipseElement):
        (WebCore::updatePathFromLineElement):
        (WebCore::updatePathFromPathElement):
        (WebCore::updatePathFromPolygonElement):
        (WebCore::updatePathFromPolylineElement):
        (WebCore::updatePathFromRectElement):
        (WebCore::updatePathFromGraphicsElement):
        * rendering/svg/SVGPathData.h: Added.
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::animationPath): Use updatePathFromGraphicsElement instead of toPathData.
        * svg/SVGCircleElement.cpp: Remove toPathData() virtual method.
        * svg/SVGCircleElement.h: Ditto.
        * svg/SVGEllipseElement.cpp: Ditto.
        * svg/SVGEllipseElement.h: Ditto.
        * svg/SVGLineElement.cpp: Ditto.
        * svg/SVGLineElement.h: Ditto.
        * svg/SVGPathElement.cpp: Ditto.
        * svg/SVGPathElement.h: Ditto.
        * svg/SVGPolygonElement.cpp: Ditto.
        * svg/SVGPolygonElement.h: Ditto.
        * svg/SVGPolylineElement.cpp: Ditto.
        * svg/SVGPolylineElement.h: Ditto.
        * svg/SVGRectElement.cpp: Ditto.
        * svg/SVGRectElement.h: Ditto.
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::toClipPath): Use updatePathFromGraphicsElement instead of toPathData.
        * svg/SVGStyledTransformableElement.h: Remove toPathData() virtual method.

2011-11-09  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] get rid of JavaScriptSourceFrameDelegate
        https://bugs.webkit.org/show_bug.cgi?id=71922

        Reviewed by Pavel Feldman.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.setReadOnly):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.activateBreakpoints):
        (WebInspector.ScriptsPanel.prototype.folderAndDisplayNameForScriptURL):
        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
        (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
        (WebInspector.ScriptsPanel.prototype.addToWatch):

2011-11-10  Jay Civelli  <jcivelli@chromium.org>

        Fix progress load reporting for MHTML documents.

        MHTML documents containing references to resources they don't include
        never finish loading.
        https://bugs.webkit.org/show_bug.cgi?id=71859

        Reviewed by Adam Barth.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::scheduleArchiveLoad):

2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Fix linking with --whole-archive

        Reviewed by Zoltan Herczeg.

        Compile XMLTreeViewer and related files when XSLT is enabled, not
        when XSLT _and_ USE_LIBXML2. The files do not depend on libxml2, they
        are #ifdeffed with ENABLE(XSLT) only, and they are referenced from for
        example NewXMLDocumentParser.cpp from within XSLT blocks.

        * DerivedSources.pri:
        * Target.pri:

2011-11-01  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: load source maps via front-end host.
        https://bugs.webkit.org/show_bug.cgi?id=71301

        Reviewed by Yury Semikhatsky.

        Currently we use an auxiliary iframe hack to load source map files from inspector page. This approach has several drawbacks:
         - in addition to source map url we need to know auxiliary iframe url
         - we need a protocol to communicate with iframe
         - source map provider needs to provide auxiliary document to make our hack work
        Loading source maps from front-end host solves all problems.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::loadResourceSynchronously):
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.ClosureCompilerSourceMapping):
        (WebInspector.ClosureCompilerSourceMapping.prototype.load):
        (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappingPayload):
        * inspector/front-end/CompilerSourceMappingProvider.js: Removed.
        * inspector/front-end/ContentProviders.js:
        (WebInspector.CompilerSourceMappingContentProvider):
        (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype.setCompilerSourceMapping):
        (WebInspector.RawSourceCode.prototype._resourceFinished):
        (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.installSourceMappingForTest):

2011-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r99816.
        http://trac.webkit.org/changeset/99816
        https://bugs.webkit.org/show_bug.cgi?id=72003

        compilation failed on mac (Requested by loislo on #webkit).

        * html/HTMLAttributeNames.in:
        * html/HTMLInputElement.idl:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::appendFormData):
        * html/HTMLTextAreaElement.idl:
        * html/HTMLTextFormControlElement.cpp:
        * html/HTMLTextFormControlElement.h:
        * html/TextFieldInputType.cpp:
        * html/TextFieldInputType.h:

2011-11-09  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: console does not work after switching panel while editing.
        https://bugs.webkit.org/show_bug.cgi?id=71918

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.wasShown):
        (WebInspector.SourceFrame.prototype.willHide):

2011-11-09  Rakesh KN  <rakesh.kn@motorola.com>

        Need support for dirname attribute
        https://bugs.webkit.org/show_bug.cgi?id=65542

        Reviewed by Eric Seidel.

        Implemented 'dirname' form attribute.

        Tests: fast/forms/form-dirname-attribute.html
               fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute.html
               fast/forms/submit-form-with-dirname-attribute-with-nonhtml-ancestor.html
               fast/forms/submit-form-with-dirname-attribute.html

        * html/HTMLAttributeNames.in:
        Added "dirname" attribute.
        * html/HTMLInputElement.idl:
        Add "dirName" property to HTMLInputElement interface.
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::appendFormData):
        Append dirname form data.
        * html/HTMLTextAreaElement.idl:
        Add "dirName" property to HTMLTextAreaElement interface.
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::parentHTMLElement):
        Helper function which returns only HTML parent element.
        (WebCore::HTMLTextFormControlElement::directionForFormData):
        Helper function for finding directionality of the Element.
        * html/HTMLTextFormControlElement.h:
        Helper function for finding directionality of the Element.
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::appendFormData):
        Append dirname form data.
        * html/TextFieldInputType.h:
        Append dirname form data.

2011-11-09  Shinya Kawanaka  <shinyak@google.com>

        Internals.markerRangeForNode should be able to take markers by specifying a marker type.
        https://bugs.webkit.org/show_bug.cgi?id=71792

        Reviewed by Hajime Morita.

        Test: editing/spelling/markers.html

        * WebCore.exp.in:
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::markersFor):
          Takes marker types to get only necessary markers.
        * dom/DocumentMarkerController.h:
        * testing/Internals.cpp:
        (WebCore::markerTypesFrom): Added.
        (WebCore::Internals::markerCountForNode):
          Takes marker types to get only necessary markers.
        (WebCore::Internals::markerRangeForNode): ditto.
        * testing/Internals.h:
        * testing/Internals.idl:

2011-11-09  David Reveman  <reveman@chromium.org>

        [Chromium] Add support for painting into an SkPicture and then rasterizing into tile-sized chunks.
        https://bugs.webkit.org/show_bug.cgi?id=71388

        Reviewed by James Robinson.

        Add UpdatableTexture class, which allows texture updater to
        allocate tile specific resources and paint tiles separately.
        Rename texture uploader classes and move them to separate files.

        No new tests. Covered by existing tests.

        * WebCore.gypi:
        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Added.
        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::~Texture):
        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect):
        (WebCore::BitmapCanvasLayerTextureUpdater::create):
        (WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater):
        (WebCore::BitmapCanvasLayerTextureUpdater::~BitmapCanvasLayerTextureUpdater):
        (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
        (WebCore::BitmapCanvasLayerTextureUpdater::sampledTexelFormat):
        (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
        (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::textureUpdater):
        (WebCore::BitmapCanvasLayerTextureUpdater::orientation):
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::createTextureUpdater):
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp.
        (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
        (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
        (WebCore::FrameBuffer::FrameBuffer::initialize):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::~Texture):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::create):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::FrameBufferSkPictureCanvasLayerTextureUpdater):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::~FrameBufferSkPictureCanvasLayerTextureUpdater):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::orientation):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerTextureUpdater::Texture::Texture):
        (WebCore::ImageLayerTextureUpdater::Texture::updateRect):
        (WebCore::ImageLayerTextureUpdater::Texture::textureUpdater):
        (WebCore::ImageLayerTextureUpdater::createTexture):
        (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        * platform/graphics/chromium/LayerTextureUpdater.h:
        (WebCore::LayerTextureUpdater::Texture::~Texture):
        (WebCore::LayerTextureUpdater::Texture::texture):
        (WebCore::LayerTextureUpdater::Texture::prepareRect):
        (WebCore::LayerTextureUpdater::Texture::Texture):
        (WebCore::LayerTextureUpdater::prepareToUpdate):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
        (WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
        (WebCore::SkPictureCanvasLayerTextureUpdater::~SkPictureCanvasLayerTextureUpdater):
        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
        (WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::UpdatableTile::UpdatableTile):
        (WebCore::UpdatableTile::texture):
        (WebCore::UpdatableTile::managedTexture):
        (WebCore::TiledLayerChromium::updateCompositorResources):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::TiledLayerChromium::createTile):
        (WebCore::TiledLayerChromium::protectTileTextures):
        (WebCore::TiledLayerChromium::prepareToUpdate):
        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
        (WebCore::CCTextureUpdater::append):
        (WebCore::CCTextureUpdater::update):
        * platform/graphics/chromium/cc/CCTextureUpdater.h:

2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Add stub for new method.
        
        * platform/wx/FileSystemWx.cpp:
        (WebCore::openFile):

2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. wx should not be excluded
        from building ScopedFramePaintingState code.

        * page/Frame.cpp:

2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Don't run 
        fontDataForCombiningCharacterSequence on wx as we don't 
        support it yet.

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::collectComplexTextRuns):

2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Update how we hash the font after
        changes to the StringHasher APIs.

        * platform/graphics/wx/FontPlatformDataWx.cpp:
        (WebCore::FontPlatformData::computeHash):

2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Remove from WebDOMEventTarget
        bindings methods that have been removed from EventTarget.

        * bindings/cpp/WebDOMEventTarget.cpp:
        (toWebKit):
        * bindings/cpp/WebDOMEventTarget.h:

2011-11-09  Martin Robinson  <mrobinson@igalia.com>

        [Cairo] Avoid clipping when painting more often
        https://bugs.webkit.org/show_bug.cgi?id=71179

        Reviewed by Xan Lopez.

        No new tests. These changes are covered by existing tests.

        * platform/graphics/Gradient.h: Add a Cairo-specific method
        that gets the platform gradient with a particular alpha value.
        * platform/graphics/cairo/GradientCairo.cpp: Now cache the alpha
        value of the last created platform gradient.
        (WebCore::Gradient::platformGradient): If the cached platform gradient
        has a different alpha value than the one requested, destroy it and start
        over.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::drawPathShadow): Adjust the source to avoid calling
        cairo_clip/cairo_paint_with_alpha and just do a fill.
        (WebCore::shadowAndFillCurrentCairoPath): No need to clip here. Just
        call cairo_fill.
        * platform/graphics/cairo/PlatformContextCairo.cpp:
        (WebCore::drawPatternToCairoContext): If we have a >= 1 alpha value
        we can simply fill and avoid calling cairo_clip here.
        (WebCore::prepareCairoContextSource): Remove TODO about recreating the
        gradient. No longer need to reduce the gradient source.

2011-11-09  Alexey Proskuryakov  <ap@apple.com>

        <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
        https://bugs.webkit.org/show_bug.cgi?id=71964

        Reviewed by Darin Adler.

        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        Don't ask the client for proxy credentials. CFNetwork results are authoritative, and proxy
        credentials are system-wide.

2011-11-09  Daniel Sievers  <sievers@chromium.org>

        [chromium] Fix typo in checkerboarding code
        https://bugs.webkit.org/show_bug.cgi?id=71981

        Reviewed by James Robinson.

        No new tests.

        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::drawTiles):

2011-11-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r99782.
        http://trac.webkit.org/changeset/99782
        https://bugs.webkit.org/show_bug.cgi?id=71979

        broke most of the feImage tests (Requested by thorton on
        #webkit).

        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::parseMappedAttribute):
        (WebCore::SVGFEImageElement::build):

2011-11-09  Kentaro Hara  <haraken@chromium.org>

        Remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm
        https://bugs.webkit.org/show_bug.cgi?id=71938

        Reviewed by Darin Adler.

        Now no IDL files are using [CanBeConstructed] IDL.
        We can safely remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm.

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorJS.pm: Removed [CanBeConstructed]-related code.
        (GenerateConstructorDeclaration):
        (GenerateConstructorDefinition):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        (GenerateImplementation):
        * bindings/scripts/test/TestInterface.idl: Removed [CanBeConstructed].
        * bindings/v8/V8Proxy.h: Removed V8Proxy::constructDOMObject and V8Proxy::constructDOMObjectWithScriptExecutionContext, which had been used only by [CanBeConstructed].

2011-11-09  Tim Horton  <timothy_horton@apple.com>

        feImage referencing a primitive draws incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=71731
        <rdar://problem/10408178>

        Reviewed by Simon Fraser.
        
        Don't attempt to resolve an <feImage>'s referenced element until it's used, as it
        may not exist at the time the attribute is set on the <feImage>.
        
        Don't attempt to render an <feImage> if the referenced element is of size 0x0.

        Tests: svg/filters/feImage-reference-svg-primitive.svg
               svg/filters/feImage-zero-size-crash.svg

        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::parseMappedAttribute):
        (WebCore::SVGFEImageElement::build):

2011-11-09  Dominic Cooney  <dominicc@chromium.org>

        Remove WebGLContextEvent.initEvent method
        https://bugs.webkit.org/show_bug.cgi?id=71720

        Reviewed by Adam Barth.

        The WebGL spec calls this method initWebGLContextEvent, but it may
        adopt a constructor instead. Deleting the initEvent method for now
        since it is definitely wrong and we don't want people to come to
        depend on it.

        No new tests--removing untested code.

        * html/canvas/WebGLContextEvent.cpp:
        * html/canvas/WebGLContextEvent.h:
        * html/canvas/WebGLContextEvent.idl:

2011-11-09  Anders Carlsson  <andersca@apple.com>

        Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
        https://bugs.webkit.org/show_bug.cgi?id=71955

        Reviewed by Sam Weinig.

        Element::boundsInWindowSpace is only used by WebKit2, where the window coordinate space is the
        same as the root view coordinate space. This lets us get rid of another use of contentsToWindow.

        * WebCore.exp.in:
        * dom/Element.cpp:
        (WebCore::Element::boundsInRootViewSpace):
        * dom/Element.h:

2011-11-09  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rebaseline run-bindings-tests results.

        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
        * bindings/scripts/test/JS/JSTestNamedConstructor.h:

2011-11-09  Alexandre Elias  <aelias@google.com>

        [chromium] Add draw-time scale delta to compositor thread
        https://bugs.webkit.org/show_bug.cgi?id=71595

        Reviewed by James Robinson.

        There are two magnify values:
        1. The WebKit-side pageScale value corresponding to the resolution of
           the painted content.
        2. The Impl-side-only scaleDelta value representing the additional
           degree of current magnification, applied as a draw transform.  WebKit
           is never explicitly aware of this value and the only way to change it
           currently is via pinch events (and in the future, double-tap/etc
           events).  At the end of a pinch zoom, we multiply pageScale *
           scaleDelta and tell WebKit to use it as the new pageScale.

        Scroll offsets and max-extents are maintained in pageScale space.
        When the scale changes, we need to take care to convert them to the
        new scale and avoid getting them clamped to the extents at the wrong
        scale.

        I removed maxScrollPosition on the non-impl side because it makes no
        sense to precompute it in the presence of an impl-side zoom.  Replaced
        with a simple 'bool m_scrollable'.

        zoomAnimatorTransform is not used because it currently isn't in the
        branch, and mostly doesn't behave the way we want anyway (it does most
        things in WebKit thread).  We will need to unify these later.

        Also introduce deviceOrPageScaleFactorChanged() call which invalidates
        layers.

        No new tests (filed 71529 to remember to do it later).

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::setBounds):
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::scrollable):
        (WebCore::LayerChromium::setScrollable):
        (WebCore::LayerChromium::pageScaleChanged):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersInternal):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::setPageMagnifyTransform):
        * platform/graphics/chromium/NonCompositedContentHost.cpp:
        (WebCore::NonCompositedContentHost::setViewport):
        * platform/graphics/chromium/NonCompositedContentHost.h:
        (WebCore::NonCompositedContentHost::topLevelRootLayer):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::scrollable):
        (WebCore::CCLayerImpl::setScrollable):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::setPageScale):
        (WebCore::CCLayerTreeHost::setPageScaleFactorLimits):
        (WebCore::CCLayerTreeHost::applyScrollAndScale):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCLayerTreeHost::pageScale):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::commitComplete):
        (WebCore::findScrollLayer):
        (WebCore::CCLayerTreeHostImpl::setViewport):
        (WebCore::CCLayerTreeHostImpl::setPageScale):
        (WebCore::CCLayerTreeHostImpl::setScaleDelta):
        (WebCore::CCLayerTreeHostImpl::setPageScaleFactorLimits):
        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
        (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
        (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
        (WebCore::CCLayerTreeHostImpl::pinchGestureEnd):
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore::CCLayerTreeHostImpl::pageScale):
        * platform/graphics/chromium/cc/CCScrollController.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doCommit):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnImplThread):
        (WebCore::CCThreadProxy::beginFrameAndCommit):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-11-09  Jay Civelli  <jcivelli@chromium.org>

        Fix MHTML generation to use the QuotedPrintable encoding for text resources.
        This was regressed when we added binary encoding support.
        https://bugs.webkit.org/show_bug.cgi?id=71857

        Reviewed by Adam Barth.

        * loader/archive/mhtml/MHTMLArchive.cpp:
        (WebCore::MHTMLArchive::generateMHTMLData):

2011-11-09  Kentaro Hara  <haraken@chromium.org>

        Replace [CanBeConstructed] IDL with [Constructor] IDL
        https://bugs.webkit.org/show_bug.cgi?id=71927

        Reviewed by Adam Barth.

        With respect to the IDL files that have [CanBeConstructed]
        but do not have [Constructor] nor [CustomConstructor],
        [CanBeConstructed] is now equivalent to [Constructor].
        Thus, this patch replaces [CanBeConstructed] with [Constructor].

        No tests. No change in behavior.

        * fileapi/FileReaderSync.idl: As I described above.
        * fileapi/WebKitBlobBuilder.idl: Ditto.
        * fileapi/WebKitFlags.idl: Ditto.
        * xml/DOMParser.idl: Ditto.
        * xml/XMLSerializer.idl: Ditto.
        * xml/XPathEvaluator.idl: Ditto.

2011-11-09  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] Separate image encoding from dataURL construction
        https://bugs.webkit.org/show_bug.cgi?id=71846

        Reviewed by Adam Barth.

        Remove the implicit assumption that a dataURL is the only desired output format of the
        the image encoding phase.

        No new tests, refactoring only, covered by existing canvas tests.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::encodeImage):  Output the encoded image to a Vector.
        (WebCore::ImageBuffer::toDataURL):  Format the dataURL encoding of the mimeType encoded
        image Vector here.  Move the mimeType encoding debug check here to better align this
        code with the CG (CoreGraphics) ImageBuffer.cpp implementation.
        (WebCore::ImageDataToDataURL): ditto.

2011-11-09  Alexei Svitkine  <asvitkine@chromium.org>

        Chromium: Fix bad rubber-band overhang shadows being drawn in the presence of custom scrollbar css.
        https://bugs.webkit.org/show_bug.cgi?id=71719

        This was caused by the overhang calculation logic not being consistent when subtracting the scrollbar sizes from the overhang areas. This resulted in for e.g. a horizontal overhang that didn't overlap with the scrollbar while the vertical overhang overlapped with it. This fix makes the logic consistent so that the overhang areas do not overlap with the scrollbars (when scrollbars are opaque).

        Reviewed by Beth Dakin.

        Tests: platform/chromium/rubberbanding/custom-scrollbars-ne.html
               platform/chromium/rubberbanding/custom-scrollbars-nw.html
               platform/chromium/rubberbanding/custom-scrollbars-se.html
               platform/chromium/rubberbanding/custom-scrollbars-sw.html

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):

2011-11-09  Ken Buchanan  <kenrb@chromium.org>

        Indentation error in RenderObject::container
        https://bugs.webkit.org/show_bug.cgi?id=64780

        Reviewed by Eric Seidel.

        A conditional block was indented too far; correcting.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::container):

2011-11-09  Anders Carlsson  <andersca@apple.com>

        Use contentsToRootView/rootViewToContents when converting between frame coordinate systems
        https://bugs.webkit.org/show_bug.cgi?id=71947

        Reviewed by Sam Weinig.

        This gets rid of a few calls to contentsToWindow and windowToContents.

        * inspector/DOMNodeHighlighter.cpp:
        * page/DragController.cpp:
        (WebCore::DragController::startDrag):
        (WebCore::DragController::doSystemDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint):

2011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize JSObject::getOwnPropertyDescriptor
        https://bugs.webkit.org/show_bug.cgi?id=71523

        Reviewed by Sam Weinig.

        No new tests.

        Added getOwnPropertyDescriptor to the MethodTable, changed all of the 
        virtual versions of getOwnPropertyDescriptor to static ones, and 
        changed all of the call sites to the corresponding lookup in the MethodTable.

        * WebCore.exp.in:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertyDescriptorBody):
        (GenerateHeader):
        (GenerateImplementation):
        (GenerateConstructorDeclaration):
        (GenerateConstructorDefinition):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestInterface::getOwnPropertyDescriptor):
        * bindings/scripts/test/JS/JSTestInterface.h:
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
        (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
        (WebCore::JSTestObj::getOwnPropertyDescriptor):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        * bridge/objc/objc_runtime.h:
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
        * bridge/qt/qt_runtime.h:
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::getOwnPropertyDescriptor):
        * bridge/runtime_array.h:
        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::vtableAnchor): Added to prevent a weak vtable.
        (JSC::RuntimeMethod::getOwnPropertyDescriptor):
        * bridge/runtime_method.h: Changed getOwnPropertyDescriptor from private to protected to allow 
        subclasses to use it in their MethodTables.
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
        * bridge/runtime_object.h:

2011-11-09  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION (r93614): Content remains despite parent element being scrolled off page using javascript.
        https://bugs.webkit.org/show_bug.cgi?id=71550

        Reviewed by Simon Fraser.

        Tests: fast/repaint/overflow-auto-in-overflow-auto-scrolled.html
               fast/repaint/overflow-hidden-in-overflow-hidden-scrolled.html
               fast/repaint/overflow-scroll-in-overflow-scroll-scrolled.html
               fast/repaint/scroll-inside-table-cell.html
               fast/repaint/scroll-relative-table-inside-table-cell.html
               fast/repaint/table-overflow-auto-in-overflow-auto-scrolled.html
               fast/repaint/table-overflow-hidden-in-overflow-hidden-scrolled.html
               fast/repaint/table-overflow-scroll-in-overflow-scroll-scrolled.html

        The issue was that updateLayerPositionsAfterScroll would not update some layer's
        repaint rectangles. Thus we would not properly repaint (if at all).

        The optimization added in 93614 was short-sighted and missed the fact that tables are a
        special case when it comes to updating the repaint rectangles. When we scroll a layer
        with an overflow clip, most layers *do* need to update their repaint rectangles.

        This changes keeps the optimization for cells as this is the hotest case for tables
        with overflow: hidden on cells but is much more conservative: if we encounter an
        overflow clip, we update the descendant's repaint rectangles.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
        Refactored the code to use some flags (HasSeenFixedPositionedAncestor and
        HasSeenAncestorWithOverflowClip). Also added an exception if
        m_canSkipRepaintRectsUpdateOnScroll is set.

        * rendering/RenderLayer.h:
        Added a new field when it is fine to not update our repaint rects on scroll.

2011-11-09  Kentaro Hara  <haraken@chromium.org>

        Generate the HTMLAudioElement constructor using [NamedConstructor] IDL
        https://bugs.webkit.org/show_bug.cgi?id=71924

        Reviewed by Adam Barth.

        This patch removes a custom constructor of HTMLAudioElement
        and generates it using [NamedConstructor] IDL.

        Tests:  fast/js/custom-constructors.html
                media/audio-constructor.html
                media/audio-constructor-src.html
                media/audio-constructor-preload.html
                media/audio-controls-do-not-fade-out.html
                media/audio-controls-rendering.html

        * Target.pri: Removed V8HTMLAudioElementConstructor.{h,cpp}
        * WebCore.gypi: Ditto.
        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: Removed.
        * bindings/v8/custom/V8HTMLAudioElementConstructor.h: Removed.
        * html/HTMLAudioElement.idl: Added [NamedConstructor] IDL.
        * page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.

2011-11-09  Antti Koivisto  <antti@apple.com>

        Eliminate CSSMutableValue
        https://bugs.webkit.org/show_bug.cgi?id=71811

        Reviewed by Darin Adler, Andreas Kling and Nikolas Zimmerman.

        Remove the implementations of setter functions in SVGColor and SVGPaint. These interfaces are
        deprecated in SVG 1.1 (2nd edition) and are not really used by anybody. This allows
        removal of CSSMutableValue and the associated (rather broken) code.
        
        The setters now throw NO_MODIFICATION_ALLOWED_ERR. 

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration):
        * css/CSSMutableValue.h: Removed.
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::getPropertyCSSValue):
        * css/CSSValue.h:
        (WebCore::CSSValue::CSSValue):
        * svg/SVGColor.cpp:
        (WebCore::SVGColor::SVGColor):
        (WebCore::SVGColor::setRGBColor):
        (WebCore::SVGColor::setRGBColorICCColor):
        (WebCore::SVGColor::setColor):
        * svg/SVGColor.h:
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::setUri):
        (WebCore::SVGPaint::setPaint):
        * svg/SVGPaint.h:

2011-11-09  Kentaro Hara  <haraken@chromium.org>

        Generate the HTMLOptionElement constructor using [NamedConstructor] IDL
        https://bugs.webkit.org/show_bug.cgi?id=71925

        Reviewed by Adam Barth.

        This patch removes a custom constructor of HTMLOptionElement,
        and generates it using [NamedConstructor] IDL.

        Tests: fast/js/custom-constructors.html
               fast/forms/option-index.html
               fast/forms/add-and-remove-option.html
               fast/dom/dom-add-optionelement.html

        * Target.pri: Removed V8HTMLOptionElementConstructor.{h,cpp}
        * WebCore.gypi: Ditto.
        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Removed.
        * bindings/v8/custom/V8HTMLOptionElementConstructor.h: Removed.
        * html/HTMLOptionElement.idl: Added [NamedConstructor] IDL.
        * page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.

2011-11-09  Julien Chaffraix  <jchaffraix@webkit.org>

        Crash in RenderTableSection::splitColumn
        https://bugs.webkit.org/show_bug.cgi?id=70171

        Reviewed by David Hyatt.

        Tests: fast/table/crash-splitColumn-2.html
               fast/table/crash-splitColumn-3.html
               fast/table/crash-splitColumn.html

        The old code would not take into account the fact that each RenderTableSection
        can set its m_needsCellRecalc flag independently of the rest.

        This means that you cannot assume that you can always split or append columns to
        all the sections. Our approach is to skip sections needing cell recalc in several
        parts of the code as they will be properly reset to the table's representations
        during a cell recalc.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::splitColumn):
        (WebCore::RenderTable::appendColumn):
        Skip sections needing cell recalc as they will be properly updated later.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addCell):
        Ignore a section needing cell recalc as addCell will be called after sync'ing
        the internal column representation in recalcCells.

        (WebCore::RenderTableSection::recalcCells):
        Clear the flag at the beginning of the function to activate the previous functions.
        Added a comment as to why this is fine.

        (WebCore::RenderTableSection::appendColumn):
        Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
        of recalcCells().

2011-11-09  Arko Saha  <arko@motorola.com>

        Microdata: fast/dom/MicroData/itemid-attribute-test.html assertion failure in Element::getURLAttribute().
        https://bugs.webkit.org/show_bug.cgi?id=71510

        Reviewed by Darin Adler.

        Override isURLAttribute() for HTMLElement and return true if attribute is itemidAttr.
        All the classes derived from HTMLElement overrides this function should return true if attribute is itemidAttr.
        Removed HTMLIFrameElement::isURLAttribute() method as HTMLFrameElementBase already takes care of it.

        Test: fast/dom/MicroData/itemid-attribute-test-001.html

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::isURLAttribute):
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::isURLAttribute):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::isURLAttribute):
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::isURLAttribute):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::isURLAttribute):
        * html/HTMLElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::isURLAttribute):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::isURLAttribute):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isURLAttribute):
        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::isURLAttribute):
        * html/HTMLIFrameElement.cpp:
        * html/HTMLIFrameElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::isURLAttribute):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isURLAttribute):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::isURLAttribute):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isURLAttribute):
        * html/HTMLModElement.cpp:
        (WebCore::HTMLModElement::isURLAttribute):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::isURLAttribute):
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::isURLAttribute):
        * html/HTMLQuoteElement.cpp:
        (WebCore::HTMLQuoteElement::isURLAttribute):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::isURLAttribute):
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::isURLAttribute):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::isURLAttribute):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::isURLAttribute):
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::isURLAttribute):

2011-11-09  Chris Fleizach  <cfleizach@apple.com>

        AX: crash when accessing selectedTab in a tab list
        https://bugs.webkit.org/show_bug.cgi?id=70938

        Reviewed by Beth Dakin.

        There were a few methods accessing m_children directly without first validating that those elements
        needed to be updated (because the layout changed). Changing those to call children() ensures
        that they will have the correct children.

        Test: platform/mac/accessibility/selected-tab-crash.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isChecked):
        (WebCore::AccessibilityRenderObject::selectedRadioButton):
        (WebCore::AccessibilityRenderObject::selectedTabItem):
        (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
        (WebCore::AccessibilityRenderObject::tabChildren):

2011-11-09  Andreas Kling  <kling@webkit.org>

        Shrink HTMLCollection.
        <http://webkit.org/b/71928>

        Reviewed by Darin Adler.

        Rearrange the members of HTMLCollection, effectively shrinking
        it by 16 bytes on 64-bit. This reduces memory consumption
        by 531 kB when loading the full HTML5 spec.

        On 32-bit it shrinks by 8 bytes, saving 265 kB.

        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        * html/HTMLCollection.h:
        (WebCore::HTMLCollection::type):

2011-11-09  Kentaro Hara  <haraken@chromium.org>

        Remove redundant [CanBeConstructed] IDLs
        https://bugs.webkit.org/show_bug.cgi?id=71868

        Reviewed by Adam Barth.

        If a class has [Constructor] or [CustomConstructor],
        then [CanBeConstructed] is not necessary.
        This patch just removes [CanBeConstructed] from all the classes
        that already have [Constructor] or [CustomConstructor].

        No tests. No change in behavior.

        * bindings/scripts/CodeGeneratorV8.pm: Corrected typo. This correction is required for this patch.
        * bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-bindings-tests result.
        (WebCore::ConfigureV8TestObjTemplate):
        * css/WebKitCSSMatrix.idl:
        * dom/BeforeLoadEvent.idl:
        * dom/CustomEvent.idl:
        * dom/ErrorEvent.idl:
        * dom/Event.idl:
        * dom/HashChangeEvent.idl:
        * dom/MessageChannel.idl:
        * dom/MessageEvent.idl:
        * dom/OverflowEvent.idl:
        * dom/PageTransitionEvent.idl:
        * dom/PopStateEvent.idl:
        * dom/ProgressEvent.idl:
        * dom/WebKitAnimationEvent.idl:
        * dom/WebKitMutationObserver.idl:
        * dom/WebKitTransitionEvent.idl:
        * fileapi/FileReader.idl:
        * html/DOMFormData.idl:
        * html/TextTrackCue.idl:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/DataView.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/track/TrackEvent.idl:
        * mediastream/PeerConnection.idl:
        * page/EventSource.idl:
        * page/WebKitPoint.idl:
        * webaudio/AudioContext.idl:
        * websockets/CloseEvent.idl:
        * websockets/WebSocket.idl:
        * workers/SharedWorker.idl:
        * workers/Worker.idl:
        * xml/XMLHttpRequest.idl:
        * xml/XSLTProcessor.idl:

2011-11-09  Ken Buchanan  <kenrb@chromium.org>

        SVG foreignObject wrong container
        https://bugs.webkit.org/show_bug.cgi?id=64780

        Reviewed by Simon Fraser.

        Resubmitting a patch originally by scottmg@chromium.org.
        In determining where to add to m_positionedObjects during a repaint,
        containingBlock is used, which adds the absolute positioned object to
        the containing foreignObject. But, when the contained object is
        dirtied, container() was used to dirty up the tree, which skipped over
        the foreignObject causing the wrong parent to needsLayout(). This fix
        makes container() and containingBlock() handle svg foreignObject's in
        the same way.

        This patch will cause svg/overflow/overflow-on-foreignObject.svg to
        require rebaselined results on qt and gtk ports.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::container):

2011-11-09  Andreas Kling  <kling@webkit.org>

        Shrink StyleSheet on 64-bit.
        <http://webkit.org/b/71923>

        Reviewed by Darin Adler.

        Move m_disabled to the top so it folds into the padding at
        the end of RefCounted on 64-bit, shrinking StyleSheet by 8 bytes.

        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::StyleSheet):
        * css/StyleSheet.h:

2011-11-09  Andreas Kling  <kling@webkit.org>

        StyleSheet: Devirtualize styleSheetChanged().
        <http://webkit.org/b/71913>

        Reviewed by Antti Koivisto.

        Since this mechanism is only used by CSSStyleSheet, move it there.
        Out-of-lined StyleSheet::setDisabled() so we can do a type check
        before invoking it from there.

        * css/CSSStyleSheet.h:
        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::setDisabled):
        * css/StyleSheet.h:

2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Unreviewed, adding missing files to the build.

        * Target.pri: Add ContentTypeParser.cpp/h

2011-11-09  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] remove a bunch of methods from JavaScriptSourceFrameDelegate
        https://bugs.webkit.org/show_bug.cgi?id=71826

        Reviewed by Pavel Feldman.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
        (WebInspector.JavaScriptSourceFrame.prototype.editContent):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
        * inspector/front-end/ScriptsPanel.js:

2011-11-09  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: annotate inspector front-end javascript so that it compiled again.

        * inspector/front-end/ShortcutsScreen.js:
        * inspector/front-end/WorkerManager.js:

2011-11-09  Andreas Kling  <kling@webkit.org>

        Unreviewed build fix after r99711. (Signed/unsigned compare.)

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::getDoubleValueInternal):

2011-11-09  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Provisionally change StylesSidebarPane section DOM layout to allow media queries
        https://bugs.webkit.org/show_bug.cgi?id=71902

        Reviewed by Pavel Feldman.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):

2011-11-09  Andreas Kling  <kling@webkit.org>

        CSSPrimitiveValue: Fix up bitfield member types.
        <http://webkit.org/b/71751>

        Reviewed by Antti Koivisto.

        The primitive unit type doesn't need to be a signed value,
        and by making it unsigned, we can shave one bit off of it.
        Furthermore, m_hasCachedCSSText and m_isQuirkValue should be
        bool, not unsigned.

        * css/CSSValue.h:

2011-11-09  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: discard injected scripts upon front-end disconnect.
        https://bugs.webkit.org/show_bug.cgi?id=71823

        Reviewed by Yury Semikhatsky.

        Test: http/tests/inspector-enabled/injected-script-discard.html

        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::clearFrontend):

2011-11-09  Andreas Kling  <kling@webkit.org>

        CSS: Remove empty value and rule destructors.
        <http://webkit.org/b/71901>

        Reviewed by Antti Koivisto.

        * css/CSSAspectRatioValue.h:
        * css/CSSBorderImageSliceValue.h:
        (WebCore::CSSBorderImageSliceValue::create):
        * css/CSSBorderImageValue.h:
        (WebCore::CSSBorderImageValue::create):
        * css/CSSCharsetRule.cpp:
        * css/CSSCharsetRule.h:
        * css/CSSCrossfadeValue.h:
        * css/CSSFlexValue.h:
        * css/CSSFontFaceSrcValue.h:
        * css/CSSFunctionValue.h:
        * css/CSSPageRule.cpp:
        * css/CSSPageRule.h:
        * css/CSSUnicodeRangeValue.h:
        * css/CSSValueList.h:
        * css/WebKitCSSFilterValue.h:
        * css/WebKitCSSTransformValue.h:

2011-11-09  Andreas Kling  <kling@webkit.org>

        CSS: Remove redudant WTF_MAKE_FAST_ALLOCATED macros.
        <http://webkit.org/b/71897>

        Reviewed by Antti Koivisto.

        Everything that inherits from RefCounted<T> is already fast-allocated,
        so we don't need this in subclasses.

        * css/CSSImageValue.h:
        * css/CSSImportRule.h:
        * css/WebKitCSSShaderValue.h:

2011-11-09  Igor Oliveira  <igor.oliveira@openbossa.org>

        [TextureMapper] Clean up TextureMapperAnimation constructor
        https://bugs.webkit.org/show_bug.cgi?id=71892

        Remove copyAnimationValue and copyTimingFunction static functions. KeyframeList has
        a copy constructor and it does not need anymore these copy functions.

        Reviewed by Simon Hausmann.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperAnimation::TextureMapperAnimation):

2011-11-09  Alexandru Chiculita  <achicu@adobe.com>

        [Part 1] Parse the custom() function in -webkit-filter
        https://bugs.webkit.org/show_bug.cgi?id=71441

        Added code that parses the custom() function. There's no code
        for the CSSStyleSelector yet, so the only way to test this was to
        check the "styleSheets" rules.

        Reviewed by Dean Jackson.

        Tests: css3/filters/custom-filter-property-parsing-invalid.html
               css3/filters/custom-filter-property-parsing.html

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::computedFilter):
        * css/CSSParser.cpp:
        (WebCore::filterInfoForName):
        (WebCore::acceptCommaOperator):
        (WebCore::CSSParser::parseCustomFilter):
        (WebCore::CSSParser::parseFilter):
        * css/CSSParser.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::filterOperationForType):
        (WebCore::CSSStyleSelector::createFilterOperations):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        * css/CSSValue.h:
        (WebCore::CSSValue::isWebKitCSSShaderValue):
        * css/CSSValueKeywords.in:
        * css/WebKitCSSFilterValue.cpp:
        (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
        (WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):
        (WebCore::WebKitCSSFilterValue::customCssText):
        * css/WebKitCSSFilterValue.h:
        * css/WebKitCSSFilterValue.idl:
        * css/WebKitCSSShaderValue.h: Added.
        (WebCore::WebKitCSSShaderValue::create):
        (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
        * platform/graphics/filters/FilterOperation.h:

2011-11-09  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: exception in remote front-end load handler due to undefined reference to workerManager
        https://bugs.webkit.org/show_bug.cgi?id=71889

        Move calls to WorkerManager load handlers into doLoadedDone method which is
        called in case of remote front-end too.

        Reviewed by Pavel Feldman.

        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2011-11-09  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Extract ApplicationCacheModel from ApplicationCacheItemsView.
        https://bugs.webkit.org/show_bug.cgi?id=71850

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView):
        (WebInspector.ApplicationCacheItemsView.prototype._update):
        * inspector/front-end/ApplicationCacheModel.js: Added.
        (WebInspector.ApplicationCacheModel):
        (WebInspector.ApplicationCacheModel.prototype.getApplicationCachesAsync):
        (WebInspector.ApplicationCacheDispatcher):
        (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
        (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.wasShown):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
        (WebInspector.ResourcesPanel.prototype.showApplicationCache):
        (WebInspector.ResourcesPanel.prototype._initializeApplicationCacheModel):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-11-09  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: ResourcesPanel should support adding subtitle to any BaseStorageTreeElement.
        https://bugs.webkit.org/show_bug.cgi?id=71848

        Reviewed by Pavel Feldman.

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.BaseStorageTreeElement.prototype.onattach):
        (WebInspector.BaseStorageTreeElement.prototype.get displayName):
        (WebInspector.BaseStorageTreeElement.prototype._updateDisplayName):
        (WebInspector.BaseStorageTreeElement.prototype._updateTitle):
        (WebInspector.BaseStorageTreeElement.prototype._updateSubtitle):
        (WebInspector.BaseStorageTreeElement.prototype.set titleText):
        (WebInspector.BaseStorageTreeElement.prototype.get subtitleText):
        (WebInspector.BaseStorageTreeElement.prototype.set subtitleText):
        (WebInspector.FrameTreeElement.prototype.frameNavigated):
        (WebInspector.FrameTreeElement.prototype.get itemURL):
        (WebInspector.FrameTreeElement.prototype.onselect):

2011-11-08  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: crash upon InspectorValue serialization that has 0 value / array entry.
        https://bugs.webkit.org/show_bug.cgi?id=71806

        Reviewed by Yury Semikhatsky.

        Test: inspector/elements/resolve-alien-node.html

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::resolveNode):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::setValue):
        (WebCore::InspectorObject::setObject):
        (WebCore::InspectorObject::setArray):
        (WebCore::InspectorArray::pushValue):
        (WebCore::InspectorArray::pushObject):
        (WebCore::InspectorArray::pushArray):

2011-11-08  Andreas Kling  <kling@webkit.org>

        Move CSSPrimitiveValue bitfields up into CSSValue.
        <http://webkit.org/b/71835>

        Reviewed by Darin Adler.

        Move m_type (and rename it to m_primitiveUnitType),
        m_hasCachedCSSText and m_isQuirkValue from CSSPrimitiveValue
        up into CSSValue to share the space.

        This, together with the devirtualization of CSSValue that
        happened on <http://webkit.org/b/71666>, reduces the size
        of CSSPrimitiveValue by one CPU word.

        More specifically, we go from 16 to 12 bytes on 32-bit,
        and from 24 to 16 bytes on 64-bit.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::init):
        (WebCore::CSSPrimitiveValue::cleanup):
        (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
        (WebCore::CSSPrimitiveValue::getStringValue):
        (WebCore::CSSPrimitiveValue::getCounterValue):
        (WebCore::CSSPrimitiveValue::getRectValue):
        (WebCore::CSSPrimitiveValue::getQuadValue):
        (WebCore::CSSPrimitiveValue::getRGBColorValue):
        (WebCore::CSSPrimitiveValue::getPairValue):
        (WebCore::CSSPrimitiveValue::getIdent):
        (WebCore::CSSPrimitiveValue::customCssText):
        (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::isLength):
        (WebCore::CSSPrimitiveValue::primitiveType):
        (WebCore::CSSPrimitiveValue::setPrimitiveType):
        (WebCore::CSSPrimitiveValue::getCounterValue):
        (WebCore::CSSPrimitiveValue::getRectValue):
        (WebCore::CSSPrimitiveValue::getQuadValue):
        (WebCore::CSSPrimitiveValue::getRGBA32Value):
        (WebCore::CSSPrimitiveValue::getPairValue):
        (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
        (WebCore::CSSPrimitiveValue::getShapeValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator short):
        (WebCore::CSSPrimitiveValue::operator unsigned short):
        (WebCore::CSSPrimitiveValue::operator int):
        (WebCore::CSSPrimitiveValue::operator unsigned):
        (WebCore::CSSPrimitiveValue::operator float):
        (WebCore::CSSPrimitiveValue::operator ColumnSpan):
        * css/CSSValue.h:
        (WebCore::CSSValue::CSSValue):

2011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize JSObject::defineOwnProperty
        https://bugs.webkit.org/show_bug.cgi?id=71429

        Reviewed by Geoffrey Garen.

        No new tests.

        Added defineOwnProperty to the MethodTable, changed all the virtual 
        implementations of defineOwnProperty to static ones, and replaced 
        all call sites with corresponding lookups in the MethodTable.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::defineOwnProperty):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::defineOwnProperty):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):

2011-11-09  Kentaro Hara  <haraken@chromium.org>

        Make [CanBeConstructed] IDL redundant
        https://bugs.webkit.org/show_bug.cgi?id=71871

        Reviewed by Adam Barth.

        As the first step to remove [CanBeConstructed] IDL completely,
        we need to make [CanBeConstructed] IDL redundant.
        This patch replaces '[CanBeConstructed]' in CodeGeneratorV8.pm
        with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]',
        and replaces '[CanBeConstructed]' in CodeGeneratorJS.pm
        with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [JSCustomConstructor]'

        An example:
            before: '[CanBeConstructed] and ![V8CustomConstructor]'
            after: '([CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]) and ![V8CustomConstructor]' <==> '([CanBeConstructed] or [Constructor] or [CustomConstructor]) and ![V8CustomConstructor]'

        Tests: bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGeneratorJS.pm: Modified as I described above.
        (GenerateConstructorDeclaration):
        (GenerateConstructorDefinition):
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Updated a run-bindings-tests result.
        (WebCore::JSTestObjConstructor::constructJSTestObj):
        (WebCore::JSTestObjConstructor::getConstructData):
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
        (WebCore::V8TestObj::constructorCallback):

2011-11-09  Nikolas Zimmermann  <nzimmermann@rim.com>

        svg failures after r99561
        https://bugs.webkit.org/show_bug.cgi?id=71830

        Reviewed by Antti Koivisto.

        Fix regressions in svg/zoom/page/relative-sized-document-scrollbars.svg and svg/zoom/page/zoom-svg-as-relative-image.html.
        Fix merging problem in r99561, bug 71780. It moved several methods from SVGLength to SVGLengthContext, and unfortunately
        the SVGLength changes part of r98852, bug 47156, got reverted again, making these two tests fail.

        * svg/SVGLengthContext.cpp:
        (WebCore::SVGLengthContext::determineViewport):

2011-11-09  Rakesh KN  <rakesh.kn@motorola.com>

        Select multiple options with mouse drag in Select element.
        https://bugs.webkit.org/show_bug.cgi?id=71128

        Reviewed by Ryosuke Niwa.

        Multiple selection of option elements in select element with an mouse drag.
        Other browsers(IE, Firefox, Opera) support this feature.

        Test: fast/forms/select-multiple-elements-with-mouse-drag.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseDraggedEvent):
        Allow auto scroll to be fired if current node(option) under mouse does not have renderer
        but its container node(select) can autoscroll and has renderer for specific case of ListBox

2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Build system cleanup
        https://bugs.webkit.org/show_bug.cgi?id=71815

        Reviewed by Kenneth Rohde Christiansen.

        * Target.pri: Removed CodeGenHSL.cpp from the angle build. In the angle build the back-end has to
        be either GLSL or HSL, it can't be both. Make a choice for GLSL as that's what it seems to be used for
        at the moment.

2011-11-09  Mark Rowe  <mrowe@apple.com>

        Fix the build.

        * WebCore.exp.in: Export the right symbol names.
        * WebCore.xcodeproj/project.pbxproj: Make the header file available outside of WebCore.

2011-11-08  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Replace use of QApplication with QGuiApplication
        https://bugs.webkit.org/show_bug.cgi?id=71794

        Reviewed by Andreas Kling.

        * Target.pri: Add compat include dir when compiling with Qt 4.
        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
        (FullScreenVideoWindow::closeEvent): Replace use of QApplication with QGuiApplication.
        (FullScreenVideoWindow::hideCursor): Ditto.
        (FullScreenVideoWindow::showCursor): Ditto.
        * platform/graphics/qt/TileQt.cpp: Remove unnecessary inclusion of QApplication.
        * platform/qt/ClipboardQt.cpp: Replace use of QApplication with QGuiApplication.
        (WebCore::ClipboardQt::ClipboardQt):
        (WebCore::ClipboardQt::clearData):
        (WebCore::ClipboardQt::clearAllData):
        (WebCore::ClipboardQt::setData):
        (WebCore::ClipboardQt::declareAndWriteDragImage):
        (WebCore::ClipboardQt::writeURL):
        (WebCore::ClipboardQt::writeRange):
        (WebCore::ClipboardQt::writePlainText):
        * platform/qt/PasteboardQt.cpp: Ditto.
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):
        (WebCore::Pasteboard::writePlainText):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::writeImage):

2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Mac Build fix part 2: Oops, use the correct wtf/ prefix for the WTF include.

        * page/SecurityPolicy.cpp:

2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Prospective build fix for Windows: Include MainThread.h for ASSERT(isMainThread())
        to compile.

        * page/SecurityPolicy.cpp:

2011-11-07  Adam Barth  <abarth@webkit.org>

        Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
        https://bugs.webkit.org/show_bug.cgi?id=71755

        Reviewed by Eric Seidel.

        The SecurityOrigin class should be focused on representing a web
        security origin rather than being a dumping ground for all
        security-related state.  This patch moves a bunch of static "policy"
        state into its own SecurityPolicy class.

        * WebCore.exp.in:
        * WebCore.gypi:
        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::handleClick):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadFrameRequest):
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::loadImage):
        (WebCore::PingLoader::sendPing):
        (WebCore::PingLoader::reportContentSecurityPolicyViolation):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadSubframe):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canRequest):
        (WebCore::SecurityOrigin::canDisplay):
        (WebCore::SecurityOrigin::grantLoadLocalResources):
        * page/SecurityOrigin.h:

2011-11-08  Antaryami Pandia  <antaryami.pandia@motorola.com>

        Default <select multiple> expands up to 10 items instead of showing 4.
        https://bugs.webkit.org/show_bug.cgi?id=70765

        Reviewed by Darin Adler.

        Tests: fast/forms/select-clientheight-large-size.html
               fast/forms/select-clientheight-with-multiple-attr.html

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::size):

2011-11-08  Chris Evans  <cevans@google.com>

        Crash accessing font fact rule parent
        https://bugs.webkit.org/show_bug.cgi?id=71860

        Reviewed by Adam Barth.

        Test: fast/css/css-fontface-rule-crash.html

        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::~CSSFontFaceRule): tell our child rule when we are going away.

2011-11-08  Adam Klein  <adamk@chromium.org>

        Use a typedef for ExceptionCode in all header files instead of including ExceptionCode.h
        https://bugs.webkit.org/show_bug.cgi?id=71845

        Reviewed by Adam Barth.

        Some headers in WebCore include ExceptionCode.h to get the ExceptionCode typedef,
        while others provide the typedef themselves. Per Darin, the latter is preferred,
        so this patch updates all references, and fixes up .cpp files that
        need the include in order to access the enum.

        * bindings/js/JSSVGLengthCustom.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation): #include ExceptionCode.h when needed for SVG.
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateImplementation): #include ExceptionCode.h when needed for SVG.
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        * css/WebKitCSSMatrix.h:
        * fileapi/DirectoryReaderSync.h:
        * fileapi/EntrySync.h:
        * fileapi/FileReader.h:
        * fileapi/FileReaderSync.h:
        * fileapi/SyncCallbackHelper.h:
        * html/ClassList.h:
        * html/DOMSettableTokenList.h:
        * html/DOMTokenList.cpp:
        * html/DOMTokenList.h:
        * html/TextTrack.cpp:
        * html/TextTrack.h:
        * html/TimeRanges.cpp:
        * html/TimeRanges.h:
        * html/canvas/ArrayBuffer.cpp:
        * html/canvas/ArrayBuffer.h:
        * html/canvas/ArrayBufferView.cpp:
        * html/canvas/ArrayBufferView.h:
        * html/canvas/DataView.cpp:
        * html/canvas/DataView.h:
        * html/canvas/OESVertexArrayObject.h:
        * html/canvas/WebGLDebugShaders.h:
        * html/canvas/WebGLRenderingContext.cpp:
        * html/canvas/WebGLRenderingContext.h:
        * mediastream/MediaStreamFrameController.cpp:
        * mediastream/MediaStreamFrameController.h:
        * notifications/Notification.h:
        * notifications/NotificationCenter.h:
        * storage/AbstractDatabase.cpp:
        * storage/AbstractDatabase.h:
        * storage/Database.h:
        * storage/DatabaseSync.h:
        * storage/DatabaseTask.h:
        * storage/IDBCursor.h:
        * storage/IDBCursorBackendInterface.h:
        * storage/IDBDatabase.h:
        * storage/IDBDatabaseBackendInterface.h:
        * storage/IDBFactory.h:
        * storage/IDBFactoryBackendInterface.h:
        * storage/IDBIndexBackendInterface.h:
        * storage/IDBKeyRange.h:
        * storage/IDBObjectStoreBackendInterface.h:
        * storage/IDBRequest.h:
        * storage/IDBTransactionBackendInterface.h:
        * storage/SQLResultSet.cpp:
        * storage/SQLResultSet.h:
        * storage/SQLStatementSync.h:
        * storage/SQLTransaction.cpp:
        * storage/SQLTransaction.h:
        * storage/SQLTransactionSync.h:
        * svg/ElementTimeControl.h:
        * svg/SVGAngle.cpp:
        * svg/SVGAngle.h:
        * svg/SVGLength.cpp:
        * svg/SVGLength.h:
        * svg/SVGLengthContext.cpp:
        * svg/SVGLengthContext.h:
        * svg/SVGLocatable.h:
        * svg/SVGMatrix.h:
        * svg/SVGPreserveAspectRatio.cpp:
        * svg/SVGPreserveAspectRatio.h:
        * testing/Internals.h:
        * webaudio/AudioContext.cpp:
        * workers/DefaultSharedWorkerRepository.cpp:
        * workers/DefaultSharedWorkerRepository.h:
        * workers/SharedWorkerRepository.h:

2011-11-08  Kentaro Hara  <haraken@chromium.org>

        CodeGeneratorV8.pm can generate a NamedConstructor
        https://bugs.webkit.org/show_bug.cgi?id=71756

        Reviewed by Adam Barth.

        - IDLParser.pm can parse [NamedConstructor] IDL.
        - CodeGeneratorV8.pm can generate a NamedConstructor
        and a template getter for the NamedConstructor.
        - Added a new binding test named TestNamedConstructor.idl.

        Tests: WebCore/bindings/scripts/test/TestNamedConstructor.idl

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader): Generates a header for a NamedConstructor.
        (GenerateNamedConstructorCallback): Generates the NamedConstructor and a template getter for the NamedConstructor.
        (GenerateSingleBatchedAttribute): If an IDL type is "XXXXConstructorConstructor", then we do not add a header file of XXXXConstructor, because the XXXXConstructor declaration is written in the header file of class XXXX.
        * bindings/scripts/IDLParser.pm:
        (parseExtendedAttributes): Parses 'NamedConstructor' '=' name '(' parameters ')' ','?
        (ParseInterface): Creates the signature of a NamedConstructor.
        * bindings/scripts/test/TestNamedConstructor.idl: Added a new test for the [NamedConstructor] IDL.
        * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp: Added a run-binding-test result of TestNamedConstructor.idl.
        (WebDOMTestNamedConstructor::WebDOMTestNamedConstructorPrivate::WebDOMTestNamedConstructorPrivate):
        (WebDOMTestNamedConstructor::WebDOMTestNamedConstructor):
        (WebDOMTestNamedConstructor::operator=):
        (WebDOMTestNamedConstructor::impl):
        (WebDOMTestNamedConstructor::~WebDOMTestNamedConstructor):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp: Ditto.
        (WebKit::kit):
        (WebKit::core):
        (webkit_dom_test_named_constructor_finalize):
        (webkit_dom_test_named_constructor_set_property):
        (webkit_dom_test_named_constructor_get_property):
        (webkit_dom_test_named_constructor_constructed):
        (webkit_dom_test_named_constructor_class_init):
        (webkit_dom_test_named_constructor_init):
        (WebKit::wrapTestNamedConstructor):
        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h: Ditto.
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
        (WebCore::JSTestNamedConstructorConstructor::JSTestNamedConstructorConstructor):
        (WebCore::JSTestNamedConstructorConstructor::finishCreation):
        (WebCore::JSTestNamedConstructorConstructor::getOwnPropertySlot):
        (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestNamedConstructorPrototype::self):
        (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
        (WebCore::JSTestNamedConstructor::finishCreation):
        (WebCore::JSTestNamedConstructor::createPrototype):
        (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
        (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
        (WebCore::jsTestNamedConstructorConstructor):
        (WebCore::JSTestNamedConstructor::getConstructor):
        (WebCore::isObservable):
        (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestNamedConstructorOwner::finalize):
        (WebCore::toJS):
        (WebCore::toTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestNamedConstructor.h: Ditto.
        (WebCore::JSTestNamedConstructor::create):
        (WebCore::JSTestNamedConstructor::createStructure):
        (WebCore::JSTestNamedConstructor::impl):
        (WebCore::wrapperOwner):
        (WebCore::wrapperContext):
        (WebCore::JSTestNamedConstructorPrototype::create):
        (WebCore::JSTestNamedConstructorPrototype::createStructure):
        (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
        (WebCore::JSTestNamedConstructorConstructor::create):
        (WebCore::JSTestNamedConstructorConstructor::createStructure):
        * bindings/scripts/test/ObjC/DOMTestNamedConstructor.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm: Ditto.
        (-[DOMTestNamedConstructor dealloc]):
        (-[DOMTestNamedConstructor finalize]):
        (core):
        (kit):
        * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h: Ditto.
        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.
        (WebCore::TestNamedConstructorInternal::V8_USE):
        (WebCore::V8TestNamedConstructorConstructorCallback):
        (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
        (WebCore::ConfigureV8TestNamedConstructorTemplate):
        (WebCore::V8TestNamedConstructor::GetRawTemplate):
        (WebCore::V8TestNamedConstructor::GetTemplate):
        (WebCore::V8TestNamedConstructor::HasInstance):
        (WebCore::V8TestNamedConstructor::toActiveDOMObject):
        (WebCore::V8TestNamedConstructor::wrapSlow):
        (WebCore::V8TestNamedConstructor::derefObject):
        * bindings/scripts/test/V8/V8TestNamedConstructor.h: Ditto.
        (WebCore::V8TestNamedConstructor::toNative):
        (WebCore::V8TestNamedConstructor::existingWrapper):
        (WebCore::V8TestNamedConstructor::wrap):
        (WebCore::toV8):
        * page/DOMWindow.idl: Added [CustomConstructor] IDL to HTMLAudioElement, HTMLImageElement and HTMLOptionElement.

2011-11-08  Philip Rogers  <pdr@google.com>

        fix REGRESSION: SVG feColorMatrix causes crash
        https://bugs.webkit.org/show_bug.cgi?id=71287

        Reviewed by Simon Fraser.

        Test: svg/filters/feColorMatrix-invalid-animation.svg

        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):

2011-11-08  Scott Graham  <scottmg@chromium.org>

        Add support for arrays of numbers to IDL bindings code generator
        https://bugs.webkit.org/show_bug.cgi?id=71763

        Adds support for float[] and double[] to IDL. Support for other types
        appears to be more complicated (or at least more copy-paste) so not
        doing that for now for lack of need.

        Reviewed by Adam Barth.

        Tests added to TestObj.idl.

        * bindings/scripts/CodeGeneratorV8.pm:
        (IsRefPtrType):
        (GetNativeType):
        (JSValueToNative):
        (NativeToJSValue):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::floatArrayAttrGetter):
        (WebCore::TestObjInternal::floatArrayAttrSetter):
        (WebCore::TestObjInternal::doubleArrayAttrGetter):
        (WebCore::TestObjInternal::doubleArrayAttrSetter):
        * bindings/v8/V8Binding.h:
        (WebCore::v8NumberArray):
        (WebCore::v8NumberArrayToVector):

2011-11-08  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r99613): Incomplete painting of the root element background in flipped blocks writing mode
        https://bugs.webkit.org/show_bug.cgi?id=71863

        Reviewed by Anders Carlsson.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintRootBoxFillLayers): Instead of unconditionally flipping the background
        rect here...
        * rendering/RenderView.cpp:
        (WebCore::RenderView::backgroundRect): ...flip it only in column mode here.
        * rendering/RenderView.h:

2011-11-08  Michael Saboff  <msaboff@apple.com>

        Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type
        https://bugs.webkit.org/show_bug.cgi?id=71761

        Cleaned up SourceCode data() to return StringImpl* and eliminated
        the recently added stringData() virtual method.

        No tests added - refactored base class SourceCode and its subclasses.

        * bindings/js/CachedScriptSourceProvider.h:
        (WebCore::CachedScriptSourceProvider::data):
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::data):

2011-11-08  Xiaomei Ji  <xji@chromium.org>

        REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
        https://bugs.webkit.org/show_bug.cgi?id=70395

        Reviewed by Tony Chang.

        Change the condition to perform immediate scolling inside ScrollView::updateScrollbars()
        to be correct for RTL page as well, which is checking either the scroll position change or
        the m_scrollOrigin changes (such as in window resize in which scroll position might remain the same).

        And remove condition checking inside ScrollableArea::scrollToOffsetWithoutAnimation() since
        the pass-in offset is adjusted within the current scroll range, it could be the same as
        m_currentPos when m_currentPos is (0, 0) and current scroll range is smaller than old 
        scroll range, but scolling is still needed when page resize and scroll range changes.

        Test: fast/dom/rtl-scroll-to-leftmost-and-resize.html

        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Remove condition checking.
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars): Change condition to perform immediate scrolling to be
        correct for RTL pages as well.
        * platform/ScrollableArea.cpp: Update m_scrollOriginChanged.
        (WebCore::ScrollableArea::ScrollableArea):
        (WebCore::ScrollableArea::setScrollOrigin):
        (WebCore::ScrollableArea::setScrollOriginX):
        (WebCore::ScrollableArea::setScrollOriginY):
        * platform/ScrollableArea.h: Add m_scrollOriginChanged.
        (WebCore::ScrollableArea::scrollOriginChanged):
        (WebCore::ScrollableArea::resetScrollOriginChanged):

2011-11-08  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10262225> Allow RenderView to have columns
        https://bugs.webkit.org/show_bug.cgi?id=71840

        Reviewed by Simon Fraser.

        Tests: fast/multicol/pagination-h-horizontal-bt.html
               fast/multicol/pagination-h-horizontal-tb.html
               fast/multicol/pagination-h-vertical-lr.html
               fast/multicol/pagination-h-vertical-rl.html
               fast/multicol/pagination-v-horizontal-bt.html
               fast/multicol/pagination-v-horizontal-tb.html
               fast/multicol/pagination-v-vertical-lr.html
               fast/multicol/pagination-v-vertical-rl.html

        * WebCore.exp.in: Export Page::setPagination() for WebCoreTestSupport.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument): Set the column axis and the column gap in the
        document style if the view is paginated.
        * page/Page.cpp:
        (WebCore::Page::setPagination): Added this setter.
        * page/Page.h:
        (WebCore::Page::Pagination::Pagination):
        (WebCore::Page::pagination): Added this getter.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::requiresColumns): Added and moved some logic to here from...
        (WebCore::RenderBlock::setDesiredColumnCountAndWidth): ...here.
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintRootBoxFillLayers): Changed to use the new RenderView::backgroundRect()
        instead of unscaledDocumentRect().
        * rendering/RenderView.cpp:
        (WebCore::RenderView::requiresColumns): Added this override that always returns true if the view
        is paginated.
        (WebCore::RenderView::backgroundRect): Added. In the paginated case, returns a rectangle stretching
        across all columns.
        * rendering/RenderView.h:
        * testing/Internals.cpp:
        (WebCore::Internals::reset): Also reset pagination.
        (WebCore::Internals::setPagination): Added this setter for testing.
        * testing/Internals.h:
        * testing/Internals.idl:

2011-11-08  Vineet Chaudhary  <vineet.chaudhary@motorola.com>

        Document.importNode's 'deep' argument should default to true.
        https://bugs.webkit.org/show_bug.cgi?id=71190

        Reviewed by Adam Barth.

        As new specification says deep argument of importNode should be default to true.

        Test: fast/dom/document-importNode-arguments.html

        * dom/Document.h: Added supportive method.
        (WebCore::Document::importNode):
        * dom/Document.idl: Modified deep argument as optional.

2011-11-08  Adam Klein  <adamk@chromium.org>

        WebKitMutationObserver.observe should raise a DOMException if passed invalid arguments
        https://bugs.webkit.org/show_bug.cgi?id=71596

        Reviewed by Ryosuke Niwa.

        Adds two cases where WebKitMutationObserver.observe throws an exception:
          - When passed a null Node*.
          - When passed options that don't make sense, e.g.,
            'attributeOldValue' but not 'attributes'.

        * bindings/js/JSWebKitMutationObserverCustom.cpp:
        (WebCore::JSWebKitMutationObserver::observe):
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::observeCallback):
        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::validateOptions):
        (WebCore::WebKitMutationObserver::observe):
        * dom/WebKitMutationObserver.h:
        * dom/WebKitMutationObserver.idl:

2011-11-08  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: implement compound (array) key support
        https://bugs.webkit.org/show_bug.cgi?id=62284

        Reviewed by Tony Chang.

        Add support for Array values as IDBKeys. (Multirow indexes are still
        not yet supported.)

        Tests: storage/indexeddb/cursor-key-order.html
               storage/indexeddb/key-type-array.html

        * bindings/js/JSIDBKeyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromValue):
        * bindings/v8/custom/V8IDBKeyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::compare):
        * storage/IDBKey.h:
        (WebCore::IDBKey::createArray):
        (WebCore::IDBKey::valid):
        (WebCore::IDBKey::array):
        (WebCore::IDBKey::compareTypes):
        * storage/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
        (WebCore::IDBLevelDBCoding::encodeIDBKey):
        (WebCore::IDBLevelDBCoding::decodeIDBKey):
        (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
        (WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
        (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
        * storage/IDBLevelDBCoding.h:

2011-11-08  Daniel Bates  <dbates@webkit.org>

        Remove get() defined in CredentialStorageQt.cpp
        https://bugs.webkit.org/show_bug.cgi?id=71829

        Reviewed by Andreas Kling.

        CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
        provides the base implementation for each platform. We shouldn't re-define
        CredentialStorage::get() in CredentialStorageQt.cpp.

        * Target.pri: Add files CredentialStorage.{cpp, h}.
        * platform/network/qt/CredentialStorageQt.cpp:

2011-11-08  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: reference cycle between IDBDatabase and IDBTransaction
        https://bugs.webkit.org/show_bug.cgi?id=71749

        Reviewed by Tony Chang.

        Break a cyclic reference leak following a setVersion call.

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::setVersionChangeTransaction):
        (WebCore::IDBDatabase::clearVersionChangeTransaction):
        (WebCore::IDBDatabase::createObjectStore):
        (WebCore::IDBDatabase::deleteObjectStore):
        * storage/IDBDatabase.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::create):
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::onComplete):

2011-11-08  Daniel Bates  <dbates@webkit.org>

        Remove get() defined in CredentialStorageSoup.cpp
        https://bugs.webkit.org/show_bug.cgi?id=71825

        Reviewed by Martin Robinson.

        CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
        provides the base implementation for each platform. We shouldn't re-define
        CredentialStorage::get() in CredentialStorageSoup.cpp.

        * GNUmakefile.list.am: Add source file CredentialStorage.cpp.
        * platform/network/soup/CredentialStorageSoup.cpp: Remove re-definition of CredentialStorage::get().
        CredentialStorage::get() is defined in CredentialStorage.cpp.

2011-11-08  Roland Steiner  <rolandsteiner@chromium.org>

        Rename CSS document() -> findDocument(), to indicate tree climbing
        https://bugs.webkit.org/show_bug.cgi?id=71764

        Renamed document() to findDocument(), styleSheetOwnerNode() to findStyleSheetOwnerNode().

        Reviewed by Darin Adler.

        No new tests. (simple refactoring)

        * css/CSSGrammar.y:
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::setCSSStyleSheet):
        (WebCore::CSSImportRule::requestStyleSheet):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
        * css/CSSParser.cpp:
        (WebCore::parseColorValue):
        (WebCore::parseSimpleLengthValue):
        (WebCore::CSSParser::setStyleSheet):
        (WebCore::CSSParser::findDocument):
        (WebCore::CSSParser::parseAttr):
        * css/CSSParser.h:
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::cssRules):
        (WebCore::CSSStyleSheet::findStyleSheetOwnerNode):
        (WebCore::CSSStyleSheet::findDocument):
        (WebCore::CSSStyleSheet::styleSheetChanged):
        * css/CSSStyleSheet.h:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::bindStyleSheet):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::ownerDocument):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::serializeCSSStyleSheet):
        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):

2011-11-07  Ryosuke Niwa  <rniwa@webkit.org>

        Indent command can insert block quote in non editable content
        https://bugs.webkit.org/show_bug.cgi?id=71754

        Reviewed by Enrica Casucci.

        The bug was caused by IndentOutdentCommand's incorrectly using deprecatedNode to determine the outer block,
        not updating the start after inserting the targetBlockquote, and cloneParagraphUnderNewElement's cloning
        outerNode even if it was body. Fixed those bugs.

        Test: editing/execCommand/indent-images.html
              editing/execCommand/indent-images-2.html
              editing/execCommand/indent-images-3.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::indentIntoBlockquote):

2011-11-08  Adam Klein  <adamk@chromium.org>

        Only walk up the tree in search of MutationObservers if one has been added
        https://bugs.webkit.org/show_bug.cgi?id=71499

        Reviewed by Ojan Vafai.

        Analogous to m_listenerTypes, added an m_subtreeMutationObserverTypes field
        to Document that keeps track of which observer types have been added.
        This allows us to avoid doing any extra work if MutationObservers are
        not attached to a document.

        This could be improved upon to keep a count of each type, as removing
        an observer currently has no effect on m_subtreeMutationObserverTypes.
        But that would require a more complex implementation: one counter per
        mutation type. And it would be easier to get wrong: if the counter
        gets out of sync with the actual state of the DOM, we could start
        dropping mutation notifications.

        Test: fast/mutation/cross-document.html

        * dom/Document.h:
        (WebCore::Document::hasSubtreeMutationObserverOfType):
        (WebCore::Document::hasSubtreeMutationObserver):
        (WebCore::Document::addSubtreeMutationObserverTypes):
        * dom/MutationObserverRegistration.h:
        (WebCore::MutationObserverRegistration::isSubtree):
        (WebCore::MutationObserverRegistration::deliveryOptions):
        (WebCore::MutationObserverRegistration::mutationTypes):
        * dom/Node.cpp:
        (WebCore::Node::didMoveToNewOwnerDocument): Update mutationObserverTypes when a Node is moved to a new document.
        (WebCore::Node::getRegisteredMutationObserversOfType): Exit early if it's known that no observers of |type| are registered.
        (WebCore::Node::notifyMutationObserversNodeWillDetach): Exit early if it's known no subtree observers of any type are registered.
        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::observe): Update mutationObserverTypes when an observation occurs.
        * dom/WebKitMutationObserver.h: Add WebKitMutationObserver::AllMutationTypes to enum

2011-11-08  Andreas Kling  <kling@webkit.org>

        Devirtualize CSSValue.
        <http://webkit.org/b/71666>

        Reviewed by Antti Koivisto.

        Make the CSSValue destructor non-virtual (along with all the subclasses.)
        This removes the vtables, and the pointers thereto in each value instance,
        shrinking each object by one CPU word (4 or 8 bytes.)

        We use the same trick as CSSRule to implement destruction; providing our
        own deref() instead of RefCounted's, and performing a statically typed
        delete in a destroy() method called when the ref count reaches 0.

        Also made all the empty subclass destructors inline.

        * css/CSSAspectRatioValue.cpp:
        * css/CSSAspectRatioValue.h:
        (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
        * css/CSSBorderImageSliceValue.cpp:
        * css/CSSBorderImageSliceValue.h:
        (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
        * css/CSSBorderImageValue.cpp:
        * css/CSSBorderImageValue.h:
        (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
        * css/CSSCanvasValue.h:
        * css/CSSCrossfadeValue.cpp:
        * css/CSSCrossfadeValue.h:
        (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
        * css/CSSCursorImageValue.h:
        * css/CSSFlexValue.cpp:
        * css/CSSFlexValue.h:
        (WebCore::CSSFlexValue::~CSSFlexValue):
        * css/CSSFontFaceSrcValue.cpp:
        * css/CSSFontFaceSrcValue.h:
        (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
        * css/CSSFunctionValue.cpp:
        * css/CSSFunctionValue.h:
        (WebCore::CSSFunctionValue::~CSSFunctionValue):
        * css/CSSImageGeneratorValue.h:
        * css/CSSImageValue.h:
        * css/CSSMutableValue.h:
        (WebCore::CSSMutableValue::~CSSMutableValue):
        * css/CSSParserValues.h:
        * css/CSSPrimitiveValue.h:
        * css/CSSUnicodeRangeValue.cpp:
        * css/CSSUnicodeRangeValue.h:
        (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::destroy):
        * css/CSSValue.h:
        (WebCore::CSSValue::deref):
        (WebCore::CSSValue::~CSSValue):
        * css/CSSValueList.cpp:
        * css/CSSValueList.h:
        (WebCore::CSSValueList::~CSSValueList):
        * css/WebKitCSSFilterValue.cpp:
        * css/WebKitCSSFilterValue.h:
        (WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
        * css/WebKitCSSTransformValue.cpp:
        * css/WebKitCSSTransformValue.h:
        (WebCore::WebKitCSSTransformValue::~WebKitCSSTransformValue):

2011-11-08  Darin Adler  <darin@apple.com>

        Speculative fix for crashes seen in DocumentWriter::deprecatedFrameEncoding
        https://bugs.webkit.org/show_bug.cgi?id=71828

        Reviewed by Nate Chapin.

        No new tests; not sure how to reproduce this, but crash traces indicate it
        is an otherwise-harmless null dereference.

        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::deprecatedFrameEncoding):
        Handle null document the same as a document without a URL.

2011-11-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r95720.
        http://trac.webkit.org/changeset/95720
        https://bugs.webkit.org/show_bug.cgi?id=71831

        This has made the menulists on WebKit patch reviews much less
        usable (Requested by mrobinson on #webkit).

        * platform/gtk/GtkPopupMenu.cpp:
        (WebCore::GtkPopupMenu::menuPositionFunction):

2011-11-08  Nico Weber  <thakis@chromium.org>

        [chromium] Remove 6 exit time destructors and 6 static initializers
        https://bugs.webkit.org/show_bug.cgi?id=71760

        Reviewed by Nate Chapin.

        Do this by moving global statics into function-local statics, and using
        DEFINE_LOCAL_STATIC to leak them. Since this code is accessed on a single
        thread, this is a safe change to make.

        No behavior change, so no new tests.

        * bindings/v8/ScriptGCEvent.cpp:
        (WebCore::sEventListeners):
        (WebCore::ScriptGCEvent::addEventListener):
        (WebCore::ScriptGCEvent::removeEventListener):
        (WebCore::ScriptGCEvent::gcEpilogueCallback):
        * bindings/v8/ScriptGCEvent.h:
        * bindings/v8/V8NPObject.cpp:
        (WebCore::staticTemplateMap):
        (WebCore::weakTemplateCallback):
        (WebCore::npObjectGetProperty):
        (WebCore::staticNPObjectMap):
        (WebCore::weakNPObjectCallback):
        (WebCore::createV8ObjectForNPObject):
        (WebCore::forgetV8ObjectForNPObject):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::staticExtensionsList):
        (WebCore::V8Proxy::registeredExtensionWithV8):
        (WebCore::V8Proxy::registerExtension):
        (WebCore::V8Proxy::extensions):
        * bindings/v8/V8Proxy.h:
        * bindings/v8/npruntime.cpp:
        * plugins/chromium/PluginDataChromium.cpp:
        (WebCore::pluginCache):
        (WebCore::PluginData::initPlugins):
        (WebCore::PluginData::refresh):
        (WebCore::getPluginMimeTypeFromExtension):

2011-11-08  Hans Wennborg  <hans@chromium.org>

        IndexedDB: Start using the onSuccessWithContinuation() callback
        https://bugs.webkit.org/show_bug.cgi?id=71565

        Reviewed by Tony Chang.

        This is a follow-up to r99169 where we start using this new
        callback for cursors.

        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::setCursor):

2011-11-08  Justin Schuh  <jschuh@chromium.org>

        Document::loader should use documentLoader(), not activeDocumentLoader()
        https://bugs.webkit.org/show_bug.cgi?id=65895

        Reviewed by Brady Eidson.

        Test: fast/loader/stateobjects/replacestate-in-onunload.html

        * dom/Document.cpp:
        (WebCore::Document::loader):

2011-11-08  Andreas Kling  <kling@webkit.org>

        CSSImageGeneratorValue: Devirtualize image(), isFixedSize() and fixedSize().
        <http://webkit.org/b/71824>

        Reviewed by Darin Adler.

        Redirect the calls to the appropriate subclass in CSSImageGeneratorValue.cpp.

        * css/CSSCanvasValue.h:
        (WebCore::CSSCanvasValue::isFixedSize):
        * css/CSSCrossfadeValue.h:
        (WebCore::CSSCrossfadeValue::isFixedSize):
        * css/CSSGradientValue.h:
        (WebCore::CSSGradientValue::isFixedSize):
        (WebCore::CSSGradientValue::fixedSize):
        * css/CSSImageGeneratorValue.cpp:
        (WebCore::CSSImageGeneratorValue::image):
        (WebCore::CSSImageGeneratorValue::isFixedSize):
        (WebCore::CSSImageGeneratorValue::fixedSize):
        * css/CSSImageGeneratorValue.h:

2011-11-08  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extension API][Chromium] injected extension API needs to return an object
        https://bugs.webkit.org/show_bug.cgi?id=71822

        Reviewed by Pavel Feldman.

        * inspector/front-end/ExtensionAPI.js:
        (buildExtensionAPIInjectedScript):

2011-11-08  Andreas Kling  <kling@webkit.org>

        CSSImageValue: Devirtualize cachedImage(CachedResourceLoader*).
        <http://webkit.org/b/71814>

        Reviewed by Antti Koivisto.

        Defer to CSSCursorImageValue (the only CSSImageValue subclass)
        when appropriate in CSSImageValue::cachedImage(CachedResourceLoader*).

        * css/CSSCursorImageValue.h:
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::cachedImage):
        * css/CSSImageValue.h:

2011-11-08  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: add "Evaluate in console" as a shortcut and context menu items to scripts panel
        https://bugs.webkit.org/show_bug.cgi?id=71817

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.evaluate):
        (WebInspector.ConsoleView.prototype._enterKeyPressed):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._evaluateSelectionInConsole):
        * inspector/front-end/ShortcutsScreen.js:
        (WebInspector.ShortcutsSection.prototype.addRelatedKeys):
        (WebInspector.ShortcutsSection.prototype.addAlternateKeys):
        * inspector/front-end/externs.js:
        (WebInspector.evaluateInConsole):
        * inspector/front-end/inspector.js:
        (WebInspector.evaluateInConsole):

2011-11-08  Andreas Kling  <kling@webkit.org>

        CSSValue: Devirtualize cssText().
        <http://webkit.org/b/71813>

        Reviewed by Antti Koivisto.

        Rename all subclass implementations to customCssText() and add
        a CSSValue::cssText() that defers to the appropriate subclass
        based on the type info.

        The rename is both for clarity, and to ensure that calling
        cssText() will always end up in the correct method.

        * css/CSSAspectRatioValue.cpp:
        (WebCore::CSSAspectRatioValue::customCssText):
        * css/CSSAspectRatioValue.h:
        * css/CSSBorderImageSliceValue.cpp:
        (WebCore::CSSBorderImageSliceValue::customCssText):
        * css/CSSBorderImageSliceValue.h:
        * css/CSSBorderImageValue.cpp:
        (WebCore::CSSBorderImageValue::customCssText):
        * css/CSSBorderImageValue.h:
        * css/CSSCanvasValue.cpp:
        (WebCore::CSSCanvasValue::customCssText):
        * css/CSSCanvasValue.h:
        * css/CSSCrossfadeValue.cpp:
        (WebCore::CSSCrossfadeValue::customCssText):
        * css/CSSCrossfadeValue.h:
        * css/CSSFlexValue.cpp:
        (WebCore::CSSFlexValue::customCssText):
        * css/CSSFlexValue.h:
        * css/CSSFontFaceSrcValue.cpp:
        (WebCore::CSSFontFaceSrcValue::customCssText):
        * css/CSSFontFaceSrcValue.h:
        * css/CSSFunctionValue.cpp:
        (WebCore::CSSFunctionValue::customCssText):
        * css/CSSFunctionValue.h:
        * css/CSSGradientValue.cpp:
        (WebCore::CSSLinearGradientValue::customCssText):
        (WebCore::CSSRadialGradientValue::customCssText):
        * css/CSSGradientValue.h:
        * css/CSSInheritedValue.cpp:
        (WebCore::CSSInheritedValue::customCssText):
        * css/CSSInheritedValue.h:
        * css/CSSInitialValue.cpp:
        (WebCore::CSSInitialValue::customCssText):
        * css/CSSInitialValue.h:
        * css/CSSLineBoxContainValue.cpp:
        (WebCore::CSSLineBoxContainValue::customCssText):
        * css/CSSLineBoxContainValue.h:
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::customCssText):
        * css/CSSPrimitiveValue.h:
        * css/CSSReflectValue.cpp:
        (WebCore::CSSReflectValue::customCssText):
        * css/CSSReflectValue.h:
        * css/CSSTimingFunctionValue.cpp:
        (WebCore::CSSLinearTimingFunctionValue::customCssText):
        (WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
        (WebCore::CSSStepsTimingFunctionValue::customCssText):
        * css/CSSTimingFunctionValue.h:
        (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
        * css/CSSUnicodeRangeValue.cpp:
        (WebCore::CSSUnicodeRangeValue::customCssText):
        * css/CSSUnicodeRangeValue.h:
        * css/CSSValue.cpp:
        (WebCore::CSSValue::cssText):
        * css/CSSValue.h:
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::customCssText):
        * css/CSSValueList.h:
        * css/FontFamilyValue.cpp:
        (WebCore::FontFamilyValue::customCssText):
        * css/FontFamilyValue.h:
        * css/FontFeatureValue.cpp:
        (WebCore::FontFeatureValue::customCssText):
        * css/FontFeatureValue.h:
        * css/FontValue.cpp:
        (WebCore::FontValue::customCssText):
        * css/FontValue.h:
        * css/ShadowValue.cpp:
        (WebCore::ShadowValue::customCssText):
        * css/ShadowValue.h:
        * css/WebKitCSSFilterValue.cpp:
        (WebCore::WebKitCSSFilterValue::customCssText):
        * css/WebKitCSSFilterValue.h:
        * css/WebKitCSSTransformValue.cpp:
        (WebCore::WebKitCSSTransformValue::customCssText):
        * css/WebKitCSSTransformValue.h:
        * svg/SVGColor.cpp:
        (WebCore::SVGColor::customCssText):
        * svg/SVGColor.h:
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::customCssText):
        * svg/SVGPaint.h:

2011-11-08  Gavin Peters  <gavinp@chromium.org>

        Fix width of m_type in CachedResource
        https://bugs.webkit.org/show_bug.cgi?id=71727

        Reviewed by Nate Chapin.

        Test: fast/dom/HTMLLinkElement/cachedresource-types.html

        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        * loader/cache/CachedResource.h:

2011-11-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Don't set OBJECTS_DIR and DEFINES in default_pre

        If a pro file needs to access the OBJECTS_DIR it should use the
        form ${QMAKE_VAR_OBJECTS_DIR} to ensure the value is evaluated
        after defaults_post has been processed.

        Setting DEFINES in defaults_pre is also bad, as any DEFINES=foo on
        the command line will override whatever we set in defaults_pre.

        Reviewed by Simon Hausmann.

        * Target.pri:

2011-11-08  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: add JavaScript keywords to the autocomplete.
        https://bugs.webkit.org/show_bug.cgi?id=71782

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
        (WebInspector.ConsoleView.prototype._completions):
        (WebInspector.ConsoleView.prototype._reportCompletions):

2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Introduce SVGLengthContext, to allow to resolve relative units to arbitary viewports
        https://bugs.webkit.org/show_bug.cgi?id=71780

        Reviewed by Zoltan Herczeg.

        Introduce SVGLengthContext to cleanup SVGLength, by moving all conversion of relative units that depend on style or viewport
        out of SVGLength, into SVGLengthContext. Pass SVGLengthContext& to SVGLength::value/setValue/... functions instead of a pure
        "const SVGElement* context", which was previously used to determine the viewport when resolving percentage units.
        SVGLengthContext carries an additional FloatRect of the custom viewport, to which percentages are resolved, if specified.

        This allows us to kill several duplicates of the same code, which handles objectBoundingBox mode for gradients/patterns/masks/etc..
        A follow-up patch will convert filters to use the new SVGLengthContext::resolveRectangle code as well.

        This is a preparation for bug 10430, to fix feImage + objectBoundingBox support when rendering referenced elements, instead of files.

        Doesn't affect any tests yet.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/svg/RenderSVGResourceGradient.h:
        * rendering/svg/RenderSVGResourceLinearGradient.h:
        (WebCore::RenderSVGResourceLinearGradient::gradientUnits):
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource):
        (WebCore::calculatePatternBoundaries):
        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
        (WebCore::RenderSVGResourcePattern::createTileImage):
        * rendering/svg/RenderSVGResourceRadialGradient.h:
        (WebCore::RenderSVGResourceRadialGradient::gradientUnits):
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::writeCommonGradientProperties):
        (WebCore::writeSVGResourceContainer):
        * svg/GradientAttributes.h:
        (WebCore::GradientAttributes::GradientAttributes):
        (WebCore::GradientAttributes::gradientUnits):
        (WebCore::GradientAttributes::setGradientUnits):
        (WebCore::GradientAttributes::hasGradientUnits):
        * svg/PatternAttributes.h:
        (WebCore::PatternAttributes::PatternAttributes):
        (WebCore::PatternAttributes::patternUnits):
        (WebCore::PatternAttributes::patternContentUnits):
        (WebCore::PatternAttributes::setPatternUnits):
        (WebCore::PatternAttributes::setPatternContentUnits):
        (WebCore::PatternAttributes::hasPatternUnits):
        (WebCore::PatternAttributes::hasPatternContentUnits):
        * svg/SVGAllInOne.cpp:
        * svg/SVGElement.h:
        (WebCore::SVGElement::operator SVGLengthContext):
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::filterBoundingBox):
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::SVGLength):
        (WebCore::SVGLength::unitMode):
        (WebCore::SVGLength::value):
        (WebCore::SVGLength::setValue):
        (WebCore::SVGLength::convertToSpecifiedUnits):
        * svg/SVGLength.h:
        (WebCore::SVGLength::blend):
        * svg/SVGLengthContext.cpp: Added.
        (WebCore::SVGLengthContext::SVGLengthContext):
        (WebCore::SVGLengthContext::resolveRectangle):
        (WebCore::SVGLengthContext::resolvePoint):
        (WebCore::SVGLengthContext::resolveLength):
        (WebCore::SVGLengthContext::convertValueToUserUnits):
        (WebCore::SVGLengthContext::convertValueFromUserUnits):
        (WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage):
        (WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
        (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
        (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
        (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
        (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
        (WebCore::SVGLengthContext::determineViewport):
        * svg/SVGLengthContext.h: Added.
        (WebCore::SVGLengthContext::resolveRectangle):
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
        (WebCore::SVGLinearGradientElement::calculateStartEndPoints):
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::maskBoundingBox):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::collectPatternAttributes):
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
        (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):

2011-11-08  Andreas Kling  <kling@webkit.org>

        CSSValue: Devirtualize addSubresourceStyleURLs().
        <http://webkit.org/b/71805>

        Reviewed by Antti Koivisto.

        Make addSubresourceStyleURLs() non-virtual and call the appropriate
        subclass implementation based on the subclass type info.

        * css/CSSBorderImageValue.h:
        * css/CSSFontFaceSrcValue.h:
        * css/CSSPrimitiveValue.h:
        * css/CSSReflectValue.h:
        * css/CSSValue.cpp:
        (WebCore::CSSValue::addSubresourceStyleURLs):
        * css/CSSValue.h:
        (WebCore::CSSValue::addSubresourceStyleURLs):
        * css/CSSValueList.h:

2011-11-08  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: do not show object popover when selection is active
        https://bugs.webkit.org/show_bug.cgi?id=71804

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._shouldShowPopover):

2011-11-08  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Do not hide SuggestBox if typed-in string in the middle of input equals one of suggestions
        https://bugs.webkit.org/show_bug.cgi?id=71797

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.onKeyDown):
        (WebInspector.TextPrompt.prototype.complete):

2011-11-08  Andreas Kling  <kling@webkit.org>

        CSSGradientValue: Devirtualize createGradient().
        <http://webkit.org/b/71800>

        Reviewed by Antti Koivisto.

        Make createGradient() non-virtual and call the appropriate subclass
        implementation in image() based on is{Linear,Radial}Gradient().

        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::image):
        * css/CSSGradientValue.h:

2011-11-08  Andreas Kling  <kling@webkit.org>

        CSSCanvasValue: Remove inheritance from CanvasObserver.
        <http://webkit.org/b/71796>

        Reviewed by Antti Koivisto.

        To completely devirtualize all the CSSValues, we need to remove
        CSSCanvasValue's inheritance from CanvasObserver, as that is forcing
        a vptr into the class.

        Use the same approach as CSSImportRule and make a simple proxying
        CanvasObserver subclass and put that as a member variable of the value.

        * css/CSSCanvasValue.cpp:
        (WebCore::CSSCanvasValue::~CSSCanvasValue):
        (WebCore::CSSCanvasValue::element):
        * css/CSSCanvasValue.h:
        (WebCore::CSSCanvasValue::CSSCanvasValue):
        (WebCore::CSSCanvasValue::CanvasObserverProxy::CanvasObserverProxy):
        (WebCore::CSSCanvasValue::CanvasObserverProxy::~CanvasObserverProxy):
        (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasChanged):
        (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasResized):
        (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasDestroyed):

2011-11-08  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: display notification in the front-end when inspected worker terminates
        https://bugs.webkit.org/show_bug.cgi?id=71770

        When inspected worker terminates we will show a notification similar to the help
        screen. The notification disappears when the worker restarts or the user closes it
        manually.

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager.loaded):
        (WebInspector.WorkerManager.showWorkerTerminatedScreen):
        (WebInspector.WorkerTerminatedScreen):
        * inspector/front-end/inspector.js:
        (WebInspector.disconnectFromBackend):
        (WebInspector.frontendReused):

2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Fold ImageBySizeCache again into CSSImageGeneratorValue
        https://bugs.webkit.org/show_bug.cgi?id=71785

        Reviewed by Zoltan Herczeg.

        Remove ImageBySizeCache, and fold it into CSSImageGeneratorValue, as it used to be.
        CachedImage has switched to SVGImageCache and no longer needs it.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSImageGeneratorValue.cpp:
        (WebCore::CSSImageGeneratorValue::addClient):
        (WebCore::CSSImageGeneratorValue::removeClient):
        (WebCore::CSSImageGeneratorValue::getImage):
        (WebCore::CSSImageGeneratorValue::putImage):
        * css/CSSImageGeneratorValue.h:
        (WebCore::SizeAndCount::SizeAndCount):
        (WebCore::CSSImageGeneratorValue::clients):
        * rendering/ImageBySizeCache.cpp: Removed.
        * rendering/ImageBySizeCache.h: Removed.

2011-11-08  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Avoid automatic Console suggestions with empty expression
        https://bugs.webkit.org/show_bug.cgi?id=71783

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ConsoleView.js:

2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix build, by removing an unused variable.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::isOriginClean):
        (WebCore::CanvasRenderingContext2D::createPattern):

2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
        https://bugs.webkit.org/show_bug.cgi?id=71368

        Reviewed by Zoltan Herczeg.

        When determining whether the canvas would be tainted, we need access to the SVGImage, not its cached BitmapImage.
        Otherwhise wrong assumptions are mode, leading to regressions.

        Fixes http/tests/security/canvas-remote-read-svg-image.html and related tests on the bots.

        * html/canvas/CanvasRenderingContext.cpp:
        (WebCore::CanvasRenderingContext::wouldTaintOrigin): Forgot to switch them back to use cachedImage->image().
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::isOriginClean): Ditto.

2011-11-08  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Console should be scrolled to bottom when shown for the first time.
        https://bugs.webkit.org/show_bug.cgi?id=71781

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleView.js:

2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
        https://bugs.webkit.org/show_bug.cgi?id=71368

        Reviewed by Antti Koivisto.

        Fix regressions/races introduced by r98852. SVGImage repainting didn't work under certain circumstances.
        The problem was hard to reproduce on Mac ports, but easily visible on Chromium, when opening two files
        that shared the same animated SVG image. The problem of sharing a single ImageObserver across multiple
        instances of the same SVGImage, leads to nasty problems, that are timing dependant. changedInRect() calls
        that should only by received in one document, are received in the other as well, due the shared nature
        of CachedImage. To avoid these problems alltogether, a new approach is needed, that was initially suggested
        by Antti.

        Avoid creating multiple SVGImages and caching them for different sizes/zoom levels. Introduce SVGImageCache
        which holds rendered versions of the SVGImage at certain sizes/zoom levels. It holds (ImageBuffer, Image) pairs
        for each renderer, associated with a size and zoom level.

        This is a major change to the cache as introduced some weeks ago. Instead of holding multiple SVGImages, each containing
        a whole DOM/render tree, we now create bitmap images rendered at the requested sizes/zoom levels and cache them.

        Revert ImageBySizeCache changes that were needed to make it usable wih SVGImage. Its now used only in CSSImageGeneratorValue and
        thus the extra information that CSSImageGeneratorValue doesn't need can be removed again (desired/actual size differentations, and the zoom level).

        Tests: svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size.html
               svg/as-image/animated-svg-as-image-same-image.html

        * CMakeLists.txt: Add svg/graphics/SVGImageCache.* to build.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from svg/graphics, as SVGImageCache is needed by CachedImage in SVG enabled builds.
        * WebCore.xcodeproj/project.pbxproj: Add svg/graphics/SVGImageCache.* to build.
        * css/CSSImageGeneratorValue.cpp: Remove zoom parameter from addClient/getImage, no need to pass 1 default values anymore.
        (WebCore::CSSImageGeneratorValue::addClient):
        (WebCore::CSSImageGeneratorValue::getImage):
        * loader/cache/CachedImage.cpp: Stop using ImageBySizeCache, and switch to the new SVGImageCache.
        (WebCore::CachedImage::removeClientForRenderer):
        (WebCore::CachedImage::lookupOrCreateImageForRenderer):
        (WebCore::CachedImage::setContainerSizeForRenderer):
        (WebCore::CachedImage::imageSizeForRenderer):
        (WebCore::CachedImage::clear):
        (WebCore::CachedImage::createImage):
        (WebCore::CachedImage::destroyDecodedData):
        (WebCore::CachedImage::decodedSizeChanged):
        (WebCore::CachedImage::didDraw):
        (WebCore::CachedImage::shouldPauseAnimation):
        (WebCore::CachedImage::animationAdvanced):
        (WebCore::CachedImage::changedInRect):
        * loader/cache/CachedImage.h:
        * page/DragController.cpp: Stop using imageForRenderer(), as it may return cached BitmapImages, that don't carry a filename extension anymore, which is required here.
        (WebCore::getImage):
        * rendering/ImageBySizeCache.cpp: Revert changes to ImageBySizeCache, which were needed to make it usable for SVGImages. CSSImageGenerator doesn't need it.
        (WebCore::ImageBySizeCache::addClient):
        (WebCore::ImageBySizeCache::removeClient):
        (WebCore::ImageBySizeCache::getImage):
        * rendering/ImageBySizeCache.h: Ditto.
        (WebCore::SizeAndCount::SizeAndCount):
        * rendering/RenderImage.cpp: Stop using imageForRenderer(), use cachedImage()->image(), which is guaranteed to be a SVGImage for svg images, and not a cached bitmap copy.
        (WebCore::RenderImage::embeddedContentBox):
        * rendering/RenderReplaced.cpp: Simplify logic to figure out the intrinsic size - the special logic for the old SVGImage cache can go away now.
        (WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
        (WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
        * rendering/style/StyleCachedImage.cpp: Call removeClientForRenderer(), which takes care of clearing SVGImageCache entries as well.
        (WebCore::StyleCachedImage::removeClient): This change is needed, as we don't want to make removeClient() virtual in CachedResource.
        * rendering/svg/RenderSVGRoot.cpp: Rename isEmbeddedThroughImageElement to isEmbeddedThroughSVGImage, as this is what it actually checks.
        (WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage):
        * rendering/svg/RenderSVGRoot.h:
        * svg/SVGSVGElement.cpp: Fix bug that's visible now with the SVGImageCache, which was already there before, but hard to trigger.
        (WebCore::SVGSVGElement::currentViewBoxRect): The viewBox depends on who's asking for it: the host document or the embedded document? Take that into account.
        * svg/SVGSVGElement.h:
        * svg/graphics/SVGImage.cpp: Cleanup some code. Add new logic that draws a SVGImage into an ImageBuffer at a desired size & zoom.
        (WebCore::SVGImage::setContainerSize):
        (WebCore::SVGImage::size):
        (WebCore::SVGImage::drawSVGToImageBuffer):
        * svg/graphics/SVGImage.h:
        * svg/graphics/SVGImageCache.cpp: Added. SVGImageCache caches Image/ImageBuffer pairs for each _renderer_ and size/zoom level. The ImageBySizeCache only cared about size.
        (WebCore::SVGImageCache::SVGImageCache):
        (WebCore::SVGImageCache::~SVGImageCache):
        (WebCore::SVGImageCache::removeRendererFromCache):
        (WebCore::SVGImageCache::setRequestedSizeAndZoom):
        (WebCore::SVGImageCache::getRequestedSizeAndZoom):
        (WebCore::SVGImageCache::imageContentChanged):
        (WebCore::SVGImageCache::redrawTimerFired):
        (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
        * svg/graphics/SVGImageCache.h: Added.
        (WebCore::SVGImageCache::create):
        (WebCore::SVGImageCache::CachedSizeAndZoom::CachedSizeAndZoom):
        (WebCore::SVGImageCache::CachedImageData::CachedImageData):

2011-11-07  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: refactor shortcuts and settings screens
        https://bugs.webkit.org/show_bug.cgi?id=71773

        Keep pointer to the visible screen and hide it automatically when new one is going
        to be displayed.

        Reviewed by Pavel Feldman.

        * inspector/front-end/HelpScreen.js:
        (WebInspector.HelpScreen.prototype.show):
        (WebInspector.HelpScreen.prototype.hide):
        * inspector/front-end/ShortcutsScreen.js:
        (WebInspector.ShortcutsScreen): ShortcutsScreen is now a descendant of HelpScreen.
        (WebInspector.ShortcutsScreen.prototype.show):
        * inspector/front-end/inspector.js:
        (WebInspector._hideSettingsScreen):
        (WebInspector.documentKeyDown):

2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix Snow Leopard 32bit builds.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseAspectRatio): CSSParserValue::fValue is a double, use narrowPrecisionToFloat() to convert double->float.
        * platform/ClockGeneric.cpp: Remove unneeded variable out of 32bit integer value range.
        * webaudio/BiquadDSPKernel.cpp:
        (WebCore::BiquadDSPKernel::getFrequencyResponse): Use narrowPrecisionTofloat() to convert double->float.

2011-11-07  Daniel Bates  <dbates@rim.com>

        Add CredentialStorage.cpp to WebCore/CMakeLists.txt
        https://bugs.webkit.org/show_bug.cgi?id=71748

        Reviewed by Martin Robinson.

        Adds CredentialStorage.cpp to WebCore/CMakeLists.txt since its provides a
        base implementation of this feature.

        Also adds a stub implementation of CredentialStorage to the WinCE port.

        * CMakeLists.txt: Added source file CredentialStorage.cpp.
        * CMakeListsEfl.txt: Added source file CredentialStorageCurl.cpp when building
          with the Curl networking backend.
        * CMakeListsWinCE.txt: Added source file CredentialStorageWin.cpp.
        * platform/network/win/CredentialStorageWin.cpp: Added.
        (WebCore::Credential::getFromPersistentStorage): Stub implementation.

2011-11-07  Kentaro Hara  <haraken@chromium.org>

        Remove [CustomGetter] IDL for window.Image of V8
        https://bugs.webkit.org/show_bug.cgi?id=71739

        Reviewed by Adam Barth.

        Currently, window.Image uses a custom getter to get the template
        of 'HTMLImageElementConstructor'. However, this getter does not need to
        be custom and can use a default getter
        'DOMWindowInternal::DOMWindowConstructorGetter'.

        Tests: fast/js/custom-constructors.html
               fast/dom/image-object.html
               fast/dom/gc-image-element.html
               fast/dom/Window/custom-constructors.html

        * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
        * page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Image of V8. Renamed 'HTMLImageElementConstructor' to 'HTMLImageElementConstructorConstructor' in order to make window.Image use the template of (not 'HTMLImageElement' but) 'HTMLImageElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.

2011-11-07  Chris Fleizach  <cfleizach@apple.com>

        REGRESSION(r99025-r99037): platform/mac/accessibility/select-element-selection-with-optgroups.html is asserting
        https://bugs.webkit.org/show_bug.cgi?id=71421

        Reviewed by Ryosuke Niwa.

        Remove an assert that was added by r99035. It was added based on a comment in the code, but not tested.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::selectOption):

2011-11-07  Emil A Eklund  <eae@chromium.org>

        Revert platform and scrolling to ints
        https://bugs.webkit.org/show_bug.cgi?id=71585

        Reviewed by Eric Seidel.

        Replace all uses of LayoutUnit and related types with ints in platform
        and scrolling code.

        No new tests.

        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/PopupMenuClient.h:
        * platform/ScrollAnimatorNone.cpp:
        * platform/ScrollAnimatorNone.h:
        * platform/ScrollView.cpp:
        * platform/ScrollView.h:
        * platform/ScrollableArea.h:
        * rendering/RenderLayer.cpp:
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        * rendering/RenderListBox.h:
        * rendering/RenderMenuList.cpp:
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        * rendering/RenderTextControlSingleLine.h:

2011-11-07  Kentaro Hara  <haraken@chromium.org>

        Fixed wrong test results of fast/js/custom-constructors.html
        https://bugs.webkit.org/show_bug.cgi?id=71669

        Reviewed by Darin Adler.

        According to the HTMLOptionElement spec
        (http://dev.w3.org/html5/spec/the-button-element.html#the-option-element),
        'text', 'label' and 'value' have neither [TreatUndefinedAs=EmptyString]
        nor [TreatNullAs=EmptyString]. Thus, an undefined value should be
        converted to a string "undefined" and a null value should be
        converted to a string "null", following the step 3 of the IDL
        conversion spec (http://dev.w3.org/2006/webapi/WebIDL/#es-DOMString).

        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::constructHTMLOptionElement): Removed isUndefined() check from 'text' and 'value' since the spec does not have [TreatUndefinedAs=EmptyString].
        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
        (WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
        * html/HTMLOptionElement.idl: Removed [ConvertNullToNullString] from 'text', 'label' and 'value' since the spec does not have [TreatNullAs=EmptyString].

2011-11-07  Adam Barth  <abarth@webkit.org>

        Move DomainRelaxationForbidden scheme registry to SchemeRegistry
        https://bugs.webkit.org/show_bug.cgi?id=71750

        Reviewed by Eric Seidel.

        As stated in the FIXME, scheme registries belong in SchemeRegistry, not
        in SecurityOrigin.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::setDomain):
        * page/SecurityOrigin.cpp:
        * page/SecurityOrigin.h:
        * platform/SchemeRegistry.cpp:
        (WebCore::schemesForbiddenFromDomainRelaxation):
        (WebCore::SchemeRegistry::setDomainRelaxationForbiddenForURLScheme):
        (WebCore::SchemeRegistry::isDomainRelaxationForbiddenForURLScheme):
        * platform/SchemeRegistry.h:

2011-11-07  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10405215> REGRESSION (r98178): World of Warcraft Launcher crashes in FrameView::isOnActivePage()
        https://bugs.webkit.org/show_bug.cgi?id=71743

        Reviewed by Beth Dakin.

        * page/FrameView.cpp:
        (WebCore::FrameView::isOnActivePage): Added a check for a null m_frame.

2011-11-07  Dmitry Lomov  <dslomov@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=71534
        [V8] On neutering TypedArrayViews, V8 should be notified to drain code generation cache.

        Reviewed by David Levin.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        * html/canvas/DataView.cpp:
        * html/canvas/DataView.h:
        * html/canvas/Float32Array.h:
        * html/canvas/Float64Array.h:
        * html/canvas/Int16Array.h:
        * html/canvas/Int32Array.h:
        * html/canvas/Int8Array.h:
        * html/canvas/TypedArrayBase.h:
        * html/canvas/Uint16Array.h:
        * html/canvas/Uint32Array.h:
        * html/canvas/Uint8Array.h:

2011-11-07  Adam Barth  <abarth@webkit.org>

        addMessage's last few arguments should be optional
        https://bugs.webkit.org/show_bug.cgi?id=70946

        Reviewed by Darin Adler.

        As requested by Darin Adler.  I wanted to call this method addMessage,
        but the compiler was unhappy locating the overload on
        ScriptExecutionContext when Document had an override too.  Changing the
        name to addConsoleMessage made all the code happier.

        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::addMessage):
        * dom/ScriptExecutionContext.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::getImageData):
        * html/parser/XSSAuditor.cpp:
        (WebCore::XSSAuditor::filterToken):
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::notifyFinished):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::reportViolation):
        (WebCore::ContentSecurityPolicy::logUnrecognizedDirective):
        * page/EventSource.cpp:
        (WebCore::EventSource::didReceiveResponse):
        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::looping):
        (WebCore::AudioBufferSourceNode::setLooping):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createLowPass2Filter):
        (WebCore::AudioContext::createHighPass2Filter):
        * xml/XMLHttpRequest.cpp:
        (WebCore::reportUnsafeUsage):

2011-11-07  Adam Barth  <abarth@webkit.org>

        WebWorkers fail with document.domain set when accessing from subdomain
        https://bugs.webkit.org/show_bug.cgi?id=67978

        Reviewed by Sam Weinig.

        Workers should ignore document.domain when deciding which URLs a
        document can request, just like XMLHttpRequest and every other API.

        Test: http/tests/workers/worker-document-domain-security.html

        * workers/AbstractWorker.cpp:
        (WebCore::AbstractWorker::resolveURL):

2011-11-07  Scott Graham  <scottmg@chromium.org>

        Allow gamepad API to be enabled at runtime
        https://bugs.webkit.org/show_bug.cgi?id=71736

        Part of full patch, found at
        https://bugs.webkit.org/show_bug.cgi?id=69451

        Reviewed by Adam Barth.

        No new tests. No new functionality.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setGamepadsEnabled):
        (WebCore::RuntimeEnabledFeatures::gamepadsEnabled):

2011-11-07  Kentaro Hara  <haraken@chromium.org>

        Remove [CustomGetter] IDL for window.Option of V8
        https://bugs.webkit.org/show_bug.cgi?id=71735

        Reviewed by Nate Chapin.

        Currently, window.Option uses a custom getter to get the template
        of 'HTMLOptionElementConstructor'. However, this getter does not need to
        be custom and can use a default getter
        'DOMWindowInternal::DOMWindowConstructorGetter'.

        Tests: fast/js/custom-constructors.html
               fast/forms/option-index.html
               fast/forms/add-and-remove-option.html
               fast/dom/dom-add-optionelement.html

        * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
        * page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Option of V8. Renamed 'HTMLOptionElementConstructor' to 'HTMLOptionElementConstructorConstructor' in order to make window.Option use the template of (not 'HTMLOptionElement' but) 'HTMLOptionElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.

2011-11-07  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize JSObject::putWithAttributes
        https://bugs.webkit.org/show_bug.cgi?id=71716

        Reviewed by Darin Adler.

        No new tests.

        Added putWithAttributes to the MethodTable, changed all the virtual 
        implementations of putWithAttributes to static ones, and replaced 
        all call sites with corresponding lookups in the MethodTable.

        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::putWithAttributes):
        * bindings/js/JSDOMWindowShell.h:

2011-11-07  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=71490
        Support uiStateTransitionProgress for scrollbars
        -and corresponding-
        <rdar://problem/9849612>

        Reviewed by Sam Weinig.

        Step 1 of supporting uiStateTransitionProgress is knowing when the mouse has 
        entered or exited a scrollbar. These changes to Scrollbar pass that information 
        on to the ScrollAnimator. Also, Scrollbar::mouseUp() now takes a 
        PlatformMouseEvent as a parameter. This is necessary because m_hoveredNode is not 
        always up to date on a mouseUp, so mouseUp must hitTest the scrollbar to see if 
        the mouse has exited the scrollbar.
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::mouseMoved):
        (WebCore::Scrollbar::mouseExited):
        (WebCore::Scrollbar::mouseUp):
        * platform/Scrollbar.h:

        These changes are required now that Scrollbar::mouseUp() takes a parameter.
        * WebCore.exp.in:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseDoubleClickEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        * platform/chromium/PopupListBox.cpp:
        (WebCore::PopupListBox::handleMouseReleaseEvent):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::wndProc):
        
        ScrollAnimator passes the information on to AppKit.
        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::mouseEnteredScrollbar):
        (WebCore::ScrollAnimator::mouseExitedScrollbar):
        * platform/mac/ScrollAnimatorMac.h:
        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):

        There are several new pieces of AppKit api we must call into.
        * platform/mac/NSScrollerImpDetails.h:

        This is a temporary function that is needed for the time being since there is new 
        AppKit api required for this to work.
        * platform/mac/ScrollAnimatorMac.mm:
        (supportsUIStateTransitionProgress):

        I refactored WebScrollbarPartAnimation so that it can handle the 
        uiStateTransitionProgress animation as well as the alpha animations it already 
        handled. This mostly involved re-naming things and making use of a new enum called 
        FeatureToAnimate which keeps track of what the instance of 
        WebScrollbarPartAnimation is animating.
        (-[WebScrollbarPartAnimation initWithScrollbarPainter:animate:scrollAnimator:animateFrom:animateTo:duration:]):
        (-[WebScrollbarPartAnimation setScrollbarPainter:]):
        (-[WebScrollbarPartAnimation setStartValue:]):
        (-[WebScrollbarPartAnimation setEndValue:]):
        (-[WebScrollbarPartAnimation setCurrentProgress:]):

        WebScrollbarPainterDelegate has two new animations, 
        _verticalUIStateTransitionAnimation, and _horizontalUIStateTransitionAnimation. It 
        also responds to a few new delegate calls.
        (-[WebScrollbarPainterDelegate cancelAnimations]):

        This is a new delegate call needed for uiStateTransitionProgress.
        (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):

        I re-named setUpAnimation to setUpAlphaAnimation since it does a lot of things 
        that are specific to the alpha animation and I chose not to re-use it for 
        uiStateTransition.
        (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
        (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):

        New delegate call for the uiStateTransition animation that sets up that animation 
        and kicks it off.
        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
        (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):

2011-11-07  Alice Boxhall  <aboxhall@chromium.org>

        Remove unnecessary use of function pointer in FrameSelection::modify()
        https://bugs.webkit.org/show_bug.cgi?id=71646

        Reviewed by Ryosuke Niwa.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::modify):

2011-11-07  Andreas Kling  <kling@webkit.org>

        Unreviewed Windows build fix after r99468.

        * css/CSSPrimitiveValue.h: Unmark single-argument constructors
        as explicit, since this conflicts with the template constructors
        in CSSPrimitiveValueMappings.h.

2011-11-07  Jer Noble  <jer.noble@apple.com>

        Build fix due to a erroneous search-and-replace.

        Unreviewed build fix.

        Replace all instances of GenericClock with ClockGeneric.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/ClockGeneric.cpp:
        (ClockGeneric::ClockGeneric):

2011-11-07  Adam Barth  <abarth@webkit.org>

        Move parseSandboxPolicy to SecurityContext
        https://bugs.webkit.org/show_bug.cgi?id=71732

        Reviewed by Eric Seidel.

        As requested by Eric, this patch resolves a layering inversion.  Now
        that we have SecurityContext to hold the sandbox bits and the origin,
        it's a logical place to put the parser for sandbox policies.

        * dom/SecurityContext.cpp:
        (WebCore::SecurityContext::parseSandboxPolicy):
        * dom/SecurityContext.h:
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::parseMappedAttribute):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::applySandboxPolicy):
        * page/SecurityOrigin.cpp:
        * page/SecurityOrigin.h:

2011-11-07  Jer Noble  <jer.noble@apple.com>

        Rename PlatformClockPOSIX -> ClockGeneric, and use WTF::currentTime() for its timing source.
        https://bugs.webkit.org/show_bug.cgi?id=71702

        Reviewed by Sam Weinig.

        No new tests; covered by existing tests.

        * platform/Clock.cpp:
        (Clock::create):
        * platform/ClockGeneric.cpp: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.cpp.
        (ClockGeneric::ClockGeneric):
        (ClockGeneric::setCurrentTime):
        (ClockGeneric::currentTime):
        (ClockGeneric::setPlayRate):
        (ClockGeneric::start):
        (ClockGeneric::stop):
        * platform/ClockGeneric.h: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.h.
        (WebCore::ClockGeneric::playRate):
        (WebCore::ClockGeneric::isRunning):

        Boilerplate project file changes:
        * CMakeLists.txt:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:

2011-11-07  Vangelis Kokkevis  <vangelis@chromium.org>

        Create a separate setting for compositing of for scrollable [i]frames
        that forceCompositingMode can be used without turning frames into composited layers.
        https://bugs.webkit.org/show_bug.cgi?id=71714

        Reviewed by James Robinson.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setAcceleratedCompositingForScrollableFramesEnabled):
        (WebCore::Settings::acceleratedCompositingForScrollableFramesEnabled):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
        * testing/Internals.cpp:
        (WebCore::Internals::setEnableCompositingForScrollableFrames):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-11-07  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Fix mac build (with mutation_observers enabled)
        https://bugs.webkit.org/show_bug.cgi?id=71728

        Reviewed by Tony Chang.

        Errant forward declaration of MutationObserverRegistration removed from
        Node.h this would have broken a port that tried to build with mutation_observers=1.

        * dom/Node.h:

2011-11-07  Kentaro Hara  <haraken@chromium.org>

        Remove [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8
        https://bugs.webkit.org/show_bug.cgi?id=71660

        Reviewed by Adam Barth.

        Currently, "new Audio()" uses a custom getter to get the template
        of 'HTMLAudioElementConstructor'. However, this getter does not need to
        be custom and can use a default getter 'DOMWindowInternal::DOMWindowConstructorGetter'.

        Tests: fast/js/custom-constructors.html
               media/audio-constructor.html
               media/audio-constructor-src.html
               media/audio-constructor-preload.html
               media/audio-controls-do-not-fade-out.html
               media/audio-controls-rendering.html

        * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
        * page/DOMWindow.idl: Removed [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8. Renamed 'HTMLAudioElementConstructor' to 'HTMLAudioElementConstructorConstructor' in order to make 'new Audio()' use the template of (not 'HTMLAudioElement' but) 'HTMLAudioElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from an IDL type.
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation): If an IDL type is 'XXXXConstructorConstructor', then we do not add a header file 'XXXXConstructor.h' to JSDOMWindow.cpp, because the NamedConstructor declaration is written in the header file of class XXXX 'XXXX.h'. Incidentally, the reason why CodeGeneratorV8.pm does not need a corresponding change is that V8 is still generating the NamedConstructor declaration in its dedicated header file 'XXXXConstructor.h'. This V8 issue will be fixed in the upcoming patch that implements [NamedConstructor] IDL in V8.

2011-11-07  Robert Sesek  <rsesek@chromium.org>

        [chromium] Update WebCore.gyp to not use WebKitLibraries in include_dirs
        https://bugs.webkit.org/show_bug.cgi?id=71694

        Reviewed by Adam Barth.

        * WebCore.gyp/WebCore.gyp:

2011-11-07  Dominic Cooney  <dominicc@chromium.org>

        Remove initPopStateEvent method
        https://bugs.webkit.org/show_bug.cgi?id=71691

        Reviewed by Ojan Vafai.

        * dom/PopStateEvent.cpp:
        * dom/PopStateEvent.h:
        * dom/PopStateEvent.idl:

2011-11-07  Andreas Kling  <kling@webkit.org>

        CSSValue: Devirtualize isFooType().
        <http://webkit.org/b/71668>

        Reviewed by Darin Adler.

        Add a member to CSSValue to determine which subclass a given
        value object is, along with 5 bits to tell us whether the
        value is primitive/mutable/initial/inherited/a list.

        All non-private subclass constructors now take CSSValue::ClassType
        as their first argument. A few constructors were duplicated as
        private members to allow calling them from ::create() methods
        without passing an explicit ClassType.

        Furthermore, since CSSValue::cssValueType() can be inferred from
        the subclass type, we compute it instead of storing it in a member.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

            Adding CSSValue.cpp.

        * css/CSSValue.cpp: Added.
        (WebCore::CSSValue::cssValueType):

            Out-of-line implementation of this method. Only used by CSSOM.

        * css/CSSValue.h:
        (WebCore::CSSValue::isMutableValue):
        (WebCore::CSSValue::isPrimitiveValue):
        (WebCore::CSSValue::isValueList):
        (WebCore::CSSValue::isInitialValue):
        (WebCore::CSSValue::isInheritedValue):
        (WebCore::CSSValue::isBorderImageValue):
        (WebCore::CSSValue::isBorderImageSliceValue):
        (WebCore::CSSValue::isCursorImageValue):
        (WebCore::CSSValue::isFontFamilyValue):
        (WebCore::CSSValue::isFontFeatureValue):
        (WebCore::CSSValue::isFontValue):
        (WebCore::CSSValue::isImageGeneratorValue):
        (WebCore::CSSValue::isImageValue):
        (WebCore::CSSValue::isImplicitInitialValue):
        (WebCore::CSSValue::isReflectValue):
        (WebCore::CSSValue::isShadowValue):
        (WebCore::CSSValue::isTimingFunctionValue):
        (WebCore::CSSValue::isWebKitCSSTransformValue):
        (WebCore::CSSValue::isCSSLineBoxContainValue):
        (WebCore::CSSValue::isFlexValue):
        (WebCore::CSSValue::isWebKitCSSFilterValue):
        (WebCore::CSSValue::isSVGColor):
        (WebCore::CSSValue::isSVGPaint):
        (WebCore::CSSValue::classType):
        (WebCore::CSSValue::CSSValue):
        (WebCore::CSSValue::isPrimitiveType):
        (WebCore::CSSValue::isListType):
        (WebCore::CSSValue::isMutableType):
        (WebCore::CSSValue::isInheritedType):
        (WebCore::CSSValue::isInitialType):

            Store subclass type information into a member variable and
            made all the isFooValue() functions non-virtual and inline.
            Some subclass type lookups (primitive values, notably) are
            cached in a bool member on construction.

        * css/CSSAspectRatioValue.h:
        (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
        * css/CSSBorderImageSliceValue.cpp:
        (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
        * css/CSSBorderImageSliceValue.h:
        * css/CSSBorderImageValue.cpp:
        (WebCore::CSSBorderImageValue::CSSBorderImageValue):
        * css/CSSBorderImageValue.h:
        * css/CSSCanvasValue.h:
        (WebCore::CSSCanvasValue::CSSCanvasValue):
        * css/CSSCrossfadeValue.h:
        (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::CSSCursorImageValue):
        * css/CSSCursorImageValue.h:
        * css/CSSFlexValue.h:
        (WebCore::CSSFlexValue::CSSFlexValue):
        * css/CSSFontFaceSrcValue.h:
        (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
        * css/CSSFunctionValue.cpp:
        (WebCore::CSSFunctionValue::CSSFunctionValue):
        * css/CSSGradientValue.h:
        (WebCore::CSSGradientValue::isLinearGradient):
        (WebCore::CSSGradientValue::isRadialGradient):
        (WebCore::CSSGradientValue::CSSGradientValue):
        (WebCore::CSSLinearGradientValue::CSSLinearGradientValue):
        (WebCore::CSSRadialGradientValue::CSSRadialGradientValue):
        * css/CSSImageGeneratorValue.cpp:
        (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
        * css/CSSImageGeneratorValue.h:
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::CSSImageValue):
        * css/CSSImageValue.h:
        * css/CSSInheritedValue.h:
        (WebCore::CSSInheritedValue::CSSInheritedValue):
        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue::CSSInitialValue):
        (WebCore::CSSInitialValue::create):
        * css/CSSLineBoxContainValue.cpp:
        (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
        * css/CSSLineBoxContainValue.h:
        * css/CSSMutableValue.h:
        (WebCore::CSSMutableValue::CSSMutableValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSReflectValue.h:
        (WebCore::CSSReflectValue::CSSReflectValue):
        * css/CSSTimingFunctionValue.h:
        (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
        (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
        (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
        (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
        (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
        (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
        (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
        * css/CSSUnicodeRangeValue.h:
        (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::CSSValueList):
        * css/CSSValueList.h:
        * css/FontFamilyValue.cpp:
        (WebCore::FontFamilyValue::FontFamilyValue):
        * css/FontFamilyValue.h:
        * css/FontFeatureValue.cpp:
        (WebCore::FontFeatureValue::FontFeatureValue):
        * css/FontFeatureValue.h:
        * css/FontValue.h:
        (WebCore::FontValue::FontValue):
        * css/ShadowValue.cpp:
        (WebCore::ShadowValue::ShadowValue):
        * css/ShadowValue.h:
        * css/WebKitCSSFilterValue.cpp:
        (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
        * css/WebKitCSSFilterValue.h:
        * css/WebKitCSSTransformValue.cpp:
        (WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
        * css/WebKitCSSTransformValue.h:
        * svg/SVGColor.cpp:
        (WebCore::SVGColor::SVGColor):
        * svg/SVGColor.h:
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::SVGPaint):
        * svg/SVGPaint.h:

            Propagate subclass type information and kill isFooType() virtuals.

2011-11-07  Mihnea Ovidenie  <mihnea@adobe.com>

        Leaks seen in RenderRegion::setRenderBoxRegionInfo on Leaks bot
        https://bugs.webkit.org/show_bug.cgi?id=71259

        Reviewed by Darin Adler.

        Leak fixes covered by existing tests.

        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
        The RenderBoxRegionInfo taken out of RenderRegion must be deleted on all code paths.
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::removeRenderBoxRegionInfo):
        The RenderBoxRegionInfo map owns the values, therefore, when values are removed from map
        they must also be deleted.

2011-11-07  Adam Barth  <abarth@webkit.org>

        iframe sandbox treats vertical tab as a valid delimiter
        https://bugs.webkit.org/show_bug.cgi?id=71704

        Reviewed by Eric Seidel.

        This patch adjusts our parser slightly to match the HTML5 spec.  The
        only difference is in how we handle vertical tabs.  Previously, we
        treated them as a delimiter, but we're not supposed to do that.

        Test: fast/frames/sandboxed-iframe-parsing-space-characters.html

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::parseSandboxPolicy):

2011-11-07  Adam Barth  <abarth@webkit.org>

        Factor SecurityContext out of ScriptExecutionContext
        https://bugs.webkit.org/show_bug.cgi?id=71721

        Reviewed by Eric Seidel.

        The new SecurityContext object lets us tightly scope control of
        the security-critical information in ScriptExecutionContext.
        Originally I had hoped to put all this state on SecurityOrigin, but
        SecurityOrigin gets shared between documents in some corner cases, so
        it's not a good fit for state like the sandbox flags and the CSP policy
        that really needs to be per-document.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        * dom/ScriptExecutionContext.h:
        * loader/FrameLoader.h:
        * loader/FrameLoaderTypes.h:
        * page/SecurityOrigin.h:

2011-11-07  Kentaro Hara  <haraken@chromium.org>

        Refactor CodeGeneratorV8.pm before making a core change for bug 71093.
        https://bugs.webkit.org/show_bug.cgi?id=71659

        Reviewed by Adam Barth.

        Just refactor CodeGeneratorV8.pm without any change in behavior,
        as the first step for fixing bug 71093.

        Tests: WebCore/bindings/scripts/test/TestObj.idl
               WebCore/bindings/scripts/test/TestInterface.idl

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader): Sort generated headers in alphabetical order. Removed unnecessary variable names from method signatures. These changes are for silencing style check errors when a new TestXXXX.idl is added.
        (GenerateConstructorCallback): Renamed variables to clarify their roles.
        (WriteData): Removed an unused array @implHeaderContent.
        * bindings/scripts/test/V8/V8TestInterface.h: Updated a run-binding-tests result.
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
        * bindings/scripts/test/V8/V8TestObj.h: Ditto.
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.

2011-11-07  Ken Buchanan <kenrb@chromium.org>

        Crash due to mixed direction text runs
        https://bugs.webkit.org/show_bug.cgi?id=66015

        Reviewed by David Hyatt.

        Test for bug fix.

        * fast/text/international/bidi-neutral-in-mixed-direction-run-crash.html: Added
        * fast/text/international/bidi-neutral-in-mixed-direction-run-cras-expected.txt: Added

2011-11-07  Tim Horton  <timothy_horton@apple.com>

        getBBox() on a SVGPathElement with curves incorrectly includes control points
        https://bugs.webkit.org/show_bug.cgi?id=53512
        <rdar://problem/9861154>

        Reviewed by Oliver Hunt.

        Split Path::boundingRect() into two, adding Path::fastBoundingRect()
        for a rough estimate of the bounding rect (always equal to or larger
        than boundingRect()). fastBoundingRect() currently falls back to
        boundingRect() for all ports besides CG, though in most cases
        (on a port-by-port basis) the current implementation of boundingRect()
        will need to become fastBoundingRect(), and a new, more accurate method will
        be implemented for boundingRect().

        All previous callers of boundingRect() are transitioned to using fastBoundingRect()
        except SVGPathElement::getBBox, which wants an accurate bounding box.

        The CoreGraphics implementation of Path::boundingRect() called
        CGPathGetBoundingBox, which includes the path's control points in its
        calculations. Snow Leopard added CGPathGetPathBoundingBox, which
        finds the bounding box of only points within the path, and does not
        include control points. On Snow Leopard and above, we now use the latter.

        Test: svg/custom/getBBox-path.svg

        * html/HTMLAreaElement.cpp:
        * html/canvas/CanvasRenderingContext2D.cpp:
        * platform/graphics/Path.cpp:
        * platform/graphics/Path.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        * platform/graphics/cg/PathCG.cpp:
        (WebCore::Path::boundingRect):
        * rendering/RenderObject.h:
        * rendering/svg/RenderSVGPath.cpp:
        * svg/SVGPathElement.cpp:
        * svg/SVGPathElement.h:

2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Suggest box should be open immediately if forced by Ctrl+Space.
        https://bugs.webkit.org/show_bug.cgi?id=71710

        Reviewed by Pavel Feldman.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.clearAutoComplete):
        (WebInspector.TextPrompt.prototype.autoCompleteSoon):

2011-11-07  vsevik@chromium.org  <vsevik@chromium.org>

        Web Inspector: Suggest box should consume enter key pressed event.
        https://bugs.webkit.org/show_bug.cgi?id=71700

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._attachInternal):
        (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):

2011-11-07  David Barr  <davidbarr@chromium.org>

        Optimize outline rendering to avoid transparency layers
        https://bugs.webkit.org/show_bug.cgi?id=60750

        Add fast path for solid block outlines with alpha.
        Improve readability of piecewise path while at it.

        Reviewed by Simon Fraser.

        No intended change in behaviour, no new tests.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline):

2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Suggest box should not accept suggestion on space key pressed.
        https://bugs.webkit.org/show_bug.cgi?id=71706

        Reviewed by Pavel Feldman.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.onKeyDown):
        (WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):

2011-11-07  Andreas Kling  <kling@webkit.org>

        Don't use CSSOM's CSSValue.cssValueType internally in WebCore.
        <http://webkit.org/b/71679>

        Reviewed by Darin Adler.

        Swap out cssValueType() usage for isPrimitiveValue(), isInitialValue()
        and isInheritedValue() to increase code clarity.

        The plan is to turn cssValueType() into a computed value based on the
        CSSValue subclass (coming soon to <http://webkit.org/b/71668>.)
        This is a clean-up in preparation for that.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::nameGetter):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
        * css/CSSInheritedValue.h:
        (WebCore::CSSInheritedValue::isInheritedValue):
        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue::isInitialValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColor):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyDeclaration):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::mapFillAttachment):
        (WebCore::CSSStyleSelector::mapFillClip):
        (WebCore::CSSStyleSelector::mapFillComposite):
        (WebCore::CSSStyleSelector::mapFillOrigin):
        (WebCore::CSSStyleSelector::mapFillImage):
        (WebCore::CSSStyleSelector::mapFillRepeatX):
        (WebCore::CSSStyleSelector::mapFillRepeatY):
        (WebCore::CSSStyleSelector::mapFillSize):
        (WebCore::CSSStyleSelector::mapFillXPosition):
        (WebCore::CSSStyleSelector::mapFillYPosition):
        (WebCore::CSSStyleSelector::mapAnimationDelay):
        (WebCore::CSSStyleSelector::mapAnimationDirection):
        (WebCore::CSSStyleSelector::mapAnimationDuration):
        (WebCore::CSSStyleSelector::mapAnimationFillMode):
        (WebCore::CSSStyleSelector::mapAnimationIterationCount):
        (WebCore::CSSStyleSelector::mapAnimationName):
        (WebCore::CSSStyleSelector::mapAnimationPlayState):
        (WebCore::CSSStyleSelector::mapAnimationProperty):
        (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
        * css/CSSValue.h:
        (WebCore::CSSValue::isInheritedValue):
        (WebCore::CSSValue::isInitialValue):
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::extractFontSizeDelta):
        (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):

2011-11-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r99432.
        http://trac.webkit.org/changeset/99432
        https://bugs.webkit.org/show_bug.cgi?id=71709

        It made layout tests extra slow on all bots (Requested by
        Ossy_night on #webkit).

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._attachInternal):
        (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):

2011-11-07  Andreas Kling  <kling@webkit.org>

        REGRESSION(r99409): Broke transitions/clip-transition.html
        <http://webkit.org/b/71692>

        Reviewed by Darin Adler.

        Add missing base class initializers to CSSPrimitiveValue constructors.
        This was causing some CSSPrimitiveValues to masquerade as CSS_CUSTOM values.

        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

2011-11-07  ChangSeok Oh  <shivamidow@gmail.com>

        [EFL] Support requestAnimationFrame API
        https://bugs.webkit.org/show_bug.cgi?id=67112

        Reviewed by Andreas Kling.

        Add some files to build-target when enabling requestAnimationFrame option.

        fast/animation/request-animation-frame-cancel.html
        fast/animation/request-animation-frame-cancel2.html
        fast/animation/request-animation-frame-display.html
        fast/animation/request-animation-frame-during-modal.html
        fast/animation/request-animation-frame-timestamps.html
        fast/animation/request-animation-frame-within-callback.html
        fast/animation/request-animation-frame.html

        * CMakeLists.txt:
        * UseJSC.cmake:

2011-11-07  Sam Weinig  <sam@webkit.org>

        Add missing .in and .pl files to the Xcode project for easy access.

        Reviewed by Eric Carlson.

        * WebCore.xcodeproj/project.pbxproj:
        Add some missing files to the Xcode project.

2011-11-07  Jessie Berlin  <jberlin@apple.com>

        Need a way to allow a scheme access to Local Storage and Databases while Private Browsing is
        enabled.
        https://bugs.webkit.org/show_bug.cgi?id=71631

        Reviewed by Jon Honeycutt.

        Check the SchemeRegistry before preventing read/write access to Local Storage and Databases
        in Private Browsing.

        * WebCore.exp.in:
        Export the symbols for registering the schemes as allowing Local Storage and Database access
        in Private Browsing.

        * dom/Document.cpp:
        (WebCore::Document::allowDatabaseAccess):
        Check if the scheme allows Database access in Private Browsing.

        * platform/SchemeRegistry.cpp:
        (WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
        (WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
        (WebCore::SchemeRegistry::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing):
        (WebCore::SchemeRegistry::allowsLocalStorageAccessInPrivateBrowsing):
        (WebCore::SchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing):
        (WebCore::SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing):
        * platform/SchemeRegistry.h:

        * storage/Storage.cpp:
        (WebCore::Storage::length):
        Ask the storage area if it is disabled by Private Browsing in the frame instead of just
        checking if Private Browsing is enabled for that frame because the answer might depend on
        what type of storage that storage area is.
        (WebCore::Storage::key):
        Ditto.
        (WebCore::Storage::getItem):
        Ditto.
        (WebCore::Storage::contains):
        Ditto.

        * storage/StorageArea.h:
        Make it possible to query a StorageArea for whether it is disabled by Private Browsing in a
        Frame.
        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
        Renamed from privateBrowsingEnabled.
        Check not only if Private Browsing is enabled for the Frame, but also if the storage type is
        Local Storage and if there is an exception for the scheme of the resource currently loaded
        into the Frame.
        (WebCore::StorageAreaImpl::setItem):
        Renamed privateBrowsingEnabled -> disabledByPrivateBrowsingInFrame.
        (WebCore::StorageAreaImpl::removeItem):
        Ditto.
        (WebCore::StorageAreaImpl::clear):
        Ditto.
        * storage/StorageAreaImpl.h:

2011-11-07  Dominic Cooney  <dominicc@chromium.org>

        Remove initCloseEvent method
        https://bugs.webkit.org/show_bug.cgi?id=71374

        Reviewed by Ojan Vafai.

        Test: fast/dom/Window/window-properties.html

        * websockets/CloseEvent.h:
        (WebCore::CloseEvent::initCloseEvent):
        * websockets/CloseEvent.idl:

2011-11-07  Anders Carlsson  <andersca@apple.com>

        Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
        https://bugs.webkit.org/show_bug.cgi?id=71699

        Reviewed by Sam Weinig.

        Export AffineTransform symbols used by WebKit2.

        * WebCore.exp.in:

2011-11-07  Michael Saboff  <msaboff@apple.com>

        Towards 8 Bit Strings: Templatize JSC::Lexer class by character type
        https://bugs.webkit.org/show_bug.cgi?id=71331

        Changed the SourceProvider::data() virtual method to return a
        StringImpl* instead of a UChar*.
        Changed Identifier() constructor to use JSGlobalData*.

        Reviewed by Darin Adler.

        No new tests - refactored SourceProvider class and sub-classes.

        * bindings/js/CachedScriptSourceProvider.h:
        (WebCore::CachedScriptSourceProvider::stringData):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::stringData):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertQVariantToValue):

2011-11-07  Dominic Cooney  <dominicc@chromium.org>

        Remove initOverflowEvent from JavaScript bindings
        https://bugs.webkit.org/show_bug.cgi?id=71687

        Reviewed by Ojan Vafai.

        Now that OverflowEvent has a constructor, we don't need the
        initOverflowEvent method. It has to remain in the Objective C
        binding because it is part of the Objective C public API.

        * dom/OverflowEvent.idl:

2011-11-07  Noel Gordon  <noel.gordon@gmail.com>

        Refactor canvas encoding mimeType validation
        https://bugs.webkit.org/show_bug.cgi?id=71651

        Reviewed by Andreas Kling.

        No new tests, refactoring only, covered by existing canvas tests.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::toEncodingMimeType): move encoder mimeType
        validation logic into a helper routine.
        (WebCore::HTMLCanvasElement::toDataURL):
        * html/HTMLCanvasElement.h:

2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Suggest box should consume enter key pressed event.
        https://bugs.webkit.org/show_bug.cgi?id=71700

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._attachInternal):
        (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):

2011-11-07  Dominic Cooney  <dominicc@chromium.org>

        Remove initPageTransitionEvent method
        https://bugs.webkit.org/show_bug.cgi?id=71689

        Reviewed by Ojan Vafai.

        initPageTransitionEvent was removed from the HTML spec; it has
        been replaced by new PageTransitionEvent(...).

        Removing a method, so no new tests.

        * dom/PageTransitionEvent.cpp:
        * dom/PageTransitionEvent.h:
        * dom/PageTransitionEvent.idl:

2011-11-07  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: TextPrompt+SuggestBox should autocomplete on "Right" keydown and with a single suggestion in place
        https://bugs.webkit.org/show_bug.cgi?id=71676

        Reviewed by Pavel Feldman.

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.onKeyDown):
        (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
        * inspector/front-end/inspectorCommon.css:
        (body): Revert inadvertent style change from a preceding commit.

2011-11-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Fix the Qt build on Mac OS X when using the QuickTime media backend

        When QtWebKit is built on Mac OS X using the QuickTime media backend
        we build both KURLCFNet.cpp and KURLMac, just like the Mac port, so
        we have to guard the potentially duplicate symbol createCFURL with
        more than just !PLATFORM(MAC).

        Reviewed by Andreas Kling.

        * platform/cf/KURLCFNet.cpp:

2011-11-07  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: follow up to r99407. Style the suggest box.
        https://bugs.webkit.org/show_bug.cgi?id=65511


        * inspector/front-end/TextPrompt.js:
        * inspector/front-end/inspector.css:
        * inspector/front-end/textPrompt.css:

2011-11-07  Roland Steiner  <rolandsteiner@chromium.org>

        https://bugs.webkit.org/show_bug.cgi?id=70223
        CSSStyleSheet: finding the owner node should be in its own method

        Add styleSheetOwnerNode() function that returns the owner Node of the style sheet, or 0.

        Reviewed by Dimitri Glazkov.

        No new tests. (refactoring)

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::styleSheetOwnerNode):
        (WebCore::CSSStyleSheet::document):
        * css/CSSStyleSheet.h:

2011-11-07  Yury Semikhatsky  <yurys@chromium.org>

        [Chromium] Web Inspector: use native worker inspector instead of fake workers
        https://bugs.webkit.org/show_bug.cgi?id=71670

        Removed context menu option for switching between native and "fake" workers
        debugger. Native debugger is used by default on platforms that support it.

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/WorkersSidebarPane.js:
        (WebInspector.WorkerListSidebarPane):
        (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
        * inspector/front-end/scriptsPanel.css:
        (#shared-workers-list):

2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add advanced search shortcut to ShortcutsScreen.
        https://bugs.webkit.org/show_bug.cgi?id=71302

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.AdvancedSearchController.createShortcut):
        * inspector/front-end/inspector.js:
        (WebInspector._registerShortcuts):

2011-11-07  Andreas Kling  <kling@webkit.org>

        CSSImageValue: Remove inheritance from CachedImageClient.
        <http://webkit.org/b/71675>

        Reviewed by Antti Koivisto.

        CSSImageValue doesn't actually use any of the CachedImageClient
        functionality, and holds a reference to the resource via the
        CachedResourceHandle in StyleCachedImage.

        So we can safely remove the multiple inheritance and simplify
        the class.

        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::~CSSImageValue):
        (WebCore::CSSImageValue::cachedImage):
        (WebCore::CSSImageValue::clearCachedImage):
        * css/CSSImageValue.h:

2011-11-07  Andreas Kling  <kling@webkit.org>

        CSSPrimitiveValue: Remove unused virtual function parseString().
        <http://webkit.org/b/71671>

        Reviewed by Antti Koivisto.

        * css/CSSPrimitiveValue.cpp:
        * css/CSSPrimitiveValue.h:

2011-11-07  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: use toString as the Date object description.
        https://bugs.webkit.org/show_bug.cgi?id=71605

        Reviewed by Yury Semikhatsky.

        Test: inspector/remote-object.html

        * inspector/InjectedScriptSource.js:
        (.):

2011-10-26  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] get JS-specific methods out of SourceFrame
        https://bugs.webkit.org/show_bug.cgi?id=70885

        Reviewed by Pavel Feldman.

        No new tests, as there's no new functionality.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.willHide):
        (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
        (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
        (WebInspector.JavaScriptSourceFrame.prototype.editContent):
        (WebInspector.JavaScriptSourceFrame.prototype.contentChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.setReadonly):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
        (WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
        (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
        (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover.showObjectPopover):
        (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover):
        (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
        (WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
        (WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
        (WebInspector.JavaScriptSourceFrame.prototype._mouseDown):
        (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
        (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
        (WebInspector.JavaScriptSourceFrame.prototype._createConditionElement):
        (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
        (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
        (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
        (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
        (WebInspector.JavaScriptSourceFrameDelegate):
        (WebInspector.JavaScriptSourceFrameDelegate.prototype.requestContent):
        (WebInspector.JavaScriptSourceFrameDelegate.prototype.setBreakpoint):
        (WebInspector.JavaScriptSourceFrameDelegate.prototype.removeBreakpoint):
        (WebInspector.JavaScriptSourceFrameDelegate.prototype.updateBreakpoint):
        (WebInspector.JavaScriptSourceFrameDelegate.prototype.findBreakpoint):
        (WebInspector.JavaScriptSourceFrameDelegate.prototype.continueToLine):
        (WebInspector.JavaScriptSourceFrameDelegate.prototype.canEditScriptSource):
        (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSource):
        (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
        (WebInspector.JavaScriptSourceFrameDelegate.prototype.suggestedFileName):
        (WebInspector.JavaScriptSourceFrameDelegate.prototype.addToWatch):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceSourceFrame):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.SourceFrameDelegateForScriptsPanel):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype.willHide):
        (WebInspector.SourceFrame.prototype.get textViewer):
        (WebInspector.SourceFrame.prototype.requestContent):
        (WebInspector.SourceFrame.prototype._saveViewerState):
        (WebInspector.SourceFrame.prototype._restoreViewerState):
        (WebInspector.SourceFrame.prototype.beforeTextChanged):
        (WebInspector.SourceFrame.prototype.afterTextChanged):
        (WebInspector.SourceFrame.prototype._initializeTextViewer):
        (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.SourceFrame.prototype.suggestedFileName):
        (WebInspector.SourceFrame.prototype.canEditSource):
        (WebInspector.SourceFrame.prototype.startEditing):
        (WebInspector.SourceFrame.prototype.commitEditing):
        (WebInspector.SourceFrame.prototype.didEditContent):
        (WebInspector.SourceFrame.prototype.editContent):
        (WebInspector.SourceFrame.prototype.cancelEditing):
        (WebInspector.SourceFrame.prototype.setReadOnly):
        * inspector/front-end/inspector.html:

2011-11-06  Andreas Kling  <kling@webkit.org>

        CSSValue: Devirtualize cssValueType().
        <http://webkit.org/b/71667>

        Reviewed by Antti Koivisto.

        Keep the cssValueType in a CSSValue member instead of using
        virtual functions.

        This is part of a project to completely devirtualize CSSValue
        <http://webkit.org/b/71666> and will incur a temporary object
        size regression for CSSValue while the work is ongoing.

        * css/CSSInheritedValue.cpp:
        * css/CSSInheritedValue.h:
        (WebCore::CSSInheritedValue::CSSInheritedValue):
        * css/CSSInitialValue.cpp:
        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue::CSSInitialValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSPrimitiveValue.h:
        * css/CSSValue.h:
        (WebCore::CSSValue::cssValueType):
        (WebCore::CSSValue::CSSValue):
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::CSSValueList):
        * css/CSSValueList.h:

2011-11-07  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: introduce UserAgent override setting.
        https://bugs.webkit.org/show_bug.cgi?id=71627

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::clearFrontend):
        (WebCore::InspectorResourceAgent::applyUserAgentOverride):
        (WebCore::InspectorResourceAgent::setUserAgentOverride):
        * inspector/front-end/HelpScreen.js:
        (WebInspector.HelpScreen):
        (WebInspector.HelpScreen.prototype.show):
        (WebInspector.HelpScreen.prototype._onBlur):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
        (WebInspector.NetworkManager.prototype._userAgentSettingChanged):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        (WebInspector.SettingsScreen.prototype._createSelectSetting.get for):
        (WebInspector.SettingsScreen.prototype._createCustomSetting):
        (WebInspector.SettingsScreen.prototype._createUserActionControl.checkboxClicked):
        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textDoubleClicked):
        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textChanged):
        * inspector/front-end/helpScreen.css:
        (.help-table td):
        (.help-content fieldset label):

2011-11-07  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: autocomplete combobox for Styles sidebar and Console.
        https://bugs.webkit.org/show_bug.cgi?id=65511

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):
        ():
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt):
        (WebInspector.TextPrompt.prototype.setSuggestBoxEnabled):
        (WebInspector.TextPrompt.prototype._attachInternal):
        (WebInspector.TextPrompt.prototype.applySuggestion):
        (WebInspector.TextPrompt.prototype.acceptSuggestion):
        (WebInspector.TextPromptWithHistory):
        * inspector/front-end/inspector.css:
        (.suggest-box.generic-suggest):
        (.suggest-box.generic-suggest.above-anchor):
        (.suggest-box.generic-suggest .content):

2011-11-07  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: split script-formatter test into multiple tests.
        https://bugs.webkit.org/show_bug.cgi?id=71607

        Reviewed by Yury Semikhatsky.

        Tests: inspector/debugger/script-formatter-breakpoints.html
               inspector/debugger/script-formatter-console.html

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._removeSourceFrame):

2011-11-07  Keishi Hattori  <keishi@webkit.org>

        Change ColorChooser from singleton to ordinary object
        https://bugs.webkit.org/show_bug.cgi?id=71644

        Reviewed by Kent Tamura.

        Changing WebCore::ColorChooser from a singleton to an ordinary object can broaden how browsers implement the color chooser interface.

        * WebCore.exp.in:
        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::~ColorInputType):
        (WebCore::ColorInputType::setValue): If a chooser exists, calls Chrome::setSelectedColorInColorChooser
        (WebCore::ColorInputType::handleDOMActivateEvent):
        (WebCore::ColorInputType::detach):
        (WebCore::ColorInputType::didCleanup): Called after cleanup is complete.
        (WebCore::ColorInputType::cleanupColorChooser): Renamed from cleanupColorChooserIfCurrentClient.
        * html/ColorInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::selectColorInColorChooser):
        * html/HTMLInputElement.h:
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
        (WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Ditto.
        * page/Chrome.cpp:
        (WebCore::Chrome::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
        (WebCore::Chrome::setSelectedColorInColorChooser): Ditto.
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/ColorChooser.cpp:
        (WebCore::ColorChooserClient::~ColorChooserClient):
        (WebCore::ColorChooserClient::newColorChooser): Creates a new color chooser that is connected to itself.
        (WebCore::ColorChooserClient::discardChooser): Discards the connected color chooser.
        (WebCore::ColorChooser::ColorChooser): ColorChooser is RefCounted.
        (WebCore::ColorChooser::create): Creates a ColorChooser that is connected to the given ColorChooserClient.
        (WebCore::ColorChooser::~ColorChooser):
        (WebCore::ColorChooser::didChooseColor): Called from WebKit side when user chose a color. Calls ColorChooserClient::didChooseColor
        (WebCore::ColorChooser::didCleanup): Called from WebKit side when user color chooser was cleaned up. Calls ColorChooserClient::didCleanup
        * platform/ColorChooser.h:
        (WebCore::ColorChooserClient::chooser): Returns the current ColorChooser.
        (WebCore::ColorChooser::disconnectClient): Disconnects the ColorChooserClient.
        * testing/Internals.cpp:
        (WebCore::Internals::selectColorInColorChooser): Added element argument. This calls didChooseColor on the ColorChooser of that element.
        * testing/Internals.h:
        * testing/Internals.idl: Removed connectColorChooserClient and updated selectColorInColorChooser.

2011-11-07  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Cannot edit elements commented with <!--
        https://bugs.webkit.org/show_bug.cgi?id=71357

        Reviewed by Pavel Feldman.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getOuterHTML):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
        (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):

2011-11-06  Noel Gordon  <noel.gordon@gmail.com>

        Fix some style issues in ImageBuffer.h
        https://bugs.webkit.org/show_bug.cgi?id=71649

        Reviewed by Kent Tamura.

        No new tests. Style change only.

        * platform/graphics/ImageBuffer.h:

2011-11-06  Keishi Hattori  <keishi@webkit.org>

        InputType::fallbackValue and defaultValue should be const
        https://bugs.webkit.org/show_bug.cgi?id=71641

        Reviewed by Kent Tamura.
    
        Changing InputType::fallbackValue and defaultValue to const. Also adding OVERRIDE.

        * html/BaseCheckableInputType.cpp:
        (WebCore::BaseCheckableInputType::fallbackValue):
        * html/BaseCheckableInputType.h:
        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::fallbackValue):
        * html/ColorInputType.h:
        * html/InputType.cpp:
        (WebCore::InputType::fallbackValue):
        (WebCore::InputType::defaultValue):
        * html/InputType.h:
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::fallbackValue):
        * html/RangeInputType.h:
        * html/ResetInputType.cpp:
        (WebCore::ResetInputType::defaultValue):
        * html/ResetInputType.h:
        * html/SubmitInputType.cpp:
        (WebCore::SubmitInputType::defaultValue):
        * html/SubmitInputType.h:

2011-11-06  Keishi Hattori  <keishi@webkit.org>

        Remove ColorInputType::handleClickEvent
        https://bugs.webkit.org/show_bug.cgi?id=71640

        Reviewed by Kent Tamura.

        When you click the input color element, both ColorInputType::handleClickEvent and
        ColorInputType::handleDOMActivateEvent are called, causing Chrome::openColorChooser
        to be called too many times.

        * html/ColorInputType.cpp: Removed ColorInputType::handleClickEvent
        * html/ColorInputType.h: Removed ColorInputType::handleClickEvent

2011-11-06  Keishi Hattori  <keishi@webkit.org>

        Remove extra semicolon in ColorInputType
        https://bugs.webkit.org/show_bug.cgi?id=71639

        Reviewed by Kent Tamura.

        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::setValue):

2011-11-06  Dominic Cooney  <dominicc@chromium.org>

        Remove initBeforeLoadEvent method
        https://bugs.webkit.org/show_bug.cgi?id=71636

        Reviewed by Adam Barth.

        Test: fast/dom/Window/window-properties.html

        * dom/BeforeLoadEvent.h:
        * dom/BeforeLoadEvent.idl:

2011-11-06  Adam Barth  <abarth@webkit.org>

        Don't crash when a context hasn't been created.  This fixed a
        testing-only crash on the bots in the Chromium port.

        * testing/v8/WebCoreTestSupport.cpp:
        (WebCoreTestSupport::resetInternalsObject):

2011-11-06  Darin Adler  <darin@apple.com>

        Leaks seen in RenderFlowThread::setRegionRangeForBox on Leaks bot
        https://bugs.webkit.org/show_bug.cgi?id=71260

        Reviewed by Mark Rowe.

        Memory leak fix covered by existing tests.

        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
        Instead of calling remove, call take and then delete, since the
        values of the map are owned and need to be deleted when removed.

2011-11-06  Adam Barth  <abarth@webkit.org>

        Implement the sandbox directive for CSP
        https://bugs.webkit.org/show_bug.cgi?id=71604

        Reviewed by Sam Weinig.

        At TPAC, Microsoft was pushing pretty hard to add the sandbox directive
        to CSP.  There's a question about whether it's going to be in CSP 1.0
        or CSP 1.1, but it seems to be clearly headed into the spec.

        This patch implements the sandbox directive for CSP.  It's built on the
        same machinery we use for the sandbox attribute for iframe.  Now that
        I've done the implementation, I'm going to write up some concrete text
        for the spec.

        Tests: http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-subframe.html
               http/tests/security/contentSecurityPolicy/sandbox-allow-scripts.html
               http/tests/security/contentSecurityPolicy/sandbox-empty-subframe.html
               http/tests/security/contentSecurityPolicy/sandbox-empty.html

        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
        (WebCore::ContentSecurityPolicy::applySandboxPolicy):
        (WebCore::ContentSecurityPolicy::addDirective):
        * page/ContentSecurityPolicy.h:

2011-11-03  Filip Pizlo  <fpizlo@apple.com>

        JSC should be able to sample itself in a more flexible way than just sampling flags
        https://bugs.webkit.org/show_bug.cgi?id=71522

        Reviewed by Gavin Barraclough.

        No new tests, since no functionality changed.

        * ForwardingHeaders/wtf/Spectrum.h: Added.

2011-11-06  Nikita Vasilyev  <me@elv1s.ru>

        Web Inspector: Unindent edited text by pressing Shift + Tab
        https://bugs.webkit.org/show_bug.cgi?id=70181

        Indent and unindent text in all selected lines.

        Reviewed by Pavel Feldman.

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextEditorMainPanel.prototype.unindentLines.get var):
        (WebInspector.TextEditorMainPanel.prototype.unindentLines):

2011-11-05  Martin Robinson  <mrobinson@igalia.com>

        Remove ContextShadow
        https://bugs.webkit.org/show_bug.cgi?id=71617

        Reviewed by Ariya Hidayat.

        No new tests. This patch does not change behavior.

        Completely remove ContextShadow. It's unused, unmaintained, and
        replaced by ShadowBlur.

        * WebCore.gypi: Remove references to deleted files.
        * WebCore.vcproj/WebCore.vcproj: Remove references to deleted files.
        * platform/graphics/ContextShadow.cpp: Removed.
        * platform/graphics/ContextShadow.h: Removed.
        * platform/gtk/WidgetRenderingContext.cpp: Remove now-inaccurate TODO.

2011-11-04  Jon Lee  <jonlee@apple.com>

        Dragging a file onto <input type="file"> should give distinct visual feedback
        https://bugs.webkit.org/show_bug.cgi?id=13897
        <rdar://problem/5232483>

        Reviewed by Dan Bernstein.

        When hovering over a file input element, we set the button's state to active
        to differentiate dragging one file over the input element (which populates that
        element) versus over the document (which would load the file into the view).

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::HTMLInputElement):
        (WebCore::HTMLInputElement::canReceiveDroppedFiles):
        (WebCore::HTMLInputElement::setCanReceiveDroppedFiles): If set, the element
        is updated, which sets the active state on the button control.
        * html/HTMLInputElement.h: Add a boolean member representing whether the file
        input can receive dropped files.
        * page/DragController.cpp:
        (WebCore::DragController::DragController): Update/set the file input that
        can receive dropped files.
        (WebCore::DragController::dragExited):
        (WebCore::DragController::tryDocumentDrag):
        (WebCore::DragController::concludeEditDrag):
        * page/DragController.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::updateFromElement): Sets the button active
        state if the input can receive dropped files.

2011-11-05  Darin Adler  <darin@apple.com>

        Improve pending resource hash table code, including fixing a memory leak
        https://bugs.webkit.org/show_bug.cgi?id=71616

        Reviewed by Adam Roben.

        Memory leak fix and refactoring covered by existing tests.

        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::addPendingResource): Replace the combination
        of contains, get, and add with just add, removing an extra unneeded hash table
        lookup each time this function is called.
        (WebCore::SVGDocumentExtensions::isElementInPendingResources): Added a comment
        about the performance of this function. Removed unnecessary check for an empty
        map; the code already efficiently exits doing nothing without the check.
        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): Removed
        unnecessary check for an empty map; the code already efficiently does nothing
        without the check. Use removePendingResource rather than calling remove to
        avoid leaking the SVGPendingElements set.
        (WebCore::SVGDocumentExtensions::removePendingResource): Replace the
        combination of get and remove with a call to take, removing an extra
        unneeded hash table lookup each time this function is called

2011-11-05  Dan Winship  <danw@gnome.org>

        [GTK] Actually use the user_data arguments to gio async functions
        instead of using g_object_set_data() to basically reinvent them.
        https://bugs.webkit.org/show_bug.cgi?id=71614

        Reviewed by Martin Robinson.

        No new tests; behavior is unchanged

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::cleanupSoupRequestOperation):
        (WebCore::sendRequestCallback):
        (WebCore::startHTTPRequest):
        (WebCore::ResourceHandle::platformSetDefersLoading):
        (WebCore::closeCallback):
        (WebCore::readCallback):
        (WebCore::startNonHTTPRequest):

2011-11-05  Dan Winship  <danw@gnome.org>

        [GTK] Don't unnecessarily 0-initialize read buffers.
        https://bugs.webkit.org/show_bug.cgi?id=71612

        Reviewed by Martin Robinson.

        No new tests; behavior is unchanged

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::sendRequestCallback):

2011-11-05  Dan Winship  <danw@gnome.org>

        [GTK] Remove a bit of dead code
        https://bugs.webkit.org/show_bug.cgi?id=71613

        Reviewed by Martin Robinson.

        No new tests; behavior is unchanged

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::readCallback): the caller that needed the convertToUTF16
        code was removed in r77408, but the code was accidentally left
        behind.

2011-11-05  Adam Barth  <abarth@webkit.org>

        Refactor sandbox flag calculation to make implementing CSP sandbox directive easier
        https://bugs.webkit.org/show_bug.cgi?id=71603

        Reviewed by Sam Weinig.

        This patch changes the way we compute sandbox bits.  Instead of caching
        the result on Frame, we always compute the sandbox bits for a new
        document fresh from the inputs to the process (the sandbox attribute
        and the forced sandbox flags).

        This patch is just refactoring.  It shouldn't have an observable
        effects.  This patch makes it easier to implement CSP's sandbox
        directive in a subsequent patch.

        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext):
        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::init):
        (WebCore::FrameLoader::effectiveSandboxFlags):
        (WebCore::createWindow):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::forceSandboxFlags):

2011-11-05  Andreas Kling  <kling@webkit.org>

        CSSStyleDeclaration: Devirtualize isMutableStyleDeclaration().
        https://bugs.webkit.org/show_bug.cgi?id=71609

        Reviewed by Anders Carlsson.

        Add a bool member to CSSStyleDeclaration that determines whether
        it's a CSSMutableDeclaration.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        * css/CSSMutableStyleDeclaration.h:
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
        * css/CSSStyleDeclaration.h:
        (WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):

2011-11-05  Andreas Kling  <kling@webkit.org>

        Web Inspector: Simplify InspectorCSSAgent::inlineStyleElement().
        https://bugs.webkit.org/show_bug.cgi?id=71608

        Reviewed by Pavel Feldman.

        Use CSSMutableStyleDeclaration::isInlineStyleDeclaration() instead
        of doing the same checks manually.

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::inlineStyleElement):

2011-11-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        Removed duplicated npruntime_internal.h from bindings/v8
        in favour of the one from bridge/, which has a few more
        #undefs.

        https://bugs.webkit.org/show_bug.cgi?id=45617

        * bindings/v8/npruntime_internal.h: Removed.
        * Target.pri: Removed strange occurence here.

2011-11-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Remove empty and unused dom/PositionCreationFunctions.h header file
        https://bugs.webkit.org/show_bug.cgi?id=71552

        Reviewed by Kenneth Rohde Christiansen.

        The file is empty (0 bytes) and not used anywhere. It was added in
        2009 in r48234 but hasn't been touched since then.

        * WebCore.gypi:
        * dom/PositionCreationFunctions.h: Removed.

2011-11-04  Adam Barth  <abarth@webkit.org>

        Fix assert after running tests in dumpAsText folders.  See
        https://bugs.webkit.org/show_bug.cgi?id=71599 for discussion.  This
        patch reverts part of a slightly over-agressive refactoring in
        http://trac.webkit.org/changeset/99347.

        * dom/Document.cpp:
        (WebCore::Document::setIsViewSource):

2011-11-04  Ben Wells  <benwells@chromium.org>

        Canvas drawImage(canvas) with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
        https://bugs.webkit.org/show_bug.cgi?id=71537

        Reviewed by Stephen White.

        drawImage(canvas) now uses the same approach as drawImage(image) to fix these errors.

        Test: fast/canvas/canvas-composite-canvas.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::drawImageToContext):
        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
        * html/canvas/CanvasRenderingContext2D.h:

2011-11-04  Adam Barth  <abarth@webkit.org>

        JavaScript URLs execute in sandboxed iframes
        https://bugs.webkit.org/show_bug.cgi?id=71599

        Reviewed by Eric Seidel.

        This patch fixes the intentional regression I introduced earlier today
        by moving the sandbox bits from SecurityOrigin to Document. In the
        process, I renamed SecurityOrigin::createEmpty to
        SecurityOrigin::createUnique to better align with HTML5 terminology.

        * WebCore.exp.in:
        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::canExecuteScripts):
        * dom/Document.cpp:
        (WebCore::Document::setIsViewSource):
        (WebCore::Document::initSecurityContext):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::sandboxFlags):
        (WebCore::ScriptExecutionContext::enforceSandboxFlags):
        (WebCore::ScriptExecutionContext::isSandboxed):
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::canEmbedJava):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
        * loader/FrameLoader.cpp:
        (WebCore::isDocumentSandboxed):
        (WebCore::FrameLoader::addHTTPOriginIfNeeded):
        * loader/PolicyChecker.cpp:
        (WebCore::PolicyChecker::checkNewWindowPolicy):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::requestPlugin):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::create):
        (WebCore::SecurityOrigin::createUnique):
        * page/SecurityOrigin.h:

2011-11-04  Joseph Pecoraro  <pecoraro@apple.com>

        Potential Unused Param Build Issue
        https://bugs.webkit.org/show_bug.cgi?id=71598

        Reviewed by Kent Tamura.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::platformHandleKeydownEvent):

2011-11-04  Stephen Chenney  <schenney@chromium.org>

        Crash in ScrollAnimator.cpp
        https://bugs.webkit.org/show_bug.cgi?id=69865

        The code in ScrollAnimator assumes that horizontal per-page mouse
        wheel events cannot happen, which is not true. This patch adds layout
        tests for all paging wheel event situations and fixes the broken
        horizontal case.

        Reviewed by Anders Carlsson

        Tests: fast/events/platform-wheelevent-paging-x-in-non-scrolling-div.html
               fast/events/platform-wheelevent-paging-x-in-non-scrolling-page.html
               fast/events/platform-wheelevent-paging-x-in-scrolling-div.html
               fast/events/platform-wheelevent-paging-x-in-scrolling-page.html
               fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html
               fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html
               fast/events/platform-wheelevent-paging-y-in-non-scrolling-div.html
               fast/events/platform-wheelevent-paging-y-in-non-scrolling-page.html
               fast/events/platform-wheelevent-paging-y-in-scrolling-div.html
               fast/events/platform-wheelevent-paging-y-in-scrolling-page.html

        * platform/PlatformWheelEvent.h: Modify the comment to reflect the new
        reality.
        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::handleWheelEvent): Modified the code to handle the
        horizontal per-page wheel event case.

2011-11-04  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Refactor MutationObserverRegistration into its own class that is
        referenced by registration points

        https://bugs.webkit.org/show_bug.cgi?id=71577

        Reviewed by Ojan Vafai.

        MutationObserverRegistration is now owned by the node which is observed. If transient
        registrations are created, they hold a reference to this object.

        The ownership relationship between Node, MutationObserverRegistration &
        WebKitMutationObserver now goes like this: WebKitMutationObserver is RefCounted -
        and only script and MutationObserverRegistration take references to it. Exactly
        one MutationObserverRegistration can exist for any given tuple of
        <Node, WebKitMutationObserver>. This represents an observer observing at a given
        Node. Further observation by the same observer has the effect of *resetting*
        the existing observation. The Node owns the MutationObserverRegistration.
        Transient registrations are only pointers to the registration. The registration
        keeps a RefPtr to its registration node and all of its transient registration nodes
        as long as *any* transient registrations exist. This ensures the registration
        and all registration nodes stay alive at least until the end of the microtask.

        No tests required - refactor only.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/CharacterData.cpp:
        (WebCore::enqueueCharacterDataMutationRecord):
        * dom/ChildListMutationScope.cpp:
        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
        * dom/Element.cpp:
        (WebCore::enqueueAttributesMutationRecord):
        * dom/MutationObserverRegistration.cpp: Added.
        (WebCore::MutationObserverRegistration::create):
        (WebCore::MutationObserverRegistration::MutationObserverRegistration):
        (WebCore::MutationObserverRegistration::~MutationObserverRegistration):
        (WebCore::MutationObserverRegistration::resetObservation):
        (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
        (WebCore::MutationObserverRegistration::clearTransientRegistrations):
        (WebCore::MutationObserverRegistration::unregister):
        (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
        * dom/MutationObserverRegistration.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.
        (WebCore::MutationObserverRegistration::observer):
        (WebCore::MutationObserverRegistration::deliveryOptions):
        * dom/Node.cpp:
        (WebCore::Node::clearRareData):
        (WebCore::Node::mutationObserverRegistry):
        (WebCore::Node::transientMutationObserverRegistry):
        (WebCore::addObserverToDeliverySet):
        (WebCore::Node::collectMatchingObserversForMutation):
        (WebCore::Node::getRegisteredMutationObserversOfType):
        (WebCore::Node::registerMutationObserver):
        (WebCore::Node::unregisterMutationObserver):
        (WebCore::Node::registerTransientMutationObserver):
        (WebCore::Node::unregisterTransientMutationObserver):
        (WebCore::Node::notifyMutationObserversNodeWillDetach):
        * dom/Node.h:
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::mutationObserverRegistry):
        (WebCore::NodeRareData::ensureMutationObserverRegistry):
        (WebCore::NodeRareData::transientMutationObserverRegistry):
        (WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::~WebKitMutationObserver):
        (WebCore::WebKitMutationObserver::observe):
        (WebCore::WebKitMutationObserver::disconnect):
        (WebCore::WebKitMutationObserver::observationStarted):
        (WebCore::WebKitMutationObserver::observationEnded):
        (WebCore::WebKitMutationObserver::deliver):
        * dom/WebKitMutationObserver.h:

2011-11-04  Raymond Toy  <rtoy@google.com>

       Add methods to compute magnitude and phase response for biquads
       https://bugs.webkit.org/show_bug.cgi?id=71055

       Reviewed by Kenneth Russell.


        * platform/audio/Biquad.cpp:
        (WebCore::Biquad::getFrequencyResponse):
        Computes the magnitude and phase (radians) response for the given
        biquad at the specified set of (normalized) frequencies.
        * platform/audio/Biquad.h:
        Declare getFrequencyResponse.
        * webaudio/BiquadDSPKernel.cpp:
        (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
        Factor out the code that updates filter coefficients.  Allow the
        caller to specify whether the smoothed values are used or not and
        whether we do the update even if the coefficients are not dirty.
        (WebCore::BiquadDSPKernel::process):
        Use updateCoefficientsIfNecessary to update.
        (WebCore::BiquadDSPKernel::getFrequencyResponse):
        Implmentation of getFrequencyResponse.
        * webaudio/BiquadDSPKernel.h:
        Declare getFrequencyResponse.
        * webaudio/BiquadFilterNode.cpp:
        (WebCore::BiquadFilterNode::getFrequencyResponse):
        Implementation of getFrequencyResponse
        * webaudio/BiquadFilterNode.h:
        Declare getFrequencyResponse.
        * webaudio/BiquadFilterNode.idl:
        Define interface to getFrequencyResponse.
        * webaudio/BiquadProcessor.cpp:
        (WebCore::BiquadProcessor::checkForDirtyCoefficients):
        Factor out code for checking for dirty coefficients.
        (WebCore::BiquadProcessor::process):
        Use checkForDirtyCoefficients.
        (WebCore::BiquadProcessor::getFrequencyResponse):
        Implementation of getFrequencyResponse
        * webaudio/BiquadProcessor.h:
        Declare getFrequencyResponse.

2011-11-04  Benjamin Poulain  <bpoulain@apple.com>

        [Mac] ResourceRequest's nsURLRequest() does not differentiate null and empty URLs with CFNetwork
        https://bugs.webkit.org/show_bug.cgi?id=71539

        Reviewed by David Kilzer.

        In order to have CFURL and NSURL to be consistent when both are used on Mac,
        KURL::createCFURL() is changed to support empty URL values.

        * platform/cf/KURLCFNet.cpp:
        (WebCore::createCFURLFromBuffer):
        (WebCore::KURL::createCFURL):
        * platform/mac/KURLMac.mm:
        (WebCore::KURL::operator NSURL *):
        (WebCore::KURL::createCFURL):

2011-11-04  Fady Samuel  <fsamuel@chromium.org>

        CSS Aspect Ratio Property Parsing Stage
        https://bugs.webkit.org/show_bug.cgi?id=70707

        Reviewed by Ojan Vafai.

        Added parsing support for -webkit-aspect-ratio CSS property.
        The spec can be found here: http://www.xanthir.com/blog/b4810

        Test: fast/css/aspect-ratio-parsing-tests.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSAspectRatioValue.cpp: Added.
        (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
        (WebCore::CSSAspectRatioValue::cssText):
        * css/CSSAspectRatioValue.h: Added.
        (WebCore::CSSAspectRatioValue::create):
        (WebCore::CSSAspectRatioValue::numeratorValue):
        (WebCore::CSSAspectRatioValue::denominatorValue):
        (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSMutableStyleDeclaration.cpp:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseAspectRatio):
        * css/CSSParser.h:
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-11-04  Adam Barth  <abarth@webkit.org>

        Delete FrameLoader::isSandboxed
        https://bugs.webkit.org/show_bug.cgi?id=71591

        Reviewed by Eric Seidel.

        We should always use document->securityOrigin()->isSandboxed because
        that picks up the sandbox bits that are frozen on the document rather
        than the ones that could change on the Frame.

        This patch starts preparing us to implement the CSP sandbox directive,
        which will cause use to have document sandbox bits without any attribute.

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::canExecuteScripts):
            - This call site was the only functional site left where these two
              could be different. This patch causes one progression and one
              regression. The progression is that we now correctly freeze the
              allow-scripts bit when a document is created, but the regression
              is we now allow the execution of JavaScript URLs, as noted in 
              fast/frames/sandboxed-iframe-scripting.html. That's even more of
              an edge case, so I think it's a win overall.
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
            - I don't think this part of the change is testable. There's no
              time to execute script between when the bits get copied off the
              Frame and when they're checked, so there's no time to change them.
        * loader/FrameLoader.cpp:
            - Update FIXME comment that is now fixed.
        * loader/FrameLoader.h:
            - Remove wrong API.

2011-11-04  Adam Barth  <abarth@webkit.org>

        When CSP blocks mixed content, we shouldn't also warn about mixed content
        https://bugs.webkit.org/show_bug.cgi?id=71588

        Reviewed by Eric Seidel.

        Getting both warnings confused some early adopters.  They thought the
        insecure loads were happening even though they blocked them with CSP.
        This patch restricts the mixed content warnings to show only when the
        load isn't already blocked by CSP or by the embedder.

        Test: http/tests/security/contentSecurityPolicy/block-mixed-content-hides-warning.html

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::canRequest):

2011-11-04  Michael Nordman  <michaeln@google.coom>

        Allow ScriptExecutionContext::addMessage to be called from background threads.
        https://bugs.webkit.org/show_bug.cgi?id=71575

        Reviewed by Nate Chapin.

        No new tests.

        * dom/Document.cpp:
        (WebCore::Document::addMessage):
        * dom/ScriptExecutionContext.cpp:
        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
        (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
        (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::addMessage):

2011-11-04  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Re-named the original scissorRect to clipRect
        https://bugs.webkit.org/show_bug.cgi?id=71580

        Reviewed by James Robinson.

        Existing tests are updated appropriately; and no new behavior is
        introduced by this patch.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setUsesLayerClipping):
        (WebCore::LayerChromium::usesLayerClipping):
        (WebCore::LayerChromium::clipRect):
        (WebCore::LayerChromium::setClipRect):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersInternal):
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::clipRect):
        (WebCore::RenderSurfaceChromium::setClipRect):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::setUsesLayerClipping):
        (WebCore::CCLayerImpl::usesLayerClipping):
        (WebCore::CCLayerImpl::clipRect):
        (WebCore::CCLayerImpl::setClipRect):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::updateLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::layerShouldBeSkipped):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
        (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
        (WebCore::CCRenderSurface::draw):
        * platform/graphics/chromium/cc/CCRenderSurface.h:
        (WebCore::CCRenderSurface::setClipRect):
        (WebCore::CCRenderSurface::clipRect):

2011-11-04  Dmitry Lomov  <dslomov@google.com>

        Add the ability to transfer ArrayBuffer and "neuter" it.
        https://bugs.webkit.org/show_bug.cgi?id=71535

        Reviewed by David Levin.

        * html/canvas/ArrayBuffer.cpp:
        (WebCore::ArrayBuffer::create):
        (WebCore::ArrayBuffer::ArrayBuffer):
        (WebCore::ArrayBuffer::data):
        (WebCore::ArrayBuffer::byteLength):
        (WebCore::ArrayBuffer::transfer):
        (WebCore::ArrayBufferContents::~ArrayBufferContents):
        (WebCore::ArrayBufferContents::tryAllocate):
        (WebCore::ArrayBuffer::addView):
        (WebCore::ArrayBuffer::removeView):
        * html/canvas/ArrayBuffer.h:
        (WebCore::ArrayBufferContents::ArrayBufferContents):
        (WebCore::ArrayBufferContents::data):
        (WebCore::ArrayBufferContents::sizeInBytes):
        (WebCore::ArrayBufferContents::release):
        (WebCore::ArrayBuffer::~ArrayBuffer):
        * html/canvas/ArrayBufferView.cpp:
        (WebCore::ArrayBufferView::ArrayBufferView):
        (WebCore::ArrayBufferView::~ArrayBufferView):
        (WebCore::ArrayBufferView::neuter):
        * html/canvas/ArrayBufferView.h:
        * html/canvas/DataView.cpp:
        (WebCore::DataView::neuter):
        (WebCore::DataView::neuterBinding):
        * html/canvas/DataView.h:
        * html/canvas/TypedArrayBase.h:
        (WebCore::TypedArrayBase::neuter):
        (WebCore::TypedArrayBase::neuterBinding):

2011-11-04  Noel Gordon  <noel.gordon@gmail.com>

        [Chromium] Implement canvas.toDataURL("image/webp")
        https://bugs.webkit.org/show_bug.cgi?id=70172

        Reviewed by Adam Barth.

        Add a webp image encoder for the chromium skia ports, add it to the canvas
        element toDataURL() flow with support for an optional quality [0.0-1.0].
        Use a webp compression method (3) that provides good speed and compression
        performance for this image format, and works well for various input image
        types: line-art, screen-shots, and photographic images.

        Test: fast/canvas/canvas-toDataURL-webp.html

        * WebCore.gypi:
        * platform/chromium/MIMETypeRegistryChromium.cpp:
        (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageToDataURL):
        * platform/image-encoders/skia/WEBPImageEncoder.cpp: Added.
        (WebCore::writeOutput):
        (WebCore::importPicture):
        (WebCore::importPictureBGRA):
        (WebCore::importPictureRGBA):
        (WebCore::encodePixels):
        (WebCore::WEBPImageEncoder::encode):
        * platform/image-encoders/skia/WEBPImageEncoder.h: Added.

2011-11-04  Patrick Gansterer  <paroga@webkit.org>

        [Qt] Remove ENABLE_SQLITE from qmake files
        https://bugs.webkit.org/show_bug.cgi?id=71546

        Reviewed by Simon Hausmann.

        ENABLE_SQLITE is required to build WebCore, so remove conditions.

        * Target.pri:

2011-11-04  Nate Chapin  <japhet@chromium.org>

        [V8] Null out V8NPObject::rootObject when the owning
        Frame goes away.
        https://bugs.webkit.org/show_bug.cgi?id=71569

        Reviewed by Adam Barth.

        No new tests, this has only been successfully triggered
        using ppapi flash.

        * bindings/v8/V8Helpers.cpp:
        (WebCore::toV8Context):
        * bindings/v8/npruntime.cpp:

2011-11-04  Vineet Chaudhary  <vineet.chaudhary@motorola.com>

        Send the submissions character encoding in hidden _charset_ field.
        https://bugs.webkit.org/show_bug.cgi?id=19079

        Reviewed by Darin Adler.

        Spec reference http://dev.w3.org/html5/spec/Overview.html#attr-fe-name-charset
        If _charset_ used as the name of a hidden control it should send character encoding
        as value while submissions.

        Tests: http/tests/misc/char-encoding-in-hidden-charset-field-default.html
               http/tests/misc/char-encoding-in-hidden-charset-field-with-Big5.html
               http/tests/misc/char-encoding-in-hidden-charset-field-with-EUC-JP.html
               http/tests/misc/char-encoding-in-hidden-charset-field-with-ISO-2022-JP.html
               http/tests/misc/char-encoding-in-hidden-charset-field-with-Shift_JIS.html
               http/tests/misc/char-encoding-in-hidden-charset-field-with-accept-charset.html
               http/tests/misc/char-encoding-in-hidden-charset-field-with-get-method.html
               http/tests/misc/char-encoding-in-hidden-charset-field-with-one-field.html
               http/tests/misc/char-encoding-in-text-charset-field-with-value.html
               http/tests/misc/char-encoding-without-charset-field.html

        * html/HiddenInputType.cpp:
        (WebCore::HiddenInputType::isHiddenType):
        (WebCore::HiddenInputType::appendFormData): For _charset_ send value as respective encodingType.
        * html/HiddenInputType.h: Override appendFormData for hidden control types.

2011-11-04  Robert Sesek  <rsesek@chromium.org>

        [chromium] Use Chromium's copy of libWebKitSystemInterfaceLeopard.a
        https://bugs.webkit.org/show_bug.cgi?id=71563

        Reviewed by Adam Barth.

        Use libWebKitSystemInterfaceLeopard.a that's in the Chromium port,
        rather in WebKitLibraries/.

        * WebCore.gyp/WebCore.gyp:

2011-11-04  Julien Chaffraix  <jchaffraix@webkit.org>

        RenderLayer::styleChanged invalidates the GraphicsLayer needlessly
        https://bugs.webkit.org/show_bug.cgi?id=71517

        Reviewed by Simon Fraser.

        Unused code removal covered by existing tests.

        The current code is invalidating the whole RenderLayerBacking as part of
        a style change. However this is redundant with the repainting logic which
        would invalidate only the necessary bits.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::styleChanged):
        Remove the invalidation code as it duplicates and defeats the repaint logic.

2011-11-04  Mihnea Ovidenie  <mihnea@adobe.com>

        Correct parsing of incomplete @-webkit-region rules.
        https://bugs.webkit.org/show_bug.cgi?id=71514

        Reviewed by Adam Barth.

        Test: fast/regions/parse-incomplete-region-rule.html

        Make sure to set the region rule to 0 on the fail branch.
        * css/CSSGrammar.y:

2011-11-04  Adam Klein  <adamk@chromium.org>

        Reduce refcount churn in ChildListMutationScope
        https://bugs.webkit.org/show_bug.cgi?id=71527

        Reviewed by Ryosuke Niwa.

        Only the ChildListMutationAccumulator needs to hold a reference to the
        target node, and the added/removed children only need be ref'd if a
        ChildListMutationAccumulator exists (i.e., if there are interested
        observers).

        * dom/ChildListMutationScope.cpp:
        (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
        (WebCore::ChildListMutationScope::ChildListMutationScope):
        (WebCore::ChildListMutationScope::~ChildListMutationScope):
        (WebCore::ChildListMutationScope::childAdded):
        (WebCore::ChildListMutationScope::willRemoveChild):
        * dom/ChildListMutationScope.h:
        * dom/ContainerNode.cpp:
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):

2011-11-04  Levi Weintraub  <leviw@chromium.org>

        Correct usage of LayoutUnits in RenderImage and SVGImage
        https://bugs.webkit.org/show_bug.cgi?id=71525

        Reviewed by Darin Adler.

        Correcting incorrect usage of LayoutUnits for image sizes that should be integers and fixing overloaded functions that
        should be using LayoutUnits.

        No new tests -- no change in behavior.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageDimensionsChanged):
        (WebCore::RenderImage::paintIntoRect):
        (WebCore::RenderImage::nodeAtPoint):
        (WebCore::RenderImage::computeReplacedLogicalWidth):
        * rendering/RenderImage.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):

2011-11-04  Adam Barth  <abarth@webkit.org>

        Implement allow-popups for iframe@sandbox
        https://bugs.webkit.org/show_bug.cgi?id=66505

        Reviewed by Darin Adler.

        Enable allow-popups sandbox bit.  My previous patch attempted to
        forward the sandbox bits during setOpener, but that interacted poorly
        with out (internal) sandboxing of the initial document.  This patch
        forwards the bits during createWindow, which is more targeted to the
        case when a sandbox frame actually creates a new window.

        * loader/FrameLoader.cpp:
        (WebCore::createWindow):
        * loader/PolicyChecker.cpp:
        (WebCore::PolicyChecker::checkNewWindowPolicy):

2011-11-04  Kaustubh Atrawalkar  <kaustubh@motorola.com>

        Remove initMediaStreamEvent method
        https://bugs.webkit.org/show_bug.cgi?id=71344

        This method has been removed from the spec draft.
        http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastreamevent

        Reviewed by Adam Barth.

        No new tests. Removed method.

        * mediastream/MediaStreamEvent.cpp:
        * mediastream/MediaStreamEvent.h:
        * mediastream/MediaStreamEvent.idl:

2011-11-04  Adam Barth  <abarth@webkit.org>

        Anonymous CORS fetch for WebGL texture fails when there is no appropriate server response even for the same origin requests
        https://bugs.webkit.org/show_bug.cgi?id=71053

        Reviewed by Darin Adler.

        The crossorigin attribute should behave like XMLHttpRequest:
        same-origin images pass without and CORS headers, but CORS checks are
        performed for cross-origin loads.  This patch better aligns our
        behavior with Firefox, as discussed in the bug.

        Test: http/tests/security/img-crossorigin-loads-same-origin.html

        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::notifyFinished):

2011-11-04  Gaurav Shah  <gauravsh@chromium.org>

        HTMLKeygenElement: Fix "keytype" handling in appendFormData.
        https://bugs.webkit.org/show_bug.cgi?id=70617

        This fixes a bug introduced by http://trac.webkit.org/changeset/97658
        which causes all HTML Keygen elements with a keytype optional attribute
        to be considered as unsupported.

        A regression test is included.

        Reviewed by Darin Adler.

        Test: http/tests/misc/submit-post-keygen.html

        * html/HTMLKeygenElement.cpp:

2011-11-03  Adrienne Walker  <enne@google.com>

        [chromium] Implement checkerboarding for missing layer tiles
        https://bugs.webkit.org/show_bug.cgi?id=69585

        Reviewed by James Robinson.

        For tiles that have no texture or haven't even been created yet,
        draw using the background color of the layer.

        The only background color set is currently the non-composited content,
        and all other layers use transparent black by default.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/NonCompositedContentHost.cpp:
        (WebCore::NonCompositedContentHost::setBackgroundColor):
        * platform/graphics/chromium/NonCompositedContentHost.h:
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::setBackgroundColor):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::backgroundColor):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::drawTiles):

2011-11-04  Nico Weber  <thakis@chromium.org>

        [chromium] Remove most exit time destructors
        https://bugs.webkit.org/show_bug.cgi?id=71524

        Do this by using the DEFINE_STATIC_LOCAL macro, which allocates things on the heaps and then leaks them.

        Reviewed by Dimitri Glazkov.

        No behavior change, so no new tests.

        * platform/chromium/CursorChromium.cpp:
        (WebCore::pointerCursor):
        (WebCore::crossCursor):
        (WebCore::handCursor):
        (WebCore::iBeamCursor):
        (WebCore::waitCursor):
        (WebCore::helpCursor):
        (WebCore::eastResizeCursor):
        (WebCore::northResizeCursor):
        (WebCore::northEastResizeCursor):
        (WebCore::northWestResizeCursor):
        (WebCore::southResizeCursor):
        (WebCore::southEastResizeCursor):
        (WebCore::southWestResizeCursor):
        (WebCore::westResizeCursor):
        (WebCore::northSouthResizeCursor):
        (WebCore::eastWestResizeCursor):
        (WebCore::northEastSouthWestResizeCursor):
        (WebCore::northWestSouthEastResizeCursor):
        (WebCore::columnResizeCursor):
        (WebCore::rowResizeCursor):
        (WebCore::middlePanningCursor):
        (WebCore::eastPanningCursor):
        (WebCore::northPanningCursor):
        (WebCore::northEastPanningCursor):
        (WebCore::northWestPanningCursor):
        (WebCore::southPanningCursor):
        (WebCore::southEastPanningCursor):
        (WebCore::southWestPanningCursor):
        (WebCore::westPanningCursor):
        (WebCore::moveCursor):
        (WebCore::verticalTextCursor):
        (WebCore::cellCursor):
        (WebCore::contextMenuCursor):
        (WebCore::aliasCursor):
        (WebCore::progressCursor):
        (WebCore::noDropCursor):
        (WebCore::copyCursor):
        (WebCore::noneCursor):
        (WebCore::notAllowedCursor):
        (WebCore::zoomInCursor):
        (WebCore::zoomOutCursor):
        (WebCore::grabCursor):
        (WebCore::grabbingCursor):
        * platform/chromium/LanguageChromium.cpp:
        (WebCore::platformDefaultLanguage):
        * platform/chromium/MIMETypeRegistryChromium.cpp:
        (WebCore::dummyHashSet):

2011-11-03  Anders Carlsson  <andersca@apple.com>

        Add NetscapePlugin::convertFromRootView
        https://bugs.webkit.org/show_bug.cgi?id=71526

        Reviewed by Sam Weinig.

        Export some symbols that WebKit2 needs.

        * WebCore.exp.in:

2011-11-03  Adrienne Walker  <enne@google.com>

        [chromium] Fix incorrect visibility/scissor rect for threaded compositing
        https://bugs.webkit.org/show_bug.cgi?id=70962

        Reviewed by James Robinson.

        In order to properly scroll independent of layout on the compositor
        thread, we have to apply the scroll to the right layer. Previously,
        the NonCompositedContentHost was the root of the graphics layer tree
        with all other layers underneath it. However, applying a scroll to
        that layer would also scroll the clip layer for the main frame
        underneath it, causing visibility issues.

        This patch moves the NonCompositedHost to be a child of the
        RenderLayerCompositor's scroll layer. This was exposed on
        RenderLayerCompositor, because there's no other way to get to this
        layer in a way that doesn't make assumptions about the structure of
        the layers on a frame.

        This also removes the hacks in calculateVisibleLayerRect and
        tilingTransform for scroll position.

        Partially tested by existing compositor tests. Manually tested
        threaded compositing scrolling.

        * platform/graphics/chromium/NonCompositedContentHost.cpp:
        (WebCore::NonCompositedContentHost::setScrollLayer):
        (WebCore::NonCompositedContentHost::setViewport):
        (WebCore::NonCompositedContentHost::scrollLayer):
        * platform/graphics/chromium/NonCompositedContentHost.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::create):
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::applyScrollDeltas):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCLayerTreeHost::setRootLayer):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
        (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::findScrollLayer):
        (WebCore::CCLayerTreeHostImpl::setRootLayer):
        (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
        (WebCore::CCTiledLayerImpl::tilingTransform):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::scrollLayer):
        * rendering/RenderLayerCompositor.h:

2011-11-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Refactor and clean up the qmake build system

        The qmake build system has accumulated a bit of cruft and redundancy
        over time. There's also a fairly tight coupling between how to build
        the various targets, and _what_ to build, making it harder to add new
        rules or sources. This patch aims to elevate these issues somewhat.

        This is a short-list of the changes:

          * The rules for how to build targets are now mostly contained as
            prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
            allows us to do pre- and post-processing of each project file,
            which helps to clean up the actual project files.

          * Derived sources are no longer generated as a separate make-step
            but is part of each target's project file as a subdir. Makefile
            rules are used to ensure that we run make on the derived sources
            before running qmake on the actual target makefile. This makes
            it easier to keep a proper dependency between derived sources
            and the target.

          * We use GNU make and the compiler to generate dependencies on
            UNIX-based systems running Qt 5. This allows us to lessen the
            need to run qmake, which should reduce compile time.

          * WebKit2 is now build by default if building with Qt 5. It can
            be disabled by passing --no-webkit2 to build-webkit.

        The result of these changes are hopefully a cleaner and easier
        build system to modify, and faster build times due to no longer
        running qmake on every single build. It's also a first step
        towards possibly generating the list of sources using another
        build system.

        https://bugs.webkit.org/show_bug.cgi?id=71222

        Reviewed by Simon Hausmann.

        * DerivedSources.pri: Renamed from Source/WebCore/CodeGenerators.pri.
        * DerivedSources.pro: Removed.
        * Target.pri: Copied from Source/WebCore/WebCore.pro.
        * WebCore.pro:

2011-11-04  Tommy Widenflycht  <tommyw@google.com>

        [chromium] MediaStream API: Fixing wrong path for PeerConnectionHandler.h in WebCore.gyp
        https://bugs.webkit.org/show_bug.cgi?id=71548

        Reviewed by Tony Gentilcore.

        * WebCore.gypi:

2011-11-04  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed CMake build fix for !ENABLE(SQL_DATABASE).

        * CMakeLists.txt: Always compile the SQLite source files, since they are required for build.

2011-11-03  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION (r99076): Pasting into password fields is broken
        https://bugs.webkit.org/show_bug.cgi?id=71483

        Reviewed by Darin Adler.

        The bug was caused by plainText serializing secured (instead of original) text.
        Fixed the bug by adding new TextIterator behavior that serializes the original text
        and using it in ReplacementFragment::ReplacementFragment.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator):
        (WebCore::TextIterator::emitText):
        * editing/TextIterator.h:

2011-11-03  Eric Carlson  <eric.carlson@apple.com>

        Add TrackEvent
        https://bugs.webkit.org/show_bug.cgi?id=71178

        Reviewed by Sam Weinig.

        Test: fast/events/constructors/track-event-constructor.html

        * CMakeLists.txt: Add new files for TrackEvent.
        * CodeGenerators.pri: Ditto.
        * DerivedSources.cpp: Ditto.
        * DerivedSources.make: Ditto.
        * GNUmakefile.am: Ditto.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/generic/EventConstructors.h: Ditto.
        * bindings/gobject/GNUmakefile.am: Ditto.
        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.

        * bindings/js/JSDictionary.cpp:
        (WebCore::JSDictionary::convertValue): Add method to convert to a Track.
        * bindings/js/JSDictionary.h:

        * bindings/js/JSEventConstructors.cpp:  Add new files for TrackEvent.

        * bindings/js/JSTrackCustom.cpp: Added. 
        (WebCore::toTrack): New, convert from a JSValue to a Track.
        (WebCore::toJS): New, return a JS wrapper for a Track.
        * bindings/js/JSTrackCustom.h: Added.

        * bindings/js/JSTrackEventCustom.cpp: Added.
        (WebCore::JSTrackEvent::track): New, returns a TextEvent's 'track' attribute.

        * bindings/v8/OptionsObject.cpp:
        (WebCore::OptionsObject::get): Returns RefPtr<TrackBase>.

        * bindings/v8/custom/V8EventConstructors.cpp: Add Track initializing constructor.

        * bindings/v8/custom/V8TrackEventCustom.cpp: Added.
        (WebCore::V8TrackEvent::trackAccessorGetter): New, returns a TextEvent's 'track' attribute.

        * dom/EventFactory.in: Add TrackEvent.

        * dom/EventNames.h: Add 'addtrack' event.

        * html/TextTrack.cpp:
        (WebCore::TextTrack::TextTrack): Call new base class constructor.
        * html/TextTrack.h: Now derive from BaseTrack for the day we implement VideoTrack and AudioTrack.

        * html/track/TrackBase.cpp: Added.
        (WebCore::TrackBase::TrackBase):
        (WebCore::TrackBase::~TrackBase):
        * html/track/TrackBase.h: Added.
        (WebCore::TrackBase::type): Return the track type.

        * html/track/TrackEvent.cpp: Added.
        (WebCore::TrackEventInit::TrackEventInit):
        (WebCore::TrackEvent::TrackEvent):
        (WebCore::TrackEvent::~TrackEvent):
        (WebCore::TrackEvent::interfaceName):
        * html/track/TrackEvent.h: Added.
        (WebCore::TrackEvent::create):
        (WebCore::TrackEvent::isTrackEvent):
        (WebCore::TrackEvent::track):
        * html/track/TrackEvent.idl: Added.

        * page/DOMWindow.idl: Add TrackEvent.

2011-11-03  Ben Wells  <benwells@chromium.org>

        Optimize canvas fills / drawImage when covering entire canvas
        https://bugs.webkit.org/show_bug.cgi?id=70789

        Reviewed by Stephen White.

        If we're filling a rect or drawing an image, and it covers the entire canvas, we don't
        need to worry about clearing outside the area updated by the operation if we're in
        a composite mode that requires this (such as source-in, copy, etc.). In this case we
        can take the simple path through the code and save a clear (for copy) or a temporary
        image buffer (for the other modes).

        No new tests - optimization, behaviour is unchanged and covered by existing tests.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fillRect):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::rectContainsCanvas):
        * html/canvas/CanvasRenderingContext2D.h:

2011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize JSObject::getPropertyNames
        https://bugs.webkit.org/show_bug.cgi?id=71306

        Reviewed by Darin Adler.

        No new tests.

        Added getPropertyNames to the MethodTable, changed all the virtual 
        implementations of getPropertyNames to static ones, and replaced 
        all call sites with corresponding lookups in the MethodTable.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getPropertyNames):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::getPropertyNames):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        * bridge/NP_jsobject.cpp:
        (_NPN_Enumerate):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariantMap):

2011-11-02  Xiaomei Ji  <xji@chromium.org>

        Enable ctrl-arrow move cursor by word in visual order in cr-win by command line flag.
        https://bugs.webkit.org/show_bug.cgi?id=71163

        Reviewed by Ryosuke Niwa.

        Add m_visualWordMovementEnabled page setting, trigger visual word movement
        function (instead of logical one) when it is set as true.

        right|leftWordPosition() are tested in editing/selection/move-by-word-visually*
        by using --webkit-visual-word flag.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::modifyMovingRight):
        (WebCore::FrameSelection::modifyMovingLeft):
        (WebCore::FrameSelection::visualWordMovementEnabled):
        * editing/FrameSelection.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setVisualWordMovementEnabled):
        (WebCore::Settings::visualWordMovementEnabled):

2011-11-03  Levi Weintraub  <leviw@chromium.org>

        Correct usage of LayoutUnits and integers in Table rendering classes
        https://bugs.webkit.org/show_bug.cgi?id=71500

        Reviewed by Darin Adler.

        Fixing the Table layout classes to operate on integers -- sub-pixel table layout breaks
        the spec. Meanwhile correcting the Table rendering classes themselves to still use
        LayoutUnits.

        No new tests -- no change in behavior.

        * rendering/AutoTableLayout.cpp: Reverting to operating on integers.
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
        (WebCore::AutoTableLayout::layout):
        * rendering/AutoTableLayout.h: Reverting to operating on integers.
        * rendering/FixedTableLayout.cpp: Ditto.
        (WebCore::FixedTableLayout::computePreferredLogicalWidths):
        (WebCore::FixedTableLayout::layout):
        * rendering/RenderTable.h: Switching to LayoutUnits.
        (WebCore::RenderTable::getColumnPos):
        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
        * rendering/RenderTableCell.cpp: Switching to LayoutUnits.
        (WebCore::RenderTableCell::updateLogicalWidth):
        (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
        (WebCore::RenderTableCell::computeRectForRepaint):
        (WebCore::RenderTableCell::cellBaselinePosition):
        (WebCore::RenderTableCell::scrollbarsChanged):
        * rendering/RenderTableCell.h: Switching to LayoutUnits
        * rendering/RenderTableSection.cpp: Ditto.
        (WebCore::RenderTableSection::setCellLogicalWidths):
        (WebCore::RenderTableSection::layoutRows):

2011-11-03  James Robinson  <jamesr@chromium.org>

        [chromium] Notify scheduler on SwapBuffers in threaded compositor mode
        https://bugs.webkit.org/show_bug.cgi?id=71381

        Reviewed by Kenneth Russell.

        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::didSwapBuffers):
        * platform/graphics/chromium/cc/CCScheduler.h:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):

2011-11-03  Daniel Bates  <dbates@rim.com>

        CMake: Add missing WebGL IDL file html/canvas/WebGLContextEvent.idl

        Rubber-stamped by Martin Robinson

        * CMakeLists.txt:

2011-11-03  Daniel Bates  <dbates@rim.com>

        CMake: Only generate from WebGL IDLs when building with WebGL
        https://bugs.webkit.org/show_bug.cgi?id=71516

        Reviewed by Martin Robinson.

        * CMakeLists.txt:

2011-11-03  Erik Arvidsson  <arv@chromium.org>

        Remove support for LegacyDefaultOptionalArguments
        https://bugs.webkit.org/show_bug.cgi?id=71489

        Reviewed by Darin Adler.

        This removes support for LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise].
        [RequiresAllArguments=Raise] is now the standard behavior so it would be a no op.

        No new tests. Covered by existing tests.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateArgumentsCountCheck): Check the "RequiresAllArguments" extended attribute and generate code
                                       that returns undefined if there are missing arguments.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateArgumentsCountCheck): Ditto.
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): Add generated argument count checks.
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): Ditto.
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs): Ditto.
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): Ditto.
        (WebCore::jsTestObjPrototypeFunctionSerializedValue): Ditto.
        (WebCore::jsTestObjPrototypeFunctionIdbKey): Ditto.
        (WebCore::jsTestObjPrototypeFunctionOptionsObject): Ditto.
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): Ditto.
        (WebCore::jsTestObjPrototypeFunctionAddEventListener): Ditto.
        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): Ditto.
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg): Ditto.
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg): Ditto.
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture): Ditto.
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD): Ditto.
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): Ditto.
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): Ditto.
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): Ditto.
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): Ditto.
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): Ditto.
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): Ditto.
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): Ditto.
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): Ditto.
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5): Ditto.
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6): Ditto.
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7): Ditto.
        * bindings/scripts/test/TestCallback.idl: Remove LegacyDefaultOptionalArguments.
        * bindings/scripts/test/TestMediaQueryListListener.idl: Ditto.
        * bindings/scripts/test/TestObj.idl: Remove LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise]
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Remove LegacyDefaultOptionalArguments.
        (WebCore::TestMediaQueryListListenerInternal::methodCallback): Add generated argument count checks.
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::voidMethodWithArgsCallback): Ditto.
        (WebCore::TestObjInternal::intMethodWithArgsCallback): Ditto.
        (WebCore::TestObjInternal::objMethodWithArgsCallback): Ditto.
        (WebCore::TestObjInternal::serializedValueCallback): Ditto.
        (WebCore::TestObjInternal::idbKeyCallback): Ditto.
        (WebCore::TestObjInternal::optionsObjectCallback): Ditto.
        (WebCore::TestObjInternal::customArgsAndExceptionCallback): Ditto.
        (WebCore::TestObjInternal::withDynamicFrameAndArgCallback): Ditto.
        (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback): Ditto.
        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback): Ditto.
        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback): Ditto.
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback): Ditto.
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback): Ditto.
        (WebCore::TestObjInternal::methodWithCallbackArgCallback): Ditto.
        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback): Ditto.
        (WebCore::TestObjInternal::overloadedMethod1Callback): Ditto.
        (WebCore::TestObjInternal::overloadedMethod2Callback): Ditto.
        (WebCore::TestObjInternal::overloadedMethod3Callback): Ditto.
        (WebCore::TestObjInternal::overloadedMethod4Callback): Ditto.
        (WebCore::TestObjInternal::overloadedMethod5Callback): Ditto.
        (WebCore::TestObjInternal::overloadedMethod6Callback): Ditto.
        (WebCore::TestObjInternal::overloadedMethod7Callback): Ditto.
        (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback): Ditto.
        (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback): Ditto.

2011-11-03  Darin Adler  <darin@apple.com>

        Change remaining callers of releaseRef to call leakRef
        https://bugs.webkit.org/show_bug.cgi?id=71422

        Reviewed by Darin Fisher.

        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject _setImp:originRootObject:rootObject:]):
        (-[WebScriptObject _setOriginRootObject:andRootObject:]):
        * bridge/NP_jsobject.cpp:
        (_NPN_CreateScriptObject):
        * dom/QualifiedName.cpp:
        (WebCore::QNameComponentsTranslator::translate):
        * history/PageCache.cpp:
        (WebCore::PageCache::add):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
        (WebCore::HTMLTableElement::addSharedGroupDecls):
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::createFrameAtIndex):
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::createFontCustomPlatformData):
        * platform/mac/ContextMenuMac.mm:
        (WebCore::ContextMenu::releasePlatformDescription):
        * platform/mac/SharedBufferMac.mm:
        (WebCore::SharedBuffer::createCFData):
        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::platformResource):
        Use leakRef.

2011-11-02  Darin Adler  <darin@apple.com>

        Change remaining callers of releaseRef to call leakRef
        https://bugs.webkit.org/show_bug.cgi?id=71422

        Reviewed by Darin Fisher.

        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject _setImp:originRootObject:rootObject:]):
        (-[WebScriptObject _setOriginRootObject:andRootObject:]):
        * bridge/NP_jsobject.cpp:
        (_NPN_CreateScriptObject):
        * dom/QualifiedName.cpp:
        (WebCore::QNameComponentsTranslator::translate):
        * history/PageCache.cpp:
        (WebCore::PageCache::add):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
        (WebCore::HTMLTableElement::addSharedGroupDecls):
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::createFrameAtIndex):
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::createFontCustomPlatformData):
        * platform/mac/ContextMenuMac.mm:
        (WebCore::ContextMenu::releasePlatformDescription):
        * platform/mac/SharedBufferMac.mm:
        (WebCore::SharedBuffer::createCFData):
        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::platformResource):
        Use leakRef.

2011-11-03  Daniel Cheng  <dcheng@chromium.org>

        [chromium] Remove unused clipboard methods
        https://bugs.webkit.org/show_bug.cgi?id=71512

        Reviewed by Tony Chang.

        * platform/chromium/PlatformSupport.h:

2011-11-03  Anna Cavender  <annacc@chromium.org>

        Implement TextTrackCueList.
        https://bugs.webkit.org/show_bug.cgi?id=70451

        Reviewed by Eric Carlson.

        Test: media/track/track-text-track-cue-list.html

        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::newCuesAvailable):
            Update TextTrack's TextTrackCueList (m_cues) when new cues are discovered.
        * html/TextTrack.cpp:
        (WebCore::TextTrack::TextTrack):
            Create an empty TextTrackCueList upon TextTrack creation.
        (WebCore::TextTrack::cues):
            Return this TextTrack's list of cues.

        Implement TextTrackCueList functionality:
        * html/TextTrackCueList.cpp:
        (WebCore::TextTrackCueList::TextTrackCueList):
        (WebCore::TextTrackCueList::length):
        (WebCore::TextTrackCueList::item):
        (WebCore::TextTrackCueList::getCueById):
        (WebCore::TextTrackCueList::add):
        (WebCore::TextTrackCueList::remove):
        (WebCore::TextTrackCueList::contains):
        * html/TextTrackCueList.h:
        (WebCore::TextTrackCueList::~TextTrackCueList):

2011-11-03  Joshua Bell  <jsbell@chromium.org>

        IndexedDB result of deleting a record should be true or false
        https://bugs.webkit.org/show_bug.cgi?id=60197

        Reviewed by David Levin.

        IDBObjectStore.delete() was incorrectly firing an error if there
        was no record to remove. Match the spec, and return true/false
        as success values instead. Bring JSC binding implementation of
        SerializedScriptValue more in line with V8 version for methods
        called from IDB code.

        Test: storage/indexeddb/mozilla/delete-result.html

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::undefinedValue):
        (WebCore::SerializedScriptValue::booleanValue):
        * bindings/js/SerializedScriptValue.h:
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::nullValue):
        (WebCore::SerializedScriptValue::undefinedValue):
        (WebCore::SerializedScriptValue::booleanValue):
        * bindings/v8/SerializedScriptValue.h:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):

2011-11-03  Adam Barth  <abarth@webkit.org>

        Implement allow-popups for iframe@sandbox
        https://bugs.webkit.org/show_bug.cgi?id=66505

        Reviewed by Eric Seidel.

        There's been some discussion in the HTML working group about adding an
        allow-popups directive to the iframe sandbox.  Microsoft has added it
        to IE10 platform preview and is fairly adamant about this feature
        because it's needed by one or their products that's planning to use
        iframe sandbox.  Hixie says he'll add it to the spec once we implement
        it, so here's our implementation.  (See discussion in the W3C linked in
        the bug for more details.)

        This patch lands most of the infrastructure for this feature, but it
        doesn't actually enable the feature.  I'll enable it in a follow-up
        patch.

        Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
               http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
               http/tests/security/popup-allowed-by-sandbox-when-allowed.html

        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::parseMappedAttribute):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::forceSandboxFlags):
        * loader/FrameLoaderTypes.h:
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::parseSandboxPolicy):
        * page/SecurityOrigin.h:
        (WebCore::SecurityOrigin::sandboxFlags):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize JSObject::className
        https://bugs.webkit.org/show_bug.cgi?id=71428

        Reviewed by Sam Weinig.

        No new tests.

        Added className to the MethodTable, changed all the virtual 
        implementations of className to static ones, and replaced 
        all call sites with corresponding lookups in the MethodTable.

        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::className):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::internalConstructorName):
        * bridge/testqtbindings.cpp:
        (Global::className):

2011-11-02  Jer Noble  <jer.noble@apple.com>

        Add Clock class and platform-specific implementations.
        https://bugs.webkit.org/show_bug.cgi?id=71341

        Reviewed by Sam Weinig.

        No new tests; these classes will be used and tested by the MediaController feature.

        Adds a abstract Clock class and two concrete, platform-specific subclasses.

        Clock provides a basic interface for starting, stopping, and querying a generic timeline.
        PlatformClockCA implements this interface using a CoreAudio CAClock object, which uses
        the default audio device's hardware clock as a timing source. PlatformClockPOSIX 
        implements this interface using gettimeofday() as its timing source.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/Clock.cpp: Added.
        (Clock::create): Creates a platform-specific clock.
        * platform/Clock.h: Added.
        (WebCore::Clock::~Clock):
        (WebCore::Clock::Clock):
        * platform/mac/PlatformClockCA.cpp: Added.
        (PlatformClockCA::PlatformClockCA):
        (PlatformClockCA::~PlatformClockCA):
        (PlatformClockCA::setCurrentTime):
        (PlatformClockCA::currentTime):
        (PlatformClockCA::setPlayRate):
        (PlatformClockCA::PlatformClockCA::playRate):
        (PlatformClockCA::start):
        (PlatformClockCA::stop):
        * platform/mac/PlatformClockCA.h: Added.
        (WebCore::PlatformClockCA::isRunning):
        * platform/posix/PlatformClockPOSIX.cpp: Added.
        (timevalToFloat):
        (timevalDelta):
        (PlatformClockPOSIX::PlatformClockPOSIX):
        (PlatformClockPOSIX::setCurrentTime):
        (PlatformClockPOSIX::currentTime):
        (PlatformClockPOSIX::setPlayRate):
        (PlatformClockPOSIX::PlatformClockPOSIX::playRate):
        (PlatformClockPOSIX::start):
        (PlatformClockPOSIX::stop):
        (PlatformClockPOSIX::now):
        * platform/posix/PlatformClockPOSIX.h: Added.
        (WebCore::PlatformClockPOSIX::isRunning):

2011-11-03  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Object stores not persisting between sessions
        https://bugs.webkit.org/show_bug.cgi?id=71313

        Reviewed by Tony Chang.

        Logic flaw introduced with r98806 skipped the loading of object stores
        during subsequent sessions.

        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::openInternal):

2011-11-03  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: fix heap profiler rendering and resize.
        https://bugs.webkit.org/show_bug.cgi?id=71484

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
        (WebInspector.DetailedHeapshotView.prototype.wasShown):
        (WebInspector.DetailedHeapshotView.prototype._changeView):
        (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):

2011-11-03  Julien Chaffraix  <jchaffraix@webkit.org>

        Stop abusing RenderTableSection::needsRecalcCells logic
        https://bugs.webkit.org/show_bug.cgi?id=71420

        Reviewed by Darin Adler.

        Change covered by existing tests like fast/repaint/table-extra-bottom-grow.html
        and fast/table/row-height-recalc* (among others).

        Cell recalculation is very expensive and should only be called when the section's structure
        changed in a way that requires a safe update to its structure (like removing a row as our
        column split may not be appropriate anymore).

        The current code would abuse cell recalculation to actually reset the logical height on the
        RowStruct. This change makes it do the right thing.

        * rendering/RenderTableCell.h:
        * rendering/RenderTableRow.h:
        Removed styleWillChange override as it was unneeded.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::styleDidChange):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::styleDidChange):
        Move the code from styleWillChange to styleDidChange.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::rowLogicalHeightChanged):
        This function just reset the height on the |RowStruct| which is the
        only part of recalcCells that we would need.

        (WebCore::RenderTableSection::rowIndexForRenderer):
        Added this function to find out which index a column has (strangely
        RenderTableRow does not have this information).

        * rendering/RenderTableSection.h: Added the 2 previous functions.

2011-11-03  Andreas Kling  <kling@webkit.org>

        CSSRuleList: Move rule orphaning from deleteRule() out to callers.
        https://bugs.webkit.org/show_bug.cgi?id=71470

        Reviewed by Antti Koivisto.

        Rule parenting is the responsibility of the owner rule (the rule containing
        the rule list), so move parent clearing out of CSSRuleList::deleteRule() and
        into the (two) call sites.

        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::deleteRule):
        * css/CSSRuleList.cpp:
        (WebCore::CSSRuleList::deleteRule):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::deleteRule):

2011-11-03  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: do not map scripts generated with document.write to the document resources.
        https://bugs.webkit.org/show_bug.cgi?id=71114

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._addScript):
        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
        (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
        (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
        (WebInspector.RawSourceCode.prototype._createSourceMapping):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.editSource):
        (WebInspector.Script.prototype.isInlineScript):

2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Remove Maemo specific code paths
        https://bugs.webkit.org/show_bug.cgi?id=71476

        Reviewed by Kenneth Rohde Christiansen.

        * WebCore.pri:
        * features.pri:
        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::determineQuirks):
        * plugins/PluginView.cpp:
        (WebCore::PluginView::setValue):
        * plugins/PluginView.h:
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::platformGetValueStatic):

2011-11-03  Fady Samuel  <fsamuel@chromium.org>

        Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
        https://bugs.webkit.org/show_bug.cgi?id=70609

        Reviewed by Kenneth Rohde Christiansen.

        Operations in computeViewportAttributes that are not a part of the spec: 

        http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/#constraining-viewport-property-values

        were moved into the functions restrictMinimumScaleFactorToViewportSize and
        restrictScaleFactorToInitialScaleIfNotUserScalable.

        * WebCore.exp.in:
        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):
        (WebCore::restrictMinimumScaleFactorToViewportSize):
        (WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable):
        * dom/ViewportArguments.h:

2011-11-03  Andreas Kling  <kling@webkit.org>

        CSSRuleList: Move rule orphaning from deleteRule() out to callers.
        https://bugs.webkit.org/show_bug.cgi?id=71470

        Reviewed by Antti Koivisto.

        Rule parenting is the responsibility of the owner rule (the rule containing
        the rule list), so move parent clearing out of CSSRuleList::deleteRule() and
        into the (two) call sites.

        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::deleteRule):
        * css/CSSRuleList.cpp:
        (WebCore::CSSRuleList::deleteRule):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::deleteRule):

2011-11-03  Andreas Kling  <kling@webkit.org>

        Unreviewed build fix, sigh.

        * css/CSSFontFaceRule.h:
        * css/CSSMutableStyleDeclaration.h:

2011-11-03  Andreas Kling  <kling@webkit.org>

        Unreviewed build fix, out-of-line StyleSheet::parentStyleSheet()
        again since there's a cycle in the includes between CSSRule/StyleSheet.

        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::parentStyleSheet):
        * css/StyleSheet.h:

2011-11-03  Andreas Kling  <kling@webkit.org>

        Unreviewed build fix after r99185, removing forward-declaration
        of CSSRule since CSSRule.h is already included.

        * css/StyleSheet.h:

2011-11-03  Andreas Kling  <kling@webkit.org>

        CSSOM: Inline some trivial methods.
        https://bugs.webkit.org/show_bug.cgi?id=71468

        Reviewed by Antti Koivisto.

        * css/CSSFontFaceRule.cpp:
        * css/CSSFontFaceRule.h:
        (WebCore::CSSFontFaceRule::setDeclaration):
        * css/CSSStyleRule.cpp:
        * css/CSSStyleRule.h:
        (WebCore::CSSStyleRule::setDeclaration):
        * css/CSSStyleSheet.cpp:
        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::ownerRule):
        * css/StyleSheet.cpp:
        * css/StyleSheet.h:
        (WebCore::StyleSheet::parentStyleSheet):
        * css/WebKitCSSKeyframesRule.cpp:
        * css/WebKitCSSKeyframesRule.h:
        (WebCore::WebKitCSSKeyframesRule::name):
        (WebCore::WebKitCSSKeyframesRule::length):

2011-11-03  Andreas Kling  <kling@webkit.org>

        Devirtualize MediaList.
        https://bugs.webkit.org/show_bug.cgi?id=71464

        Reviewed by Antti Koivisto.

        * css/MediaList.h: Make the destructor non-virtual.

2011-11-03  Zoltan Herczeg  <zherczeg@webkit.org>

        Optimizing arithmetic composite filter to ARM-neon SIMD instruction set
        https://bugs.webkit.org/show_bug.cgi?id=65522

        Reviewed by Dirk Schulze.

        This patch continues the work of Felician Marton.

        The arithmetic operation of feComposite SVG filter can be greatly enhanced
        by the ARM-NEON instruction set since we are able to calculate the pixel data
        for all four RGBA channels at the same time.

        It won't affect the general behavior and existing tests will cover the changes.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::computeArithmeticPixels):
        (WebCore::arithmeticSoftware):
        (WebCore::FEComposite::platformArithmeticSoftware):
        (WebCore::FEComposite::platformApplySoftware):
        * platform/graphics/filters/FEComposite.h:
        * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp: Added.
        * platform/graphics/filters/arm/FECompositeArithmeticNEON.h: Added.
        (WebCore::FEComposite::platformArithmeticNeon):

2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Add pageScaleFactor to the serialized history item
        https://bugs.webkit.org/show_bug.cgi?id=71463

        Reviewed by Tor Arne Vestbø.

        r75758 added the pageScaleFactor member, which we need to
        serialize.

        * history/qt/HistoryItemQt.cpp:
        (WebCore::HistoryItem::restoreState):
        (WebCore::HistoryItem::saveState):

2011-11-03  Mike Lawther  <mikelawther@chromium.org>

        Use createPrimitiveNumericValue function
        https://bugs.webkit.org/show_bug.cgi?id=71432

        Reviewed by Andreas Kling.

        No new tests - no change in functionality.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseWrapShapeRect):
        (WebCore::CSSParser::parseWrapShapeCircle):
        (WebCore::CSSParser::parseWrapShapeEllipse):
        (WebCore::CSSParser::parseWrapShapePolygon):

2011-11-03  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: win build fix. Assign autoDPI at all cases (breakage introduced in r99173).

        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):

2011-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Differentiate implicit viewport from that of the meta tag
        https://bugs.webkit.org/show_bug.cgi?id=71453

        Reviewed by Simon Hausmann.

        This is needed because of DPI adjustment taking place with the meta
        tag. This is to be avoided when no viewport meta tag is present.

        * dom/Document.cpp:
        (WebCore::Document::processViewport):
        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):
        * dom/ViewportArguments.h:
        (WebCore::ViewportArguments::ViewportArguments):
        (WebCore::ViewportArguments::operator==):

2011-11-03  Andreas Kling  <kling@webkit.org>

        Devirtualize CSSRule.
        https://bugs.webkit.org/show_bug.cgi?id=71382

        Reviewed by Antti Koivisto.

        Remove the virtual destructor from CSSRule, and reimplement RefCounted's deref()
        to invoke operator delete on the appropriate subclass type.

        This removes the CSSRule vtable and shrinks each instance by one CPU word.

        * css/CSSCharsetRule.h:
        * css/CSSFontFaceRule.h:
        * css/CSSMediaRule.h:
        * css/CSSPageRule.h:
        * css/CSSRegionStyleRule.h:
        * css/CSSRule.cpp:
        * css/CSSRule.h:
        (WebCore::CSSRule::deref):
        (WebCore::CSSRule::~CSSRule):
        * css/CSSStyleRule.h:
        * css/WebKitCSSKeyframeRule.h:

            Devirtualize!

        * css/CSSRule.cpp:
        (WebCore::CSSRule::destroy):

            Added, invokes operator delete on the right subclass type.

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::CSSImportRule):
        (WebCore::CSSImportRule::~CSSImportRule):
        (WebCore::CSSImportRule::requestStyleSheet):
        * css/CSSImportRule.h:
        (WebCore::CSSImportRule::ImportedStyleSheetClient::ImportedStyleSheetClient):
        (WebCore::CSSImportRule::ImportedStyleSheetClient::~ImportedStyleSheetClient):
        (WebCore::CSSImportRule::ImportedStyleSheetClient::setCSSStyleSheet):

            Break out the inheritance from CachedStyleSheetClient into a member variable
            that simply redirects the setCSSStyleSheet() callback to the CSSImportRule.

2011-10-31  Hans Wennborg  <hans@chromium.org>

        IndexedDB: Recycle cursor objects when calling continue()
        https://bugs.webkit.org/show_bug.cgi?id=71115

        Reviewed by Darin Fisher.

        The IndexedDB spec says that cursors should be recycled when calling
        continue(). Let the IDBRequest keep track of which cursor to return
        upon success, and have the cursor use a new callback:
        onSuccessWithContinuation() to signal that the continue was successful.

        When we start using the new callback, the
        storage/indexeddb/cursor-inconsistency.html layout test will start
        passing.

        * storage/IDBCallbacks.h:
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::setCursor):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::onSuccessWithContinuation):
        * storage/IDBRequest.h:

2011-11-03  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: preserve script location for inline handlers.
        https://bugs.webkit.org/show_bug.cgi?id=71367

        Makes eventHandler report position, not line number;

        Reviewed by Yury Semikhatsky.

        * bindings/js/CachedScriptSourceProvider.h:
        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
        * bindings/js/JSLazyEventListener.cpp:
        (WebCore::JSLazyEventListener::JSLazyEventListener):
        (WebCore::JSLazyEventListener::initializeJSFunction):
        * bindings/js/JSLazyEventListener.h:
        (WebCore::JSLazyEventListener::create):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::eventHandlerPosition):
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/js/ScriptSourceProvider.h:
        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::create):
        (WebCore::StringSourceProvider::StringSourceProvider):
        (WebCore::makeSource):

2011-11-03  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Do not check isEditingAnyField in StylesSidebarPane._createNewRule
        https://bugs.webkit.org/show_bug.cgi?id=71217

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.set _createNewRule):

2011-11-03  Balazs Kelemen  <kbalazs@webkit.org>

        [Qt] X11 plugins need to be reworked for Qt5
        https://bugs.webkit.org/show_bug.cgi?id=70023

        Reviewed by Simon Hausmann.

        Disable X11 plugins with Qt5.
        * features.pri:

2011-11-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r99138.
        http://trac.webkit.org/changeset/99138
        https://bugs.webkit.org/show_bug.cgi?id=71455

        It made 200+ tests flakey on SL and on Qt (Requested by Ossy
        on #webkit).

        * html/HTMLIFrameElement.cpp:
        (WebCore::parseSandboxAttribute):
        (WebCore::HTMLIFrameElement::parseMappedAttribute):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::setOpener):
        (WebCore::createWindow):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::setForcedSandboxFlags):
        * loader/FrameLoaderTypes.h:
        * loader/PolicyChecker.cpp:
        (WebCore::PolicyChecker::checkNewWindowPolicy):
        * page/SecurityOrigin.cpp:
        * page/SecurityOrigin.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2011-11-03  Kentaro Hara  <haraken@chromium.org>

        Fixed wrong implementation of doubleValue % 2^{64}.
        https://bugs.webkit.org/show_bug.cgi?id=67980

        Reviewed by Hajime Morita.

        fast/events/constructors/progress-event-constructor.html was failing
        because of the wrong implementation of conversion from an ECMAScript value
        to an IDL unsigned long long value (Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long).
        In particular, the calculation of doubleValue % 2^{64} was wrong.
        This patch implemented it correctly in doubleToInteger() in wtf/MathExtras.h.

        * bindings/js/JSDictionary.cpp:
        (WebCore::JSDictionary::convertValue): Uses doubleToInteger().
        * bindings/v8/OptionsObject.cpp:
        (WebCore::OptionsObject::getKeyValue): Ditto.

2011-11-03  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Introduce SuggestBox for TextPrompt
        https://bugs.webkit.org/show_bug.cgi?id=71288

        Reviewed by Pavel Feldman.

        Drive-by fix for a regression where clicking in the Database query view did not focus the prompt.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        (WebInspector.ConsoleView.prototype.completions):
        (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
        (WebInspector.ConsoleView.prototype._completions):
        (WebInspector.ConsoleView.prototype._reportCompletions):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView):
        (WebInspector.DatabaseQueryView.prototype.afterShow):
        (WebInspector.DatabaseQueryView.prototype.completions):
        (WebInspector.DatabaseQueryView.prototype._selectStart.moveBackIfOutside):
        (WebInspector.DatabaseQueryView.prototype._selectStart):
        (WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
        (WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
        (WebInspector.DatabaseQueryView.prototype._appendQueryResult):
        * inspector/front-end/ElementsPanel.js:
        * inspector/front-end/Popover.js:
        (WebInspector.Popover):
        (WebInspector.Popover.prototype._positionElement):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):
        ():
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt):
        (WebInspector.TextPrompt.prototype.setSuggestForceable):
        (WebInspector.TextPrompt.prototype._attachInternal):
        (WebInspector.TextPrompt.prototype._removeFromElement):
        (WebInspector.TextPrompt.prototype.defaultKeyHandler):
        (WebInspector.TextPrompt.prototype.onKeyDown):
        (WebInspector.TextPrompt.prototype.acceptAutoComplete):
        (WebInspector.TextPrompt.prototype.autoCompleteSoon):
        (WebInspector.TextPrompt.prototype.complete):
        (WebInspector.TextPrompt.prototype._completionsReady):
        (WebInspector.TextPrompt.prototype.applySuggestion):
        (WebInspector.TextPrompt.prototype.acceptSuggestion):
        (WebInspector.TextPrompt.prototype.isSuggestBoxVisible):
        (WebInspector.TextPrompt.prototype.moveCaretToEndOfPrompt):
        (WebInspector.TextPrompt.prototype.tabKeyPressed):
        (WebInspector.TextPrompt.prototype.enterKeyPressed):
        (WebInspector.TextPrompt.prototype.upKeyPressed):
        (WebInspector.TextPrompt.prototype.downKeyPressed):
        (WebInspector.TextPrompt.SuggestBoxConfig):
        (WebInspector.TextPromptWithHistory):
        (WebInspector.TextPromptWithHistory.prototype.pushHistoryItem):
        (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
        (WebInspector.TextPrompt.SuggestBox):
        (WebInspector.TextPrompt.SuggestBox.prototype.get visible):
        (WebInspector.TextPrompt.SuggestBox.prototype.get hasSelection):
        (WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
        (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
        (WebInspector.TextPrompt.SuggestBox.prototype._onboxmousedown):
        (WebInspector.TextPrompt.SuggestBox.prototype.hide):
        (WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
        (WebInspector.TextPrompt.SuggestBox.prototype._applySuggestion):
        (WebInspector.TextPrompt.SuggestBox.prototype.acceptSuggestion):
        (WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
        (WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
        (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestionsSoon):
        (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
        (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
        (WebInspector.TextPrompt.SuggestBox.prototype._createItemElement):
        (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
        (WebInspector.TextPrompt.SuggestBox.prototype._updateSelection):
        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
        (WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
        (WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
        (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
        (WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
        (WebInspector.TextPrompt.SuggestBox.prototype.spaceKeyPressed):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.search-view .search-panel):
        (#search-results-pane-file-based .search-match .search-match-content):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar, .custom-popup-vertical-scroll ::-webkit-scrollbar):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-corner, .custom-popup-vertical-scroll ::-webkit-scrollbar-corner):
        (.custom-popup-horizontal-scroll ::-webkit-resizer, .custom-popup-vertical-scroll ::-webkit-resizer):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-button, .custom-popup-vertical-scroll ::-webkit-scrollbar-button):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar:horizontal:corner-present):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:hover):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:active):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:start):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end:corner-present):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:decrement):
        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:increment):
        (.custom-popup-vertical-scroll ::-webkit-scrollbar:vertical:corner-present):
        (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical):
        (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:hover):
        (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:active):
        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:start):
        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end):
        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end:corner-present):
        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:decrement):
        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:increment):
        * inspector/front-end/popover.css:
        (.popover.right-bottom-arrow .arrow):
        * inspector/front-end/textPrompt.css: Added.
        (.suggest-box):
        (.suggest-box.visible):
        (.suggest-box .container):
        (.suggest-box-content-item):
        (.suggest-box-content-item .prefix):
        (.suggest-box-content-item.selected):
        (.suggest-box-content-item:hover:not(.selected)):
        * inspector/front-end/utilities.js:
        (setupPrototypeUtilities.Element.prototype.boxInWindow):

2011-11-03  Devdatta Deshpande  <webkit.devdatta@gmail.com>

        REGRESSION (r94132): broke fast/loader/location-port.html on GTK
        https://bugs.webkit.org/show_bug.cgi?id=67277

        Reviewed by Adam Barth.

        If port is 0, SoupURI does not have an explicitly specified port. Due
        to this port value is ignored in SoupURI. Hence, an extra check is
        required to restore the port.

        Test: LayoutTests/fast/loader/location-port.html

        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::updateFromSoupMessage):

2011-11-03  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Allow the toolbar background to be transparent on mac platforms when remote
        https://bugs.webkit.org/show_bug.cgi?id=71437

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/inspector.css:
        (body.detached.platform-mac-snowleopard #toolbar):

2011-11-02  Adam Barth  <abarth@webkit.org>

        CSP should handle empty URLs as agreed at TPAC
        https://bugs.webkit.org/show_bug.cgi?id=71426

        Reviewed by Eric Seidel.

        It was somewhat unclear how CSP should treat plugins that lacked a URL
        because most of the CSP rules are URL-based.  At TPAC, we decided to
        treat "empty" URLs as if there were the URL of the document.  That
        means you can use plugins with no URL if you've included 'self' in
        object-src, but you can also block them by using 'none' as your
        object-src.

        Tests: http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html
               http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html
               http/tests/security/contentSecurityPolicy/object-src-none-allowed.html
               http/tests/security/contentSecurityPolicy/object-src-none-blocked.html

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPDirective::CSPDirective):
        (WebCore::CSPDirective::allows):
        (WebCore::ContentSecurityPolicy::createCSPDirective):

2011-11-02  Adam Barth  <abarth@webkit.org>

        Implement allow-popups for iframe@sandbox
        https://bugs.webkit.org/show_bug.cgi?id=66505

        Reviewed by Eric Seidel.

        There's been some discussion in the HTML working group about adding an
        allow-popups directive to the iframe sandbox.  Microsoft has added it
        to IE10 platform preview and is fairly adamant about this feature
        because it's needed by one or their products that's planning to use
        iframe sandbox.  Hixie says he'll add it to the spec once we implement
        it, so here's our implementation.  (See discussion in the W3C linked in
        the bug for more details.)

        Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
               http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
               http/tests/security/popup-allowed-by-sandbox-when-allowed.html

        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::parseMappedAttribute):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::setOpener):
        (WebCore::createWindow):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::forceSandboxFlags):
        * loader/FrameLoaderTypes.h:
        * loader/PolicyChecker.cpp:
        (WebCore::PolicyChecker::checkNewWindowPolicy):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::parseSandboxPolicy):
        * page/SecurityOrigin.h:
        (WebCore::SecurityOrigin::sandboxFlags):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2011-11-02  Sam Weinig  <sam@webkit.org>

        Remove the ability to generate custom lookupGetter/lookupSetter functions,
        now that they can not be overridden 

        Reviewed by Adam Roben.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):

2011-11-02  Sam Weinig  <sam@webkit.org>

        Fix crashing tests after r99126 (commit for https://bugs.webkit.org/show_bug.cgi?id=71307)

        Reviewed by Adam Roben.

        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
        Since we are proxying to the window, we need to pass it as the this object,
        not the shell.

2011-11-02  Erik Arvidsson  <arv@chromium.org>

        Remove LegacyDefaultOptionalArguments flag from storage IDL files
        https://bugs.webkit.org/show_bug.cgi?id=65744

        Reviewed by Adam Barth.

        Test: storage/domstorage/localstorage/missing-arguments.html

        * storage/DatabaseCallback.idl:
        * storage/IDBRequest.idl:
        * storage/IDBTransaction.idl:
        * storage/SQLResultSetRowList.idl:
        * storage/SQLStatementCallback.idl:
        * storage/SQLStatementErrorCallback.idl:
        * storage/SQLTransaction.idl:
        * storage/SQLTransactionCallback.idl:
        * storage/SQLTransactionErrorCallback.idl:
        * storage/SQLTransactionSync.idl:
        * storage/SQLTransactionSyncCallback.idl:
        * storage/Storage.idl:
        * storage/StorageInfo.idl:
        * storage/StorageInfoErrorCallback.idl:
        * storage/StorageInfoQuotaCallback.idl:
        * storage/StorageInfoUsageCallback.idl:

2011-11-02  Adam Klein  <adamk@chromium.org>

        Replace usage of StringImpl with String where possible in CharacterData and Text
        https://bugs.webkit.org/show_bug.cgi?id=71383

        Reviewed by Darin Adler.

        Ryosuke Niwa, in http://webkit.org/b/70862, asked me to replace usages
        of String with StringImpl. I've done more than what he asked in this
        patch, the biggest change being that CharacterData now holds a String
        instead of a RefPtr<StringImpl>.

        No new tests, as this should have no effect on behavior.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::setData):
        (WebCore::CharacterData::substringData):
        (WebCore::CharacterData::parserAppendData):
        (WebCore::CharacterData::appendData):
        (WebCore::CharacterData::insertData):
        (WebCore::CharacterData::deleteData):
        (WebCore::CharacterData::replaceData):
        (WebCore::CharacterData::containsOnlyWhitespace):
        (WebCore::CharacterData::setDataAndUpdate):
        (WebCore::CharacterData::updateRenderer):
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/CharacterData.h:
        (WebCore::CharacterData::length):
        (WebCore::CharacterData::dataImpl):
        (WebCore::CharacterData::CharacterData):
        (WebCore::CharacterData::setDataWithoutUpdate):
        * dom/Text.cpp:
        (WebCore::Text::splitText):

2011-11-02  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize JSObject::getOwnPropertyNames
        https://bugs.webkit.org/show_bug.cgi?id=71307

        Reviewed by Darin Adler.

        No new tests.

        Added getOwnPropertyNames to the MethodTable, changed all the virtual 
        implementations of getOwnPropertyNames to static ones, and replaced 
        all call sites with corresponding lookups in the MethodTable.

        * WebCore.exp.in:
        * bindings/js/JSDOMStringMapCustom.cpp:
        (WebCore::JSDOMStringMap::getOwnPropertyNames):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertyNames):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::getOwnPropertyNames):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::getOwnPropertyNames):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::getOwnPropertyNames):
        * bindings/js/ScriptValue.cpp:
        (WebCore::jsToInspectorValue):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::serialize):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
        * bridge/qt/qt_runtime.h:
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::getOwnPropertyNames):
        * bridge/runtime_array.h:
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::getOwnPropertyNames):
        * bridge/runtime_object.h:

2011-11-02  Tony Chang  <tony@chromium.org>

        force inline flexitems to be wrapped in anonymous blocks
        https://bugs.webkit.org/show_bug.cgi?id=71314

        Reviewed by Ojan Vafai.

        If there is a mix of inline and block items, all the inline items were already getting wrapped
        (see RenderBlock::addChildIgnoringAnonymousColumnBlocks).  However, if there are only inline items,
        we need to force them into an anonymous block.

        There are still lots of bugs because we're trying to read style values from the anonymous block,
        but this at least causes layout to be called on all the render objects.

        Tests: css3/flexbox/anonymous-block.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::TreeOrderIterator::next):
        (WebCore::RenderFlexibleBox::FlexOrderIterator::next):
        (WebCore::RenderFlexibleBox::RenderFlexibleBox): force children into blocks

2011-11-02  Dean Jackson  <dino@apple.com>

        Add ENABLE_CSS_SHADERS flag
        https://bugs.webkit.org/show_bug.cgi?id=71394

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig:

2011-11-02  Emil A Eklund  <eae@chromium.org>

        Switch RenderText to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=71389

        Reviewed by Eric Seidel.

        Switch RenderText methods (and overriden methods in related classes) to
        LayoutRect/LayoutUnit.

        No new tests.

        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteRectsForRange):
        (WebCore::RenderText::linesBoundingBox):
        (WebCore::RenderText::linesVisualOverflowBoundingBox):
        * rendering/RenderText.h:
        Change RenderText to expose its bounding box, selection and caret rects
        as LayoutRects.
        
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::localCaretRect):
        * rendering/svg/RenderSVGInlineText.h:
        Change localCaretRect to return a LayoutRect.

2011-11-02  Levi Weintraub  <leviw@chromium.org>

        Infinite recursion in RenderSVGResourceContainer::markAllClientsForInvalidation
        https://bugs.webkit.org/show_bug.cgi?id=71384

        Reviewed by Darin Adler.

        Adding a reentrancy guard to RenderSVGResourceContainer to prevent infinite recursion when
        resources reference one another and share ids.

        Test: svg/custom/resource-invalidation-crash.svg

        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
        * rendering/svg/RenderSVGResourceContainer.h:

2011-11-02  Jon Lee  <jonlee@apple.com>

        Expand DragController to provide more information about the dragging session
        https://bugs.webkit.org/show_bug.cgi?id=71324
        <rdar://problem/10379175>

        Reviewed by Darin Adler.

        * WebCore.xcodeproj/project.pbxproj:
        * page/DragController.cpp:
        (WebCore::DragController::dragEntered):
        (WebCore::DragController::dragUpdated):
        (WebCore::DragController::dragEnteredOrUpdated):
        (WebCore::DragController::tryDocumentDrag): In addition to determining the
        drag operation, DragSession is updated with data regarding whether the mouse
        is over a file input, and the number of items that would be accepted based on
        the mouse's location.
        * page/DragController.h:
        * page/DragSession.h: Added.
        (WebCore::DragSession::DragSession): Keep track of current operation, whether
        the mouse is over a file input element, and how many files would be accepted if
        dropped.
        * platform/DragData.h: Added numberOfFiles()
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::numberOfFiles):
        * platform/efl/DragDataEfl.cpp:
        (WebCore::DragData::numberOfFiles):
        * platform/gtk/DragDataGtk.cpp:
        (WebCore::DragData::numberOfFiles):
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::numberOfFiles):
        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::numberOfFiles):
        * platform/win/DragDataWin.cpp:
        (WebCore::DragData::numberOfFiles):
        * platform/wince/DragDataWinCE.cpp:
        (WebCore::DragData::numberOfFiles):
        * platform/wx/DragDataWx.cpp:
        (WebCore::DragData::numberOfFiles):

2011-11-02  Alexey Proskuryakov  <ap@apple.com>

        Emedded PDFs cannot be opened from Web archives
        https://bugs.webkit.org/show_bug.cgi?id=70954

        Reviewed by Oliver Hunt.

        BuiltInPDFPlugin doesn't have access to original ResourceResponse and has to re-create it
        It doesn't seem to be possible to create an NSURLResponse with a non-null HTTP status code,
        and NetscapePlugInStreamLoader becomes unhappy.

        * loader/NetscapePlugInStreamLoader.cpp: (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
        Allow 0 status code, it's not a real error to have one in response.

2011-10-31  Nat Duca  <nduca@chromium.org>

        [chromium] Slow down commit and draw rate based on visibility and draw completion
        https://bugs.webkit.org/show_bug.cgi?id=71267

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCLayerTreeHost::visible):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore::CCLayerTreeHostImpl::visible):
        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::beginFrame):
        (WebCore::CCScheduler::processScheduledActions):
        * platform/graphics/chromium/cc/CCScheduler.h:
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::nextAction):
        (WebCore::CCSchedulerStateMachine::updateState):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::visible):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-11-02  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10336700> Add API to get rendered text image without having to select it
        https://bugs.webkit.org/show_bug.cgi?id=71407

        Reviewed by Simon Fraser.

        Test: TestWebKitAPI/Tests/mac/RenderedImageFromDOMRange.mm

        * bindings/objc/DOM.mm:
        (-[DOMRange renderedImageForcingBlackText:]): Added.
        * bindings/objc/DOMPrivate.h:
        * page/Frame.h:
        * page/mac/FrameMac.mm:
        (WebCore::Frame::rangeImage): Added. Sets the selection in the RenderView (only) based on the
        given range and gets a selection-only rendering of the view, then restores the selection.
        * rendering/RenderView.cpp:
        (WebCore::RenderView::setSelection): Skip all invalidation if the repaint behavior is RepaintNothing.
        (WebCore::RenderView::getSelection): Added this getter.
        * rendering/RenderView.h:

2011-11-02  Tom Sepez  <tsepez@chromium.org>

        XSSAuditor is silent
        https://bugs.webkit.org/show_bug.cgi?id=70973

        Reviewed by Adam Barth.

        Test: http/tests/security/xssAuditor/script-tag-with-callbacks.html

        * html/parser/XSSAuditor.cpp:
        (WebCore::XSSAuditor::XSSAuditor):
        (WebCore::XSSAuditor::filterToken):
        * html/parser/XSSAuditor.h:
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::didDetectXSS):
        * loader/FrameLoaderClient.h:

2011-11-02  Simon Fraser  <simon.fraser@apple.com>

        Assertion in FontCache::getCachedFontData() when painting into composited layer
        https://bugs.webkit.org/show_bug.cgi?id=71377

        Reviewed by Anders Carlsson.

        Add one of the mysterious FontCachePurgePreventers on the stack when painting
        compositing layers, just as FrameView::paintContents does, to fix an assertion
        seen on the bots with some layout tests.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):

2011-11-02  Tommy Widenflycht  <tommyw@google.com>

        MediaStreamRegistry should hold references to MediaStreamDescriptor rather than MediaStream
        https://bugs.webkit.org/show_bug.cgi?id=70896

        Reviewed by Adam Barth.

        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

        * mediastream/MediaStreamRegistry.cpp:
        (WebCore::MediaStreamRegistry::registerMediaStreamURL):
        (WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
        (WebCore::MediaStreamRegistry::lookupMediaStreamDescriptor):
        * mediastream/MediaStreamRegistry.h:

2011-11-02  Zoltan Herczeg  <zherczeg@webkit.org>

        Match allowed CSS string characters to Firefox and Opera browsers
        https://bugs.webkit.org/show_bug.cgi?id=71000

        Reviewed by Darin Adler.

        Firefox and Opera accepts any character inside a string except
        newline and starting quote character. This behaviour matches to
        the CSS 2.1 grammar: http://www.w3.org/TR/CSS2/grammar.html
        WebKit should follow them.

        Test: fast/css/parsing-css-allowed-string-characters.html

        * css/tokenizer.flex:

2011-11-02  Devdatta Deshpande  <pwjd73@motorola.com>

        Assert in MoveSelectionCommand::doApply
        https://bugs.webkit.org/show_bug.cgi?id=70277

        Reviewed by Ryosuke Niwa.

        A MoveSelectionCommand should be fired only if the selection type is
        RangeSelection, since nothing is selected in other cases.

        Test: fast/events/drag-link.html

        * page/DragController.cpp:
        (WebCore::DragController::dragIsMove):

2011-11-02  Jon Lee  <jonlee@apple.com>

        <input=file multiple> default text uses singular instead of plural
        https://bugs.webkit.org/show_bug.cgi?id=71319
        <rdar://problem/10379021>

        Reviewed by Darin Adler.

        Added a new method to return the label text for a file upload control that
        allows multiple files. Needed to extend the RenderTheme function to pass down
        a boolean representing whether multiple files are allowed in the file list.

        * English.lproj/Localizable.strings:
        * html/FileInputType.cpp:
        (WebCore::FileInputType::defaultToolTip):
        * platform/DefaultLocalizationStrategy.cpp:
        (WebCore::DefaultLocalizationStrategy::fileButtonNoFilesSelectedLabel):
        * platform/DefaultLocalizationStrategy.h:
        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.cpp:
        (WebCore::fileButtonNoFilesSelectedLabel):
        * platform/LocalizedStrings.h:
        * platform/efl/LocalizedStringsEfl.cpp:
        (WebCore::fileButtonNoFilesSelectedLabel):
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::fileButtonNoFilesSelectedLabel):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::fileListNameForWidth):
        * platform/gtk/RenderThemeGtk.h:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::fileListNameForWidth):
        * platform/qt/RenderThemeQt.h:
        * platform/wx/LocalizedStringsWx.cpp:
        (WebCore::fileButtonNoFilesSelectedLabel):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::fileTextValue):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::fileListNameForWidth):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::fileListNameForWidth):

2011-11-02  Andras Becsi  <andras.becsi@nokia.com>

        [Qt] Fix the build with NO_LISTBOX_RENDERING

        Unreviewed build fix after r99035.

        Patch by Michael Bruning <michael.bruning@nokia.com>

        No new tests needed.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::listBoxSelectItem):

2011-10-28  Ryosuke Niwa  <rniwa@webkit.org>

        div { display: none; } makes pasting into text fields impossible
        https://bugs.webkit.org/show_bug.cgi?id=27683

        Reviewed by Enrica Casucci.

        The bug was caused by insertFragmentForTestRendering's always inserting a node for test rendering
        into document's body.

        Fixed the bug by inserting the node for test rendering into the root editable element. In addition,
        remove the node before dispatching beforeTextInserted event to avoid event listeners, in particular
        TextFieldInputType::handleBeforeTextInsertedEvent, from seeing the test node.

        Test: editing/pasteboard/input-with-display-none-div.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        (WebCore::ReplacementFragment::insertFragmentForTestRendering):
        (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):

2011-11-02  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r96870): WebKit generates background: transparent on blogger.com
        https://bugs.webkit.org/show_bug.cgi?id=71203

        Reviewed by Ojan Vafai.

        Remove the transparent background color from inline style declarations in the pasted content.
        Also fixed a bug in removeStyleFromRulesAndContext that it removes properties in inline style
        declarations even if those properties were overridden.

        Tests: editing/deleting/merge-paragraphs-with-transparent-background.html
               editing/deleting/paste-with-transparent-background-color.html

        * editing/EditingStyle.cpp:
        (WebCore::removePropertiesInStyle):
        (WebCore::EditingStyle::removeStyleFromRulesAndContext):
        (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):

2011-11-02  Andreas Kling  <kling@webkit.org>

        CSSStyleRule: Devirtualize selectorText()
        https://bugs.webkit.org/show_bug.cgi?id=71364

        Reviewed by Antti Koivisto.

        Have CSSStyleRule::selectorText() redirect to CSSPageRule::pageSelectorText()
        if type() is PAGE_RULE.

        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::pageSelectorText):
        * css/CSSPageRule.h:
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::selectorText):
        * css/CSSStyleRule.h:

2011-11-02  Andreas Kling  <kling@webkit.org>

        CSSRule: Devirtualize cssText()
        https://bugs.webkit.org/show_bug.cgi?id=71292

        Reviewed by Antti Koivisto.

        Have CSSRule::cssText() redirect to the appropriate subclass based on type().
        This is one of the last steps of devirtualizing CSSRule completely, which will
        allow us to get rid of its vtable, and each instance's pointer thereto.

        * css/CSSCharsetRule.h:
        * css/CSSFontFaceRule.h:
        * css/CSSImportRule.h:
        * css/CSSMediaRule.h:
        * css/CSSRegionStyleRule.h:
        * css/CSSRule.cpp:
        (WebCore::CSSRule::cssText):
        * css/CSSRule.h:
        * css/CSSStyleRule.h:
        * css/WebKitCSSKeyframeRule.h:
        * css/WebKitCSSKeyframesRule.h:

2011-11-02  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed build fix for !ENABLE(FILTERS) after r98989.

        * rendering/svg/SVGResourcesCache.cpp:
        (WebCore::SVGResourcesCache::clientLayoutChanged):

2011-11-02  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [REGRESSION] Clicking in a CSS property/value being edited commits the editor
        https://bugs.webkit.org/show_bug.cgi?id=71360

        Reviewed by Pavel Feldman.

        Selecting a selected TreeElement should be an idempotent operation.

        * inspector/front-end/treeoutline.js:
        (TreeElement.prototype.select):

2011-11-02  Ben Wells  <benwells@chromium.org>

        Canvas filling paths or rects need to be invalidate larger rects for some compositing modes.
        https://bugs.webkit.org/show_bug.cgi?id=70379

        Reviewed by James Robinson.

        Test: fast/canvas/canvas-composite-fill-repaint.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fill):
        (WebCore::CanvasRenderingContext2D::fillRect):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::didDrawEntireCanvas):
        * html/canvas/CanvasRenderingContext2D.h:

2011-11-01  Levi Weintraub  <leviw@chromium.org>

        Fix uses of LayoutUnit in Frame-, Scroll-, and RenderView
        https://bugs.webkit.org/show_bug.cgi?id=71321

        Reviewed by Darin Adler.

        Updating the usage of LayoutUnits in the *View classes to mirror the proper use
        as derived in the subpixellayout branch.

        This entails scrolling only with integers (and rounding once we've made the switch)
        and using integers for window coordinates, with LayoutUnits for content coordinates.

        No new tests -- no change in behavior.

        * page/FrameView.cpp:
        (WebCore::FrameView::invalidateRect):
        (WebCore::FrameView::setFrameRect):
        (WebCore::FrameView::zoomAnimatorTransformChanged):
        (WebCore::FrameView::scrollContentsFastPath):
        (WebCore::FrameView::scrollContentsSlowPath):
        (WebCore::FrameView::scrollElementToRect):
        (WebCore::FrameView::setScrollPosition):
        (WebCore::FrameView::repaintContentRectangle):
        (WebCore::FrameView::scrollTo):
        (WebCore::FrameView::updateScrollCorner):
        * page/FrameView.h:
        (WebCore::FrameView::trackedRepaintRects):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::visibleContentRect):
        (WebCore::ScrollView::layoutWidth):
        (WebCore::ScrollView::layoutHeight):
        (WebCore::ScrollView::fixedLayoutSize):
        (WebCore::ScrollView::setFixedLayoutSize):
        (WebCore::ScrollView::contentsSize):
        (WebCore::ScrollView::setContentsSize):
        (WebCore::ScrollView::overhangAmount):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::rectToCopyOnScroll):
        (WebCore::ScrollView::scrollContents):
        (WebCore::ScrollView::windowToContents):
        (WebCore::ScrollView::screenToContents):
        (WebCore::ScrollView::scrollbarAtPoint):
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        (WebCore::ScrollView::visibleWidth):
        (WebCore::ScrollView::visibleHeight):
        (WebCore::ScrollView::contentsWidth):
        (WebCore::ScrollView::contentsHeight):
        (WebCore::ScrollView::adjustScrollPositionWithinRange):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paint):
        (WebCore::RenderView::shouldRepaint):
        (WebCore::RenderView::repaintViewRectangle):
        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
        (WebCore::RenderView::computeRectForRepaint):
        (WebCore::RenderView::selectionBounds):
        (WebCore::RenderView::viewRect):
        (WebCore::RenderView::unscaledDocumentRect):
        (WebCore::RenderView::documentRect):
        * rendering/RenderView.h:
        (WebCore::RenderView::printRect):
        (WebCore::RenderView::setPrintRect):

2011-11-01  Anna Cavender  <annacc@chromium.org>

        Small fixes for WebVTTParser.
        https://bugs.webkit.org/show_bug.cgi?id=71334

        Reviewed by Darin Adler.

        No new tests.  This is needed to enable other tests, coming soon.

        * html/track/WebVTTParser.cpp:
        (WebCore::hasLongWebVTTIdentifier): changed to return true when header is
            exactly "WEBVTT"
        (WebCore::WebVTTParser::collectTimingsAndSettings): fix typos, position should
            only progress once when checking the character after a timestamp.

2011-11-01  Darin Adler  <darin@apple.com>

        Change HTMLSelectElement::setSelectedIndex to use enums instead of bools
        https://bugs.webkit.org/show_bug.cgi?id=70184

        Reviewed by Kent Tamura.

        Refactoring that does not require new tests.

        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLSelectElement _activateItemAtIndex:]): Replaced setSelectedIndexByUser
        call with a call to the renamed optionSelectedByUser, also removed one argument.
        (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]): Ditto.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::setSelected): Replaced setSelectedIndex call with a
        call to the new optionSelectionStateChanged function.
        (WebCore::HTMLOptionElement::insertedIntoTree): Ditto.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::HTMLSelectElement): Updated since m_userDrivenChange
        was renamed to m_isProcessingUserDrivenChange.
        (WebCore::HTMLSelectElement::optionSelectedByUser): Removed deselect argument,
        which was always true for all callers. Updated comment.
        (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Updated comment.
        (WebCore::HTMLSelectElement::setOption): Call the new optionSelectionStateChanged
        function. The code used to explicitly ask the function it calls to deselect base
        on the value of m_multiple, but that is no longer needed because the selectOption
        function itself takes care of that check.
        (WebCore::HTMLSelectElement::dispatchChangeEventForMenuList): Renamed this function.
        Also updated for name change to m_isProcessingUserDrivenChange.
        (WebCore::HTMLSelectElement::setSelectedIndex): Moved the formerly-inlined function
        here from the header and changed it to call the renamed selectOption function.
        (WebCore::HTMLSelectElement::optionSelectionStateChanged): Added this function.
        It is used by callers that were previously using setSelectedIndex and passing
        "false" for the deselect argument. It's better now that setSelectedIndex is now a
        pure DOM setter function without the multiple purposes it had before. This function
        now has the logic that handles the special handling when deselecting an option,
        which used to be at the top of the next function.
        (WebCore::HTMLSelectElement::selectOption): Renamed this from setSelectedIndex.
        Replaced boolean arguments with flags. Removed code to handle the special case
        when we deselect an option; that's now handled in the optionSelectionStateChanged
        function. Added an assertion to replace a comment and updated for other renaming.
        (WebCore::HTMLSelectElement::dispatchBlurEvent): Updated for name change.
        (WebCore::HTMLSelectElement::platformHandleKeydownEvent): Ditto.
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Changed to call the
        new selectOption function and also updated for other name changes.
        (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.

        * html/HTMLSelectElement.h: Changed the setSelectedIndex to be a pure setter
        function for the selectedIndex DOM property. Added a optionSelectedByUser function
        for the other use of setSelectedIndex, but removed the always true "deselect"
        argument from it. Added a optionSelectionStateChanged function for use in the
        HTMLOptionElement implementation. Renamed menuListOnChange to
        dispatchChangeEventForMenuList for clarity. Added a SelectOptionFlag and
        SelectOptionFlags type for the arguments to the selectOption function, formerly
        implemented as an overload of setSelectedIndex (and called setSelectedIndexInternal
        before that). Renamed m_userDrivenChange to m_isProcessingUserDrivenChange.

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::valueChanged): Replaced setSelectedIndexByUser
        call with a call to the renamed optionSelectedByUser, also removed one argument.

2011-11-01  Sam Weinig  <sam@webkit.org>

        Implement __lookupGetter__/__lookupSetter__ in terms of getPropertyDescriptor
        https://bugs.webkit.org/show_bug.cgi?id=71336

        Reviewed by Darin Adler.

        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSDOMWindowShell.cpp:
        * bindings/js/JSDOMWindowShell.h:
        * page/DOMWindow.idl:
        Remove overrides of lookupGetter/lookupSetter, which are no longer needed
        due to implementing getPropertyDescriptor.


2011-11-01  Nat Duca  <nduca@chromium.org>

        [chromium] Move resource-releasing logic into CCProxy and cleanup setNeedsCommit
        https://bugs.webkit.org/show_bug.cgi?id=71269

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
        (WebCore::CCLayerTreeHost::setNeedsCommit):
        (WebCore::CCLayerTreeHost::setViewport):
        (WebCore::CCLayerTreeHost::setVisible):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCProxy.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::doCommit):
        (WebCore::CCSingleThreadProxy::setNeedsRedraw):
        (WebCore::CCSingleThreadProxy::setVisible):
        (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore::CCSingleThreadProxy::setNeedsRedrawOnImplThread):
        (WebCore::CCSingleThreadProxy::setNeedsCommitOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::setNeedsCommit):
        (WebCore::CCThreadProxy::setNeedsAnimateOnImplThread):
        (WebCore::CCThreadProxy::setVisible):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-11-01  Anna Cavender  <annacc@chromium.org>

        Makes [Reflect] work for constants.
        This is needed to avoid platform-specific define conflicts, specifically
        TextTrack::ERROR conflicts with a windows define.
        https://bugs.webkit.org/show_bug.cgi?id=70951

        Reviewed by Darin Adler.

        Test: media/track/track-constants.html

        * bindings/scripts/CodeGenerator.pm:
        (GenerateCompileTimeCheckForEnumsIfNeeded):
            Check for [Reflect] and assign name accordingly.

        * bindings/scripts/test/CPP/WebDOMTestObj.h:  Update test file.
        * bindings/scripts/test/JS/JSTestObj.cpp:  Update test file.
        (WebCore::jsTestObjCONST_JAVASCRIPT):
        * bindings/scripts/test/JS/JSTestObj.h:  Update test file.
        * bindings/scripts/test/ObjC/DOMTestObj.h:  Update test file.
        * bindings/scripts/test/TestObj.idl:  Update test file.
        * bindings/scripts/test/V8/V8TestObj.cpp:  Update test file.

        * html/LoadableTextTrack.cpp: Use new DOM const name.
        (WebCore::LoadableTextTrack::cueLoadingStarted):
        (WebCore::LoadableTextTrack::cueLoadingCompleted):
        * html/TextTrack.cpp:  Use new DOM const name.
        (WebCore::TextTrack::TextTrack):
        (WebCore::TextTrack::setMode):
        * html/TextTrack.h:  Use new DOM const name.
        * html/TextTrack.idl:  Use Reflect for ERROR, but leave other DOM const names.

2011-11-01  Levi Weintraub  <leviw@chromium.org>

        Amend missing uses of LayoutUnit in RenderBlock
        https://bugs.webkit.org/show_bug.cgi?id=71254

        Reviewed by Darin Adler.

        Switching relevant uses of integers in RenderBlock to LayoutUnits.

        No new tests -- no changes in behavior.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::adjustFloatingBlock):
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::paintColumnRules):
        (WebCore::RenderBlock::paintContents):
        (WebCore::clipOutPositionedObjects):
        (WebCore::RenderBlock::removeFloatingObject):
        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
        (WebCore::RenderBlock::getClearDelta):
        (WebCore::positionForPointRespectingEditingBoundaries):
        (WebCore::RenderBlock::calcColumnWidth):
        (WebCore::RenderBlock::layoutColumns):
        (WebCore::RenderBlock::adjustRectForColumns):
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        (WebCore::RenderBlock::baselinePosition):
        (WebCore::getHeightForLineCount):
        (WebCore::RenderBlock::setPaginationStrut):
        (WebCore::RenderBlock::applyBeforeBreak):
        (WebCore::RenderBlock::applyAfterBreak):
        (WebCore::RenderBlock::adjustForUnsplittableChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::availableLogicalWidthForLine):
        (WebCore::RenderBlock::paginationStrut):
        (WebCore::RenderBlock::availableLogicalWidthForContent):
        (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
        (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
        (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
        (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
        (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
        (WebCore::RenderBlock::MarginInfo::setMargin):
        (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
        (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
        (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):

2011-11-01  Luke Macpherson   <macpherson@chromium.org>

        WIP: Add CSS property to control printing of backgrounds for individual elements.
        https://bugs.webkit.org/show_bug.cgi?id=64583

        Reviewed by Eric Seidel.

        Added test LayoutTests/fast/css/webkit-color-adjust.html,
        Updated tests under LayoutTests/fast/css/getComputedStyle
        Updated test under LayoutTests/svg/css

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument):
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::initialForceBackgroundsToWhite):

2011-11-01  Dominic Cooney  <dominicc@chromium.org>

        Remove initErrorEvent method
        https://bugs.webkit.org/show_bug.cgi?id=71338

        Reviewed by Ojan Vafai.

        * dom/ErrorEvent.cpp: Crush.
        * dom/ErrorEvent.h: Kill.
        * dom/ErrorEvent.idl: Destroy.

2011-11-01  Julien Chaffraix  <jchaffraix@webkit.org>

        Pack RenderTableCell bits
        https://bugs.webkit.org/show_bug.cgi?id=71135

        Reviewed by Darin Adler.

        Tested by RenderTableCellTest unit test.
        (unfortunately Chromium specific...)

        This saves another 8 bytes on RenderTableCell on x86-64.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::RenderTableCell):
        * rendering/RenderTableCell.h:
        Changed the field order to use more strict packing.

        (WebCore::RenderTableCell::setCol):
        (WebCore::RenderTableCell::setRow):
        Added overflow checks to the 2 previous methods. We
        CRASH even in release to avoid potential badness
        (the limit is currently above 2 billions rows or columns
        which is high enough to prevent it being hit by accident)

2011-11-01  Emil A Eklund  <eae@chromium.org>

        Switch background/border image back to Int
        https://bugs.webkit.org/show_bug.cgi?id=71240

        Reviewed by Darin Adler.

        Switch background- and border-image rendering back to int to align with
        device pixels.

        No new tests.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
        (WebCore::RenderBoxModelObject::calculateFillTileSize):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        (WebCore::RenderBoxModelObject::paintNinePieceImage):
        (WebCore::calculateAdjustedInnerBorder):
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):

2011-11-01  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize JSObject::defineSetter
        https://bugs.webkit.org/show_bug.cgi?id=71303

        Reviewed by Darin Adler.

        No new tests.

        Added defineSetter to the MethodTable, changed all the virtual 
        implementations of defineSetter to static ones, and replaced 
        all call sites with corresponding lookups in the MethodTable.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::defineSetter):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::defineSetter):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):

2011-11-01  Emil A Eklund  <eae@chromium.org>

        Switch PopupMenuClient to layout abstraction
        https://bugs.webkit.org/show_bug.cgi?id=71308

        Reviewed by Darin Adler.

        Switch PopupMenuClient and rendering classes implementing it to layout
        type abstraction.

        No new tests.

        * platform/PopupMenuClient.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::listIndexAtOffset):
        (WebCore::RenderListBox::panScroll):
        (WebCore::RenderListBox::scrollToward):
        (WebCore::RenderListBox::scrollSize):
        (WebCore::RenderListBox::scrollPosition):
        (WebCore::RenderListBox::setScrollOffset):
        (WebCore::RenderListBox::verticalScrollbarWidth):
        Revert scroll positions and scroll offsets to ints to align with device
        pixels.
        
        * rendering/RenderListBox.h:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::showPopup):
        (WebCore::RenderMenuList::clientPaddingLeft):
        (WebCore::RenderMenuList::clientPaddingRight):
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::hitInnerTextElement):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
        * rendering/RenderTextControlSingleLine.h:

2011-11-01  Nate Chapin  <japhet@chromium.org>

        [chromium] As of r98380, ThreadableLoaderClients are having their
        ResourceRequest::TargetType clobbered. They set their own
        type, but CachedResourceRequest (through which they now flow)
        sets a TargetType without bothering to see if one has already been set.
        https://bugs.webkit.org/show_bug.cgi?id=70972

        Reviewed by Darin Fisher.

        No new tests, this is chromium-specific and only affects
        behavior seen in full builds of chromium.

        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::CachedResourceRequest::load):Don't setTargetType()
            if the value is something other than the default already.
        * platform/network/chromium/ResourceRequest.h: Change default
            TargetType to TargetIsUnspecified.

2011-11-01  Emil A Eklund  <eae@chromium.org>

        Use IntPoint for screen coordinates in MouseEvent
        https://bugs.webkit.org/show_bug.cgi?id=71327

        Reviewed by Darin Adler.

        Change mouse events to use int/IntPoint for screen/window coordinates and
        LayoutUnit/LayoutPoint for coordinates adjusted for zooming.

        No new tests.

        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
        (WebCore::MouseRelatedEvent::computeRelativePosition):
        * dom/MouseRelatedEvent.h:
        (WebCore::MouseRelatedEvent::screenLocation):
        Revert screenLocation and windowLocation back to int.

        * page/DragController.cpp:
        (WebCore::elementUnderMouse):
        Change elementUnderMouse to use a LayoutPoint for hit testing.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::clear):
        (WebCore::EventHandler::currentMousePosition):
        (WebCore::documentPointForWindowPoint):
        (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
        * page/EventHandler.h:
        Revert m_currentMousePosition to IntPoint as it represents a
        screen coordinate.

        * platform/PlatformMouseEvent.h:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        (WebCore::PlatformMouseEvent::pos):
        (WebCore::PlatformMouseEvent::x):
        (WebCore::PlatformMouseEvent::y):
        (WebCore::PlatformMouseEvent::globalX):
        (WebCore::PlatformMouseEvent::globalY):
        * platform/mac/PlatformMouseEventMac.mm:
        (WebCore::globalPoint):
        (WebCore::pointForEvent):
        (WebCore::globalPointForEvent):
        Revert PlatformMouseEvent to int/IntPoint as it represents a screen
        coordinate.

2011-11-01  Tony Chang  <tony@chromium.org>

        REGRESSION: -webkit-flex() should be an invalid value
        https://bugs.webkit.org/show_bug.cgi?id=71320

        Reviewed by Ojan Vafai.

        This regressed in http://trac.webkit.org/changeset/98773 .

        No new tests, covered by css3/flexbox/flex-parsing.html.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFlex):

2011-11-01  David Grogan  <dgrogan@chromium.org>

        IndexedDB: get EventQueue from ScriptExecutionContext instead of Document
        https://bugs.webkit.org/show_bug.cgi?id=71147

        When IDB is used from a worker thread ScriptExecutionContext will
        be a WorkerContext, not a Document.  This was the impetus behind
        moving EventQueue into ScriptExecutionContext in r98656.

        Reviewed by Nate Chapin.

        No new tests. No new functionality yet.

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::close):
        (WebCore::IDBDatabase::enqueueEvent):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::abort):
        (WebCore::IDBRequest::enqueueEvent):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::enqueueEvent):

2011-11-01  Andreas Kling  <kling@webkit.org>

        CSS: Remove unused virtual parseString() in style and keyframe rules.
        https://bugs.webkit.org/show_bug.cgi?id=71300

        Reviewed by Darin Adler.

        * css/CSSStyleRule.cpp:
        * css/CSSStyleRule.h:
        * css/WebKitCSSKeyframeRule.cpp:
        * css/WebKitCSSKeyframeRule.h:

2011-11-01  Emil A Eklund  <eae@chromium.org>

        Switch RenderObject to layout abstraction
        https://bugs.webkit.org/show_bug.cgi?id=71249

        Switch RenderObject to LayoutRect/Size/Point abstraction.

        Reviewed by Darin Adler.

        No new tests.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawLineForBoxSide):
        (WebCore::RenderObject::addPDFURLRect):
        (WebCore::RenderObject::absoluteBoundingBoxRect):
        (WebCore::RenderObject::absoluteFocusRingQuads):
        (WebCore::RenderObject::addAbsoluteRectForLayer):
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        (WebCore::RenderObject::computeRectForRepaint):
        (WebCore::RenderObject::viewRect):
        (WebCore::RenderObject::mapLocalToContainer):
        (WebCore::RenderObject::localCaretRect):
        (WebCore::RenderObject::addDashboardRegions):
        (WebCore::RenderObject::maximalOutlineSize):
        (WebCore::RenderObject::adjustRectForOutlineAndShadow):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
        (WebCore::RenderObject::absoluteClippedOverflowRect):
        (WebCore::RenderObject::computeAbsoluteRepaintRect):
        (WebCore::RenderObject::absoluteOutlineBounds):
        (WebCore::RenderObject::outlineBoundsForRepaint):
        (WebCore::adjustForAbsoluteZoom):

2011-11-01  Xiaomei Ji  <xji@chromium.org>

        Refactor: change Scrollable::m_scrollOrigin from protected to private.
        https://bugs.webkit.org/show_bug.cgi?id=71236

        Reviewed by Darin Adler.

        Only refactor, no new tests needed.

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollXForFixedPosition):
        (WebCore::FrameView::scrollYForFixedPosition):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::maximumScrollPosition):
        (WebCore::ScrollView::minimumScrollPosition):
        (WebCore::ScrollView::setScrollOffset):
        (WebCore::ScrollView::scrollPosition):
        (WebCore::ScrollView::overhangAmount):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::setScrollOrigin):
        (WebCore::ScrollableArea::setScrollOriginX):
        (WebCore::ScrollableArea::setScrollOriginY):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollTo):
        (WebCore::RenderLayer::scrollPosition):
        (WebCore::RenderLayer::minimumScrollPosition):
        (WebCore::RenderLayer::maximumScrollPosition):
        (WebCore::RenderLayer::computeScrollDimensions):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::scrollXOffset):
        (WebCore::RenderLayer::scrollYOffset):

2011-11-01  Dominic Cooney  <dominicc@chromium.org>

        display: table-cell and box-sizing: border-box calculates content-box height
        https://bugs.webkit.org/show_bug.cgi?id=69425

        Reviewed by Dan Bernstein.

        Test: fast/box-sizing/table-cell.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):

2011-11-01  Alok Priyadarshi  <alokp@chromium.org>

        [chromium] Add testing for --enable-accelerated-drawing
        https://bugs.webkit.org/show_bug.cgi?id=70822

        Reviewed by James Robinson.

        Test: platform/chromium/compositing/accelerated-drawing/alpha.html

        * WebCore.exp.in:
        * page/Settings.cpp:
        * page/Settings.h:
        (WebCore::Settings::setAcceleratedDrawingEnabled):
        * testing/Internals.cpp:
        (WebCore::Internals::setAcceleratedDrawingEnabled):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-11-01  Tim Horton  <timothy_horton@apple.com>

        SVG Filter on a group doesn't invalidate when children are moved
        https://bugs.webkit.org/show_bug.cgi?id=70044
        <rdar://problem/10281530>

        Reviewed by Nikolas Zimmermann.

        Call SVGResourcesCache::clientLayoutChanged whenever the element or its children need layout. Previously,
        invalidation was only performed if the element itself needed layout; now we also invalidate if any child
        needs layout and there is a filter applied, as the cached filter result can depend on the layout of children.

        Test: svg/filters/invalidate-on-child-layout.svg

        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        * rendering/svg/SVGResourcesCache.cpp:
        (WebCore::SVGResourcesCache::clientLayoutChanged):

2011-11-01  Jer Noble  <jer.noble@apple.com>

        Four media tests failing on Lion due to incorrect cached times.
        https://bugs.webkit.org/show_bug.cgi?id=69574

        Reviewed by Eric Carlson.

        Do not invalidate the cached time when receiving a mediaPlayerRateChanged notification
        while paused. AVFoundation in particular can return different results for currentTime()
        when asked after being paused, breaking layout tests.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerRateChanged):

2011-11-01  Gavin Peters  <gavinp@chromium.org>

        properly end requests when a bad status code return happens
        https://bugs.webkit.org/show_bug.cgi?id=71122

        Calling error without ending the request set up the CachedResourceRequest so that it could
        actually send out two notifyFinished() events.  This probably was the root cause of
        lots of crashing instability; I know from crbug.com/75604 that this bug was causing lots
        of crashes in ScriptRunner/ScriptElement for instance.

        The fix is easy: just properly end the request instead of just calling error, and we won't
        re-notify.

        Reviewed by Nate Chapin.

        No new tests, as the problem wasn't very amenable to layout tests.
        There is a chromium test going through code review at http://codereview.chromium.org/8404001/

        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::CachedResourceRequest::didReceiveData):

2011-11-01  Erik Arvidsson  <arv@chromium.org>

        Remove LegacyDefaultOptionalArguments flag from CanvasRenderingContext2d
        https://bugs.webkit.org/show_bug.cgi?id=64628

        Reviewed by Adam Barth.

        Covered by existing tests.

        * html/canvas/CanvasRenderingContext2D.idl:

2011-11-01  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION(98738): RenderTableSection::recalcCells does not properly shrink the RowStruct grid
        https://bugs.webkit.org/show_bug.cgi?id=71246

        Reviewed by Darin Adler.

        Tests: fast/table/crash-empty-section-calcBorder.html
               fast/table/crash-empty-section-fixed-layout-calcArray.html

        The refactoring in r98738 changed the way we handle the size to avoid throwing off
        the memory. The new logic would end up never shrinking the grid's size (prior to that
        we would grow to the appropriate size and throw the excess capacity with shrinkToFit).
        Not shrinking would mean that we would potentially read RowStruct with the default values
        (for instance no |rowRenderer|).

        addCell will properly grow the grid as needed to accomodate the rows and the protruding
        cells with a rowspan so we introduce a variable to keep track of the size needed. At the
        end, we just shrink it to this size.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::recalcCells):
        Introduce a variable to keep the grid size and shrink to that size to match the old code.

2011-11-01  Andrey Kosyakov  <caseq@chromium.org>

        [Chromium] Some media/video-*.html layout tests occasionally crash on WIN GPU
        https://bugs.webkit.org/show_bug.cgi?id=71277

        Reviewed by Simon Fraser.

        Disabled assert() in hasVisibleDescendant() until callers are fixed.

        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::hasVisibleDescendant):

2011-11-01  Mike Reed  <reed@google.com>

        [skia] call readPixels on canvas instead of device (will be private on device soon) and check for error
        https://bugs.webkit.org/show_bug.cgi?id=71284

        Reviewed by Stephen White.

        No new tests. This is preparing for an API change to Skia.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):

2011-11-01  Andreas Kling  <kling@webkit.org>

        CSSStyleSheet: Operate directly on the rule vector internally.

        Rubber-stamped by Antti Koivisto.

        There's no need to go through the public, range-checking item() method
        working on m_children. Also changed length() -> m_children.size().

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::~CSSStyleSheet):
        (WebCore::CSSStyleSheet::insertRule):
        (WebCore::CSSStyleSheet::addRule):
        (WebCore::CSSStyleSheet::deleteRule):
        (WebCore::CSSStyleSheet::isLoading):
        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):

2011-11-01  Andreas Kling  <kling@webkit.org>

        CSSRule: Devirtualize addSubresourceStyleURLs()
        https://bugs.webkit.org/show_bug.cgi?id=71285

        Reviewed by Antti Koivisto.

        Move addSubresourceStyleURLs() into the rules that actually implement it.
        Add type checks and casts at the (only) call site.

        * css/CSSFontFaceRule.h:
        * css/CSSImportRule.h:
        * css/CSSRule.h:
        * css/CSSStyleRule.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):

2011-11-01  Chris Fleizach  <cfleizach@apple.com>

        AX: some popup buttons not announced by VoiceOver
        https://bugs.webkit.org/show_bug.cgi?id=67743

        Reviewed by Darin Adler.

        Test: platform/mac/accessibility/aria-popup-buttons-on-native-elements.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::title):
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):

2011-11-01  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Style-based CSS properties are editable and toggleable
        https://bugs.webkit.org/show_bug.cgi?id=71275

        Reviewed by Pavel Feldman.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.onpopulate):

2011-11-01  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: do not switch panels on Cmd + ->  while in console.
        https://bugs.webkit.org/show_bug.cgi?id=71281

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/InspectorView.js:
        (WebInspector.InspectorView.prototype._keyDown):

2011-11-01  Zeno Albisser  <zeno.albisser@nokia.com>

        [Qt] bad codegen, pointer diff in JSC::JSCallbackConstructor::JSCallbackConstructor
        https://bugs.webkit.org/show_bug.cgi?id=60951

        Adjust symbols visibility for WebCore.

        Reviewed by Simon Hausmann.

        * WebCore.pro:

2011-11-01  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: add InspectorView.js entry into WebKit.qrc

        * inspector/front-end/WebKit.qrc:

2011-11-01  Pavel Feldman  <pfeldman@google.com>


        Web Inspector: introduce PanelContainer class, start moving panel management from inspector.js to the new class.
        https://bugs.webkit.org/show_bug.cgi?id=71272

        Reviewed by Yury Semikhatsky.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        (WebInspector.Drawer.prototype.hide):
        (WebInspector.Drawer.prototype._statusBarDragging):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.switchToAndFocus):
        (WebInspector.ElementsPanel.prototype.revealAndSelectNode):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype.setVisible):
        * inspector/front-end/InspectorView.js: Added.
        (WebInspector.InspectorView):
        (WebInspector.InspectorView.prototype.addPanel):
        (WebInspector.InspectorView.prototype.currentPanel):
        (WebInspector.InspectorView.prototype._keyDown):
        (WebInspector.InspectorView.prototype._canGoBackInHistory):
        (WebInspector.InspectorView.prototype._goBackInHistory):
        (WebInspector.InspectorView.prototype._canGoForwardInHistory):
        (WebInspector.InspectorView.prototype._goForwardInHistory):
        (WebInspector.InspectorView.prototype._pushToHistory):
        * inspector/front-end/KeyboardShortcut.js:
        (WebInspector.KeyboardShortcut.eventHasCtrlOrMeta):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.show):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
        * inspector/front-end/SearchController.js:
        (WebInspector.SearchController.prototype.updateSearchMatchesCount):
        (WebInspector.SearchController.prototype.updateCurrentMatchIndex):
        (WebInspector.SearchController.prototype.updateSearchLabel):
        (WebInspector.SearchController.prototype.handleShortcut):
        (WebInspector.SearchController.prototype._performSearch):
        * inspector/front-end/Toolbar.js:
        (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
        (WebInspector.Toolbar.createPanelToolbarItem):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/externs.js:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):
        (WebInspector._panelSelected):
        (WebInspector.addPanel):
        (WebInspector.windowResize):
        (WebInspector.documentKeyDown):
        (WebInspector.documentCanCopy):
        (WebInspector.documentCopy):
        (WebInspector.showPanel):
        (WebInspector.startUserInitiatedDebugging):
        (WebInspector.inspect):
        (WebInspector._showAnchorLocationInPanel):
        (WebInspector._toolbarItemClicked):
        * inspector/front-end/treeoutline.js:
        (TreeElement.prototype.select):

2011-11-01  Simon Hausmann  <simon.hausmann@nokia.com>

        [WK2] Add WebGestureEvents to the Qt build and enable PlatformGestureEvent::TapType
        https://bugs.webkit.org/show_bug.cgi?id=71274

        Reviewed by Kenneth Christiansen.

        * features.pri: Enable GESTURE_EVENTS.

2011-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98847.
        http://trac.webkit.org/changeset/98847
        https://bugs.webkit.org/show_bug.cgi?id=71268

        "Debugger test failures on multiple platforms" (Requested by
        yurys on #webkit).

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._addScript):
        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
        (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
        (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
        (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
        (WebInspector.RawSourceCode.prototype._createSourceMapping):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.editSource):

2011-10-30  Filip Pizlo  <fpizlo@apple.com>

        The GC should be parallel
        https://bugs.webkit.org/show_bug.cgi?id=70995

        Reviewed by Geoff Garen.
        
        Added parallel tracing to the GC. This required loosening some assertions,
        since some code may now be called from outside the main thread.

        No new tests, since no behavior was changed.

        * platform/TreeShared.h:
        (WebCore::TreeShared::parent):

2011-10-31  Andy Estes  <aestes@apple.com>

        Document pointer not null-checked in FrameView::isOnActivePage()
        https://bugs.webkit.org/show_bug.cgi?id=71265
        <rdar://problem/10374427>

        Reviewed by Dan Bernstein.

        Return false in FrameView::isOnActivePage() if m_frame->document() is
        null. Other calls to m_frame->document() in FrameView also have a null
        check. The frame can have a null document if the FrameLoader is loading
        the initial empty document.

        No test possible without triggering assertions in debug builds. This is
        tracked by <http://webkit.org/b/71264>.

        * page/FrameView.cpp:
        (WebCore::FrameView::isOnActivePage):

2011-10-31  Jeremy Apthorp  <jeremya@google.com>

        Fix a crash relating to anonymous block merging in
        RenderFullScreen::unwrapRenderer.
        https://bugs.webkit.org/show_bug.cgi?id=70705

        Reviewed by Simon Fraser.

        Test: fullscreen/anonymous-block-merge-crash.html

        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::unwrapRenderer):

2011-10-31  Dave Michael  <dmichael@chromium.org>

        V8MessageEvent::dataAccessorGetter does not return a reference to its caller
        https://bugs.webkit.org/show_bug.cgi?id=71229

        Reviewed by Adam Barth.

        Test: fast/events/dispatch-message-string-data.html

        * bindings/v8/custom/V8MessageEventCustom.cpp:
        (WebCore::V8MessageEvent::dataAccessorGetter):

2011-10-31  Renata Hodovan  <reni@webkit.org>

        [Qt] Build fix after r98853.

        Rubber-stamped by Andreas Kling.

        * xml/XSLImportRule.cpp:
        * xml/XSLImportRule.h:
        (WebCore::XSLImportRule::parentStyleSheet):

2011-10-31  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize JSObject::defaultValue
        https://bugs.webkit.org/show_bug.cgi?id=71146

        Reviewed by Sam Weinig.

        No new tests.

        Added defaultValue to the MethodTable.  Replaced all virtual versions of 
        defaultValue with static versions.  Replaced all call sites with lookups in the 
        MethodTable.

        * WebCore.exp.in:
        * bridge/objc/objc_runtime.h:
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::defaultValue):
        * bridge/runtime_object.h:

2011-10-31  Levi Weintraub  <leviw@chromium.org>

        Switch RoundedRect back to integers
        https://bugs.webkit.org/show_bug.cgi?id=71238

        Reviewed by Darin Adler.

        Changing RoundedRect back to ints from LayoutUnits. As further testing has shown, this graphics-
        focused class should maintain values aligned to pixel boundaries, and therefor kept as integers.

        No new tests -- no change in behavior.

        * platform/graphics/RoundedRect.cpp:
        (WebCore::RoundedRect::Radii::scale):
        (WebCore::RoundedRect::Radii::expand):
        (WebCore::RoundedRect::inflateWithRadii):
        (WebCore::RoundedRect::Radii::excludeLogicalEdges):
        (WebCore::RoundedRect::RoundedRect):
        * platform/graphics/RoundedRect.h:
        (WebCore::RoundedRect::Radii::Radii):
        (WebCore::RoundedRect::Radii::setTopLeft):
        (WebCore::RoundedRect::Radii::setTopRight):
        (WebCore::RoundedRect::Radii::setBottomLeft):
        (WebCore::RoundedRect::Radii::setBottomRight):
        (WebCore::RoundedRect::Radii::topLeft):
        (WebCore::RoundedRect::Radii::topRight):
        (WebCore::RoundedRect::Radii::bottomLeft):
        (WebCore::RoundedRect::Radii::bottomRight):
        (WebCore::RoundedRect::Radii::expand):
        (WebCore::RoundedRect::Radii::shrink):
        (WebCore::RoundedRect::rect):
        (WebCore::RoundedRect::setRect):
        (WebCore::RoundedRect::move):
        (WebCore::RoundedRect::inflate):
        (WebCore::RoundedRect::expandRadii):
        (WebCore::RoundedRect::shrinkRadii):
        * rendering/svg/SVGRenderSupport.h: Adding missing LayoutTypes.h include

2011-10-31  Peter Kasting  <pkasting@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=70666
        BitmapImage::dataChanged() needs to clear all incomplete frames.

        Reviewed by James Robinson.

        No tests, as I don't know of a way to send an image to the renderer in
        small pieces (with script run between pieces no less).

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::dataChanged):

2011-10-31  Levi Weintraub  <leviw@chromium.org>

        Amend missing uses of LayoutUnits in RenderApplet, Button, and DeprecatedFlexibleBox
        https://bugs.webkit.org/show_bug.cgi?id=71243

        Reviewed by Eric Seidel.

        Replacing remaining integer uses with LayoutUnits in the aforementioned classes.

        No new tests -- no change in behavior.

        * rendering/RenderApplet.cpp:
        (WebCore::RenderApplet::intrinsicSize):
        (WebCore::RenderApplet::createWidgetIfNecessary):
        * rendering/RenderApplet.h:
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::controlClipRect):
        * rendering/RenderButton.h:
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::marginWidthForChild):
        (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
        * rendering/RenderDeprecatedFlexibleBox.h:

2011-10-31  Tommy Widenflycht  <tommyw@google.com>

        [Chromium] Media Stream API: add the Chromium WebKit interfaces
        https://bugs.webkit.org/show_bug.cgi?id=58550

        Changes the PeerHandler platform interface so that embedders can more easily use it.

        Reviewed by Darin Fisher.

        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * mediastream/PeerConnection.cpp:
        (WebCore::PeerConnection::PeerConnection):
        (WebCore::PeerConnection::didCompleteICEProcessing):
        (WebCore::PeerConnection::didGenerateSDP):
        (WebCore::PeerConnection::didReceiveDataStreamMessage):
        (WebCore::PeerConnection::didAddRemoteStream):
        (WebCore::PeerConnection::didRemoveRemoteStream):
        * mediastream/PeerConnection.h:
        * platform/mediastream/PeerConnectionHandlerClient.h: Copied from Source/WebCore/platform/mediastream/PeerHandler.cpp.
        (WebCore::PeerConnectionHandlerClient::~PeerConnectionHandlerClient):
        * platform/mediastream/chromium/PeerConnectionHandler.h: Copied from Source/WebCore/platform/mediastream/PeerHandler.h.
        * platform/mediastream/gstreamer/PeerConnectionHandler.cpp: Copied from Source/WebCore/platform/mediastream/PeerHandler.cpp.
        (WebCore::PeerConnectionHandler::create):
        (WebCore::PeerConnectionHandler::PeerConnectionHandler):
        (WebCore::PeerConnectionHandler::~PeerConnectionHandler):
        (WebCore::PeerConnectionHandler::produceInitialOffer):
        (WebCore::PeerConnectionHandler::handleInitialOffer):
        (WebCore::PeerConnectionHandler::processSDP):
        (WebCore::PeerConnectionHandler::processPendingStreams):
        (WebCore::PeerConnectionHandler::sendDataStreamMessage):
        (WebCore::PeerConnectionHandler::stop):
        * platform/mediastream/gstreamer/PeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/PeerHandler.h.

        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

2011-10-31  Adam Roben  <aroben@apple.com>

        Fix linker warnings on Windows

        * WebCore.vcproj/WebCore.vcproj: Exclude SpellingCorrectionCommand.cpp and
        JSRequestAnimationFrameCallback.cpp from all configurations. They are already getting
        compiled via *AllInOne.cpp files.

2011-10-31  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>

        [GStreamer] Don't use GOwnPtr for ref-counted objects
        https://bugs.webkit.org/show_bug.cgi?id=71042

        Reviewed by Martin Robinson.

        * CMakeListsEfl.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Removed.
        * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Removed.
        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::enterFullscreen):
        (WebCore::GStreamerGWorld::exitFullscreen):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
        (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):

2011-10-28  Nat Duca  <nduca@chromium.org>

        [chromium] Connect CCThreadProxy to FrameRateController and SchedulerStateMachine via CCScheduler
        https://bugs.webkit.org/show_bug.cgi?id=71100

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
        (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCLayerTreeHostClient::didCommitAndDrawFrame):
        (WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCSchedulerFrameRateControllerClientAdapter::create):
        (WebCore::CCSchedulerFrameRateControllerClientAdapter::~CCSchedulerFrameRateControllerClientAdapter):
        (WebCore::CCSchedulerFrameRateControllerClientAdapter::beginFrame):
        (WebCore::CCSchedulerFrameRateControllerClientAdapter::CCSchedulerFrameRateControllerClientAdapter):
        (WebCore::CCScheduler::CCScheduler):
        (WebCore::CCScheduler::~CCScheduler):
        (WebCore::CCScheduler::setNeedsAnimate):
        (WebCore::CCScheduler::setNeedsCommit):
        (WebCore::CCScheduler::setNeedsRedraw):
        (WebCore::CCScheduler::beginFrameComplete):
        (WebCore::CCScheduler::didSwapBuffersComplete):
        (WebCore::CCScheduler::didSwapBuffersAbort):
        (WebCore::CCScheduler::onBeginFrame):
        (WebCore::CCScheduler::processScheduledActions):
        * platform/graphics/chromium/cc/CCScheduler.h:
        (WebCore::CCScheduler::create):
        (WebCore::CCScheduler::commitPending):
        (WebCore::CCScheduler::redrawPending):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
        (WebCore::CCSchedulerStateMachine::nextAction):
        (WebCore::CCSchedulerStateMachine::updateState):
        (WebCore::CCSchedulerStateMachine::beginUpdateMoreResourcesComplete):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
        (WebCore::CCSchedulerStateMachine::redrawPending):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
        (WebCore::CCSingleThreadProxy::doCommit):
        (WebCore::CCSingleThreadProxy::doComposite):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
        (WebCore::CCTextureUpdater::hasMoreUpdates):
        * platform/graphics/chromium/cc/CCTextureUpdater.h:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::CCThreadProxy):
        (WebCore::CCThreadProxy::compositeAndReadback):
        (WebCore::CCThreadProxy::requestReadbackOnImplThread):
        (WebCore::CCThreadProxy::setNeedsAnimateOnImplThread):
        (WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
        (WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
        (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
        (WebCore::CCThreadProxy::scheduledActionBeginFrame):
        (WebCore::CCThreadProxy::beginFrameAndCommit):
        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
        (WebCore::CCThreadProxy::hasMoreResourceUpdates):
        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
        (WebCore::CCThreadProxy::scheduledActionCommit):
        (WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
        (WebCore::CCThreadProxy::didCommitAndDrawFrame):
        (WebCore::CCThreadProxy::initializeImplOnImplThread):
        (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-10-31  Nate Chapin  <japhet@chromium.org>

        Rename the remaining uses of Cue in WebCore/loader/
        to TextTrack.
        https://bugs.webkit.org/show_bug.cgi?id=71231

        Reviewed by Eric Carlson.

        No new tests, strictly a renaming.

        * loader/TextTrackLoader.cpp:
        * loader/cache/CachedResource.cpp:
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.cpp:
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/CachedResourceRequest.cpp:
        * loader/cache/CachedTextTrack.cpp:
        * platform/network/chromium/ResourceRequest.h:

2011-10-27  Adam Klein  <adamk@chromium.org>

        [MutationObservers] Support characterDataOldValue for characterData mutations
        https://bugs.webkit.org/show_bug.cgi?id=70862

        Reviewed by Ojan Vafai.

        * dom/CharacterData.cpp:
        (WebCore::hasOldValue):
        (WebCore::isOldValueRequested):
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/MutationRecord.cpp:
        (WebCore::MutationRecord::createCharacterData):
        * dom/MutationRecord.h:

2011-10-31  Sam Weinig  <sam@webkit.org>

        Remove need for virtual JSObject::unwrappedObject
        https://bugs.webkit.org/show_bug.cgi?id=71034

        Reviewed by Geoffrey Garen.

        Move the member containing the global object from the JSDOMWindowShell
        down to the JSGlobalThis class, and update JSDOMWindowShell to go through
        an inline helper (which just casts) to get the window.

        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::setWindow):
        (WebCore::JSDOMWindowShell::className):
        (WebCore::JSDOMWindowShell::getOwnPropertySlot):
        (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
        (WebCore::JSDOMWindowShell::put):
        (WebCore::JSDOMWindowShell::putWithAttributes):
        (WebCore::JSDOMWindowShell::defineOwnProperty):
        (WebCore::JSDOMWindowShell::deleteProperty):
        (WebCore::JSDOMWindowShell::getPropertyNames):
        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
        (WebCore::JSDOMWindowShell::defineGetter):
        (WebCore::JSDOMWindowShell::defineSetter):
        (WebCore::JSDOMWindowShell::lookupGetter):
        (WebCore::JSDOMWindowShell::lookupSetter):
        (WebCore::JSDOMWindowShell::impl):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::window):
        (WebCore::JSDOMWindowShell::setWindow):
        (WebCore::JSDOMWindowShell::createStructure):

2011-10-29  Ryosuke Niwa  <rniwa@webkit.org>

        WebKit nests pre on copy and paste when the pre is the root editable element
        https://bugs.webkit.org/show_bug.cgi?id=70800

        Reviewed by Darin Adler.

        Fixed the bug by removing nested block elements in removeRedundantStylesAndKeepStyleSpanInline.

        Tests: editing/pasteboard/contenteditable-pre-2.html
               editing/pasteboard/contenteditable-pre.html

        * editing/ApplyStyleCommand.cpp:
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Remove block
        elements if it's identical to its parent and there are no contents between the two. Also remove
        contenteditable attribute from an element if the parent is already richly editable.
        (WebCore::ReplaceSelectionCommand::doApply): Remove redundant styles after removing the placeholder
        br so that the above check doesn't get affected by the placeholder.
        * editing/htmlediting.cpp:
        (WebCore::areIdenticalElements): Moved from ApplyStyleCommand.
        (WebCore::isNonTableCellHTMLBlockElement): Moved from markup.cpp.
        * editing/htmlediting.h:
        * editing/markup.cpp:

2011-10-31  Vineet Chaudhary  <vineet.chaudhary@motorola.com>

        text/plain form encoding ignored and incorrectly specified in request header.
        https://bugs.webkit.org/show_bug.cgi?id=20795

        Reviewed by Darin Adler.

        This patch fixes the behaviour of forms where enctype is set to
        text/plain, encoding is also text/plain.

        Tests: fast/forms/form-get-textplain.html
               http/tests/misc/form-post-textplain.html

        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::create):
        * platform/network/FormData.cpp:
        (WebCore::FormData::create):
        (WebCore::FormData::appendKeyValuePairItems):
        * platform/network/FormData.h:
        (WebCore::FormData::parseEncodingType):
        * platform/network/FormDataBuilder.cpp:
        (WebCore::FormDataBuilder::addKeyValuePairAsFormData): Modified encoding scheme for text/plain.
        * platform/network/FormDataBuilder.h:

2011-10-31  John Gregg  <johnnyg@google.com>

        RenderImage.cpp calls SVGImage even if it's not defined
        https://bugs.webkit.org/show_bug.cgi?id=71247

        This fixes a compile error when ENABLE_SVG=0.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::embeddedContentBox):

2011-10-31  Pavel Podivilov  <podivilov@chromium.org>

        Update XMLHttpRequest.send idl declaration to match implementation.
        https://bugs.webkit.org/show_bug.cgi?id=71121

        Reviewed by Adam Barth.

        * xml/XMLHttpRequest.idl:

2011-10-31  Anders Carlsson  <andersca@apple.com>

        More work on making plug-ins work better with transforms
        https://bugs.webkit.org/show_bug.cgi?id=71241

        Reviewed by Darin Adler.

        Export symbols used by WebKit2.

        * WebCore.exp.in:

2011-10-31  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize JSObject::defineGetter
        https://bugs.webkit.org/show_bug.cgi?id=71134

        Reviewed by Darin Adler.

        No new tests.

        Added defineGetter to the MethodTable.  Replaced all virtual versions of defineGetter
        with static versions.  Replaced all call sites with lookups in the MethodTable.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::defineGetter):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::defineGetter):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::defineGetter):
        (WebCore::JSLocationPrototype::defineGetter):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):

2011-10-31  Arko Saha  <arko@motorola.com>

        Microdata: Support for itemid attribute.
        https://bugs.webkit.org/show_bug.cgi?id=71007

        Reviewed by Ryosuke Niwa.

        itemid attribute: To give a global identifier for the Microdata items.
        The itemid attribute, if specified, must have a value that is a valid URL potentially
        surrounded by spaces.
        Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#attr-itemid

        Tests: fast/dom/MicroData/itemid-attribute-test.html
               fast/dom/MicroData/itemid-must-see-resolved-url.html

        * html/HTMLElement.idl:

2011-10-31  Yury Semikhatsky  <yurys@chromium.org>

        window.onerror doesn't work with inline (attribute) scripts
        https://bugs.webkit.org/show_bug.cgi?id=70991

        Uncaught syntax errors in inline event handlers are now reported to
        window.onerror handler.

        Reviewed by Geoffrey Garen.

        Tests: fast/events/window-onerror-exception-in-attr.html
               fast/events/window-onerror-syntax-error-in-attr.html

        * bindings/js/JSLazyEventListener.cpp:
        (WebCore::JSLazyEventListener::initializeJSFunction): report exception as usual
        if it happens during event handler compilation.

2011-10-31  Emil A Eklund  <eae@chromium.org>

        Overridden LayoutRect method still uses IntRects
        https://bugs.webkit.org/show_bug.cgi?id=71166

        Reviewed by Eric Seidel.

        Change all virtual controlClipRect, windowResizerRect, windowClipRect,
        visibleContentRect, scrollCornerRect, outlineBoundsForRepaint and
        localCaretRect functions to have the same signature.

        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRect):
        (WebCore::FrameView::windowClipRectForLayer):
        (WebCore::FrameView::windowResizerRect):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        * platform/ScrollableArea.h:
        * rendering/RenderButton.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::visibleContentRect):
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::localCaretRect):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::outlineBoundsForRepaint):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::localCaretRect):
        (WebCore::RenderText::linesBoundingBox):
        * rendering/RenderText.h:
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::localCaretRect):
        * rendering/svg/RenderSVGInlineText.h:

2011-10-31  Dmitry Lomov  <dslomov@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=70658
        [JSC] Implement MessagePort transfer in JSC bindings implementation of webkitPostMessage.
        Transfer of MessagePorts implemented.

        Reviewed by David Levin.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::serialize):
        (WebCore::CloneSerializer::CloneSerializer):
        (WebCore::CloneSerializer::dumpIfTerminal):
        (WebCore::CloneDeserializer::deserialize):
        (WebCore::CloneDeserializer::CloneDeserializer):
        (WebCore::CloneDeserializer::readTerminal):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::deserialize):

2011-10-31  Andreas Kling  <kling@webkit.org>

        CSSRule: Devirtualize insertedIntoParent()
        https://bugs.webkit.org/show_bug.cgi?id=71223

        Reviewed by Antti Koivisto.

        Moved insertedIntoParent() down into CSSImportRule and renamed it to
        requestStyleSheet(). CSSImportRule is the only user of this function.

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::requestStyleSheet):
        * css/CSSImportRule.h:
        * css/CSSRule.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::append):
        (WebCore::CSSStyleSheet::insertRule):

2011-10-31  Anna Cavender  <annacc@chromium.org>

        Implement load notification and events for <track>.
        https://bugs.webkit.org/show_bug.cgi?id=71054

        Reviewed by Eric Carlson.

        Tests: media/track/track-load-error-readyState.html
               media/track/track-load-from-element-readyState.html
               media/track/track-load-from-src-readyState.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::trackWasAdded):
        (WebCore::HTMLMediaElement::trackWillBeRemoved):
        (WebCore::HTMLMediaElement::trackSourceChanged):
        * html/HTMLMediaElement.h:
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::insertedIntoTree):
        (WebCore::HTMLTrackElement::willRemove):
        (WebCore::HTMLTrackElement::parseMappedAttribute):
        (WebCore::HTMLTrackElement::attributeChanged):
        * html/HTMLTrackElement.h:
        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::cueLoadingCompleted):

2011-10-31  Andreas Kling  <kling@webkit.org>

        CSSRule: Devirtualize type() and isFooRule()
        https://bugs.webkit.org/show_bug.cgi?id=71221

        Reviewed by Antti Koivisto.

        Store the rule type in a CSSRule member (packed with the parent-is-rule flag)
        and let the isFooRule() functions return type() == FOO_TYPE.

        CSSPageRule will no longer return true for isStyleRule(), tweaked call sites
        accordingly.

        * css/CSSCharsetRule.cpp:
        (WebCore::CSSCharsetRule::CSSCharsetRule):
        * css/CSSCharsetRule.h:
        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::CSSFontFaceRule):
        * css/CSSFontFaceRule.h:
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::CSSImportRule):
        * css/CSSImportRule.h:
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::CSSMediaRule):
        * css/CSSMediaRule.h:
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::CSSPageRule):
        * css/CSSPageRule.h:
        * css/CSSRegionStyleRule.cpp:
        (WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
        * css/CSSRegionStyleRule.h:
        * css/CSSRule.h:
        (WebCore::CSSRule::type):
        (WebCore::CSSRule::isCharsetRule):
        (WebCore::CSSRule::isFontFaceRule):
        (WebCore::CSSRule::isKeyframeRule):
        (WebCore::CSSRule::isKeyframesRule):
        (WebCore::CSSRule::isMediaRule):
        (WebCore::CSSRule::isPageRule):
        (WebCore::CSSRule::isStyleRule):
        (WebCore::CSSRule::isRegionStyleRule):
        (WebCore::CSSRule::isImportRule):
        (WebCore::CSSRule::CSSRule):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::CSSStyleRule):
        * css/CSSStyleRule.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::RuleSet::addPageRule):
        (WebCore::RuleSet::addRulesFromSheet):
        (WebCore::RuleSet::addStyleRule):
        * css/CSSUnknownRule.h:
        (WebCore::CSSUnknownRule::CSSUnknownRule):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
        * css/WebKitCSSKeyframeRule.h:
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
        * css/WebKitCSSKeyframesRule.h:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::asCSSStyleRule):

2011-10-31  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: reorder inspector js files to fix remote mode.

        * inspector/front-end/inspector.html:

2011-10-28  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [refactoring] TextPrompt: ensure encapsulation, extract history management
        https://bugs.webkit.org/show_bug.cgi?id=70936

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView):
        (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._attributesModified):
        (WebInspector.StylePropertyTreeElement.prototype.selectElement):
        (WebInspector.StylePropertyTreeElement.prototype.selectElement.context):
        (WebInspector.StylePropertyTreeElement.prototype.selectElement.event):
        (WebInspector.StylePropertyTreeElement.prototype):
        (WebInspector.StylePropertyTreeElement.prototype.context.event):
        ():
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt):
        (WebInspector.TextPrompt.prototype.get proxyElement):
        (WebInspector.TextPrompt.prototype.attach):
        (WebInspector.TextPrompt.prototype.attachAndStartEditing):
        (WebInspector.TextPrompt.prototype._attachInternal):
        (WebInspector.TextPrompt.prototype.detach):
        (WebInspector.TextPrompt.prototype.get text):
        (WebInspector.TextPrompt.prototype.set text):
        (WebInspector.TextPrompt.prototype._removeFromElement):
        (WebInspector.TextPrompt.prototype._startEditing):
        (WebInspector.TextPrompt.prototype._stopEditing):
        (WebInspector.TextPrompt.prototype._selectStart.moveBackIfOutside):
        (WebInspector.TextPrompt.prototype._selectStart):
        (WebInspector.TextPrompt.prototype.defaultKeyHandler):
        (WebInspector.TextPrompt.prototype._onKeyDown):
        (WebInspector.TextPrompt.prototype.clearAutoComplete):
        (WebInspector.TextPrompt.prototype.complete):
        (WebInspector.TextPrompt.prototype._completionsReady):
        (WebInspector.TextPrompt.prototype.isCaretInsidePrompt):
        (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
        (WebInspector.TextPrompt.prototype.isCaretOnFirstLine):
        (WebInspector.TextPrompt.prototype.isCaretOnLastLine):
        (WebInspector.TextPrompt.prototype.moveCaretToEndOfPrompt):
        (WebInspector.TextPrompt.prototype.upKeyPressed):
        (WebInspector.TextPrompt.prototype.downKeyPressed):
        (WebInspector.TextPrompt.prototype.tabKeyPressed):
        (WebInspector.TextPromptConfig):
        (WebInspector.TextPromptWithHistory):
        (WebInspector.TextPromptWithHistory.prototype.get historyData):
        (WebInspector.TextPromptWithHistory.prototype.setHistoryData):
        (WebInspector.TextPromptWithHistory.prototype.pushHistoryItem):
        (WebInspector.TextPromptWithHistory.prototype._pushCurrentText):
        (WebInspector.TextPromptWithHistory.prototype._previous):
        (WebInspector.TextPromptWithHistory.prototype._next):
        (WebInspector.TextPromptWithHistory.prototype._currentHistoryItem):
        (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):

2011-10-31  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: move localization support into UIUtil.js, reduce externs.
        https://bugs.webkit.org/show_bug.cgi?id=71220

        Reviewed by Yury Semikhatsky.

        * inspector/compile-front-end.sh:
        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.SearchView.prototype.focus):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.afterShow):
        * inspector/front-end/Drawer.js:
        * inspector/front-end/GoToLineDialog.js:
        (WebInspector.GoToLineDialog.prototype._hide):
        * inspector/front-end/HelpScreen.js:
        (WebInspector.HelpScreen.prototype.show):
        (WebInspector.HelpScreen.prototype.hide):
        (WebInspector.HelpScreen.prototype._onBlur):
        * inspector/front-end/InspectorFrontendHostStub.js:
        * inspector/front-end/KeyboardShortcut.js:
        (WebInspector.KeyboardShortcut._keyName):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.wasShown):
        * inspector/front-end/SearchController.js:
        (WebInspector.SearchController.prototype._onSearchFieldManualFocus):
        (WebInspector.SearchController.prototype._onKeyDown):
        * inspector/front-end/Settings.js:
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        * inspector/front-end/Toolbar.js:
        (WebInspector.Toolbar.prototype._toolbarDragStart):
        * inspector/front-end/UIUtils.js:
        (WebInspector.startEditing.cleanUpAfterEditing):
        (WebInspector.startEditing.var):
        (WebInspector.startEditing):
        (WebInspector.UIString):
        (WebInspector.useLowerCaseMenuTitles):
        (WebInspector.platform):
        (WebInspector.isMac):
        (WebInspector.platformFlavor):
        (WebInspector.port):
        (WebInspector.installPortStyles):
        (WebInspector._windowFocused):
        (WebInspector._windowBlurred):
        (WebInspector.previousFocusElement):
        (WebInspector.currentFocusElement):
        (WebInspector._focusChanged):
        (WebInspector.setCurrentFocusElement):
        * inspector/front-end/externs.js:
        (Event.prototype.initWebKitWheelEvent):
        (window.getComputedStyle):
        (InspectorBackend.runAfterPendingDispatches):
        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):
        (WebInspector.addMainEventListeners):

2011-10-31  Andreas Kling  <kling@webkit.org>

        Kill StyleBase.
        https://bugs.webkit.org/show_bug.cgi?id=71218

        Reviewed by Antti Koivisto.

        Remove the StyleBase class and make all subclasses stand alone. CSSRule and StyleSheet
        now inherit from RefCounted<T> instead, and XSLImportRule doesn't even need that,
        so StyleBase is replaced by nothing.

        * css/StyleBase.cpp:
        * css/StyleBase.h:

            Removed.

        * css/CSSRule.cpp:
        * css/CSSRule.h:
        (WebCore::CSSRule::~CSSRule):
        (WebCore::CSSRule::useStrictParsing):
        (WebCore::CSSRule::setParentStyleSheet):
        (WebCore::CSSRule::setParentRule):
        (WebCore::CSSRule::parentStyleSheet):
        (WebCore::CSSRule::parentRule):
        (WebCore::CSSRule::baseURL):
        (WebCore::CSSRule::CSSRule):

            CSSRule now inherits directly from RefCounted, and has either a CSSRule or a
            CSSStyleSheet as its parent. Made these getters/setters inline since they are
            trivial now.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

            Purge StyleBase.* from the build systems.

        * bindings/js/JSDOMBinding.h:
        (WebCore::root):

            New root() functions for CSSRule and StyleSheet.

        * bindings/js/JSNodeCustom.h:

            Remove StyleBase.h include.

        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::parentStyleSheet):

            Added CSS-specific parentStyleSheet() so we don't have to cast it to a
            CSSStyleSheet* at the call sites.

        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::StyleSheet):
        (WebCore::StyleSheet::parentStyleSheet):
        (WebCore::StyleSheet::baseURL):
        * css/StyleSheet.h:
        (WebCore::StyleSheet::parentRule):
        (WebCore::StyleSheet::setParentRule):
        (WebCore::StyleSheet::isCSSStyleSheet):
        (WebCore::StyleSheet::isXSLStyleSheet):

            StyleSheet now inherits directly from RefCounted and always has a parent CSSRule
            though it can be null. parentStyleSheet() returns that rule's parent style sheet.
            Moved the relevant guts from StyleBase down here.

        * loader/cache/CachedStyleSheetClient.h:

            Remove unnecessary WTF_MAKE_FAST_ALLOCATED, we get it from CachedResourceClient.

        * xml/XSLImportRule.cpp:
        (WebCore::XSLImportRule::XSLImportRule):
        (WebCore::XSLImportRule::~XSLImportRule):
        (WebCore::XSLImportRule::parentStyleSheet):
        (WebCore::XSLImportRule::setXSLStyleSheet):
        (WebCore::XSLImportRule::loadSheet):
        * xml/XSLImportRule.h:
        (WebCore::XSLImportRule::create):
        (WebCore::XSLImportRule::setParentStyleSheet):

            Remove inheritance from StyleBase, and have create() return a PassOwnPtr instead.
            This is fine, since XSLStyleSheet is the only object that ever manages these rules.

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::insertedIntoDocument):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::~CSSStyleSheet):
        (WebCore::CSSStyleSheet::ownerRule):
        (WebCore::CSSStyleSheet::deleteRule):
        (WebCore::CSSStyleSheet::checkLoaded):
        (WebCore::CSSStyleSheet::document):
        (WebCore::CSSStyleSheet::styleSheetChanged):
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::~CSSImportRule):
        (WebCore::CSSImportRule::setCSSStyleSheet):
        (WebCore::CSSImportRule::insertedIntoParent):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::CSSMediaRule):
        (WebCore::CSSMediaRule::~CSSMediaRule):
        (WebCore::CSSMediaRule::append):
        (WebCore::CSSMediaRule::insertRule):
        (WebCore::CSSMediaRule::deleteRule):
        * css/CSSRegionStyleRule.cpp:
        (WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
        (WebCore::CSSRegionStyleRule::~CSSRegionStyleRule):
        * css/CSSRuleList.cpp:
        (WebCore::CSSRuleList::deleteRule):
        * css/CSSStyleDeclaration.h:
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
        (WebCore::WebKitCSSKeyframesRule::setName):
        (WebCore::WebKitCSSKeyframesRule::append):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::parseStyleSheet):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::parentStyleSheet):
        * xml/XSLStyleSheet.h:
        * xml/XSLStyleSheetLibxslt.cpp:
        (WebCore::XSLStyleSheet::XSLStyleSheet):
        (WebCore::XSLStyleSheet::~XSLStyleSheet):
        (WebCore::XSLStyleSheet::checkLoaded):
        (WebCore::XSLStyleSheet::loadChildSheet):
        * xml/XSLStyleSheetQt.cpp:
        (WebCore::XSLStyleSheet::~XSLStyleSheet):

            Use the new, more explicit, parenting functions of StyleSheet.

2011-10-31  Nikolas Zimmermann  <nzimmermann@rim.com>

        CSS 2.1 failure: background-intrinsic-*
        https://bugs.webkit.org/show_bug.cgi?id=47156

        SVGs do not work as tiled background images
        https://bugs.webkit.org/show_bug.cgi?id=16281

        Apply preserveAspectRatio and synthesize viewboxes in <img>
        https://bugs.webkit.org/show_bug.cgi?id=34521

        SVG background doesn't resize properly when dimensions are changed
        https://bugs.webkit.org/show_bug.cgi?id=42944

        Images with percent height inside a floated div should use intrinsic height.
        https://bugs.webkit.org/show_bug.cgi?id=45439

        SVG image in HTML changes size as the window is resized
        https://bugs.webkit.org/show_bug.cgi?id=52045

        Reviewed by Antti Koivisto.

        Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
        This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.

        Tests: css2.1/20110323/background-intrinsic-001.htm
               css2.1/20110323/background-intrinsic-002.htm
               css2.1/20110323/background-intrinsic-003.htm
               css2.1/20110323/background-intrinsic-004.htm
               css2.1/20110323/background-intrinsic-005.htm
               css2.1/20110323/background-intrinsic-006.htm
               css2.1/20110323/background-intrinsic-007.htm
               css2.1/20110323/background-intrinsic-008.htm
               css2.1/20110323/background-intrinsic-009.htm
               svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
               svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
               svg/as-background-image/same-image-two-instances-background-image.html
               svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
               svg/as-image/same-image-two-instances.html
               svg/as-image/svg-as-relative-image-with-explicit-size.html
               svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
               svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
               svg/zoom/page/zoom-svg-as-image.html
               svg/zoom/page/zoom-svg-as-relative-image.html

        * css/CSSImageGeneratorValue.cpp:
        (WebCore::CSSImageGeneratorValue::addClient): Pass default zoom factor.
        (WebCore::CSSImageGeneratorValue::getImage): Ditto.
        * loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
        (WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
        (WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
        (WebCore::CachedImage::imageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
        (WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
        (WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
        (WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
        * loader/cache/CachedImage.h:
        * page/ChromeClient.h:
        (WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
        * platform/graphics/Image.h:
        (WebCore::Image::setImageObserver): Add helper.
        * rendering/ImageBySizeCache.cpp: Cleanup code.
        (WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
        (WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
        (WebCore::ImageBySizeCache::getImage): Add zoom parameter.
        (WebCore::ImageBySizeCache::getRequestedSizeAndZoom): Add way to get requested size from cache, instead of actual cached sizes.
        (WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
        (WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
        * rendering/ImageBySizeCache.h: Cleaup code, introduce struct that replaces the std::pair<IntSize, int>.
        (WebCore::SizeZoomAndCount::SizeZoomAndCount):
        * rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
        (WebCore::resolveWidthForRatio): New inline helper function used by calculateImageIntrinsicDimensions.
        (WebCore::resolveHeightForRatio): Ditto.
        (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
        (WebCore::resolveAgainstIntrinsicRatio):  Ditto.
        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
        (WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
        (WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
        * rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
        (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
        (WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
        (WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
        (WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
        (WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
        (WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
        * rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
        * rendering/RenderImageResource.cpp:
        (WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
        * rendering/RenderImageResourceStyleImage.cpp:
        (WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
        (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
        * rendering/RenderImageResourceStyleImage.h:
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
        (WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
        * rendering/style/StyleCachedImage.cpp:
        (WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
        (WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
        * rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
        * rendering/style/StyleGeneratedImage.h:
        (WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
        * rendering/style/StyleImage.h: Ditto.
        * rendering/style/StylePendingImage.h:
        (WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
        * rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
        (WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
        (WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
        (WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize. 
        (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
        * rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
        (WebCore::RenderSVGRoot::containerSize):
        (WebCore::RenderSVGRoot::setContainerSize):
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
        * svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
        (WebCore::SVGSVGElement::SVGSVGElement): Ditto.
        (WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
        * svg/SVGSVGElement.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
        (WebCore::SVGImage::createWithDataAndSize): Add new helper function.
        (WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
        (WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
        (WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
        (WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
        (WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
        (WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation. 
        (WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
        * svg/graphics/SVGImage.h:

2011-10-31  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Add ResourcePreviewView.js to the list of inspector front-end
        files on Qt.

        * inspector/front-end/WebKit.qrc:

2011-10-31  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: do not map scripts generated with document.write to the document resources.
        https://bugs.webkit.org/show_bug.cgi?id=71114

        Reviewed by Yury Semikhatsky.

        Test: inspector/debugger/bind-script-to-resource.html

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._addScript):
        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
        (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
        (WebInspector.RawSourceCode.prototype._createSourceMapping):
        * inspector/front-end/Script.js:

2011-10-31  Antti Koivisto  <antti@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=71012
        Use StringHasher to generate the matched declaration cache hash

        Reviewed by Sam Weinig.

        Make sure the MatchedStyleDeclarations are fully zero-initialized as we calculate a hash over a raw memory array of these.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::MatchedStyleDeclaration::MatchedStyleDeclaration):
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        * css/CSSStyleSelector.h:

2011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck build.

        * GNUmakefile.am: Add InFilesCompiler.pm to SCRIPTS_BINDINGS and
        EXTRA_DIST. Also remove duplicated entries in EXTRA_DIST.

2011-10-31  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: factor out ResourceUtils, clean up externs.
        https://bugs.webkit.org/show_bug.cgi?id=71192

        Reviewed by Yury Semikhatsky.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.sh:
        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
        * inspector/front-end/DebuggerPresentationModel.js:
        * inspector/front-end/ProfilesPanel.js:
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.displayName):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._createResource):
        * inspector/front-end/ResourceUtils.js: Added.
        (WebInspector.resourceForURL):
        (WebInspector.forAllResources):
        (WebInspector.displayNameForURL):
        (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
        (WebInspector.registerLinkifierPlugin):
        (WebInspector.linkifyStringAsFragment):
        (WebInspector.linkifyURLAsNode):
        (WebInspector.linkifyURL):
        (WebInspector.formatLinkText):
        (WebInspector.linkifyResourceAsNode):
        (WebInspector.resourceURLForRelatedNode.callback):
        (WebInspector.resourceURLForRelatedNode):
        (WebInspector.populateHrefContextMenu):
        (WebInspector.completeURL):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.selectElement):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/externs.js:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.networkResourceById):
        * inspector/front-end/utilities.js:
        (setupPrototypeUtilities.Element.prototype.selectionLeftOffset):

2011-10-28  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Using keyboard to increment/decrement units is inconsistent
        https://bugs.webkit.org/show_bug.cgi?id=71119

        Reviewed by Pavel Feldman.

        This change makes the behavior consistent with that described at http://trac.webkit.org/wiki/WebInspector

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.alteredFloatNumber):
        (WebInspector.StylesSidebarPane.prototype._attributesModified):

2011-10-29  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Switch to a backing store approach for painting WebKitWebView
        https://bugs.webkit.org/show_bug.cgi?id=70213

        Reviewed by Gustavo Noronha Silva.

        No new tests. The changes to WebCore should not change
        behavior. The changes in WebKit are covered by existing
        tests.

        * platform/cairo/WidgetBackingStore.h:
        (WebCore::WidgetBackingStore::size): Added this getter for the size.
        * platform/cairo/WidgetBackingStoreCairo.cpp:
        (WebCore::WidgetBackingStore::WidgetBackingStore): Initialize size.
        * platform/graphics/cairo/CairoUtilities.cpp:
        (WebCore::copyRectFromCairoSurfaceToContext): Added this new helper.
        (WebCore::copyRectFromOneSurfaceToAnother): Use the new helper.
        * platform/graphics/cairo/CairoUtilities.h:
        * platform/gtk/GtkWidgetBackingStoreX11.cpp:
        (WebCore::WidgetBackingStore::WidgetBackingStore): Initialize the size.

2011-10-30  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98803.
        http://trac.webkit.org/changeset/98803
        https://bugs.webkit.org/show_bug.cgi?id=71186

        Causing test and assertion failures on some platforms
        (Requested by anttik on #webkit).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyMatchedDeclarations):

2011-10-29  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):

2011-10-29  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * editing/Editor.cpp:
        (WebCore::Editor::markMisspellingsAfterTypingToWord):

2011-10-29  Daniel Cheng  <dcheng@chromium.org>

        Rename DataTransferItems to DataTransferItemList
        https://bugs.webkit.org/show_bug.cgi?id=71151

        Per feedback that Items and Item are hard to distinguish between, the HTML5 spec renamed
        DataTransferItems to DataTransferItemList:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransferitemlist-interface

        Reviewed by Tony Chang.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Clipboard.h:
        * dom/Clipboard.idl:
        * dom/DataTransferItemList.cpp: Renamed from Source/WebCore/dom/DataTransferItems.cpp.
        (WebCore::DataTransferItemList::DataTransferItemList):
        (WebCore::DataTransferItemList::length):
        (WebCore::DataTransferItemList::item):
        (WebCore::DataTransferItemList::deleteItem):
        (WebCore::DataTransferItemList::clear):
        (WebCore::DataTransferItemList::add):
        * dom/DataTransferItemList.h: Renamed from Source/WebCore/dom/DataTransferItems.h.
        (WebCore::DataTransferItemList::~DataTransferItemList):
        * dom/DataTransferItemList.idl: Renamed from Source/WebCore/dom/DataTransferItems.idl.
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::items):
        * platform/chromium/ClipboardChromium.h:
        * platform/chromium/DataTransferItemListChromium.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
        (WebCore::DataTransferItemListChromium::create):
        (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
        (WebCore::DataTransferItemListChromium::addPasteboardItem):
        * platform/chromium/DataTransferItemListChromium.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemsChromium.h.
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::items):
        * platform/qt/ClipboardQt.h:
        * platform/qt/DataTransferItemListQt.cpp: Renamed from Source/WebCore/platform/qt/DataTransferItemsQt.cpp.
        (WebCore::DataTransferItemListQt::create):
        (WebCore::DataTransferItemListQt::DataTransferItemListQt):
        (WebCore::DataTransferItemListQt::addPasteboardItem):
        * platform/qt/DataTransferItemListQt.h: Renamed from Source/WebCore/platform/qt/DataTransferItemsQt.h.

2011-10-03  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: block-non-replaced-width-008.htm
        https://bugs.webkit.org/show_bug.cgi?id=69278

        Reviewed by Simon Fraser.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalWidthUsing):
          Include the margins in the calculation of logical width even when the containing block's
          width is zero. This is required by section '10.3.3 Block-level, non-replaced elements in
          normal flow' in the CSS 2.1 spec. Tested by block-non-replaced-width-008.htm in the CSS
          test suite.

2011-10-29  Anna Cavender  <annacc@chromium.org>

        Make sure TextTracks are destructed if HTMLMediaElement goes away.
        https://bugs.webkit.org/show_bug.cgi?id=71148

        Reviewed by Eric Carlson.

        Test: media/track/track-text-track-destructor-crash.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::~HTMLMediaElement):
            Destroy the client (this) on TextTracks.
        (WebCore::HTMLMediaElement::loadTextTracks):
            Move TextTrack creation to loadNextTextTrack.
        (WebCore::HTMLMediaElement::loadNextTextTrack):
            Keep track of new TextTrack in a list.
        (WebCore::HTMLMediaElement::addTrack):
            Keep track of new TextTrack in a list.
        * html/HTMLMediaElement.h:
            Add m_textTracks and loadNextTextTrack().

2011-10-29  Jochen Eisinger  <jochen@chromium.org>

        Implement IDBFactory.deleteDatabase
        https://bugs.webkit.org/show_bug.cgi?id=62622

        Reviewed by Tony Chang.

        Tests: storage/indexeddb/factory-deletedatabase-interactions.html
               storage/indexeddb/factory-deletedatabase.html

        * storage/IDBBackingStore.h:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::create):
        (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::callbacks):
        (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::PendingDeleteCall):
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::openInternal):
        (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
        (WebCore::IDBDatabaseBackendImpl::openConnection):
        (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::deleteDatabase):
        * storage/IDBFactory.h:
        * storage/IDBFactory.idl:
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::deleteDatabase):
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBFactoryBackendInterface.h:
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::deleteRange):
        (WebCore::IDBLevelDBBackingStore::deleteDatabase):
        * storage/IDBLevelDBBackingStore.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::dispatchEvent):

2011-10-28  Robert Hogan  <robert@webkit.org>

        CSS 2.1 failure: dynamic-top-change-001 to 004 fail
        https://bugs.webkit.org/show_bug.cgi?id=68149

        Reviewed by David Hyatt.

        In these tests a child inherits its top value from its parent and the parent's top value
        is later updated by an onload event. The updated value is expected to cascade to the child.

        The tests were failing because updating the value did not cascade immediately to the child inheriting it, though
        it could be forced eventually with a full recalculation of the RenderStyle by changing the zoom factor
        or opening the inspector.

        The fix is to let the parent RenderStyle know that a child inherits a property explicitly and
        recalculate children's style if the parent ever changes. This only happens if the property is inherited
        explicitly, it does not apply to cases where the property is inherited by default.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/Node.cpp:
        (WebCore::Node::diff):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setHasExplicitlyInheritedProperties):
        (WebCore::InheritedFlags::hasExplicitlyInheritedProperties):

2011-10-29  Antti Koivisto  <antti@apple.com>

        Tighten font change conditions in matched declaration cache
        https://bugs.webkit.org/show_bug.cgi?id=71026

        Reviewed by Darin Adler.

        We currently test if font description has changed to see if all properties need to be applied. However
        only a few size related metrics can actually affect other properties. We can just test those, making 
        the cache somewhat more effective while also making the equality test faster.
        
        * css/CSSStyleSelector.cpp:
        (WebCore::fontDifferenceAffectsNonInherited):
        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
    
            Test for text computedSize, xHeight and orientation only. Other text properties don't affect computed
            values of non-text CSS properties.

2011-10-29  Adam Barth  <abarth@webkit.org>

        DOMURL should keep its own state rather than storing it on ScriptExecutionContext
        https://bugs.webkit.org/show_bug.cgi?id=71169

        Reviewed by Eric Seidel.

        This patch untwists this code.  I think this code was originally
        twisted because these APIs moved onto DOMURL after they were first
        implemented.

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        * dom/ScriptExecutionContext.h:
        * fileapi/FileWriter.h:
        * html/DOMURL.cpp:
        (WebCore::DOMURL::contextDestroyed):
        (WebCore::DOMURL::createObjectURL):
        (WebCore::DOMURL::revokeObjectURL):
        * html/DOMURL.h:

2011-10-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98795.
        http://trac.webkit.org/changeset/98795
        https://bugs.webkit.org/show_bug.cgi?id=71171

        Causes worker tests to crash (Requested by abarth on #webkit).

        * dom/ActiveDOMObject.cpp:
        (WebCore::ContextDestructionObserver::contextDestroyed):
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::MessagePort):
        (WebCore::MessagePort::contextDestroyed):
        * dom/MessagePort.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::closeMessagePorts):

2011-10-28  Ryosuke Niwa  <rniwa@webkit.org>

        Potential crash in ReplaceNodeWithSpanCommand
        https://bugs.webkit.org/show_bug.cgi?id=71145

        Reviewed by Ojan Vafai.

        Fix a potential crash without tests because we don't have a reduction.

        * editing/ReplaceNodeWithSpanCommand.cpp:
        (WebCore::swapInNodePreservingAttributesAndChildren):

2011-10-28  Adam Barth  <abarth@webkit.org>

        MessagePort should be a ContextDestructionObserver
        https://bugs.webkit.org/show_bug.cgi?id=71167

        Reviewed by Eric Seidel.

        I couldn't quite get rid of all the uses of the
        ScriptExecutionContext::m_messagePorts in this patch.  I hope to get
        rid of them in the future as the "extra data" design for
        ScriptExecutionContext emerges.

        * dom/ActiveDOMObject.cpp:
        (WebCore::ContextDestructionObserver::contextDestroyed):
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::MessagePort):
        (WebCore::MessagePort::contextDestroyed):
        * dom/MessagePort.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::closeMessagePorts):

2011-10-28  Ryosuke Niwa  <rniwa@webkit.org>

        The copy and paste result in nested scrollbars on http://dojotoolkit.org/widgets
        https://bugs.webkit.org/show_bug.cgi?id=70799

        Reviewed by Enrica Casucci.

        The bug was caused by WebKit's treating a fully selected root with background property as a special common ancestor.
        A variant of this bug was caused by treating any element with text-decoration property as a presentational element.

        Fixed the above two bugs by not serializing the said nodes. The effective background color was already serialized
        by wrappingStyleForSerialization, there was nothing to be done besides stop including it in highestAncestorToWrapMarkup.

        For text-decoration property, added the logic to compute the effective value in EditingStyle::init. Also treat it
        as a non-inheritable editing property so that the rest of EditingStyle just works.

        Test: editing/pasteboard/avoid-copying-body-with-background.html

        * editing/EditingStyle.cpp: Added CSSPropertyTextDecoration to the list of editing properties.
        (WebCore::copyEditingProperties):
        (WebCore::EditingStyle::init): Compute the effective text decoration when propertiesToInclude is
        EditingPropertiesInEffect.
        (WebCore::EditingStyle::prepareToApplyAt):
        (WebCore::EditingStyle::mergeInlineStyleOfElement):
        (WebCore::EditingStyle::wrappingStyleForSerialization):
        (WebCore::EditingStyle::removeStyleFromRulesAndContext):
        * editing/EditingStyle.h: Renamed EditingInheritablePropertiesAndBackgroundColorInEffect to
        EditingPropertiesInEffect.
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): Removed an assertion that's no longer valid.
        (WebCore::isElementPresentational): Don't consider an element with text-decoration as a presentational element.
        (WebCore::highestAncestorToWrapMarkup): Don't consider fully selected root as a special common ancestor ever.
        Background color is computed property when we compute the wrapping style.
        (WebCore::createMarkup):

2011-10-28  Adam Barth  <abarth@webkit.org>

        Rename ExceptionCodeDescription.in to DOMExceptions.in
        https://bugs.webkit.org/show_bug.cgi?id=71157

        Reviewed by Eric Seidel.

        This file is now used for more than just the descriptions of the exceptions.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_makenames.py:
        * dom/DOMExceptions.in: Copied from Source/WebCore/dom/ExceptionCodeDescription.in.
        * dom/ExceptionCodeDescription.in: Removed.
        * dom/make_dom_exceptions.pl: Copied from Source/WebCore/dom/make_exception_code_description.pl.
        * dom/make_exception_code_description.pl: Removed.

2011-10-28  Chris Rogers  <crogers@google.com>

        SincResampler must be able to resample progressively
        https://bugs.webkit.org/show_bug.cgi?id=71131

        Reviewed by Kenneth Russell.

        No new tests.  There is not yet an implementation using progressive resampling to test.

        * platform/audio/SincResampler.cpp:
        (WebCore::SincResampler::SincResampler):
        (WebCore::SincResampler::consumeSource):
        (WebCore::SincResampler::process):
        * platform/audio/SincResampler.h:

2011-10-28  Adam Klein  <adamk@chromium.org>

        [MutationObservers] Support attributeOldValue for attribute mutations
        https://bugs.webkit.org/show_bug.cgi?id=70861

        Reviewed by Ryosuke Niwa.

        Respect 'attributeOldValue' when passed to WebKitMutationObserver.observe().

        If multiple observers have different attributeOldValue settings in
        their registrations, two different MutationRecords are created (one is
        a wrapper around the other).

        If a single observer has multiple registrations that apply to a single
        mutation, and those registrations have different values for
        attributeOldValue, the observer is passed the oldValue.

        * dom/Element.cpp:
        (WebCore::hasOldValue):
        (WebCore::enqueueAttributesMutationRecord):
        (WebCore::Element::setAttribute):
        * dom/MutationRecord.cpp:
        (WebCore::MutationRecord::createAttributes):
        (WebCore::MutationRecord::createWithNullOldValue):
        * dom/MutationRecord.h:
        (WebCore::MutationRecord::oldValue):

2011-10-28  Adam Barth  <abarth@webkit.org>

        Delete ExceptionCode.cpp, which is empty
        https://bugs.webkit.org/show_bug.cgi?id=71159

        Reviewed by Eric Seidel.

        This file has been stripped down to nothing and can be removed.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/ExceptionCode.cpp: Removed.

2011-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98776.
        http://trac.webkit.org/changeset/98776
        https://bugs.webkit.org/show_bug.cgi?id=71164

        caused lots of test crashes (Requested by smfr on #webkit).

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateVisibilityStatus):
        (WebCore::RenderLayer::dirtyZOrderLists):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::enableCompositingMode):

2011-10-28  John Sullivan  <sullivan@apple.com>

        Improvement to the fix for:
        https://bugs.webkit.org/show_bug.cgi?id=71142
        Whether backspace goes Back should be configurable

        Reviewed by Dan Bernstein.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::defaultBackspaceEventHandler):
        Do the frame->settings() check after the !page check, since
        a null page means null settings.

2011-10-28  Adam Barth  <abarth@webkit.org>

        Make DOMURL a ContextDestructionObserver
        https://bugs.webkit.org/show_bug.cgi?id=71162

        Reviewed by Eric Seidel.

        This removes a bunch of hand-rolled ifdefed code.

        * dom/ActiveDOMObject.h:
            - One-argument constructors should be explicit.
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        * dom/ScriptExecutionContext.h:
        * html/DOMURL.cpp:
        (WebCore::DOMURL::DOMURL):
        (WebCore::DOMURL::~DOMURL):
        * html/DOMURL.h:

2011-10-28  Adam Barth  <abarth@webkit.org>

        Factor ContextDestructionObserver out of ActiveDOMObject
        https://bugs.webkit.org/show_bug.cgi?id=71153

        Reviewed by Sam Weinig.

        This patch paves the way to make more objects observe the destruction
        of ScriptExecutioContext without needing to add ifdefs to
        ScriptExecutionContext.h/cpp.  (As an example, see DOMURL.)

        * dom/ActiveDOMObject.cpp:
        (WebCore::ContextDestructionObserver::ContextDestructionObserver):
        (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
        (WebCore::ContextDestructionObserver::contextDestroyed):
        (WebCore::ActiveDOMObject::ActiveDOMObject):
        (WebCore::ActiveDOMObject::~ActiveDOMObject):
        * dom/ActiveDOMObject.h:
        (WebCore::ContextDestructionObserver::scriptExecutionContext):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::didCreateActiveDOMObject):
        (WebCore::ScriptExecutionContext::willDestroyActiveDOMObject):
        (WebCore::didCreateDestructionObserver):
        (WebCore::willDestroyDestructionObserver):
        * dom/ScriptExecutionContext.h:

2011-10-28  Tim Horton  <timothy_horton@apple.com>

        One more unreviewed build fix due to r98775.

        No new tests.

        * WebCore.vcproj/WebCore.vcproj:

2011-10-28  James Robinson  <jamesr@chromium.org>

        [chromium] Track wheel event handler registration and pass to input filter
        https://bugs.webkit.org/show_bug.cgi?id=71078

        Reviewed by Kenneth Russell.

        This propagates mouse wheel registration notifications to the compositor input filter. If there are any handlers
        registered, which includes JS handlers and scrollable areas other than the main view, the input filter will pass
        mouse wheel events to the widget. Otherwise when threaded compositing is enabled the input filter translates
        wheel events into root layer scrolling.

        Only changes behavior with an off-by-default flag enabled, so no tests.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::setHaveWheelEventHandlers):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::haveWheelEventHandlers):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (WebCore::CCLayerTreeHostImpl::setHaveWheelEventHandlers):
        * platform/graphics/chromium/cc/CCScrollController.h:

2011-10-28  Tim Horton  <timothy_horton@apple.com>

        Unreviewed build fix due to r98775.

        No new tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:

2011-10-28  Simon Fraser  <simon.fraser@apple.com>

        If visibility changes while an accelerated animation is running, element jumps around
        https://bugs.webkit.org/show_bug.cgi?id=29984

        Reviewed by Chris Marrin.
        
        Compositing now affects whether RenderLayers for visibility:hidden elements
        are included in z-order lists. So we have to dirty those lists when we enter
        compopsiting mode.

        Test: compositing/visibility/animation-visibility.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateVisibilityStatus): Removed trailing whitespace.
        (WebCore::RenderLayer::dirtyZOrderLists): Call dirtyZOrderListsInternal(), which doesn't have
        to ping the compositor.
        (WebCore::RenderLayer::dirtyZOrderListsInternal):
        (WebCore::RenderLayer::dirtyZOrderListsIncludingDescendants): Recursively dirty z-order
        lists.
        * rendering/RenderLayer.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::enableCompositingMode): When going into compositing mode,
        dirty all z-order lists.

2011-10-28  Tim Horton  <timothy_horton@apple.com>

        Implement CSS3 Images cross-fade() image function
        https://bugs.webkit.org/show_bug.cgi?id=52162
        <rdar://problem/10209254>

        Reviewed by Simon Fraser.

        Parse -webkit-cross-fade according to the CSS3 Images Values specification.

        Also, adjust other CSS parsing functions to support nested functions, by using a specific CSS value list
        instead of the global one. This allows - for example - cross-fade to pass each of its arguments back into
        parseFillImage and to successfully parse image functions in this fashion.

        Test: fast/css/getComputedStyle/computed-style-cross-fade.html

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSCrossfadeValue.cpp: Added.
        (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
        (WebCore::CSSCrossfadeValue::cssText):
        (WebCore::CSSCrossfadeValue::fixedSize):
        (WebCore::CSSCrossfadeValue::image):
        * css/CSSCrossfadeValue.h: Added.
        (WebCore::CSSCrossfadeValue::create):
        (WebCore::CSSCrossfadeValue::isFixedSize):
        (WebCore::CSSCrossfadeValue::setFromImage):
        (WebCore::CSSCrossfadeValue::setToImage):
        (WebCore::CSSCrossfadeValue::setPercentage):
        (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseFillImage):
        (WebCore::CSSParser::parseFillProperty):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore::CSSParser::parseDeprecatedGradient):
        (WebCore::CSSParser::parseLinearGradient):
        (WebCore::CSSParser::parseRadialGradient):
        (WebCore::CSSParser::isGeneratedImageValue):
        (WebCore::CSSParser::parseGeneratedImage):
        (WebCore::CSSParser::parseCrossfade):
        (WebCore::CSSParser::parseCanvas):
        * css/CSSParser.h:

2011-10-28  Dan Bernstein  <mitz@apple.com>

        Attempted build fix after r98765.

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformWidthForGlyph):

2011-10-28  Chris Marrin  <cmarrin@apple.com>

        CSS grammar doesn't support functions with no parameters
        https://bugs.webkit.org/show_bug.cgi?id=69110

        Reviewed by Dean Jackson.

        Add rule to grammar to accept functions with 0 args and return
        this case with a CSSParserValueList with 0 values. Also fixed
        filter creation function to properly handle filters with 0
        arguments.

        * css/CSSGrammar.y:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createFilterOperations):

2011-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98757.
        http://trac.webkit.org/changeset/98757
        https://bugs.webkit.org/show_bug.cgi?id=71150

        crashes webkit_unit_tests on chromium windows (Requested by
        johnny_g on #webkit).

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):

2011-10-28  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Fix namespace indent in ScriptExecutionContext.h.

        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::isDocument):
        (WebCore::ScriptExecutionContext::isWorkerContext):
        (WebCore::ScriptExecutionContext::setHasOpenDatabases):
        (WebCore::ScriptExecutionContext::hasOpenDatabases):
        (WebCore::ScriptExecutionContext::url):
        (WebCore::ScriptExecutionContext::completeURL):
        (WebCore::ScriptExecutionContext::securityOrigin):
        (WebCore::ScriptExecutionContext::contentSecurityPolicy):
        (WebCore::ScriptExecutionContext::activeDOMObjects):
        (WebCore::ScriptExecutionContext::suspendScriptedAnimationControllerCallbacks):
        (WebCore::ScriptExecutionContext::resumeScriptedAnimationControllerCallbacks):
        (WebCore::ScriptExecutionContext::messagePorts):
        (WebCore::ScriptExecutionContext::domUrls):
        (WebCore::ScriptExecutionContext::ref):
        (WebCore::ScriptExecutionContext::deref):
        (WebCore::ScriptExecutionContext::Task::Task):
        (WebCore::ScriptExecutionContext::Task::isCleanupTask):

2011-10-28  John Sullivan  <sullivan@apple.com>

        WebCore part of:
        https://bugs.webkit.org/show_bug.cgi?id=71142
        Whether backspace goes Back should be configurable

        Reviewed by Sam Weinig.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::defaultBackspaceEventHandler):
        Bail out if backspace navigation is not enabled.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        Initialize m_backspaceKeyNavigationEnabled to true to match current behavior.

        * page/Settings.h:
        Declared m_backspaceKeyNavigationEnabled.
        (WebCore::Settings::setBackspaceKeyNavigationEnabled):
        New function, simple setter.
        (WebCore::Settings::backspaceKeyNavigationEnabled):
        New function, simple getter.

2011-10-28  Emil A Eklund  <eae@chromium.org>

        Overridden clippedOverflowRectForRepaint() still uses IntRects
        https://bugs.webkit.org/show_bug.cgi?id=71046

        Reviewed by Simon Fraser.

        Change all virtual clippedOverflowRectForRepaint functions to use the
        same signature.

        No new tests.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::rectWithOutlineForRepaint):
        (WebCore::RenderObject::clippedOverflowRectForRepaint):
        * rendering/RenderObject.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
        * rendering/RenderReplaced.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
        * rendering/RenderTableCol.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
        * rendering/RenderTableRow.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::clippedOverflowRectForRepaint):
        * rendering/RenderText.h:

2011-10-28  Adam Klein  <adamk@chromium.org>

        Remove unused parsers for 'exception' and 'alias' IDL keywords
        https://bugs.webkit.org/show_bug.cgi?id=71140

        Reviewed by Adam Barth.

        * bindings/scripts/IDLParser.pm:
        (ParseInterface):
        (DetermineParseMode):
        (ProcessSection):
        * bindings/scripts/IDLStructure.pm:

2011-10-28  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10288006> Emoji characters are too close to each other in small font size

        Reviewed by Sam Weinig.

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformWidthForGlyph): If the font is a color bitmap font, use
        -[NSFont advancementForGlyph:] instead of wkGetGlyphTransformedAdvances().

2011-10-28  Adam Barth  <abarth@webkit.org>

        Remove unused default constructor
        https://bugs.webkit.org/show_bug.cgi?id=71136

        Reviewed by Eric Seidel.

        No one is calling this constructor anymore now that we've fixed the
        callers.

        * dom/make_exception_code_description.pl:
        (generateHeader):

2011-10-28  Ken Buchanan <kenrb@chromium.org>

        Crash when splitting inline flows with generated floats
        https://bugs.webkit.org/show_bug.cgi?id=70458

        Reviewed by David Hyatt.

        When lineBoxes on a RenderBlock are being deleted, we now check the floating object list to
        ensure references to them are being cleared.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::deleteLineBoxTree): Remove references to lineBox when deleting them

2011-10-28  Simon Fraser  <simon.fraser@apple.com>

        Remove Leopard-only code from GraphicsLayerCA
        https://bugs.webkit.org/show_bug.cgi?id=71141

        Reviewed by Chris Marrin.

        Remove !HAVE_MODERN_QUARTZCORE code, which was only
        used on Leopard. updateContentsTransform() became a no-op,
        so could be removed.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::getValueFunctionNameForTransformOperation):
        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
        (WebCore::GraphicsLayerCA::addAnimation):
        (WebCore::GraphicsLayerCA::updateGeometry):
        (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
        (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        (WebCore::GraphicsLayerCA::defaultContentsOrientation):
        (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
        * platform/graphics/ca/GraphicsLayerCA.h:

2011-10-28  Adrienne Walker  <enne@google.com>

        [chromium] Implicitly skip render surfaces that won't be drawn
        https://bugs.webkit.org/show_bug.cgi?id=71038

        Rather than having redundant checks in three places for how to walk
        through a render surface list, instead don't add render surfaces that
        don't need to get rendered to the render surface list.

        Reviewed by James Robinson.

        Covered by existing layout tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::calculateDrawTransformsAndVisibilityInternal):

2011-10-28  Adam Barth  <abarth@webkit.org>

        Autogenerate Exception-downcast code in bindings
        https://bugs.webkit.org/show_bug.cgi?id=71108

        Reviewed by Eric Seidel.

        This patch uses the same generated code style as we're using for Events
        to generate the downcasts for the Exception types in the bindings.
        This cause me to refactor more code from make_event_factory.pl into
        InFilesCompiler.pm.

        After this patch, some of these files and scripts are misnamed.  I'll
        rename them in a followup patch.

        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException):
        * bindings/objc/ExceptionHandlers.mm:
        (WebCore::raiseDOMException):
        * bindings/scripts/InFilesCompiler.pm:
        (initializeFromCommandLine):
        (compile):
        (interfaceForItem):
        (toMacroStyle):
        (generateInterfacesHeader):
        (generateHeadersHeader):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):
        * dom/ExceptionCodeDescription.in:
        * dom/make_event_factory.pl:
        (generateCode):
        (generateImplementation):
        * dom/make_exception_code_description.pl:
        (defaultItemFactory):
        (generateCode):

2011-10-28  Simon Fraser  <simon.fraser@apple.com>

        Fix builds which have ACCELERATED_COMPOSITING disabled.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateZOrderLists):

2011-10-28  Erik Arvidsson  <arv@chromium.org>

        Remove LegacyDefaultOptionalArguments flag from inspector IDLs
        https://bugs.webkit.org/show_bug.cgi?id=65748

        Reviewed by Adam Barth.

        Covered by existing tests.

        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorFrontendHost.idl:
        * inspector/JavaScriptCallFrame.idl:

2011-10-28  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Database metadata changes should be tied to transaction
        https://bugs.webkit.org/show_bug.cgi?id=70974

        Reviewed by Tony Chang.

        Database metadata (that is, the version string) was rolled back
        on abort by an abort task. If the abort task didn't run e.g.
        due to a crash, the metadata would not be reverted. All of the
        other store/index/data changes were written into the transaction
        itself, so the metadata now is too. Refactored the metadata
        get/create/update methods for clarity as well.

        Note that the new tests don't actually verify that the code handles
        this case; that will need to be done with persistence tests
        that span multiple runs of the browser and induce crashes.
        The new tests do verify that these changes don't cause regressions
        not caught by other tests.

        Tests: storage/indexeddb/open-during-transaction.html
               storage/indexeddb/version-change-abort.html

        * storage/IDBBackingStore.h:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
        (WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
        (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
        * storage/IDBLevelDBBackingStore.h:

2011-10-28  Luke Macpherson   <macpherson@chromium.org>

        Use enum instead of bool to represent -webkit-column-span property.
        https://bugs.webkit.org/show_bug.cgi?id=70867

        Reviewed by Darin Adler.

        Covered by existing tests.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator ColumnSpan):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::propagateStyleToAnonymousChildren):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::columnSpan):
        (WebCore::InheritedFlags::setColumnSpan):
        (WebCore::InheritedFlags::initialColumnSpan):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleMultiColData.h:

2011-10-28  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize isGlobalObject, isVariableObject, isActivationObject, and isErrorInstance in JSObject
        https://bugs.webkit.org/show_bug.cgi?id=70968

        Reviewed by Geoffrey Garen.

        No new tests.

        * bindings/js/JSDOMGlobalObject.h: Changed JSType provided to TypeInfo in createStructure since this 
        class inherits from JSGlobalObject. 
        (WebCore::JSDOMGlobalObject::createStructure):
        * bindings/js/JSDOMWindowBase.h: Ditto
        (WebCore::JSDOMWindowBase::createStructure):
        * bindings/js/JSWorkerContextBase.h: Ditto
        (WebCore::JSWorkerContextBase::createStructure):
        * bindings/scripts/CodeGeneratorJS.pm: Added extra check to make sure subclasses of JSGlobalObject,
        namely JSDOMWindow and JSWorkerContext, get their special JSType in their createStructure function.
        (GenerateHeader):

2011-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98736.
        http://trac.webkit.org/changeset/98736
        https://bugs.webkit.org/show_bug.cgi?id=71125

        This patch broke perf/array-binary-search.html test (Requested
        by annacc on #webkit).

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadTextTracks):
        (WebCore::HTMLMediaElement::addTrack):
        * html/HTMLMediaElement.h:
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::insertedIntoTree):
        (WebCore::HTMLTrackElement::willRemove):
        * html/HTMLTrackElement.h:
        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::cueLoadingCompleted):

2011-10-28  Julien Chaffraix  <jchaffraix@webkit.org>

        RenderTableSection::recalcCells should not free its grid
        https://bugs.webkit.org/show_bug.cgi?id=71056

        Reviewed by Darin Adler.

        Refactoring only, no change in behavior.

        r98614 had the bad side effect of clearing the row vector (m_grid) on
        the RenderTableSection when doing a recalcCells. This change removes the
        unneeded free and inline the |row| field into the RowStruct as it made
        no sense to have it as a pointer.

        * rendering/RenderTableSection.cpp:
        (WebCore::setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative):
        (WebCore::RenderTableSection::addChild):
        (WebCore::RenderTableSection::setCellLogicalWidths):
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        (WebCore::RenderTableSection::firstLineBoxBaseline):
        (WebCore::RenderTableSection::appendColumn):
        (WebCore::RenderTableSection::splitColumn):
        Mechanical changes now that |row| is a member of RowStruct.

        (WebCore::RenderTableSection::~RenderTableSection): Clear our row vector.

        (WebCore::RenderTableSection::ensureRows):
        (WebCore::RenderTableSection::recalcCells):
        Those 2 functions were refactored to use fillRowsWithDefaultStartingAtPosition.

        (WebCore::RenderTableSection::fillRowsWithDefaultStartingAtPosition):
        Factored the code to fill the RowStruct structure with default values.

        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::cellAt):
        (WebCore::RenderTableSection::primaryCellAt):
        More mechanical change after the |row| field change.

2011-10-28  Anna Cavender  <annacc@chromium.org>

        Implement load notification and events for <track>.
        https://bugs.webkit.org/show_bug.cgi?id=71054

        Reviewed by Eric Carlson.

        Tests: media/track/track-load-error-readyState.html
               media/track/track-load-from-element-readyState.html
               media/track/track-load-from-src-readyState.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadTextTracks):
        (WebCore::HTMLMediaElement::loadNextTextTrack):
        (WebCore::HTMLMediaElement::trackWasAdded):
        (WebCore::HTMLMediaElement::trackWillBeRemoved):
        (WebCore::HTMLMediaElement::trackSourceChanged):
        * html/HTMLMediaElement.h:
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::insertedIntoTree):
        (WebCore::HTMLTrackElement::willRemove):
        (WebCore::HTMLTrackElement::parseMappedAttribute):
        (WebCore::HTMLTrackElement::attributeChanged):
        * html/HTMLTrackElement.h:
        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::cueLoadingCompleted):

2011-10-28  Simon Fraser  <simon.fraser@apple.com>

        The HTML5 video element in Safari does not respect "visibility:hidden" CSS property
        https://bugs.webkit.org/show_bug.cgi?id=38829

        Reviewed by James Robinson.
        
        Make compositing and CSS visibility play nicely together.
        
        The main issue was that an old optimization (see bug 4377) caused
        visibility:hidden layers to not appear in the z-order lists, but those
        layers could still become composited, but would remain detached. In addition,
        composited layers which were visibility:hidden would become visible sometimes.
        
        With this fix, the z-order lists always contain all layers when the page
        is in compositing mode. GraphicsLayer is changed to ensure that visibility:hidden
        layers show no content, and visible descendants of hidden layers work correctly.

        Tests: compositing/visibility/visibility-composited-transforms.html
               compositing/visibility/visibility-composited.html
               compositing/visibility/visibility-image-layers-dynamic.html
               compositing/visibility/visibility-image-layers.html

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::GraphicsLayer): Init m_contentsVisible to true.
        (WebCore::GraphicsLayer::dumpProperties): Dump m_contentsVisible if not true.
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::contentsAreVisible): Getter for m_contentsVisible.
        (WebCore::GraphicsLayer::setContentsVisible): Setter for m_contentsVisible.
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setContentsVisible): Override setContentsVisible.
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Handle ContentsVisibilityChanged
        flag
        (WebCore::GraphicsLayerCA::updateSublayerList): Only parent the m_contentsLayer if the layer
        has visible contents.
        (WebCore::GraphicsLayerCA::updateContentsVisibility): For bits painted into the layer itself,
        we hide it by clearing the backing store.
        * platform/graphics/ca/GraphicsLayerCA.h: Removed obsolete comment on the DrawsContentChanged flag,
        added ContentsVisibilityChanged flag.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateZOrderLists): If we're in compositing mode, include all layers
        in the z-order lists.
        (WebCore::RenderLayer::collectLayers): New param to specify whether we need to collect all layers.
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::hasVisibleDescendant): Add comment about the need for an assertion in hasVisibleContent()
        , and assertion in hasVisibleDescendant().
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call setContentsVisible() on the GraphicsLayer.
        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): We can use simple container layers in cases
        where visibility:hidden causes layer content to not be drawn.
        (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendants): Renamed from hasNonCompositingDescendants()
        because it now also looks at visibility to decide when things are visible.
        * rendering/RenderLayerBacking.h: hasNonCompositingDescendants() renamed to hasVisibleNonCompositingDescendants().

2011-10-22  Philippe Normand  <pnormand@igalia.com>

        [GTK] Build fixes for glib 2.31 (current master)
        https://bugs.webkit.org/show_bug.cgi?id=70679

        Reviewed by Martin Robinson.

        g_cond_new and g_mutex_new have been replaced by _init
        functions. Same for _free, replaced by _clear.

        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
        (webkit_video_sink_init):
        (webkit_video_sink_dispose):

2011-10-28  Jochen Eisinger  <jochen@chromium.org>

        Rename a number of methods mentioning JavaScript to just Script instead
        https://bugs.webkit.org/show_bug.cgi?id=71105

        Reviewed by Adam Barth.

        * WebCore.exp.in:
        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::canExecuteScripts):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::handleOutOfMemory):
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::allowScript):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::canRequest):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setScriptEnabled):
        * page/Settings.h:
        (WebCore::Settings::isScriptEnabled):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2011-10-28  Pavel Feldman  <pfeldman@google.com>

        Reset line numbers for scripts generated with document.write.
        https://bugs.webkit.org/show_bug.cgi?id=71099

        Reviewed by Yury Semikhatsky.

        Test: http/tests/inspector-enabled/document-write.html

        * dom/Document.h:
        (WebCore::Document::isInDocumentWrite):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::prepareScript):

2011-10-28  Adam Roben  <aroben@apple.com>

        Mac build fix after r98711

        * WebCore.xcodeproj/project.pbxproj: Mark ExceptionCodeDescription.h private so WebKit can
        find it.

2011-10-28  Antti Koivisto  <antti@apple.com>

        [Chromium] css3/font-feature-settings-rendering.html has incorrect image result after r98542
        https://bugs.webkit.org/show_bug.cgi?id=71019

        Reviewed by Andreas Kling.
        
        These properties need to be marked inherited too.
        
        Note that the new test case doesn't fail even without the patch. If I understand correctly
        the image test in the title is pretty much the only way to see this. However the
        new test improves code coverage and protects against future regressions.

        Test: fast/css/inherited-properties-rare-text.html

        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):

2011-10-28  Adam Barth  <abarth@webkit.org>

        Remove getExceptionCodeDescription()
        https://bugs.webkit.org/show_bug.cgi?id=71103

        Reviewed by Eric Seidel.

        This function serves no purpose.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException):
        * bindings/objc/ExceptionHandlers.mm:
        (WebCore::raiseDOMException):
        * bindings/scripts/CodeGeneratorGObject.pm:
        ():
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
        (webkit_dom_test_obj_method_with_exception):
        (webkit_dom_test_obj_with_script_state_void_exception):
        (webkit_dom_test_obj_with_script_state_obj_exception):
        (webkit_dom_test_obj_get_attr_with_getter_exception):
        (webkit_dom_test_obj_set_attr_with_getter_exception):
        (webkit_dom_test_obj_set_attr_with_setter_exception):
        (webkit_dom_test_obj_set_string_attr_with_getter_exception):
        (webkit_dom_test_obj_set_string_attr_with_setter_exception):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):
        * dom/ExceptionCode.cpp:
        * dom/ExceptionCode.h:

2011-10-19  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: CSS background-image applied inline shows a warning, but still works.
        https://bugs.webkit.org/show_bug.cgi?id=70325

        Reviewed by Antti Koivisto.

        This change eliminates the "non-parsed property" warning displayed next to any
        "background-image" property of an element's inline style.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseDeclaration):
        * css/CSSParser.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):

2011-10-28  Adam Barth  <abarth@webkit.org>

        Attempt to fixenate Qt.

        * CodeGenerators.pri:
        * dom/make_event_factory.pl:
        (toMacroStyle):

2011-10-28  Adam Barth  <abarth@webkit.org>

        ExceptionCode.cpp shouldn't need to know about every feature that throws exceptions
        https://bugs.webkit.org/show_bug.cgi?id=70890

        Reviewed by Eric Seidel.

        Generate the feature-specific parts of ExceptionCode.cpp from a ".in"
        file.  This is an incremental step towards inlining
        getExceptionCodeDescription into its callers and replacing the switch
        statements at those locations with autogenerated code.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_makenames.py:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):
        * dom/DOMCoreException.cpp:
        (WebCore::DOMCoreException::initializeDescription):
        * dom/ExceptionCode.cpp:
        (WebCore::getExceptionCodeDescription):
        * dom/ExceptionCode.h:
        * dom/ExceptionCodeDescription.in: Added.
        * dom/make_exception_code_description.pl: Added.
        (defaultItemFactory):
        (generateCode):
        (generateHeader):
        (generateImplementation):

2011-10-28  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: CallStackSidebarPane should remove discarded Placards from RawSourceCode listeners list
        https://bugs.webkit.org/show_bug.cgi?id=70996

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/callstack-placards-discarded.html

        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.update):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
        * inspector/front-end/Placard.js:
        (WebInspector.Placard.prototype.toggleSelected):
        (WebInspector.Placard.prototype.discard):

2011-10-28  Jochen Eisinger  <jochen@chromium.org>

        Add allowScriptFromSource callback to FrameLoaderClient
        https://bugs.webkit.org/show_bug.cgi?id=71013

        Reviewed by Darin Fisher.

        Test: platform/chromium/permissionclient/script-permissions.html

        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::allowScriptFromSource):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::canRequest):

2011-10-27  Adam Barth  <abarth@webkit.org>

        Refactor make_event_factory.pl to use InFilesCompiler.pm
        https://bugs.webkit.org/show_bug.cgi?id=71094

        Reviewed by Eric Seidel.

        This refactoring helps share code with
        make_exception_code_descriptions.pl, which is coming in a future patch.
        I have a dream of refactoring make_names.pl to use this module as well.

        * CodeGenerators.pri:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/scripts/action_makenames.py:
        * bindings/scripts/InFilesCompiler.pm: Added.
        (itemHandler):
        (parameterHandler):
        (new):
        (compile):
        (license):
        * dom/make_event_factory.pl:
        (defaultItemFactory):
        (interfaceForEvent):
        (generateCode):
        (printFactoryFile):
        (printMacroFile):
        (printHeadersFile):

2011-10-26  Nat Duca  <nduca@chromium.org>

        [chromium] Implement frame rate control portions of CCScheduler
        https://bugs.webkit.org/show_bug.cgi?id=70713

        Reviewed by James Robinson.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp: Added.
        (WebCore::CCDelayBasedTimeSource::setActive):
        (WebCore::CCDelayBasedTimeSource::postTickTask):
        (WebCore::CCDelayBasedTimeSource::onTick):
        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h: Added.
        (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
        (WebCore::CCDelayBasedTimeSource::~CCDelayBasedTimeSource):
        (WebCore::CCDelayBasedTimeSource::setClient):
        (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
        * platform/graphics/chromium/cc/CCFrameRateController.cpp: Added.
        (WebCore::CCFrameRateControllerTimeSourceAdapter::create):
        (WebCore::CCFrameRateControllerTimeSourceAdapter::~CCFrameRateControllerTimeSourceAdapter):
        (WebCore::CCFrameRateControllerTimeSourceAdapter::onTimerTick):
        (WebCore::CCFrameRateControllerTimeSourceAdapter::CCFrameRateControllerTimeSourceAdapter):
        (WebCore::CCFrameRateController::CCFrameRateController):
        (WebCore::CCFrameRateController::~CCFrameRateController):
        (WebCore::CCFrameRateController::onTimerTick):
        (WebCore::CCFrameRateController::didBeginFrame):
        (WebCore::CCFrameRateController::didFinishFrame):
        (WebCore::CCFrameRateController::didAbortAllPendingFrames):
        * platform/graphics/chromium/cc/CCFrameRateController.h: Added.
        (WebCore::CCFrameRateControllerClient::~CCFrameRateControllerClient):
        (WebCore::CCFrameRateController::setClient):
        (WebCore::CCFrameRateController::setActive):
        * platform/graphics/chromium/cc/CCTimeSource.h: Added.
        (WebCore::CCTimeSourceClient::~CCTimeSourceClient):
        (WebCore::CCTimeSource::~CCTimeSource):

2011-10-27  Kentaro Hara  <haraken@chromium.org>

        Deprecate [V8ConstructorSetsActiveDOMWrapper] IDL
        https://bugs.webkit.org/show_bug.cgi?id=71088

        Reviewed by Adam Barth.

        I introduced [V8ConstructorSetsActiveDOMWrapper] IDL in bug 66536,
        but I found that it has the same meaning as [ActiveDOMObject] IDL.
        This patch removes [V8ConstructorSetsActiveDOMWrapper] IDL.

        No change in behavior.

        Tests: fast/dom/global-constructors.html
               fast/eventsource/eventsource-constructor.html
               fast/eventsource/eventsource-attribute-listeners.html
               fast/files/blob-slice-test.html
               fast/files/file-reader-abort.html
               ui_tests:WorkerTest.FLAKY_SharedWorkerFastConstructor
               ui_tests:WorkerTest.FLAKY_SharedWorkerFastName
               ui_tests:WorkerTest.FLAKY_WorkerConstructor
               ui_tests:WorkerTest.FLAKY_WorkerEventListener

        * bindings/scripts/CodeGeneratorV8.pm: Replaced "V8ConstructorSetsActiveDOMWrapper" with "ActiveDOMObject".
        (GenerateConstructorCallback):
        * bindings/scripts/test/TestInterface.idl: Ditto.
        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated a test result.
        (WebCore::isObservable):
        (WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTestInterfaceOwner::finalize):
        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
        (WebCore::wrapperOwner):
        (WebCore::wrapperContext):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Ditto.
        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
        (WebCore::V8TestInterface::toActiveDOMObject):
        (WebCore::V8TestInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestInterface.h: Ditto.
        (WebCore::V8TestInterface::existingWrapper):
        * fileapi/FileReader.idl: Removed [V8ConstructorSetsActiveDOMWrapper] IDL.
        * mediastream/PeerConnection.idl: Ditto.
        * page/EventSource.idl: Ditto.
        * workers/SharedWorker.idl: Ditto.
        * workers/Worker.idl: Ditto.

2011-10-28  Yuta Kitamura  <yutak@chromium.org>

        Race condition in SocketStreamHandleCFNet when PAC script is used
        https://bugs.webkit.org/show_bug.cgi?id=70894

        Reviewed by Alexey Proskuryakov.

        Pass callback functions that call ref() or deref() as retain/release member
        of CFStreamClientContext.

        No new tests, as it is not possible to write a test with PAC script enabled.

        * platform/network/cf/SocketStreamHandle.h:
        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::scheduleStreams):
        (WebCore::SocketStreamHandle::retainSocketStreamHandle):
        (WebCore::SocketStreamHandle::releaseSocketStreamHandle):
        (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread):
        This callback may be called after platformClose() is already called. We should
        not create new streams in this case.
        (WebCore::SocketStreamHandle::executePACFileURL):
        (WebCore::SocketStreamHandle::readStreamCallback):
        This manual ref/deref can be safely removed as m_readStream holds the reference.
        (WebCore::SocketStreamHandle::writeStreamCallback):
        Ditto.

2011-10-27  Arthur Hsu  <arthurhsu@chromium.org>

        Reland patch ensure font load before calling Skia during printing
        https://bugs.webkit.org/show_bug.cgi?id=70390

        Reviewed by James Robinson.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::paintSkiaText):

2011-10-27  Adam Barth  <abarth@webkit.org>

        Attempt to fix the Qt build.

        * WebCore.pro:

2011-10-27  Ryosuke Niwa  <rniwa@webkit.org>

        binding test rebaseline after r98679.

        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::setJSTestObjStringAttr):
        (WebCore::setJSTestObjStringAttrWithGetterException):
        (WebCore::setJSTestObjStringAttrWithSetterException):
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
        (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):

2011-10-27  Adam Barth  <abarth@webkit.org>

        Move type-specific exception descriptions into the implementation files for each type
        https://bugs.webkit.org/show_bug.cgi?id=71081

        Reviewed by Eric Seidel.

        There's no reason to centralize this information.  It belongs with each
        exception type.  This patch is in preparation for autogenerating the central file.

        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMCoreException.cpp: Added.
        (WebCore::DOMCoreException::initializeDescription):
        * dom/DOMCoreException.h:
        * dom/EventException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
        (WebCore::EventException::initializeDescription):
        * dom/EventException.h:
        * dom/ExceptionBase.h:
        (WebCore::ExceptionBase::code):
        (WebCore::ExceptionBase::name):
        (WebCore::ExceptionBase::message):
        (WebCore::ExceptionBase::description):
        * dom/ExceptionCode.cpp:
        (WebCore::getExceptionCodeDescription):
        * dom/RangeException.cpp: Copied from Source/WebCore/xml/XPathException.h.
        (WebCore::RangeException::initializeDescription):
        * dom/RangeException.h:
        * fileapi/FileException.cpp: Added.
        (WebCore::FileException::initializeDescription):
        * fileapi/FileException.h:
        * fileapi/OperationNotAllowedException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
        (WebCore::OperationNotAllowedException::initializeDescription):
        * fileapi/OperationNotAllowedException.h:
        * storage/IDBDatabaseException.cpp: Added.
        (WebCore::IDBDatabaseException::initializeDescription):
        * storage/IDBDatabaseException.h:
        * storage/SQLException.cpp: Added.
        (WebCore::SQLException::initializeDescription):
        * storage/SQLException.h:
        * svg/SVGException.cpp: Copied from Source/WebCore/dom/EventException.h.
        (WebCore::SVGException::initializeDescription):
        * svg/SVGException.h:
        * xml/XMLHttpRequestException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
        (WebCore::XMLHttpRequestException::initializeDescription):
        * xml/XMLHttpRequestException.h:
        * xml/XPathException.cpp: Copied from Source/WebCore/xml/XPathException.h.
        (WebCore::XPathException::initializeDescription):
        * xml/XPathException.h:

2011-10-27  Kentaro Hara  <haraken@chromium.org>

        Generate WebKitCSSMatrix constructor for JSC by [Constructor] IDL
        https://bugs.webkit.org/show_bug.cgi?id=70215

        Reviewed by Adam Barth.

        This patch implements [Optional=CallWithNullValue] IDL for JSC.
        While a parameter specified as [Optional=CallWithDefaultValue] is
        handled as a string "undefined", a parameter specified as
        [Optional=CallWithNullValue] is handled as a null string.
        (Note: not a string "null", but a null string).

        c.f. [Optional=CallWithNullValue] is implemented in V8 in bug 67458.

        Tests: fast/dom/global-constructors.html
               transforms/svg-vs-css.xhtml
               transforms/cssmatrix-2d-interface.xhtml
               transforms/cssmatrix-3d-interface.xhtml

        * GNUmakefile.list.am: Removed JSWebKitCSSMatrixCustom.cpp.
        * UseJSC.cmake: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
        * bindings/js/JSDOMBinding.h: MAYBE_MISSING_PARAMETER(exec, index, policy) returns the index-th parameter, if the parameter exists. It returns an undefined value, if the index-th parameter is missing and the policy is MissingIsUndefined. It returns an empty value, otherwise (i.e. if the index-th parameter is missing and the policy is MissingIsEmpty).
        * bindings/js/JSWebKitCSSMatrixCustom.cpp: Removed.
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateParametersCheck): Supported [Optional=CallWithNullValue].
        (GenerateConstructorDefinition): Supported [Optional=CallWithNullValue].
        * css/WebKitCSSMatrix.idl: Removed [JSCustomConstructor].

2011-10-27  Julien Chaffraix  <jchaffraix@webkit.org>

        RenderTableCell m_row and m_column should not be signed values
        https://bugs.webkit.org/show_bug.cgi?id=70369

        Reviewed by Darin Adler.

        No new tests, refactoring only.

        The gist of the change is to update row / column handling in the table's
        rendering code to use unsigned values. Not all the code is switched over
        to unsigned but this is a good start.

        Using unsigned makes a lot more sense that allowing some negative indexes
        to creep in the algorithms. Also it enables us to "free" the unused signed
        bit on the 2 RenderTableCell fields that can be used to pack 2 bits in a
        follow-up patch.

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::cellForColumnAndRow):
        Removed 2 casts to int as the left side now computes to an unsigned too.
        Added some ASSERT to make sure we don't get negative values (colSpan / rowSpan
        are always >= 1 by definition but better to be safe).

        * accessibility/AccessibilityTableColumn.cpp:
        (WebCore::AccessibilityTableColumn::headerObjectForSection):
        * accessibility/AccessibilityTableColumn.h:
        Switched m_columnIndex to unsigned to remove any signed / unsigned comparisons.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::splitColumn):
        (WebCore::RenderTable::calcBorderEnd):
        (WebCore::RenderTable::cellAbove):
        (WebCore::RenderTable::cellBelow):
        (WebCore::RenderTable::cellBefore):
        (WebCore::RenderTable::cellAfter):
        Mostly mechanical changes to avoid signed / unsigned comparisons or casts.

        * rendering/RenderTable.h:
        (WebCore::RenderTable::numEffCols):
        (WebCore::RenderTable::colToEffCol):
        Updated a couple of functions to use an unsigned.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::RenderTableCell):
        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::col):
        (WebCore::RenderTableCell::setCol):
        (WebCore::RenderTableCell::row):
        (WebCore::RenderTableCell::setRow):
        Updated after switching the fields to unsigned. Also added 2 constants
        to cover the not-initialized-yet value for row and column indexes.
        Note: we don't enforce that you can't reach those indexes but neither
        did the previous code!

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::RenderTableSection):
        (WebCore::RenderTableSection::addChild):
        (WebCore::RenderTableSection::ensureRows):
        (WebCore::RenderTableSection::setCellLogicalWidths):
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::calcOuterBorderStart):
        (WebCore::RenderTableSection::calcOuterBorderEnd):
        (WebCore::RenderTableSection::recalcCells):
        (WebCore::RenderTableSection::clearGrid):
        (WebCore::RenderTableSection::numColumns):
        (WebCore::RenderTableSection::appendColumn):
        (WebCore::RenderTableSection::splitColumn):
        Lots of mechanical: signed -> unsigned changes. However we had
        to change the logic a bit as it assumed that m_cRow started at
        -1 and increased from there. The new meaning of m_cRow is the
        number of rows seen and m_cRow - 1 is where to insert your new
        cells.

        (WebCore::RenderTableSection::addCell):
        Checked the callers and all increase m_cRow before calling the function.
        Added an ASSERT to catch up wrong usage in the future.

        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::numRows): Switched to unsigned.

2011-10-27  Dan Bernstein  <mitz@apple.com>

        Assertion failure (m_text) in RenderText::RenderText() at icanhascheezburger.com
        https://bugs.webkit.org/show_bug.cgi?id=71085

        Reviewed by Jon Honeycutt.

        Test: fast/css-generated-content/attr-missing.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): If the element does not have the attribute specified
        in the attr() function in the content property, set the content to the empty string, per
        <http://www.w3.org/TR/CSS21/generate.html#content>.

2011-10-27  Helder Correia  <helder.correia@palm.com>

        [Qt] Failure to build when QT_NO_CURSOR defined
        https://bugs.webkit.org/show_bug.cgi?id=71060

        Reviewed by Noam Rosenthal.

        PlatformVideoWindowQt needs to wrap some code around #ifndef
        QT_NO_CURSOR in order to build QtWebKit when QT_NO_CURSOR is defined.

        Build fix, no new tests.

        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
        (FullScreenVideoWindow::FullScreenVideoWindow):
        (FullScreenVideoWindow::closeEvent):
        (FullScreenVideoWindow::hideCursor):
        (FullScreenVideoWindow::showCursor):

2011-10-27  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Track when CCLayerImpl properties have changed.
        https://bugs.webkit.org/show_bug.cgi?id=70442

        Reviewed by James Robinson.

        To determine a good scissor rect, we must determine what
        will change on the screen on the next redraw.  This patch
        tracks the necessary information on CCLayerImpl and marks
        a flag indicating whether this layer will "damage" the screen.
        The other portion of "change", the updateRect, was already
        landed in https://bugs.webkit.org/show_bug.cgi?id=69441.

        New unit test added to CCLayerImplTest to test this patch.

        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        (WebCore::CCLayerImpl::scrollBy):
        (WebCore::CCLayerImpl::noteLayerPropertyChangedForSubtree):
        (WebCore::CCLayerImpl::noteLayerPropertyChangedForDescendants):
        (WebCore::CCLayerImpl::setBounds):
        (WebCore::CCLayerImpl::setMaskLayer):
        (WebCore::CCLayerImpl::setReplicaLayer):
        (WebCore::CCLayerImpl::setDrawsContent):
        (WebCore::CCLayerImpl::setAnchorPoint):
        (WebCore::CCLayerImpl::setAnchorPointZ):
        (WebCore::CCLayerImpl::setMasksToBounds):
        (WebCore::CCLayerImpl::setOpaque):
        (WebCore::CCLayerImpl::setOpacity):
        (WebCore::CCLayerImpl::setPosition):
        (WebCore::CCLayerImpl::setPreserves3D):
        (WebCore::CCLayerImpl::setSublayerTransform):
        (WebCore::CCLayerImpl::setTransform):
        (WebCore::CCLayerImpl::setDebugBorderColor):
        (WebCore::CCLayerImpl::setDebugBorderWidth):
        (WebCore::CCLayerImpl::setContentBounds):
        (WebCore::CCLayerImpl::setScrollPosition):
        (WebCore::CCLayerImpl::setScrollDelta):
        (WebCore::CCLayerImpl::setDoubleSided):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::layerPropertyChanged):
        (WebCore::CCLayerImpl::resetLayerPropertyChanged):

2011-10-27  Anders Carlsson  <andersca@apple.com>

        Add a Plugin::geometryDidChange that will work with transforms
        https://bugs.webkit.org/show_bug.cgi?id=71072

        Reviewed by Simon Fraser.

        Export symbols needed by WebKit2.

        * WebCore.exp.in:

2011-10-27  Adam Barth  <abarth@webkit.org>

        Exception subtypes have incorrect namespace indentation
        https://bugs.webkit.org/show_bug.cgi?id=71075

        Reviewed by Eric Seidel.

        This patch is in preparation for editing these headers.  We decided to
        not indent namespaces in headers and update the headers as we edited
        them.

        * dom/DOMCoreException.h:
        (WebCore::DOMCoreException::create):
        (WebCore::DOMCoreException::DOMCoreException):
        * dom/EventException.h:
        (WebCore::EventException::create):
        (WebCore::EventException::EventException):
        * dom/RangeException.h:
        (WebCore::RangeException::create):
        (WebCore::RangeException::RangeException):
        * xml/XMLHttpRequestException.h:
        (WebCore::XMLHttpRequestException::create):
        (WebCore::XMLHttpRequestException::XMLHttpRequestException):
        * xml/XPathException.h:
        (WebCore::XPathException::create):
        (WebCore::XPathException::XPathException):

2011-10-27  Kenneth Russell  <kbr@google.com>

        Implement new restrictions on uniform and attribute location lengths
        https://bugs.webkit.org/show_bug.cgi?id=70981

        Reviewed by Chris Marrin.

        Tests: fast/canvas/webgl/attrib-location-length-limits.html
               fast/canvas/webgl/uniform-location-length-limits.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bindAttribLocation):
        (WebCore::WebGLRenderingContext::getAttribLocation):
        (WebCore::WebGLRenderingContext::getUniformLocation):
        (WebCore::WebGLRenderingContext::validateLocationLength):
        * html/canvas/WebGLRenderingContext.h:

2011-10-27  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Implement subtree observation of transiently disconnected nodes
        https://bugs.webkit.org/show_bug.cgi?id=70788

        Reviewed by Ryosuke Niwa.

        This patch adds support for observing all descendant nodes reachable from a subtree
        observation until delivery of mutations -- even if they become detached. We do this by
        introducing a "transient registration" which can exist for a short time along side
        normal registrations on Node. Transient registrations have a reference to the node
        which "owns" the subtree observation registration (the "registrationNode"). Transient
        registrations are cleared immediately before mutations are delivered to an observer,
        or when the observer re-observes at the registrationNode, in-effect resetting the
        observation.

        New tests added to fast/mutation/observe-subtree.html.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/ChildListMutationScope.cpp:
        (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::ChildListMutationAccumulator):
        (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
        * dom/ContainerNode.cpp:
        (WebCore::dispatchChildRemovalEvents):
        * dom/Element.cpp:
        (WebCore::enqueueAttributesMutationRecord):
        * dom/Node.cpp:
        (WebCore::addMatchingObservers):
        (WebCore::Node::getRegisteredMutationObserversOfType):
        (WebCore::Node::registerMutationObserver):
        (WebCore::Node::unregisterMutationObserver):
        (WebCore::Node::notifySubtreeObserversOfDisconnection):
        * dom/Node.h:
        * dom/NodeRareData.h:
        (WebCore::MutationObserverEntry::MutationObserverEntry):
        (WebCore::MutationObserverEntry::operator==):
        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::observe):
        (WebCore::unregisterTransientEntries):
        (WebCore::WebKitMutationObserver::disconnect):
        (WebCore::WebKitMutationObserver::observedNodeDestructed):
        (WebCore::WebKitMutationObserver::observedSubtreeWillDisconnect):
        (WebCore::WebKitMutationObserver::clearTransientEntries):
        (WebCore::WebKitMutationObserver::deliver):
        * dom/WebKitMutationObserver.h:

2011-10-27  Pratik Solanki  <psolanki@apple.com>

        Ask CG to not parse image metadata
        https://bugs.webkit.org/show_bug.cgi?id=71029

        Reviewed by Simon Fraser.

        We don't need CG to parse the image metadata since WebCore never uses it. Passing this
        option shaves off time spent under CGImageSourceCopyPropertiesAtIndex. Under Instruments I
        saw the time drop from ~75ms to ~25ms when loading http://boston.com/bigpicture and the
        first link on that page.

        No new tests because no change in functionality.

        * platform/graphics/ImageSource.h:
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::imageSourceOptions):
        (WebCore::ImageSource::isSizeAvailable):
        (WebCore::ImageSource::frameSizeAtIndex):
        (WebCore::ImageSource::getHotSpot):
        (WebCore::ImageSource::repetitionCount):
        (WebCore::ImageSource::createFrameAtIndex):
        (WebCore::ImageSource::frameDurationAtIndex):

2011-10-27  David Grogan  <dgrogan@chromium.org>

        Move eventqueue from Document to ScriptExecutionContext so that it can be accessed from workers
        https://bugs.webkit.org/show_bug.cgi?id=57789

        Extract interface from EventQueue and create two new subclasses:
        DocumentEventQueue and WorkerEventQueue.  DocumentEventQueue is the
        old EventQueue implementation that uses DOMTimer(0) to post async
        events.  WorkerEventQueue posts events to its thread's message loop.

        Reviewed by David Levin.

        No new tests - IndexedDB will use this but isn't ready yet.  I don't
        know of any other API available in workers that I can test this with.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Document::eventQueue):
        * dom/DocumentEventQueue.cpp: Renamed from Source/WebCore/dom/EventQueue.cpp.
        (WebCore::shouldDispatchScrollEventSynchronously):
        (WebCore::DocumentEventQueueTimer::DocumentEventQueueTimer):
        (WebCore::DocumentEventQueueTimer::fired):
        (WebCore::DocumentEventQueue::create):
        (WebCore::DocumentEventQueue::DocumentEventQueue):
        (WebCore::DocumentEventQueue::~DocumentEventQueue):
        (WebCore::DocumentEventQueue::enqueueEvent):
        (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
        (WebCore::DocumentEventQueue::cancelEvent):
        (WebCore::DocumentEventQueue::close):
        (WebCore::DocumentEventQueue::pendingEventTimerFired):
        (WebCore::DocumentEventQueue::dispatchEvent):
        * dom/DocumentEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.
        * dom/EventQueue.h:
        * dom/ScriptExecutionContext.h:
        * page/EventHandler.cpp: Change EventQueue to DocumentEventQueue.
        (WebCore::EventHandler::sendScrollEvent): Change EventQueue to DocumentEventQueue.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollTo): Change EventQueue to DocumentEventQueue.
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::scrollTo): Change EventQueue to DocumentEventQueue.
        * storage/IDBDatabase.cpp:
        * storage/IDBRequest.cpp:
        * storage/IDBTransaction.cpp:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::eventQueue):
        * workers/WorkerContext.h:
        * workers/WorkerEventQueue.cpp: Added.
        (WebCore::WorkerEventQueue::create):
        (WebCore::WorkerEventQueue::WorkerEventQueue):
        (WebCore::WorkerEventQueue::~WorkerEventQueue):
        (WebCore::WorkerEventQueue::EventDispatcherTask::create):
        (WebCore::WorkerEventQueue::EventDispatcherTask::dispatchEvent):
        (WebCore::WorkerEventQueue::EventDispatcherTask::performTask):
        (WebCore::WorkerEventQueue::EventDispatcherTask::cancel):
        (WebCore::WorkerEventQueue::EventDispatcherTask::EventDispatcherTask):
        (WebCore::WorkerEventQueue::removeEvent):
        (WebCore::WorkerEventQueue::enqueueEvent):
        (WebCore::WorkerEventQueue::cancelEvent):
        (WebCore::WorkerEventQueue::close):
        * workers/WorkerEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.

2011-10-27  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>

        [GStreamer] Prevent memory leak when fullscreening a video
        https://bugs.webkit.org/show_bug.cgi?id=71043

        Reviewed by Gustavo Noronha Silva.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::GStreamerGWorld):
        (WebCore::GStreamerGWorld::enterFullscreen):
        (WebCore::GStreamerGWorld::exitFullscreen):
        * platform/graphics/gstreamer/GStreamerGWorld.h:

2011-10-27  Joseph Pecoraro  <pecoraro@apple.com>

        Reviewed by David Kilzer.

        Make FeatureDefines Identical Across OS X Projects
        https://bugs.webkit.org/show_bug.cgi?id=71051

        * Configurations/FeatureDefines.xcconfig:

2011-10-27  Joseph Pecoraro  <pecoraro@apple.com>

        Correctly Guard Exported REQUEST_ANIMATION_FRAME Symbols
        https://bugs.webkit.org/show_bug.cgi?id=71047

        Reviewed by David Kilzer.

        * WebCore.exp.in:

2011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98626.
        http://trac.webkit.org/changeset/98626
        https://bugs.webkit.org/show_bug.cgi?id=71066

        Does not compile on cr-win (Requested by jamesr_ on #webkit).

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::paintSkiaText):

2011-10-27  Tony Chang  <tony@chromium.org>

        Fix a compiler warning caught by gcc 4.6.1. Need to return something.

        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        (WebCore::CCSchedulerStateMachine::nextAction):

2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Advanced search style fixes.
        https://bugs.webkit.org/show_bug.cgi?id=71036

        Reviewed by Pavel Feldman.

        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.SearchView):
        * inspector/front-end/Images/statusbarButtonGlyphs.png:
        * inspector/front-end/inspector.css:
        (.search-view .search-panel):
        (.search-view .search-panel input[type="search"].search-config-search):
        (.search-view .search-panel input[type="checkbox"].search-config-checkbox):
        (body:not(.platform-mac) .search-view .search-panel input[type="checkbox"].search-config-checkbox):
        (body.platform-mac .search-view .search-panel input[type="checkbox"].search-config-checkbox):
        (#drawer-status-bar .search-status-bar-progress):
        (body:not(.platform-mac) #drawer-status-bar .search-status-bar-progress):
        (body.platform-mac #drawer-status-bar .search-status-bar-progress):

2011-10-27  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=71061
        
        [CSS Line Grid] Add support for parsing the line-grid property.

        New tests in fast/line-grid.

        Reviewed by Dan Bernstein.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::lineGrid):
        (WebCore::InheritedFlags::setLineGrid):
        (WebCore::InheritedFlags::initialLineGrid):
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h:

2011-10-27  Fady Samuel  <fsamuel@chromium.org>

        iframes seem to occasionally doubly scale or scale incorrectly when pageScaleFactor != 1.0
        https://bugs.webkit.org/show_bug.cgi?id=70552

        Reviewed by Simon Fraser.

        Test: fast/frames/iframe-double-scale-contents.html

        The iframe's document style was using the page's scale factor, rather than the frame's (1.0).
        If the page scale factor was set after layout was complete, then this would have no impact because the iframe's document style and layout is not recomputed, 
        but if the page scale factor is set prior to creating and laying out the iframe, the iframe's content would be doubly scaled.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument):

2011-10-27  Nat Duca  <nduca@chromium.org>

        Unreviewed, fix CCSchedulerStateMachine build errors.

        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:

2011-10-27  Tony Chang  <tony@chromium.org>

        fix sizing of auto sized flexbox
        https://bugs.webkit.org/show_bug.cgi?id=70839

        Reviewed by David Hyatt.

        Correctly set the height of the flexbox when we have a column flow
        and the height is auto.

        Tests: css3/flexbox/columns-auto-size.html
               css3/flexbox/flex-flow-margins-auto-size.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): Always computeLogicalHeight() after we're done placing children.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection): Set the height as we place children.

2011-10-25  Vangelis Kokkevis  <vangelis@chromium.org>

        Add support for creating compositing layers for fixed position elements.
        https://bugs.webkit.org/show_bug.cgi?id=69796

        position:fixed elements will get a compositing layer if:
        1. Settings:acceleratedCompositingForFixedPositionEnabled() returns true, 
        2. The element has its own stacking context (e.g. has a z-index), and
        3. The element's container is the RenderView (e.g. not a descendant of a transformed element)

        Reviewed by Simon Fraser.


        Test: compositing/geometry/fixed-position-composited-switch.html

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setAcceleratedCompositingForFixedPositionEnabled):
        (WebCore::Settings::acceleratedCompositingForFixedPositionEnabled):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
        * rendering/RenderLayerCompositor.h:
        * testing/Internals.cpp:
        (WebCore::Internals::setEnableCompositingForFixedPosition):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-10-27  Arthur Hsu  <arthurhsu@chromium.org>

        https://bugs.webkit.org/show_bug.cgi?id=70390
        Ensure font load for Skia backend during printing.

        Reviewed by James Robinson.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::paintSkiaText):

2011-10-27  Michael Saboff  <msaboff@apple.com>

        Investigate storing strings in 8-bit buffers when possible
        https://bugs.webkit.org/show_bug.cgi?id=66161

        Changes to support 8 bit StringImpl changes.
        
        Reviewed by Geoffrey Garen.
        
        No new tests, refactored StringImpl for 8 bit strings.

        * platform/text/cf/StringImplCF.cpp:
        (WTF::StringImpl::createCFString):

2011-10-27  Nat Duca  <nduca@chromium.org>

        [chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
        https://bugs.webkit.org/show_bug.cgi?id=70714

        Reland of ill-fated r98612.

        Reviewed by James Robinson.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
        (WebCore::CCSchedulerStateMachine::nextAction):
        (WebCore::CCSchedulerStateMachine::updateState):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
        (WebCore::CCSchedulerStateMachine::operator=):
        (WebCore::CCSchedulerStateMachine::commitPending):
        (WebCore::CCSchedulerStateMachine::setNeedsRedraw):
        (WebCore::CCSchedulerStateMachine::setNeedsCommit):
        (WebCore::CCSchedulerStateMachine::beginFrameComplete):
        (WebCore::CCSchedulerStateMachine::updateResourcesComplete):

2011-10-27  Pavel Podivilov  <podivilov@chromium.org>

        Get rid of optional parameters in the middle in IDLs.
        https://bugs.webkit.org/show_bug.cgi?id=70816

        Reviewed by Adam Barth.

        Optional parameters in the middle are prohibited by WebIDL spec.

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (GenerateArgumentsCountCheck):
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
        * html/canvas/CanvasRenderingContext2D.idl:
        * page/DOMWindow.idl:

2011-10-27  Antti Koivisto  <antti@apple.com>

        REGRESSION(r98542): tables/mozilla_expected_failures/bugs/bug14007-2.html
        https://bugs.webkit.org/show_bug.cgi?id=71032

        Reviewed by Dave Hyatt.

        If we apply an explicitly inherited property, we need to apply any further
        non-inherited properties as the property might get overridden again.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForKeyframe):
        (WebCore::CSSStyleSelector::styleForPage):
        (WebCore::CSSStyleSelector::applyDeclaration):
        (WebCore::CSSStyleSelector::applyDeclarations):
        * css/CSSStyleSelector.h:

2011-10-27  Julien Chaffraix  <jchaffraix@webkit.org>

        Remove RenderTableSection::m_gridRows
        https://bugs.webkit.org/show_bug.cgi?id=70570

        Reviewed by Darin Adler.

        No new test, refactoring only.

        Just nuke the old field that was duplicating
        m_grid.size().

        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::numRows):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::RenderTableSection):
        (WebCore::RenderTableSection::ensureRows):
        (WebCore::RenderTableSection::setCellLogicalWidths):
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::calcOuterBorderBefore):
        (WebCore::RenderTableSection::calcOuterBorderAfter):
        (WebCore::RenderTableSection::calcOuterBorderStart):
        (WebCore::RenderTableSection::calcOuterBorderEnd):
        (WebCore::RenderTableSection::firstLineBoxBaseline):
        (WebCore::RenderTableSection::paint):
        (WebCore::RenderTableSection::paintObject):
        (WebCore::RenderTableSection::clearGrid):
        (WebCore::RenderTableSection::numColumns):
        (WebCore::RenderTableSection::appendColumn):
        (WebCore::RenderTableSection::splitColumn):
        s/m_gridRows/m_grid.size()/.
        Also updated the code as m_grid.size() is unsigned.

        (WebCore::RenderTableSection::recalcCells):
        The old code would keep the grid's memory but we have to clear it to properly
        count the elements. To avoid lots of small reallocations, we reallocate the
        buffer at the old capacity upfront.

2011-10-27  Nat Duca  <nduca@chromium.org>

        Unreviewed, rolling out r98612.
        http://trac.webkit.org/changeset/98612
        https://bugs.webkit.org/show_bug.cgi?id=70714

        Broke build

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Removed.
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Removed.

2011-10-24  Nat Duca  <nduca@chromium.org>

        [chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
        https://bugs.webkit.org/show_bug.cgi?id=70714

        Reviewed by James Robinson.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
        (WebCore::CCSchedulerStateMachine::nextAction):
        (WebCore::CCSchedulerStateMachine::updateState):
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
        (WebCore::CCSchedulerStateMachine::operator=):
        (WebCore::CCSchedulerStateMachine::commitPending):
        (WebCore::CCSchedulerStateMachine::setNeedsRedraw):
        (WebCore::CCSchedulerStateMachine::setNeedsCommit):
        (WebCore::CCSchedulerStateMachine::beginFrameComplete):
        (WebCore::CCSchedulerStateMachine::updateResourcesComplete):

2011-10-27  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10262205> Allow column progression to be independent of writing mode
        https://bugs.webkit.org/show_bug.cgi?id=71028

        Reviewed by Darin Adler.

        Tests: fast/multicol/block-axis-horizontal-bt.html
               fast/multicol/block-axis-horizontal-tb.html
               fast/multicol/block-axis-vertical-lr.html
               fast/multicol/block-axis-vertical-rl.html
               fast/multicol/flipped-blocks-hit-test.html

        Allow “columns” to be stacked along the block axis rather than the inline axis. This can facilitate
        paginated interfaces. A column-axis property is added in order to enable this mode.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle the column-axis property.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Ditto.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map ColumnAxis values to identifiers.
        (WebCore::CSSPrimitiveValue::operator ColumnAxis): Map identifiers to ColumnAxis values.
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty): Updated to return false for the column-axis property.
        * css/CSSPropertyNames.in: Added -webkit-column-axis.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Handle column-axis.
        * rendering/ColumnInfo.h:
        (WebCore::ColumnInfo::ColumnInfo): Added m_progressionAxis to the initialization list.
        (WebCore::ColumnInfo::progressionAxis): Added this getter.
        (WebCore::ColumnInfo::setProgressionAxis): Added this setter.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addOverflowFromChildren): Simplified, and thus also made this function work
        with block-axis column progression.
        (WebCore::RenderBlock::paintColumnRules): Added code to paint rules between columns with block-axis
        progression.
        (WebCore::RenderBlock::paintColumnContents): Adjusted the painting offset for the block-axis
        column progression case.
        (WebCore::RenderBlock::nodeAtPoint): Fixed hit-testing in flipped-blocks writing modes. This is
        covered by flipped-blocks-hit-test.html.
        (WebCore::RenderBlock::hitTestColumns): Adjusted the offset for the block-axis column progression
        case.
        (WebCore::RenderBlock::calcColumnWidth): Set the column width to the content logical width in
        the block-axis column progression case. The column-width and column-count properties are ignored.
        (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Set the column progression axis based on
        the style.
        (WebCore::RenderBlock::columnCount): Broke up an assertion into two.
        (WebCore::RenderBlock::columnRectAt): Updated for block-axis column progression.
        (WebCore::RenderBlock::adjustPointToColumnContents): Ditto.
        (WebCore::RenderBlock::adjustRectForColumns): Ditto.
        (WebCore::RenderBlock::adjustForColumns): Ditto.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintChildLayerIntoColumns): Adjusted the offser for the block-axis column
        progression case.
        (WebCore::RenderLayer::hitTestChildLayerColumns): Ditto.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::columnAxis): Added this getter.
        (WebCore::InheritedFlags::hasInlineColumnAxis): Added. Checks the column axis against the writing
        mode.
        (WebCore::InheritedFlags::specifiesColumns): Changed to return true if the specified column axis
        is the block axis.
        (WebCore::InheritedFlags::setColumnAxis): Added this setter.
        (WebCore::InheritedFlags::initialColumnAxis): Added. Returns AutoColumnAxis.
        * rendering/style/RenderStyleConstants.h: Added a ColumnAxis enum.
        * rendering/style/StyleMultiColData.cpp:
        (WebCore::StyleMultiColData::StyleMultiColData): Added m_axis to the initialization list.
        (WebCore::StyleMultiColData::operator==): Compare m_axis.
        * rendering/style/StyleMultiColData.h: Added m_axis member variable.

2011-10-27  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Flag regions with custom styling
        https://bugs.webkit.org/show_bug.cgi?id=70733

        Reviewed by David Hyatt.

        Region elements that have custom region styling are now marked accordingly.

        Test: fast/regions/render-region-custom-style-mark.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::checkRegionStyle):
        * css/CSSStyleSelector.h:
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::RenderRegion):
        (WebCore::RenderRegion::styleDidChange):
        * rendering/RenderRegion.h:
        (WebCore::RenderRegion::hasCustomRegionStyle):
        (WebCore::RenderRegion::setHasCustomRegionStyle):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeRenderFlowThreads):

2011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98556.
        http://trac.webkit.org/changeset/98556
        https://bugs.webkit.org/show_bug.cgi?id=71031

        The test added by the patch doesn't pass on Snow Leopard
        (Requested by rniwa on #webkit).

        * editing/TextCheckingHelper.cpp:
        (WebCore::checkTextOfParagraph):
        * testing/Internals.cpp:
        * testing/Internals.h:
        * testing/Internals.idl:

2011-10-27  Mike Reed  <reed@google.com>

        [skia] replace offscreen technique with native support for antialiased clipping
        https://bugs.webkit.org/show_bug.cgi?id=70748

        Reviewed by Stephen White.

        ~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
        bits of the result. Other than that, the results should be the same, except that now the drawing
        can go directly to the canvas, rather than being direct offscreen and then have that result
        "clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
        antialiased clip area.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::State::State):
        (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
        (WebCore::PlatformContextSkia::clipPathAntiAliased):
        (WebCore::PlatformContextSkia::restore):
        * platform/graphics/skia/PlatformContextSkia.h:

2011-10-27  Tony Chang  <tony@chromium.org>

        use main/cross instead of logical width/height when talking about flow direction
        https://bugs.webkit.org/show_bug.cgi?id=70977

        Reviewed by Ojan Vafai.

        Flexbox code uses logical in function names to refer to the flow
        direction. This is confusing because writing mode also uses logical,
        but this is a diffent usage. To avoid confusion, be explicit about
        main vs cross axis. Extent is used instead of width/height.

        No new tests, just a refactoring.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::mainAxisLengthForChild):
        (WebCore::RenderFlexibleBox::crossAxisLength):
        (WebCore::RenderFlexibleBox::setCrossExtent):
        (WebCore::RenderFlexibleBox::crossExtentForChild):
        (WebCore::RenderFlexibleBox::mainExtentForChild):
        (WebCore::RenderFlexibleBox::crossAxisExtent):
        (WebCore::RenderFlexibleBox::mainAxisExtent):
        (WebCore::RenderFlexibleBox::crossAxisContentExtent):
        (WebCore::RenderFlexibleBox::mainAxisContentExtent):
        (WebCore::RenderFlexibleBox::crossAxisBorderAndPaddingExtent):
        (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
        (WebCore::RenderFlexibleBox::flowAwareLocationForChild):
        (WebCore::RenderFlexibleBox::setFlowAwareLocationForChild):
        (WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild):
        (WebCore::RenderFlexibleBox::mainAxisScrollbarExtentForChild):
        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForFlexItem):
        (WebCore::RenderFlexibleBox::layoutInlineDirection):
        (WebCore::RenderFlexibleBox::positiveFlexForChild): Since flex only
            matters in the main axis, there's no reason to deambiguate it here.
        (WebCore::RenderFlexibleBox::negativeFlexForChild): Ditto.
        (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Alignment is always
            in the cross axis direction, so don't include that in the method name.
        (WebCore::RenderFlexibleBox::marginBoxAscent):
        (WebCore::RenderFlexibleBox::computePreferredMainAxisExtent):
        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
        (WebCore::RenderFlexibleBox::adjustAlignmentForChild):  Alignment is always
            in the cross axis direction, so don't include that in the method name.
        (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
        * rendering/RenderFlexibleBox.h:

2011-10-27  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize JSCell::toThisObject
        https://bugs.webkit.org/show_bug.cgi?id=70958

        Reviewed by Geoffrey Garen.

        No new tests.

        Converted all instances of toThisObject to static functions, 
        added toThisObject to the MethodTable, and replaced all call sites
        with a corresponding lookup in the MethodTable.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::toThisObject):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSErrorHandler.cpp:
        (WebCore::JSErrorHandler::handleEvent):
        * bridge/NP_jsobject.cpp:
        (_NPN_Invoke):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2011-10-27  Adam Roben  <aroben@apple.com>

        Windows build fix after r98512

        * html/HTMLMediaElement.cpp: Moved a Web Audio-related #include inside an appropriate ENABLE
        guard.

2011-10-27  Adam Roben  <aroben@apple.com>

        Regenerate WebCore's Localizable.strings file

        All I did was run update-webkit-localizable-strings. A few localizer comments changed, and
        some strings (which must have been hand-added) got moved to a different part of the file.

        * English.lproj/Localizable.strings:

2011-10-27  Daniel Cheng  <dcheng@chromium.org>

        Clean up MicroDataItemValue to use const String& instead of String
        https://bugs.webkit.org/show_bug.cgi?id=70978

        Reviewed by Tony Chang.

        * html/MicroDataItemValue.cpp:
        (WebCore::MicroDataItemValue::MicroDataItemValue):
        * html/MicroDataItemValue.h:

2011-10-27  Antti Koivisto  <antti@apple.com>

        Use StringHasher to generate the matched declaration cache hash
        https://bugs.webkit.org/show_bug.cgi?id=71012

        Reviewed by Kenneth Rohde Christiansen and Andreas Kling.

        It is faster and better than the current custom function.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::computeDeclarationHash):

2011-10-27  Kentaro Hara  <haraken@chromium.org>

        Refactor OptionsObject.cpp
        https://bugs.webkit.org/show_bug.cgi?id=70572

        Reviewed by Adam Barth.

        For example, OptionsObject::getKeyBool() is an alias of
        OptionsObject::getKeyValue(const String& key, bool& value).
        We should remove OptionsObject::getKeyXXXX() (XXXX is some specific type)
        and unify them into OptionsObject::get(const String& key, XXXX& value).
        c.f. Corresponding JSC methods are unified into
        JSDictionary::convertValue(JSC::ExecState*, JSC::JSValue, XXXX&).

        The result of git diff is weird, but this patch is making just the following changes:
        - Replaced getKeyBool(), getKeyInt32(), getKeyDouble() and getKeyString() with get().
        - Renamed getKeyStringWithUndefinedOrNullCheck() to getWithUndefinedOrNullCheck().
        - Removed getKeyDOMStringList() and getKeyKeyRange(), since these are not used.
        - Move definitions of get() from .h to .cpp.

        No new tests. No change in behavior.

        * bindings/v8/OptionsObject.cpp:
        (WebCore::OptionsObject::get): Renamed from getKeyValue().
        (WebCore::OptionsObject::getKey): No change to this method. git diff seems to misunderstand as if it is modified.
        (WebCore::OptionsObject::getKeyDOMStringList): Removed, since no one is using it.
        (WebCore::OptionsObject::getKeyKeyRange): Ditto.
        (WebCore::OptionsObject::getWithUndefinedOrNullCheck): No change to this method. git diff seems to misunderstand as if it is modified.
        * bindings/v8/OptionsObject.h: Moved definitions of get() to OptionsObject.cpp
        * bindings/v8/custom/V8EventConstructors.cpp:
        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
        (WebCore::V8WebKitMutationObserver::observeCallback): Replaced getKeyXXXX() to get();
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore): Ditto.
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::createIndex): Ditto.

2011-10-27  Andreas Kling  <kling@webkit.org>

        StyleSheet.parentStyleSheet does not work.
        https://bugs.webkit.org/show_bug.cgi?id=70956

        Reviewed by Antti Koivisto.

        Since StyleSheet is only ever parented by a CSSRule, we need
        to go through that rule when resolving the StyleSheet's parent.

        Test: fast/css/stylesheet-parentStyleSheet.html

        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::parentStyleSheet):

2011-10-27  Antoine Labour  <piman@chromium.org>

        Disable blending when drawing opaque layers
        https://bugs.webkit.org/show_bug.cgi?id=70085

        Reviewed by James Robinson.

        Covered by compositing/ tests, as well as a new unit test:
        CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::setOpaque):
        (WebCore::CCLayerImpl::opaque):

2011-10-27  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Passing empty array to IDBDatabase.transaction should raise exception
        https://bugs.webkit.org/show_bug.cgi?id=70251

        Reviewed by Adam Barth.

        IDBDatabase.transaction() supported being called with an empty array to
        lock all object stores. Support for this was rejected from inclusion in
        the IDB spec due to performance concerns. This patch removes that
        functionality.

        A special case in the spec (passing a string instead of an array) worked
        in WebKit accidentally, by resolving the string to an empty array. This
        needed explicit support. Support for DOMString[] is added to the binding
        code generators (reliant on DOMStringList) to ensure JS arrays are not
        coerced to DOMStrings. This matches the proposed IDL.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateParametersCheckExpression):
        (GetNativeType):
        (JSValueToNative):
        (IsArrayType):
        * bindings/scripts/IDLStructure.pm:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabase.h:
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabase.idl:
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::objectStore):

2011-10-27  Ken Buchanan <kenrb@chromium.org>

        Crash due to nested first-letter selectors
        https://bugs.webkit.org/show_bug.cgi?id=70457

        Now only the lowest-level first-letter pseudostyle will be applied to
        a given piece of text. Previously the last renderer to have layout
        done would have its pseudostyle applied, no matter where it was in the
        tree.

        Reviewed by David Hyatt.

        * renderer/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter): Use the pseudostyle from
        the lowest level node to have one

2011-10-27  Andras Becsi  <andras.becsi@nokia.com>

        Fix the build if NO_LISTBOX_RENDERING is enabled
        https://bugs.webkit.org/show_bug.cgi?id=71009

        Reviewed by Kenneth Rohde Christiansen.

        If NO_LISTBOX_RENDERING is enabled RenderMenuList::listBoxSelectItem uses the
        HTMLSelectElement::listBoxSelectItem function which was accidentally removed in r97533.
        Reintroduce HTMLSelectElement::listBoxSelectItem with a NO_LISTBOX_RENDERING guard to unbreak this setup.

        This is covered by:
        Source/WebCore/manual-tests/no-listbox-rendering.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::listBoxSelectItem): Reintroduce.
        * html/HTMLSelectElement.h:

2011-10-27  Shinya Kawanaka  <shinyak@google.com>

        Implement legacy text check emulation in unified text check interface.
        https://bugs.webkit.org/show_bug.cgi?id=70299

        Reviewed by Hajime Morita.

        When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
        TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.

        This emulation can be used by setting the flag on.
        This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.

        Test: editing/spelling/spelling-unified-emulation.html

        * editing/TextCheckingHelper.cpp:
        (WebCore::findBadGrammars): Added.
        (WebCore::findMisspellings): Added.
        (WebCore::checkTextOfParagraph):
          Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
        * testing/Internals.cpp:
        (WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
        (WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
        * testing/Internals.h:
        * testing/Internals.idl:

2011-10-27  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, remove those un-needed files committed by error in
        r98554.

        * platform/audio/gstreamer/#AudioFileReaderGStreamer.h#: Removed.
        * platform/audio/gstreamer/.#AudioFileReaderGStreamer.h: Removed.

2011-10-27  Philippe Normand  <pnormand@igalia.com> and Zan Dobersek  <zandobersek@gmail.com>

        [GStreamer] WebAudio AudioFileReader implementation
        https://bugs.webkit.org/show_bug.cgi?id=69834

        Reviewed by Martin Robinson.

        Basic FileReader implementation, supporting one or 2 audio
        channels. An empty AudioDestination is also provided, its complete
        implementation is handled in bug 69835.

        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp: Added.
        (WebCore::AudioDestination::create):
        (WebCore::AudioDestination::hardwareSampleRate):
        (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
        (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
        (WebCore::AudioDestinationGStreamer::start):
        (WebCore::AudioDestinationGStreamer::stop):
        * platform/audio/gstreamer/AudioDestinationGStreamer.h: Added.
        (WebCore::AudioDestinationGStreamer::isPlaying):
        (WebCore::AudioDestinationGStreamer::sampleRate):
        (WebCore::AudioDestinationGStreamer::sourceProvider):
        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: Added.
        (WebCore::getGStreamerAudioCaps):
        (WebCore::getFloatFromByteReader):
        (WebCore::copyGstreamerBuffersToAudioChannel):
        (WebCore::onAppsinkNewBufferCallback):
        (WebCore::messageCallback):
        (WebCore::onGStreamerDeinterleavePadAddedCallback):
        (WebCore::onGStreamerDeinterleaveReadyCallback):
        (WebCore::onGStreamerDecodebinPadAddedCallback):
        (WebCore::AudioFileReader::AudioFileReader):
        (WebCore::AudioFileReader::~AudioFileReader):
        (WebCore::AudioFileReader::handleBuffer):
        (WebCore::AudioFileReader::handleMessage):
        (WebCore::AudioFileReader::handleNewDeinterleavePad):
        (WebCore::AudioFileReader::deinterleavePadsConfigured):
        (WebCore::AudioFileReader::plugDeinterleave):
        (WebCore::AudioFileReader::createBus):
        (WebCore::createBusFromAudioFile):
        (WebCore::createBusFromInMemoryAudioFile):
        * platform/audio/gtk/AudioBusGtk.cpp: Added.
        (WebCore::AudioBus::loadPlatformResource):

2011-10-27  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, rebaseline of the bindings tests after r98501 which
        removed getOwnPropertySlotVirtual.

        * bindings/scripts/test/JS/JSTestInterface.cpp:
        * bindings/scripts/test/JS/JSTestInterface.h:
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:

2011-10-27  Ilya Tikhonovsky  <loislo@chromium.org>

        WebInspector: View throughs the exception when a child view are removed by removeChildren call.
        https://bugs.webkit.org/show_bug.cgi?id=71002

        Another followup fix after r98225.

        Reviewed by Pavel Feldman.

        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype._queryFinished):
        (WebInspector.DatabaseTableView.prototype._queryError):

2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Execution line in selected call frame should keep showing after toggling format source.
        https://bugs.webkit.org/show_bug.cgi?id=70906

        Reviewed by Yury Semikhatsky.

        Test: inspector/debugger/selected-call-frame-after-formatting-source.html

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):

2011-10-27  Steve Block  <steveblock@google.com>

        Numerous debug build fixes

        Unreviewed build fix.

        No new tests, buuld fix only.

        * loader/icon/IconDatabase.cpp: urlForLogging() is used by both LOG() and LOG_ERROR()
        * storage/AbstractDatabase.h: databaseDebugName() is used by both LOG() and LOG_ERROR()
        * storage/DatabaseTask.cpp: m_complete is only available when !LOG_DISABLED

2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Refactor ScriptsPanel so that ConsoleView does not depend on it.
        https://bugs.webkit.org/show_bug.cgi?id=70899

        Moved methods used in console view to DebuggerPresentationModel.
        Changed debuggerPaused handler logic so that selectedCallFrame is never null when debugger is paused.

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleView.js:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
        (WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables.propertiesCollected):
        (WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables):
        (WebInspector.DebuggerPresentationModel.prototype._dispatchExecutionLineChanged):
        (WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._consoleCommandEvaluatedInSelectedCallFrame):
        (WebInspector.ScriptsPanel.prototype._executionLineChanged):
        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
        (WebInspector.ScriptsPanel.prototype._updateCallFrame):

2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add support for advanced search in content scripts.
        https://bugs.webkit.org/show_bug.cgi?id=70923

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ScriptsSearchScope.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):

2011-10-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed one line fix for DOMStorageItemsView.
        It have to use this.detachChildViews instead of this.element.removeChildren after r98225.

        * inspector/front-end/DOMStorageItemsView.js:
        (WebInspector.DOMStorageItemsView.prototype.update):

2011-10-27  Antti Koivisto  <antti@apple.com>

        Matched declaration cache
        https://bugs.webkit.org/show_bug.cgi?id=70931

        Reviewed by Darin Adler.

        Sets of style declarations are applied repeatedly for different elements when calculating the document style.
        The same set of applied declarations results in the same non-inherited style, independent of the element and 
        its context. We can use this to build a cache to speed up style applying and to share more style data for
        reduced memory usage.
        
        The patch reduces RenderStyle memory use ~40% and total memory use by ~7% over HTML5 spec load.
        It is also ~10% progression in PerformanceTests/Parser/html5-full-render.html.

        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSProperty.h:
        (WebCore::CSSProperty::CSSProperty):
        (WebCore::CSSProperty::isInherited):
        
            We need to know which properties are inherited, something we didn't have available so far.
        
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchAllRules):
        
            A set of declarations is only cacheable if it contains no element specific style. This way we
            don't need to worry about cache invalidation. The whole style selector is reconstructed if the
            stylesheets change, invalidating the cache too.
    
        (WebCore::CSSStyleSelector::styleForElement):
        
            Trigger image loads bit earlier so cached style will have them too.
        
        (WebCore::CSSStyleSelector::applyDeclaration):
        (WebCore::CSSStyleSelector::applyDeclarations):
        
            Allow skipping over non-inherited properties.
        
        (WebCore::CSSStyleSelector::computeDeclarationHash):
        
            Hash function for declartion cache lookups.
        
        (WebCore::operator==):
        (WebCore::operator!=):
        (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
        
            Lookup from cache.
        
        (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
        
            Add to cache.
        
        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
        
            If cached style is found, copy the non-inherited properties from the cache and apply the inherited properties (if any) only.
        
            Font and zoom changes force full applying as they can affect values of other properties (this can be relaxed later).
        
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::MatchResult::MatchResult):
        
            Cacheability bit.
        
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::copyNonInheritedFrom):
        * rendering/style/RenderStyle.h:
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::copyNonInheritedFrom):
        * rendering/style/SVGRenderStyle.h:
        
            Functions for assembling RenderStyle from non-inherited parts of the cached style.

2011-10-27  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] add ignoreCache flag to options of inspectedWindow.reload()
        https://bugs.webkit.org/show_bug.cgi?id=70926

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/extensions-ignore-cache.html

        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onReload):
        * inspector/front-end/externs.js:
        ():

2011-10-26  Steve Falkenburg  <sfalken@apple.com>

        ResourceError doesn't support custom domains on Windows
        https://bugs.webkit.org/show_bug.cgi?id=70983
        <rdar://problem/10352145>

        Reviewed by Oliver Hunt.

        * platform/network/cf/ResourceErrorCF.cpp:
        (WebCore::ResourceError::platformLazyInit): Add fallback case for unknown error types.

2011-10-26  Dan Bernstein  <mitz@apple.com>

        Fix a slider thumb rendering regression in Chromium on OS X in r98520.

        Reviewed by Anders Carlsson.

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSliderThumb): Reverted the changes to the Chromium code path.

2011-10-26  Julien Chaffraix  <jchaffraix@webkit.org>

        Unreviewed, rolling out r98486.
        http://trac.webkit.org/changeset/98486
        https://bugs.webkit.org/show_bug.cgi?id=70748

        Broke Chromium's test_expectation.txt

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::State::State):
        (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
        (WebCore::PlatformContextSkia::clipPathAntiAliased):
        (WebCore::PlatformContextSkia::restore):
        (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
        * platform/graphics/skia/PlatformContextSkia.h:

2011-10-26  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10350775> REGRESSION (r97032): Slider thumb is not drawn
        https://bugs.webkit.org/show_bug.cgi?id=70891

        Reviewed by Anders Carlsson.

        * platform/mac/ThemeMac.mm:
        (WebCore::ThemeMac::ensuredView): Set the WebCoreFlippedView’s size, because NSSliderCell
        always shrinks the slider thumb to fit in the control view’s bounds.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSliderThumb): Removed workaround code no longer needed after
        r97032.

2011-10-26  Chris Rogers  <crogers@google.com>

        Add AudioSourceProviderClient and setFormat() method so we can know audio stream format
        https://bugs.webkit.org/show_bug.cgi?id=70155

        Reviewed by Eric Carlson.

        No new tests.  There isn't yet an implementation to test.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::createMediaPlayer):
        (WebCore::HTMLMediaElement::setAudioSourceNode):
        Let MediaPlayer know about the MediaElementAudioSourceNode so it can callback with audio stream format information.
        * platform/audio/AudioSourceProvider.h:
        (WebCore::AudioSourceProvider::setClient):
        Add abstract setClient() method so a client may know about stream format information when it becomes available.
        * platform/audio/AudioSourceProviderClient.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
        (WebCore::AudioSourceProviderClient::~AudioSourceProviderClient):
        Add abstract class AudioSourceProviderClient which implements setFormat() to receive audio stream format information.
        * webaudio/MediaElementAudioSourceNode.cpp:
        (WebCore::MediaElementAudioSourceNode::setFormat):
        Concrete implementation of setFormat() so MediaElementAudioSourceNode can create necessary audio converters.
        * webaudio/MediaElementAudioSourceNode.h:
        Make MediaElementAudioSourceNode implement AudioSourceProviderClient so it can get audio stream format information
        when its setFormat() method is called.

2011-10-26  Julien Chaffraix  <jchaffraix@webkit.org>

        Unreviewed, rolling out r98483.
        http://trac.webkit.org/changeset/98483
        https://bugs.webkit.org/show_bug.cgi?id=47156

        Change is causing some crashes and ASSERTs.

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::lookupImageForSize):
        (WebCore::CachedImage::lookupImageForRenderer):
        (WebCore::CachedImage::lookupOrCreateImageForRenderer):
        (WebCore::CachedImage::setContainerSizeForRenderer):
        (WebCore::CachedImage::imageSizeForRenderer):
        (WebCore::CachedImage::computeIntrinsicDimensions):
        (WebCore::CachedImage::createImage):
        * loader/cache/CachedImage.h:
        * page/ChromeClient.h:
        * rendering/ImageBySizeCache.cpp:
        (WebCore::ImageBySizeCache::addClient):
        (WebCore::ImageBySizeCache::removeClient):
        (WebCore::ImageBySizeCache::imageForSize):
        (WebCore::ImageBySizeCache::sizeForClient):
        * rendering/ImageBySizeCache.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateFillTileSize):
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        (WebCore::RenderBoxModelObject::paintNinePieceImage):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::RenderImage):
        (WebCore::RenderImage::imageDimensionsChanged):
        (WebCore::RenderImage::isLogicalWidthSpecified):
        (WebCore::RenderImage::isLogicalHeightSpecified):
        (WebCore::RenderImage::computeReplacedLogicalWidth):
        (WebCore::RenderImage::computeReplacedLogicalHeight):
        (WebCore::RenderImage::calcAspectRatioLogicalWidth):
        (WebCore::RenderImage::calcAspectRatioLogicalHeight):
        * rendering/RenderImage.h:
        * rendering/RenderImageResource.cpp:
        (WebCore::RenderImageResource::setContainerSizeForRenderer):
        * rendering/RenderImageResourceStyleImage.cpp:
        * rendering/RenderImageResourceStyleImage.h:
        (WebCore::RenderImageResourceStyleImage::image):
        (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::computePreferredLogicalWidths):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
        (WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
        * rendering/style/StyleCachedImage.cpp:
        (WebCore::StyleCachedImage::computeIntrinsicDimensions):
        (WebCore::StyleCachedImage::setContainerSizeForRenderer):
        (WebCore::StyleCachedImage::addClient):
        (WebCore::StyleCachedImage::removeClient):
        * rendering/style/StyleCachedImage.h:
        * rendering/style/StyleGeneratedImage.h:
        (WebCore::StyleGeneratedImage::setContainerSizeForRenderer):
        * rendering/style/StyleImage.h:
        * rendering/style/StylePendingImage.h:
        (WebCore::StylePendingImage::setContainerSizeForRenderer):
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computeIntrinsicWidth):
        (WebCore::RenderSVGRoot::computeIntrinsicHeight):
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
        (WebCore::RenderSVGRoot::layout):
        (WebCore::RenderSVGRoot::paint):
        (WebCore::RenderSVGRoot::calcViewport):
        (WebCore::RenderSVGRoot::computeRectForRepaint):
        * rendering/svg/RenderSVGRoot.h:
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::determineViewport):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::relativeWidthValue):
        (WebCore::SVGSVGElement::relativeHeightValue):
        (WebCore::SVGSVGElement::currentViewBoxRect):
        * svg/SVGSVGElement.h:
        (WebCore::SVGSVGElement::setContainerSize):
        (WebCore::SVGSVGElement::containerSize):
        (WebCore::SVGSVGElement::hasSetContainerSize):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::setContainerSize):
        (WebCore::SVGImage::usesContainerSize):
        (WebCore::SVGImage::size):
        (WebCore::SVGImage::hasRelativeWidth):
        (WebCore::SVGImage::hasRelativeHeight):
        (WebCore::SVGImage::draw):
        (WebCore::SVGImage::computeIntrinsicDimensions):
        (WebCore::SVGImage::dataChanged):
        * svg/graphics/SVGImage.h:

2011-10-26  Eric Carlson  <eric.carlson@apple.com>

        Constructors for all TextTrack interfaces should be available on DOMWindow
        https://bugs.webkit.org/show_bug.cgi?id=70734

        Reviewed by Sam Weinig.
        
        window-properties-expected.txt and global-constructors-expected.txt updated for this change.

        * page/DOMWindow.idl: Add HTMLTrackElement, TextTrack, and TextTrackCueList.

2011-10-25  Andy Estes  <aestes@apple.com>

        REGRESSION (r93108): Shadow DOM media controls created for plug-in backed media elements.
        https://bugs.webkit.org/show_bug.cgi?id=70872

        Reviewed by Eric Carlson.

        r93108 added a call to HTMLMediaElement::configureMediaControls() in
        HTMLMediaElement::prepareForLoad(), which creates shadow DOM media
        controls and is only appropriate to call when media elements are not
        backed by plug-in proxies.

        Resolve this by refactoring configureMediaControls() to do the right
        thing for the plug-in proxy case by calling MediaPlayer::setControls().

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::attributeChanged): Call
        configureMediaControls() directly and remove the preprocessor
        conditional.
        (WebCore::HTMLMediaElement::configureMediaControls): Call
        MediaPlayer::setControls() if PLUGIN_PROXY_FOR_VIDEO is enabled.

2011-10-26  Jon Lee  <jonlee@apple.com>

        selectedIndex gets set from -1 to 0 when modifying options
        https://bugs.webkit.org/show_bug.cgi?id=70547
        <rdar://problem/8388856>

        Reviewed by Darin Adler.

        Changing the text causes a recalculation of the list items, which in the menu list case
        forces the first element to be selected. We check the value of the selected option prior,
        and restore it if it differs.

        Test: fast/dom/HTMLSelectElement/selected-index-preserved-when-option-text-changes.html

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::setText):
        * html/HTMLSelectElement.h: promote usesMenuList() from private to public for use by HTMLOptionElement

2011-10-25  Alexey Proskuryakov  <ap@apple.com>

        Embedded PDFs should be known to DocumentLoader
        https://bugs.webkit.org/show_bug.cgi?id=70864

        Reviewed by Darin Adler.

        * WebCore.exp.in: Added exports.

2011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>

        Remove getOwnPropertySlotVirtual
        https://bugs.webkit.org/show_bug.cgi?id=70741

        Reviewed by Geoffrey Garen.

        No new tests.

        Removed all declarations and definitions of getOwnPropertySlotVirtual.
        Also replaced all call sites to getOwnPropertyVirtualVirtual with a 
        corresponding lookup in the MethodTable.

        * WebCore.exp.in:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::DialogHandler::returnValue):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::getOwnPropertySlot):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::getSparseIndex):
        (WebCore::CloneSerializer::getProperty):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        (GenerateConstructorDeclaration):
        (GenerateConstructorDefinition):
        * bridge/objc/objc_runtime.h:
        * bridge/objc/objc_runtime.mm:
        * bridge/qt/qt_runtime.cpp:
        * bridge/qt/qt_runtime.h:
        * bridge/runtime_array.cpp:
        * bridge/runtime_array.h:
        * bridge/runtime_method.cpp:
        * bridge/runtime_method.h:
        * bridge/runtime_object.cpp:
        * bridge/runtime_object.h:

2011-10-26  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Fix distcheck compilation
        https://bugs.webkit.org/show_bug.cgi?id=70921

        Add EventTargetFactory.in to the dist files, required after
        r98388.

        Reviewed by Martin Robinson.

        * GNUmakefile.am:

2011-10-26  Michael Saboff  <msaboff@apple.com>

        Increase StringImpl Flag Bits for 8 bit Strings
        https://bugs.webkit.org/show_bug.cgi?id=70937

        Increased the number of bits used for flags in StringImpl
        from 6 to 8 bits. This frees up 2 flag bits that will be
        used for 8-bit string support. Updated hash methods accordingly.
        Changed hash value masking from the low bits to the high
        bits.

        Reviewed by Darin Adler.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHashValue):

2011-10-26  Dimitri Glazkov  <dglazkov@chromium.org>

        REGRESSION (r94887): Scrolling the HTML spec is more jerky now than it was (regression)
        https://bugs.webkit.org/show_bug.cgi?id=70857

        Revert r94887, because it regressed performance.

        Rubber-stamped by Antti Koivisto.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::parentStylePreventsSharing):
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkSelector):
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        (WebCore::checkForSiblingStyleChanges):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::childrenAffectedByDirectAdjacentRules):
        (WebCore::InheritedFlags::setChildrenAffectedByDirectAdjacentRules):

2011-10-26  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Need workaround for the red crossed circle in the status bar not bringing up the console when clicked
        https://bugs.webkit.org/show_bug.cgi?id=70928

        Reviewed by Pavel Feldman.

        * inspector/front-end/inspector.css:
        (#error-count-img):
        (#error-count + #warning-count-img):
        (#warning-count-img):
        * inspector/front-end/inspector.js:
        (WebInspector._updateErrorAndWarningCounts):

2011-10-26  Mike Reed  <reed@google.com>

        [skia] replace offscreen technique with native support for antialiased clipping
        https://bugs.webkit.org/show_bug.cgi?id=70748

        Reviewed by Stephen White.

        ~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
        bits of the result. Other than that, the results should be the same, except that now the drawing
        can go directly to the canvas, rather than being direct offscreen and then have that result
        "clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
        antialiased clip area.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::State::State):
        (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
        (WebCore::PlatformContextSkia::clipPathAntiAliased):
        (WebCore::PlatformContextSkia::restore):

2011-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        CSS 2.1 failure: background-intrinsic-*
        https://bugs.webkit.org/show_bug.cgi?id=47156

        SVGs do not work as tiled background images
        https://bugs.webkit.org/show_bug.cgi?id=16281

        Apply preserveAspectRatio and synthesize viewboxes in <img>
        https://bugs.webkit.org/show_bug.cgi?id=34521

        SVG background doesn't resize properly when dimensions are changed
        https://bugs.webkit.org/show_bug.cgi?id=42944

        Images with percent height inside a floated div should use intrinsic height.
        https://bugs.webkit.org/show_bug.cgi?id=45439

        SVG image in HTML changes size as the window is resized
        https://bugs.webkit.org/show_bug.cgi?id=52045

        Reviewed by Antti Koivisto.

        Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
        This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.

        Tests: css2.1/20110323/background-intrinsic-001.htm
               css2.1/20110323/background-intrinsic-002.htm
               css2.1/20110323/background-intrinsic-003.htm
               css2.1/20110323/background-intrinsic-004.htm
               css2.1/20110323/background-intrinsic-005.htm
               css2.1/20110323/background-intrinsic-006.htm
               css2.1/20110323/background-intrinsic-007.htm
               css2.1/20110323/background-intrinsic-008.htm
               css2.1/20110323/background-intrinsic-009.htm
               svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
               svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
               svg/as-background-image/same-image-two-instances-background-image.html
               svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
               svg/as-image/same-image-two-instances.html
               svg/as-image/svg-as-relative-image-with-explicit-size.html
               svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
               svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html

        * loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
        (WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
        (WebCore::CachedImage::lookupImageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
        (WebCore::createSVGImage): Refactored from createImage(), contains the SVGImage creation part only.
        (WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
        (WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
        (WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
        (WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
        (WebCore::CachedImage::addClientForRenderer): Special variant of addClient(), overriding the existing in CachedResource.
        (WebCore::CachedImage::removeClientForRenderer): Special variant of removeClient(), that also clears the image in the ImageBySizeCache.
        (WebCore::CachedImage::createImage): Refactor SVGImage creation into createSVGImage() free function, to be useable from lookupOrCreateImageForRenderer().
        * loader/cache/CachedImage.h: Expose removeClientForRenderer().
        * page/ChromeClient.h:
        (WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
        * rendering/ImageBySizeCache.cpp:
        (WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
        (WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
        (WebCore::ImageBySizeCache::setClient): New helper function, that combines the usage of addClient/removeClient, for the use in CachedImage.
        (WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
        (WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
        * rendering/ImageBySizeCache.h: Expose setClient() & imageForRenderer().
        * rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
        (WebCore::resolveWidthForRatio): New inline helper function used bz calculateImageIntrinsicDimensions.
        (WebCore::resolveHeightForRatio): Ditto.
        (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
        (WebCore::resolveAgainstIntrinsicRatio):  Ditto.
        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
        (WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
        (WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
        * rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
        (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
        (WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
        (WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
        (WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
        (WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
        (WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
        * rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
        * rendering/RenderImageResource.cpp:
        (WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
        * rendering/RenderImageResourceStyleImage.cpp:
        (WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
        (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
        * rendering/RenderImageResourceStyleImage.h:
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
        (WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
        * rendering/style/StyleCachedImage.cpp:
        (WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
        (WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
        (WebCore::StyleCachedImage::addClient): Forward to new addClientForRenderer().
        (WebCore::StyleCachedImage::removeClient): Call new removeClientForRenderer() instead of removeClient(), so the ImageBySizeCache is also updated.
        * rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
        * rendering/style/StyleGeneratedImage.h:
        (WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
        * rendering/style/StyleImage.h: Ditto.
        * rendering/style/StylePendingImage.h:
        (WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
        * rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
        (WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
        (WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
        (WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize. 
        (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
        * rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
        (WebCore::RenderSVGRoot::containerSize):
        (WebCore::RenderSVGRoot::setContainerSize):
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
        * svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
        (WebCore::SVGSVGElement::SVGSVGElement): Ditto.
        (WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
        * svg/SVGSVGElement.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImageChromeClient::setObserver): Helper function.
        (WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
        (WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
        (WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
        (WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
        (WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
        (WebCore::SVGImage::draw): Stop calling layout() while painting!
        (WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
        (WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation. 
        (WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
        * svg/graphics/SVGImage.h:

2011-10-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Properly suspend/resume Geolocation/DeviceMotion/DeviceOrientation objects
        https://bugs.webkit.org/show_bug.cgi?id=70328

        Reviewed by Simon Hausmann.

        Also remove checks for m_client in DeviceMotionController as it can never be null.

        No new tests, as the suspend/resume functionality is not fully working yet.

        * dom/DeviceMotionController.cpp:
        (WebCore::DeviceMotionController::timerFired):
        (WebCore::DeviceMotionController::addListener):
        (WebCore::DeviceMotionController::removeListener):
        (WebCore::DeviceMotionController::removeAllListeners):
        (WebCore::DeviceMotionController::suspend):
        (WebCore::DeviceMotionController::resume):
        * dom/DeviceMotionController.h:
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::suspend):
        (WebCore::DeviceOrientationController::resume):
        * dom/DeviceOrientationController.h:
        * dom/Document.cpp:
        (WebCore::Document::suspendActiveDOMObjects):
        (WebCore::Document::resumeActiveDOMObjects):
        (WebCore::Document::stopActiveDOMObjects):
        * dom/Document.h:
        * dom/ScriptExecutionContext.h:
        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::GeolocationController):
        (WebCore::GeolocationController::removeObserver):
        (WebCore::GeolocationController::suspend):
        (WebCore::GeolocationController::resume):
        * page/GeolocationController.h:

2011-10-26  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: follow up to 98236 - moved inspector settings initialization earlier to unbreak settings panel.

        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel):

2011-10-26  Zalan Bujtas  <zbujtas@gmail.com>

        Name viewport change event consistently.
        https://bugs.webkit.org/show_bug.cgi?id=70901

        Reviewed by Kenneth Rohde Christiansen.

        Use ViewportPropertiesDidChange term consistently throughout WebKit.

        No tests needed as the change is only method renaming.

        * page/Chrome.cpp:
        (WebCore::Chrome::dispatchViewportPropertiesDidChange):
        * page/Chrome.h:
        * page/ChromeClient.h:
        (WebCore::ChromeClient::dispatchViewportPropertiesDidChange):
        * page/Page.cpp:
        (WebCore::Page::updateViewportArguments):

2011-10-25  Stephen White  <senorblanco@chromium.org>

        [chromium] Canvas2D should rate-limit drawing to prevent swamping the GPU process.
        https://bugs.webkit.org/show_bug.cgi?id=70367

        Reviewed by James Robinson.

        Sadly, we don't have infrastructure to test this kind of GPU swamping
        yet.

        * WebCore.gypi:
        Add RateLimiter.* to the Chromium build.
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::contentChanged):
        When the layer is notified that the contents have changed, ping the
        rate limiter.
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
        Call (new) virtual contentChanged() on a layer when its contents have
        been changed (e.g., by a drawing call).
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::contentChanged):
        New virtual contentChanged().
        * platform/graphics/chromium/RateLimiter.cpp: Added.
        (WebCore::RateLimiter::create):
        Rate limiter factory function.
        (WebCore::RateLimiter::RateLimiter):
        (WebCore::RateLimiter::start):
        Public API to start rate limiting a context.
        (WebCore::RateLimiter::stop):
        Public API to stop rate limiting a context.
        (WebCore::RateLimiter::rateLimitContext):
        Internal timer callback when a context should be rate limited.
        * platform/graphics/chromium/RateLimiter.h: Added.
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
        Remove rate limiting timer and extension check (moved to RateLimiter).
        (WebCore::WebGLLayerChromium::contentChanged):
        The function formerly known as setTextureUpdated(), now renamed to
        match the base class virtual contentChanged().  Call rate limiter in
        CCLayerTreeHost (local implementation removed).
        (WebCore::WebGLLayerChromium::setContext):
        When the context is changed, stop the pending rate limiter on the old
        context.  Remove extension check (moved to RateLimiter).
        * platform/graphics/chromium/WebGLLayerChromium.h:
        Remove rate limiting timer and extension check (moved to RateLimiter).
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::startRateLimiter):
        Public API for starting per-context rate limiter.
        (WebCore::CCLayerTreeHost::stopRateLimiter):
        Public API for stopping per-context rate limiter.
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        Implementation of per-GraphicsContext3D RateLimiter.


2011-10-26  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: fixing inspector extensions tests.

        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):

2011-10-26  Balazs Kelemen  <kbalazs@webkit.org>

        ParallelJobs path of FEConvolveMatrix is erroneous
        https://bugs.webkit.org/show_bug.cgi?id=70409

        Reviewed by Zoltan Herczeg.

        Covered by existing tests.

        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
        Reject the silly idea that bytes per pixel ratio is 3 in preserveAlphaValues mode.
        The bug was hidden so far because that computation has no effect when we are going
        with the full inferior area in one round (in that case clipBottom and yEnd are equals
        and the value of the expression is always 0). With ParallelJobs we process sub-areas
        on each thread which has triggered the issue.

2011-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98393.
        http://trac.webkit.org/changeset/98393
        https://bugs.webkit.org/show_bug.cgi?id=70892

        "Compilation is broken on Chromium Webkit Mac Builder (dbg) "
        (Requested by yurys on #webkit).

        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setMasksToBounds):
        (WebCore::LayerChromium::setMaskLayer):

2011-10-26  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: order console message parameters for better optional parameters handling.
        https://bugs.webkit.org/show_bug.cgi?id=70809

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl):
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
        * inspector/front-end/ConsoleModel.js:
        (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
        (WebInspector.ConsoleMessage.create):
        (WebInspector.ConsoleDispatcher.prototype.messageAdded):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleCommandResult):
        (WebInspector.ConsoleMessage.create):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
        * inspector/front-end/inspector.js:
        (WebInspector.log.logMessage):
        (WebInspector.log):

2011-10-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Debugger fails when there is an invalid watch expression.
        https://bugs.webkit.org/show_bug.cgi?id=70718

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/watch-expressions-panel-switch.html

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):

2011-10-26  Fady Samuel  <fsamuel@chromium.org>

        Page Scale Factor broken when navigating history on pages with child frames
        https://bugs.webkit.org/show_bug.cgi?id=70459

        Reviewed by Darin Fisher.

        With frameScaleFactor now always returning 1.0 for subframes and pageScaleFactor for the mainFrame,
        and there being only a single pageScaleFactor, history for scaling is broken. Scaling history is
        saved on a per frame basis but restored, overriding the per-page pageScaleFactor multiple times.
        As a result, sometimes pages that have subframes end up getting a scale factor of 1.0 instead
        of the correct scale factor that was assigned to the main frame.

        No new tests because I don't know how to test this.

        * loader/HistoryController.cpp:
        (WebCore::HistoryController::restoreScrollPositionAndViewState):

2011-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98429.
        http://trac.webkit.org/changeset/98429
        https://bugs.webkit.org/show_bug.cgi?id=70881

        "webkit_gpu_tests fail in Chromium" (Requested by yurys on
        #webkit).

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::layerRendererContext):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::enabled):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):
        (WebCore::CCLayerTreeHost::context):
        (WebCore::CCLayerTreeHost::setNeedsAnimate):
        (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
        (WebCore::CCLayerTreeHost::setNeedsRedraw):
        (WebCore::CCLayerTreeHost::composite):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::setThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-10-26  Ben Wells  <benwells@chromium.org>

        Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
        https://bugs.webkit.org/show_bug.cgi?id=66920

        Reviewed by James Robinson.

        Test: fast/canvas/canvas-composite-image.html

        Use the same method as fills to handle composited drawImage calls that will affect the whole
        canvas. To do this code used when doing fills has been factored into seperate functions and
        used by drawImage. Some functions used to do these types of operations have also been renamed.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::isFullCanvasCompositeMode):
        (WebCore::CanvasRenderingContext2D::fill):
        (WebCore::CanvasRenderingContext2D::fillRect):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
        (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
        (WebCore::CanvasRenderingContext2D::compositeBuffer):
        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
        * html/canvas/CanvasRenderingContext2D.h:

2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98379.
        http://trac.webkit.org/changeset/98379
        https://bugs.webkit.org/show_bug.cgi?id=70875

        Did not pass on JSC ports (Requested by abarth on #webkit).

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (GenerateArgumentsCountCheck):
        (GenerateImplementation):
        * html/canvas/CanvasRenderingContext2D.idl:
        * page/DOMWindow.idl:

2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98346.
        http://trac.webkit.org/changeset/98346
        https://bugs.webkit.org/show_bug.cgi?id=70874

        Breaks JSC-based bots. (Requested by pfeldman on #webkit).

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):

2011-10-25  Nat Duca  <nduca@chromium.org>

        [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
        https://bugs.webkit.org/show_bug.cgi?id=70838

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::layerRendererContext):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::enabled):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):
        (WebCore::CCLayerTreeHost::context):
        (WebCore::CCLayerTreeHost::setNeedsAnimate):
        (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
        (WebCore::CCLayerTreeHost::setNeedsRedraw):
        (WebCore::CCLayerTreeHost::composite):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::CCSettings::CCSettings):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::hasThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-10-25  Xiaomei Ji  <xji@chromium.org>

        --webkit-visual-word does not work in multi-line
        https://bugs.webkit.org/show_bug.cgi?id=61344

        Reviewed by Ryosuke Niwa.

        Get next or previous root inline box (which is not in the same
        render object as the current root inline box) by traversing DOM node.

        Test: editing/selection/move-by-word-visually-inline-block-positioned-element.html

        * editing/visible_units.cpp:
        (WebCore::previousRootInlineBox):
        (WebCore::nextRootInlineBox):
        (WebCore::leftInlineBox):
        (WebCore::rightInlineBox):

2011-10-25  Adam Barth  <abarth@webkit.org>

        JSEventTarget.cpp has a bunch of unnessary includes
        https://bugs.webkit.org/show_bug.cgi?id=70865

        Reviewed by Eric Seidel.

        In the process of removing these includes, I noticed we had a bunch of
        non-autogenerated code in this file, which I've now autogenerated.

        * bindings/js/JSEventTarget.cpp:
        (WebCore::toEventTarget):
            - One subtly here is the outter static_cast, which is caused by an
              inheritance infelicity in JavaScriptAudioNode, which I've noted
              with a FIXME.  In any case, the extra static_cast shouldn't cause
              any trouble.
        * webaudio/JavaScriptAudioNode.h:

2011-10-25  Adam Barth  <abarth@webkit.org>

        V8DOMWrapper.cpp has unneeded header includes
        https://bugs.webkit.org/show_bug.cgi?id=70863

        Reviewed by Eric Seidel.

        * bindings/v8/V8DOMWrapper.cpp:

2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>

        Resetting baseline for test bindings

        Unreviewed preemptive build fix

        No new tests.

        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/JS/JSTestObj.h:

2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>

        Remove deletePropertyVirtual
        https://bugs.webkit.org/show_bug.cgi?id=70738

        Reviewed by Geoffrey Garen.

        No new tests.

        Removed all declarations and definitions of deletePropertyVirtual.
        Also replaced all call sites to deletePropertyVirtual with a 
        corresponding lookup in the MethodTable.

        * WebCore.exp.in:
        * bindings/js/JSDOMStringMapCustom.cpp:
        (WebCore::JSDOMStringMap::deleteProperty):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::deleteProperty):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::deleteProperty):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::deleteProperty):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::deleteProperty):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::deleteProperty):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::remove):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject removeWebScriptKey:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        * bridge/NP_jsobject.cpp:
        (_NPN_RemoveProperty):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::removeMember):
        * bridge/objc/objc_runtime.h:
        * bridge/objc/objc_runtime.mm:
        * bridge/runtime_array.cpp:
        * bridge/runtime_array.h:
        * bridge/runtime_object.cpp:
        * bridge/runtime_object.h:

2011-10-25  Chris Fleizach  <cfleizach@apple.com>

        AX: WebKit does not expose HTML label for slider elements
        https://bugs.webkit.org/show_bug.cgi?id=70856

        Reviewed by Darin Adler.

        Test: platform/mac/accessibility/slider-allows-title-ui-element.html

        * accessibility/AccessibilitySlider.h:
        (WebCore::AccessibilitySlider::isControl):
        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>

        Remove putVirtual
        https://bugs.webkit.org/show_bug.cgi?id=70740

        Reviewed by Geoffrey Garen.

        No new tests.

        Removed all declarations and definitions of putVirtual.
        Also replaced all call sites to putVirtual with a 
        corresponding lookup in the MethodTable.

        * WebCore.exp.in:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::put):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::runtimeObjectCustomPut):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::putProperty):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject setValue:forKey:]):
        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bridge/NP_jsobject.cpp:
        (_NPN_SetProperty):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::setMember):
        (JavaJSObject::setSlot):
        * bridge/objc/objc_runtime.h:
        * bridge/objc/objc_runtime.mm:
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertQVariantToValue):
        * bridge/runtime_array.cpp:
        * bridge/runtime_array.h:
        * bridge/runtime_object.cpp:
        * bridge/runtime_object.h:
        * bridge/testqtbindings.cpp:
        (main):

2011-10-25  Adam Barth  <abarth@webkit.org>

        EventTargetFactory.in is not sorted
        https://bugs.webkit.org/show_bug.cgi?id=70855

        Reviewed by Eric Seidel.

        This patch sorts the file.  I was not able to measure a performance
        difference using the microbenchmark included with this patch.

        * dom/EventTargetFactory.in:

2011-10-25  Adam Barth  <abarth@webkit.org>

        Attempt to fix the Windows build.  Windows mashes all these files into
        one, which doesn't respect the compilation unit rules of C++.

        * bindings/js/JSEventCustom.cpp:
        * bindings/js/JSEventTarget.cpp:

2011-10-25  Ryosuke Niwa  <rniwa@webkit.org>

        Moving to the start of line should not place the caret outside of the table
        https://bugs.webkit.org/show_bug.cgi?id=70757

        Reviewed by Chang Shu.

        The bug was caused by positionAvoidingFirstPositionInTable. Get rid of the function.

        Test: editing/selection/table-lineboundary.html

        * editing/visible_units.cpp:
        (WebCore::startPositionForLine):

2011-10-25  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=70852
        Setting up a HiDPI base-level GraphicsContext should be more straightforward for 
        WebKit2

        Reviewed by Dan Bernstein.

        This patch removes the old cg-only GraphicsContext::setBaseCTM() api, and adds 
        platform-independent GraphicsContext::applyDeviceScaleFactor().
        * WebCore.exp.in:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
        (WebCore::GraphicsContext::applyDeviceScaleFactor):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):

        Since this patch removes GraphicsContext::setBaseCTM(), this code has been 
        reverted to do what it used to do before that was added; it just calls into 
        WebCoreSystemInterface directly.
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::Image::drawPattern):

2011-10-25  Anders Carlsson  <andersca@apple.com>

        Plug-ins have to use JavaScript to find out the current device scale factor
        https://bugs.webkit.org/show_bug.cgi?id=67225

        Reviewed by Darin Adler.

        Test: platform/mac-wk2/plugins/contents-scale-factor.html

        Add NPNVcontentsScaleFactor, as per https://wiki.mozilla.org/NPAPI:ContentsScaleFactor.

        * plugins/npapi.h:

2011-10-25  Adam Klein  <adamk@chromium.org>

        Forward declare MutationObserverEntry as a struct to fix clang build
        https://bugs.webkit.org/show_bug.cgi?id=70853

        Reviewed by Ryosuke Niwa.

        Node.h forward declared MutationObserverEntry as a class, and clang
        complains if the two declarations don't match.

        * dom/Node.h:

2011-10-25  Dan Bernstein  <mitz@apple.com>

        Caret can be positioned or repainted incorrectly in flipped-blocks multi-column blocks
        https://bugs.webkit.org/show_bug.cgi?id=70851

        Reviewed by Dave Hyatt.

        * manual-tests/caret-in-columns-flipped.html: Added.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustForColumns): Removed flipped-blocks writing mode considerations
        from this function, since not all callers were expecting it to account for flippedness. This makes
        it similar to adjustRectForColumns() in not adjusting for flippedness.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetFromContainer): In the columns case, account for flipped-blocks modes
        by first mapping the point and the offset to non-flipped, non-columns space, then adjusting for
        columns, then flipping.

2011-10-25  Michal Mocny  <mmocny@google.com>

        LayerRendererChromium::setVisible called needlessly without a visibility change
        https://bugs.webkit.org/show_bug.cgi?id=70766

        Reviewed by Kenneth Russell.

        Check that visibility has actually changed before calling LayerRendererChromium::setVisible

        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::setVisible):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

2011-10-25  Anders Carlsson  <andersca@apple.com>

        REGRESSION(97821): HistoryController::itemsAreClones crashes a lot
        https://bugs.webkit.org/show_bug.cgi?id=70827
        <rdar://problem/10342925>

        Reviewed by Adam Barth.

        Check that m_currentItem is non-null before passing it to itemsAreClones. While I wasn't
        able to make a test case that would reproduce this crash, we do check m_currentItem for null
        everywhere else, and the crash log indicates that this would fix the crash.

        * loader/HistoryController.cpp:
        (WebCore::HistoryController::recursiveUpdateForCommit):

2011-10-25  Adam Barth  <abarth@webkit.org>

        EventTarget.h shouldn't need to know about every feature and ifdef
        https://bugs.webkit.org/show_bug.cgi?id=70659

        Reviewed by Darin Adler.

        This patch follows the approach of Event.h and introduces an
        interfaceName virtual function that returns the name of the DOM
        interface for the concrete type of the object.  This function lets us
        remove a large number of fake dynamic casts.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_makenames.py:
            - Teach action_makenames how to handle the new "in" file.
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
            - Use the new autogenerated macro to remove a large amount of
              feature-specific code.
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::initScript):
        * bindings/objc/DOM.mm:
        (kit):
            - The SVGElementInstance branch was never taken previously because
              SVGElementInstance::toNode returns a non-NULL value. This code
              was introduced in http://trac.webkit.org/changeset/42618 and
              doesn't appear to have ever worked as the author intended.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
            - Use the new autogenerated macro to remove a large amount of
              feature-specific code.
        * dom/EventNames.cpp:
        (WebCore::EventNames::EventNames):
        * dom/EventNames.h:
        * dom/EventTarget.cpp:
        * dom/EventTarget.h:
        * dom/EventTargetFactory.in: Added.
            - Add a new "in" file that lists all the EventTargets.
        * dom/LocalMediaStream.cpp:
        (WebCore::LocalMediaStream::interfaceName):
        * dom/LocalMediaStream.h:
        * dom/MediaStream.cpp:
        (WebCore::MediaStream::interfaceName):
        * dom/MediaStream.h:
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::interfaceName):
        * dom/MessagePort.h:
        * dom/Node.cpp:
        (WebCore::Node::toNode):
        (WebCore::Node::interfaceName):
        * dom/Node.h:
        * dom/make_event_factory.pl:
            - Generalize make_event_factory.pl to be able to generate
              interfaces for different namespaces.
        * fileapi/FileReader.cpp:
        (WebCore::FileReader::interfaceName):
        * fileapi/FileReader.h:
        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::interfaceName):
        * fileapi/FileWriter.h:
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::interfaceName):
        * loader/appcache/DOMApplicationCache.h:
        * notifications/Notification.cpp:
        (WebCore::Notification::interfaceName):
        * notifications/Notification.h:
        (WebCore::Notification::scriptExecutionContext):
        * p2p/PeerConnection.cpp:
        (WebCore::PeerConnection::interfaceName):
        * p2p/PeerConnection.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::interfaceName):
        (WebCore::DOMWindow::toDOMWindow):
        * page/DOMWindow.h:
        * page/EventSource.cpp:
        (WebCore::EventSource::interfaceName):
        * page/EventSource.h:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::interfaceName):
        * storage/IDBDatabase.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::interfaceName):
        * storage/IDBRequest.h:
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::interfaceName):
        * storage/IDBTransaction.h:
        * storage/IDBVersionChangeRequest.cpp:
        (WebCore::IDBVersionChangeRequest::interfaceName):
        * storage/IDBVersionChangeRequest.h:
        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::interfaceName):
        * svg/SVGElementInstance.h:
        (WebCore::SVGElementInstance::toNode):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::interfaceName):
        (WebCore::AudioContext::scriptExecutionContext):
        * webaudio/AudioContext.h:
        * webaudio/JavaScriptAudioNode.cpp:
        (WebCore::JavaScriptAudioNode::interfaceName):
        * webaudio/JavaScriptAudioNode.h:
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::interfaceName):
        * websockets/WebSocket.h:
        * workers/DedicatedWorkerContext.cpp:
        (WebCore::DedicatedWorkerContext::interfaceName):
        * workers/DedicatedWorkerContext.h:
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerConnectTask::performTask):
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::interfaceName):
        * workers/SharedWorker.h:
        * workers/SharedWorkerContext.cpp:
        (WebCore::SharedWorkerContext::interfaceName):
        * workers/SharedWorkerContext.h:
        * workers/Worker.cpp:
        (WebCore::Worker::interfaceName):
        * workers/Worker.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::interfaceName):
        * xml/XMLHttpRequest.h:
        * xml/XMLHttpRequestUpload.cpp:
        (WebCore::XMLHttpRequestUpload::interfaceName):
        * xml/XMLHttpRequestUpload.h:

2011-10-25  Pavel Podivilov  <podivilov@chromium.org>

        Fix several minor problems in idls.
        https://bugs.webkit.org/show_bug.cgi?id=70811

        Reviewed by Adam Barth.

        This patch does not have any effect on generated bindings.

        * dom/DataTransferItems.idl:
        * page/History.idl:
        * storage/IDBIndex.idl:
        * xml/XMLHttpRequest.idl:

2011-10-25  Nate Chapin  <japhet@chromium.org>

        Make DocumentThreadableLoader a CachedResourceClient.
        This will allow us to cache ThreadableLoaderClients as
        appropriate in a later patch.
        https://bugs.webkit.org/show_bug.cgi?id=61225

        Reviewed by Antti Koivisto.

        No new tests, no functionality change intended.

        * WebCore.gypi:
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
            for didFail() and didFinishLoading(), so we need to differentiate here.
        (WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
            instead of ResourceLoadScheduler::scheduleSubresourceLoad().
        * loader/DocumentThreadableLoader.h:
        * loader/cache/CachedRawResource.cpp:
        (WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
            DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
            'data' input parameter will contain all data received so far, and we need to determine the
            incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
            the incremental data.
        * loader/cache/CachedRawResource.h:
        * loader/cache/CachedResource.cpp:
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::preloadResult):
        (WebCore::CachedResource::didSendData):
        (WebCore::CachedResource::didDownloadData):
        (WebCore::CachedResource::setLoadFinishTime):
        (WebCore::CachedResource::loadFinishTime):
        * loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
            the request, so protect appropriately.
        * loader/cache/CachedResourceRequest.h:
        * loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
        * loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
        * loader/chromium/DocumentThreadableLoaderChromium.cpp:
        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.

2011-10-25  Pavel Podivilov  <podivilov@chromium.org>

        Get rid of optional parameters in the middle in IDLs.
        https://bugs.webkit.org/show_bug.cgi?id=70816

        Reviewed by Adam Barth.

        Optional parameters in the middle are prohibited by WebIDL spec.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (GenerateArgumentsCountCheck):
        (GenerateImplementation):
        * html/canvas/CanvasRenderingContext2D.idl:
        * page/DOMWindow.idl:

2011-10-25  Chris Evans  <cevans@google.com>

        Manage the CSS property array length correctly
        https://bugs.webkit.org/show_bug.cgi?id=70783

        Reviewed by Adam Barth.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::addProperty): don't allow max length to get out of sync with the buffer.

2011-10-25  Tony Chang  <tony@chromium.org>

        avoid unnecessary layouts of flex items during the flex pass
        https://bugs.webkit.org/show_bug.cgi?id=70557

        Reviewed by Ojan Vafai.

        If the preferred size of a flex item is provided, we don't need to
        layout the flex item when computing the preferred size.  This allows
        us to only call layout on each flex item once in the common case.

        No new tests, covered by existing tests.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::flowAwareLogicalWidthLengthForChild):
        (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
        (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
        * rendering/RenderFlexibleBox.h:

2011-10-25  Fady Samuel  <fsamuel@chromium.org>

        Crash in WebCore::RenderTableSection::addChild due to assert failure
        https://bugs.webkit.org/show_bug.cgi?id=70678

        Reviewed by David Hyatt.

        Tests: fast/table/table-anonymous-cell-bug.html
               fast/table/table-anonymous-row-bug.html
               fast/table/table-anonymous-section-bug.html

        If the child being added is not a Section/Row/Cell, and the previous sibling is not anonymous, 
        we need to create a new anonymous Section/Row/Cell respectively, instead of failing an
        assert.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild):

2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>

        Add getOwnPropertySlot to MethodTable
        https://bugs.webkit.org/show_bug.cgi?id=69807

        Reviewed by Oliver Hunt.

        No new tests.

        * bridge/runtime_method.h: Changed getOwnPropertySlot to be protected so 
        subclasses can reference it in their MethodTables.

2011-10-25  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r88580): Cursor fails to change to pointer on embedded Google maps popups
        https://bugs.webkit.org/show_bug.cgi?id=62797

        Reviewed by Chris Marrin.
        
        When hit testing through transformed layers, RenderLayer would simply use
        the composited bounds of the layer as the localHitTestRect for hit testing sublayers.
        However, this broke hit testing on pages that have a composited, non-transformed layer
        which falls outside the bounds of its parent, composited-transformed layer, like Google
        Maps.
        
        Fix by mapping the hitTestRect through transforms. However this is tricky, because
        mapping a rect into the coordinate system of a layer can result in invalid rectangles
        when point projection results in a negative w component. Fix TransformationMatrix::projectPoint()
        to detect this case and replace X and Y with large values, and add boundsOfProjectedQuad(), which 
        maps rectangles with possibly-infinite location or bounds into rects which are representable
        in an IntRect.

        Tests: transforms/3d/hit-testing/composited-hit-test.html
               transforms/3d/hit-testing/rotated-hit-test-with-child.html
               transforms/3d/hit-testing/rotated-hit-test2.html

        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::TransformationMatrix::projectPoint):
        (WebCore::TransformationMatrix::projectQuad):
        (WebCore::clampEdgeValue):
        (WebCore::TransformationMatrix::boundsOfProjectedQuad):
        * platform/graphics/transforms/TransformationMatrix.h:
        * rendering/HitTestingTransformState.cpp:
        (WebCore::HitTestingTransformState::boundsOfMappedQuad):
        * rendering/HitTestingTransformState.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer):

2011-10-25  Adrienne Walker  <enne@google.com>

        [chromium] Batch up texture uploads so that they can be updated incrementally
        https://bugs.webkit.org/show_bug.cgi?id=70454

        Reviewed by James Robinson.

        Because texture uploads can sometimes take more than a frame to
        complete, collect all the uploads that need to occur in a
        CCTextureUpdater so that we can easily incrementally upload some of
        them, interleaving input and drawing so that the compositor thread
        continues to appear responsive during a commit.

        This change doesn't actually interleave the commits, it just pushes
        the infrastructure for doing so up to the CCProxy level so that a
        future scheduler can make this decision.

        VideoLayerChromium is the only layer type to not use this system. It
        needs to be converted to use a texture updater first and it is less of
        a priority than the tiled layers.

        * WebCore.gypi:
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::updateCompositorResources):
        * platform/graphics/chromium/TiledLayerChromium.cpp:
        (WebCore::TiledLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/TiledLayerChromium.h:
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/VideoLayerChromium.h:
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::setNeedsCommit):
        (WebCore::CCSingleThreadProxy::doCommit):
        (WebCore::CCSingleThreadProxy::commitIfNeeded):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        * platform/graphics/chromium/cc/CCTextureUpdater.cpp: Added.
        (WebCore::CCTextureUpdater::CCTextureUpdater):
        (WebCore::CCTextureUpdater::~CCTextureUpdater):
        (WebCore::CCTextureUpdater::append):
        (WebCore::CCTextureUpdater::update):
        (WebCore::CCTextureUpdater::clear):
        * platform/graphics/chromium/cc/CCTextureUpdater.h: Added.
        (WebCore::CCTextureUpdater::allocator):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::commitOnImplThread):

2011-10-24  Jer Noble  <jer.noble@apple.com>

        compositing/video tests time out on Lion
        https://bugs.webkit.org/show_bug.cgi?id=70448

        Reviewed by Simon Fraser.

        AVFoundation will not begin loading or decoding media until a consumer for that media is present.
        For video-only media, this means that an AVPlayerLayer must be created and attached to the 
        AVPlayer before the load state will ever reach "canPlayThrough". Once the metadata for a media
        is loaded, create a AVPlayerLayer if the media has a video track.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::updateStates):

2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>

        Merge endOfLine with logicalEndOfLine and startOfLine with logicalStartOfLine
        https://bugs.webkit.org/show_bug.cgi?id=70755

        Reviewed by Chang Shu.

        Merged endOfLine with logicalEndOfLine, and startOfLine with logicalStartOfLine
        to reduce the code duplication.

        * editing/visible_units.cpp:
        (WebCore::startPositionForLine):
        (WebCore::startOfLine):
        (WebCore::logicalStartOfLine):
        (WebCore::endPositionForLine):
        (WebCore::inSameLogicalLine):
        (WebCore::endOfLine):
        (WebCore::logicalEndOfLine):
        * editing/visible_units.h:

2011-10-25  Arko Saha  <arko@motorola.com>

        Microdata: itemtype attribute should be space-separated list to allow multiple types.
        https://bugs.webkit.org/show_bug.cgi?id=70501

        Reviewed by Ryosuke Niwa.

        Tests: fast/dom/MicroData/getitems-multiple-itemtypes.html
               fast/dom/MicroData/itemtype-add-remove-tokens.html
               fast/dom/MicroData/itemtype-attribute-test.html

        * dom/MicroDataItemList.cpp:
        (WebCore::MicroDataItemList::nodeMatches):
        * html/DOMSettableTokenList.h:
        (WebCore::DOMSettableTokenList::tokens):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        (WebCore::HTMLElement::setItemValueText):
        (WebCore::HTMLElement::itemType):
        (WebCore::HTMLElement::setItemType):
        * html/HTMLElement.h:
        * html/HTMLElement.idl:

2011-10-25  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/10337033> DOMRangeOfString:relativeTo:options has problems with -webkit-user-select: none

        Reviewed by Adam Roben.

        Test: added to TestWebKitAPI/Tests/mac/DOMRangeOfString.mm

        * page/Page.cpp:
        (WebCore::Page::rangeOfString): This function was incorrectly adding the StartInSelection option to
        the initial search.

2011-10-25  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: redesign workers sidebar pane
        https://bugs.webkit.org/show_bug.cgi?id=70815

        Changed workers sidebar pane design.

        Now there is a link to worker inspector for each dedicated worker created
        by inspected page. The sidebar display a link to a page with list of all
        shared workers if there one is supported by the WebKit port. Also there
        is a checkbox that allows pause all new workers on first statements.

        Reviewed by Pavel Feldman.

        * inspector/front-end/Settings.js:
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager.prototype.openWorkerInspector):
        (WebInspector.WorkerManager.prototype._workerInspectorClosing):
        * inspector/front-end/WorkersSidebarPane.js:
        (WebInspector.WorkerListSidebarPane):
        (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
        (WebInspector.WorkerListSidebarPane.prototype._workersCleared):
        (WebInspector.WorkerListSidebarPane.prototype._addWorker):
        (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
        (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
        (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink.link.onclick):
        (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink):
        * inspector/front-end/elementsPanel.css:
        * inspector/front-end/inspectorCommon.css:
        (.sidebar-separator):
        (.sidebar-label):
        * inspector/front-end/scriptsPanel.css:
        (.dedicated-worker-item):
        (#shared-workers-list):
        (#pause-workers-checkbox > input):

2011-10-25  Nico Weber  <thakis@chromium.org>

        [chromium/mac] Fix an ODR violation.
        https://bugs.webkit.org/show_bug.cgi?id=70753

        Reviewed by Anders Carlsson.

        Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
        Remove the unused one.

        * WebCore.gyp/WebCore.gyp:

2011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Debugger fails when there is an invalid watch expression.
        https://bugs.webkit.org/show_bug.cgi?id=70718

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/watch-expressions-panel-switch.html

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):

2011-10-24  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: fix empty line handling in source maps.
        https://bugs.webkit.org/show_bug.cgi?id=70726

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):

2011-10-25  Justin Schuh  <jschuh@chromium.org>

        Check for empty string in parseArcFlag
        https://bugs.webkit.org/show_bug.cgi?id=70763

        Reviewed by Dirk Schulze.

        Test: svg/path-invalid.html

        * svg/SVGParserUtilities.cpp:
        (WebCore::parseArcFlag):

2011-10-24  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: keep old source mapping when new one could not be loaded.
        https://bugs.webkit.org/show_bug.cgi?id=70729

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
        (WebInspector.RawSourceCode.prototype._updateSourceMapping):
        (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):

2011-10-25  Sachin Puranik  <sachin.puranik@motorola.com>

        Double number step=.5 should be considered valid in <input type="number" step=".5">
        https://bugs.webkit.org/show_bug.cgi?id=70320

        Reviewed by Kent Tamura.

        Test: fast/forms/input-step-as-double.html

        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::parseToDoubleForNumberType): Changed the function to consider
        step as valid even if it starts with "."

2011-10-25  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Chromium] Audits panel context menu for links not working properly
        https://bugs.webkit.org/show_bug.cgi?id=70813

        Reviewed by Pavel Feldman.

        * inspector/front-end/AuditResultView.js:
        (WebInspector.AuditResultView):
        (WebInspector.AuditResultView.prototype._contextMenuEventFired):

2011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Resources panel: display the current search match index in the toolbar.
        https://bugs.webkit.org/show_bug.cgi?id=66050

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/search/resources-search-match-index.html

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.performSearch.callback):
        (WebInspector.ResourcesPanel.prototype.performSearch):
        (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
        (WebInspector.ResourcesPanel.prototype._showSearchResult):
        (WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
        (WebInspector.ResourcesSearchController):
        (WebInspector.ResourcesSearchController.prototype.nextSearchResult):
        (WebInspector.ResourcesSearchController.prototype.previousSearchResult):
        (WebInspector.ResourcesSearchController.prototype._searchResult):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype.matchIndex):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype._elementSearchMatchesCount):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
        * inspector/front-end/treeoutline.js:

2011-10-25  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: JS exception in JavaScriptSourceFrame.onShowPopover/showObjectPopover()
        https://bugs.webkit.org/show_bug.cgi?id=70812

        Reviewed by Pavel Feldman.

        Check if highlighted element is present while displaying object popover.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover.showObjectPopover):
        (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover):

2011-10-21  Nat Duca  <nduca@chromium.org>

        [chromium] Route Console::time and Console::timeEnd to trace_event
        https://bugs.webkit.org/show_bug.cgi?id=70620

        Reviewed by Pavel Feldman.

        * page/Console.cpp:
        (WebCore::Console::time):
        (WebCore::Console::timeEnd):

2011-10-21  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] allow extensions to specify script to be injected on reload
        https://bugs.webkit.org/show_bug.cgi?id=70600

        Reviewed by Pavel Feldman.

        - change webInspector.inspectedPage.reload() to accept multiple options in an object
        - add an ability to inject a script upon a page reload
        - return script id in addScriptToEvaluateOnLoad()
        - provide removeScriptToEvaluateOnLoad()
        - store scripts to evaluate on load in inspector state cookie

        Test: inspector/extensions/extensions-reload.html

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::InspectorPageAgent):
        (WebCore::InspectorPageAgent::restore):
        (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
        (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
        (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
        (WebCore::InspectorPageAgent::frameNavigated):
        * inspector/InspectorPageAgent.h:
        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.InspectedWindow.prototype.reload):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onReload):
        * inspector/front-end/WorkersSidebarPane.js:
        (WebInspector.WorkersSidebarPane.prototype.setInstrumentation.callback):
        (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):

2011-10-24  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: print expired message count before remaining messages.
        https://bugs.webkit.org/show_bug.cgi?id=70736

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector-0.1.json:
        * inspector/Inspector.json:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::enable):
        (WebCore::InspectorConsoleAgent::restore):
        * inspector/InspectorConsoleAgent.h:
        * inspector/front-end/ConsoleModel.js:

2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98309.
        http://trac.webkit.org/changeset/98309
        https://bugs.webkit.org/show_bug.cgi?id=70801

        Test fails on mac (Requested by benwells on #webkit).

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fill):
        (WebCore::CanvasRenderingContext2D::fillRect):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere):
        (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
        * html/canvas/CanvasRenderingContext2D.h:

2011-10-24  Geoffrey Garen  <ggaren@apple.com>

        Chromium build fix: #include window.h for HANDLE.

        * platform/graphics/opentype/OpenTypeUtilities.h:

2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>

        Include ThreadSafeRefCounted.h since the class declared in this header file
        inherits from ThreadSafeRefCounted.

        * storage/IDBIndexBackendInterface.h:

2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>

        Fix a typo.

        * bindings/v8/JavaScriptCallFrame.h:

2011-10-24  Geoffrey Garen  <ggaren@apple.com>

        Removed SharedUChar and tightened language around its previous uses
        https://bugs.webkit.org/show_bug.cgi?id=70698

        Reviewed by David Levin.

        - Renamed "threadSafeCopy" and "crossThreadCopy" to "isolatedCopy" because
        the former names gave the dangerous misimpression that the resulting object
        was thread-safe, which is not true.
        
        - Updated a bunch of files for header dependency changes, now that
        CrossThreadRefCounted is gone.

        * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Removed.
        * WebCore.exp.in:
        * bindings/js/ScriptHeapSnapshot.h:
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * css/CSSPropertySourceData.h:
        * css/CSSValue.h:
        * css/StyleMedia.h:
        * css/WebKitCSSMatrix.h:
        * dom/QualifiedName.h:
        * fileapi/LocalFileSystem.h:
        (WebCore::LocalFileSystem::SystemBasePath::operator String):
        * history/CachedFrame.h:
        * history/CachedPage.h:
        * history/HistoryItem.h:
        * html/canvas/CanvasStyle.h:
        * inspector/InspectorResourceAgent.h:
        * loader/FormState.h:
        * loader/TextResourceDecoder.h:
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::open):
        (WebCore::IconDatabase::synchronousIconForPageURL):
        (WebCore::IconDatabase::synchronousIconURLForPageURL):
        (WebCore::IconDatabase::retainIconForPageURL):
        (WebCore::IconDatabase::releaseIconForPageURL):
        (WebCore::IconDatabase::setIconDataForIconURL):
        (WebCore::IconDatabase::setIconURLForPageURL):
        (WebCore::IconDatabase::databasePath):
        (WebCore::IconDatabase::defaultDatabaseFilename):
        (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
        (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
        * page/ContentSecurityPolicy.h:
        * page/Coordinates.h:
        (WebCore::Coordinates::isolatedCopy):
        * page/Geoposition.h:
        (WebCore::Geoposition::isolatedCopy):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::isolatedCopy):
        * page/SecurityOrigin.h:
        * page/animation/AnimationBase.h:
        * platform/CrossThreadCopier.cpp:
        (WebCore::::copy):
        * platform/FileChooser.h:
        * platform/KURL.cpp:
        (WebCore::KURL::copy):
        * platform/cf/SchedulePair.h:
        * platform/network/BlobData.cpp:
        (WebCore::BlobDataItem::detachFromCurrentThread):
        (WebCore::BlobData::detachFromCurrentThread):
        * platform/network/HTTPHeaderMap.cpp:
        (WebCore::HTTPHeaderMap::copyData):
        * platform/network/MIMEHeader.h:
        * platform/network/ResourceErrorBase.cpp:
        (WebCore::ResourceErrorBase::copy):
        * platform/network/ResourceLoadInfo.h:
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::copyData):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::copyData):
        * platform/sql/SQLValue.cpp:
        (WebCore::SQLValue::SQLValue):
        (WebCore::SQLValue::string):
        * rendering/style/QuotesData.h:
        * storage/AbstractDatabase.cpp:
        (WebCore::updateGuidVersionMap):
        (WebCore::AbstractDatabase::AbstractDatabase):
        (WebCore::AbstractDatabase::performOpenAndVerify):
        (WebCore::AbstractDatabase::stringIdentifier):
        (WebCore::AbstractDatabase::displayName):
        (WebCore::AbstractDatabase::fileName):
        (WebCore::AbstractDatabase::setExpectedVersion):
        (WebCore::AbstractDatabase::getCachedVersion):
        * storage/ChangeVersionWrapper.cpp:
        (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
        * storage/Database.cpp:
        (WebCore::Database::Database):
        (WebCore::Database::tableNames):
        * storage/DatabaseDetails.h:
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
        (WebCore::DatabaseTracker::databaseDirectoryPath):
        (WebCore::DatabaseTracker::trackerDatabasePath):
        (WebCore::DatabaseTracker::canEstablishDatabase):
        (WebCore::DatabaseTracker::originPath):
        (WebCore::DatabaseTracker::fullPathForDatabase):
        (WebCore::DatabaseTracker::populateOrigins):
        (WebCore::DatabaseTracker::databaseNamesForOrigin):
        (WebCore::DatabaseTracker::addOpenDatabase):
        (WebCore::DatabaseTracker::setQuota):
        (WebCore::DatabaseTracker::recordCreatingDatabase):
        (WebCore::DatabaseTracker::recordDeletingDatabase):
        (WebCore::DatabaseTracker::recordDeletingOrigin):
        (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
        * storage/OriginQuotaManager.cpp:
        (WebCore::OriginQuotaManager::trackOrigin):
        (WebCore::OriginQuotaManager::addDatabase):
        * storage/SQLError.h:
        (WebCore::SQLError::message):
        (WebCore::SQLError::SQLError):
        * storage/SQLResultSetRowList.h:
        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::SQLStatement):
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::StorageAreaSync):
        (WebCore::StorageAreaSync::syncTimerFired):
        * storage/StorageAreaSync.h:
        * storage/StorageMap.cpp:
        (WebCore::StorageMap::importItem):
        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
        * storage/StorageSyncManager.cpp:
        (WebCore::StorageSyncManager::StorageSyncManager):
        * storage/StorageTracker.cpp:
        (WebCore::StorageTracker::StorageTracker):
        (WebCore::StorageTracker::syncImportOriginIdentifiers):
        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
        (WebCore::StorageTracker::setOriginDetails):
        (WebCore::StorageTracker::willDeleteAllOrigins):
        * svg/SVGPathSeg.h:
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerProxy::url):
        (WebCore::SharedWorkerProxy::name):
        (WebCore::SharedWorkerProxy::SharedWorkerProxy):
        (WebCore::DefaultSharedWorkerRepository::getProxy):
        * workers/SharedWorkerThread.cpp:
        (WebCore::SharedWorkerThread::SharedWorkerThread):
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerExceptionTask::WorkerExceptionTask):
        (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::postTaskForMode):
        (WebCore::WorkerRunLoop::Task::Task):
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):

2011-10-24  Adam Barth  <abarth@webkit.org>

        Remove empty directory.

        * p2p: Removed.

2011-10-24  Shawn Singh  <shawnsingh@chromium.org>

        [chromium] Refactor painting/updating/drawing code.
        https://bugs.webkit.org/show_bug.cgi?id=70057

        Reviewed by James Robinson.

        This refactoring separates the "early exits" from the actual loop
        that draws layers. As part of this, it was also appropriate to
        clean up the way that masks and replicas are dealt with when
        painting and updating. The purpose of all this is to make things
        easier to test, and for a scissoring optimization that needs to
        know exatly what gets drawn. Existing layout tests were able to
        verify the refactoring did not change behavior.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
        (WebCore::LayerRendererChromium::drawLayersInternal):
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
        (WebCore::CCLayerTreeHost::paintLayerContents):
        (WebCore::CCLayerTreeHost::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
        (WebCore::layerShouldBeAppended):
        (WebCore::calculateDrawTransformsAndVisibilityInternal):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
        (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):

2011-10-24  Luke Macpherson   <macpherson@chromium.org>

        REGRESSION(80893): HTML5 spec takes 2s longer to load due to time spent in CSSStyleSelector
        https://bugs.webkit.org/show_bug.cgi?id=68944

        Reviewed by Antti Koivisto.

        No new tests / Covered by existing tests.

        Removes all virtual dispatch from CSSStyleApplyProperty by converting to use static function pointers for dispatch.
        Uses class templates instead of function templates to allow default parameters and also to share parameter declarations across static functions.
        All constructor parameters become template parameters. This improves the level of compiler optimization that can be achieved.
        Overall this achieved a ~2% overall speedup on run-safari PerformanceTests/Parser/html5-full-render.html,
        and profiling showed a reduction in the time spent inside CSSStyleSelector::applyProperty().

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyExpanding::applyInheritValue):
        (WebCore::ApplyPropertyExpanding::applyInitialValue):
        (WebCore::ApplyPropertyExpanding::applyValue):
        (WebCore::ApplyPropertyExpanding::createHandler):
        (WebCore::ApplyPropertyDefaultBase::setValue):
        (WebCore::ApplyPropertyDefaultBase::value):
        (WebCore::ApplyPropertyDefaultBase::initial):
        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
        (WebCore::ApplyPropertyDefaultBase::applyValue):
        (WebCore::ApplyPropertyDefaultBase::createHandler):
        (WebCore::ApplyPropertyDefault::setValue):
        (WebCore::ApplyPropertyDefault::applyValue):
        (WebCore::ApplyPropertyDefault::createHandler):
        (WebCore::ApplyPropertyStyleImage::applyValue):
        (WebCore::ApplyPropertyStyleImage::createHandler):
        (WebCore::ApplyPropertyAuto::setValue):
        (WebCore::ApplyPropertyAuto::value):
        (WebCore::ApplyPropertyAuto::hasAuto):
        (WebCore::ApplyPropertyAuto::setAuto):
        (WebCore::ApplyPropertyAuto::applyInheritValue):
        (WebCore::ApplyPropertyAuto::applyInitialValue):
        (WebCore::ApplyPropertyAuto::applyValue):
        (WebCore::ApplyPropertyAuto::createHandler):
        (WebCore::defaultInitialColor):
        (WebCore::ApplyPropertyColor::applyInheritValue):
        (WebCore::ApplyPropertyColor::applyInitialValue):
        (WebCore::ApplyPropertyColor::applyValue):
        (WebCore::ApplyPropertyColor::createHandler):
        (WebCore::ApplyPropertyDirection::applyValue):
        (WebCore::ApplyPropertyDirection::createHandler):
        (WebCore::ApplyPropertyLength::setValue):
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::ApplyPropertyLength::createHandler):
        (WebCore::ApplyPropertyString::setValue):
        (WebCore::ApplyPropertyString::applyValue):
        (WebCore::ApplyPropertyString::createHandler):
        (WebCore::ApplyPropertyBorderRadius::setValue):
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        (WebCore::ApplyPropertyBorderRadius::createHandler):
        (WebCore::ApplyPropertyFillLayer::applyInheritValue):
        (WebCore::ApplyPropertyFillLayer::applyInitialValue):
        (WebCore::ApplyPropertyFillLayer::applyValue):
        (WebCore::ApplyPropertyFillLayer::createHandler):
        (WebCore::ApplyPropertyComputeLength::setValue):
        (WebCore::ApplyPropertyComputeLength::applyValue):
        (WebCore::ApplyPropertyComputeLength::createHandler):
        (WebCore::ApplyPropertyFont::applyInheritValue):
        (WebCore::ApplyPropertyFont::applyInitialValue):
        (WebCore::ApplyPropertyFont::applyValue):
        (WebCore::ApplyPropertyFont::createHandler):
        (WebCore::ApplyPropertyFontWeight::applyValue):
        (WebCore::ApplyPropertyFontWeight::createHandler):
        (WebCore::ApplyPropertyCounter::emptyFunction):
        (WebCore::ApplyPropertyCounter::applyValue):
        (WebCore::ApplyPropertyCounter::createHandler):
        (WebCore::ApplyPropertyCursor::applyInheritValue):
        (WebCore::ApplyPropertyCursor::applyInitialValue):
        (WebCore::ApplyPropertyCursor::applyValue):
        (WebCore::ApplyPropertyCursor::createHandler):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::createHandler):
        (WebCore::ApplyPropertyAnimation::setValue):
        (WebCore::ApplyPropertyAnimation::value):
        (WebCore::ApplyPropertyAnimation::test):
        (WebCore::ApplyPropertyAnimation::clear):
        (WebCore::ApplyPropertyAnimation::initial):
        (WebCore::ApplyPropertyAnimation::map):
        (WebCore::ApplyPropertyAnimation::accessAnimations):
        (WebCore::ApplyPropertyAnimation::animations):
        (WebCore::ApplyPropertyAnimation::applyInheritValue):
        (WebCore::ApplyPropertyAnimation::applyInitialValue):
        (WebCore::ApplyPropertyAnimation::applyValue):
        (WebCore::ApplyPropertyAnimation::createHandler):
        (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
        (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
        (WebCore::ApplyPropertyOutlineStyle::applyValue):
        (WebCore::ApplyPropertyOutlineStyle::createHandler):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleApplyProperty.h:
        (WebCore::PropertyHandler::PropertyHandler):
        (WebCore::PropertyHandler::applyInheritValue):
        (WebCore::PropertyHandler::applyInitialValue):
        (WebCore::PropertyHandler::applyValue):
        (WebCore::PropertyHandler::isValid):
        (WebCore::PropertyHandler::inheritFunction):
        (WebCore::PropertyHandler::initialFunction):
        (WebCore::PropertyHandler::applyFunction):
        (WebCore::CSSStyleApplyProperty::propertyHandler):
        (WebCore::CSSStyleApplyProperty::setPropertyHandler):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::invalidColor):

2011-10-24  Ben Wells  <benwells@chromium.org>

        Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
        https://bugs.webkit.org/show_bug.cgi?id=66920

        Reviewed by James Robinson.

        Test: fast/canvas/canvas-composite-image.html

        Use the same method as fills to handle composited drawImage calls that will affect the whole
        canvas. To do this code used when doing fills has been factored into seperate functions and
        used by drawImage. Some functions used to do these types of operations have also been renamed.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::isFullCanvasCompositeMode):
        (WebCore::CanvasRenderingContext2D::fill):
        (WebCore::CanvasRenderingContext2D::fillRect):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
        (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
        (WebCore::CanvasRenderingContext2D::compositeBuffer):
        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
        * html/canvas/CanvasRenderingContext2D.h:

2011-10-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98294 and r98306.
        http://trac.webkit.org/changeset/98294
        http://trac.webkit.org/changeset/98306
        https://bugs.webkit.org/show_bug.cgi?id=70790

        the first patch broke chromium-mac and the second gclient
        (Requested by jchaffraix on #webkit).

        * WebCore.gyp/WebCore.gyp:

2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>

        Build fix after r98300.

        * WebCore.gypi:
        * WebCore.pro:

2011-10-24  Anders Carlsson  <andersca@apple.com>

        It should be possible for Widget subclasses to control whether transforms affect the frame rect
        https://bugs.webkit.org/show_bug.cgi?id=70787

        Reviewed by Sam Weinig.

        Currently RenderWidget sets the frame rect of it's hosted widget to the bounding box of the transformed
        content box rect (unless the Widget is a frame view). It should be possible for Widget subclasses to override
        this behavior and have the frame rect set to the absolute content box without any transforms applied.

        * platform/Widget.h:
        (WebCore::Widget::transformsAffectFrameRect):
        Add new member function.

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::updateWidgetGeometry):
        Move shared code from setWidget and updateWidgetPosition out into a new function. If transformsAffectFrameRect returns 
        false, just set the frame rect to the absolute content box.

        (WebCore::RenderWidget::setWidget):
        (WebCore::RenderWidget::updateWidgetPosition):
        Call updateWidgetGeometry.

        * rendering/RenderWidget.h:

2011-10-24  Arko Saha  <arko@motorola.com>

        Microdata: Add itemprop, itemref, itemvalue attributes.
        https://bugs.webkit.org/show_bug.cgi?id=69839

        Reviewed by Ryosuke Niwa.

        Tests: fast/dom/MicroData/itemprop-add-remove-tokens.html
               fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
               fast/dom/MicroData/itemprop-must-be-read-only.html
               fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
               fast/dom/MicroData/itemref-add-remove-tokens.html
               fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
               fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
               fast/dom/MicroData/itemref-must-be-read-only.html
               fast/dom/MicroData/itemvalue-reflects-data-attr-on-object-element.html
               fast/dom/MicroData/itemvalue-reflects-href-attr.html
               fast/dom/MicroData/itemvalue-reflects-src-attribute-on-img-element.html
               fast/dom/MicroData/itemvalue-reflects-the-content-attr-on-meta-element.html
               fast/dom/MicroData/itemvalue-reflects-the-src-attr.html
               fast/dom/MicroData/itemvalue-returns-element-itself.html
               fast/dom/MicroData/itemvalue-returns-null.html
               fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-001.html
               fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-002.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/JSHTMLElementCustom.cpp:
        (WebCore::toJS):
        (WebCore::JSHTMLElement::itemValue):
        (WebCore::JSHTMLElement::setItemValue):
        * bindings/v8/custom/V8HTMLElementCustom.cpp:
        (WebCore::toV8Object):
        (WebCore::V8HTMLElement::itemValueAccessorGetter):
        (WebCore::V8HTMLElement::itemValueAccessorSetter):
        * dom/MicroDataItemList.cpp:
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::itemValueText):
        (WebCore::HTMLAnchorElement::setItemValueText):
        * html/HTMLAnchorElement.h:
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::itemValueText):
        (WebCore::HTMLAreaElement::setItemValueText):
        * html/HTMLAreaElement.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        (WebCore::HTMLElement::itemProp): Returns element's itemprop content attribute.
        (WebCore::HTMLElement::setItemProp): Sets itemprop value on changing elemet's
        itemprop attribute.
        (WebCore::HTMLElement::itemRef): Returns element's itemref content attribute.
        (WebCore::HTMLElement::setItemRef): Sets itemref value on changing elemet's
        itemref attribute.
        (WebCore::HTMLElement::setItemValue): Sets element's itemvalue. If the element has no
        itemprop attribute or if element has an itemscope attribute, it throws INVALID_ACCESS_ERR
        exception.
        (WebCore::HTMLElement::itemValue): Returns the elements itemvalue.

        If the element has no itemprop attribute it returns null.
        If the element has an itemscope attribute, it returns the element itself.
        If the element is a meta element: It acts as it would if it was reflecting the element's
        content content attribute.
        If the element is an audio, embed, iframe, img, source, track, or video element: It acts
        as it would if it was reflecting the element's src content attribute.
        If the element is an a, area, or link element: It act as it would if it was reflecting the
        href content attribute.
        If the element is an object element: It acts as  it would if it was reflecting the element's
        data content attribute.

        (WebCore::HTMLElement::itemValueText):
        (WebCore::HTMLElement::setItemValueText):
        * html/HTMLElement.h:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::itemValueText):
        (WebCore::HTMLEmbedElement::setItemValueText):
        * html/HTMLEmbedElement.h:
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::itemValueText):
        (WebCore::HTMLIFrameElement::setItemValueText):
        * html/HTMLIFrameElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::itemValueText):
        (WebCore::HTMLImageElement::setItemValueText):
        * html/HTMLImageElement.h:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::itemValueText):
        (WebCore::HTMLLinkElement::setItemValueText):
        * html/HTMLLinkElement.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::itemValueText):
        (WebCore::HTMLMediaElement::setItemValueText):
        * html/HTMLMediaElement.h:
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::itemValueText):
        (WebCore::HTMLMetaElement::setItemValueText):
        * html/HTMLMetaElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::itemValueText):
        (WebCore::HTMLObjectElement::setItemValueText):
        * html/HTMLObjectElement.h:
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::itemValueText):
        (WebCore::HTMLSourceElement::setItemValueText):
        * html/HTMLSourceElement.h:
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::itemValueText):
        (WebCore::HTMLTrackElement::setItemValueText):
        * html/HTMLTrackElement.h:
        * html/MicroDataItemValue.cpp: Added.
        (WebCore::MicroDataItemValue::MicroDataItemValue):
        (WebCore::MicroDataItemValue::createFromString):
        (WebCore::MicroDataItemValue::createFromNode):
        * html/MicroDataItemValue.h: Added.
        (WebCore::MicroDataItemValue::isNode):
        (WebCore::MicroDataItemValue::getNode):
        (WebCore::MicroDataItemValue::getString):

2011-10-24  Joseph Pecoraro  <joepeck@webkit.org>

        Remove unused instance variable
        https://bugs.webkit.org/show_bug.cgi?id=70750

        Reviewed by Dimitri Glazkov.

        * rendering/RenderTextControl.h:

2011-10-24  Nico Weber  <thakis@chromium.org>

        [chromium/mac] Fix an ODR violation.
        https://bugs.webkit.org/show_bug.cgi?id=70753

        Reviewed by Anders Carlsson.

        Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
        Remove the unused one.

        * WebCore.gyp/WebCore.gyp:

2011-10-24  Tim Horton  <timothy_horton@apple.com>

        feColorMatrix doesn't use the correct default "matrix" type when no type attribute is specified
        https://bugs.webkit.org/show_bug.cgi?id=70035
        <rdar://problem/10280177>

        Reviewed by Nikolas Zimmermann.

        Make feColorMatrix's type attribute be "matrix" by default.

        Test: svg/filters/feColorMatrix-default-type.svg

        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):

2011-10-24  Joshua Bell  <jsbell@chromium.org>

        Unbreak binding generation tests
        https://bugs.webkit.org/show_bug.cgi?id=70768

        Reviewed by Darin Adler.

        Update the expected output of V8 binding tests to match
        results c/o https://bugs.webkit.org/show_bug.cgi?id=70065

        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::idbKeyCallback):

2011-10-21  Nat Duca  <nduca@chromium.org>

        [chromium] Add isTraceEventEnabled to PlatformSupport.
        https://bugs.webkit.org/show_bug.cgi?id=70618

        Reviewed by Darin Fisher.

        * platform/chromium/PlatformSupport.h:

2011-10-24  Mihnea Ovidenie  <mihnea@adobe.com>

        Use StringBuilder in CSSRuleList::rulesText()/CSSSelectorList::selectorsText()
        https://bugs.webkit.org/show_bug.cgi?id=70746

        Reviewed by Tony Chang.

        Covered by existing tests.

        * css/CSSRuleList.cpp:
        (WebCore::CSSRuleList::rulesText):
        * css/CSSSelectorList.cpp:
        (WebCore::CSSSelectorList::selectorsText):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::cssText): Use CSSRuleList::rulesText() method instead of explicit loop.

2011-10-24  Michael Saboff  <msaboff@apple.com>

        WebKit doesn't build with recent changes to libdispatch
        https://bugs.webkit.org/show_bug.cgi?id=70737

        Added initialization for new WebKitSystemInterface function 
        CreateVMPressureDispatchOnMainQueue.  Changed MemoryPressureHandler::install
        to use new function.

        Reviewed by Geoffrey Garen.

        No new tests.  Moved functionality to WebKitSystemInterface.

        * WebCore.exp.in:
        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore::MemoryPressureHandler::install):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2011-10-24  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Throw DATA_ERR on invalid keys, remove null key support
        https://bugs.webkit.org/show_bug.cgi?id=70065

        Reviewed by Tony Chang.

        Part 1 of a two-sided commit. Renames IDBKey::NullType to
        IDBKey::InvalidType. JS binding yields this type rather
        than throwing immediately so the correct exception type can
        be raised. Checks for invalid keys added to front-end classes.

        * bindings/js/JSIDBKeyCustom.cpp:
        (WebCore::toJS):
        * bindings/scripts/CodeGeneratorV8.pm:
        (TypeCanFailConversion):
        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromValue):
        * bindings/v8/custom/V8IDBKeyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::continueFunction):
        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::cmp):
        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::get):
        (WebCore::IDBIndex::getKey):
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::IDBKey):
        (WebCore::IDBKey::compare):
        * storage/IDBKey.h:
        (WebCore::IDBKey::createInvalid):
        * storage/IDBKeyRange.cpp:
        (WebCore::IDBKeyRange::only):
        (WebCore::IDBKeyRange::lowerBound):
        (WebCore::IDBKeyRange::upperBound):
        (WebCore::IDBKeyRange::bound):
        * storage/IDBKeyRange.h:
        (WebCore::IDBKeyRange::lowerBound):
        (WebCore::IDBKeyRange::upperBound):
        (WebCore::IDBKeyRange::bound):
        * storage/IDBKeyRange.idl:
        * storage/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::encodeIDBKey):
        (WebCore::IDBLevelDBCoding::decodeIDBKey):
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::get):
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        (WebCore::IDBObjectStore::deleteFunction):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
        * storage/IDBSQLiteBackingStore.cpp:
        (WebCore::whereSyntaxForKey):
        (WebCore::bindKeyToQuery):
        (WebCore::lowerCursorWhereFragment):
        (WebCore::upperCursorWhereFragment):
        (WebCore::bindKeyToQueryWithNulls):
        (WebCore::keyFromQuery):

2011-10-24  Alok Priyadarshi  <alokp@chromium.org>

        [chromium] Make accelerated drawing work with threaded compositing
        https://bugs.webkit.org/show_bug.cgi?id=70656

        Reviewed by James Robinson.

        Make sure that the compositor context is not used outside LayerTextureUpdater::updateTextureRect().
        Created a FrameBuffer class that wraps skia gpu canvas and manages GL resources.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::createTextureUpdater):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
        (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
        (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
        (WebCore::FrameBuffer::FrameBuffer::initialize):
        (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
        (WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
        (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
        (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::initialize):

2011-10-24  Adam Klein  <adamk@chromium.org>

        Optimize Node::isInShadowTree to execute in constant-time
        https://bugs.webkit.org/show_bug.cgi?id=67686

        Reviewed by Dimitri Glazkov.

        No expected change in behavior, so no new tests.

        * dom/Node.cpp:
        (WebCore::Node::isInShadowTree):

2011-10-24  Nat Duca  <nduca@chromium.org>

        [chromium] Expose WebThread::postDelayedTask to CCThread
        https://bugs.webkit.org/show_bug.cgi?id=70712

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCThread.h:

2011-10-24  Levi Weintraub  <leviw@chromium.org>

        <svg> fails to use explicit width and height inside <html> inside IFRAME
        https://bugs.webkit.org/show_bug.cgi?id=64823

        Reviewed by Nikolas Zimmermann.

        Checking that embedded SVG is in an SVG document before negotiating size
        with the host document.

        Test: svg/as-object/svg-embedded-in-html-in-iframe.html

        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::isEmbeddedThroughFrameContainingSVGDocument):
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):

2011-10-24  Rafael Weinstein  <rafaelw@chromium.org>

        Node::registeredMutationObserversOfType should be prefixed by "get"
        https://bugs.webkit.org/show_bug.cgi?id=70359

        Reviewed by Ojan Vafai.

        This change renames Node::registeredMutationObserversOfType to
        Node::getRegisteredMutationObserversOfType per the WebKit style guide.

        No tests needed as the change is only method renaming.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/ChildListMutationScope.cpp:
        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
        * dom/Element.cpp:
        (WebCore::enqueueAttributesMutationRecord):
        * dom/Node.cpp:
        (WebCore::Node::getRegisteredMutationObserversOfType):
        * dom/Node.h:

2011-10-24  Mark Hahnenberg  <mhahnenberg@apple.com>

        Rename static getOwnPropertySlot to getOwnPropertySlotByIndex
        https://bugs.webkit.org/show_bug.cgi?id=70271

        Reviewed by Darin Adler.

        No new tests.

        Renaming versions of getOwnPropertySlot that use an unsigned as the property
        name to "getOwnPropertySlotByIndex" in preparation for adding them to the 
        MethodTable, which requires unique names for each method.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::getSparseIndex):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::getOwnPropertySlotVirtual):
        (JSC::RuntimeArray::getOwnPropertySlotByIndex):
        * bridge/runtime_array.h:

2011-10-24  Joshua Bell  <jsbell@chromium.org>

        IndexedDB add should fail adding an inline and passed key simultaneously
        https://bugs.webkit.org/show_bug.cgi?id=58598

        Reviewed by Tony Chang.

        Test: storage/indexeddb/mozilla/key-requirements-inline-and-passed.html

        Implement the spec clause: passing a key into add() or put() when
        the object store has a key path ("inline key") is an error.

        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put):

2011-10-24  Simon Fraser  <simon.fraser@apple.com>

        Improve debug compositing border colors
        https://bugs.webkit.org/show_bug.cgi?id=70742

        Reviewed by Dean Jackson.

        Improve the appearance of the debug borders used to indicate compositing:
        1. Use green for normal layers, orange for tiled layers
        2. Make the repaint counter translucent
        3. Change the color of the repaint counter to show when accelerated drawing is enabled.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::updateDebugIndicators):
        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):

2011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Fix make distcheck build
        https://bugs.webkit.org/show_bug.cgi?id=69745

        Reviewed by Martin Robinson.

        * GNUmakefile.am:
        * GNUmakefile.list.am:

2011-10-24  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Adding a new style rule breaks things
        https://bugs.webkit.org/show_bug.cgi?id=70721

        Reviewed by Pavel Feldman.

        We had used to swap BlankStylePropertiesSection prototype and recently got rid of this hack,
        but still had dependencies on the old behavior.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
        (WebInspector.BlankStylePropertiesSection.prototype.get isBlank):
        (WebInspector.BlankStylePropertiesSection.prototype.expand):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled):
        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):

2011-10-24  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: do not force document loading on reload (should happen on demand).
        https://bugs.webkit.org/show_bug.cgi?id=70724

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._documentUpdated):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.wasShown):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype.setVisible):

2011-10-24  Eric Carlson  <eric.carlson@apple.com>

        Drop MutableTextTrack and make TextTrack always mutable
        https://bugs.webkit.org/show_bug.cgi?id=62890

        The MutableTextTrack type was removed from the spec, all text tracks are now mutable.

        Reviewed by Sam Weinig.

        No new tests needed, the changes just refactor existing code.

        * CMakeLists.txt: Remove all traces of MutableTextTrack.
        * CodeGenerators.pri: Ditto.
        * DerivedSources.cpp: Ditto.
        * DerivedSources.make: Ditto.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/gobject/GNUmakefile.am: Ditto.
        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.

        * bindings/js/JSTextTrackCustom.cpp: Removed.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::addTrack): Return a TextTrack instead of a MutableTextTrack.
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl:

        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::LoadableTextTrack): Return a TextTrack instead of a MutableTextTrack.

        * html/MutableTextTrack.cpp: Removed.
        * html/MutableTextTrack.h: Removed.
        * html/MutableTextTrack.idl: Removed.

        * html/TextTrack.cpp:
        (WebCore::TextTrack::TextTrack): Remove Type parameter.
        (WebCore::TextTrack::addCue): New, moved from MutableTextTrack.
        (WebCore::TextTrack::removeCue): Ditto.
        (WebCore::TextTrack::newCuesLoaded): Ditto.
        (WebCore::TextTrack::fetchNewestCues): Ditto.
        * html/TextTrack.h:
        (WebCore::TextTrack::create): Remove Type parameter
        * html/TextTrack.idl: Add addCue and removeCue.

2011-10-24  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: allow debugging dedicated worker initialization
        https://bugs.webkit.org/show_bug.cgi?id=70723

        Now it is possible to pause each new dedicated worker on start. The user
        needs to select a checkbox and then each newly created dedicated worker
        will be paused on the first statement until the user resumes it explicitely.

        Reviewed by Pavel Feldman.

        * inspector/Inspector.json: resume command is added. It is similar to GDB's run
        command, i.e. worker execution will be paused until explicit "resume" command is
        received.
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::resume):
        (WebCore::InspectorRuntimeAgent::pauseWorkerContext):
        * inspector/InspectorRuntimeAgent.h:
        * inspector/InspectorWorkerAgent.cpp:
        (WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart): returns true
        if the user chose to automatically pause all new workers.
        * inspector/InspectorWorkerAgent.h:
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::resume):
        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager.loaded):
        (WebInspector.WorkerManager.loadCompleted):
        (WebInspector.WorkerManager.prototype._workerCreated):
        (WebInspector.WorkerManager.prototype.openWorkerInspector):
        (WebInspector.WorkerManager.prototype._openInspectorWindow):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        * workers/Worker.cpp:
        (WebCore::Worker::notifyFinished):
        * workers/WorkerContextProxy.h:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerMessagingProxy::startWorkerContext): additional flag specifying
        worker initial state(paused/not paused) is added to the factory method. The flag
        will be carried to the corresponding WorkerThread.
        (WebCore::WorkerMessagingProxy::connectToInspector):
        * workers/WorkerMessagingProxy.h:

2011-10-21  Nikita Vasilyev  <me@elv1s.ru>

        Web Inspector: Make indent configurable
        https://bugs.webkit.org/show_bug.cgi?id=69986

        Add a setting to choose an indent from "8 spaces", "4 spaces" (default), "2 spaces", or "Tab character".

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        (WebInspector.SettingsScreen.prototype._createSelectSetting.get p):
        (WebInspector.SettingsScreen.prototype._createSelectSetting.changeListener):
        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel):
        * inspector/front-end/TextViewer.js:

2011-10-17  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: add "Add to Watch" option to context menu on selection in source frame
        https://bugs.webkit.org/show_bug.cgi?id=69924

        Reviewed by Pavel Feldman.

        - added 'Add to Watch' context menu item in scripts panel;
        - include both default and custom items into a context menu if selection is present;

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.addToWatch):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.populateSelectionContextMenu):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateSelectionContextMenu):
        (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
        (WebInspector.SourceFrameDelegate.prototype.addToWatch):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._contextMenu):
        (WebInspector.TextViewerDelegate.prototype.populateSelectionContextMenu):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSidebarPane.prototype.addExpression):
        (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
        (WebInspector.WatchExpressionsSection.prototype.addExpression):
        (WebInspector.WatchExpressionsSection.prototype.addNewExpressionAndEdit):
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::showContextMenu):

2011-10-21  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Audits hang on pages without img[src] elements
        https://bugs.webkit.org/show_bug.cgi?id=70604

        Reviewed by Pavel Feldman.

        Test: inspector/audits/audits-panel-noimages-functional.html

        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):

2011-10-24  Deepak Sherveghar  <bpwv64@motorola.com>

        [Qt] fast/events/media-focus-in-standalone-media-document.html fails
        https://bugs.webkit.org/show_bug.cgi?id=70110

        Reviewed by Simon Hausmann.

        ExtensionMap should also include media files mapping.

        * platform/qt/MIMETypeRegistryQt.cpp: Added media files mapping.

2011-10-24  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: [chromium] follow up to 98228 - added missing css.

        * WebCore.gypi:

2011-10-24  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: Make CSS files load upon View demand; split inspector.css into views.
        https://bugs.webkit.org/show_bug.cgi?id=70694

        Reviewed by Yury Semikhatsky.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid):
        * inspector/front-end/ElementsPanel.js:
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView):
        * inspector/front-end/PanelEnablerView.js:
        * inspector/front-end/ProfilesPanel.js:
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        * inspector/front-end/ResourcesPanel.js:
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/TextViewer.js:
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/WelcomeView.js:
        (WebInspector.WelcomeView):
        * inspector/front-end/auditsPanel.css: Renamed from Source/WebCore/inspector/front-end/audits.css.

2011-10-24  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make view load CSS files upon show.
        https://bugs.webkit.org/show_bug.cgi?id=70696

        Reviewed by Yury Semikhatsky.

        Test: inspector/view-css.html

        * inspector/front-end/View.js:
        (WebInspector.View):
        (WebInspector.View.prototype._callOnVisibleChildren):
        (WebInspector.View.prototype._processWillShow):
        (WebInspector.View.prototype._processWasShown):
        (WebInspector.View.prototype._processWillHide):
        (WebInspector.View.prototype._processWasHidden):
        (WebInspector.View.prototype._processOnResize):
        (WebInspector.View.prototype.show):
        (WebInspector.View.prototype.detach):
        (WebInspector.View.prototype.registerRequiredCSS):
        (WebInspector.View.prototype._loadCSSIfNeeded):
        (WebInspector.View.prototype._doLoadCSS):
        (WebInspector.View.prototype._disableCSSIfNeeded):
        (WebInspector.View.prototype._doUnloadCSS):

2011-10-24  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: make DataGrid a view
        https://bugs.webkit.org/show_bug.cgi?id=70695

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView.prototype._updateWithCookies):
        (WebInspector.SimpleCookiesTable):
        (WebInspector.SimpleCookiesTable.prototype.setCookies):
        * inspector/front-end/CookiesTable.js:
        (WebInspector.CookiesTable):
        * inspector/front-end/DOMStorageItemsView.js:
        (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid):
        (WebInspector.DataGrid.prototype.onResize):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._queryFinished):
        (WebInspector.DatabaseQueryView.prototype._queryError):
        (WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
        (WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
        (WebInspector.DatabaseQueryView.prototype._appendQueryResult):
        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype._queryFinished):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
        (WebInspector.DetailedHeapshotView.prototype.wasShown):
        (WebInspector.DetailedHeapshotView.prototype.onResize):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype.onResize):
        (WebInspector.NetworkLogView.prototype._createTable):
        * inspector/front-end/ProfileView.js:
        * inspector/front-end/ResourceCookiesView.js:
        (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):

2011-10-24  Yosifumi Inoue  <yosin@chromium.org>

        [Forms] Setting defaultValue should hide an input placeholder.
        https://bugs.webkit.org/show_bug.cgi?id=70586

        Reviewed by Kent Tamura.

        Tests: fast/forms/placeholder-and-default-value-expected.html
               fast/forms/placeholder-and-default-value.html

        When input element has default value, we should not display
        placeholder. Changing default value should tell rendering engine about
        changing display of input element.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute): Calls updatePlaceholderVisibility for valueAttr if it doesn't have dirty value.

2011-10-23  Darin Adler  <darin@apple.com>

        Eliminate OptionElement (second and final part)
        https://bugs.webkit.org/show_bug.cgi?id=70710

        Reviewed by Kent Tamura.

        * CMakeLists.txt: Removed OptionElement.h and OptionElement.cpp.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * dom/DOMAllInOne.cpp: Ditto.

        * dom/OptionElement.cpp: Removed.
        * dom/OptionElement.h: Removed.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::saveLastSelection): Eliminate use of the
        toOptionElement function. Use hasTagName and toHTMLOptionElement instead.
        (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
        (WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
        (WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
        (WebCore::HTMLSelectElement::recalcListItems): Ditto.
        (WebCore::HTMLSelectElement::selectedIndex): Ditto.
        (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
        (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
        (WebCore::HTMLSelectElement::saveFormControlState): Ditto.
        (WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
        (WebCore::HTMLSelectElement::appendFormData): Ditto.
        (WebCore::HTMLSelectElement::reset): Ditto.
        (WebCore::HTMLSelectElement::updateSelectedState): Ditto.
        (WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
        (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.

        * html/HTMLSelectElement.h: Changed the argument type of the
        deselectItemsWithoutValidation function to HTMLElement* since that's
        the type of an item in our items vector now.

2011-10-23  Yuzo Fujishima  <yuzo@google.com>

        [chromium] Attempt to fix compilation error for Chromium OS.

        Unreviewed.

        * mediastream/MediaStreamTrack.cpp:
        (WebCore::MediaStreamTrack::kind):

2011-10-23  Adam Barth  <abarth@webkit.org>

        <img crossorigin> should fail to load when CORS check fails
        https://bugs.webkit.org/show_bug.cgi?id=69732

        Reviewed by Darin Adler.

        When loading an image with the crossorigin attribute, the spec says
        that we're not supposed to load the image if the CORS check fails.
        This "fails fast" behavior is intended to help developers understand
        whether they've configured CORS correctly (instead of only catching the
        error later when trying to read back the canvas).

        Our new behavior matches the spec and Firefox.

        Test: http/tests/security/img-with-failed-cors-check-fails-to-load.html

        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::notifyFinished):

2011-10-23  Noel Gordon  <noel.gordon@gmail.com>

        [chromium] Remove GeolocationServiceGtk.{h,cpp} from the gyp projects
        https://bugs.webkit.org/show_bug.cgi?id=70702

        Reviewed by Kent Tamura.

        platform/gtk/GeolocationServiceGtk.{h,cpp} were removed in r97746, so
        remove references to these files from the gyp files.

        * WebCore.gypi:

2011-10-23  Andreas Kling  <kling@webkit.org>

        Move StyleSheet::addSubresourceStyleURLs() to CSSStyleSheet.
        https://bugs.webkit.org/show_bug.cgi?id=70690

        Reviewed by Antti Koivisto.

        This method isn't part of the StyleSheet DOM interface, nor is it used by
        XSLStyleSheet, so move it down to CSSStyleSheet and make it non-virtual.
        Also remove some nearby unneeded casts from CSSStyleSheet* to StyleSheet*.

        * css/CSSStyleSheet.h:
        * css/StyleSheet.h:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::isLoading):
        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
        (WebCore::HTMLStyleElement::disabled):
        (WebCore::HTMLStyleElement::setDisabled):

2011-10-23  Andreas Kling  <kling@webkit.org>

        Remove style sheet constructors that take a style sheet parent.
        https://bugs.webkit.org/show_bug.cgi?id=70692

        Reviewed by Antti Koivisto.

        Style sheets are never directly parented by other style sheets, they always
        go via a rule (such as @import.)

        * css/CSSStyleSheet.cpp:
        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::create):
        * css/StyleSheet.cpp:
        * css/StyleSheet.h:

2011-10-23  Mark Hahnenberg  <mhahnenberg@apple.com>

        Add deleteProperty to the MethodTable
        https://bugs.webkit.org/show_bug.cgi?id=70162

        Reviewed by Sam Weinig.

        No new tests.

        * WebCore.exp.in:

2011-10-23  Adam Barth  <abarth@webkit.org>

        Update baselines for run-bindings-tests.

        * bindings/scripts/test/JS/JSTestInterface.cpp:
        * bindings/scripts/test/JS/JSTestInterface.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:

2011-10-23  Mark Hahnenberg  <mhahnenberg@apple.com>

        Remove getConstructDataVirtual
        https://bugs.webkit.org/show_bug.cgi?id=70638

        Reviewed by Darin Adler.

        No new tests.

        Removed all declarations and definitions of getConstructDataVirtual.
        Also replaced all call sites to getConstructDataVirtual with a 
        corresponding lookup in the MethodTable.

        * WebCore.exp.in:
        * bindings/js/JSAudioConstructor.cpp:
        * bindings/js/JSAudioConstructor.h:
        * bindings/js/JSImageConstructor.cpp:
        * bindings/js/JSImageConstructor.h:
        * bindings/js/JSOptionConstructor.cpp:
        * bindings/js/JSOptionConstructor.h:
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::construct):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateConstructorDeclaration):
        (GenerateConstructorDefinition):
        * bridge/runtime_object.cpp:
        * bridge/runtime_object.h:

2011-10-22  Geoffrey Garen  <ggaren@apple.com>

        Separated string lifetime bits from character buffer state bits
        https://bugs.webkit.org/show_bug.cgi?id=70673

        Reviewed by Anders Carlsson.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHashValue): Updated for string hashing changes in JavaScriptCore.

2011-10-22  Pratik Solanki  <psolanki@apple.com>

        HTTPBodyStream in NSURLRequest gets lost when using CFNetwork loader
        https://bugs.webkit.org/show_bug.cgi?id=70583
        <rdar://problem/10281227>

        Reviewed by Darin Adler.

        Call WebCore::setHTTPBody() only if we actually have a FormData. Unconditionally calling it
        results in us passing 0 to wkCFURLRequestSetHTTPRequestBodyParts() which resets any input
        stream specified by the user on the NSURLRequest. This code matches the behavior in the
        Foundation version of doUpdatePlatformRequest().

        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):

2011-10-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Move all MediaStream and PeerConnection related non-platform files to WebCore/mediastream
        https://bugs.webkit.org/show_bug.cgi?id=70233

        Reviewed by Adam Barth.

        Removed affected files from build systems that don't have a MEDIA_STREAM build flag.

        No new tests since we're just moving files.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * UseJSC.cmake:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * dom/DOMAllInOne.cpp:
        * dom/DispatchTask.h: Removed unused file.
        * dom/ScriptExecutionContext.cpp:
        * mediastream/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/LocalMediaStream.cpp.
        (WebCore::LocalMediaStream::create):
        (WebCore::LocalMediaStream::LocalMediaStream):
        (WebCore::LocalMediaStream::stop):
        (WebCore::LocalMediaStream::stopTimerFired):
        (WebCore::LocalMediaStream::~LocalMediaStream):
        (WebCore::LocalMediaStream::toLocalMediaStream):
        * mediastream/LocalMediaStream.h: Renamed from Source/WebCore/dom/LocalMediaStream.h.
        * mediastream/LocalMediaStream.idl: Renamed from Source/WebCore/dom/LocalMediaStream.idl.
        * mediastream/MediaStream.cpp: Renamed from Source/WebCore/dom/MediaStream.cpp.
        (WebCore::MediaStream::create):
        (WebCore::MediaStream::MediaStream):
        (WebCore::MediaStream::~MediaStream):
        (WebCore::MediaStream::readyState):
        (WebCore::MediaStream::toMediaStream):
        (WebCore::MediaStream::streamEnded):
        (WebCore::MediaStream::scriptExecutionContext):
        (WebCore::MediaStream::eventTargetData):
        (WebCore::MediaStream::ensureEventTargetData):
        * mediastream/MediaStream.h: Renamed from Source/WebCore/dom/MediaStream.h.
        (WebCore::MediaStream::label):
        (WebCore::MediaStream::tracks):
        (WebCore::MediaStream::descriptor):
        (WebCore::MediaStream::refEventTarget):
        (WebCore::MediaStream::derefEventTarget):
        * mediastream/MediaStream.idl: Renamed from Source/WebCore/dom/MediaStream.idl.
        * mediastream/MediaStreamClient.h: Renamed from Source/WebCore/page/MediaStreamClient.h.
        (WebCore::MediaStreamClient::~MediaStreamClient):
        * mediastream/MediaStreamController.cpp: Renamed from Source/WebCore/page/MediaStreamController.cpp.
        (WebCore::MediaStreamController::Request::Request):
        (WebCore::MediaStreamController::Request::localId):
        (WebCore::MediaStreamController::Request::frameController):
        (WebCore::MediaStreamController::MediaStreamController):
        (WebCore::MediaStreamController::~MediaStreamController):
        (WebCore::MediaStreamController::isClientAvailable):
        (WebCore::MediaStreamController::unregisterFrameController):
        (WebCore::MediaStreamController::registerRequest):
        (WebCore::MediaStreamController::generateStream):
        (WebCore::MediaStreamController::streamGenerated):
        (WebCore::MediaStreamController::streamGenerationFailed):
        * mediastream/MediaStreamController.h: Renamed from Source/WebCore/page/MediaStreamController.h.
        * mediastream/MediaStreamEvent.cpp: Renamed from Source/WebCore/p2p/MediaStreamEvent.cpp.
        (WebCore::MediaStreamEvent::create):
        (WebCore::MediaStreamEvent::MediaStreamEvent):
        (WebCore::MediaStreamEvent::~MediaStreamEvent):
        (WebCore::MediaStreamEvent::initMediaStreamEvent):
        (WebCore::MediaStreamEvent::stream):
        * mediastream/MediaStreamEvent.h: Renamed from Source/WebCore/p2p/MediaStreamEvent.h.
        (WebCore::MediaStreamEvent::isMediaStreamEvent):
        * mediastream/MediaStreamEvent.idl: Renamed from Source/WebCore/p2p/MediaStreamEvent.idl.
        * mediastream/MediaStreamFrameController.cpp: Renamed from Source/WebCore/page/MediaStreamFrameController.cpp.
        (WebCore::MediaStreamFrameController::Request::~Request):
        (WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
        (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
        (WebCore::MediaStreamFrameController::Request::Request):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::create):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::~GenerateStreamRequest):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::isGenerateStreamRequest):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::successCallback):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::errorCallback):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
        (WebCore::MediaStreamFrameController::RequestMap::abort):
        (WebCore::MediaStreamFrameController::RequestMap::abortAll):
        (WebCore::MediaStreamFrameController::MediaStreamFrameController):
        (WebCore::MediaStreamFrameController::~MediaStreamFrameController):
        (WebCore::MediaStreamFrameController::securityOrigin):
        (WebCore::MediaStreamFrameController::scriptExecutionContext):
        (WebCore::MediaStreamFrameController::pageController):
        (WebCore::MediaStreamFrameController::enterDetachedState):
        (WebCore::MediaStreamFrameController::isClientAvailable):
        (WebCore::MediaStreamFrameController::disconnectPage):
        (WebCore::MediaStreamFrameController::disconnectFrame):
        (WebCore::MediaStreamFrameController::transferToNewPage):
        (WebCore::MediaStreamFrameController::parseGenerateStreamOptions):
        (WebCore::MediaStreamFrameController::generateStream):
        (WebCore::MediaStreamFrameController::streamGenerated):
        (WebCore::MediaStreamFrameController::streamGenerationFailed):
        * mediastream/MediaStreamFrameController.h: Renamed from Source/WebCore/page/MediaStreamFrameController.h.
        (WebCore::MediaStreamFrameController::IdGenerator::IdGenerator):
        (WebCore::MediaStreamFrameController::IdGenerator::getNextId):
        * mediastream/MediaStreamList.cpp: Renamed from Source/WebCore/dom/MediaStreamList.cpp.
        (WebCore::MediaStreamList::create):
        (WebCore::MediaStreamList::MediaStreamList):
        (WebCore::MediaStreamList::~MediaStreamList):
        (WebCore::MediaStreamList::length):
        (WebCore::MediaStreamList::item):
        (WebCore::MediaStreamList::append):
        (WebCore::MediaStreamList::remove):
        (WebCore::MediaStreamList::contains):
        * mediastream/MediaStreamList.h: Renamed from Source/WebCore/dom/MediaStreamList.h.
        * mediastream/MediaStreamList.idl: Renamed from Source/WebCore/dom/MediaStreamList.idl.
        * mediastream/MediaStreamRegistry.cpp: Renamed from Source/WebCore/platform/MediaStreamRegistry.cpp.
        (WebCore::MediaStreamRegistry::registry):
        (WebCore::MediaStreamRegistry::registerMediaStreamURL):
        (WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
        (WebCore::MediaStreamRegistry::mediaStream):
        * mediastream/MediaStreamRegistry.h: Renamed from Source/WebCore/platform/MediaStreamRegistry.h.
        * mediastream/MediaStreamTrack.cpp: Renamed from Source/WebCore/dom/MediaStreamTrack.cpp.
        (WebCore::MediaStreamTrack::create):
        (WebCore::MediaStreamTrack::MediaStreamTrack):
        (WebCore::MediaStreamTrack::~MediaStreamTrack):
        (WebCore::MediaStreamTrack::kind):
        (WebCore::MediaStreamTrack::label):
        (WebCore::MediaStreamTrack::enabled):
        (WebCore::MediaStreamTrack::setEnabled):
        * mediastream/MediaStreamTrack.h: Renamed from Source/WebCore/dom/MediaStreamTrack.h.
        * mediastream/MediaStreamTrack.idl: Renamed from Source/WebCore/dom/MediaStreamTrack.idl.
        * mediastream/MediaStreamTrackList.cpp: Renamed from Source/WebCore/dom/MediaStreamTrackList.cpp.
        (WebCore::MediaStreamTrackList::create):
        (WebCore::MediaStreamTrackList::MediaStreamTrackList):
        (WebCore::MediaStreamTrackList::~MediaStreamTrackList):
        (WebCore::MediaStreamTrackList::length):
        (WebCore::MediaStreamTrackList::item):
        * mediastream/MediaStreamTrackList.h: Renamed from Source/WebCore/dom/MediaStreamTrackList.h.
        * mediastream/MediaStreamTrackList.idl: Renamed from Source/WebCore/dom/MediaStreamTrackList.idl.
        * mediastream/PeerConnection.cpp: Renamed from Source/WebCore/p2p/PeerConnection.cpp.
        (WebCore::PeerConnection::create):
        (WebCore::PeerConnection::PeerConnection):
        (WebCore::PeerConnection::~PeerConnection):
        (WebCore::PeerConnection::processSignalingMessage):
        (WebCore::PeerConnection::readyState):
        (WebCore::PeerConnection::send):
        (WebCore::PeerConnection::addStream):
        (WebCore::PeerConnection::removeStream):
        (WebCore::PeerConnection::localStreams):
        (WebCore::PeerConnection::remoteStreams):
        (WebCore::PeerConnection::close):
        (WebCore::PeerConnection::iceProcessingCompleted):
        (WebCore::PeerConnection::sdpGenerated):
        (WebCore::PeerConnection::dataStreamMessageReceived):
        (WebCore::PeerConnection::remoteStreamAdded):
        (WebCore::PeerConnection::remoteStreamRemoved):
        (WebCore::PeerConnection::toPeerConnection):
        (WebCore::PeerConnection::scriptExecutionContext):
        (WebCore::PeerConnection::stop):
        (WebCore::PeerConnection::eventTargetData):
        (WebCore::PeerConnection::ensureEventTargetData):
        (WebCore::PeerConnection::scheduleInitialNegotiation):
        (WebCore::PeerConnection::initialNegotiationTimerFired):
        (WebCore::PeerConnection::ensureStreamChangeScheduled):
        (WebCore::PeerConnection::streamChangeTimerFired):
        (WebCore::PeerConnection::scheduleReadyStateChange):
        (WebCore::PeerConnection::readyStateChangeTimerFired):
        (WebCore::PeerConnection::changeReadyState):
        * mediastream/PeerConnection.h: Renamed from Source/WebCore/p2p/PeerConnection.h.
        (WebCore::PeerConnection::refEventTarget):
        (WebCore::PeerConnection::derefEventTarget):
        * mediastream/PeerConnection.idl: Renamed from Source/WebCore/p2p/PeerConnection.idl.
        * mediastream/SignalingCallback.h: Renamed from Source/WebCore/p2p/SignalingCallback.h.
        (WebCore::SignalingCallback::~SignalingCallback):
        * mediastream/SignalingCallback.idl: Renamed from Source/WebCore/p2p/SignalingCallback.idl.
        * page/Frame.cpp:
        * page/Navigator.cpp:
        * page/Page.cpp:

2011-10-20  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: get rid of View::hide, View::set visible, View::attach,
        View::set visible.
        https://bugs.webkit.org/show_bug.cgi?id=70523

        This change also introduces assetions that forces view attach / detach operations
        to be performed explicitly.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView.prototype.wasShown):
        (WebInspector.ApplicationCacheItemsView.prototype.willHide):
        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype.wasShown):
        * inspector/front-end/ConsolePanel.js:
        (WebInspector.ConsolePanel.prototype.wasShown):
        (WebInspector.ConsolePanel.prototype.willHide):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.wasShown):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView.prototype.wasShown):
        (WebInspector.CookieItemsView.prototype.willHide):
        (WebInspector.CookieItemsView.prototype._updateWithCookies):
        * inspector/front-end/DOMStorageItemsView.js:
        (WebInspector.DOMStorageItemsView.prototype.wasShown):
        (WebInspector.DOMStorageItemsView.prototype.willHide):
        * inspector/front-end/DatabaseQueryView.js:
        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype.wasShown):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype.willHide):
        (WebInspector.DetailedHeapshotView.prototype._changeView):
        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype.hide):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.wasShown):
        (WebInspector.ElementsPanel.prototype.willHide):
        * inspector/front-end/EmptyView.js:
        (WebInspector.EmptyView.prototype.wasShown):
        * inspector/front-end/FontView.js:
        (WebInspector.FontView.prototype.wasShown):
        * inspector/front-end/IFrameView.js:
        (WebInspector.IFrameView):
        * inspector/front-end/ImageView.js:
        (WebInspector.ImageView.prototype.wasShown):
        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView.prototype.wasShown):
        (WebInspector.ResourceContentView.prototype.wasShown):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype.wasShown):
        (WebInspector.NetworkLogView.prototype.willHide):
        (WebInspector.NetworkPanel.prototype.wasShown):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel):
        (WebInspector.Panel.prototype.show):
        (WebInspector.Panel.prototype.wasShown):
        (WebInspector.Panel.prototype.willHide):
        * inspector/front-end/PanelEnablerView.js:
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileView.prototype.willHide):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.wasShown):
        (WebInspector.ProfilesPanel.prototype._addProfileHeader):
        (WebInspector.ProfilesPanel.prototype._updateInterface):
        (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
        * inspector/front-end/ResourceCookiesView.js:
        (WebInspector.ResourceCookiesView.prototype.wasShown):
        * inspector/front-end/ResourceHTMLView.js:
        (WebInspector.ResourceHTMLView.prototype.wasShown):
        (WebInspector.ResourceHTMLView.prototype.willHide):
        * inspector/front-end/ResourceJSONView.js:
        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.wasShown):
        * inspector/front-end/ResourceTimingView.js:
        (WebInspector.ResourceTimingView.prototype.wasShown):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.wasShown):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.wasShown):
        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.wasShown):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype.wasShown):
        (WebInspector.TimelinePanel.prototype.willHide):
        * inspector/front-end/View.js:
        (WebInspector.View):
        (WebInspector.View.prototype.get visible):
        (WebInspector.View.prototype.setHideOnDetach):
        (WebInspector.View.prototype._wasShown):
        (WebInspector.View.prototype._willHide):
        (WebInspector.View.prototype._onResize):
        (WebInspector.View.prototype.wasShown):
        (WebInspector.View.prototype.willHide):
        (WebInspector.View.prototype.onResize):
        (WebInspector.View.prototype.show):
        (WebInspector.View.prototype.detach):
        (WebInspector.View.prototype.doResize):
        (WebInspector.View.prototype.dispatchToSelfAndChildren):
        (WebInspector.View.prototype.dispatchToChildren):
        (WebInspector.View.prototype._handleInsertedIntoDocument):

2011-10-22  Kent Tamura  <tkent@chromium.org>

        REGRESSION(r92480): Passing uninitialized variable in HTMLElement::calculateAndAdjustDirectionality()
        https://bugs.webkit.org/show_bug.cgi?id=70582

        Reviewed by Darin Adler.

        No new tests. It's very hard to make a reliable test.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::directionality):
        Clear *strongDirectionalityTextNode even if hasStrongDirectionality is false.

2011-10-21  Dan Bernstein  <mitz@apple.com>

        Caret is drawn in the wrong place in multi-column blocks
        https://bugs.webkit.org/show_bug.cgi?id=70662

        Reviewed by Gavin Barraclough.

        * manual-tests/caret-in-columns.html: Added.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret): Removed the call to offsetForContents(). That function takes
        a point in local coordinates, whereas this function was applying it to a point in painting root
        coordinates. The desired effect was only to undo the scroll adjustment done by the caller,
        paintObject().
        (WebCore::RenderBlock::paintObject): Pass the original, rather than scroll-adjusted, paint offset
        to paintCaret().

2011-10-21  Nat Duca  <nduca@chromium.org>

        [chromium] Make setVisibility extension- and thread-correct
        https://bugs.webkit.org/show_bug.cgi?id=70635

        Reviewed by Kenneth Russell.

        * platform/graphics/chromium/Extensions3DChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initialize):
        (WebCore::LayerRendererChromium::setVisible):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::setVisible):

2011-10-21  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=70647
        Common but unreproducible crash under [ScrollbarPartAnimation setCurrentProgress:]
        -and corresponding-
        <rdar://problem/9542018>

        Reviewed by Sam Weinig.

        This patch implements two speculative fixes for this crash.

        First, block exceptions around all of the code responsible for calling 
        stopAnimation. If that code throws any exceptions, we want to make sure the other 
        animations are still stopped.
        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPartAnimation scrollAnimatorDestroyed]):
        (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):

        Only send AppKit these notifications for active pages. I originally made these 
        assertions, and I found that they were hit a surprising number of times. If we 
        only send notifications for active pages, then we should greatly reduce and 
        possibly eliminate our chances of hitting this crash.
        (WebCore::ScrollAnimatorMac::notifyPositionChanged):
        (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
        (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
        (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
        (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
        (WebCore::ScrollAnimatorMac::willStartLiveResize):
        (WebCore::ScrollAnimatorMac::contentsResized):
        (WebCore::ScrollAnimatorMac::willEndLiveResize):
        (WebCore::ScrollAnimatorMac::contentAreaDidShow):
        (WebCore::ScrollAnimatorMac::contentAreaDidHide):
        (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
        (WebCore::ScrollAnimatorMac::didEndScrollGesture):

2011-10-21  Mark Hahnenberg  <mhahnenberg@apple.com>

        Add put to the MethodTable
        https://bugs.webkit.org/show_bug.cgi?id=70439

        Reviewed by Oliver Hunt.

        No new tests.

        * WebCore.exp.in:
        * bindings/js/JSDOMWindowCustom.cpp: Added static put since it was overlooked in 
        previous patches.
        (WebCore::JSDOMWindow::putVirtual):
        (WebCore::JSDOMWindow::put):
        * bindings/js/JSDOMWindowShell.cpp: Ditto.
        (WebCore::JSDOMWindowShell::putVirtual):
        (WebCore::JSDOMWindowShell::put):
        * bindings/js/JSDOMWindowShell.h:

2011-10-21  Dmitry Lomov  <dslomov@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=70580
        [Chromium] Implement MessagePort transfer in chromium port of webkit.

        Reviewed by David Levin.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::V8ObjectMap::Writer::writeTransferredMessagePort):
        (WebCore::V8ObjectMap::Serializer::Serializer):
        (WebCore::V8ObjectMap::Serializer::doSerialize):
        (WebCore::V8ObjectMap::Reader::read):
        (WebCore::V8ObjectMap::Deserializer::Deserializer):
        (WebCore::V8ObjectMap::Deserializer::tryGetTransferredMessagePort):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        (WebCore::SerializedScriptValue::deserialize):

2011-10-21  Ojan Vafai  <ojan@chromium.org>

        r97693 caused 42 failures on the chromium mac bots
        https://bugs.webkit.org/show_bug.cgi?id=70300

        Can't test this until https://bugs.webkit.org/show_bug.cgi?id=70660
        is fixed. The fix for that bug will test this codepath as well though.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):

2011-10-21  Vineet Chaudhary  <vineet.chaudhary@motorola.com>

        Setting form.enctype reflected attribute behaves strangely.
        https://bugs.webkit.org/show_bug.cgi?id=44879

        Reviewed by Darin Adler.

        The spec says form.enctype should be application/x-www-form-urlencoded,
        So as "text", "plain", "multipart" or "form-data" these are not a valid value so must be ignored.

        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::Attributes::parseEncodingType):

2011-10-21  Matthew Delaney  <mdelaney@apple.com>

        Ensure periodic flushing of canvas drawing context
        https://bugs.webkit.org/show_bug.cgi?id=70646

        Reviewed by Simon Fraser.

        No new tests. No current way to track tests that cause hangs or
        non-deterministic drops in performance.

        * platform/graphics/cg/ImageBufferDataCG.h: Adds a timestamp of last tracked flush.
        * platform/graphics/cg/ImageBufferCG.cpp: Ensures periodic flushes on the drawing context.
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::context): Flushes context if we're beyond flush interval.
        (WebCore::ImageBuffer::copyNativeImage): Updates last flush timestamp.
        (WebCore::ImageBuffer::getUnmultipliedImageData): Updates last flush timestamp.
        (WebCore::ImageBuffer::getPremultipliedImageData): Updates last flush timestamp.
        (WebCore::ImageBuffer::putUnmultipliedImageData): Updates last flush timestamp.
        (WebCore::ImageBuffer::putPremultipliedImageData): Updates last flush timestamp.

2011-10-21  Adam Barth  <abarth@webkit.org>

        Introduce Event::hasInterface to make uses of interfaceName more readable
        https://bugs.webkit.org/show_bug.cgi?id=70652

        Reviewed by Eric Seidel.

        Eric felt that this approach would be more readable because it requires
        less syntax at each callsite.

        * bindings/js/JSErrorHandler.cpp:
        (WebCore::JSErrorHandler::handleEvent):
        * bindings/objc/DOMEvents.mm:
        (kitClass):
        * bindings/v8/V8WindowErrorHandler.cpp:
        (WebCore::V8WindowErrorHandler::callListenerFunction):
        * bindings/v8/V8WorkerContextErrorHandler.cpp:
        (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
        * dom/Event.cpp:
        (WebCore::Event::hasInterface):
        * dom/Event.h:
        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::determineDispatchBehavior):
        * dom/Node.cpp:
        (WebCore::Node::defaultEventHandler):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::defaultEventHandler):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::forwardEvent):
        (WebCore::TextFieldInputType::shouldSubmitImplicitly):
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::handleEvent):

2011-10-21  Adam Klein  <adamk@chromium.org>

        [MutationObservers] Implement basic subtree observation
        https://bugs.webkit.org/show_bug.cgi?id=70436

        Reviewed by Ryosuke Niwa.

        Note that this patch only implements "basic" subtree semantics,
        not the fully robust semantics described in
        http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html.
        Most importantly, this change does not handle the case where mutations
        occur in a temporarily detached subtree.

        The plan is to implement those semantics in a followup to avoid
        blocking other parts of the MutationObserver spec that rely on
        the existence of subtree observation but not its specific
        implementation.

        Test: fast/mutation/observe-subtree.html

        * dom/Node.cpp:
        (WebCore::addMatchingObservers): Static helper method for registeredMutationObserversOfType().
        (WebCore::Node::registeredMutationObserversOfType): Walk up the tree looking for observers.
        * dom/NodeRareData.h:
        (WebCore::MutationObserverEntry::hasAllOptions): A stricter, renamed from matches().

2011-10-21  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: objectStore.transaction property should be readonly
        https://bugs.webkit.org/show_bug.cgi?id=62395

        Reviewed by Tony Chang.

        Implement the IDBObjectStore.transaction property defined by the spec.

        Test: storage/indexeddb/readonly-properties.html

        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::transaction):
        * storage/IDBObjectStore.h:
        * storage/IDBObjectStore.idl:

2011-10-21  Adam Barth  <abarth@webkit.org>

        Event.h has too many virtual isMumbleEvent() functions
        https://bugs.webkit.org/show_bug.cgi?id=70636

        Reviewed by Dimitri Glazkov.

        We should use the new interfaceName() way of doing run-time type inference.

        * bindings/js/JSErrorHandler.cpp:
        (WebCore::JSErrorHandler::handleEvent):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::JSEvent::clipboardData):
        * bindings/objc/DOMEvents.mm:
        (kitClass):
        * bindings/v8/V8WindowErrorHandler.cpp:
        (WebCore::V8WindowErrorHandler::callListenerFunction):
        * bindings/v8/V8WorkerContextErrorHandler.cpp:
        (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::V8Event::clipboardDataAccessorGetter):
        * dom/BeforeLoadEvent.h:
        (WebCore::BeforeLoadEvent::interfaceName):
        * dom/BeforeTextInsertedEvent.h:
        * dom/ClipboardEvent.cpp:
        * dom/ClipboardEvent.h:
        * dom/CompositionEvent.cpp:
        * dom/CompositionEvent.h:
        * dom/ErrorEvent.cpp:
        * dom/ErrorEvent.h:
        * dom/Event.cpp:
        (WebCore::Event::storesResultAsString):
        (WebCore::Event::storeResult):
        (WebCore::Event::clipboardData):
        * dom/Event.h:
        * dom/Event.idl:
            - Remove this interface from the CPP bindings because this function
              no longer exists.  It's unclear to me how strong our API
              commitments are in the CPP bindings.
        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::determineDispatchBehavior):
        * dom/MessageEvent.cpp:
        * dom/MessageEvent.h:
        * dom/MutationEvent.cpp:
        * dom/MutationEvent.h:
        * dom/Node.cpp:
        (WebCore::Node::defaultEventHandler):
        * dom/OverflowEvent.cpp:
        * dom/OverflowEvent.h:
        * dom/PageTransitionEvent.h:
        * dom/ProgressEvent.h:
        * dom/TextEvent.cpp:
        * dom/TextEvent.h:
        * dom/WheelEvent.cpp:
        * dom/WheelEvent.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::defaultEventHandler):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::forwardEvent):
        (WebCore::TextFieldInputType::shouldSubmitImplicitly):
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerTextElement::defaultEventHandler):
        * svg/SVGZoomEvent.cpp:
        * svg/SVGZoomEvent.h:

2011-10-21  Raymond Toy  <rtoy@google.com>

        Flush denormals in Biquad, ZeroPole, and DynamicsCompressor.

        We only flush when saving the state variables instead of in the
        loops so that we don't impact performance too much when there are
        no denormals.  This will at least not propagate the denormals any
        further within the class.
        
        https://bugs.webkit.org/show_bug.cgi?id=70626

        Reviewed by Kenneth Russell.

        * platform/audio/Biquad.cpp:
        (WebCore::Biquad::process):
        Flush denormals when storing the filter state back in to class
        filter state.  
        * platform/audio/DynamicsCompressorKernel.cpp:
        (WebCore::DynamicsCompressorKernel::process):
        Ditto.
        * platform/audio/ZeroPole.cpp:
        (WebCore::ZeroPole::process):
        Ditto.

2011-10-21  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Advanced search results should be cleared on navigation.
        https://bugs.webkit.org/show_bug.cgi?id=70627

        Reviewed by Pavel Feldman.

        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.AdvancedSearchController):
        (WebInspector.AdvancedSearchController.prototype._frameNavigated):

2011-10-21  Rafael Weinstein  <rafaelw@chromium.org>

        [MutationObservers] Implement WebKitMutationObserver.observe for childList changes
        https://bugs.webkit.org/show_bug.cgi?id=68955

        Reviewed by Ryosuke Niwa.

        This patch adds a ChildListMutationScope object which manages the coalescing of
        multiple child removals and additions within DOM operations into single childList
        mutation records.

        Note that this patch doesn't cover all the cases which can be coalesced (it only
        covers ContainerNode.*, and Node.innerHTML/innerText). A separate bug,
        https://bugs.webkit.org/show_bug.cgi?id=70385, has been opened to track the
        remaining cases.

        Test: fast/mutation/observe-childList.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ChildListMutationScope.cpp: Added.
        (WebCore::ChildListAccumulation::ChildListAccumulation::ChildListAccumulation):
        (WebCore::ChildListAccumulation::ChildListAccumulation::~ChildListAccumulation):
        (WebCore::ChildListAccumulation::ChildListAccumulation::childAdded):
        (WebCore::ChildListAccumulation::ChildListAccumulation::willRemoveChild):
        (WebCore::ChildListAccumulation::ChildListAccumulation::dispatch):
        (WebCore::ChildListAccumulation::ChildListAccumulation::clear):
        (WebCore::ChildListAccumulation::ChildListAccumulation::isEmpty):
        (WebCore::ChildListAccumulation::ChildListAccumulator::ChildListAccumulator):
        (WebCore::ChildListAccumulation::ChildListAccumulator::~ChildListAccumulator):
        (WebCore::ChildListAccumulation::ChildListAccumulator::initialize):
        (WebCore::ChildListAccumulation::ChildListAccumulator::instance):
        (WebCore::ChildListAccumulation::ChildListAccumulator::childAdded):
        (WebCore::ChildListAccumulation::ChildListAccumulator::willRemoveChild):
        (WebCore::ChildListAccumulation::ChildListAccumulator::incrementScopingLevel):
        (WebCore::ChildListAccumulation::ChildListAccumulator::decrementScopingLevel):
        (WebCore::ChildListMutationScope::ChildListMutationScope):
        (WebCore::ChildListMutationScope::~ChildListMutationScope):
        (WebCore::ChildListMutationScope::childAdded):
        (WebCore::ChildListMutationScope::willRemoveChild):
        * dom/ChildListMutationScope.h: Added.
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::willRemoveChildren):
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/Element.cpp:
        (WebCore::enqueueAttributesMutationRecord):
        * dom/Node.cpp:
        (WebCore::Node::setTextContent):
        (WebCore::Node::registeredMutationObserversOfType):
        * dom/WebKitMutationObserver.cpp:
        (WebCore::WebKitMutationObserver::disconnect):
        * html/HTMLElement.cpp:
        (WebCore::replaceChildrenWithFragment):
        (WebCore::replaceChildrenWithText):

2011-10-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98079.
        http://trac.webkit.org/changeset/98079
        https://bugs.webkit.org/show_bug.cgi?id=70624

        The extensions tests enabled are failing on the Chromium Win
        Dbg bot (Requested by jchaffraix on #webkit).

        * inspector/front-end/ExtensionAPI.js:
        (buildExtensionAPIInjectedScript):

2011-10-21  Dan Bernstein  <mitz@apple.com>

        Column rules positioned incorrectly in vertical-rl block with horizontal border or padding
        https://bugs.webkit.org/show_bug.cgi?id=70622

        Reviewed by Beth Dakin.

        Tests: fast/multicol/vertical-lr/rules-with-border-before.html
               fast/multicol/vertical-rl/rules-with-border-before.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintColumnRules): Changed to use the physical left border and padding for the
        left edge of the horizontal column rule.

2011-10-21  Simon Fraser  <simon.fraser@apple.com>

        Fix Windows build.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers):

2011-10-21  Devdatta Deshpande  <pwjd73@motorola.com>

        [Gtk] mousemove event always has metaKey == true
        https://bugs.webkit.org/show_bug.cgi?id=35299

        Reviewed by Martin Robinson.

        GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
        the meta key state. Use GDK_META_MASK instead.

        Test: platform/gtk/fast/events/event-sender-metakey.html

        * platform/gtk/PlatformMouseEventGtk.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

2011-10-21  Andreas Kling  <kling@webkit.org>

        Style and Link elements' sheet() should return CSSStyleSheet.
        https://bugs.webkit.org/show_bug.cgi?id=70608

        Reviewed by Antti Koivisto.

        Return a CSSStyleSheet* instead of a StyleSheet* in these functions
        since we know they are always CSSStyleSheets.
        Also remove some now-unnecessary isCSSStyleSheet() checks.

        * dom/StyleElement.h:
        (WebCore::StyleElement::sheet):
        * html/HTMLLinkElement.cpp:
        * html/HTMLLinkElement.h:
        (WebCore::HTMLLinkElement::sheet):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::serializeFrame):

2011-10-21  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Advanced search is working very slowly and does not show searching progress.
        https://bugs.webkit.org/show_bug.cgi?id=70611

        Search implementation changed so that we do not start searching in the next file unless
        the previous one was already searched. This allows to interrupt search.
        Not all search matches are added on UI by default now, only first 20 for each file.
        Search progress information and search stop button were added to drawer status bar.

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
        (WebCore::ContentSearchUtils::countRegularExpressionMatches):
        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.AdvancedSearchController.prototype._onSearchResult):
        (WebInspector.AdvancedSearchController.prototype._onSearchFinished):
        (WebInspector.AdvancedSearchController.prototype.startSearch):
        (WebInspector.AdvancedSearchController.prototype.resetSearch):
        (WebInspector.AdvancedSearchController.prototype.stopSearch):
        (WebInspector.SearchView):
        (WebInspector.SearchView.prototype.get statusBarItems):
        (WebInspector.SearchView.prototype.get counterElement):
        (WebInspector.SearchView.prototype.set resultsPane):
        (WebInspector.SearchView.prototype.searchStarted):
        (WebInspector.SearchView.prototype._updateSearchResultsMessage):
        (WebInspector.SearchView.prototype._updateSearchProgress):
        (WebInspector.SearchView.prototype.resetResults):
        (WebInspector.SearchView.prototype._resetCounters):
        (WebInspector.SearchView.prototype.nothingFound):
        (WebInspector.SearchView.prototype.addSearchResult):
        (WebInspector.SearchView.prototype.searchFinished):
        (WebInspector.SearchView.prototype._searchStopButtonPressed):
        (WebInspector.SearchResultsPane):
        (WebInspector.FileBasedSearchResultsPane):
        (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
        (WebInspector.FileBasedSearchResultsPane.prototype._fileTreeElementExpanded):
        (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
        (WebInspector.FileBasedSearchResultsPane.prototype._appendShowMoreMatchesElement):
        (WebInspector.FileBasedSearchResultsPane.prototype._showMoreMatchesElementSelected):
        (WebInspector.FileBasedSearchResultsPane.prototype._addFileTreeElement):
        (WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype.hide):
        * inspector/front-end/Images/statusbarButtonGlyphs.png:
        * inspector/front-end/ScriptsSearchScope.js:
        (WebInspector.ScriptsSearchScope):
        (WebInspector.ScriptsSearchScope.prototype.performSearch.filterOutContentScripts):
        (WebInspector.ScriptsSearchScope.prototype.performSearch.continueSearch):
        (WebInspector.ScriptsSearchScope.prototype.performSearch.searchCallbackWrapper):
        (WebInspector.ScriptsSearchScope.prototype.performSearch):
        (WebInspector.ScriptsSearchScope.prototype.stopSearch):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._registerShortcuts):
        * inspector/front-end/inspector.css:
        (#drawer-status-bar .search-status-bar-item):
        (#drawer-status-bar .search-status-bar-message):
        (#drawer-status-bar .search-status-bar-progress):
        (#drawer-status-bar .search-status-bar-stop-button-item):
        (#drawer-status-bar .search-status-bar-stop-button .glyph):
        (#drawer-status-bar .search-results-status-bar-message):
        (.search-view .search-results):
        (#search-results-pane-file-based .search-results-outline-disclosure):
        (#search-results-pane-file-based .search-result):
        (#search-results-pane-file-based .search-result:hover):
        (#search-results-pane-file-based .show-more-matches):
        (#search-results-pane-file-based .show-more-matches:hover):
        (#search-results-pane-file-based .search-match:hover):
        * inspector/front-end/utilities.js:
        ():

2011-10-20  Zhenyao Mo  <zmo@google.com>

        Implement mechanism to enable privileged webgl extensions
        https://bugs.webkit.org/show_bug.cgi?id=70538

        Reviewed by Darin Fisher.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::allowPrivilegedExtensions): check page/Settings flag.
        * page/Settings.cpp: Add the flag.
        (WebCore::Settings::Settings):
        (WebCore::Settings::setPrivilegedWebGLExtensionsEnabled):
        * page/Settings.h: Ditto.
        (WebCore::Settings::privilegedWebGLExtensionsEnabled):

2011-10-20  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: first line in file is not highlighted.
        https://bugs.webkit.org/show_bug.cgi?id=70504

        Reviewed by Pavel Feldman.

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._initializeTextViewer):

2011-10-21  Andreas Kling  <kling@webkit.org>

        Simplify CSSStyleRule::setSelectorText().
        https://bugs.webkit.org/show_bug.cgi?id=70607

        Reviewed by Antti Koivisto.

        Remove unnecessary isCSSStyleSheet() check and redundant Document finding
        logic (CSSStyleSheet::document() will return the owner node's Document just
        like this code would.)

        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):

2011-10-21  Alejandro G. Castro  <alex@igalia.com>

        [cairo] Forward declaration of GraphicsContextState uses class instead of struct
        https://bugs.webkit.org/show_bug.cgi?id=70522

        The type is a struct not a class, replace the definition in the
        forward declaration.

        Reviewed by Martin Robinson.

        * platform/graphics/cairo/PlatformContextCairo.h:

2011-10-20  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: make extension tests pass on chromium
        https://bugs.webkit.org/show_bug.cgi?id=70334

        Reviewed by Pavel Feldman.

        * inspector/front-end/ExtensionAPI.js:
        (buildExtensionAPIInjectedScript):

2011-10-20  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: reimplement protocol backend/frontend source generator
        https://bugs.webkit.org/show_bug.cgi?id=69295

        Reviewed by Pavel Feldman.

        Old 2-stage python+perf generator that uses intermediate IDL output is
        being replaced with a solid python script. This is for simplicity and
        as a base for the future JSON validator.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * inspector/CodeGeneratorInspector.pm: Removed.
        * inspector/CodeGeneratorInspector.py: Added.
        * inspector/Inspector.json:
        * inspector/generate-inspector-idl: Removed.

2011-10-20  Adam Barth  <abarth@webkit.org>

        Attemp to fix a bunch of tests PLATFORM(MAC).  We can't use a static
        map because that's shared between threads (and events exist in worker
        threads).  It migh be better to add a thread-specific map, but we can
        do that in another patch.

        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):

2011-10-20  Simon Fraser  <simon.fraser@apple.com>

        Hidden composited iframes cause infinite loop
        https://bugs.webkit.org/show_bug.cgi?id=52655

        Reviewed by Darin Adler.
        
        visibility:hidden is problematic for compositing, because it causes
        RenderLayers to be removed from the z-order layer tree. This confuses
        RenderLayerCompositor in several ways; it never sees these layers
        when traversing the tree as it computes compositing requirements, or
        rebuilds the layer tree.
        
        This is a particular problem with composited iframes. When an iframe
        becomes composited, scheduleSetNeedsStyleRecalc() is called on that
        iframe's ownerElement in the parent document. If this happens inside
        Document::updateStyleForAllDocuments(), we get into an infinite loop
        because notifyIFramesOfCompositingChange() queues up style update as we
        bounce in and out of compositing mode, so documentsThatNeedStyleRecalc
        never empties out.
        
        This is an initial, conservative fix that doesn't attempt to fix all
        the issues with visibility. It changes RenderLayerCompositor to count
        the number of compositing RenderLayers, and to not leave compositing
        mode if there are any (even if they are hidden, so not hit while
        traversing the z-order tree). This avoids the infinite loop.

        Test: compositing/visibility/hidden-iframe.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::ensureBacking):
        (WebCore::RenderLayer::clearBacking):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers):
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::layerBecameComposited):
        (WebCore::RenderLayerCompositor::layerBecameNonComposited):

2011-10-20  Antoine Labour  <piman@chromium.org>

        Make WebCore depend on translator_glsl instead of translator_common
        https://bugs.webkit.org/show_bug.cgi?id=70548

        Reviewed by Kenneth Russell.

        This is a build-only fix. Tested by checking WebKit still compiles and
        link.

        * WebCore.gyp/WebCore.gyp:

2011-10-20  Dana Jansens  <danakj@chromium.org>

        [Chromium] Fix opaque flag default and for ImageLayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=70554

        Reviewed by James Robinson.

        Covered by layout tests.

        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::setContents): Set opaque flag based on if the image claims to have alpha.
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium): Match the default opaque value in GraphicsLayerChromium.

2011-10-20  Yosifumi Inoue  <yosin@chromium.org>

        [Forms][File] Add tooltip to "No file selected" text
        https://bugs.webkit.org/show_bug.cgi?id=70474

        Reviewed by Kent Tamura.

        No new tests. Existing tests cover all changes.

        This patch provides tooltip for text portion of upload file control
        tell users to know actual text of truncated text of file name and
        "No file selected" text. Tooltip is always displayed even if user
        select only one file for truncated displayed file name.

        * html/FileInputType.cpp:
        (WebCore::FileInputType::defaultToolTip): Implement default tooltip logic.
        * html/FileInputType.h: declaration of new method defaultToolTip.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultToolTip): Impelement new method defaultToolTip.
        * html/HTMLInputElement.h: declaration of new method defaultToolTip.
        * html/InputType.cpp:
        (WebCore::InputType::defaultToolTip): Implement default method of defaultToolTip method.
        * html/InputType.h: declaration of new method defaultToolTip.
        * page/Chrome.cpp:
        (WebCore::Chrome::setToolTip): Use new method HTMLInputElement::defaultToolTip and move default tooltip logic to FileInputType::defaultToolTip method.

2011-10-20  Darin Adler  <darin@apple.com>

        Remove OptionElement (first half)
        https://bugs.webkit.org/show_bug.cgi?id=70276

        Reviewed by Kent Tamura.

        Refactoring that does not require new tests.

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector): Use hasTagName
        and toHTMLOptionElement instead of toOptionElement.

        * dom/OptionElement.cpp: Deleted contents. Remove file later.
        * dom/OptionElement.h: Ditto.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::HTMLOptionElement): Initialize m_isSelected.
        (WebCore::HTMLOptionElement::createForJSConstructor): Initialize the
        selected attribute rather than calling setDefaultSelected.
        (WebCore::HTMLOptionElement::text): Moved the code here from
        OptionElement::collectOptionLabelOrText.
        (WebCore::HTMLOptionElement::index): Moved the code here from
        OptionElement::optionIndex.
        (WebCore::HTMLOptionElement::parseMappedAttribute): Removed unneeded
        code to call setValue and setLabel. Changed the code that called
        setSelected to instead set m_isSelected and added a FIXME about why
        that's probably wrong, but same behavior as before.
        (WebCore::HTMLOptionElement::value): Moved the code here from
        OptionElement::collectOptionValue. Added a FIXME about incorrect
        whitespace stripping.
        (WebCore::HTMLOptionElement::selected): Use m_isSelected.
        (WebCore::HTMLOptionElement::setSelected): Use m_isSelected and
        call setSelectedState instead of OptionElement::setSelectedState.
        (WebCore::HTMLOptionElement::setSelectedState): Moved the code
        here from OptionElement::setSelectedState.
        (WebCore::HTMLOptionElement::label): Streamlined the code.
        (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
        Moved the code here from OptionElement::collectOptionTextRespectingGroupLabel.
        (WebCore::HTMLOptionElement::insertedIntoTree): Use m_isSelected
        and rewrote comment for clarity.
        (WebCore::HTMLOptionElement::collectOptionInnerText): Moved this
        here from OptionElement, and changed to use StringBuilder.
        (WebCore::toHTMLOptionElement): Added.

        * html/HTMLOptionElement.h: Removed OptionElement.h include.
        Removed OptionElement base class. Removed unneeded friend declarations.
        Made value and selected functions non-virtual. Removed unneeded
        defaultSelected and setDefaultSelected functions. Made the
        textIndentedToRespectGroupLabel and setSelectedState functions
        be non-virtual and public. Added a collectOptionInnerText function.
        Replaced m_data with m_value, m_label, and m_selected.

        * html/HTMLSelectElement.cpp:
        (WebCore::toOptionElement): Added. Helper to keep existing code
        close to the same.
        (WebCore::HTMLSelectElement::nextValidIndex): Use hasTagName
        instead of isOptionElement.
        (WebCore::HTMLSelectElement::saveLastSelection): Use HTMLOptionElement
        type instead of OptionElement.
        (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
        (WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
        (WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
        (WebCore::HTMLSelectElement::recalcListItems): Ditto.
        (WebCore::HTMLSelectElement::selectedIndex): Ditto.
        (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
        (WebCore::HTMLSelectElement::optionToListIndex): Ditto.
        (WebCore::HTMLSelectElement::listToOptionIndex): Ditto.
        (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
        (WebCore::HTMLSelectElement::saveFormControlState): Ditto.
        (WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
        (WebCore::HTMLSelectElement::appendFormData): Ditto.
        (WebCore::HTMLSelectElement::reset): Ditto.
        (WebCore::HTMLSelectElement::updateSelectedState): Ditto.
        (WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
        (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
        (WebCore::HTMLSelectElement::length): Ditto.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement): Use HTMLOptionElement,
        hasTagName, and toHTMLOptionElement.
        (WebCore::RenderListBox::addFocusRingRects): Ditto.
        (WebCore::RenderListBox::paintItemForeground): Ditto.
        (WebCore::RenderListBox::paintItemBackground): Ditto.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateOptionsWidth): Ditto.
        (WebCore::RenderMenuList::setTextFromOption): Ditto.
        (WebCore::RenderMenuList::itemText): Ditto.
        (WebCore::RenderMenuList::itemIsSelected): Ditto.

2011-10-20  Adam Barth  <abarth@webkit.org>

        Attempt to fix crash for infinite recursion.

        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):

2011-10-20  Dirk Pranke  <dpranke@chromium.org>

        Still lots of crashes in the chromium debug bots.

        Unreviewed, rolling out r97982.
        http://trac.webkit.org/changeset/97982
        https://bugs.webkit.org/show_bug.cgi?id=70328

        crashing in asserts in chromium debug builds

        * dom/DeviceMotionController.cpp:
        (WebCore::DeviceMotionController::timerFired):
        (WebCore::DeviceMotionController::addListener):
        (WebCore::DeviceMotionController::removeListener):
        (WebCore::DeviceMotionController::removeAllListeners):
        * dom/DeviceMotionController.h:
        * dom/DeviceOrientationController.cpp:
        * dom/DeviceOrientationController.h:
        * dom/Document.cpp:
        * dom/Document.h:
        * dom/ScriptExecutionContext.h:
        * page/GeolocationController.cpp:
        * page/GeolocationController.h:

2011-10-20  Adam Barth  <abarth@webkit.org>

        Attempt to fix the GTK build.

        * GNUmakefile.am:

2011-10-20  Adam Barth  <abarth@webkit.org>

        CloseEvent.idl isn't conditional on WebSockets.

        * dom/EventFactory.in:

2011-10-20  Adam Barth  <abarth@webkit.org>

        Event.h shouldn't need to know about every ifdef and feature that uses events
        https://bugs.webkit.org/show_bug.cgi?id=70483

        Reviewed by Eric Seidel.

        This patch expands make_event_factory.pl to create a
        DOM_EVENT_INTERFACES_FOR_EACH macro that we can use to generate code
        for each Event interface.  We then apply that macro to removing a large
        number of virtual functions on Event.  Instead of having a Boolean
        virtual function for each subclass of Event, we have a single virtual
        interfaceName function, which returns an AtomicString.  We then use the
        AtomicString to jump through a HashMap to find the appropriate
        JavaScript wrapper type.

        This patch does not remove all of the Boolean virtual functions because
        I got exhausted making all of these edits, but I did remove all the
        ones that involve ifdefs.  A future patch will remove more.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/BeforeLoadEvent.h:
        (WebCore::BeforeLoadEvent::interfaceName):
        (WebCore::BeforeLoadEvent::isBeforeLoadEvent):
        * dom/BeforeTextInsertedEvent.cpp:
        (WebCore::BeforeTextInsertedEvent::interfaceName):
        * dom/BeforeTextInsertedEvent.h:
        * dom/ClipboardEvent.cpp:
        (WebCore::ClipboardEvent::interfaceName):
        * dom/ClipboardEvent.h:
        * dom/CompositionEvent.cpp:
        (WebCore::CompositionEvent::interfaceName):
        * dom/CompositionEvent.h:
        * dom/CustomEvent.cpp:
        (WebCore::CustomEvent::interfaceName):
        * dom/CustomEvent.h:
        * dom/DeviceMotionEvent.cpp:
        (WebCore::DeviceMotionEvent::interfaceName):
        * dom/DeviceMotionEvent.h:
        * dom/DeviceOrientationEvent.cpp:
        (WebCore::DeviceOrientationEvent::interfaceName):
        * dom/DeviceOrientationEvent.h:
        * dom/ErrorEvent.cpp:
        (WebCore::ErrorEvent::interfaceName):
        * dom/ErrorEvent.h:
        * dom/Event.cpp:
        (WebCore::Event::interfaceName):
        * dom/Event.h:
        * dom/EventNames.cpp:
        (WebCore::EventNames::EventNames):
        * dom/EventNames.h:
        * dom/HashChangeEvent.h:
        (WebCore::HashChangeEvent::interfaceName):
        * dom/KeyboardEvent.cpp:
        (WebCore::KeyboardEvent::interfaceName):
        * dom/KeyboardEvent.h:
        * dom/MessageEvent.cpp:
        (WebCore::MessageEvent::interfaceName):
        * dom/MessageEvent.h:
        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::interfaceName):
        * dom/MouseEvent.h:
        * dom/MutationEvent.cpp:
        (WebCore::MutationEvent::interfaceName):
        * dom/MutationEvent.h:
        * dom/OverflowEvent.cpp:
        (WebCore::OverflowEvent::interfaceName):
        * dom/OverflowEvent.h:
        * dom/PageTransitionEvent.cpp:
        (WebCore::PageTransitionEvent::interfaceName):
        * dom/PageTransitionEvent.h:
        * dom/PopStateEvent.cpp:
        (WebCore::PopStateEvent::interfaceName):
        * dom/PopStateEvent.h:
        * dom/ProgressEvent.cpp:
        (WebCore::ProgressEvent::interfaceName):
        * dom/ProgressEvent.h:
        * dom/TextEvent.cpp:
        (WebCore::TextEvent::interfaceName):
        * dom/TextEvent.h:
        * dom/TouchEvent.cpp:
        (WebCore::TouchEvent::interfaceName):
        * dom/TouchEvent.h:
        * dom/UIEvent.h:
        * dom/WebKitAnimationEvent.cpp:
        (WebCore::WebKitAnimationEvent::interfaceName):
        * dom/WebKitAnimationEvent.h:
        * dom/WebKitTransitionEvent.cpp:
        (WebCore::WebKitTransitionEvent::interfaceName):
        * dom/WebKitTransitionEvent.h:
        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::interfaceName):
        * dom/WheelEvent.h:
        * dom/make_event_factory.pl:
        (printFactoryFile):
        (printMacroFile):
        (printHeadersFile):
        * html/canvas/WebGLContextEvent.cpp:
        (WebCore::WebGLContextEvent::interfaceName):
        * html/canvas/WebGLContextEvent.h:
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::handleEvent):
        * p2p/MediaStreamEvent.cpp:
        (WebCore::MediaStreamEvent::interfaceName):
        * p2p/MediaStreamEvent.h:
        * page/SpeechInputEvent.cpp:
        (WebCore::SpeechInputEvent::interfaceName):
        * page/SpeechInputEvent.h:
        * storage/IDBVersionChangeEvent.cpp:
        (WebCore::IDBVersionChangeEvent::interfaceName):
        * storage/IDBVersionChangeEvent.h:
        * storage/StorageEvent.cpp:
        (WebCore::StorageEvent::interfaceName):
        * storage/StorageEvent.h:
        * svg/SVGZoomEvent.cpp:
        (WebCore::SVGZoomEvent::interfaceName):
        * svg/SVGZoomEvent.h:
        * webaudio/AudioProcessingEvent.cpp:
        (WebCore::AudioProcessingEvent::interfaceName):
        * webaudio/AudioProcessingEvent.h:
        * webaudio/OfflineAudioCompletionEvent.cpp:
        (WebCore::OfflineAudioCompletionEvent::interfaceName):
        * webaudio/OfflineAudioCompletionEvent.h:
        * websockets/CloseEvent.h:
        (WebCore::CloseEvent::interfaceName):
        * xml/XMLHttpRequestProgressEvent.h:
        (WebCore::XMLHttpRequestProgressEvent::interfaceName):

2011-10-20  Nat Duca  <nduca@chromium.org>

        [chromium] Route onSwapBuffersComplete from LayerRenderer to CCScheduler.

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::create):
        (WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::~LayerRendererSwapBuffersCompleteCallbackAdapter):
        (WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
        (WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::LayerRendererSwapBuffersCompleteCallbackAdapter):
        (WebCore::LayerRendererChromium::initialize):
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::swapBuffers):
        (WebCore::LayerRendererChromium::onSwapBuffersComplete):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::onSwapBuffers):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::swapBuffers):
        (WebCore::CCLayerTreeHostImpl::onSwapBuffersComplete):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        * platform/graphics/chromium/cc/CCScheduler.cpp:
        (WebCore::CCScheduler::requestRedraw):
        (WebCore::CCScheduler::didDrawAndSwap):
        (WebCore::CCScheduler::didSwapBuffersComplete):
        (WebCore::CCScheduler::didSwapBuffersAbort):
        * platform/graphics/chromium/cc/CCScheduler.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::compositeImmediately):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore::CCSingleThreadProxy::onSwapBuffersCompleteOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxySchedulerClient::scheduleDrawAndSwap):
        (WebCore::CCThreadProxy::drawLayersAndReadbackOnImplThread):
        (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
        (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
        (WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
        (WebCore::CCThreadProxy::drawLayersOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:

2011-10-20  Julien Chaffraix  <jchaffraix@webkit.org>

        RenderDeprecatedFlexibleBox does not call its children's layout method
        https://bugs.webkit.org/show_bug.cgi?id=64842

        Reviewed by David Hyatt.

        Tests: fast/flexbox/021-vertical.html
               fast/flexbox/crash-flexbox-no-layout-child.html

        The FlexBoxIterator would skip any child with visibility: collapsed. However those child
        would need layout but their layout() function would never be called.

        This change refactors the way flexible box handles visibility: collapsed child and mark sure
        their layout() function is called but makes sure that they don't participate in the flex box
        dimensions.

        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::FlexBoxIterator::next): Do not skip visibility: collapsed child.
        (WebCore::childDoesNotAffectWidthOrFlexing): Helper function.

        (WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
        (WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
        (WebCore::gatherFlexChildrenInfo):
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
        (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
        Updated to skip the now seen visibility: collapsed child during the
        iteration.

2011-10-20  Raymond Toy  <rtoy@google.com>

        Implement SSE denormal disabler for windows.

        https://bugs.webkit.org/show_bug.cgi?id=70517

        Reviewed by Kenneth Russell.

        * platform/audio/DenormalDisabler.h:
        (WebCore::DenormalDisabler::DenormalDisabler):
        Add implementation for Windows.
        (WebCore::DenormalDisabler::~DenormalDisabler):
        Ditto.
        (WebCore::DenormalDisabler::flushDenormalFloatToZero):
        Unify Windows with mac/linux.
        (WebCore::DenormalDisabler::getCSR):
        Define only if we're not on Windows.
        (WebCore::DenormalDisabler::setCSR):
        Ditto.

2011-10-20  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r96823): Contextual menu closes immediately when control-clicking in Flash plug-in
        https://bugs.webkit.org/show_bug.cgi?id=70534
        <rdar://problem/10308827>

        Reviewed by Darin Adler.

        * plugins/PluginView.cpp: (WebCore::PluginView::handleEvent): Return true for contextmenu
        event, so that plug-ins won't get a default WebKit context menu. We can't know if the
        plug-in is handling mousedown (or even mouseup) by displaying a menu.

2011-10-17  Nat Duca  <nduca@chromium.org>

        [chromium] Allow CCLayerTreeHostImpl to call back to proxy via CCLayerTreeHostImplClient
        https://bugs.webkit.org/show_bug.cgi?id=70291

        Reviewed by James Robinson.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::create):
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        * platform/graphics/chromium/cc/CCScrollController.h:
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::start):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        (WebCore::CCSingleThreadProxy::setNeedsRedrawOnImplThread):
        (WebCore::CCSingleThreadProxy::setNeedsCommitOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::scrollRootLayerOnImplThread):
        (WebCore::CCThreadProxy::initializeImplOnCCThread):
        (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
        (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
        (WebCore::CCThreadProxy::setNeedsCommitOnImplThread):

2011-10-20  Tony Chang  <tony@chromium.org>

        fix repaint bugs in new flexbox
        https://bugs.webkit.org/show_bug.cgi?id=70450

        Reviewed by David Hyatt.

        Test: css3/flexbox/repaint.html
              css3/flexbox/repaint-rtl-column.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): Use LayoutRepainter and LayoutStateMaintainer
            to repaint the flexbox.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
        (WebCore::RenderFlexibleBox::adjustLocationLogicalTopForChild): Use repaintDuringLayoutIfMoved
            when changing the alignment of a child to handle the child moving.

2011-10-20  Dan Bernstein  <mitz@apple.com>

        Flipped-blocks writing mode blocks do not hit test their overflow
        https://bugs.webkit.org/show_bug.cgi?id=70546

        Reviewed by Sam Weinig.

        Test: fast/writing-mode/flipped-blocks-hit-test-overflow.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint): Flip the overflow rect if necessary.

2011-10-20  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=70539
        
        Make the 'clip' property work in variable width regions.

        Reviewed by Dan Bernstein.

        Added new test in fast/regions.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::clipRect):
        * rendering/RenderBox.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateClipRects):
        (WebCore::RenderLayer::calculateRects):
        (WebCore::RenderLayer::repaintBlockSelectionGaps):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::clipBox):

2011-10-20  Simon Fraser  <simon.fraser@apple.com>

        Fix build breakage on some platforms after r98008.

        * page/FrameTree.cpp:

2011-10-20  Vincent Scheib  <scheib@chromium.org>

        MouseLock compile and run time flags.
        https://bugs.webkit.org/show_bug.cgi?id=70530

        Reviewed by Darin Fisher.

        No new tests.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitMouseLockAPIEnabled):
        (WebCore::RuntimeEnabledFeatures::setWebkitMouseLockAPIEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitLockMouseEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitUnlockMouseEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitMouseLockedEnabled):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setMouseLockEnabled):
        (WebCore::Settings::mouseLockEnabled):

2011-10-20  Tony Chang  <tony@chromium.org>

        Fix a compiler warning in MediaStreamTrack.cpp:
        ../../third_party/WebKit/Source/WebCore/dom/MediaStreamTrack.cpp: In member function 'WTF::String WebCore::MediaStreamTrack::kind() const':
        ../../third_party/WebKit/Source/WebCore/dom/MediaStreamTrack.cpp:61:1: error: control reaches end of non-void function [-Werror=return-type]

        Unreviewed build fix.

        * dom/MediaStreamTrack.cpp:
        (WebCore::MediaStreamTrack::kind):

2011-10-20  Gustavo Noronha Silva  <gns@gnome.org>

        One more GTK+ build fix. Remove CueLoader files from the build.

        * GNUmakefile.list.am:

2011-10-20  Ken Buchanan <kenrb@chromium.org>

        Crash in updateFirstLetter on :after generated content
        https://bugs.webkit.org/show_bug.cgi?id=70031

        Reviewed by David Hyatt.

        Preventing findBeforeAfterParent() from returning a first-letter block and overwriting its style.
        Instead, it returns the block's parent.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::findBeforeAfterParent)
        (WebCore::RenderObjectChildList::updateBeforeAfterContent): First-letter siblings now already have style applied, so this clause is redundant

2011-10-20  Simon Fraser  <simon.fraser@apple.com>

        Add a way to print the Frame tree from the debugger.

        Reviewed by Sam Weinig.
        
        Add a showFrameTree(frame) method, callable from gdb,
        which dumps the Frame tree, including the frame's view,
        document, owner element and URI.

        * page/FrameTree.cpp:
        (printIndent):
        (printFrames):
        (showFrameTree):
        * page/FrameTree.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateClipRects):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForFrame):

2011-10-20  Andreas Kling  <kling@webkit.org>

        Remove StyleBase::cssText().
        https://bugs.webkit.org/show_bug.cgi?id=70521

        Reviewed by Antti Koivisto.

        * css/StyleBase.cpp:
        * css/StyleBase.h:

2011-10-20  Eugene Nalimov  <enal@chromium.org>

        Playing HTMLAudioElement can be garbage collected
        https://bugs.webkit.org/show_bug.cgi?id=66878

        Reviewed by Adam Barth.

        Make HTMLAudioElement an 'active' one, meaning that it cannot be
        garbage collected if it has panding activity. Had to make
        HTMLMediaElement::hasPendingActivity() and
        HTMLAudioElement::hasPendingActivity() public, otherwise automatically
        generated code would not compile. 

        Test: no test, as automatic test is blocked by
        https://bugs.webkit.org/show_bug.cgi?id=70421
        You don't want to sit down and listen if audio stream played completely,
        and cannot rely on 'ended' event because events are lost when events
        listener is collected. 

        * html/HTMLAudioElement.idl:
        * html/HTMLAudioElement.h:
        (WebCore::HTMLAudioElement::hasPendingActivity):
        * html/HTMLMediaElement.h:

2011-10-20  Mark Hahnenberg  <mhahnenberg@apple.com>

        Rename static deleteProperty to deletePropertyByIndex
        https://bugs.webkit.org/show_bug.cgi?id=70257

        Reviewed by Geoffrey Garen.

        No new tests.

        Renaming versions of deleteProperty that use an unsigned as the property
        name to "deletePropertyByIndex" in preparation for adding them to the 
        MethodTable, which requires unique names for each method.

        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::deletePropertyVirtual):
        (JSC::RuntimeArray::deletePropertyByIndex):
        * bridge/runtime_array.h:

2011-10-20  Eric Carlson  <eric.carlson@apple.com>

        Rename some Cue classes to TextTrack
        https://bugs.webkit.org/show_bug.cgi?id=70346

        Rename CueLoader -> TextTrackLoader, CachedCues -> CachedTextTrack, and CueIndex -> TextTrackIndex.

        Reviewed by Darin Adler.

        No new tests, renames only.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * html/CueIndex.cpp: Removed.
        * html/CueIndex.h: Removed.
        * html/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::load):
        (WebCore::LoadableTextTrack::newCuesAvailable):
        (WebCore::LoadableTextTrack::cueLoadingStarted):
        (WebCore::LoadableTextTrack::cueLoadingCompleted):
        * html/LoadableTextTrack.h:
        (WebCore::LoadableTextTrack::shouldLoadCues):
        * html/MutableTextTrack.h:
        * html/TextTrackIndex.cpp: Copied from Source/WebCore/html/CueIndex.cpp.
        (WebCore::TextTrackCueSet::difference):
        (WebCore::TextTrackCueSet::unionSet):
        (WebCore::TextTrackCueSet::add):
        (WebCore::TextTrackCueSet::contains):
        (WebCore::TextTrackCueSet::remove):
        (WebCore::TextTrackCueSet::isEmpty):
        (WebCore::TextTrackCueSet::size):
        (WebCore::TextTrackIndex::fetchNewCuesFromLoader):
        (WebCore::TextTrackIndex::removeCuesFromIndex):
        (WebCore::TextTrackIndex::visibleCuesAtTime):
        (WebCore::TextTrackIndex::add):
        (WebCore::TextTrackIndex::remove):
        * html/TextTrackIndex.h: Copied from Source/WebCore/html/CueIndex.h.
        (WebCore::TextTrackCueSet::TextTrackCueSet):
        (WebCore::TextTrackCueSet::~TextTrackCueSet):
        * loader/CueLoader.cpp: Removed.
        * loader/CueLoader.h: Removed.
        * loader/TextTrackLoader.cpp: Copied from Source/WebCore/loader/CueLoader.cpp.
        (WebCore::TextTrackLoader::TextTrackLoader):
        (WebCore::TextTrackLoader::~TextTrackLoader):
        (WebCore::TextTrackLoader::cueLoadTimerFired):
        (WebCore::TextTrackLoader::processNewCueData):
        (WebCore::TextTrackLoader::didReceiveData):
        (WebCore::TextTrackLoader::notifyFinished):
        (WebCore::TextTrackLoader::load):
        (WebCore::TextTrackLoader::newCuesParsed):
        (WebCore::TextTrackLoader::getNewCues):
        * loader/TextTrackLoader.h: Copied from Source/WebCore/loader/CueLoader.h.
        (WebCore::TextTrackLoaderClient::~TextTrackLoaderClient):
        (WebCore::TextTrackLoader::create):
        * loader/cache/CachedCues.cpp: Removed.
        * loader/cache/CachedCues.h: Removed.
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::createResource):
        (WebCore::CachedResourceLoader::requestCues):
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/CachedTextTrack.cpp: Copied from Source/WebCore/loader/cache/CachedCues.cpp.
        (WebCore::CachedTextTrack::CachedTextTrack):
        (WebCore::CachedTextTrack::~CachedTextTrack):
        (WebCore::CachedTextTrack::data):
        * loader/cache/CachedTextTrack.h: Copied from Source/WebCore/loader/cache/CachedCues.h.

2011-10-20  Joseph Pecoraro  <joepeck@webkit.org>

        Remove Now Unused FileChooserSettings.deprecatedAcceptTypes
        https://bugs.webkit.org/show_bug.cgi?id=70473

        Reviewed by Dan Bernstein.

        * html/FileInputType.cpp:
        (WebCore::FileInputType::handleDOMActivateEvent):
        (WebCore::FileInputType::receiveDropForDirectoryUpload):
        * platform/FileChooser.h:

2011-10-20  Andreas Kling  <kling@webkit.org>

        Simplify CSSParser::document().
        https://bugs.webkit.org/show_bug.cgi?id=70518

        Reviewed by Antti Koivisto.

        We don't need to climb up the entire parent chain here to find the
        Document, just grab it from m_styleSheet (which will do the climbing
        for us if necessary.)

        * css/CSSParser.cpp:
        (WebCore::CSSParser::document):

2011-10-20  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] FontCache::createFontPlatformData() is broken, a default font is returned
        even if the family does not match.
        https://bugs.webkit.org/show_bug.cgi?id=55036

        The problem here was that a FontPlatformData
        object is always created, regardless of whether
        the request for a given font family can be
        satisfied or not.

        Reviewed by Andreas Kling.

        Covered by existing tests.

        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontCache::createFontPlatformData):

2011-10-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        When user is panning with the tiled backing store, the page
        isn't notified about the scroll position change
        https://bugs.webkit.org/show_bug.cgi?id=70495

        Reviewed by Simon Hausmann.

        When using the tiled backing store the UI handles scrolling,
        and sends setFixedVisibleContentRect after panning/scale ends.

        If we actually changed position we need to send the scroll DOM event.

        Covered by existing tests, though we are not testing the tiled backing store yet.

        * page/FrameView.cpp:
        (WebCore::FrameView::setFixedVisibleContentRect):
        * page/FrameView.h:
        * platform/ScrollView.h:
        (WebCore::ScrollView::setFixedVisibleContentRect):

2011-10-20  John Knottenbelt  <jknotten@chromium.org>

        Touch events should take page scale into account
        https://bugs.webkit.org/show_bug.cgi?id=69798

        Reviewed by Adam Barth.

        Test: fast/events/touch/page-scaled-touch-gesture-click.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent):

2011-10-20  Andreas Kling  <kling@webkit.org>

        CSSMutableStyleDeclaration: Simplify setNeedsStyleRecalc().
        https://bugs.webkit.org/show_bug.cgi?id=70509

        Reviewed by Antti Koivisto.

        We don't need to climb up the entire parent chain here to find the
        Document, just grab it from the parentStyleSheet() (which will do
        the climbing for us if necessary.)

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):

2011-10-20  Andreas Kling  <kling@webkit.org>

        CSSStyleDeclaration: Remove inheritance from StyleBase.
        https://bugs.webkit.org/show_bug.cgi?id=70411

        Reviewed by Antti Koivisto.

        * bindings/js/JSDOMBinding.h:
        (WebCore::root):

            Specialized root() for CSSStyleDeclaration and CSSMutableStyleDeclaration.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):

            Start the parent chain traversal from the parentStyleSheet().

        (WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs):
        * css/CSSParser.cpp:
        (WebCore::parseColorValue):
        (WebCore::parseSimpleLengthValue):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseDeclaration):

            Remove now-unnecessary assertions and casts.

        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
        * css/CSSStyleDeclaration.h:
        (WebCore::CSSStyleDeclaration::~CSSStyleDeclaration):
        (WebCore::CSSStyleDeclaration::parentRule):
        (WebCore::CSSStyleDeclaration::setParentRule):
        (WebCore::CSSStyleDeclaration::setParentStyleSheet):
        (WebCore::CSSStyleDeclaration::parentStyleSheet):

            Make CSSStyleDeclaration inherit directly from RefCounted, and have either
            a CSSRule or CSSStyleSheet parent. Eventually it should only need to have
            rules as parents, but CSSParser depends on having style sheet parents for
            URL completion and primitive value cache.

        * css/StyleBase.h:
        * css/CSSStyleDeclaration.h:
        (WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):

            Moved from StyleBase down to CSSStyleDeclaration.

        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::~CSSStyleRule):
        (WebCore::CSSStyleRule::setSelectorText):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
        (WebCore::WebKitCSSKeyframeRule::setDeclaration):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
        (WebCore::WebKitCSSKeyframesRule::append):
        (WebCore::WebKitCSSKeyframesRule::deleteRule):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::destroyInlineStyleDecl):
        (WebCore::StyledElement::attributeChanged):
        (WebCore::StyledElement::createMappedDecl):
        (WebCore::StyledElement::didMoveToNewOwnerDocument):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
        (WebCore::HTMLTableElement::addSharedGroupDecls):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):

            Use the new parenting methods of CSSStyleDeclaration.

        * css/StyleBase.cpp:
        (WebCore::StyleBase::node):

            Remove the isMutableStyleDeclaration() code path.

2011-10-20  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: detach should call hide so that overrides are processed.
        https://bugs.webkit.org/show_bug.cgi?id=70503

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ConsolePanel.js:
        (WebInspector.ConsolePanel.prototype.hide):
        * inspector/front-end/View.js:
        (WebInspector.View):
        (WebInspector.View.prototype.hide):
        (WebInspector.View.prototype.detach):

2011-10-20  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Roll-back r97964, r97972 and fix in https://bugs.webkit.org/show_bug.cgi?id=70328.

        * dom/DeviceMotionController.cpp:
        (WebCore::DeviceMotionController::timerFired):
        (WebCore::DeviceMotionController::addListener):
        (WebCore::DeviceMotionController::removeListener):
        (WebCore::DeviceMotionController::removeAllListeners):
        (WebCore::DeviceMotionController::suspend):
        (WebCore::DeviceMotionController::resume):
        * dom/DeviceMotionController.h:
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::suspend):
        (WebCore::DeviceOrientationController::resume):
        * dom/DeviceOrientationController.h:
        * dom/Document.cpp:
        (WebCore::Document::suspendActiveDOMObjects):
        (WebCore::Document::resumeActiveDOMObjects):
        (WebCore::Document::stopActiveDOMObjects):
        * dom/Document.h:
        * dom/ScriptExecutionContext.h:
        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::suspend):
        (WebCore::GeolocationController::resume):
        * page/GeolocationController.h:

2011-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r97964 and r97972.
        http://trac.webkit.org/changeset/97964
        http://trac.webkit.org/changeset/97972
        https://bugs.webkit.org/show_bug.cgi?id=70502

        They broke all geolocation tests in debug mode (Requested by
        Ossy on #webkit).

        * dom/DeviceMotionController.cpp:
        (WebCore::DeviceMotionController::timerFired):
        (WebCore::DeviceMotionController::addListener):
        (WebCore::DeviceMotionController::removeListener):
        (WebCore::DeviceMotionController::removeAllListeners):
        * dom/DeviceMotionController.h:
        * dom/DeviceOrientationController.cpp:
        * dom/DeviceOrientationController.h:
        * dom/Document.cpp:
        * dom/Document.h:
        * dom/ScriptExecutionContext.h:
        * page/GeolocationController.cpp:
        * page/GeolocationController.h:

2011-10-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed fix for Date.prototype.toISO8601Compact.
        It was generated wrong string for the dates with no leading zeros like 2011.11.11.

        * inspector/front-end/utilities.js:

2011-10-20  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: minor CPU profiling UX improvements
        https://bugs.webkit.org/show_bug.cgi?id=70499

        Store profile type. Store time percentage toggle state.

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ProfileDataGridTree.js:
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileView.profileCallback):
        (WebInspector.CPUProfileView.prototype._changeView.set else):

2011-10-20  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Advanced search results should keep working after pretty print toggled.
        https://bugs.webkit.org/show_bug.cgi?id=70347

        Reviewed by Pavel Feldman.

        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.SearchScope.prototype.createSearchResultsPane):
        (WebInspector.FileBasedSearchResultsPane.prototype.createAnchor):
        (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
        (WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
        (WebInspector.FileBasedSearchResultsPane.prototype._createContentSpan):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
        * inspector/front-end/CompilerSourceMapping.js:
        (WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.createLinkifier):
        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
        (WebInspector.DebuggerPresentationModel.LinkifierFormatter):
        (WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter):
        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
        (WebInspector.DebuggerPresentationModel.Linkifier):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyResource):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
        (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
        (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
        * inspector/front-end/ScriptsSearchScope.js:
        (WebInspector.ScriptsSearchResultsPane):
        (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
        (WebInspector.ScriptsSearchResultsPane.LinkifierFormatter):
        (WebInspector.ScriptsSearchResultsPane.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
        * inspector/front-end/inspector.html:

2011-10-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        m_client in DeviceMotionController can never be 0, so no need to check for it
        https://bugs.webkit.org/show_bug.cgi?id=70490

        Reviewed by Simon Hausmann.

        No behavior change, thus no new tests.

        * dom/DeviceMotionController.cpp:
        (WebCore::DeviceMotionController::timerFired):
        (WebCore::DeviceMotionController::addListener):
        (WebCore::DeviceMotionController::removeListener):
        (WebCore::DeviceMotionController::removeAllListeners):
        (WebCore::DeviceMotionController::suspend):
        (WebCore::DeviceMotionController::resume):

2011-10-20  Cary Clark  <caryclark@google.com>

        [Chromium Skia on Mac] Improve focus ring
        https://bugs.webkit.org/show_bug.cgi?id=70124

        Reviewed by Adam Barth.
        
        The focus ring code formerly outset the bounds of
        the component rectangles by fractional amounts. Because
        the rectangles are SkIRect (integer based), the fractional
        outset had no effect.

        The equivalent code in GraphicsContextMac.mm computes
        the curve radius and rectangle outset with integers, so
        the use of floats in Skia's case, besides not working,
        is unnecessary.

        The Skia code also failed to take the offset into account.
        In LayoutTests, the focus rings either have an offset of
        0 or 2. The CoreGraphics code increases the ring's rectangles
        by the offset, then passes the result to wkDrawFocusRing.

        I did not find any documentation about how wkDrawFocusRing
        further inflates the focus ring, but empirically I determined
        that adding 2 to the offset generated rings with identical
        outer diameters.
 
        With these adjustments, the layout tests generate focus rings
        in the Skia on Mac case that match the coverage of the
        Chromium CG-based platform, in particular, matching:
        
        editing/inserting/editable-inline-element.html
        editing/selection/3690703-2.html

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::getFocusRingOutset):
        (WebCore::GraphicsContext::drawFocusRing):

2011-10-20  Zoltan Herczeg  <zherczeg@webkit.org>

        Improve NEON based GaussianBlur
        https://bugs.webkit.org/show_bug.cgi?id=70493

        Reviewed by Csaba Osztrogonác.

        vmov instruction is less complex than vtbl.

        * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp:

2011-10-20  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: follow up to 97961 - dispatching of hide on detach was missing.

        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype.show):
        * inspector/front-end/View.js:
        (WebInspector.View.prototype.detach):
        * inspector/front-end/utilities.js:

2011-10-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Properly suspend/resume Geolocation/DeviceMotion/DeviceOrientation objects
        https://bugs.webkit.org/show_bug.cgi?id=70328

        Reviewed by Simon Hausmann.

        Based on code from iOS and the N9.

        No new tests, as the suspend/resume functionality is not fully working yet.

        * dom/DeviceMotionController.cpp:
        (WebCore::DeviceMotionController::suspend):
        (WebCore::DeviceMotionController::resume):
        * dom/DeviceMotionController.h:
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::addListener):
        (WebCore::DeviceOrientationController::removeListener):
        (WebCore::DeviceOrientationController::removeAllListeners):
        (WebCore::DeviceOrientationController::suspend):
        (WebCore::DeviceOrientationController::resume):
        * dom/DeviceOrientationController.h:
        * dom/Document.cpp:
        (WebCore::Document::suspendActiveDOMObjects):
        (WebCore::Document::resumeActiveDOMObjects):
        (WebCore::Document::stopActiveDOMObjects):
        * dom/Document.h:
        * dom/ScriptExecutionContext.h:
        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::suspend):
        (WebCore::GeolocationController::resume):
        * page/GeolocationController.h:

2011-10-20  Antti Koivisto  <antti@apple.com>

        Move rule matching and applying to separate functions from CSSStyleSelector::styleForElement
        https://bugs.webkit.org/show_bug.cgi?id=70408

        Reviewed by Andreas Kling.

        - Move matching code to matchAllRules and applying to applyMatchedDeclarations.
        - Encapsulate the matching results into a struct, use everywhere.
        - Move first-line style adjustment to adjustRenderStyle().
        - Remove unnecessary tests for resolveForRootDefault when applying the style
        - Use applyMatchedDeclarations also from pseudoStyleForElement

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchAllRules):
        (WebCore::CSSStyleSelector::matchUARules):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::CSSStyleSelector::styleForPage):
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::MatchResult::MatchResult):

2011-10-19  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: get rid of manual view hierarchy management.
        https://bugs.webkit.org/show_bug.cgi?id=70417

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype.show):
        (WebInspector.AuditsPanel.prototype._clearButtonClicked):
        * inspector/front-end/ConsolePanel.js:
        (WebInspector.ConsolePanel.prototype.show):
        (WebInspector.ConsolePanel.prototype.hide):
        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype.show.profileCallback2):
        (WebInspector.DetailedHeapshotView.prototype.show):
        (WebInspector.DetailedHeapshotView.prototype._changeView):
        * inspector/front-end/IFrameView.js:
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView):
        (WebInspector.NetworkLogView.prototype._initializeView):
        (WebInspector.NetworkPanel.prototype.show):
        (WebInspector.NetworkPanel.prototype._showResource):
        (WebInspector.NetworkPanel.prototype._closeVisibleResource):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.show):
        (WebInspector.Panel.prototype.detach):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._reset):
        (WebInspector.ProfilesPanel.prototype.closeVisibleView):
        * inspector/front-end/RemoteObject.js:
        * inspector/front-end/ResourcePreviewView.js:
        (WebInspector.ResourcePreviewView.prototype.contentLoaded):
        * inspector/front-end/ResourceResponseView.js:
        (WebInspector.ResourceResponseView.prototype.contentLoaded):
        * inspector/front-end/ResourceTimingView.js:
        (WebInspector.ResourceTimingView.prototype.show):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype._innerShowView):
        (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
        (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype.show):
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane):
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype._hideTab):
        * inspector/front-end/View.js:
        (WebInspector.View):
        (WebInspector.View.prototype.show):
        (WebInspector.View.prototype.hide):
        (WebInspector.View.prototype.attach):
        (WebInspector.View.prototype.detach):
        (WebInspector.View.prototype._addChildView):
        (WebInspector.View.prototype._removeChildView):
        (WebInspector.View.prototype.dispatchToVisibleChildren):
        (WebInspector.View.prototype._handleInsertedIntoDocument):
        (WebInspector.View.prototype._handleRemovedFromDocument):
        (WebInspector.View.prototype.printViewHierarchy):
        (WebInspector.View.prototype._collectViewHierarchy):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:

2011-10-20  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Enable support for advanced search in script's static content provider.
        https://bugs.webkit.org/show_bug.cgi?id=70354

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/search/search-in-static.html

        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
        * inspector/front-end/ConsolePanel.js:
        (WebInspector.ConsolePanel.prototype.performSearch):
        * inspector/front-end/ContentProviders.js:
        (WebInspector.StaticContentProvider.prototype.searchInContent):
        * inspector/front-end/ElementsTreeOutline.js:
        ():
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype.performSearch):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._showSourceLine):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.createSearchRegex):
        * inspector/front-end/utilities.js:
        ():

2011-10-20  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [EFL] Do not manually set the frameRect in different places in ScrollbarEfl.
        https://bugs.webkit.org/show_bug.cgi?id=70427

        Reviewed by Kenneth Rohde Christiansen.

        This commit is related to the effort towards having a different
        scrollbar (with a size > 0) for DumpRenderTree.

        Scrollbar::Scrollbar() already calls setFrameRect() with the size
        obtained from ScrollbarTheme::scrollbarThickness(), which is currently
        always 0 for us, so the call to setFrameRect() in ScrollbarEfl's
        constructor is not needed and would break things if scrollbarThickness
        is changed to return another value.

        The frameRect is also not changed in ScrollbarEfl::setParent() anymore,
        as it also does not take scrollbarThickness() into account and thus
        breaks using other themes such as ScrollbarThemeMock in DumpRenderTree.
        Right now, it is always going to be 0 anyway.

        It is still work in progress, though -- it'd be good to somehow move the
        theming code to ScrollbarThemeEfl, as right now scrollbar EDCs with a
        non-zero min size will not cause the scrollbars to have non-zero size.

        No new tests, this is machinery needed to run the current tests.

        * platform/efl/ScrollbarEfl.cpp:
        (ScrollbarEfl::ScrollbarEfl):
        (ScrollbarEfl::setParent):

2011-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r97954.
        http://trac.webkit.org/changeset/97954
        https://bugs.webkit.org/show_bug.cgi?id=70486

        clean build failed on chromium.mac: File
        "../inspector/CodeGeneratorInspector.py", line 34, in <module>
        import json (Requested by loislo on #webkit).

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * inspector/CodeGeneratorInspector.pm: Added.
        (new):
        (GenerateModule):
        (GenerateInterface):
        (generateAgentDeclaration):
        (generateFrontendConstructorImpl):
        (generateFunctions):
        (generateFrontendFunction):
        (camelCase):
        (generateBackendFunction):
        (generateBackendSendResponse):
        (generateBackendReportProtocolError):
        (generateArgumentGetters):
        (generateBackendDispatcher):
        (generateBackendMessageParser):
        (collectBackendJSStubFunctions):
        (collectBackendJSStubEvents):
        (generateBackendStubJS):
        (generateHeader):
        (generateSource):
        (typeTraits):
        (paramTypeTraits):
        (generateBackendAgentFieldsAndConstructor):
        (finish):
        * inspector/CodeGeneratorInspector.py: Removed.
        * inspector/Inspector.json:
        * inspector/generate-inspector-idl: Added.

2011-10-20  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>

        Enable geolocation client based flag for Qt5
        https://bugs.webkit.org/show_bug.cgi?id=70330

        Reviewed by Kenneth Rohde Christiansen.

        This will enable client based geolocation for Qt5.

        No new tests, this enables flags for Qt5.

        * features.pri:

2011-10-20  Kentaro Hara  <haraken@chromium.org>

        Implement a MessageEvent constructor for V8
        https://bugs.webkit.org/show_bug.cgi?id=70296

        Reviewed by Adam Barth.

        Test: fast/events/constructors/message-event-constructor.html

        * bindings/v8/OptionsObject.cpp:
        (WebCore::OptionsObject::getKeyValue): Returns RefPtr<DOMWindow> corresponding to a given key.
        (WebCore::OptionsObject::getKeyValue): Returns MessagePortArray corresponding to a given key.
        * bindings/v8/OptionsObject.h:
        * bindings/v8/custom/V8EventConstructors.cpp: Added a MessageEvent constructor.
        * dom/MessageEvent.idl: Makes MessageEvent constructible for V8.

2011-10-20  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: reimplement protocol backend/frontend source generator
        https://bugs.webkit.org/show_bug.cgi?id=69295

        Reviewed by Pavel Feldman.

        Old 2-stage python+perf generator that uses intermediate IDL output is
        being replaced with a solid python script. This is for simplicity and
        as a base for the future JSON validator.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * inspector/CodeGeneratorInspector.pm: Removed.
        * inspector/CodeGeneratorInspector.py: Added.
        * inspector/Inspector.json:
        * inspector/generate-inspector-idl: Removed.

2011-10-18  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: encode source map url as source map page url query parameter.
        https://bugs.webkit.org/show_bug.cgi?id=70327

        Reviewed by Pavel Feldman.

        * inspector/front-end/CompilerSourceMappingProvider.js:
        (WebInspector.CompilerSourceMappingProvider):
        (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping.frameLoaded):
        (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
        (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
        (WebInspector.CompilerSourceMappingProvider.prototype._sendRequest):
        * inspector/front-end/RawSourceCode.js:
        (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiSourceCodeList):

2011-10-19  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: The "x" in "980px x 36px" looks weird in the inspector node callout
        https://bugs.webkit.org/show_bug.cgi?id=69857

        Reviewed by Pavel Feldman.

        * inspector/DOMNodeHighlighter.cpp:

2011-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r97917.
        http://trac.webkit.org/changeset/97917
        https://bugs.webkit.org/show_bug.cgi?id=70475

        number of crashes on Snow Leopard/Lion tests bots
        http://build.webkit.org/results/Lion%20Intel%20Release%20(Tests)/r97917%20(2020)/http/tests/inspector
        /extensions-network-redirect-crash-log.txt (Requested by
        loislo on #webkit).

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector):
        * dom/OptionElement.cpp:
        (WebCore::OptionElement::setSelectedState):
        (WebCore::OptionElement::optionIndex):
        (WebCore::OptionElement::collectOptionLabelOrText):
        (WebCore::OptionElement::collectOptionInnerText):
        (WebCore::OptionElement::normalizeText):
        (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
        (WebCore::OptionElementData::OptionElementData):
        (WebCore::OptionElementData::~OptionElementData):
        (WebCore::toOptionElement):
        (WebCore::isOptionElement):
        * dom/OptionElement.h:
        (WebCore::OptionElement::~OptionElement):
        (WebCore::OptionElementData::value):
        (WebCore::OptionElementData::setValue):
        (WebCore::OptionElementData::label):
        (WebCore::OptionElementData::setLabel):
        (WebCore::OptionElementData::selected):
        (WebCore::OptionElementData::setSelected):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::HTMLOptionElement):
        (WebCore::HTMLOptionElement::createForJSConstructor):
        (WebCore::HTMLOptionElement::text):
        (WebCore::HTMLOptionElement::index):
        (WebCore::HTMLOptionElement::parseMappedAttribute):
        (WebCore::HTMLOptionElement::value):
        (WebCore::HTMLOptionElement::selected):
        (WebCore::HTMLOptionElement::setSelected):
        (WebCore::HTMLOptionElement::setSelectedState):
        (WebCore::HTMLOptionElement::defaultSelected):
        (WebCore::HTMLOptionElement::setDefaultSelected):
        (WebCore::HTMLOptionElement::label):
        (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
        (WebCore::HTMLOptionElement::insertedIntoTree):
        * html/HTMLOptionElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::nextValidIndex):
        (WebCore::HTMLSelectElement::saveLastSelection):
        (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
        (WebCore::HTMLSelectElement::updateListBoxSelection):
        (WebCore::HTMLSelectElement::listBoxOnChange):
        (WebCore::HTMLSelectElement::recalcListItems):
        (WebCore::HTMLSelectElement::selectedIndex):
        (WebCore::HTMLSelectElement::setSelectedIndex):
        (WebCore::HTMLSelectElement::optionToListIndex):
        (WebCore::HTMLSelectElement::listToOptionIndex):
        (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
        (WebCore::HTMLSelectElement::saveFormControlState):
        (WebCore::HTMLSelectElement::restoreFormControlState):
        (WebCore::HTMLSelectElement::appendFormData):
        (WebCore::HTMLSelectElement::reset):
        (WebCore::HTMLSelectElement::updateSelectedState):
        (WebCore::HTMLSelectElement::lastSelectedListIndex):
        (WebCore::HTMLSelectElement::typeAheadFind):
        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
        (WebCore::HTMLSelectElement::length):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::copyImage):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement):
        (WebCore::RenderListBox::addFocusRingRects):
        (WebCore::RenderListBox::paintItemForeground):
        (WebCore::RenderListBox::paintItemBackground):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateOptionsWidth):
        (WebCore::RenderMenuList::setTextFromOption):
        (WebCore::RenderMenuList::itemText):
        (WebCore::RenderMenuList::itemIsSelected):

2011-10-20  Carol Szabo  <carol@webkit.org>

        Tiled Backing Store does not regenerate tiles when it should
        https://bugs.webkit.org/show_bug.cgi?id=57798

        Reviewed by Darin Adler.

        Changed TiledBackingStore::adjustVisibleRect to take into account
        contentsSize, the same way as it is done when tiles are generated.

        This is an issue that requires a certain sequence of API calls which
        may not be easily simulated from DumpRenderTree, but which is 
        easily reproduced with QtTest. This is why I have provided only
        a Qt specific test despite this being a generic problem.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::adjustVisibleRect):
        Changed to take into account ContentsSize.
        (WebCore::TiledBackingStore::visibleContentsRect):
        Added to return the intersection of the viewport's visible rect with
        the ContentsRect.
        (WebCore::TiledBackingStore::createTiles):
        Changed to take into account the ContentsSize when calculating the
        previously visible rect.
        * platform/graphics/TiledBackingStore.h:

2011-10-19  Jer Noble  <jer.noble@apple.com>

        compositing/video tests time out on Lion
        https://bugs.webkit.org/show_bug.cgi?id=70448

        Reviewed by Eric Carlson.

        Covered by existing tests.

        AVFoundation will occasionally fill it's playback buffers before collecting enough
        statistical information to answer YES to isLikelyToKeepUp.  In this situation, set the
        ready state to HAVE_ENOUGH_DATA, on the presumption that if the playback buffers are
        full, playback will probably not stall.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::updateStates):

2011-10-19  Kentaro Hara  <haraken@chromium.org>

        MessageEvent.data can be stored as ScriptValue.
        https://bugs.webkit.org/show_bug.cgi?id=68978

        Reviewed by Hajime Morita.

        Currently, the following test cases fail or crash:

        - shouldBe("new MessageEvent('eventType', { data: test_object }).data", "test_object") -> FAIL
        - new MessageEvent('eventType', { data: document }).data -> CRASH

        This is because MessageEvent.data is implemented just as SerializedScriptValue
        and it cannot keep ScriptValue passed by JavaScript. This patch makes the following changes:

        - If MessageEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
        When MessageEvent.data is called, the ScriptValue is returned.
        - If MessageEvent is constructed with SerializedScriptValue, it is stored as
        SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
        at this point because of lack of ExecState). When MessageEvent.data is called,
        the SerializedScriptValue is deserialized into the corresponding ScriptValue,
        and the ScriptValue is returned.

        This patch does not make a fix for ObjC bindings code, since we need to first fix
        the bug 28774, as commented in dom/MessageEvent.h and dom/MessageEvent.cpp.

        Test: fast/events/constructors/message-event-constructor.html
              fast/dom/message-port-deleted-by-accessor.html
              fast/events/init-events.html
              fast/eventsource/eventsource-attribute-listeners.html

        * bindings/js/JSMessageEventCustom.cpp:
        (WebCore::JSMessageEvent::data): Custom getter for MessageEvent.data. Supported ScriptValue.
        (WebCore::JSMessageEvent::handleInitMessageEvent): Changed SerializedScriptValue to ScriptValue. Removed a 'doTransfer' parameter.
        (WebCore::JSMessageEvent::initMessageEvent): Removed a 'doTransfer' parameter.
        (WebCore::JSMessageEvent::webkitInitMessageEvent): Ditto.
        * bindings/v8/custom/V8MessageEventCustom.cpp:
        (WebCore::V8MessageEvent::dataAccessorGetter): Custom getter for MessageEvent.data. Supported ScriptValue.
        (WebCore::V8MessageEvent::portsAccessorGetter): Removed extra spaces.
        (WebCore::V8MessageEvent::initMessageEventCallback): Changed SerializedScriptValue to ScriptValue.
        * dom/MessageEvent.cpp:
        (WebCore::MessageEvent::MessageEvent): Supported ScriptValue.
        (WebCore::MessageEvent::initMessageEvent): Supported ScriptValue.
        (WebCore::MessageEvent::isMessageEvent): Removed extra spaces.
        * dom/MessageEvent.h: Added DataType::DataTypeScriptValue.
        (WebCore::MessageEvent::create): Supported ScriptValue.
        (WebCore::MessageEvent::dataAsScriptValue): Getter for data. Insert ASSERT() to guarantee that this accessor is not called for unintended type of data.
        (WebCore::MessageEvent::dataAsSerializedScriptValue): Ditto.
        (WebCore::MessageEvent::dataAsString): Ditto.
        (WebCore::MessageEvent::dataAsBlob): Ditto.
        (WebCore::MessageEvent::dataAsArrayBuffer): Ditto.
        * dom/MessageEvent.idl: Changed SerializedScriptValue to DOMObject (i.e. ScriptValue). This patch does not touch an ObjC part. Removed [CachedAttribute] from MessageEvent.data, since it is now a DOMObject and needs not to be cached.

2011-10-19  Adam Barth  <abarth@webkit.org>

        Attempt to fix GTK build.

        * GNUmakefile.am:

== Rolled over to ChangeLog-2011-10-19 ==
